:root{color:#172b38;font-synthesis:none;--nav:#24495d;--primary:#2c4c5c;--muted:#6c8494;--line:#dce4e9;--surface:#fff;--yellow:#f3e308;--pale:#fff3c4;--grey:#b8bfc1;--danger:#b43838;background:#f4f7f9;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang HK,Noto Sans TC,sans-serif}*{box-sizing:border-box}body{background:#f4f7f9;min-width:320px;margin:0}button,input,textarea,select{font:inherit}button{color:inherit}.app{min-height:100vh}.sidebar{z-index:30;color:#fff;background:linear-gradient(#214a61,#17394b);flex-direction:column;width:248px;display:flex;position:fixed;inset:0 auto 0 0}.brand{border-bottom:1px solid #ffffff1c;align-items:center;gap:12px;height:80px;padding:0 22px;font-size:18px;font-weight:750;display:flex}.brand-mark{border:1.5px solid #fff;border-radius:10px;place-items:center;width:38px;height:38px;font-size:18px;display:grid}.sidebar nav{padding:18px 12px}.sidebar nav button{color:#e8f0f4;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:13px;width:100%;margin:2px 0;padding:13px 16px;display:flex}.sidebar nav button svg{width:20px}.sidebar nav button:hover,.sidebar nav button.active{color:#fff;background:#ffffff1a}.sidebar-foot{color:#d5e1e7;margin-top:auto;padding:20px 28px 28px;font-size:12px;line-height:1.7}.sidebar-foot span{color:#9fc1d1}.workspace{min-height:100vh;margin-left:248px}.topbar{border-bottom:1px solid var(--line);z-index:20;background:#fff;align-items:center;gap:18px;height:80px;padding:0 28px;display:flex;position:sticky;top:0}.topbar h1{margin:0;font-size:20px}.top-actions{gap:8px;margin-left:auto;display:flex}.top-actions button,.button-group button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:7px;padding:9px 12px;display:flex}.top-actions svg,.button-group svg{width:17px}.top-actions button.selected{color:#1f5874;background:#eef7fb;border-color:#3c718e}.demo-banner{color:#325c71;background:#edf6fa;border:1px solid #c9dce8;border-radius:10px;align-items:center;gap:10px;margin:18px 28px 0;padding:11px 14px;font-size:13px;display:flex}.demo-banner svg{flex:none;width:19px}main{max-width:1600px;margin:auto;padding:26px 28px 96px}.page-stack{flex-direction:column;gap:18px;display:flex}.welcome,.page-heading{justify-content:space-between;align-items:flex-end;gap:18px;display:flex}.welcome p,.page-heading p{color:var(--muted);margin:0 0 5px;font-size:13px}.welcome h2,.page-heading h2{letter-spacing:.01em;margin:0;font-size:27px}.primary{cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:11px 15px;display:inline-flex;background:var(--primary)!important;color:#fff!important;border:0!important}.primary svg{width:18px}.dashboard-grid{grid-template-columns:1.3fr 1.15fr .9fr;gap:14px;display:grid}.panel{background:var(--surface);border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:0 2px 7px #2946540a}.panel>header{border-bottom:1px solid var(--line);align-items:center;height:54px;padding:0 17px;display:flex}.panel>header h3{margin:0;font-size:16px}.panel>header button{color:#2b637f;cursor:pointer;background:0 0;border:0;align-items:center;margin-left:auto;font-size:13px;display:flex}.panel>header button svg{width:15px}.plain-list button,.quick-actions button,.countdown-list button{text-align:left;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #e7ecef;align-items:center;gap:12px;width:100%;min-height:58px;padding:10px 17px;display:flex}.plain-list button:last-child,.quick-actions button:last-child,.countdown-list button:last-child{border-bottom:0}.plain-list button:hover,.quick-actions button:hover,.countdown-list button:hover{background:#f9fbfc}.plain-list svg,.quick-actions svg{color:#527386;width:19px}.plain-list span,.quick-actions span,.countdown-list span{flex-direction:column;min-width:0;display:flex}.plain-list strong,.countdown-list strong{white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.plain-list small,.countdown-list small,.finance-summary small,.finance-row small,.record-row small,.setting-row small{color:#758995;margin-top:4px;font-size:12px}.plain-list button>svg:last-child,.quick-actions button>svg:last-child{width:16px;margin-left:auto}.priority{background:#eef1f3;border-radius:5px;margin-left:auto;padding:4px 8px;font-size:12px;font-style:normal}.priority.high{color:#624f00;background:#fff1b6}.priority.low{background:#e9edef}.countdown-list b{color:#244d62;align-items:baseline;gap:3px;margin-left:auto;font-size:24px;display:flex}.countdown-list b small{font-size:11px}.finance-summary{grid-template-columns:1fr 1fr;gap:16px;padding:20px;display:grid}.finance-summary div{flex-direction:column;display:flex}.finance-summary strong{margin-top:5px;font-size:18px}.finance-summary .progress{background:#e5ebee;border-radius:10px;grid-column:1/-1;height:7px;overflow:hidden}.finance-summary .progress span{background:#3277a0;border-radius:10px;height:100%}.finance-summary p{color:var(--muted);grid-column:1/-1;margin:-8px 0 0;font-size:12px}.quick-actions button{min-height:48px}.matrix{grid-template-columns:1fr 1fr;gap:12px;display:grid}.matrix>section{border:1px solid var(--line);background:#fff;border-radius:10px;min-height:190px;overflow:hidden}.matrix>section>header{border-top:6px solid;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.matrix>section h3{margin:0;font-size:14px}.matrix>section header span{font-size:21px;font-weight:800}.matrix .yellow>header{border-color:var(--yellow)}.matrix .pale>header{border-color:var(--pale);background:#fffdf3}.matrix .blue>header{border-color:#6c8494}.matrix .grey>header{border-color:var(--grey)}.matrix article{border-top:1px solid var(--line);align-items:center;padding:9px;display:flex}.matrix article>button:first-child{text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;display:flex}.matrix article small{color:#71838e;margin-top:4px}.matrix.compact{gap:0;padding:12px}.matrix.compact>section{border-width:0 1px 1px 0;border-radius:0;min-height:90px}.matrix.compact>section>header{text-align:center;border-top-width:4px;display:block}.matrix.compact h3{font-size:11px;font-weight:600}.matrix.compact header span{margin-top:7px;display:block}.records{border:1px solid var(--line);background:#fff;border-radius:10px;overflow:hidden}.record-head{color:var(--muted);border-bottom:1px solid var(--line);background:#f9fbfc;padding:12px 18px;font-size:13px}.record-row{border-bottom:1px solid var(--line);align-items:center;padding:7px 12px;display:flex}.record-row:last-child{border-bottom:0}.record-main{text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:13px;min-width:0;padding:7px;display:flex}.record-main>span:nth-child(2){flex-direction:column;min-width:0;display:flex}.record-main strong{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.record-icon{color:#2b5c74;background:#eef5f8;border-radius:8px;place-items:center;width:38px;height:38px;display:grid}.record-icon svg{width:19px}.row-actions{gap:5px;display:flex}.row-actions button,.icon-button{cursor:pointer;background:0 0;border:0;border-radius:7px;place-items:center;width:38px;height:38px;display:grid}.row-actions button:hover,.icon-button:hover{background:#eef2f4}.row-actions svg,.icon-button svg{width:18px}.danger{color:var(--danger)!important}.stat-strip{border:1px solid var(--line);background:#fff;border-radius:10px;grid-template-columns:repeat(4,1fr);display:grid}.stat-strip div{border-right:1px solid var(--line);flex-direction:column;padding:20px;display:flex}.stat-strip div:last-child{border:0}.stat-strip small{color:var(--muted)}.stat-strip strong{margin-top:6px;font-size:22px}.finance-row{border-bottom:1px solid var(--line);align-items:center;padding:11px 15px;display:flex}.finance-row:last-child{border:0}.finance-row>button:first-child{text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:10px;display:flex}.finance-row>button svg{color:#467188;width:20px}.finance-row span{flex-direction:column;display:flex}.finance-row>b{margin-right:20px}.button-group{gap:8px;display:flex}.setting-row{align-items:center;padding:20px;display:flex}.setting-row span{flex-direction:column;display:flex}.setting-row em{border-radius:5px;margin-left:auto;padding:5px 9px;font-size:12px;font-style:normal}.setting-row em.live{color:#17623a;background:#dff4e6}.setting-row em.demo{color:#644f00;background:#fff1bd}.mode-picker{gap:8px;padding:18px;display:flex}.mode-picker button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:10px 14px}.mode-picker button.active{background:var(--primary);color:#fff}.safety-list{color:#4f6571;margin:13px 22px 18px;padding-left:20px;line-height:2}.modal-backdrop{z-index:60;background:#0e2734a8;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:13px;width:min(760px,100%);max-height:calc(100vh - 40px);overflow:auto;box-shadow:0 20px 60px #07151d55}.modal>header{border-bottom:1px solid var(--line);align-items:flex-start;padding:20px 22px;display:flex}.modal>header h2{margin:3px 0 0;font-size:22px}.modal>header p{color:var(--muted);margin:0;font-size:12px}.modal>header .icon-button{margin-left:auto}.modal form{padding:20px 22px}.form-grid{grid-template-columns:1fr 1fr;gap:15px;display:grid}.form-grid label{flex-direction:column;gap:7px;font-size:13px;font-weight:650;display:flex}.form-grid input,.form-grid textarea,.form-grid select{color:#1b303b;background:#fff;border:1px solid #cbd7de;border-radius:8px;width:100%;padding:10px 11px}.form-grid textarea{resize:vertical}.span-2{grid-column:1/-1}.month-field{border:1px solid var(--line);border-radius:8px;grid-column:1/-1;grid-template-columns:repeat(6,1fr);gap:8px;padding:12px;display:grid}.month-field legend{font-size:13px;font-weight:650}.month-field label{flex-direction:row;align-items:center;font-weight:400;display:flex}.month-field input{width:auto}.upload-field{cursor:pointer;border:1px dashed #91a8b5;border-radius:9px;align-items:center;gap:12px;margin-top:17px;padding:14px;display:flex}.upload-field svg{width:21px}.upload-field span{flex-direction:column;font-weight:650;display:flex}.upload-field small{color:var(--muted);margin-top:3px;font-weight:400}.upload-field input{max-width:250px;margin-left:auto}.modal footer{justify-content:flex-end;gap:8px;padding-top:20px;display:flex}.modal footer button{border:1px solid var(--line);background:#fff;border-radius:8px;align-items:center;gap:7px;padding:10px 16px;display:flex}.reader{width:min(700px,100%)}.reader .note-meta{color:var(--muted);padding:15px 22px;font-size:12px}.reader .note-body{white-space:pre-wrap;min-height:160px;padding:5px 22px 30px;line-height:1.8}.reader>a{color:#1f607f;margin:0 22px}.reader footer{border-top:1px solid var(--line);padding:17px 22px}.empty{min-height:260px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}.empty svg{width:35px}.toast{z-index:80;color:#fff;background:#173c4f;border-radius:8px;padding:12px 18px;font-size:13px;position:fixed;bottom:28px;left:50%;transform:translate(-50%);box-shadow:0 7px 24px #0b263480}.mobile-only,.bottom-nav,.scrim{display:none}@media (max-width:1100px){.dashboard-grid{grid-template-columns:1fr 1fr}.dashboard-grid>.panel:nth-child(3n){grid-column:auto}}@media (max-width:760px){body{background:#fff}.sidebar{width:min(82vw,310px);transition:transform .2s;transform:translate(-100%)}.sidebar.open{transform:none}.scrim{z-index:25;background:#0b243170;border:0;display:block;position:fixed;inset:0}.workspace{margin-left:0;padding-bottom:66px}.topbar{height:calc(58px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 15px 0;background:var(--nav);color:#fff;justify-content:center}.topbar h1{font-size:18px}.topbar>.icon-button{position:absolute;bottom:3px;left:10px}.top-actions{display:none}.mobile-only{display:grid}.demo-banner{margin:12px 14px 0;padding:9px 11px}.demo-banner span{font-size:11px}.demo-banner strong{display:block}main{padding:17px 14px 85px}.welcome{align-items:center}.welcome p{font-size:11px}.welcome h2{font-size:22px}.welcome .primary{place-items:center;width:42px;height:42px;padding:0;font-size:0;display:grid}.dashboard-grid{flex-direction:column;display:flex}.dashboard-grid .panel:nth-child(4){order:4}.dashboard-grid .panel:nth-child(5){order:3}.dashboard-grid .panel:nth-child(6){display:none}.panel{box-shadow:none;border-left:0;border-right:0;border-radius:0}.panel>header{border-bottom:0;padding:0 4px}.panel>header h3{font-size:19px}.plain-list button,.quick-actions button,.countdown-list button{padding-left:8px;padding-right:8px}.countdown-list b{font-size:22px}.page-heading{align-items:center}.page-heading h2{font-size:23px}.page-heading p{display:none}.page-heading .primary{font-size:13px}.matrix{grid-template-columns:1fr;gap:10px}.matrix>section{min-height:auto}.records{border-left:0;border-right:0;border-radius:0}.record-row{padding:8px 0}.record-icon{width:34px;height:34px}.row-actions button{width:34px}.stat-strip{border-left:0;border-right:0;border-radius:0;grid-template-columns:1fr 1fr}.stat-strip div:nth-child(2){border-right:0}.stat-strip div:nth-child(-n+2){border-bottom:1px solid var(--line)}.stat-strip strong{font-size:18px}.button-group button{padding:10px;font-size:0}.button-group button svg{width:18px}.finance-row{padding:10px 4px}.finance-row>b{margin-right:4px;font-size:13px}.bottom-nav{z-index:24;border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);height:calc(64px + env(safe-area-inset-bottom));background:#fff;display:flex;position:fixed;inset:auto 0 0;box-shadow:0 -3px 12px #1a35400b}.bottom-nav button{color:#657780;background:#fff;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;font-size:10px;display:flex}.bottom-nav button svg{width:21px}.bottom-nav button.active{color:#164d69;font-weight:700}.modal-backdrop{align-items:end;padding:0}.modal{border-radius:16px 16px 0 0;width:100%;max-height:92vh}.modal>header,.modal form{padding:18px}.form-grid{grid-template-columns:1fr}.span-2,.month-field{grid-column:1}.month-field{grid-template-columns:repeat(3,1fr)}.upload-field input{max-width:140px}.reader .note-body{min-height:220px}.toast{text-align:center;width:calc(100% - 28px);bottom:85px}.mode-picker{flex-direction:column}}body.view-portrait,.layout-portrait{overflow-x:hidden}.layout-portrait .workspace{max-width:430px;margin:0 auto;box-shadow:0 0 30px #17333f20}.layout-portrait .sidebar{transform:translate(-100%)}.layout-portrait .sidebar.open{transform:none}.layout-portrait .top-actions{display:none}.layout-portrait .mobile-only,.layout-portrait .bottom-nav{display:flex}.layout-portrait .topbar{background:var(--nav);color:#fff;justify-content:center}.layout-portrait .topbar>.icon-button{position:absolute;left:10px}.layout-portrait main{padding-left:14px;padding-right:14px}.layout-portrait .dashboard-grid{flex-direction:column;display:flex}.layout-portrait .workspace{margin-left:auto}.layout-portrait .bottom-nav{max-width:430px;left:50%;transform:translate(-50%)}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.layout-portrait .bottom-nav{z-index:24;border-top:1px solid var(--line);background:#fff;height:64px;position:fixed;bottom:0;box-shadow:0 -3px 12px #1a35400b}.layout-portrait .bottom-nav button{color:#657780;background:#fff;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;font-size:10px;display:flex}.layout-portrait .bottom-nav button svg{width:21px}.layout-portrait .bottom-nav button.active{color:#164d69;font-weight:700}.layout-portrait .matrix{grid-template-columns:1fr}.layout-portrait .workspace{padding-bottom:66px}.layout-portrait .topbar{height:58px}.layout-portrait .demo-banner{margin-left:14px;margin-right:14px}.layout-portrait .page-heading p{display:none}.layout-portrait .bottom-nav{width:100%}@media (max-width:760px){.dashboard-grid>.panel:nth-child(3){order:1}.dashboard-grid>.panel:nth-child(2){order:2}.dashboard-grid>.panel:first-child{order:3}.dashboard-grid>.panel:nth-child(5){order:4}.dashboard-grid>.panel:nth-child(4){order:5}}.layout-portrait .dashboard-grid>.panel:nth-child(3){order:1}.layout-portrait .dashboard-grid>.panel:nth-child(2){order:2}.layout-portrait .dashboard-grid>.panel:first-child{order:3}.layout-portrait .dashboard-grid>.panel:nth-child(5){order:4}.layout-portrait .dashboard-grid>.panel:nth-child(4){order:5}.layout-portrait .dashboard-grid>.panel:nth-child(6){display:none}.dashboard-grid>.panel:nth-child(6)>header{height:auto;min-height:54px}.dashboard-grid>.panel:nth-child(6)>header h3{font-size:14px;line-height:1.25}.dashboard-grid>.panel:nth-child(6)>header button{flex:none;font-size:11px}
