
:root{--o:#f15b19;--ink:#17233b;--muted:#7e899b;--line:#e8edf3;--bg:#f5f7fa;--green:#199a70;--red:#d94d5b;--amber:#d58a25;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0}button:disabled{opacity:.45;cursor:not-allowed}.app{display:flex;min-height:100vh}.side{width:238px;position:fixed;inset:0 auto 0 0;background:#182235;color:#cbd3df;display:flex;flex-direction:column;z-index:10}.brand{padding:23px 19px;border-bottom:1px solid #ffffff12;display:flex;align-items:center;gap:11px}.logo{width:40px;height:40px;border-radius:13px;background:linear-gradient(135deg,#ff9d3c,#f04e0d);display:grid;place-items:center;color:white;font-size:21px;font-weight:900}.brand b{display:block;color:#fff;font-size:15px}.brand small{font-size:9px;color:#8793a8;letter-spacing:1.2px}.nav{padding:12px;overflow:auto;flex:1}.nav-label{font-size:10px;color:#78869c;letter-spacing:1.4px;padding:15px 9px 7px}.nav button{display:flex;align-items:center;gap:11px;width:100%;text-align:left;color:#adb8c8;background:none;padding:10px 11px;border-radius:9px;margin:2px 0;font-size:12px}.nav button:hover{background:#ffffff0d;color:#fff}.nav button.active{background:#f15b1928;color:#ff9b62;font-weight:700}.nav i{font-style:normal;width:19px;text-align:center;font-size:15px}.sidefoot{border-top:1px solid #ffffff12;padding:14px 18px;color:#8793a8;font-size:10px;line-height:1.8}.main{margin-left:238px;width:calc(100% - 238px);min-width:0}.top{height:66px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:8;display:flex;align-items:center;justify-content:space-between;padding:0 28px}.crumb{font-size:12px;color:var(--muted)}.crumb b{color:var(--ink)}.topright{display:flex;align-items:center;gap:15px}.demo{background:#fff2e9;color:#d85a19;border:1px solid #ffdec8;padding:5px 9px;border-radius:20px;font-size:10px}.avatar{width:31px;height:31px;border-radius:50%;background:#fff0e5;color:var(--o);display:grid;place-items:center;font-weight:800}.admin{display:flex;align-items:center;gap:8px;font-size:12px}.wrap{padding:25px 28px 50px;max-width:1600px;margin:auto}.head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:20px}.head h1{font-size:22px;margin:0 0 5px}.head p{font-size:12px;color:var(--muted);margin:0;line-height:1.7}.btn{border-radius:8px;padding:9px 13px;font-size:12px;font-weight:650;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid transparent}.primary{background:var(--o);color:#fff}.primary:hover{background:#dc4e10}.secondary{background:#fff;border-color:#dfe5ed;color:#48556b}.soft{background:#fff1e8;color:#df5a17}.danger{background:#fff0f1;color:#c94654}.success{background:#eaf8f1;color:#16845f}.actions{display:flex;gap:8px;flex-wrap:wrap}.grid{display:grid;gap:14px}.kpis{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}.card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:17px;box-shadow:0 5px 18px #1c2b4305}.kpi{position:relative;overflow:hidden}.kpi:after{content:"";position:absolute;width:76px;height:76px;border-radius:50%;background:#fff2e9;right:-25px;top:-28px}.kpi .label{font-size:11px;color:var(--muted)}.kpi strong{display:block;font-size:25px;margin:9px 0 4px;font-variant-numeric:tabular-nums}.kpi small{font-size:10px;color:#9aa5b5}.kpi .accent{color:var(--o)}.two{grid-template-columns:1.35fr 1fr}.cardtitle{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.cardtitle h3{font-size:14px;margin:0}.muted{color:var(--muted)}.small{font-size:11px}.tablewrap{overflow:auto;border:1px solid var(--line);border-radius:10px;background:#fff}.table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:12px}.table th{background:#f8f9fb;color:#7b8799;text-align:left;font-size:11px;font-weight:600;padding:12px 13px;border-bottom:1px solid var(--line)}.table td{padding:12px 13px;border-bottom:1px solid #eff2f6;color:#45536a}.table tr:last-child td{border-bottom:0}.table tr:hover td{background:#fffaf6}.link{color:#2189d5;cursor:pointer;font-weight:650}.badge{display:inline-flex;padding:3px 8px;border-radius:20px;font-size:10px;background:#f0f3f7;color:#718096}.badge.green{background:#e9f7f0;color:#16845f}.badge.orange{background:#fff3e7;color:#c77722}.badge.red{background:#fff0f1;color:#c34b59}.badge.blue{background:#edf5ff;color:#3978bf}.toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:14px}.field{height:36px;border:1px solid #dfe5ed;border-radius:8px;padding:0 10px;background:#fff;color:#45536a;font-size:12px;min-width:125px}.field.search{min-width:220px}.tabs{display:flex;gap:20px;border-bottom:1px solid var(--line);margin-bottom:15px}.tabs button{background:none;padding:10px 2px;color:#8390a3;font-size:12px;border-bottom:2px solid transparent}.tabs button.active{color:var(--o);border-color:var(--o);font-weight:700}.empty{text-align:center;padding:35px;color:#95a0b0}.split{display:flex;gap:10px;align-items:center;justify-content:space-between}.progress{height:7px;background:#f0f2f5;border-radius:10px;overflow:hidden}.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--o),#ffad54);border-radius:10px}.fieldrow{display:grid;grid-template-columns:1fr 1fr;gap:12px}.formitem{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.formitem label{font-size:11px;color:#6f7d91}.formitem input,.formitem select,.formitem textarea{width:100%;border:1px solid #dfe5ed;border-radius:8px;padding:9px 10px;font-size:12px;color:var(--ink);background:white}.formitem textarea{min-height:78px;resize:vertical}.pillrow{display:flex;gap:6px;flex-wrap:wrap}.tag{font-size:10px;border-radius:5px;padding:4px 7px;background:#fff1e8;color:#d75b19}.notice{background:#fff7f1;border:1px solid #ffe3d0;border-radius:9px;padding:11px 13px;color:#9b633e;font-size:11px;line-height:1.8}.modalbg{position:fixed;inset:0;background:#14213770;display:none;align-items:center;justify-content:center;z-index:50;padding:20px}.modalbg.show{display:flex}.modal{width:min(760px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:15px;box-shadow:0 24px 70px #14213740;padding:21px}.modalhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.modalhead h3{margin:0;font-size:17px}.x{font-size:22px;background:#f3f5f8;border-radius:8px;width:30px;height:30px;color:#6d7a8e}.modalfoot{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.detailgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.detail{padding:10px;background:#f8f9fb;border-radius:8px}.detail small{display:block;color:#8792a4;font-size:10px;margin-bottom:4px}.detail b{font-size:12px;overflow-wrap:anywhere}.poster{background:linear-gradient(135deg,#fff5e9,#ffe3c6);border-radius:12px;padding:20px;min-height:250px;display:flex;align-items:center;justify-content:space-between;gap:20px}.poster h2{font-size:28px;line-height:1.4;margin:0 0 8px}.poster h2 em{font-style:normal;color:var(--o)}.qr{width:118px;height:118px;border:8px solid white;background:repeating-conic-gradient(#202b3e 0 25%,#fff 0 50%) 0/12px 12px;display:grid;place-items:center;color:#fff;font-size:10px;text-shadow:0 1px 2px #000}.chartbars{display:flex;align-items:end;gap:15px;height:130px;padding:12px 6px 0}.bar{flex:1;background:linear-gradient(180deg,#ffad68,#f15b19);border-radius:6px 6px 0 0;position:relative;min-width:20px}.bar span{position:absolute;bottom:-21px;left:50%;transform:translateX(-50%);font-size:10px;color:#8b97a8;white-space:nowrap}.toast{position:fixed;right:25px;bottom:25px;background:#202c40;color:white;padding:11px 16px;border-radius:9px;box-shadow:0 8px 25px #0002;z-index:99;font-size:12px;display:none}.toast.show{display:block}
@media(max-width:1000px){.side{width:205px}.main{margin-left:205px;width:calc(100% - 205px)}.kpis{grid-template-columns:repeat(2,1fr)}.two{grid-template-columns:1fr}}@media(max-width:700px){.side{width:62px}.brand{padding:13px 10px}.brand>div,.nav-label,.nav button span,.sidefoot{display:none}.nav{padding:8px}.nav button{justify-content:center;padding:12px 4px}.nav i{font-size:18px}.main{margin-left:62px;width:calc(100% - 62px)}.top{padding:0 13px}.wrap{padding:18px 12px}.head{display:block}.head .actions{margin-top:12px}.kpis{gap:8px}.kpi strong{font-size:20px}.fieldrow,.detailgrid{grid-template-columns:1fr}.poster h2{font-size:20px}}

[hidden]{display:none!important}:root{--muted:#606e82}::selection{background:#ffe0c9;color:#17233b}:focus-visible{outline:3px solid #b9430d;outline-offset:3px}input,textarea{caret-color:#b9430d}a{color:#b9430d;text-underline-offset:3px}button,input,select,textarea{touch-action:manipulation}.nav svg{width:19px;height:19px;flex-shrink:0}.card{box-shadow:none}.head p,.formitem label,.table th,.crumb,.kpi .label{color:#606e82}.table td{max-width:330px;overflow-wrap:anywhere;white-space:normal;line-height:1.6}.table .nowrap{white-space:nowrap}.table .btn{margin:2px}.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(420px,100%);padding:32px}.login-card h1{font-size:25px;margin:18px 0 8px}.login-card p{line-height:1.7}.login-card .btn{width:100%;font-size:14px}.login-card input{font-size:16px}.login-error{color:#ad2738;min-height:1.5em;margin-bottom:12px}.pagination{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:15px;font-size:12px;color:#606e82}.modalbg{border:0;max-width:none;max-height:none;width:100%;height:100%;padding:20px;margin:0;background:transparent}.modalbg[open]{display:flex}.modalbg::backdrop{background:#14213770}.modal{margin:auto}.modalhead{position:sticky;top:-21px;background:white;padding:4px 0;z-index:1}.modalfoot{position:sticky;bottom:-21px;background:white;padding:12px 0 0}.textblock{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8}.toolbar label{font-size:12px;color:#606e82}.field.search{flex:1;min-width:180px;max-width:450px}.topright{gap:8px}.topright .btn{padding:7px 9px}.amount{font-variant-numeric:tabular-nums}.metric-note{font-size:12px;color:#606e82}.kpi small{font-size:11px;color:#606e82}.badge{font-size:11px}.main-error{padding:25px}.error-actions{margin-top:15px}.app[aria-busy=true]{cursor:progress}.saved-note{font-size:12px;line-height:1.8}.inline-link{border:0;background:none;color:#b9430d;text-decoration:underline;text-underline-offset:3px}.sidefoot a{color:#ffbc94}.detail small{color:#606e82}.nav-label{color:#b0bbcc}.brand small{color:#aeb9ca}.sidefoot{color:#aeb9ca}.poster{justify-content:flex-start}.poster p{line-height:1.8}.top .admin{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal form{margin:0}.nav button span{min-width:0}.notice{font-size:12px}.formitem label{font-size:12px}.formitem input,.formitem select,.formitem textarea{font-size:14px}.table th{font-size:12px}.toast{max-width:calc(100vw - 40px);line-height:1.6;font-size:14px}.required{color:#ad2738}.head{scroll-margin-top:80px}.toolbar .btn{white-space:nowrap}@media(max-width:700px){.top{height:auto;min-height:66px;gap:8px;flex-wrap:wrap;padding-block:10px}.topright .admin{display:none}.crumb{font-size:11px}.wrap{padding-top:18px}.head h1{font-size:21px}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi{padding:12px}.kpi strong{font-size:19px}.pagination{justify-content:space-between;gap:6px}.pagination .btn{padding:8px}.modalbg{padding:12px}.modal{padding:17px}.poster{min-height:200px}}
:root{--muted:#5d6a7c}
.btn.primary{background:#bd400b;color:#fff}
.btn.primary:hover:not(:disabled){background:#9f3508}
.logo{background:#d84b10}
.brand small{font-size:11px}
.sidefoot,.sidefoot a{font-size:11px;color:#c5cede}
.x{color:#5d6a7c}
.table{min-width:800px}
