:root{--ink:#173536;--muted:#698080;--line:#d9e5e3;--paper:#ffffff;--wash:#f2f7f5;--teal:#0f5c5e;--teal-dark:#0a4446;--teal-soft:#e0efeb;--orange:#d8562a;--orange-soft:#fff0e9;--green:#287a50;--green-soft:#e5f5eb;--shadow:0 18px 50px rgba(24,65,65,0.11)}*{box-sizing:border-box}html{background:var(--wash)}body{margin:0;color:var(--ink);background:radial-gradient(circle at 8% 0,rgba(133,190,177,.22),transparent 30rem),var(--wash);font-family:Microsoft YaHei,PingFang SC,system-ui,sans-serif;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{color:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.eyebrow{margin:0 0 5px;color:var(--teal);font-size:12px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.loading-screen,.login-shell{min-height:100svh;display:grid;place-items:center;padding:24px}.loading-screen{color:var(--muted)}.login-shell{background:linear-gradient(135deg,rgba(15,92,94,.94),rgba(22,58,58,.98)),radial-gradient(circle at top left,#76ac9f,transparent 45%)}.login-card{width:min(100%,420px);padding:42px;border:1px solid rgba(255,255,255,.72);border-radius:24px;background:rgba(255,255,255,.97);box-shadow:0 30px 80px rgba(3,31,32,.28)}.brand-mark,.mini-mark{display:grid;place-items:center;color:#fff;background:var(--teal)}.brand-mark{width:54px;height:54px;margin-bottom:28px;border-radius:16px;box-shadow:0 10px 24px rgba(15,92,94,.24)}.login-card h1{margin:0;font-size:34px;letter-spacing:-.04em}.login-copy{margin:10px 0 30px;color:var(--muted);line-height:1.7}.login-form{display:grid;grid-gap:12px;gap:12px}.bill-form label>span,.login-form>label{font-size:13px;font-weight:700}.password-wrap{display:flex;align-items:center;gap:10px;padding:0 15px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--muted)}.password-wrap:focus-within{border-color:var(--teal);box-shadow:0 0 0 3px rgba(15,92,94,.1)}.password-wrap input{width:100%;padding:14px 0;border:0;outline:0}.login-footnote{margin:22px 0 0;text-align:center;color:#899b9a;font-size:12px}.primary-button,.search-submit,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 19px;border-radius:11px;border:1px solid transparent;font-weight:750;cursor:pointer;transition:transform .15s ease,background .15s ease,box-shadow .15s ease}.primary-button{color:#fff;background:var(--teal);box-shadow:0 7px 16px rgba(15,92,94,.18)}.primary-button:hover{background:var(--teal-dark);transform:translateY(-1px)}.primary-button:disabled{opacity:.65;cursor:wait;transform:none}.primary-button.wide{width:100%;margin-top:5px}.secondary-button{border-color:var(--line);background:#fff}.secondary-button:hover{background:var(--wash)}.form-error{margin:2px 0;padding:10px 12px;border-radius:9px;color:#9c351f;background:var(--orange-soft);font-size:13px;line-height:1.5}.app-shell{min-height:100svh;padding-bottom:80px}.app-header{justify-content:space-between;max-width:1180px;margin:0 auto;padding:30px 28px 24px}.app-header,.brand-row{display:flex;align-items:center}.brand-row{gap:13px}.mini-mark{width:40px;height:40px;border-radius:12px}.app-header h1{margin:0;font-size:23px;letter-spacing:-.03em}.header-date{color:var(--muted);font-size:14px}.header-actions{display:flex;align-items:center;gap:16px}.password-button{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:0 13px;border:1px solid var(--line);border-radius:10px;color:var(--teal);background:rgba(255,255,255,.78);font-size:13px;font-weight:750;cursor:pointer}.password-button:hover{border-color:#a8c6bf;background:#fff}.toolbar{position:relative;z-index:2;display:grid;grid-template-columns:auto 180px minmax(280px,1fr);grid-gap:12px;gap:12px;max-width:1180px;margin:0 auto;padding:18px;border:1px solid rgba(213,228,225,.9);border-radius:18px;background:rgba(255,255,255,.88);box-shadow:0 12px 34px rgba(32,73,70,.08);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.date-control,.search-control{display:flex;align-items:center;min-height:46px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--muted)}.date-control{gap:8px;padding:0 13px}.date-control input{width:128px;border:0;outline:0;color:var(--ink);background:transparent}.search-control{padding-left:14px}.search-control input{flex:1 1;min-width:80px;padding:12px 10px;border:0;outline:0;color:var(--ink)}.search-submit{min-height:36px;margin-right:5px;padding:0 14px;color:var(--teal);background:var(--teal-soft)}.text-button{border:0;color:var(--muted);background:transparent;cursor:pointer}.list-section{max-width:1180px;margin:32px auto 0;padding:0 28px}.list-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:14px}.list-heading h2{margin:0;font-size:24px;letter-spacing:-.03em}.count-label{padding:6px 11px;border-radius:99px;color:var(--teal);background:var(--teal-soft);font-size:13px;font-weight:700}.bill-list{display:grid;grid-gap:10px;gap:10px}.bill-card{width:100%;display:flex;align-items:center;gap:16px;padding:20px 22px;border:1px solid var(--line);border-radius:15px;background:var(--paper);box-shadow:0 4px 18px rgba(30,68,66,.04);text-align:left;cursor:pointer;transition:border .15s ease,transform .15s ease,box-shadow .15s ease}.bill-card:hover{transform:translateY(-1px);border-color:#a8c6bf;box-shadow:0 10px 24px rgba(30,68,66,.08)}.bill-main{flex:1 1;min-width:0}.bill-number-row{display:flex;align-items:center;gap:12px}.bill-number-row strong{font-size:17px;letter-spacing:.02em;overflow-wrap:anywhere}.status-pill{display:inline-flex;padding:5px 10px;border-radius:99px;font-size:12px;font-weight:800;white-space:nowrap}.status-pending{color:#5b6e6e;background:#edf2f1}.status-problem{color:#b8401e;background:var(--orange-soft)}.status-exchanged{color:#265e7d;background:#e9f4fa}.status-released{color:#6657a4;background:#f0edfb}.status-ready{color:var(--green);background:var(--green-soft)}.bill-meta{display:flex;gap:36px;margin-top:14px}.bill-meta span{min-width:130px;font-size:14px;font-weight:650}.bill-meta small{display:block;margin-bottom:4px;color:var(--muted);font-size:11px;font-weight:500}.issue-note{margin-top:14px;padding:11px 13px;border-left:3px solid var(--orange);border-radius:7px;background:var(--orange-soft)}.issue-note.resolved{border-left-color:var(--green);background:var(--green-soft)}.issue-note span{font-size:11px;color:var(--orange);font-weight:800}.issue-note.resolved span{color:var(--green)}.issue-note p{margin:4px 0 0;font-size:13px;line-height:1.55}.card-arrow{flex:none;color:#9badab}.state-card{padding:56px 24px;border:1px dashed #bfd2ce;border-radius:16px;color:var(--muted);background:rgba(255,255,255,.55);text-align:center}.empty-state svg{color:#82a6a0}.empty-state h3{margin:12px 0 6px;color:var(--ink)}.empty-state p{margin:0;font-size:14px}.error-state{color:#9c351f;border-color:#efc6ba;background:var(--orange-soft)}.dialog-backdrop{position:fixed;inset:0;z-index:10;display:grid;place-items:center;padding:20px;background:rgba(9,35,35,.56);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.dialog-card{width:min(100%,620px);max-height:calc(100svh - 32px);overflow:auto;padding:28px;border-radius:20px;background:#fff;box-shadow:var(--shadow)}.password-dialog{width:min(100%,460px)}.dialog-loading{margin:10px 0;color:var(--muted);text-align:center}.guard-explanation{margin:0;padding:12px 14px;border-radius:10px;color:#496665;background:var(--teal-soft);font-size:13px;line-height:1.6}.guard-icon{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 4px;border-radius:18px;color:var(--teal);background:var(--teal-soft)}.password-success{text-align:center}.password-success svg{color:var(--green)}.password-success h3{margin:12px 0 6px;font-size:22px}.password-success p{margin:0 0 22px;color:var(--muted)}.dialog-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.dialog-header h2{margin:0;font-size:25px}.icon-button{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer}.bill-form{display:grid;grid-gap:18px;gap:18px}.bill-form label{display:grid;grid-gap:7px;gap:7px}.bill-form input:not([type=radio]),.bill-form select,.bill-form textarea{width:100%;padding:12px 13px;border:1px solid var(--line);border-radius:10px;outline:0;color:var(--ink);background:#fff}.bill-form input:focus,.bill-form select:focus,.bill-form textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(15,92,94,.08)}.bill-form input:disabled{color:#6e7c7b;background:#f3f6f5}.bill-form textarea{resize:vertical;min-height:86px;line-height:1.5}.form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.issue-fields{display:grid;grid-gap:15px;gap:15px;padding:16px;border-radius:12px;background:#fff8f4}.issue-fields fieldset{margin:0;padding:0;border:0}.issue-fields legend{margin-bottom:8px;font-size:13px;font-weight:700}.segmented{display:flex;gap:8px}.segmented label{display:block;cursor:pointer}.segmented input{position:absolute;opacity:0;pointer-events:none}.segmented span{display:block;padding:9px 13px;border:1px solid #e9cfc3;border-radius:9px;background:#fff;font-weight:500}.segmented input:checked+span{color:#fff;border-color:var(--orange);background:var(--orange)}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:5px}.toast{z-index:20;top:24px;padding:11px 18px;border-radius:99px;color:#fff;background:var(--green);font-weight:700}.setup-banner,.toast{position:fixed;left:50%;transform:translateX(-50%);box-shadow:var(--shadow)}.setup-banner{bottom:12px;padding:9px 14px;border-radius:9px;color:#8d321e;background:#fff0e9;font-size:13px}@media (max-width:760px){.app-header{padding:20px 16px 16px}.header-date{display:none}.header-actions{gap:0}.toolbar{grid-template-columns:1fr 1fr;margin:0 12px;padding:12px}.add-button{width:100%}.date-control{justify-content:center}.search-control{grid-column:1/-1}.list-section{margin-top:25px;padding:0 14px}.bill-card{align-items:flex-start;padding:17px}.bill-number-row{align-items:flex-start;justify-content:space-between}.bill-meta{gap:14px}.bill-meta span{flex:1 1;min-width:0}.card-arrow{margin-top:2px}.dialog-card{padding:22px 18px}.form-grid{grid-template-columns:1fr}}@media (max-width:430px){.login-card{padding:32px 24px}.app-header h1{font-size:20px}.toolbar{grid-template-columns:1fr}.search-control{grid-column:auto}.date-control input{width:135px}.bill-number-row{display:grid;justify-content:stretch}.status-pill{width:-moz-fit-content;width:fit-content}.bill-meta{grid-gap:9px;gap:9px}.bill-meta,.segmented{display:grid}.dialog-actions>button{flex:1 1}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}