
.hr-page>.card{margin:20px 0}.hr-page .table-wrap{margin:14px 0}.hr-page table{min-width:900px}.hr-page td{vertical-align:top}.hr-staff-list{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.hr-staff-list .active{border-color:#08a8dc;background:#edf9fe;color:#008fbe}.hr-profile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.hr-profile-grid>div{background:#f6f9fc;padding:12px;border-radius:8px}.hr-profile-grid small{font-size:11px;color:#6f8198}.hr-profile-grid p{font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere}.hr-section{border-top:1px solid #e1e8f0;padding-top:16px;margin-top:22px}.hr-contract,.hr-material,.hr-offboarding{border:1px solid #e0e7ef;border-radius:9px;padding:16px;margin:14px 0;font-size:13px;line-height:1.8}.hr-contract>small{display:block;color:#73859b}.hr-contract>label{display:flex;gap:12px;align-items:center;margin-top:12px;font-size:11px}.hr-offboarding .notice-check{display:flex;gap:10px;align-items:center;margin:10px 0;font-size:12px}.hr-birthdays{background:#fff9ee!important}.hr-birthdays p{font-size:14px;line-height:1.8}.hr-payroll-editor{width:min(1050px,96vw)!important}.hr-payroll-editor input{min-width:85px}.hr-payroll-editor table{width:100%;min-width:650px}.hr-page .tag-edit{margin-right:10px}.hr-page input[type=month]{height:35px;border:1px solid #dce5ee;border-radius:6px;padding:5px 10px}.hr-page summary{cursor:pointer;color:#008fbe}.hr-viewer{position:fixed;inset:0;background:#eef2f7;z-index:95;overflow:auto;padding:24px}.hr-viewer>iframe{display:block;width:min(1200px,100%);height:80vh;margin:auto;border:1px solid #d4dfeb;background:white}.hr-viewer .invoice-toolbar{position:sticky;top:0;z-index:1;background:#eef2f7;padding:12px;gap:16px}.hr-viewer .invoice-toolbar a{display:inline-flex;align-items:center;padding:10px 16px;border:1px solid #d4dfe9;border-radius:7px;background:white;color:#008fbe;text-decoration:none;font-size:12px}.hr-document{background:white;max-width:1200px;margin:15px auto;padding:28px;border-radius:10px}.hr-document p{white-space:pre-wrap;line-height:1.8;overflow-wrap:anywhere;font-size:14px}.hr-document table{border-collapse:collapse;min-width:700px;font-size:12px}.hr-document td,.hr-document th{border:1px solid #dce4ed;padding:8px 12px;white-space:pre-wrap;max-width:450px}.hr-inline-image{max-width:100%;max-height:700px;object-fit:contain}.hr-workbench .notification-item{margin:12px 0}@media(max-width:760px){.hr-profile-grid{grid-template-columns:1fr}.hr-viewer{padding:12px}.hr-document{padding:15px}.hr-contract>label{flex-direction:column;align-items:start}}@media print{.hr-workbench{display:none!important}}
.finance-page>.card{margin:20px 0}.finance-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:20px 0}.finance-overview-card{border:1px solid #e1e8f0;text-align:left;cursor:pointer;font-family:inherit;min-height:190px;transition:box-shadow .15s}.finance-overview-card:hover{box-shadow:0 10px 26px #12325217}.finance-overview-card>span{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:#e5f7fd;color:#008fbe;font-size:24px}.finance-overview-card h3{font-size:15px;margin:12px 0 10px}.finance-overview-card strong{display:block;font-size:22px;color:#17304e;overflow-wrap:anywhere}.finance-overview-card small{display:block;font-size:11px;color:#71839a;margin-top:10px;line-height:1.6}.finance-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0}.finance-actions h2,.finance-actions h3{margin-right:auto}.finance-actions h2{font-size:18px}.finance-page .table-wrap{margin:14px 0}.finance-page table{min-width:850px}.finance-page td{vertical-align:top}.finance-summary{display:flex;flex-wrap:wrap;gap:15px;padding:15px;background:#edf8fc;border-radius:9px;margin:15px 0;font-size:13px;line-height:1.6}.finance-flow{padding:14px 16px;border:1px solid #dce8f1;border-radius:9px;margin:18px 0;font-size:13px;line-height:1.8}.finance-task-list>div{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid #e9eef4;font-size:13px}.finance-task-list small{display:block;font-size:11px;color:#74859a;margin-top:5px}.finance-highlight{background:#eff9fe!important}.finance-bill{margin:16px 0;border:1px solid #dfe7f0;padding:16px;border-radius:10px}.finance-bill>p,.finance-charge{font-size:12px;line-height:1.7}.finance-charge{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid #edf0f5}.finance-files{margin:14px 0;padding:12px;border:1px solid #e1e7ef;border-radius:8px;min-width:300px;max-width:850px}.finance-files h4{margin:0 0 8px;font-size:13px}.finance-file{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #e9eef3;flex-wrap:wrap;font-size:12px}.finance-file>div{flex:1;min-width:120px}.finance-file strong{overflow-wrap:anywhere}.finance-file small{display:block;color:#76879b;font-size:10px;margin-top:5px}.finance-file a{color:#008fbe;font-size:11px}.finance-upload{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0}.finance-upload input{max-width:280px;font-size:11px}.finance-upload select,.finance-page>section>label select,.finance-import input{min-height:34px;border:1px solid #dce5ee;border-radius:6px;padding:6px 9px;font-size:12px}.finance-dialog{width:min(820px,96vw)!important}.finance-dialog label{line-height:1.5}.finance-import{padding:16px 0;margin:18px 0;border-top:1px solid #e0e8f0;border-bottom:1px solid #e0e8f0}.finance-import>input{margin:12px;max-width:330px}.finance-charts{display:grid;grid-template-columns:1.5fr 1fr;gap:18px;margin:20px 0}.finance-charts h3{font-size:16px;margin:0 0 12px}.finance-bars{display:flex;justify-content:space-between;align-items:end;gap:10px;height:195px;min-width:440px;padding:10px 0;margin:15px 0}.finance-bar-group>div{display:flex;align-items:end;height:160px;gap:3px}.finance-bar-group button{border:0;border-radius:4px 4px 0 0;width:13px;padding:0;cursor:pointer}.finance-bar-group button span{font-size:9px;color:#a84700}.finance-bar-group>small{display:block;font-size:10px;color:#71839a;margin-top:8px}.finance-charts>section{overflow-x:auto}.finance-year-bar{display:flex;align-items:center;gap:10px;font-size:11px;margin:10px 0;min-width:330px}.finance-year-bar i{height:18px;border-radius:4px;display:inline-block}.finance-year-bar strong{font-size:11px;white-space:nowrap}.finance-pie-layout{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px}.finance-pie-layout>div{display:flex;flex-direction:column;gap:6px}.finance-pie-layout button{font-size:11px;text-align:left}.finance-pie-layout button i{display:inline-block;width:9px;height:9px;margin-right:6px;border-radius:2px}.finance-pie-layout circle[role=button]{cursor:pointer}.finance-page details{margin:10px 0;font-size:12px}.finance-page summary{cursor:pointer;color:#008fbe}.finance-page .tag-edit{margin-right:8px}.finance-page>section>h3{font-size:16px}.finance-page input[type=month]{min-height:34px;border:1px solid #dce5ee;border-radius:6px;padding:5px;font-size:12px}@media(max-width:1100px){.finance-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-charts{grid-template-columns:1fr}}@media(max-width:760px){.finance-overview-card{min-height:160px;padding:15px}.finance-overview-card strong{font-size:17px}.finance-actions h2{width:100%}.finance-task-list>div{grid-template-columns:minmax(0,1fr) auto}.finance-files{min-width:230px}}@media print{body:has(.invoice-overlay) .finance-page>:not(.invoice-overlay){display:none!important}.finance-workbench{display:none!important}}
@media print{.notification-section{display:none!important}}
.notification-section{margin:24px 38px 0;padding:20px 22px;border:1px solid #dbe6ef;background:#fff;border-radius:13px;scroll-margin-top:20px}.notification-head{display:flex;justify-content:space-between;gap:16px;align-items:center}.notification-head h2{font-size:18px;margin:5px 0 0}.notification-head h2 small{font-size:12px;color:#008fbe;background:#e7f7fc;border-radius:12px;padding:3px 8px}.notification-identity{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin:14px 0 8px;color:#63748a;font-size:12px}.notification-identity label{display:flex;align-items:center;gap:8px}.notification-identity select,.notification-identity input:not([type=checkbox]){height:32px;border:1px solid #dfe6ed;border-radius:6px;padding:0 9px;max-width:240px;font-size:12px}.notice-check input,.notice-options input[type=checkbox],.notice-flags input{width:15px!important;height:15px!important;flex-shrink:0;box-shadow:none!important}.notification-items{display:grid;gap:10px}.notification-item{padding:14px 16px;border:1px solid #e1e9f0;border-radius:9px;background:#f8fbfd}.notification-item p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.7;margin:8px 0}.notification-item>small{display:block;color:#718097;line-height:1.6;font-size:11px}.notice-title{display:flex;justify-content:space-between;gap:12px;align-items:start}.notice-title strong{font-size:14px;overflow-wrap:anywhere}.notice-title>div{display:flex;gap:10px;flex-shrink:0}.notice-hidden{background:#f4f5f6;border-style:dashed}.notification-empty{font-size:12px;color:#8390a1;margin:10px 0 0}.notice-editor{width:min(860px,96vw)!important}.notice-options{margin:18px 0;padding:14px;border:1px solid #dde6ef;border-radius:9px;display:flex;gap:12px 18px;flex-wrap:wrap}.notice-options legend{font-size:13px;font-weight:600}.notice-options label,.notice-flags label{display:flex!important;align-items:center;gap:7px;font-size:12px!important}.notice-options>p,.notice-options>.notice-people,.notice-options>small{width:100%}.notice-options .notice-people{flex-direction:column;align-items:stretch}.notice-options small{font-size:11px;color:#718097}.notice-flags{display:flex;gap:20px}.notice-options input[type=checkbox]{margin:0!important}.notice-editor textarea{white-space:pre-wrap}.notice-editor input:not([type=checkbox]),.notice-editor textarea{width:100%}@media(max-width:760px){.notification-section{margin:16px 15px 0;padding:15px}.notification-head{align-items:start}.notification-head h2{font-size:15px}.notice-title{flex-direction:column}.notification-identity label{flex-wrap:wrap}.notice-options{gap:12px}}
.crm-roles{display:flex;align-items:end;gap:14px;flex-wrap:wrap;margin:12px 0}.crm-roles label,.crm-roster label{display:flex;flex-direction:column;gap:7px;color:#54657c;font-size:12px}.crm-roles input,.crm-roles select,.crm-roster input{height:38px;min-width:160px;padding:0 10px;border:1px solid #dfe6ee;border-radius:7px;background:white;font-size:13px}.crm-operations h2{margin:0 0 12px}.crm-roster,.crm-missing{border-top:1px solid #e4eaf0;margin-top:24px;padding-top:16px}.crm-roster form{display:flex;gap:10px;align-items:end;margin-top:12px}.crm-missing>div{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:9px 0;border-bottom:1px solid #edf0f4;font-size:13px}.crm-follow-up{border-bottom:1px solid #e5ebf0;padding:12px 0;font-size:13px}.crm-follow-up p{white-space:pre-wrap;line-height:1.6;overflow-wrap:anywhere}.crm-operations th{white-space:nowrap}
.brand-toolbar{display:flex;align-items:center;gap:12px;margin:12px 0;flex-wrap:wrap}.brand-toolbar small{font-size:12px;color:#66758a}.brand-settings{width:min(850px,96vw)!important}.brand-presets{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:15px 0}.brand-presets article{border:1px solid #e0e7ef;border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:8px;min-width:0}.brand-presets span{font-size:12px;color:#008fbe}.brand-logo-preview{display:block;max-width:200px;max-height:110px;object-fit:contain;margin:8px 0;background:repeating-conic-gradient(#f0f2f5 0% 25%,white 0% 50%) 50% / 16px 16px;border:1px solid #e2e8ee;border-radius:7px}.brand-settings form{margin-top:20px;padding-top:18px;border-top:1px solid #e3e9ef}.brand-download-error{color:#a14a16!important}.brand-settings input[type=file]{height:auto;padding:8px}
.product-attachment video{display:block;width:min(320px,100%);max-height:220px;background:#152238;border-radius:7px;margin:10px 0}.attachment-copy input{width:100%;min-width:0;font-size:11px}.attachment-copy{margin-top:8px}.attachment-copy small{line-height:1.5}.local-file-viewer{max-width:850px;margin:30px auto;padding:24px;background:white;border-radius:12px}.local-file-viewer select{margin:10px;min-height:36px;border:1px solid #dfe7ee;border-radius:6px;padding:6px 10px}.local-file-viewer h3{margin:20px 0 10px}.local-file-viewer .product-attachment video{width:min(650px,100%);max-height:450px}
.product-form-fields{border:0;padding:0;margin:0;min-width:0}.product-upload{border:1px solid #dfe7ee;border-radius:9px;padding:12px;min-width:0;margin:10px 0}.product-upload>small{display:block;color:#66758a;font-size:11px;line-height:1.6}.product-attachment{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #edf0f4;min-width:0}.product-attachment img{width:80px;height:80px;object-fit:contain;background:#f5f7fa;border:1px solid #e0e6ee;border-radius:7px;flex-shrink:0}.product-attachment>div{min-width:0;flex:1}.product-attachment strong{display:block;overflow-wrap:anywhere;font-size:12px}.product-attachment small{display:block;color:#66758a;font-size:11px;margin:5px 0}.product-attachment a{font-size:12px;color:#008fbe}.product-attachment span{font-size:11px;color:#a14a16}.product-attachment button{flex-shrink:0}.product-upload input[type=file]{height:auto;min-height:38px;padding:8px;max-width:100%;font-size:12px}
.bank-template-list{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 20px}.bank-template-list button{white-space:normal;height:auto;min-height:36px;text-align:left}.bank-enabled{display:flex!important;align-items:center;gap:8px;margin-top:12px}.bank-enabled input{width:16px!important;height:16px!important;margin:0!important}
.order-conflict{position:fixed;z-index:100;top:18px;left:50%;transform:translateX(-50%);width:min(680px,94vw);padding:16px 20px;background:#fff7e7;color:#713f12;border:2px solid #d97706;border-radius:12px;box-shadow:0 12px 40px #0003;font-size:13px}.order-conflict p{margin:8px 0;line-height:1.6}.order-conflict button{background:white}

.workflow-message{padding:12px 16px;color:#136f55;background:#e9f7f0;border-radius:9px;font-size:13px}.order-draft-list{border:1px solid #d7e7f1;background:#f4faff;padding:16px;border-radius:10px;margin:15px 0}.order-draft-list h3{font-size:14px;margin:0 0 10px}.order-draft-list>div,.finance-queue-row{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid #e2eaf0}.order-draft-list small,.finance-queue-row small{display:block;font-size:11px;color:#748097;margin-top:5px}.finance-queue-row>div{flex:1}.autosave-status{font-size:11px;color:#087b65;margin-right:auto;line-height:1.5;max-width:200px}.orders-editor .modal-actions{flex-wrap:wrap;gap:8px}.product-search-results{margin-top:7px;border:1px solid #dce8f1;border-radius:8px;max-height:190px;overflow:auto;background:#f7fcff}.product-search-results button{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid #e3edf4;background:transparent;padding:10px;color:#087da4;font-size:12px}.product-search-results button:hover{background:#e4f4fb}.product-search-results span{display:block;padding:12px;font-size:12px;color:#748097}.workflow-dialog{max-width:650px!important}.seal-preview{padding:16px;background:#f3f6fa;text-align:center}.seal-preview img{max-width:180px;max-height:180px}.seal-preview p{font-size:12px;color:#748097}.invoice-draft-banner{padding:10px;text-align:center;border:2px solid #b45309;color:#b45309;font-weight:bold}.invoice-seal{position:relative;text-align:right;margin-top:12px;break-inside:avoid}.invoice-document .invoice-seal img{max-width:160px!important;max-height:160px!important}.invoice-seal p{font-size:10px}@media(max-width:760px){.order-draft-list>div,.finance-queue-row{flex-wrap:wrap}.orders-header-actions{flex-wrap:wrap}.autosave-status{max-width:none;width:100%}}

@media print{body:has(.invoice-overlay) .sidebar,body:has(.invoice-overlay) .topbar{display:none!important}body:has(.invoice-overlay) .app-shell{display:block;min-height:0}body:has(.invoice-overlay) .workspace{display:block;padding:0!important;margin:0!important}body:has(.invoice-overlay) .orders-page{padding:0!important}body:has(.invoice-overlay) .orders-page>:not(.invoice-overlay){display:none!important}}

.orders-header-actions{display:flex;gap:12px;align-items:end}.orders-table{min-width:1300px!important}.orders-table th,.orders-table td{vertical-align:top}.orders-table progress{width:90px;accent-color:#08b8eb}.order-risk{background:#fff4e7;border-radius:7px;padding:7px 9px;margin-bottom:6px;max-width:210px;font-size:11px;color:#9b5619}.order-risk small{display:block;margin-top:4px;line-height:1.5}.crm-filters .orders-checkbox{display:flex;flex-direction:row;align-items:center;gap:7px;height:36px}.orders-checkbox input{width:15px;height:15px}.orders-editor{width:min(1100px,96vw)!important}.order-edit-totals{position:sticky;bottom:68px;display:flex;gap:12px;flex-wrap:wrap;padding:13px;background:#edf8fc;border:1px solid #d0e9f4;border-radius:9px;font-size:12px;z-index:2}.orders-editor details{margin:12px 0}.orders-editor summary{font-size:13px;color:#008fbe;cursor:pointer}.orders-editor h3{font-size:17px;margin:20px 0 8px}.orders-editor input:disabled,.orders-editor select:disabled,.orders-editor textarea:disabled{background:#f3f5f7;color:#59667a;cursor:not-allowed}.invoice-overlay{position:fixed;inset:0;background:#e9edf3;z-index:70;overflow:auto;padding:24px}.invoice-toolbar{max-width:1200px;margin:0 auto 18px;display:flex;justify-content:space-between;gap:15px;align-items:center}.invoice-toolbar>div{display:flex;flex-wrap:wrap;gap:8px}.invoice-preview{max-width:1200px;margin:auto;background:white;padding:30px;color:#111}.invoice-document{font-family:Arial,"Microsoft YaHei",sans-serif;font-size:12px;line-height:1.5}.invoice-document header{text-align:center}.invoice-document h1{text-align:center;font-size:25px;margin:24px}.invoice-document h2{font-size:19px}.invoice-meta{display:grid;grid-template-columns:1fr 1fr;gap:24px;line-height:1.8;margin-bottom:20px}.invoice-preview .invoice-document table{width:100%;min-width:0!important;border-collapse:collapse;font-size:11px}.invoice-document th,.invoice-document td{border:1px solid #333!important;padding:8px!important;vertical-align:top;overflow-wrap:anywhere;white-space:normal!important}.invoice-document img{max-width:85px;max-height:120px}.invoice-totals{text-align:right;line-height:2;margin-top:12px}.invoice-bank{line-height:1.8;overflow-wrap:anywhere}@media(max-width:760px){.orders-header-actions{margin-top:12px}.invoice-overlay{padding:10px}.invoice-toolbar{display:block}.invoice-toolbar>div{margin-top:10px}.invoice-preview{padding:15px;overflow:auto}.invoice-meta{grid-template-columns:1fr}.order-edit-totals{bottom:65px;gap:8px}}@media print{@page{size:A4 landscape;margin:12mm}body *{visibility:hidden}.invoice-overlay,.invoice-overlay *{visibility:visible}.invoice-overlay{position:absolute;inset:0;padding:0;background:white;overflow:visible}.invoice-toolbar{display:none!important}.invoice-preview{max-width:none;padding:0;overflow:visible}.invoice-document table thead{display:table-header-group}.invoice-document tr{break-inside:avoid}.invoice-meta{grid-template-columns:1fr 1fr}.invoice-document{font-size:10px}.invoice-document th,.invoice-document td{font-size:9px}}

.supply-role{display:flex;flex-direction:column;gap:7px;font-size:12px;color:#59667a}.supply-role select{height:36px;min-width:140px;border:1px solid #dfe4ea;border-radius:8px;background:white;padding:6px 10px}.supply-tabs{display:flex;gap:8px;margin:20px 0}.supply-tabs button{border:1px solid #e0e7ef;border-radius:9px;background:white;color:#59667a;padding:11px 20px}.supply-tabs button[aria-selected=true]{background:#e6f6fc;border-color:#a9deee;color:#007fa5;font-weight:600}.supply-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.supply-toolbar h2{font-size:18px;margin:0}.supply-page table{min-width:1100px}.supply-page th,.supply-page td{vertical-align:top}.supply-photos{display:flex;flex-direction:column;gap:7px;min-width:95px;font-size:11px;max-width:150px;overflow-wrap:anywhere}.supply-page a{color:#008fbe}.supply-spec{min-width:170px;line-height:1.8;font-size:12px}.supply-text{min-width:120px;max-width:250px;white-space:pre-wrap;overflow-wrap:anywhere}.supply-quote-line{font-size:11px;line-height:1.7;min-width:145px;margin-bottom:9px}.supply-money{display:flex;align-items:end;gap:8px}.supply-money label{flex:1;min-width:0}.supply-money>select{width:80px;height:41px;border:1px solid #dfe4ea;border-radius:8px;background:white;padding:7px;margin:13px 0}.supply-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.supply-cooperation{border:1px solid #e1e7ee;border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:14px}.supply-cooperation strong,.supply-cooperation small{display:block;margin-top:7px}.supply-cooperation small,.supply-cooperation p{font-size:12px;color:#748097;line-height:1.7}.supply-progress{display:flex;flex-direction:column;gap:6px;font-size:12px}.supply-progress progress{width:100%;height:10px;accent-color:#08b8eb}.supply-overdue{color:#ba4a38;background:#fff0eb;border-radius:6px;padding:5px 9px;align-self:start;font-size:12px}.primary:disabled{opacity:.45;cursor:not-allowed}.supply-editor .crm-tabs{flex-wrap:wrap}.supply-editor h3{margin:20px 0 6px}@media(max-width:760px){.supply-tabs{flex-wrap:wrap}.supply-tabs button{padding:10px 13px}.supply-toolbar{align-items:flex-start}.supply-toolbar .primary{font-size:11px}.supply-role{margin-top:10px}.supply-money input{min-width:0}}

.nav-chevron{margin-left:auto;font-size:17px}.sidebar nav .crm-subnav{margin:4px 0 12px 23px;padding-left:12px;border-left:1px solid #30425e}.sidebar nav .nav-subitem{font-size:13px;height:36px;background:#122b47;color:#83dcf4;gap:12px;box-shadow:none}.crm-breadcrumb{font-size:12px;color:#748097;margin-bottom:18px;display:flex;gap:10px;align-items:center}.crm-breadcrumb strong{color:#142038;font-weight:600}.customer-row-actions{display:flex;flex-wrap:wrap;gap:4px;min-width:130px}.customer-row-actions .tag-edit{padding:7px 9px;border:1px solid #cceaf7;border-radius:6px;background:#f1fafe}.sidebar{overflow-y:auto}@media(max-width:760px){.sidebar nav .nav-group{flex-shrink:0}.sidebar nav .crm-subnav{margin:0;padding:0;border:0}.sidebar nav .nav-subitem{height:25px;min-width:80px;padding:3px;font-size:10px;flex-direction:row}.sidebar:has(.crm-subnav){height:95px}.app-shell:has(.crm-subnav) .workspace{padding-bottom:100px}.nav-chevron{display:none}}

.crm-editor{width:min(900px,96vw)!important;max-height:92vh;overflow:auto}.crm-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 20px}.crm-full{grid-column:1/-1}.crm-editor textarea{width:100%;display:block;margin-top:7px;border:1px solid #dfe4ea;border-radius:8px;padding:10px;font:inherit;font-size:13px;resize:vertical}.crm-tabs{display:flex;gap:8px;border-bottom:1px solid #e6eaf0;margin:16px 0;padding-bottom:12px}.crm-tabs button{border:0;border-radius:8px;background:#f3f6fa;color:#59667a;padding:10px 16px}.crm-tabs button[aria-selected=true]{color:#007fa5;background:#e6f6fc;font-weight:600}.crm-grade-card{padding:16px;background:#edf8fc;border:1px solid #d3edf6;border-radius:10px;margin:12px 0;display:flex;flex-direction:column;justify-content:center;gap:8px}.crm-grade-card>span{font-size:12px;color:#59768a}.crm-grade-card>strong{font-size:21px;color:#087da4}.crm-products{border:1px solid #e6eaf0;border-radius:10px;margin:14px 0;padding:12px 16px;display:flex;flex-wrap:wrap;gap:20px}.crm-products legend{font-size:12px;color:#59667a}.crm-products label{display:flex!important;align-items:center;gap:8px;margin:0!important;font-size:13px!important}.crm-products input{width:16px!important;height:16px!important;margin:0!important}.crm-rule{font-size:12px;line-height:1.8;color:#748097;margin:14px 0}.crm-social{display:grid;grid-template-columns:140px 1fr 60px;gap:10px;align-items:center;margin:10px 0}.crm-editor .crm-social input{margin:0}.crm-purchase{margin:16px 0;border:1px solid #dfe7ef;border-radius:10px;padding:12px 16px}.crm-purchase legend{font-size:12px;color:#59768a}.crm-purchase .ghost{align-self:center;justify-self:start}.crm-editor .modal-actions{position:sticky;bottom:-1px;background:white;padding:16px 0 4px;border-top:1px solid #e6eaf0}.crm-filters{display:flex;flex-wrap:wrap;gap:14px;align-items:end}.crm-filters label{font-size:12px;color:#59667a;display:flex;flex-direction:column;gap:7px}.crm-filters input,.crm-filters select{height:36px;padding:6px 10px;background:white;border:1px solid #dfe4ea;border-radius:7px;max-width:180px}.crm-filters input{width:110px}.crm-sub{display:block;margin-top:5px;font-size:11px;color:#748097}.crm-grade{display:inline-block;font-size:11px;border-radius:5px;padding:3px 7px;background:#edf3f8;color:#45617a;margin-left:8px}.grade-A{background:#e2f6ed;color:#13845d}.grade-B{background:#e5f4fc;color:#007fa5}.crm-page .table-wrap table{min-width:1100px}.crm-editor h3{font-size:16px;margin-top:24px}@media(max-width:760px){.crm-form-grid{grid-template-columns:1fr}.crm-social{grid-template-columns:90px 1fr 50px}.crm-editor{padding:18px!important}.crm-tabs button{padding:9px 11px}.crm-products{gap:12px}.crm-social input{min-width:0}.crm-filters{gap:10px}}

.customer-tags{display:flex;gap:6px;align-items:center;flex-wrap:wrap;min-width:180px;max-width:320px}.customer-tag{display:inline-block;background:#e8f5fc;color:#087da4;border:1px solid #cceaf7;border-radius:6px;padding:4px 8px;font-size:11px;line-height:1.4;white-space:normal;overflow-wrap:anywhere}.tag-edit{background:transparent;border:0;color:#008fbe;font-size:11px;padding:5px}.tag-edit:hover{text-decoration:underline}.no-tags{color:#8a96a8;font-size:11px}.tag-filter{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid #e6eaf0}.tag-filter label{display:flex;align-items:center;gap:10px;font-size:12px;color:#59667a}.tag-filter select{max-width:240px;padding:7px 10px;border:1px solid #dfe4ea;border-radius:7px;background:white}.tag-filter>span{font-size:11px;color:#748097}.tag-suggestions{display:flex;flex-wrap:wrap;gap:7px;max-height:160px;overflow:auto}.tag-suggestions>span{width:100%;font-size:11px;color:#748097}.modal small{display:block;font-size:11px;color:#748097;margin-top:7px}.storage-warning{color:#a8540a;background:#fff4df;padding:12px;border-radius:8px;font-size:12px}

:root{--navy:#0b1830;--blue:#08b8eb;--blue-dark:#008fbe;--ink:#142038;--muted:#748097;--line:#e6eaf0;--bg:#f4f6f9;--card:#fff;--green:#18a675;--amber:#ec9e27;--red:#e45656}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--ink);font-family:Inter,"PingFang SC","Microsoft YaHei",Arial,sans-serif}button,input,select{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;display:grid;grid-template-columns:244px 1fr}.sidebar{position:fixed;inset:0 auto 0 0;width:244px;background:var(--navy);color:white;padding:28px 18px 18px;display:flex;flex-direction:column;z-index:10}.brand{display:flex;align-items:center;gap:12px;padding:0 10px 34px}.brand-mark{width:36px;height:36px;border-radius:12px;background:var(--blue);font-size:30px;font-weight:800;font-style:italic;display:grid;place-items:center;font-family:Georgia,serif}.brand strong{display:block;font-size:22px;line-height:1;font-style:italic;letter-spacing:-1px}.brand span{display:block;color:#7890ae;font-size:8px;letter-spacing:2.2px;margin-top:6px}.sidebar nav p{color:#5d708e;font-size:10px;letter-spacing:1.8px;text-transform:uppercase;padding:0 13px;margin:0 0 9px}.sidebar nav button{width:100%;height:44px;border:0;border-radius:10px;color:#aebbd0;background:transparent;display:flex;align-items:center;gap:12px;padding:0 13px;margin:2px 0;font-size:14px;text-align:left;transition:.2s}.sidebar nav button:hover{color:#fff;background:#142743}.sidebar nav button.active{color:#fff;background:#18304f;box-shadow:inset 3px 0 var(--blue)}.nav-icon{width:21px;text-align:center;color:#6f85a3;font-size:17px}.sidebar nav button.active .nav-icon{color:var(--blue)}.sidebar nav em{margin-left:auto;background:#203c5e;color:#83dcf4;border-radius:20px;min-width:24px;padding:3px 7px;text-align:center;font-size:10px;font-style:normal}.sidebar-foot{margin-top:auto;background:#122642;border:1px solid #203654;border-radius:12px;padding:14px;display:flex;gap:10px;align-items:center}.help-icon{width:30px;height:30px;border-radius:50%;background:#1d3858;color:var(--blue);display:grid;place-items:center;font-weight:700}.sidebar-foot strong,.profile strong{font-size:12px;display:block}.sidebar-foot span,.profile span{font-size:10px;color:#7f93ae;display:block;margin-top:3px}.profile{padding:18px 6px 2px;display:flex;align-items:center;gap:9px}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--blue),#5968e6);font-size:11px;font-weight:700}.profile b{margin-left:auto;color:#657995}.workspace{grid-column:2;min-width:0}.topbar{height:70px;background:white;border-bottom:1px solid var(--line);padding:0 32px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:5}.search{height:38px;width:min(420px,45vw);display:flex;align-items:center;gap:10px;background:#f5f7fa;border:1px solid #eef0f4;border-radius:9px;padding:0 13px;color:#8e99aa}.search input{width:100%;border:0;outline:0;background:transparent;color:var(--ink);font-size:13px}.top-actions{display:flex;align-items:center;gap:18px}.circle-btn{border:1px solid var(--line);background:white;width:36px;height:36px;border-radius:50%;position:relative;color:#56637a}.circle-btn i{position:absolute;width:7px;height:7px;border-radius:50%;background:var(--red);right:2px;top:2px;border:2px solid white}.today{text-align:right}.today span{font-size:10px;color:#8d97a8;display:block}.today strong{font-size:12px}.mobile-brand{display:none}.page-content{padding:30px 32px 54px;max-width:1540px;margin:0 auto}.welcome,.module-title{display:flex;align-items:flex-end;justify-content:space-between;margin:2px 0 24px}.eyebrow{color:var(--blue-dark);font-size:9px;font-weight:800;letter-spacing:1.8px}.welcome h1,.module-title h1{font-size:27px;letter-spacing:-.7px;margin:7px 0 7px}.welcome p,.module-title p{margin:0;color:var(--muted);font-size:13px}.welcome p b{color:var(--ink)}.primary{border:0;background:var(--blue);color:white;height:40px;border-radius:9px;padding:0 18px;font-weight:700;font-size:12px;box-shadow:0 8px 20px #08b8eb28;transition:.2s}.primary:hover{background:var(--blue-dark);transform:translateY(-1px)}.primary span{font-size:18px;margin-right:6px;vertical-align:-1px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}.stat-card,.card,.mini-stats>div{background:var(--card);border:1px solid var(--line);border-radius:13px}.stat-card{padding:17px 19px}.stat-top{display:flex;align-items:center;justify-content:space-between;color:#79859a;font-size:11px}.stat-top i{width:7px;height:7px;border-radius:50%}.stat-card strong{font-size:24px;display:block;margin:11px 0 7px;letter-spacing:-.6px}.stat-card small{color:#7c8799;font-size:10px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(290px,.8fr);gap:16px;margin-bottom:16px}.dashboard-grid.lower{grid-template-columns:minmax(0,1.55fr) minmax(300px,.95fr)}.card{padding:20px}.card-head{display:flex;align-items:flex-start;justify-content:space-between}.card-head h2{font-size:16px;margin:5px 0 0}.card-head button{border:0;background:transparent;color:#69768b;font-size:10px}.pipeline-value{margin:20px 0 15px;display:flex;align-items:baseline;gap:10px}.pipeline-value strong{font-size:22px}.pipeline-value span{font-size:10px;color:var(--muted)}.pipeline-bars>div{display:grid;grid-template-columns:55px 1fr 24px 52px;align-items:center;gap:10px;margin:11px 0;font-size:10px;color:#6f7b8e}.pipeline-bars b{color:var(--ink)}.pipeline-bars strong{text-align:right;color:var(--ink)}.bar-track{height:7px;background:#eef1f5;border-radius:10px;overflow:hidden}.bar-track i{display:block;height:100%;background:linear-gradient(90deg,var(--blue),#6475ed);border-radius:10px}.alert-count{width:25px;height:25px;background:#fff2f2;color:var(--red);border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:700}.alert-list article{display:flex;align-items:center;gap:10px;padding:15px 0;border-bottom:1px solid #eef0f4}.alert-list article:last-child{border:0;padding-bottom:0}.alert-list i{width:29px;height:29px;border-radius:9px;display:grid;place-items:center;font-style:normal;font-weight:800}.alert-list i.red{background:#fff0f0;color:var(--red)}.alert-list i.amber{background:#fff6e8;color:var(--amber)}.alert-list i.blue{background:#ebf8fc;color:var(--blue-dark)}.alert-list div{flex:1}.alert-list strong{font-size:11px}.alert-list p{font-size:9px;color:var(--muted);margin:4px 0 0}.alert-list b{font-size:9px;color:var(--blue-dark)}.row{display:grid;grid-template-columns:1.5fr .65fr 1fr .75fr;align-items:center;gap:14px}.order-head{font-size:9px;color:#95a0b1;border-bottom:1px solid var(--line);padding:14px 4px 8px}.order-row{padding:12px 4px;border-bottom:1px solid #eef0f4;font-size:10px}.order-row:last-child{border:0}.order-row span>strong,.order-row span>small{display:block}.order-row small{color:var(--muted);font-size:8px;margin-top:4px}.mini-progress,.table-progress{height:5px;border-radius:6px;background:#ebeff4;overflow:hidden}.mini-progress i,.table-progress i{display:block;height:100%;border-radius:6px;background:var(--blue)}.status{display:inline-block;padding:5px 8px;border-radius:6px;font-size:9px;font-weight:700;white-space:nowrap}.status.blue{color:#078db2;background:#e8f8fc}.status.green{color:#0d9265;background:#e9f8f2}.status.amber{color:#b87614;background:#fff5e4}.status.red{color:#c84444;background:#ffeded}.status.gray{color:#677386;background:#f0f2f5}.tasks-card .card-head{margin-bottom:8px}.tasks-card .card-head>button{font-size:20px;color:var(--blue)}.task{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid #eef0f4;cursor:pointer}.task:last-child{border:0}.task input{appearance:none;width:17px;height:17px;border:1.5px solid #cdd3dd;border-radius:5px;display:grid;place-items:center}.task input:checked{background:var(--blue);border-color:var(--blue)}.task input:checked:after{content:"\2713";color:white;font-size:11px}.task input:checked+span strong{text-decoration:line-through;color:#a1a8b5}.task>span{flex:1}.task strong,.task small{display:block}.task strong{font-size:10px}.task small{font-size:8px;color:var(--muted);margin-top:4px}.task em{font-size:8px;color:#a06e1f;background:#fff6e8;padding:4px 6px;border-radius:5px;font-style:normal}.module-title{align-items:center}.module-title h1{margin-top:6px}.mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:16px}.mini-stats>div{padding:15px 18px}.mini-stats span{display:block;color:var(--muted);font-size:10px}.mini-stats strong{display:block;font-size:20px;margin-top:7px}.data-card{padding:0;overflow:hidden}.table-tools{padding:14px 17px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.table-tools button{border:0;background:transparent;color:#8a95a6;font-size:10px;padding:7px 11px;border-radius:6px}.table-tools button.selected{background:#eaf9fd;color:#068fb8;font-weight:700}.table-tools>span{font-size:9px;color:#929cac}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;min-width:850px}th{text-align:left;padding:11px 17px;color:#8e99aa;font-size:9px;font-weight:600;background:#fafbfc;border-bottom:1px solid var(--line)}td{padding:15px 17px;font-size:10px;color:#59667a;border-bottom:1px solid #edf0f3}tbody tr:hover{background:#fafdfe}td strong{color:var(--ink);font-size:10px}code{font-family:ui-monospace,monospace;color:#2686a1;background:#edf8fb;padding:4px 6px;border-radius:5px;font-size:9px}.person-dot{display:inline-grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#e8f8fc;color:#078eb7;margin-right:7px;font-size:8px;font-weight:700}.table-progress{width:70px;display:inline-block;margin-right:6px}.empty{text-align:center;padding:60px;color:var(--muted)}.approval-list article{display:grid;grid-template-columns:38px 1fr 110px 54px 64px;gap:13px;align-items:center;padding:16px 20px;border-bottom:1px solid var(--line)}.approval-list article.approved{opacity:.5}.approval-icon{width:36px;height:36px;border-radius:10px;background:#eaf8fc;color:#058db5;display:grid;place-items:center;font-weight:800}.approval-icon.urgent{background:#fff0f0;color:var(--red)}.approval-list strong{font-size:11px}.approval-list p{font-size:9px;color:var(--muted);margin:5px 0 0}.approval-list article>b{font-size:12px}.ghost{height:34px;border:1px solid var(--line);background:white;border-radius:8px;padding:0 12px;color:#647086;font-size:10px}.primary.small{height:34px;padding:0 13px;font-size:10px}.modal-backdrop{position:fixed;inset:0;background:#07142799;backdrop-filter:blur(3px);display:grid;place-items:center;z-index:30;padding:20px}.modal{width:min(480px,100%);background:white;border-radius:16px;padding:24px;box-shadow:0 30px 80px #07142755}.modal-head{display:flex;justify-content:space-between;margin-bottom:22px}.modal-head span{font-size:9px;color:var(--blue-dark);font-weight:800;letter-spacing:2px}.modal h2{font-size:20px;margin:5px 0}.modal-head button{border:0;background:#f3f5f7;border-radius:8px;width:32px;height:32px;font-size:20px;color:#6d7788}.modal label{display:block;color:#59667a;font-size:10px;font-weight:600;margin:13px 0}.modal input,.modal select{display:block;width:100%;height:41px;margin-top:7px;border:1px solid #dfe4ea;border-radius:8px;padding:0 12px;background:white;outline:0;font-size:12px}.modal input:focus,.modal select:focus{border-color:var(--blue);box-shadow:0 0 0 3px #08b8eb18}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}.modal-actions .ghost,.modal-actions .primary{height:39px}.toast{position:fixed;right:24px;bottom:24px;background:var(--navy);color:white;border-radius:10px;padding:13px 18px;box-shadow:0 15px 40px #0b183044;z-index:50;font-size:11px;display:flex;align-items:center;gap:9px}.toast span{width:19px;height:19px;border-radius:50%;background:var(--green);display:grid;place-items:center;font-size:10px}
@media(max-width:1050px){.stats-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.dashboard-grid.lower{grid-template-columns:1fr}.app-shell{grid-template-columns:208px 1fr}.sidebar{width:208px}.workspace{grid-column:2}}
@media(max-width:760px){.app-shell{display:block}.sidebar{position:fixed;inset:auto 0 0;width:auto;height:66px;display:block;padding:7px 8px;z-index:20}.brand,.sidebar nav p,.sidebar-foot,.profile{display:none}.sidebar nav{display:flex;overflow-x:auto}.sidebar nav button{height:52px;min-width:70px;display:flex;flex-direction:column;justify-content:center;gap:2px;font-size:8px;padding:4px}.sidebar nav button.active{box-shadow:inset 0 -3px var(--blue)}.nav-icon{font-size:16px}.sidebar nav em{position:absolute;margin:0 0 26px 29px;padding:2px 5px;min-width:17px}.workspace{padding-bottom:68px}.topbar{padding:0 16px;height:60px}.mobile-brand{display:block;font-weight:800;color:var(--blue-dark)}.search{width:42vw}.today{display:none}.page-content{padding:22px 15px}.welcome,.module-title{align-items:flex-start}.welcome h1,.module-title h1{font-size:23px}.welcome p,.module-title p{max-width:240px;line-height:1.5}.stats-grid,.mini-stats{grid-template-columns:1fr 1fr}.dashboard-grid{display:block}.dashboard-grid>.card{margin-bottom:14px}.card{padding:16px}.pipeline-bars>div{grid-template-columns:50px 1fr 20px 45px}.approval-list article{grid-template-columns:35px 1fr 70px}.approval-list .ghost{display:none}.form-grid{grid-template-columns:1fr}}
@media(max-width:480px){.top-actions{gap:6px}.circle-btn{display:none}.search{width:58vw}.stats-grid{gap:9px}.stat-card{padding:14px}.stat-card strong{font-size:20px}.welcome,.module-title{display:block}.welcome .primary,.module-title .primary{margin-top:16px}.mini-stats{grid-template-columns:1fr 1fr 1fr;gap:6px}.mini-stats>div{padding:12px}.mini-stats strong{font-size:15px}.mini-stats span{font-size:8px}.row{grid-template-columns:1.4fr .8fr 1fr}.row>span:last-child{display:none}.order-head>span:last-child{display:none}}

/* Local account administration */
.account-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f3f6fa;padding:24px}.account-login{width:min(100%,460px);display:grid;gap:16px;padding:32px}.account-login label,.account-editor label{display:grid;gap:8px}.account-login input,.account-editor input,.account-editor select{padding:10px;border:1px solid #d9e1eb;border-radius:7px;min-width:0}.account-login small{line-height:1.6;color:#64748b}.account-editor input[type=checkbox]{width:auto;justify-self:start}.account-editor{max-height:90vh;overflow:auto}.account-session-user .crm-roles{display:none}.account-session-user .profile b{display:none}.top-actions{flex-wrap:wrap}.account-login button:disabled{opacity:.6}

.backup-panel{margin-bottom:24px}.backup-columns{display:grid;grid-template-columns:1fr 1fr;gap:28px}.backup-columns form{display:grid;gap:14px;align-content:start}.backup-columns label{display:grid;gap:7px}.backup-columns input{max-width:100%;padding:9px;border:1px solid #d9e1eb;border-radius:6px}.backup-preview{padding:18px;margin-top:22px;background:#f6f8fb;border-radius:10px}.backup-preview label{display:flex;gap:8px;margin:15px 0}@media(max-width:760px){.backup-columns{grid-template-columns:1fr}}

.server-connection{position:sticky;top:0;z-index:1000;background:#e8f7ef;color:#185936;padding:8px 20px;display:flex;gap:15px;align-items:center;font-size:13px}.server-connection button{background:white;border:1px solid currentColor;border-radius:5px;padding:4px 10px;cursor:pointer}.server-blocked{background:#fff0dc;color:#873c00}.stats-grid>.card{padding:20px}.dashboard-grid>.card{padding:24px}.dashboard-grid>.card article{padding:12px 0;border-bottom:1px solid #e6eaf0}
/* Touch layouts for the deployed web application. Wide data tables scroll locally. */
@media (max-width: 900px) {
  .app-shell { display: block; }
  .workspace { min-width: 0; padding-bottom: calc(90px + env(safe-area-inset-bottom)); }
  .server-connection { z-index: 25; flex-wrap: wrap; padding: 8px 12px; gap: 8px; }
  .server-connection button { min-height: 40px; }
  .topbar { position: static; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 10px; height: auto; padding: 12px 16px; }
  .mobile-brand { display: block; font-size: 18px; font-weight: 800; white-space: nowrap; color: var(--blue-dark); }
  .search { grid-row: 2; grid-column: 1 / -1; width: 100%; height: 44px; }
  .search input { min-width: 0; font-size: 16px; }
  .top-actions { gap: 6px; flex-wrap: nowrap; }
  .top-actions > span, .today, .circle-btn { display: none; }
  .top-actions .ghost { min-height: 44px; height: auto; padding: 8px; font-size: 12px; }
  .sidebar { position: fixed; inset: auto 0 0; width: 100%; height: auto; padding: 6px 8px calc(6px + env(safe-area-inset-bottom)); z-index: 30; display: block; }
  .sidebar .brand, .sidebar nav > p, .sidebar-foot, .sidebar .profile, .sidebar .crm-subnav { display: none; }
  .sidebar nav { display: flex; gap: 4px; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: thin; -webkit-overflow-scrolling: touch; }
  .sidebar .nav-group { flex: 0 0 auto; }
  .sidebar nav button { flex: 0 0 auto; min-width: 82px; height: 62px; min-height: 62px; padding: 7px 5px; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 5px; font-size: 11px; line-height: 1.3; white-space: nowrap; }
  .sidebar .nav-icon { font-size: 20px; }
  .sidebar .nav-chevron { display: none; }
  .sidebar nav button.active { box-shadow: inset 0 -3px var(--blue); }
  .page-content { padding: 20px 14px; min-width: 0; }
  .notification-section, .finance-workbench, .hr-workbench { margin-left: 14px; margin-right: 14px; }
  .page-content .card, .notification-section { min-width: 0; max-width: 100%; }
  .page-content button, .notification-section button, .finance-workbench button, .hr-workbench button { min-height: 44px; font-size: 14px; }
  .page-content input:not([type=checkbox]):not([type=radio]), .page-content select { min-height: 44px; font-size: 16px; min-width: 0; max-width: 100%; }
  .page-content p, .page-content small, .crm-rule { line-height: 1.65; }
  .table-wrap { max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; }
  .table-wrap:has(table)::before { content: "表格可左右滑动查看"; display: block; position: sticky; left: 0; padding: 9px 12px; font-size: 12px; color: #64748b; background: #f6f9fc; }
  .table-wrap td, .table-wrap td strong { font-size: 13px; line-height: 1.6; }
  .table-wrap th { font-size: 12px; }
  .crm-tabs { overflow-x: auto; flex-wrap: nowrap; }
  .crm-tabs button { white-space: nowrap; flex-shrink: 0; }
  .finance-files { min-width: 0; max-width: 100%; }
  .modal-backdrop { z-index: 80; padding: 12px; }
  .modal-backdrop .modal { width: 100% !important; max-width: min(900px, calc(100vw - 24px)); max-height: calc(100dvh - 24px); margin: 0; padding: 16px !important; overflow-y: auto; overscroll-behavior-y: contain; border-radius: 12px; }
  .modal :is(.crm-form-grid,.form-grid) { grid-template-columns: minmax(0,1fr); }
  .modal label { min-width: 0; font-size: 14px; line-height: 1.5; }
  .modal :is(input,select,textarea) { max-width: 100%; min-width: 0; font-size: 16px; }
  .modal input:not([type=checkbox]):not([type=radio]), .modal select { min-height: 44px; }
  .modal input[type=checkbox], .modal input[type=radio], .page-content input[type=checkbox], .page-content input[type=radio] { display: inline-block; width: 20px; height: 20px; min-height: 20px; padding: 0; margin: 0; flex-shrink: 0; }
  .modal label:has(input[type=checkbox]), .modal label:has(input[type=radio]) { display: flex; align-items: center; gap: 10px; min-height: 44px; }
  .modal .modal-actions { position: sticky; z-index: 2; bottom: -16px; margin: 16px -1px -1px; padding: 12px 0 4px; background: white; border-top: 1px solid var(--line); }
  .modal .modal-actions button { flex: 1; min-height: 44px; height: auto; padding: 10px; font-size: 14px; }
  .modal button { min-height: 44px; }
  .account-screen { min-height: 100dvh; padding: 16px; }
  .account-login { padding: 24px; }
  .account-login input, .account-login button { min-height: 44px; font-size: 16px; }
  .account-login label { font-size: 14px; }
  .invoice-overlay { padding: 12px; overflow-x: auto; }
  .invoice-toolbar { gap: 10px; flex-wrap: wrap; }
  .invoice-toolbar > div { display: flex; flex-wrap: wrap; gap: 8px; }
  .invoice-toolbar button { min-height: 44px; }
  .toast { left: 12px; right: 12px; bottom: calc(88px + env(safe-area-inset-bottom)); }
}
@media (max-width: 480px) {
  .welcome, .module-title { display: block; }
  .welcome h1, .module-title h1 { font-size: 24px; }
  .stats-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  .stats-grid .card { padding: 16px; }
  .stats-grid .card span { font-size: 13px; }
  .stats-grid .card strong { font-size: 22px; }
  .finance-overview { grid-template-columns: 1fr; }
  .crm-roles { align-items: stretch; }
  .crm-roles label { flex: 1 1 140px; }
  .crm-roles > button { flex: 1 1 auto; }
}

[hidden]{display:none!important}
.mobile-app-header,.mobile-tabbar,.mobile-sheet-backdrop{display:none}
.save-confirmation{position:fixed;right:24px;bottom:24px;z-index:120;padding:10px 18px;background:#12334e;color:#fff;border-radius:24px;font-size:13px;box-shadow:0 8px 28px #102a4326;pointer-events:none}
.audit-panel{margin-top:24px}.audit-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.audit-filters label{display:grid;gap:7px;font-size:13px;color:#64748b}.audit-filters input{min-width:0;width:100%;border:1px solid #dce5ee;border-radius:9px;padding:10px;font:inherit}.audit-panel pre{max-width:480px;max-height:400px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}.job-summary{margin:16px 0;padding:16px;background:#f1f8fc;border-radius:12px;font-size:13px;line-height:1.7}.job-summary h3{margin-top:0}.account-download{display:inline-flex;align-items:center;margin:6px;padding:8px 10px;text-decoration:none;color:#087fac}.account-role-value{display:inline-flex;min-height:36px;align-items:center;color:#24445b}.fulfilment-page .table-wrap{margin-top:20px}.fulfilment-page small{display:block}
@media(max-width:900px){
 html{scroll-padding-bottom:100px}body{-webkit-tap-highlight-color:transparent;background:#f2f5f9}
 .app-shell .sidebar,.workspace>.topbar{display:none!important}
 .workspace{display:flex;flex-direction:column;width:100%;max-width:100vw;min-width:0;padding-bottom:calc(100px + env(safe-area-inset-bottom));min-height:100dvh}
 .workspace>*{min-width:0}.workspace>.page-content{width:100%;max-width:100%;align-self:stretch}.table-wrap{min-width:0;position:relative;isolation:isolate}
 .workspace>.page-content{order:1}.workspace>.notification-section{order:2}.workspace>.finance-workbench{order:3}.workspace>.hr-workbench{order:4}
 .mobile-app-header{display:block;order:0;padding:calc(18px + env(safe-area-inset-top)) 18px 20px;background:linear-gradient(125deg,#102b49,#105477);color:#fff}
 .mobile-app-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}
 .mobile-app-brand{display:flex;align-items:center;gap:11px;min-width:0}.mobile-app-brand>span{width:40px;height:40px;background:#10b8e4;border:1px solid #4bd2f2;border-radius:14px;display:grid;place-items:center;font-size:31px;font-weight:800;font-style:italic}.mobile-app-brand small{display:block;font-size:10px;letter-spacing:2px;color:#a7d7ee;margin-bottom:4px}.mobile-app-brand strong{font-size:20px;line-height:1.3;font-weight:700}.mobile-avatar{width:42px;height:42px;flex-shrink:0;border:1px solid #ffffff40;background:#ffffff17;border-radius:15px;color:white;font-size:17px;font-weight:700}
 .mobile-app-search{display:flex;align-items:center;gap:10px;min-height:46px;background:#ffffff13;border:1px solid #ffffff26;border-radius:14px;padding:0 14px;color:#b7d6e7}.mobile-app-search input{width:100%;min-width:0;min-height:44px;background:transparent;border:0;outline:0;font-size:16px;color:white;appearance:none}.mobile-app-search input::placeholder{color:#c3d9e7;font-size:14px}
 .mobile-tabbar{display:flex;position:fixed;z-index:60;bottom:calc(10px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:calc(100% - 24px);max-width:600px;padding:7px;gap:3px;background:#ffffffed;border:1px solid #e4ebf1;border-radius:23px;box-shadow:0 10px 36px #153b5b20;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
 .mobile-tabbar button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;flex:1;min-width:0;min-height:56px;border:0;background:none;border-radius:16px;color:#77889a;font-size:11px;font-weight:600;line-height:1.2;padding:6px 2px}.mobile-tabbar button.active{background:#e8f6fc;color:#078bb8}.mobile-tabbar button:active{background:#edf4f8}
 .mobile-sheet-backdrop{display:flex;position:fixed;inset:0;z-index:100;align-items:flex-end;background:#081c38a6;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
 .mobile-menu-sheet{width:100%;max-height:calc(100dvh - 36px);overflow-y:auto;background:#f8fafc;border-radius:26px 26px 0 0;padding:9px 20px calc(24px + env(safe-area-inset-bottom));box-shadow:0 -16px 60px #0e284333}.mobile-sheet-handle{width:40px;height:4px;background:#ccd7e1;border-radius:4px;margin:0 auto 20px}.mobile-sheet-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.mobile-sheet-heading h2{font-size:23px;margin:0 0 5px;color:#15324e}.mobile-sheet-heading p{margin:0;font-size:13px;color:#7c8b9b}.mobile-sheet-close{width:38px;height:38px;border:0;background:#eaf0f5;color:#506b83;border-radius:14px;font-size:25px}
 .mobile-module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.mobile-module-grid button{min-height:100px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;border:1px solid #e6edf3;background:white;border-radius:18px;padding:10px 4px;color:#304e66;font-size:12px;line-height:1.4}.mobile-module-grid button>span{width:38px;height:38px;display:grid;place-items:center;color:#087fab;background:#ecf7fc;border-radius:13px}.mobile-account-actions{display:flex;gap:12px;margin-top:22px}.mobile-account-actions button{flex:1;min-height:46px;border:1px solid #dce6ee;background:white;border-radius:13px;font-size:14px;color:#4c667e}.mobile-account-actions button:last-child{color:#b15454;background:#fff8f7;border-color:#f4dfda}
 .page-content{padding:16px 12px}.card{border-radius:18px;border-color:#e5edf4;box-shadow:0 3px 14px #21476b04}
 .dashboard-page>.welcome{padding:22px 20px;background:linear-gradient(120deg,#e7f6fc,#f4fbff);border:1px solid #d5eaf4;border-radius:20px;margin:0 0 16px}.dashboard-page .welcome .eyebrow{display:none}.dashboard-page .welcome h1{font-size:25px;margin:0 0 7px;color:#183c57}.dashboard-page .welcome p{font-size:13px;max-width:none;color:#6d8799}.dashboard-page .welcome .primary{margin-top:14px;min-height:43px;height:auto;padding:10px 16px;font-size:14px;border-radius:12px}
 .dashboard-page .stats-grid{gap:10px;margin-bottom:16px}.dashboard-page .stats-grid>.card{padding:17px 15px;min-height:106px;background:#fff;border-color:#e7edf4}.dashboard-page .stats-grid p{margin:0 0 10px;color:#7d8c9c;font-size:12px}.dashboard-page .stats-grid h2{font-size:23px;line-height:1.2;margin:0;color:#183951}.dashboard-grid>.card{margin-bottom:14px;padding:18px!important}.dashboard-grid>.card h2{font-size:18px;margin:0 0 12px}.dashboard-grid>.card>p{font-size:13px;color:#73879a;line-height:1.75}.dashboard-grid>.card article strong{font-size:14px}
 .notification-section,.finance-workbench,.hr-workbench{margin:0 12px 14px!important;border-radius:18px;padding:18px!important}.notification-section h2,.finance-workbench h2,.hr-workbench h2{font-size:16px;line-height:1.5}.notification-section>.crm-rule,.finance-workbench>.crm-rule,.hr-workbench>.crm-rule,.notification-section .notification-identity{display:none}.notification-section .notification-empty{margin-bottom:0;padding:10px 0;font-size:13px}.notification-head{gap:10px;align-items:center}.notification-head .primary{font-size:12px!important;min-height:38px!important;padding:8px 11px;border-radius:11px}
 .module-title{margin-bottom:18px}.module-title .eyebrow{font-size:10px;letter-spacing:1.5px;color:#8ba3b6}.module-title h1{font-size:23px!important;color:#173852}.module-title p{font-size:13px;color:#7e90a0;max-width:none;line-height:1.7}.module-title .primary{border-radius:12px}
 .primary{background:#059bc7;border-radius:12px;box-shadow:0 5px 12px #089cc71a;font-weight:600}.ghost{border-radius:11px}.crm-tabs,.supply-tabs{gap:8px;padding-bottom:10px}.crm-tabs button,.supply-tabs button{min-height:42px;border-radius:12px;font-size:13px;white-space:nowrap}
 .modal-backdrop{align-items:flex-end;place-items:end center;padding:0;background:#081c388c}.modal-backdrop .modal{width:100%!important;max-width:100%;max-height:calc(100vh - 22px);max-height:calc(100dvh - 22px);padding:22px 18px calc(18px + env(safe-area-inset-bottom))!important;border-radius:24px 24px 0 0;box-shadow:0 -10px 40px #0c2c4a26}.modal h2{font-size:21px;margin:0 0 18px}.modal label{font-size:13px;color:#506b81}.modal :is(input,select,textarea){background:#f8fafc;border-color:#dfe8f0;border-radius:11px}.modal .modal-actions{bottom:calc(-18px - env(safe-area-inset-bottom));padding-bottom:calc(10px + env(safe-area-inset-bottom));background:#fff;gap:10px}.modal .modal-actions button{border-radius:12px;font-size:14px}
 .account-screen{background:radial-gradient(ellipse at 50% 0,#c4ecfa,transparent 55%),#f0f6fa}.account-login{border-radius:24px;border:1px solid #dfebf3;box-shadow:0 18px 55px #13476f10;padding:28px 22px}.account-login h1{font-size:28px;letter-spacing:-1px;margin:8px 0 3px}.account-login p{font-size:14px;line-height:1.7;color:#6c8396}.account-login label{font-size:13px;color:#506c82}.account-login input{border-radius:12px;background:#f9fbfd;border-color:#dce7ef;min-height:48px}.account-login .primary{min-height:48px;border-radius:13px;font-size:16px}
 .audit-filters{grid-template-columns:1fr}.audit-panel p{font-size:13px;line-height:1.7}.job-summary{font-size:13px}.save-confirmation{right:16px;bottom:calc(98px + env(safe-area-inset-bottom));padding:10px 18px;font-size:13px}.server-connection{position:sticky;top:0;z-index:105;padding:12px 16px;line-height:1.6;font-size:13px;box-shadow:0 4px 18px #865b1920}
}
@media print{body.employee-no-export{display:none!important}}
.job-shortcuts{margin-bottom:20px}.job-shortcuts h2{font-size:18px;margin-top:0}.job-shortcuts>div{display:flex;flex-wrap:wrap;gap:10px}.job-shortcuts button{min-width:150px;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:12px}
@media(max-width:900px){.job-shortcuts{padding:18px;margin-bottom:14px}.job-shortcuts>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.job-shortcuts button{min-width:0;min-height:48px!important;height:auto;padding:10px 12px;font-size:13px!important;background:#f8fbfd;border-color:#e5edf3}.job-shortcuts button span{color:#159bc0}.job-shortcuts h2{font-size:16px}}
