/* finesse · product · canonical sidebar · compact finance · blue/teal/apricot/violet themes */
:root{--page:#edf3fa;--surface:#fcfdff;--inset:#f3f7fc;--rail:#e2edfb;--header:#e4efff;--border:#d6e3f1;--ink:#173047;--body:#354f65;--muted:#5a7187;--accent:#1769b4;--accent-soft:#dcecff;--on-accent:#fafcff;--shadow:0 2px 8px #213c6510;--good:#18704e;--good-bg:#e8f5ee;--bad:#b02f41;--bad-bg:#fcecef;--warn:#946015;--warn-bg:#fff3dd;--purple:#69519f;--purple-bg:#f0eafa;--r:14px;--rs:8px}
:root[data-theme=mint]{--page:#edf6f3;--surface:#fcfefc;--inset:#f0f7f4;--rail:#deeee8;--header:#e0f1e9;--border:#cfe3d9;--ink:#1b3933;--body:#39584d;--muted:#527166;--accent:#176b62;--accent-soft:#d9eee8;--on-accent:#fbfefc}
:root[data-theme=apricot]{--page:#f8f2eb;--surface:#fffdf9;--inset:#fbf5ed;--rail:#f3e7d7;--header:#f8ead9;--border:#e8d9c7;--ink:#473224;--body:#654b39;--muted:#7a624d;--accent:#98601b;--accent-soft:#f4e5ce;--on-accent:#fffdf8}
:root[data-theme=lavender]{--page:#f3eff9;--surface:#fefcff;--inset:#f7f2fc;--rail:#eae1f6;--header:#ede3fb;--border:#e0d5ee;--ink:#372948;--body:#544365;--muted:#746182;--accent:#7050aa;--accent-soft:#ece1fa;--on-accent:#fefcff}
*{box-sizing:border-box}body{margin:0;background:var(--page);color:var(--body);font:14px/1.55 "Segoe UI","Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:3px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent)}button{cursor:pointer;background:var(--surface);color:var(--body);border:1px solid var(--border);border-radius:var(--rs);padding:8px 14px;min-height:36px;transition:background .15s}button:hover:not(:disabled){background:var(--accent-soft)}button:disabled{opacity:.5;cursor:wait}button.primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}button.primary:hover:not(:disabled){filter:brightness(.95)}button.danger{color:var(--bad);border-color:#efc3cb;background:var(--bad-bg)}button.link{border:0;background:transparent;padding:0;min-height:28px;color:var(--accent);text-align:left}a{color:var(--accent)}svg{width:19px;height:19px;flex-shrink:0;stroke:currentColor;stroke-width:1.7;fill:none}h1,h2,h3,p{margin:0}h1{font-size:25px;line-height:1.35;letter-spacing:-.04em;color:var(--ink);font-weight:700}h2{font-size:16px;color:var(--ink)}h3{font-size:14px;color:var(--ink)}small,.muted{color:var(--muted);font-size:12px}.shell{display:grid;grid-template-columns:205px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:23px 13px 16px;background:var(--rail);border-right:1px solid var(--border);display:flex;flex-direction:column;gap:22px}.brand{display:flex;gap:10px;align-items:center;padding:0 10px;color:var(--ink)}.brandmark{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;color:var(--on-accent);background:var(--accent)}.brand b{font-size:19px;letter-spacing:-.03em}.brand small{display:block;letter-spacing:.12em;font-size:9px;margin-top:-2px}.nav-group{font-size:10px;letter-spacing:.1em;color:var(--muted);padding:0 12px 7px}.nav{display:flex;flex-direction:column;gap:4px}.nav a{padding:11px 12px;display:flex;align-items:center;gap:10px;color:var(--body);text-decoration:none;border-radius:9px;font-size:13px}.nav a.active{color:var(--accent);background:var(--surface);box-shadow:var(--shadow);font-weight:650;position:relative}.nav a.active:before{content:"";position:absolute;left:0;width:3px;height:18px;background:var(--accent);border-radius:3px}.nav a:hover{background:color-mix(in srgb,var(--surface) 65%,transparent)}.sidebar-bottom{margin-top:auto;padding:13px 10px;border-top:1px solid var(--border);font-size:11px}.sidebar-bottom b{display:block;font-size:12px;color:var(--ink);margin-bottom:4px}.main{min-width:0}.topbar{height:68px;background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 28px;gap:20px;position:sticky;top:0;z-index:5}.top-title{display:flex;align-items:center;gap:9px}.top-title small{border-left:1px solid var(--border);padding-left:10px}.top-actions{display:flex;align-items:center;gap:10px}.theme{max-width:105px;padding:6px 9px;font-size:12px}.avatar{background:var(--accent-soft);color:var(--accent);width:30px;height:30px;border-radius:10px;display:grid;place-items:center;font-weight:700}.person{display:flex;gap:9px;align-items:center}.person small{display:block;font-size:10px}.top-actions .link{font-size:12px}.mobile-nav-toggle{display:none}.content{padding:25px 28px 40px;max-width:1720px;margin:auto}.heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:21px}.heading p{font-size:12px;color:var(--muted);margin-top:5px}.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow);margin-bottom:16px;overflow:hidden}.card-head{background:var(--header);padding:13px 19px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--border)}.card-body{padding:19px}.card-body p+p{margin-top:10px}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:16px 0 23px}.kpi{position:relative;border:1px solid var(--border);border-radius:var(--r);padding:19px;background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.kpi:after{content:"";width:80px;height:80px;border-radius:50%;position:absolute;right:-20px;bottom:-28px;background:var(--header);opacity:.85}.kpi-top{display:flex;align-items:center;justify-content:space-between}.kpi-icon{width:31px;height:31px;border-radius:9px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent)}.kpi b{display:block;color:var(--ink);font-size:30px;line-height:1.3;margin:9px 0 2px;font-variant-numeric:tabular-nums;letter-spacing:-.04em}.kpi b.small-number{font-size:24px}.kpi span.label{color:var(--body);font-size:12px}.kpi.good .kpi-icon{color:var(--good);background:var(--good-bg)}.kpi.warn .kpi-icon{color:var(--warn);background:var(--warn-bg)}.kpi.bad .kpi-icon{color:var(--bad);background:var(--bad-bg)}.kpi.purple .kpi-icon{color:var(--purple);background:var(--purple-bg)}.quick-links{display:flex;gap:26px;flex-wrap:wrap;align-items:center;padding:15px 18px;margin-bottom:22px;border:1px solid var(--border);border-radius:var(--r);background:var(--surface)}.quick-links button{border:0;background:transparent;display:flex;align-items:center;gap:9px;font-size:12px;padding:2px}.quick-icon{height:32px;width:32px;border-radius:9px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center}.quick-icon.green{background:var(--good-bg);color:var(--good)}.quick-icon.orange{background:var(--warn-bg);color:var(--warn)}.quick-icon.purple{background:var(--purple-bg);color:var(--purple)}.notice{font-size:12px;color:var(--body);padding:12px 15px;border-radius:var(--rs);background:var(--accent-soft);line-height:1.65;border:1px solid var(--border);margin-bottom:16px}.notice.warning{background:var(--warn-bg);border-color:#ecd9b0;color:var(--warn)}.notice.error{background:var(--bad-bg);border-color:#ecc7cd;color:var(--bad)}.tabs{display:flex;align-items:center;gap:6px;border-bottom:1px solid var(--border);padding:0 0 10px;flex-wrap:wrap;margin-bottom:18px}.tabs button{border-color:transparent;background:transparent;font-size:12px}.tabs button.selected{background:var(--accent-soft);color:var(--accent);border-color:var(--border);font-weight:650}.filters{display:flex;gap:12px;flex-wrap:wrap;align-items:end;padding:17px 19px;border-bottom:1px solid var(--border);background:var(--inset)}.filters label{min-width:135px;flex:1;max-width:235px}.filters input,.filters select{width:100%}.filters .search{max-width:350px;min-width:180px}.filters button{margin-bottom:1px}label{display:block;font-size:12px;color:var(--body)}label>span{display:block;margin-bottom:5px}input,select,textarea{display:block;border:1px solid var(--border);background:var(--surface);color:var(--ink);border-radius:var(--rs);padding:8px 10px;min-height:36px;width:100%;min-width:0}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.85}textarea{min-height:80px;resize:vertical}input[type=checkbox]{width:16px;height:16px;min-height:0;accent-color:var(--accent)}input[type=file]{font-size:12px}input:disabled{background:var(--inset)}.tablewrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px;text-align:left;white-space:nowrap}th{background:var(--inset);color:var(--muted);font-size:11px;font-weight:600;padding:12px 16px;border-bottom:1px solid var(--border)}td{padding:13px 16px;border-bottom:1px solid var(--border);vertical-align:middle}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:var(--inset)}td.title-cell{min-width:180px;max-width:260px;white-space:normal}td.title-cell .link{font-weight:600}td.title-cell small{display:block;font-size:10px;margin-top:2px}.number{text-align:right;font-variant-numeric:tabular-nums;letter-spacing:.01em}.number button{text-align:right;font-variant-numeric:tabular-nums}.tag{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:6px;white-space:nowrap;font-size:11px;line-height:1.5;color:var(--accent);background:var(--accent-soft)}.tag:before{content:"";height:4px;width:4px;border-radius:50%;background:currentColor}.tag.good{color:var(--good);background:var(--good-bg)}.tag.bad{color:var(--bad);background:var(--bad-bg)}.tag.warn{color:var(--warn);background:var(--warn-bg)}.tag.purple{color:var(--purple);background:var(--purple-bg)}.tag.gray{color:var(--muted);background:var(--inset)}.empty{padding:48px 20px;text-align:center;color:var(--muted);background:var(--surface)}.empty svg{width:35px;height:35px;color:var(--accent);margin-bottom:10px}.empty b{display:block;color:var(--body);font-size:14px;margin-bottom:5px}.empty p{font-size:12px;max-width:500px;margin:0 auto 14px}.split{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:18px;align-items:start}.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.formgrid .wide{grid-column:1/-1}.field-help{display:block;color:var(--muted);font-size:11px;margin-top:5px}.sticky-actions{position:sticky;bottom:0;padding:15px 19px;display:flex;gap:8px;justify-content:flex-end;background:var(--inset);border-top:1px solid var(--border)}.line-table td{padding:8px}.line-table th{padding:10px 8px}.line-table td input{min-width:80px}.line-table td:first-child{min-width:140px}.line-table td:nth-child(4){min-width:165px}.total-row{background:var(--accent-soft);font-weight:650}.year-table{min-width:1260px}.year-table th:first-child,.year-table td:first-child{position:sticky;left:0;background:var(--inset);z-index:1}.year-table td:first-child{background:var(--surface)}.year-table .total-row td:first-child{background:var(--accent-soft)}.footnote{font-size:11px;color:var(--muted);padding:12px 19px;border-top:1px solid var(--border)}.steps{display:flex;flex-direction:column;gap:0}.step{position:relative;padding:0 0 22px 31px;font-size:12px}.step:before{content:"";width:12px;height:12px;background:var(--accent-soft);border:2px solid var(--accent);border-radius:50%;position:absolute;top:4px;left:0;z-index:1}.step:after{content:"";position:absolute;left:7px;top:17px;bottom:0;width:1px;background:var(--border)}.step:last-child{padding-bottom:0}.step:last-child:after{display:none}.step b{color:var(--ink)}.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.detail-grid .wide{grid-column:1/-1}.detail-grid dt{color:var(--muted);font-size:11px;margin-bottom:4px}.detail-grid dd{margin:0;color:var(--ink);word-break:break-word;font-size:13px}.signature{height:60px;max-width:170px;object-fit:contain;object-position:left;display:block;background:var(--surface);margin-top:7px;border:1px solid var(--border);border-radius:6px;padding:4px}.timeline-event{border:1px solid var(--border);border-radius:10px;padding:12px 15px;margin-bottom:9px;background:var(--inset)}.timeline-event .event-top{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.timeline-event .event-top time{margin-left:auto;font-size:11px;color:var(--muted)}.timeline-event p{font-size:12px;margin-top:7px;white-space:pre-wrap}.signed-pending{font-size:11px;color:var(--warn);margin-top:6px}.receipt-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.receipt-grid>div{background:var(--inset);border-radius:var(--rs);padding:15px}.receipt-grid b{font-size:18px;color:var(--ink);display:block;font-variant-numeric:tabular-nums}.attachment-list{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.attachment{padding:6px 10px;border:1px solid var(--border);border-radius:var(--rs);font-size:11px}.file-status{padding:8px 0;font-size:12px;color:var(--muted)}.auth-page{min-height:100vh;display:grid;place-items:center;padding:28px;background:radial-gradient(ellipse at 20% 20%,var(--header),transparent 60%),var(--page)}.auth-card{width:min(430px,100%);background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:35px;box-shadow:0 16px 65px #24477314}.auth-card .brand{padding:0;margin-bottom:28px}.auth-card h1{font-size:22px;margin-bottom:7px}.auth-card p{font-size:12px;color:var(--muted);margin-bottom:22px}.auth-card form{display:grid;gap:15px}.auth-card .primary{margin-top:5px}.auth-note{margin-top:20px;border-top:1px solid var(--border);padding-top:13px;font-size:11px;color:var(--muted)}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.settings-grid>.card{margin:0}.checkbox-list{display:flex;flex-wrap:wrap;gap:12px;max-height:180px;overflow:auto}.checkbox-list label{display:flex;gap:6px;align-items:center}.import-preview{max-height:350px;overflow:auto}.chart-bars{display:flex;align-items:end;height:145px;gap:10px;margin:12px 0 0;border-bottom:1px solid var(--border)}.chart-bar{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:end;height:100%;gap:6px;font-size:10px;color:var(--muted)}.chart-bar i{width:100%;max-width:30px;background:var(--accent);border-radius:4px 4px 0 0;min-height:1px}.chart-bar small{font-size:9px}.overflow-break{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;padding:12px;background:var(--inset);border:1px solid var(--border);border-radius:8px;max-height:300px;overflow:auto}dialog{width:min(1010px,calc(100vw - 48px));max-height:calc(100vh - 48px);padding:0;border:1px solid var(--border);border-radius:18px;background:var(--surface);color:var(--body);box-shadow:0 30px 100px #163b6a38}dialog::backdrop{background:#14314b65;backdrop-filter:blur(3px)}.modal-head{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:18px 23px;background:var(--header);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:1}.modal-head h2{font-size:18px}.modal-head button{font-size:18px;min-width:34px;padding:0}.modal-body{padding:21px 23px}.modal-body .card{box-shadow:none}.modal-foot{background:var(--inset);padding:14px 23px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:8px;position:sticky;bottom:0}.modal-foot .push{margin-right:auto}.modal-body .formgrid{margin-bottom:16px}.initial-loading,.loading{padding:45px;color:var(--muted);text-align:center}.loading:before{content:"";width:24px;height:24px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;display:block;margin:0 auto 12px;animation:spin 1s linear infinite}.page-error{padding:30px;background:var(--bad-bg);border-radius:var(--r);color:var(--bad)}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:100;pointer-events:none;background:var(--ink);color:var(--surface);padding:12px 20px;border-radius:10px;box-shadow:var(--shadow);max-width:calc(100vw - 40px);font-size:13px;opacity:0;transition:opacity .18s}#toast.visible{opacity:1}.skip{position:fixed;top:-80px;left:12px;z-index:200;padding:8px 12px;background:var(--surface)}.skip:focus{top:12px}.form-error{color:var(--bad);font-size:12px;min-height:1.5em}.inline-inline{display:inline}.audit-record td:last-child{white-space:normal;max-width:450px}.status-bar{display:flex;gap:18px;justify-content:space-between;flex-wrap:wrap;padding:15px 19px;background:var(--inset);font-size:12px}.skeleton{height:42px;margin:12px 19px;background:var(--inset);border-radius:6px}.notification-row{padding:15px 17px;border-bottom:1px solid var(--border);display:flex;gap:13px;justify-content:space-between}.notification-row p{font-size:12px}.notification-row:last-child{border:0}.logo-finance{display:grid;grid-template-columns:1fr 1fr;gap:3px;width:20px;height:20px}.logo-finance i{background:currentColor;border-radius:3px}.logo-finance i:nth-child(2){opacity:.65}.logo-finance i:nth-child(3){opacity:.4}@keyframes spin{to{transform:rotate(360deg)}}
@media(min-width:1700px){.shell{grid-template-columns:220px minmax(0,1fr)}.content{padding:28px 38px}.kpi{padding:22px}.kpi b{font-size:33px}}
@media(max-width:1150px){.shell{grid-template-columns:185px minmax(0,1fr)}.content{padding:22px 20px}.topbar{padding:0 20px}.kpis{gap:10px}.kpi{padding:15px}.kpi b{font-size:25px}.split{grid-template-columns:minmax(0,1fr) 250px}.settings-grid{grid-template-columns:1fr}.top-title small{display:none}}
@media(max-width:900px){.split{grid-template-columns:1fr}.split>aside{order:-1}.split .steps{flex-direction:row;gap:12px;flex-wrap:wrap}.split .step{padding:0 0 0 23px}.split .step:after{display:none}.split>aside .card-body>p{display:none}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.receipt-grid{grid-template-columns:1fr}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.shell{display:block}.sidebar{position:fixed;width:215px;left:-230px;z-index:30;transition:left .15s;box-shadow:0 0 60px #14314b30}.shell.nav-open .sidebar{left:0}.mobile-nav-toggle{display:block;padding:5px 9px}.topbar{height:60px;padding:0 14px;gap:8px}.top-title{gap:7px;font-size:12px}.person .user-info{display:none}.top-actions{gap:7px}.top-actions .logout{display:none}.theme{width:86px;font-size:11px}.content{padding:20px 14px 30px}.heading{align-items:start}.heading h1{font-size:22px}.heading .actions button{font-size:12px;padding:7px 10px}.card-head{padding:12px 14px}.card-body{padding:15px}.formgrid{grid-template-columns:1fr}.formgrid .wide{grid-column:auto}.filters{padding:14px;gap:10px}.filters label{min-width:130px;max-width:none}.filters button{width:100%}.quick-links{gap:14px;justify-content:space-between;padding:12px}.quick-links button{font-size:11px}.quick-icon{width:28px;height:28px}.kpi{padding:14px}.kpi b{font-size:27px}.kpi b.small-number{font-size:22px}.kpi-top small{font-size:10px}.detail-grid{gap:12px}.modal-head{padding:15px}.modal-body{padding:15px}.modal-foot{padding:13px 15px;flex-wrap:wrap}dialog{width:calc(100vw - 20px);max-height:calc(100vh - 22px)}td,th{padding:12px}.tabs{gap:2px}.tabs button{padding:8px;font-size:11px}.auth-card{padding:28px}.timeline-event .event-top time{width:100%;margin-left:0}.notification-row{flex-wrap:wrap}button{min-height:40px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:720px){button{min-height:44px}.topbar button{min-height:36px}.nav a{min-height:44px}.card-head .actions{flex-wrap:wrap}}
.rule-stage .stage-assignees{padding:10px 12px;background:var(--inset);border:1px solid var(--border);border-radius:var(--rs)}.rule-stage .card-head h3{font-size:14px}.rule-stage .checkbox-list label{min-height:28px}.import-preview summary{cursor:pointer;color:var(--accent);font-size:12px}.import-preview details[open]{min-width:260px;max-width:420px}.card-body .detail-grid dd{margin:0;color:var(--ink);font-size:13px}.card-body .detail-grid dt{color:var(--muted);font-size:11px}.cashflow-source-warning{color:var(--warn)}
.source-audit{padding:10px 0;color:var(--muted);font-size:12px}.source-audit summary{cursor:pointer;color:var(--accent)}.source-audit .overflow-break{margin-top:10px}
.pagination{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 18px;background:var(--inset);border-top:1px solid var(--border);color:var(--muted);font-size:12px}.pagination .actions{gap:6px}.advanced-filters{border-top:1px solid var(--border);background:var(--inset)}.checkbox input[type=checkbox]{width:16px;height:16px;min-height:0;margin-right:7px;accent-color:var(--accent)}[hidden]{display:none!important}.card-head .actions{flex-wrap:wrap}.tabs{flex-wrap:wrap}.pagination button{font-size:12px}@media(max-width:720px){.pagination{flex-wrap:wrap}.pagination .actions{width:100%;justify-content:flex-end}}
/* A physical account keeps a separate cash book for each enabled currency. */
.fund-currency-scope{position:sticky;top:68px;z-index:4;background:var(--surface);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow);margin-bottom:18px;overflow:hidden}
.fund-scope-controls{display:flex;align-items:end;gap:12px;flex-wrap:wrap;padding:13px 18px;background:var(--rail);border-bottom:1px solid var(--border)}
.fund-scope-controls label{display:flex;flex-direction:column;gap:4px;min-width:150px;flex:1;color:var(--muted);font-size:12px}.fund-scope-controls label:nth-child(2){flex:1.8}.fund-scope-controls input,.fund-scope-controls select{width:100%;min-height:36px}.fund-scope-controls button{flex:0 0 auto}
.fund-currency-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 18px 5px}.fund-currency-heading b{color:var(--ink)}
.fund-currency-tabs{display:flex;gap:7px;padding:6px 18px 12px;overflow:auto}.currency-tab{min-width:66px;border-color:var(--border);font-weight:650}.currency-tab.selected{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.currency-tab small{display:block;font-size:10px;font-weight:400}.currency-tab.selected small{color:inherit}.currency-tab.is-inactive{border-style:dashed}
.fund-scope-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:var(--accent-soft);border-top:1px solid var(--border);gap:1px}.fund-scope-metrics>div{padding:11px 18px;border-right:1px solid var(--border)}.fund-scope-metrics>div:last-child{border-right:0}.fund-scope-metrics small{display:block}.fund-scope-metrics b{display:block;color:var(--ink);font-size:21px;font-variant-numeric:tabular-nums;white-space:nowrap}.fund-scope-note{display:flex;justify-content:space-between;gap:10px;padding:8px 18px;font-size:11px;color:var(--muted)}button[data-ledger-disabled]{cursor:not-allowed}
@media(max-width:720px){.fund-currency-scope{top:60px}.fund-scope-controls{padding:10px;gap:8px}.fund-scope-controls label{min-width:100px}.fund-scope-controls label:nth-child(2){flex:1.4}.fund-scope-controls button{font-size:11px;padding:7px}.fund-currency-heading{padding:9px 11px 3px;align-items:start;flex-direction:column;gap:1px}.fund-currency-tabs{padding:6px 11px 9px}.fund-scope-metrics>div{padding:8px}.fund-scope-metrics b{font-size:16px}.fund-scope-metrics small{font-size:10px}.fund-scope-note{padding:7px 10px;font-size:10px}.fund-scope-note span{display:none}}
.directory-selection{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 18px;background:var(--inset);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.directory-selection>span{color:var(--muted);font-size:12px}.directory-account-number{font-family:Consolas,"Microsoft YaHei",monospace;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.directory-preview-value{min-width:200px;max-width:360px}.directory-preview-value>b,.directory-preview-value>small{display:block}.directory-preview-value p{font-size:12px;margin:4px 0}.directory-preview-value .tag{margin-top:6px}#directory-import-form .card-body{display:grid;gap:15px}#directory-import-form label{display:grid;gap:6px}#directory-import-form textarea{width:100%;resize:vertical;font:12px/1.65 Consolas,"Microsoft YaHei",monospace}.directory-kind-tabs{margin-top:0}input[data-directory-select],#directory-select-all{accent-color:var(--accent);width:16px;height:16px;cursor:pointer}

/* Static help opens separately and keeps the current form in place. */
.help-link{display:inline-flex;align-items:center;gap:7px;color:var(--accent);white-space:nowrap;font-size:12px}.help-link svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;flex:none}.auth-help{margin-top:18px}.top-actions>.help-link{padding:7px 8px;border:1px solid var(--border);border-radius:var(--rs);background:var(--surface)}.help-link:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media(max-width:720px){.top-actions>.help-link{min-height:36px;padding:7px}.top-actions>.help-link span{display:none}}

/* finesse · component · application navigation · inherited finance themes */
.application-nav{display:flex;flex-direction:column;gap:3px;margin:3px 0}.application-nav-title{display:flex;align-items:center;gap:10px;padding:10px 12px 5px;font-size:13px;font-weight:600;color:var(--body)}.application-nav-title svg{flex:none}.nav a.application-subnav{padding:9px 12px 9px 25px;font-size:12px;gap:10px;min-height:38px}.subnav-dot{width:5px;height:5px;flex:none;border-radius:50%;background:var(--muted)}.application-subnav.active .subnav-dot{background:var(--accent)}.nav a.application-subnav.active:before{display:none}.nav a.application-subnav:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.nav a.application-subnav:active{background:var(--accent-soft)}.application-title-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:5px}.application-title-meta small{margin-top:0}.tag.document-type{font-size:10px;padding:2px 6px}.tag.document-type:before{display:none}.tag.document-type.reimbursement{color:var(--purple);background:var(--purple-bg)}.application-kind-summary{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:10px 13px;margin-bottom:15px;border:1px solid var(--border);border-radius:var(--rs);background:var(--inset);color:var(--muted);font-size:12px}@media(max-width:720px){.nav a.application-subnav{min-height:44px}}

.auth-remember{display:flex;align-items:center;gap:9px;margin:1px 0 8px;cursor:pointer;font-size:13px}.auth-remember input[type=checkbox]{width:16px;height:16px;min-height:16px;margin:0;accent-color:var(--accent)}

pre.overflow-break{white-space:pre-wrap;overflow-wrap:anywhere;max-height:48vh;overflow:auto;font-size:12px;line-height:1.65}

/* finesse component: sidebar application disclosure; inherits the current theme. */
.application-nav{display:block}.application-nav-title{list-style:none;padding:10px 12px;min-height:44px;border-radius:var(--rs);cursor:pointer;user-select:none}.application-nav-title::-webkit-details-marker{display:none}.application-nav-title:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.application-nav-title:active{background:var(--accent-soft)}.application-nav-title .application-nav-chevron{width:14px;height:14px;margin-left:auto;transform:rotate(0deg)}.application-nav[open]>.application-nav-title .application-nav-chevron{transform:rotate(90deg)}.application-nav-links{display:flex;flex-direction:column;gap:3px}.application-nav:not([open])>.application-nav-links{display:none}.application-nav.has-active:not([open])>.application-nav-title{color:var(--accent);background:var(--accent-soft)}
@media(hover:hover){.application-nav-title:hover{background:var(--accent-soft)}}
dialog:has(#application-form){width:min(1600px,calc(100vw - 40px))}
#application-form .application-form-layout{grid-template-areas:"info flow" "lines lines" "files files";row-gap:16px}
#application-form .application-info-card{grid-area:info;min-width:0;margin-bottom:0;align-self:stretch}
#application-form .application-lines-card{grid-area:lines;min-width:0;margin-bottom:0}
#application-form .application-files-card{grid-area:files;min-width:0;margin-bottom:0}
#application-form .application-form-layout>aside{grid-area:flow;min-width:0;align-self:stretch;display:flex;flex-direction:column}
#application-form .application-form-layout>aside>.card{flex:1;margin-bottom:0}
@media(max-width:900px){#application-form .application-form-layout{grid-template-areas:"flow" "info" "lines" "files"}}
@media(max-width:720px){dialog:has(#application-form){width:calc(100vw - 20px)}}
.user-signature-cell{display:flex;align-items:flex-start;flex-direction:column;gap:5px}.user-signature-cell .actions{gap:12px}.signature-person{display:flex;flex-direction:column;gap:5px;margin-bottom:16px}.signature-person b{font-size:18px;color:var(--ink)}.signature-current{padding:12px 0}.clipboard-dropzone{display:flex;flex-direction:column;gap:8px;padding:18px;margin:15px 0;border:1px dashed var(--accent);border-radius:var(--rs);background:var(--accent-soft)}.clipboard-dropzone b{font-size:13px;color:var(--ink)}.clipboard-dropzone:focus{outline:2px solid var(--accent);outline-offset:3px}.clipboard-dropzone input{background:var(--surface)}.application-paste-hint{margin-top:0;padding:12px}.signature-local-preview{display:flex;flex-direction:column;gap:8px;align-items:flex-start;padding:15px;margin-bottom:12px;min-height:70px;border:1px solid var(--border);border-radius:var(--rs);background:var(--inset)}.signature-pending-image{display:block;max-width:100%;max-height:300px;object-fit:contain;background:var(--surface);border:1px solid var(--border);padding:12px;border-radius:var(--rs)}
.pdf-reader{display:flex;flex-direction:column;width:100%;height:100%;min-height:0;gap:10px}.pdf-reader-toolbar{display:flex;align-items:center;justify-content:center;gap:16px;padding:6px 10px;background:var(--surface);border:1px solid var(--border);border-radius:var(--rs);flex:none}.pdf-reader-toolbar span{font-size:12px;font-variant-numeric:tabular-nums;color:var(--body);min-width:100px;text-align:center}.pdf-page-stage{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:12px;background:var(--page);border:1px solid var(--border);border-radius:var(--rs)}.pdf-page-stage canvas{display:block;max-width:100%;height:auto;margin:0 auto;background:#fff;box-shadow:var(--shadow)}.pdf-reader>.form-error:empty{display:none}.pdf-reader>.form-error{flex:none}
.line-table{min-width:680px}.line-table th:nth-child(1){width:23%}.line-table th:nth-child(2){width:13%}.line-table th:nth-child(3){width:16%}.line-table th:nth-child(4){width:20%}.line-table td{padding:8px}.line-table select{min-width:82px}.line-table input{min-width:70px}.currency-amounts,.currency-progress{display:flex;gap:3px;flex-direction:column;font-variant-numeric:tabular-nums}.currency-amounts>span{white-space:nowrap}.currency-amounts small{font-size:11px}.application-currency-totals{margin-left:auto}.application-currency-totals>small{display:block;margin-bottom:5px}#application-total{display:flex;gap:9px;flex-wrap:wrap}.currency-total{display:inline-flex;align-items:center;gap:9px;border:1px solid var(--border);border-radius:var(--rs);padding:5px 10px;background:var(--surface)}.currency-total b{font-size:14px;color:var(--ink)}.attachment-item{display:inline-flex;gap:4px;align-items:center}.attachment-preview-dialog{width:min(1120px,calc(100vw - 40px));height:min(850px,calc(100vh - 40px));max-height:calc(100vh - 40px)}.attachment-preview-content{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;padding:18px;height:calc(100% - 75px);background:var(--inset);overflow:auto}.attachment-preview-content>img{max-width:100%;max-height:100%;object-fit:contain}.attachment-preview-content>iframe{width:100%;flex:1;min-height:300px;border:1px solid var(--border);border-radius:var(--rs);background:var(--surface)}
