:root{--ink:#153c40;--green:#17695a;--mint:#e8f4ed;--bg:#f4f6f7;--line:#e1e8e8;--muted:#6c7d80;--white:#fff;--gold:#9d6a20;--red:#b64a46;--shadow:0 8px 32px #173f4010;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",Arial,sans-serif;color:var(--ink);font-size:16px;line-height:1.5;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--bg)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid #70c4ad;outline-offset:3px}button{border:0}svg{width:20px;height:20px;vertical-align:middle;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}h1,h2,h3,p{margin:0}h1{font-size:28px;letter-spacing:-.8px;font-weight:650}h2{font-size:19px;font-weight:650}h3{font-size:16px}small{font-size:13px}.muted{color:var(--muted)}.num{font-variant-numeric:tabular-nums}.shell{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100vh}.sidebar{background:#103c40;color:#c5d9d9;padding:32px 17px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;width:232px;z-index:20}.brand{display:flex;align-items:center;gap:12px;padding:0 10px 35px}.brand img{width:42px;height:42px;background:#275557;border:1px solid #517675;border-radius:12px}.brand strong{color:#fff;display:block;line-height:1.2;font-size:20px;letter-spacing:.3px}.brand small{display:block;font-size:12px;letter-spacing:1.5px;margin-top:7px;color:#9bbab9}.nav-label{font-size:12px;letter-spacing:1px;padding:15px 15px 9px;color:#90aead}.nav-item{display:flex;align-items:center;gap:13px;border-radius:8px;background:none;color:inherit;width:100%;text-align:left;padding:12px 15px;margin:3px 0;font-size:14px}.nav-item:hover{background:#205056}.nav-item.active{background:#2c5d59;color:#d5f7e7;font-weight:600}.nav-item.active:after{content:"";width:5px;height:18px;background:#9dd4b9;border-radius:4px;margin-left:auto}.sidebar-footer{margin-top:auto;border-top:1px solid #356064;padding:22px 12px 0;display:flex;align-items:center;gap:10px;font-size:14px}.avatar{display:grid;place-items:center;width:35px;height:35px;border-radius:50%;background:#d3eadd;color:#194d43;font-weight:650;flex-shrink:0}.workspace{grid-column:2;min-width:0}.topbar{height:74px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 34px;gap:15px}.topbar-left{display:flex;align-items:center;gap:10px;font-size:14px}.top-actions{display:flex;gap:12px;align-items:center}.top-actions select{border:0;background:#f4f7f7;color:var(--ink);font-size:14px;padding:8px;border-radius:6px;max-width:160px}.demo-ribbon{background:#fff8e8;color:#836120;padding:9px 34px;font-size:13px;display:flex;align-items:center;gap:9px;border-bottom:1px solid #ede4ce}.demo-ribbon strong{font-weight:650;white-space:nowrap}.demo-ribbon a{margin-left:auto;white-space:nowrap;text-decoration:underline}.main{max-width:1560px;margin:auto;padding:32px 34px 45px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:26px}.eyebrow{text-transform:uppercase;font-size:12px;letter-spacing:1.8px;color:var(--green);margin-bottom:6px}.page-heading p{font-size:14px;color:var(--muted);margin-top:8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 15px;min-height:42px;background:#fff;border:1px solid #d6e1e0;border-radius:7px;color:var(--ink);font-size:14px;font-weight:550;white-space:nowrap}.btn:hover{background:#f0f6f3;border-color:#a2bcb6}.btn.primary{background:#196556;border-color:#196556;color:white}.btn.primary:hover{background:#115243}.btn.danger{color:var(--red);border-color:#e7c3bf}.btn.small{font-size:13px;padding:5px 10px;min-height:32px}.btn.ghost{border-color:transparent;background:transparent}.button-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.icon-btn{padding:8px;min-height:36px;min-width:36px;background:transparent;border-radius:6px;color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:24px}.stat{padding:22px;background:white;border:1px solid var(--line);border-radius:10px;min-width:0}.stat-top{font-size:14px;color:#607678;display:flex;justify-content:space-between;gap:8px;align-items:center}.stat-icon{width:34px;height:34px;border-radius:8px;background:#eef5f3;display:grid;place-items:center;color:var(--green)}.stat-value{font-size:30px;font-weight:650;letter-spacing:-.9px;margin:15px 0 10px;line-height:1.2;overflow-wrap:anywhere}.stat-value span{font-size:14px;font-weight:400;margin-left:6px;letter-spacing:0;color:var(--muted)}.stat-note{font-size:13px;color:var(--muted);display:flex;align-items:center;gap:6px}.stat-note b{font-weight:550;color:var(--green)}.columns{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(285px,1fr);gap:22px;margin-bottom:22px}.panel{border:1px solid var(--line);border-radius:10px;background:white;overflow:hidden;min-width:0}.panel-head{padding:21px 23px;display:flex;align-items:center;justify-content:space-between;gap:10px}.panel-head p{margin-top:4px;font-size:13px;color:var(--muted)}.panel-body{padding:0 23px 23px}.pool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.pool-card{border:1px solid #dce8e4;border-radius:9px;padding:15px;text-align:left;color:var(--ink);background:linear-gradient(135deg,#f6faf8,#edf5f1);min-height:133px}.pool-card:hover{border-color:#5f9f8d;box-shadow:0 3px 12px #123f4010}.pool-card.bled{background:#f0f4fb;border-color:#dbe3f0}.pool-card.empty{background:#fafbfb;border:1px dashed #dbe3e2;color:#879795}.pool-card .pool-top{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:14px;font-weight:600}.tag{font-size:12px;padding:3px 8px;border-radius:4px;background:#e7f3eb;color:#287451;white-space:nowrap;display:inline-block;font-weight:500}.tag.blue{background:#eaf0fa;color:#537baf}.tag.orange{background:#fff2df;color:#a17534}.tag.gray{background:#f0f3f4;color:#7a8a8c}.tag.red{background:#fbeceb;color:#ad5550}.pool-number{font-size:25px;font-weight:650;margin:11px 0 5px}.pool-number small{font-size:13px;font-weight:400;margin-left:4px}.pool-breakdown{font-size:12px;color:#708782;display:flex;gap:14px}.pool-card.empty .pool-number{font-size:19px;font-weight:400;color:#a1adaa;margin-top:20px}.legend{display:flex;gap:17px;font-size:12px;color:var(--muted);align-items:center}.legend i{display:inline-block;width:7px;height:7px;background:#64aa86;margin-right:5px;border-radius:50%}.legend i.blue{background:#749bcd}.todo{display:flex;gap:13px;padding:16px 0;border-bottom:1px solid #eff2f2;align-items:center}.todo:last-child{border-bottom:0}.todo-icon{width:38px;height:38px;border-radius:8px;display:grid;place-items:center;background:#fcf4e8;color:#ae874c;flex-shrink:0}.todo-title{font-size:14px;font-weight:550}.todo small{color:var(--muted);display:block;margin-top:4px;line-height:1.6}.todo button{margin-left:auto}.count-pill{font-size:12px;background:#eaf2ee;padding:2px 7px;border-radius:5px;color:#55816e}.balance-sheet{background:#16494a;color:#eef9f6;border-radius:9px;padding:20px;margin-top:20px}.balance-sheet .muted{color:#aac8c3;font-size:13px}.balance-sheet strong{font-size:22px;font-weight:550;display:block;margin-top:7px}.balance-sheet hr{border:0;border-top:1px solid #3c6866;margin:15px 0}.balance-line{display:flex;justify-content:space-between;margin-top:7px;font-size:13px}.table-wrap{overflow:auto;max-width:100%}table{width:100%;border-collapse:collapse;text-align:left;font-size:14px;white-space:nowrap}th{font-weight:500;color:#7a8c8e;background:#f7f9fa;font-size:13px;padding:12px 20px;border-top:1px solid #edf1f2;border-bottom:1px solid #edf1f2}td{padding:17px 20px;border-bottom:1px solid #edf1f2;vertical-align:middle}tr:last-child td{border-bottom:0}td small{display:block;color:var(--muted);margin-top:4px;font-size:12px}td .link{color:var(--green);font-weight:550;background:transparent;padding:0;font-size:14px}td.numeric{text-align:right}.table-foot{padding:14px 22px;font-size:13px;color:var(--muted);border-top:1px solid var(--line);display:flex;justify-content:space-between}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:20px}.searchbox{position:relative;flex:1;max-width:350px}.searchbox svg{position:absolute;left:12px;top:12px;color:#8a9d9e;width:18px}.searchbox input{padding-left:39px!important}.control,input,select,textarea{border:1px solid #d6e1e0;background:#fff;border-radius:6px;padding:10px 12px;color:var(--ink);min-width:0;font-size:14px;min-height:42px}.searchbox input{width:100%}input:focus,select:focus,textarea:focus{outline:2px solid #b7dcd1;outline-offset:1px}.toolbar select{min-width:120px}.toolbar input[type=date]{max-width:150px}.tabs{display:flex;gap:25px;border-bottom:1px solid var(--line);margin-bottom:22px}.tab{padding:12px 1px;background:none;color:var(--muted);font-size:14px;border-bottom:2px solid transparent}.tab.active{color:var(--green);border-color:var(--green);font-weight:600}.notice{font-size:14px;padding:13px 16px;border-radius:8px;background:#edf5f2;color:#477a68;margin-bottom:20px;line-height:1.7}.notice.warning{background:#fff7e8;color:#94713e}.notice.error{background:#faeeee;color:#a34b46}.guide-strip{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);padding:15px 20px;border-radius:9px;margin-bottom:24px;font-size:13px;flex-wrap:wrap}.guide-strip strong{font-size:14px;margin-right:5px}.guide-step{border:0;background:none;padding:4px;color:#6a827c;font-size:13px}.guide-step span{display:inline-grid;place-items:center;background:#edf4f0;color:#4c826c;width:21px;height:21px;border-radius:50%;margin-right:5px}.section-gap{margin-top:22px}.empty-state{text-align:center;color:var(--muted);padding:45px 20px;font-size:14px}.empty-state svg{width:30px;height:30px;margin-bottom:12px;opacity:.5}.empty-state p{margin-bottom:15px}.progress{height:5px;border-radius:4px;background:#e5eeeb;overflow:hidden;margin-top:9px;max-width:150px}.progress span{display:block;background:#6fab8b;height:100%}.audit-row{display:flex;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line);padding:14px 0;font-size:14px}.audit-row small{display:block;color:var(--muted);margin-top:4px}.footnote{text-align:center;color:#95a4a5;font-size:12px;margin-top:26px}.mobile-header,.bottom-nav{display:none}.loading{padding:15vh 8vw;font-size:18px;color:var(--muted)}
dialog{border:1px solid var(--line);padding:0;border-radius:13px;width:min(740px,calc(100% - 28px));max-height:90dvh;color:var(--ink);box-shadow:0 24px 100px #0b292955}dialog::backdrop{background:#0b252b70;backdrop-filter:blur(3px)}.dialog-header{display:flex;align-items:flex-start;justify-content:space-between;padding:23px 25px;border-bottom:1px solid var(--line);gap:15px}.dialog-header p{font-size:13px;color:var(--muted);margin-top:6px}.dialog-content{padding:23px 25px;overflow-y:auto;max-height:calc(90dvh - 190px)}.dialog-footer{display:flex;justify-content:flex-end;gap:10px;padding:17px 25px;border-top:1px solid var(--line);background:#f9fbfa}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:7px;font-size:14px;min-width:0}.field.full{grid-column:1/-1}.field small{color:var(--muted);font-size:12px}.field input,.field select,.field textarea{width:100%}.field textarea{min-height:76px;resize:vertical}.required{color:#bc7155}.form-section{margin:24px 0 12px;font-size:14px;font-weight:600}.repeat-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) 32px;gap:10px;align-items:end;margin-bottom:12px}.repeat-row .field{font-size:13px}.repeat-row.tube{grid-template-columns:1fr 1fr 32px}.repeat-row.four{grid-template-columns:repeat(4,minmax(0,1fr)) 32px}.row-remove{border:0;background:#f8efed;border-radius:6px;color:#aa6a5f;height:42px;padding:0}.summary-box{margin-top:18px;padding:15px;background:#f1f7f4;border-radius:7px;font-size:14px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.summary-box strong{font-size:18px}.form-error{display:none;background:#fff0ed;color:#a04741;font-size:14px;padding:12px;border-radius:6px;margin:0 0 18px}.form-error:not(:empty){display:block}.file-zone{border:1px dashed #b8ccc5;padding:15px;border-radius:8px;text-align:center;background:#f9fcfa;font-size:13px;color:var(--muted)}.file-zone input{padding:7px;border:0;background:transparent;max-width:100%}.file-list{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.file-chip{font-size:12px;border:1px solid var(--line);padding:5px 9px;border-radius:5px;background:white;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;font-size:14px;margin-bottom:22px}.detail-grid small{display:block;color:var(--muted);margin-bottom:4px}.attachments{display:flex;gap:10px;flex-wrap:wrap;margin-top:15px}.attachment{border:1px solid var(--line);padding:10px;border-radius:6px;background:#fff;color:var(--green);font-size:13px}.image-preview{max-width:100%;max-height:60vh;display:block;margin:auto}.checkline{display:flex;gap:8px;align-items:center;font-size:14px;margin-top:15px}.checkline input{min-height:auto;width:18px;height:18px}.guide-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.guide-card{background:#fff;border:1px solid var(--line);border-radius:9px;padding:24px}.guide-card .step-number{font-size:12px;letter-spacing:2px;color:#74a18a;margin-bottom:10px}.guide-card p{font-size:14px;color:var(--muted);margin:10px 0 20px;line-height:1.9}.guide-card ol{font-size:14px;color:#566f70;padding-left:20px;line-height:1.9}.scope-table td{white-space:normal;line-height:1.8}.report-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.report-card{border:1px solid var(--line);background:white;border-radius:9px;padding:24px}.report-card p{font-size:14px;color:var(--muted);margin:12px 0 22px;line-height:1.7}#toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);padding:13px 23px;border-radius:8px;background:#153e39;color:white;box-shadow:var(--shadow);font-size:14px;z-index:100;max-width:90vw;opacity:0;pointer-events:none;transition:opacity .2s}#toast.show{opacity:1}.public-page{max-width:1100px;margin:auto;padding:28px}.public-nav{display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line);padding-bottom:22px}.public-hero{background:#123f43;color:#eff9f5;padding:75px 55px;margin:34px 0;border-radius:13px}.public-hero h1{font-size:40px;max-width:650px;line-height:1.5}.public-hero p{color:#b1d1c7;font-size:18px;margin-top:17px}.public-sections{display:grid;grid-template-columns:1fr 1fr;gap:22px}.public-sections .panel{padding:26px}.public-sections p{color:var(--muted);font-size:15px;line-height:1.9;margin-top:14px}
@media(min-width:1600px){.main{padding-top:40px}.pool-card{min-height:145px}.pool-number{margin-top:18px}}
@media(max-width:1200px){.shell{grid-template-columns:200px minmax(0,1fr)}.sidebar{width:200px;padding:27px 12px}.main{padding:26px 23px}.topbar{padding:0 23px}.demo-ribbon{padding:8px 23px}.stats{gap:12px}.stat{padding:17px}.stat-value{font-size:25px}.columns{grid-template-columns:minmax(0,1.5fr) minmax(250px,1fr);gap:16px}.pool-card{padding:12px}.panel-head{padding:18px}.panel-body{padding:0 18px 18px}.pool-breakdown{gap:9px}.topbar-left span:last-child{display:none}}
@media(max-width:950px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.columns{grid-template-columns:1fr}.report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.top-actions .desktop-label{display:none}}
@media(max-width:700px){.shell{display:block}.sidebar,.topbar{display:none}.workspace{width:100%}.mobile-header{display:flex;justify-content:space-between;align-items:center;background:#123f43;color:#effaf4;padding:15px 18px;gap:10px}.mobile-brand{display:flex;gap:9px;align-items:center;font-size:17px;font-weight:600}.mobile-brand img{width:31px;height:31px}.mobile-header select{background:#285054;color:#e2f2ec;border:1px solid #446a6a;max-width:115px;min-height:34px;padding:5px;font-size:12px}.demo-ribbon{padding:8px 17px;font-size:12px;gap:6px}.demo-ribbon .desktop-label{display:none}.main{padding:23px 16px 90px}.page-heading{align-items:flex-start;margin-bottom:22px;flex-wrap:wrap}.page-heading h1{font-size:25px}.page-heading p{font-size:13px;line-height:1.7}.page-heading .button-row{width:100%}.eyebrow{font-size:11px}.stats{gap:10px;margin-bottom:18px}.stat{padding:15px}.stat-value{font-size:24px;margin:12px 0 8px}.stat-top{font-size:13px}.stat-icon{width:28px;height:28px}.stat-icon svg{width:16px;height:16px}.stat-note{font-size:12px;flex-wrap:wrap}.guide-strip{gap:8px;padding:13px;margin-bottom:18px}.guide-strip strong{width:100%}.guide-step{font-size:12px}.guide-step span{width:18px;height:18px}.columns{gap:17px}.panel-head{padding:17px 15px}.panel-head h2{font-size:17px}.panel-body{padding:0 13px 15px}.pool-grid{gap:8px}.pool-card{padding:11px;min-height:125px}.pool-card .pool-top{font-size:13px;flex-wrap:wrap;gap:5px}.pool-card .tag{font-size:10px;padding:2px 5px}.pool-number{font-size:23px;margin-top:12px}.pool-breakdown{font-size:11px;gap:5px;flex-wrap:wrap}.legend{font-size:11px;gap:8px}.toolbar{gap:9px}.searchbox{min-width:100%;max-width:none}.toolbar input[type=date]{max-width:calc(50% - 15px)}.toolbar .date-dash{display:none}.tabs{gap:19px;overflow:auto}.tab{white-space:nowrap}.guide-cards,.report-grid,.public-sections{grid-template-columns:1fr}.guide-card,.report-card{padding:20px}.bottom-nav{display:flex;justify-content:space-around;position:fixed;bottom:0;left:0;right:0;padding:9px 8px max(9px,env(safe-area-inset-bottom));background:#fffffff5;backdrop-filter:blur(10px);border-top:1px solid var(--line);z-index:30}.bottom-nav button{display:flex;flex-direction:column;align-items:center;gap:4px;background:none;color:#8a9e9c;font-size:11px;padding:3px 8px;min-width:52px}.bottom-nav button.active{color:#216952}.bottom-nav svg{width:21px;height:21px}.dialog-header{padding:19px}.dialog-content{padding:19px;max-height:calc(90dvh - 190px)}.dialog-footer{padding:15px 19px}.form-grid{gap:14px}.repeat-row,.repeat-row.four{grid-template-columns:1fr 1fr;position:relative;padding:13px;background:#f6f9f8;border-radius:7px;align-items:end}.repeat-row .row-remove{height:38px}.repeat-row.tube{grid-template-columns:1fr 1fr 28px;padding:0;background:transparent}.form-grid .field{font-size:13px}.detail-grid{gap:12px}td{padding:14px}th{padding:11px 14px}.footnote{font-size:11px}.public-page{padding:17px}.public-nav{flex-wrap:wrap}.public-hero{padding:40px 23px;margin:24px 0}.public-hero h1{font-size:28px}.public-hero p{font-size:16px}#toast{bottom:88px}}
body.phone-mode{max-width:440px;margin:auto;border-left:1px solid var(--line);border-right:1px solid var(--line);min-height:100vh;box-shadow:0 0 60px #17424316}body.phone-mode .shell{display:block}body.phone-mode .sidebar,body.phone-mode .topbar{display:none}body.phone-mode .mobile-header{display:flex;background:#123f43;color:white;justify-content:space-between;align-items:center;padding:15px}body.phone-mode .mobile-brand{display:flex;align-items:center;gap:8px;font-size:16px}body.phone-mode .mobile-brand img{width:30px;height:30px}body.phone-mode .mobile-header select{max-width:130px}body.phone-mode .main{padding:22px 15px 90px}body.phone-mode .stats{grid-template-columns:1fr 1fr;gap:10px}body.phone-mode .columns,body.phone-mode .guide-cards,body.phone-mode .report-grid{grid-template-columns:1fr}body.phone-mode .bottom-nav{display:flex;position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(440px,100%);justify-content:space-around;background:white;border-top:1px solid var(--line);padding:11px;z-index:30}body.phone-mode .bottom-nav button{display:flex;flex-direction:column;align-items:center;gap:4px;background:none;color:var(--muted);font-size:12px}body.phone-mode .bottom-nav button.active{color:var(--green)}body.phone-mode .demo-ribbon{padding:8px 14px;font-size:12px}body.phone-mode .desktop-label{display:none}body.phone-mode .page-heading{flex-wrap:wrap}body.phone-mode .page-heading h1{font-size:25px}body.phone-mode .page-heading .button-row{width:100%}body.phone-mode .pool-card{padding:10px}body.phone-mode .pool-top{flex-wrap:wrap}body.phone-mode .pool-breakdown{flex-wrap:wrap;gap:4px}body.phone-mode .pool-card .tag{font-size:11px}body.phone-mode .pool-number{font-size:23px}body.phone-mode .legend{display:none}body.phone-mode .toolbar .searchbox{min-width:100%}body.phone-mode .toolbar input[type=date]{max-width:45%}body.phone-mode .toolbar .date-dash{display:none}body.phone-mode .toolbar{justify-content:flex-start}body.phone-mode .guide-strip strong{width:100%}body.phone-mode .guide-strip{gap:8px;padding:14px}body.phone-mode .stat{padding:14px}body.phone-mode .stat-value{font-size:24px}body.phone-mode .stat-icon{display:none}body.phone-mode .panel-head{padding:17px 14px}body.phone-mode .panel-body{padding:0 13px 17px}body.phone-mode dialog{width:min(414px,calc(100% - 26px))}body.phone-mode .repeat-row{grid-template-columns:1fr 1fr}body.phone-mode .repeat-row.tube{grid-template-columns:1fr 1fr 28px}body.phone-mode .form-grid{gap:12px}body.phone-mode .dialog-content{padding:18px}body.phone-mode .dialog-header{padding:19px}body.phone-mode .tabs{overflow:auto;gap:18px}body.phone-mode .tab{white-space:nowrap}body.phone-mode #toast{bottom:85px}

.stat-value span{display:inline-block;white-space:nowrap}

/* TC ocean identity — 2026-10-02; semantic warning/state colors retained. */
:root{--ink:#183c58;--green:#1678b1;--mint:#eaf6fd;--bg:#f3f8fc;--line:#dce9f2;--muted:#657e91;--shadow:0 8px 32px #1b689010}
.sidebar{background:linear-gradient(180deg,#ecf7fe,#e0f0fa);color:#42627c;border-right:1px solid #d2e6f3}.brand{padding-left:5px;gap:9px}.brand strong{color:#164c76;font-size:16px;letter-spacing:-.3px}.brand small{color:#6488a1}.brand img{background:#fff;border-color:#cae5f5}.nav-label{color:#708ba0}.nav-item:hover{background:#dbeefa}.nav-item.active{background:#cce7f8;color:#115e91}.nav-item.active:after{background:#2788c1}.sidebar-footer{border-color:#c5ddeb}.sidebar-footer small.muted{color:#617f94!important}.avatar{background:#c9e6f8;color:#176898}
.btn.primary{background:#177db6;border-color:#177db6;box-shadow:0 3px 9px #187cb51a}.btn.primary:hover{background:#116597}.btn:hover{background:#eef7fd;border-color:#a8cde4}.stat-icon,.todo-icon{background:#edf7fd;color:#187fb8}.stat{border-radius:13px}.panel{border-radius:13px}.balance-sheet{background:linear-gradient(135deg,#185f8d,#2484b3)}.guide-strip{background:#eaf5fd;border-color:#d2e7f5}.guide-step span{background:#d4eaf9;color:#126a9f}.bottom-nav button.active{color:#1678b1}.mobile-header,body.phone-mode .mobile-header{background:#e8f5fd;color:#194f75}.mobile-header select,body.phone-mode .mobile-header select{background:white;color:#215b81;border:1px solid #c4dfef;border-radius:6px}.public-hero{background:#e2f2fc url('/assets/ocean-crab.svg') right center/auto 100% no-repeat;color:#164e77}.public-hero p{color:#3f7292}.public-hero h1{max-width:65%}
.brand-hero{position:relative;isolation:isolate;overflow:hidden;background:#edf8fe;border:1px solid #cee6f5;border-radius:18px;margin-bottom:28px;min-height:274px;padding:30px 34px;box-shadow:0 8px 26px #287aa708}.hero-copy{position:relative;z-index:2;width:75%}.brand-hero h1{font-size:clamp(23px,2.25vw,34px);letter-spacing:.3px;color:#124b76;line-height:1.45}.brand-hero .eyebrow{font-size:11px;letter-spacing:2px;margin-bottom:12px;color:#417f9f}.hero-english{font-size:19px;letter-spacing:1px;color:#377797;margin-top:4px}.hero-divider{width:37px;height:3px;background:#4aa6d1;margin:16px 0 12px}.hero-caption{font-size:13px;color:#577e97;margin-bottom:18px}.hero-art{position:absolute;right:0;top:0;width:53%;height:100%;object-fit:cover;z-index:-1;mask-image:linear-gradient(90deg,transparent,#000 33%)}.hero-art-label{position:absolute;right:22px;bottom:15px;font-size:8px;letter-spacing:2px;color:#4b8aab}.brand-hero+.page-heading{margin-bottom:18px}.brand-hero+.page-heading h1{font-size:23px}.brand-hero+.page-heading .eyebrow{display:none}
body.phone-mode .brand-hero{padding:24px 20px;min-height:305px;margin-bottom:22px}body.phone-mode .hero-copy{width:100%}body.phone-mode .brand-hero h1{font-size:23px;max-width:280px}body.phone-mode .hero-english{font-size:16px}body.phone-mode .brand-hero .eyebrow{font-size:9px;letter-spacing:1px}body.phone-mode .hero-art{width:85%;height:70%;top:auto;bottom:0;opacity:.45;mask-image:linear-gradient(110deg,transparent,#000)}body.phone-mode .hero-art-label{display:none}body.phone-mode .hero-caption{max-width:180px}body.phone-mode .brand-hero .button-row{margin-top:22px}
@media(max-width:700px){.brand-hero{padding:24px 20px;min-height:305px;margin-bottom:22px}.hero-copy{width:100%}.brand-hero h1{font-size:23px;max-width:280px}.hero-english{font-size:16px}.brand-hero .eyebrow{font-size:9px;letter-spacing:1px}.hero-art{width:85%;height:70%;top:auto;bottom:0;opacity:.45;mask-image:linear-gradient(110deg,transparent,#000)}.hero-art-label{display:none}.hero-caption{max-width:180px}.brand-hero .button-row{margin-top:22px}.public-hero h1{max-width:100%}.public-hero{background-image:linear-gradient(#e9f6fddd,#e9f6fddd),url('/assets/ocean-crab.svg')}}
/* TC monogram framed by a horseshoe-crab carapace and tail. */
.brand img{padding:2px;border:0;border-radius:0;background:transparent;width:46px;height:46px;flex-shrink:0}.mobile-brand img,body.phone-mode .mobile-brand img{width:36px;height:36px;object-fit:contain;flex-shrink:0}
.receipt-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:16px;background:#f1f8fc;border:1px solid var(--line);border-radius:9px;margin-bottom:14px}.receipt-category{grid-column:1/-1}.receipt-category small{display:block;margin-top:4px}.receipt-actual{display:block;padding:9px;color:#1476aa;font-size:21px}body.phone-mode .receipt-row{grid-template-columns:1fr 1fr}@media(max-width:700px){.receipt-row{grid-template-columns:1fr 1fr}}
.company-summary{grid-template-columns:1.3fr 1.3fr 1fr}.pool-breakdown{flex-wrap:wrap}.pool-categories{display:block;width:100%;font-size:11px;color:var(--muted);line-height:1.7}.category-field{min-width:0}.category-field[hidden]{display:none}.receipt-row .category-field{display:block}@media(max-width:950px){.company-summary{grid-template-columns:1fr}}body.phone-mode .company-summary{grid-template-columns:1fr}

.purchase-supplier-date{display:block;color:#111;font-weight:700;margin-bottom:5px}.purchase-order-number{font-size:13px;font-weight:400}

/* Company-wide reporting and paper-voucher editing. */
.finance-period{display:flex;align-items:center;gap:12px;font-weight:600}.finance-totals{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:20px}.finance-warning{background:#fff2e4;color:#8b4618;margin:16px 0}.finance-line{min-width:0;border:1px solid #c7dce7;border-radius:12px;margin:18px 0;padding:18px;background:#f8fbfe}.finance-line legend{font-weight:700;padding:0 8px}.finance-line .form-grid{margin:0}.finance-reference{margin:10px 0}#dialog.finance-report-dialog{width:min(1100px,96vw);max-width:1100px}#finance-print-frame{width:100%;height:68vh;border:1px solid #c7dce7;margin-top:12px;background:white}.finance-totals strong{font-variant-numeric:tabular-nums}@media(max-width:700px){.finance-totals{grid-template-columns:1fr}.finance-line{padding:12px}.finance-period{width:100%}}

/* 抽血来源与回池行：数量字段独占正常宽度，删除按钮不占输入列。 */
.repeat-row[data-row="source"],.repeat-row[data-row="return"]{grid-template-columns:repeat(2,minmax(0,1fr));padding:14px;border:1px solid var(--line);border-radius:8px;background:#f6fafc;align-items:end}
.repeat-row[data-row="source"] .field,.repeat-row[data-row="return"] .field{min-width:0}
.repeat-row[data-row="source"] .row-remove,.repeat-row[data-row="return"] .row-remove{grid-column:1/-1;justify-self:end;width:42px}

.finance-detail-text{white-space:pre-wrap;overflow-wrap:anywhere;min-width:220px;max-width:360px;line-height:1.75}
body.phone-mode .finance-detail-text{min-width:190px;max-width:280px}

.todo-link{width:100%;text-align:left;background:transparent;color:var(--ink);border:0;border-bottom:1px solid var(--line);border-radius:0;font:inherit;cursor:pointer}.todo-link>span:nth-child(2){flex:1}.todo-link small{display:block}.todo-link>svg{width:20px;height:20px}.rate-shortcut{display:block;width:100%;text-align:left;background:transparent;color:inherit;border:0;padding:0;font:inherit;cursor:pointer}.rate-shortcut strong,.rate-shortcut>small{display:block}.rate-shortcut:focus-visible,.todo-link:focus-visible{outline:2px solid #7cc8ff;outline-offset:4px}

/* Cell inventory summary totals: readable on desktop and mobile. */
.form-section.cell-summary-heading{font-size:19px;font-weight:700;line-height:1.45;margin-bottom:16px;overflow-wrap:anywhere;}
@media(max-width:640px){.form-section.cell-summary-heading{font-size:18px;}}

.cell-detail-card{width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer;}
.cell-detail-card:hover{border-color:#1684b8;}
.cell-detail-card:focus-visible{outline:3px solid #1684b8;outline-offset:3px;}

.finance-range-toolbar label{display:flex;flex-direction:column;gap:6px}.finance-range-toolbar input[type=date]{width:170px;min-width:170px}.finance-range-toolbar{align-items:end}.stats [role=button]{cursor:pointer}.stats [role=button]:focus-visible{outline:3px solid #1684b8}@media(max-width:640px){.finance-range-toolbar{display:grid;grid-template-columns:1fr 1fr}.finance-range-toolbar input[type=date]{width:100%;min-width:0}.finance-range-toolbar label{min-width:0}}

.deletion-record{display:grid;grid-template-columns:1fr auto;gap:6px 16px;padding:12px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.deletion-record>span:last-child{grid-column:1/-1}.deletion-record>strong{min-width:0}@media(max-width:640px){.deletion-record{grid-template-columns:1fr}.deletion-record>span:last-child{grid-column:auto}}
