:root{--accent:#002fa7;--accent-deep:#00227d;--danger:#315ed5;--brand-soft:#f0f4fc;--brand-border:#ccd7ef}
.primary-nav .primary-item.active,.primary-nav .primary-item.active:hover{background:#00257d;color:#fff}
.primary-nav .primary-item.active>span,.primary-nav .primary-item.active small,.primary-nav .primary-item.active .icon{color:#fff;opacity:1}
[hidden]{display:none!important}.auth-pending #app{visibility:hidden}
#access-page{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}#access-host{flex:1;min-height:0;margin:0 35px;overflow:hidden}
#access-host .access-workspace{gap:12px;padding-top:0}#access-host .access-table-scroll th{height:39px;font-size:12px;vertical-align:middle;padding:8px 14px}#access-host .access-table-scroll td{height:38px;padding:7px 14px;font-size:13px;line-height:20px;vertical-align:middle}#access-host .access-table-scroll td:nth-child(2){white-space:nowrap}#access-host .access-table-scroll .actions-cell{white-space:nowrap}#access-host .access-table-scroll strong{font-weight:400}#access-host .access-note{font-size:12px}#access-host .access-table-scroll .table-layout-controls{position:sticky;left:0}
.access-loading{padding:18px 0}.access-status{color:#357451;background:#eff7f2;padding:3px 6px;font-size:11px;white-space:nowrap}.access-status.is-pending{color:var(--accent);background:var(--brand-soft)}.access-status.is-inactive{color:var(--muted);background:#f4f3f6}.access-confirm{font-size:14px;line-height:1.9}.mobile-module-links{display:none}
.account-control{max-width:240px}.account-name{max-width:150px;overflow:hidden;text-overflow:ellipsis}.account-identity{flex-wrap:wrap}.account-password-row input{height:40px}
@media(max-width:1250px){#access-host{margin-inline:24px}}
@media(max-width:1023px){#access-host{margin-inline:20px}.mobile-module-links{display:flex;gap:10px;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:20px;padding:16px 0;font-size:12px}.mobile-module-links a{color:var(--accent);padding:6px 8px;background:var(--brand-soft)}}
@media(max-width:600px){#access-host{margin-inline:14px}#access-host .access-toolbar{gap:10px}#access-host .access-toolbar .search-box{width:100%;min-width:0}#access-host .access-toolbar input[type=search]{min-width:0;width:100%}#access-host .access-table-scroll th,#access-host .access-table-scroll td{padding-inline:10px}.account-control{gap:9px!important;padding-left:8px!important;font-size:11px!important;max-width:174px}.account-name{max-width:105px}.account-logout{font-size:10px!important}.account-settings .form-grid{grid-template-columns:1fr}.access-role-options{grid-template-columns:1fr!important}}
.skip-link{position:fixed;top:-80px;left:12px;z-index:20000;background:var(--accent);color:white;padding:12px 18px}.skip-link:focus{top:10px;color:white}
.catalog-date-line{display:flex;gap:12px;align-items:baseline;margin:12px 0 0;font-size:12px;line-height:1.5;color:var(--muted)}
.catalog-date-line strong{font-size:15px;font-weight:500;letter-spacing:.3px;color:var(--accent)}
.primary-item>span[data-icon]{display:flex;justify-content:center}
.primary-item .icon{width:22px;height:22px}
#primary-menu{flex:1;min-height:0;gap:0}
.primary-nav{min-height:0}
.dc-access-notice{margin:24px 32px 0;padding:12px 16px;background:#f3f6fc;border-left:2px solid #7990bd;font-size:12px;color:#536684;line-height:1.8}
.primary-feature-group{display:flex;flex-direction:column;gap:12px;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;overscroll-behavior:contain}
.primary-feature-group::-webkit-scrollbar{display:none;width:0;height:0}
.primary-feature-group .primary-item{flex-shrink:0}
.primary-nav .brand-lockup,.primary-nav .nav-eyebrow,.primary-nav .nav-bottom{flex-shrink:0}
@media(max-height:850px){.primary-nav .nav-eyebrow{margin-bottom:25px}.primary-feature-group{gap:7px}.primary-nav .primary-item{min-height:77px;padding-block:11px;gap:8px}.primary-nav .edition{padding-block:13px}}
@media(max-height:680px){.primary-nav{padding-top:16px}.primary-nav .nav-eyebrow{margin-bottom:16px}.primary-feature-group{gap:5px}.primary-nav .primary-item{min-height:64px;padding-block:8px;gap:6px}.primary-nav .primary-item .icon{width:20px;height:20px}.primary-nav .edition{padding-block:9px}}
.primary-account-group{flex:none;margin-top:auto;padding-top:12px}
.shell-collapsed .primary-item>.primary-module-icon{display:flex}
#toggle-secondary-nav{flex:none;border:1px solid var(--line);background:#fff;color:var(--accent);font-size:11px;line-height:1;min-height:28px;padding:6px 9px;white-space:nowrap}
#toggle-secondary-nav:hover{background:var(--brand-soft)}
.welcome-mode #toggle-secondary-nav{display:none}
@media(min-width:1024px){.app-shell.secondary-collapsed:not(.welcome-mode){grid-template-columns:var(--primary-width) minmax(0,1fr)}.secondary-collapsed>.secondary-nav{display:none}}
@media(max-width:1023px){#toggle-secondary-nav{display:none}}
.nav-group-toggle>span[data-icon]{display:flex;align-items:center}
.nav-group-toggle>span[data-icon] .icon{width:16px;height:16px}
.breadcrumbs>span[data-icon]{display:flex;align-items:center}
.breadcrumbs>span[data-icon] .icon{width:10px;height:10px}
#data-table>tbody>tr:not(.virtual-spacer)>td{height:var(--catalog-row-height,36px);max-height:var(--catalog-row-height,36px);padding-top:4px;padding-bottom:4px;line-height:20px}
#data-table>tbody>tr.virtual-spacer>td{padding:0!important;border:0!important;background:#fff!important;position:static!important;font-size:0!important;line-height:0!important}
#data-table .text-button{font-size:13px;line-height:18px}
#data-table tr.selected td,#data-table tr:hover td{background:#f6f8fd}
#data-table tr:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
#data-table th[data-column-key="操作"]{color:var(--muted)}
.data-region{overflow-anchor:none}
.drawer-readonly-note{margin-right:auto;font-size:12px;color:var(--muted)}
.drawer-header h2{overflow-wrap:anywhere;line-height:1.4;font-size:25px}
.drawer-header [data-close-drawer]{align-self:flex-start;min-width:36px;min-height:36px}
.detail-context{display:flex;flex-wrap:wrap;gap:12px 26px;font-size:12px;line-height:1.8;padding:0 0 18px;border-bottom:1px solid var(--line);color:var(--muted)}
.detail-context strong{font-weight:400;color:var(--accent);margin-left:8px}
.catalog-detail-grid{gap:0 26px;padding-top:12px}
.catalog-detail-grid .detail-item{padding:12px 0;line-height:1.7}
.catalog-detail-grid .detail-label{font-size:12px;color:var(--muted);margin-bottom:6px}
.catalog-detail-grid .detail-value{font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere}
.upload-intro{font-size:13px;color:var(--muted);line-height:1.8;margin:0 0 24px}
.upload-file-context{display:flex;gap:14px;align-items:flex-start;margin:0 0 24px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.upload-file-context>span{color:var(--accent);background:var(--brand-soft);padding:11px}
.upload-file-context .icon{width:22px;height:22px}
.upload-file-context strong{font-weight:500;font-size:15px;line-height:1.6;overflow-wrap:anywhere}
.upload-file-context p{color:var(--muted);font-size:12px;margin:9px 0 0;line-height:1.7}
.upload-file-context b{color:var(--accent);font-weight:500;margin-left:10px}
.upload-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid var(--line);margin-bottom:18px;padding:0 0 20px}
.upload-summary>div{padding:0 20px;border-right:1px solid var(--line)}
.upload-summary>div:first-child{padding-left:0}.upload-summary>div:last-child{border:0}
.upload-summary span{font-size:12px;color:var(--muted);display:block;margin-bottom:10px}
.upload-summary strong{font-size:28px;font-weight:300;color:var(--accent);font-variant-numeric:tabular-nums}
.upload-scope{font-size:13px;color:var(--muted);line-height:1.8}
.upload-sample,.excluded-records{border-top:1px solid var(--line);padding:17px 0;margin-top:18px}
.upload-sample summary,.excluded-records summary{cursor:pointer;line-height:1.8;color:var(--accent);font-size:13px}
.excluded-list{max-height:310px;overflow:auto;padding-right:8px;margin-top:14px}
.excluded-row{display:flex;gap:15px;padding:10px 0;border-bottom:1px solid var(--line);line-height:1.7;font-size:12px}
.excluded-row>span{flex:none;width:66px;color:var(--muted)}
.excluded-row>div{min-width:0}.excluded-row strong,.excluded-row>div>span,.excluded-row small{display:block;overflow-wrap:anywhere}
.excluded-row strong{font-weight:400}.excluded-row small{color:var(--muted);font-size:12px}
.preview-table-scroll{overflow:auto;max-height:340px;margin-top:14px}
.preview-table{border-collapse:separate;border-spacing:0;font-size:12px;white-space:nowrap;min-width:100%}
.preview-table th{background:#f3f6fc;font-weight:400;color:var(--accent);text-align:left;position:sticky;top:0}
.preview-table th,.preview-table td{padding:9px 12px;border-bottom:1px solid var(--line);max-width:290px;overflow:hidden;text-overflow:ellipsis}
.drawer [data-upload-error]{margin-top:18px}
.drawer[data-busy="true"]::backdrop{cursor:wait}
.drawer-body{overscroll-behavior:contain}
.mobile-menu-toggle,.mobile-nav-backdrop{display:none}
.chione-calendar .flatpickr-months svg path{fill:currentColor}
.table-freeze-warning{margin:0 35px 8px;font-size:12px;padding:9px 12px;color:var(--accent);background:var(--brand-soft);line-height:1.6;flex:none}
@media(max-width:1250px){.table-freeze-warning{margin-inline:24px}.catalog-date-line strong{font-size:14px}.table-footnote{max-width:55%;text-align:right;line-height:1.6}}
@media(max-width:1023px){
  body{min-width:0}.app-shell{grid-template-columns:minmax(0,1fr);min-height:0;height:100dvh}
  .primary-nav{display:none}.secondary-nav{position:fixed;left:0;top:0;bottom:0;width:258px;z-index:32;transform:translateX(-100%);box-shadow:12px 0 32px #16131f16}
  .mobile-nav-open .secondary-nav{transform:translateX(0)}.mobile-menu-toggle{display:inline-flex;min-width:36px;min-height:36px;margin-right:8px}
  .mobile-nav-backdrop:not([hidden]){display:block;position:fixed;inset:0;background:#16131f44;border:0;z-index:31}
  .topbar{padding-inline:16px}.topbar-actions{gap:3px}#sync-status{font-size:10px}.breadcrumbs{gap:5px!important;font-size:11px}
  .page-heading{padding:20px 20px 17px;flex-wrap:nowrap;align-items:center;gap:14px}.page-actions{margin-left:0}.page-heading h1{font-size:28px}
  .table-tools{padding:0 20px 15px}.search-wrap{width:100%;min-width:150px}.tool-buttons{flex:none}
  .filter-panel{padding:0 20px 16px;max-height:38dvh;overflow:auto;align-items:stretch}.filter-panel .column-filters{min-width:0}
  .data-region,.bottom-scroll{margin-inline:20px}.table-footer{padding:12px 20px 15px;align-items:flex-start}.table-footnote{max-width:60%;font-size:10px}
  .table-freeze-warning{margin-inline:20px}.drawer,.drawer.drawer-wide{width:min(92vw,900px)}
  .drawer-body{padding:22px 24px}.drawer-header,.drawer-footer{padding-left:24px;padding-right:24px}
}
@media(max-width:600px){
  .topbar{padding-inline:10px}.topbar-actions #sync-status{display:none}.breadcrumbs>.area-crumb{display:none}.breadcrumbs>span[data-icon]:first-of-type{display:none}
  .page-heading{padding:18px 14px 15px;gap:12px}.page-heading h1{font-size:26px}.page-title-line{gap:12px}.page-heading .eyebrow{font-size:8px;letter-spacing:1.7px;margin-bottom:9px}.page-heading .eyebrow:before{width:18px}
  .page-heading .page-description{font-size:11px}.page-actions .btn{font-size:12px;padding:8px 10px;min-height:38px}.page-actions .btn .icon{width:16px;height:16px}
  .catalog-date-line{font-size:11px;gap:8px;flex-wrap:wrap;line-height:1.6;margin-top:9px}.catalog-date-line strong{font-size:13px}
  .table-tools{padding:0 14px 13px;flex-wrap:wrap;gap:10px}.search-wrap{flex:1 0 100%;height:36px}.search-wrap input{font-size:14px}.search-wrap kbd{display:none}.tool-buttons{margin-left:auto;gap:7px}.tool-buttons .btn{min-height:36px}
  .filter-panel{padding:0 14px 13px}.data-region,.bottom-scroll{margin-inline:14px}.table-footer{padding:10px 14px 13px;gap:7px;flex-wrap:wrap}.table-footnote{max-width:none;text-align:left;width:100%;font-size:10px}
  .table-freeze-warning{margin-inline:14px;font-size:11px;padding:8px 10px}.drawer,.drawer.drawer-wide{width:100vw}.table-footer{padding-bottom:calc(13px + env(safe-area-inset-bottom,0px))}
  .drawer-header{padding:20px 18px 17px;gap:12px}.drawer-header h2{font-size:21px}.drawer-body{padding:18px}.drawer-footer{padding:14px 18px calc(14px + env(safe-area-inset-bottom,0px));flex-wrap:wrap;gap:7px}.drawer-footer .btn{min-height:40px}.drawer-readonly-note{width:100%;font-size:11px;margin-bottom:3px}
  .catalog-detail-grid{grid-template-columns:1fr;gap:0}.detail-context{gap:8px;flex-direction:column}.detail-context strong{margin-left:6px}.catalog-detail-grid .detail-item{padding:10px 0}
  .upload-summary>div{padding-inline:9px}.upload-summary span{font-size:11px}.upload-summary strong{font-size:25px}
  .upload-file-context{gap:10px}.upload-file-context strong{font-size:14px}.upload-file-context>span{padding:9px}.upload-file-context b{display:block;margin:2px 0 0}
  .form-grid{grid-template-columns:1fr}.field input:not([type=checkbox]):not([type=radio]){min-height:42px;font-size:15px}.table-filter-popover{font-size:14px}
  .column-order-row{font-size:12px}.column-order-title{font-size:12px}.column-order-actions button{padding:5px}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important}.secondary-nav{transition:none}}
@media(max-width:600px){
  .topbar{min-width:0;gap:4px}.topbar #breadcrumbs{display:none}.topbar-actions{min-width:0;flex:1}
  .topbar .mobile-menu-toggle{min-width:44px;min-height:44px;margin-right:0}.topbar #refresh-data{width:44px;height:44px}
  .topbar .preparation-header-button{min-height:36px;flex:1;min-width:84px}.topbar .account-name{min-width:44px}
  .topbar:has(.account-mobile-link){display:grid;grid-template-columns:44px 44px minmax(0,1fr) 44px;height:auto;min-height:46px}
  .topbar:has(.account-mobile-link) .topbar-actions{display:contents}
  .topbar:has(.account-mobile-link) .account-control{grid-column:1/-1;max-width:none;width:100%;border-left:0;border-top:1px solid var(--line);padding-left:0!important;margin-left:0;gap:12px!important}
  .topbar:has(.account-mobile-link) .account-name{flex:1;max-width:none;text-align:left}
  .topbar:has(.account-mobile-link) .account-control>*{min-height:44px}
}
