[hidden] { display:none !important }
.top #identity { margin-left:auto; color:var(--muted); font-size:14px }
nav { background:#fff; border-bottom:1px solid var(--line) }
.navlinks { display:flex; flex-wrap:wrap; gap:4px }
.navlinks a { padding:12px 10px; text-decoration:none; color:var(--muted); border-bottom:2px solid transparent }
.navlinks [aria-current] { border-color:var(--green); color:var(--green); font-weight:650 }
.pagehead,.buttons,footer,.quick {display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pagehead {justify-content:space-between;padding:28px 0 20px}
.pagehead h1,.login h1 {font-size:30px}
.ctl,#logout,footer button,.primary {border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--green);padding:8px 12px;min-height:40px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
button.primary {color:white;background:var(--green);border-color:var(--green)}
.quick {padding:0 16px 16px}
.box,.tablebox {background:white;border:1px solid var(--line);border-radius:10px;margin-bottom:16px;overflow:hidden}
.box {padding:18px}.box h2 {margin-bottom:12px}.box .tablebox {margin-bottom:0}.box p {margin:6px 0}
table {width:100%;border-collapse:collapse}td,th {padding:10px 12px;text-align:left;border-bottom:1px solid var(--line)}
th {background:#eef4f0;font-size:13px;color:var(--muted)}tr:last-child td {border-bottom:0}
td small {display:block;color:var(--muted)}.empty {padding:20px 24px;color:var(--muted)}
input:not([type=checkbox]),textarea {font:inherit;min-height:44px;border:1px solid var(--field-border);border-radius:6px;padding:8px 10px;width:100%;background:white;color:inherit}

label:not(.check) {display:grid;gap:5px;margin:12px 0;font-size:14px}
fieldset {border:1px solid var(--line);border-radius:6px;display:grid;grid-template-columns:1fr 1fr}
.check {margin:0;min-height:36px}
dialog {max-height:88dvh;width:min(540px,calc(100% - 24px));overflow:auto}
dialog form {margin:0}dialog h2 {margin-bottom:14px}dialog .buttons {margin:16px 0}dialog dl {margin:10px 0}
dialog select {width:100%}footer {justify-content:flex-end;margin-top:18px}
#error,[role=alert],.warn {color:#87500c}.login {max-width:390px;margin:10vh auto}.login button {width:100%}
#toast {position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--brand-deep);color:white;padding:10px 18px;border-radius:8px;z-index:3}
#labels {display:none}#camera {width:100%;max-height:220px}.entry>span:first-child {min-width:0;overflow-wrap:anywhere}
@media(max-width:1000px){
 .top #identity {max-width:90px;font-size:12px}.top b {font-size:14px}.navlinks{flex-wrap:nowrap;overflow:auto}.navlinks a{flex:none}
 .pagehead h1{font-size:25px}.pagehead{padding:18px 0 12px}
 table,tbody,tr {display:block}thead{position:absolute;clip-path:inset(100%);width:1px;height:1px;overflow:hidden}
 tr{padding:8px 12px;border-bottom:1px solid var(--line)}td{display:flex;justify-content:space-between;gap:12px;border:0;padding:3px 0;text-align:right;flex-wrap:wrap}td::before{content:attr(data-label);color:var(--muted);font-size:13px;margin-right:auto}
 .quick{justify-content:space-around;padding:6px 10px 12px}.quick .ctl{border:0}.layout{padding-bottom:20px}
}
@media print {
 body>*:not(#labels),dialog:modal {display:none!important}dialog::backdrop{display:none}
 #labels{display:block}#labels div{break-inside:avoid;page-break-after:always;display:grid;text-align:center;color:#000}
 #labels svg{width:48mm;height:auto;margin:auto;stroke:none;fill:#000}
}

.signin { background:#183631 linear-gradient(90deg,#031d1bc9,transparent 72%);background-image:linear-gradient(90deg,#021e1b87,transparent 74%),url("/medical-finance.jpg");background-size:cover;background-position:center;background-repeat:no-repeat }
.signin header { display:none }
.signin #main { min-height:100svh;max-width:1232px;display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,430px);align-items:center;gap:52px;padding:52px clamp(28px,5vw,76px) }
.brand-intro img { display:block;width:82px;filter:grayscale(1) contrast(3) invert(1);mix-blend-mode:screen }
.brand-intro h1 { font-size:clamp(42px,4.8vw,72px);line-height:1.16;letter-spacing:-.04em;color:white;margin:26px 0 0;text-shadow:0 2px 18px #001a1860 }
.brand-intro h1 span { display:block }
.brand-intro p,.signin-hint,.account-help { color:var(--muted) }
.signin-form { padding:clamp(28px,3vw,44px);border:1px solid #ffffff70;border-radius:20px;background:linear-gradient(135deg,#ffffff5c,#f4f9f134);color:#102d28;-webkit-backdrop-filter:blur(16px) saturate(.8);backdrop-filter:blur(16px) saturate(.8);box-shadow:inset 0 1px 0 #ffffff66,0 18px 52px #10231f26 }
.signin-form h2 { font-size:30px;letter-spacing:-.04em }
.signin-hint { margin:4px 0 28px }
.signin-form label { display:block;margin:18px 0 6px;font-weight:600 }
.pass-field { position:relative }
.pass-field input { padding-right:84px }
#reveal { position:absolute;inset:50% 4px auto auto;transform:translateY(-50%);width:44px;height:44px;padding:0;display:grid;place-items:center;background:transparent;color:#47665d;border-radius:8px }
.signin-form .primary { width:100%;min-height:46px;margin-top:20px;font-weight:650 }
.signin-form .primary:hover { background:#185540 }
.signin-form [role=alert]:not(:empty) { margin-top:12px }
.account-help { border-top:1px solid var(--line);margin-top:24px;padding-top:16px;font-size:13px }
@media(max-width:700px){
 .signin #main { grid-template-columns:minmax(0,420px);align-content:center;justify-content:center;gap:24px;padding:32px 20px }
 .brand-intro { display:grid;grid-template-columns:58px 1fr;gap:2px 14px;align-items:center }
 .brand-intro img { grid-row:span 2;width:58px;margin:0 }
 .brand-intro h1 { margin:0;font-size:clamp(20px,5vw,26px);letter-spacing:-.035em }
 .brand-intro h1 span { display:inline }
 .brand-intro p { font-size:12px }
 .signin-form { padding:26px 24px }
}

@media screen {
 body:not(.signin) header { position:sticky;top:0;z-index:4 }
 .top { max-width:none;min-height:66px;padding-inline:22px }
 .top img { width:40px }
 #sidebar { position:fixed;inset:66px auto 0 0;width:184px;border-right:1px solid var(--line);overflow:auto;z-index:3 }
 #sidebar .navlinks { display:grid;padding:20px 12px;gap:3px }
 #sidebar a { border:0;border-radius:7px;padding:10px 16px }
 #sidebar a:hover { background:#f3f7f4 }
 #sidebar a[aria-current] { background:#e3f0e9;color:#185e49 }
 body:not(.signin) #main { margin:0 0 0 184px;max-width:none;min-width:0;padding-inline:clamp(18px,3vw,48px) }
 #accounts { margin-left:auto;position:relative }
 #accounts summary,#menu { cursor:pointer;border:1px solid var(--line);border-radius:8px;background:white;padding:8px 14px;color:var(--green) }
 #accounts summary { list-style:none;display:flex;align-items:center;gap:16px }
 #accounts summary::-webkit-details-marker {display:none}
 #accounts summary::after { content:'';width:7px;height:7px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:translateY(-2px) rotate(45deg) }
 #account-list { position:absolute;right:0;top:calc(100% + 6px);min-width:190px;padding:5px;background:white;border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 28px #183e311a;max-height:60vh;overflow:auto }
 #account-list button { display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;border-radius:5px }
 #account-list button:hover,#account-list [aria-pressed=true] { background:#eaf3ee }
 #menu { display:none }
}
@media screen and (max-width:1000px){
 .top { padding-inline:12px;min-height:60px;gap:8px }
 .top img { display:none }
 .top b { font-size:14px }
 #menu { display:block;padding:6px 9px;font-size:14px }
 #accounts summary { padding:7px 10px;gap:10px;font-size:13px }
 #sidebar { display:none;top:60px;box-shadow:8px 10px 30px #173d321a }
 .nav-open #sidebar { display:block }
 body:not(.signin) #main { margin:0;padding-inline:14px }
}

@media(max-width:1000px){.top b { min-width:0;line-height:1.2 }.top #logout,.top #accounts,.top #menu { flex:none }}


/* The photograph, wordmark and entry form share one composition. */
.signin {
 background-image:linear-gradient(90deg,#041f20c9 0%,#06262772 45%,#14202c88 100%),url("/medical-finance.jpg");
}
.signin #main {position:relative;max-width:1480px;padding:clamp(32px,7vw,112px);grid-template-columns:minmax(0,1fr) minmax(320px,.85fr);gap:clamp(32px,8vw,150px)}
 .signin {font-family:var(--platform-font)}
.brand-signature { display:flex;align-items:center;gap:16px;margin-top:26px }
.brand-signature img { display:block;width:56px;margin-left:-5px;filter:grayscale(1) invert(1) brightness(1.65);mix-blend-mode:screen }
.brand-signature p[lang=en] {font-family:"Avenir Next",Avenir,sans-serif;margin:0;border-left:1px solid #ffffff52;padding-left:16px;font-size:clamp(14px,1.2vw,18px);line-height:1.45;letter-spacing:.025em;color:#f2f5f4}
.brand-intro h1 {font-size:60px;line-height:1.15;margin:0;letter-spacing:.01em;font-weight:600}
.brand-intro h1 span {font-size:40px;line-height:1.25;font-weight:500;margin-top:8px;letter-spacing:normal}
.entry-panel {width:100%;max-width:440px;justify-self:end;padding:24px clamp(24px,3vw,40px);color:white;background:linear-gradient(135deg,#58746e29,#132d2b42);border:0;border-radius:20px;box-shadow:0 12px 40px #09202124;backdrop-filter:blur(16px) saturate(1.08);-webkit-backdrop-filter:blur(16px) saturate(1.08)}
.entry-panel h2 {font-size:28px;line-height:1.3;font-weight:600}
.entry-panel label {color:#f0f6f3;margin:16px 0 4px;font-weight:500}
.entry-panel select {width:100%;min-height:52px;border:0;padding-inline:16px 44px;background-color:#f6f9f6;background-position:right 17px center}
.entry-panel .primary {position:relative;min-height:44px;margin-top:12px;border:0;background:linear-gradient(115deg,#247ddc,#236ec8);color:white;font-weight:550}
.entry-panel .primary span {position:absolute;right:18px;font-size:21px;font-weight:400}
.entry-panel .primary:hover {background:var(--action-hover)}
@media(max-width:700px){
 .signin {background-position:47% center;background-image:linear-gradient(165deg,#041e20c4,#07232658 64%,#09212355),url("/medical-finance.jpg")}
 .signin #main {grid-template-columns:minmax(0,440px);align-content:space-between;padding:clamp(28px,6vh,56px) 22px 28px;gap:62px}
 .brand-intro {display:block}
 .brand-signature {margin-top:17px;gap:12px}
 .brand-signature img {width:47px;margin-left:-4px}
 .brand-signature p[lang=en] {padding-left:12px;font-size:14px}
 .brand-intro h1 {font-size:38px;margin-top:18px}
 .brand-intro h1 span {display:block;font-size:26px;margin-top:5px}
 .signin #main {--mobile-entry-inset:clamp(20px,6vw,26px)}
 .brand-intro {padding-inline-start:var(--mobile-entry-inset)}
 .entry-panel {display:flex;flex-direction:column;padding:22px var(--mobile-entry-inset);border-radius:20px;background:linear-gradient(135deg,#58746e17,#132d2b2b)}
 .entry-panel h2,.entry-panel [role=alert]:empty {display:none}
 .entry-panel label[for] {margin:0 0 5px}
 .entry-panel label[for=pass] {margin-top:13px}
 .entry-panel #account,.entry-panel #pass {min-width:0;min-height:44px;font-size:16px;background:rgba(246,250,248,.72)}
 .entry-panel #password-help {margin:7px 0 0}
 .entry-panel .primary {min-height:46px;margin:14px 0 0}
}


.preview-tools { position:absolute;top:12px;right:clamp(16px,3vw,44px);display:flex;gap:10px;align-items:center;padding:3px 5px 3px 14px;border-radius:10px;background:#17302ee0 }
.preview-tools label { margin:0;color:white;font-size:13px }
.preview-tools select { min-height:36px;max-width:195px;font:inherit;font-size:14px }
.entry-panel input:not([type=checkbox]) { min-height:44px;color:#192e2a;background:rgba(246,250,248,.87);border:0;padding-inline:14px }
.entry-panel .pass-field input {padding-right:56px}
#password-help {margin:6px 0 0;color:#f2f7f5;text-shadow:0 1px 3px #102824;font-size:13px}
#reveal .eye-slash {display:none}
#pass[type=text]+#reveal .eye-slash {display:block}
#reveal:focus-visible {outline:1px solid currentColor;outline-offset:-5px}
@media(hover:hover){#reveal:hover {background:#e6efea;color:#1b5846}}

.entry-panel [role=alert] { color:#ffdfb8 }
@media(max-width:700px){.signin #main {padding-top:78px;padding-bottom:max(22px,env(safe-area-inset-bottom));gap:28px}}
@media(max-width:700px) and (max-height:680px){
 .signin #main {padding:64px 16px 16px;gap:20px}
 .brand-intro h1 {font-size:32px;margin:0}
 .brand-intro h1 span {font-size:23px;margin-top:3px}
 .brand-signature {margin-top:10px}
 .brand-signature img {width:38px}
 .entry-panel {padding-block:20px}
}

/* Signed-in workspace */
body {font-family:var(--platform-font);font-size:15px;line-height:1.6;--green:var(--action-ink);--line:var(--border-soft);--muted:#526665;color:var(--ink)}
body:not(.signin) {background:var(--canvas)}
body:not(.signin) header {background:var(--brand-deep);border:0;color:white}
body:not(.signin) .top img {filter:grayscale(1) invert(1) brightness(1.65);mix-blend-mode:screen}
.top #identity {color:#e4efed}
.top #accounts summary,.top #logout,.top #menu {background:transparent;border-color:#ffffff42;color:white}
.top #account-list {color:var(--ink)}
body:not(.signin) .primary {background:var(--action);border-color:var(--action);color:white}
body:not(.signin) h1,body:not(.signin) h2 {color:var(--brand-deep)}
body:not(.signin) dialog {color:var(--ink)}
body:not(.signin) #error {color:#a32f36}
body:not(.signin) input[type=checkbox] {accent-color:var(--action-ink)}
body:not(.signin) .fund {background:linear-gradient(120deg,#e8f2ee,#fbfdfc);color:var(--ink)}

#sidebar .nav-group {margin:19px 14px 4px;font-size:12px;color:#697482}
#sidebar .navlinks a {display:flex;align-items:center;gap:12px;font-size:14px;font-weight:500}
#sidebar .navlinks a[aria-current] {background:var(--action);color:white}
#sidebar .navlinks a:not([aria-current]):hover {background:#f0f4fa}
#sidebar svg {width:17px;height:17px;flex:none}
body:not(.signin) .pagehead {padding:26px 0 18px}
body:not(.signin) .pagehead h1 {font-size:28px;line-height:1.35}
body:not(.signin) .ctl,body:not(.signin) footer button {border-radius:8px}
body:not(.signin) th {background:#f5f7fa}
body:not(.signin) .filters button[aria-pressed=true],#account-list [aria-pressed=true] {background:var(--action-soft);color:var(--action-ink)}
body:not(.signin) .filters button:hover,body:not(.signin) .entry:hover {background:#f4f7fb}
.board {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;padding-bottom:32px}
.tile {min-width:0;background:white;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.tile.wide {grid-column:1/-1}
.tile-body>section,.tile-body>details {border:0;background:white}
.metrics {display:flex;flex-wrap:wrap;padding:18px 4px}
.metrics a {flex:1;padding:0 20px;text-decoration:none;color:inherit;border-inline-end:1px solid var(--line)}
.metrics a:last-child {border:0}
.metrics strong,.tile .fund>strong {font-size:30px;font-weight:600;line-height:1.4;letter-spacing:normal}
.metrics a div {font-size:13px;color:#647183}.metrics strong {color:var(--ink)}
.tile h2 {font-size:16px}.tile .fund>strong,#store-fund summary {color:var(--brand-deep)}
.tile .quick {gap:8px;justify-content:flex-start}
.activity {padding:20px 22px}
.bar-row {display:grid;grid-template-columns:5em 1fr 4em;align-items:center;gap:10px;margin-top:16px;font-size:14px}
.bar-row b {text-align:right;font-weight:550}
.bar-row progress {width:100%;height:9px;border:0;border-radius:8px;overflow:hidden;background:#edf3fc;accent-color:var(--action)}
.bar-row progress::-webkit-progress-bar {background:#edf3fc}.bar-row progress::-webkit-progress-value {background:var(--action);border-radius:8px}
@media(max-width:1000px){
 .board {grid-template-columns:minmax(0,1fr);gap:12px}
 .metrics {display:grid;grid-template-columns:1fr 1fr;padding:4px 0}
 .metrics a {padding:10px 16px}.metrics a:nth-child(even){border:0}

 .tile .quick .ctl {border:1px solid var(--line)}
}

body:not(.signin) {
 --action:#23765e;--action-hover:#175e4a;--action-ink:#205f4e;
 --action-soft:#e4f2ec;--brand-deep:#183e36;--canvas:#f5f7f6;--chart:#29758a;
}
body:not(.signin) header {background:white;color:var(--brand-deep);border-bottom:1px solid var(--line)}
.top #identity {color:var(--muted)}
.top #accounts summary,.top #logout,.top #menu {color:var(--action-ink);border-color:var(--line);background:white}
#sidebar {background:#fbfcfb}
#sidebar .navlinks {gap:4px}
#sidebar .navlinks a {padding:10px 14px;border-radius:9px;color:#465c54}
#sidebar .navlinks a[aria-current] {background:linear-gradient(108deg,#216a54,#278269);color:white;box-shadow:0 2px 5px #174e371a}
#sidebar .navlinks a:not([aria-current]):hover,body:not(.signin) .entry:hover {background:#edf4f0}
#sidebar .nav-group {color:#62766e;font-size:12px;margin:17px 14px 3px}
.sidebar-brand {display:flex;align-items:center;gap:12px;padding:20px 16px;border-bottom:1px solid var(--line)}
.sidebar-brand img {width:44px;mix-blend-mode:multiply}
.sidebar-brand span {font-size:20px;font-weight:650;color:var(--brand-deep);line-height:1.25}
.sidebar-brand small {display:block;font-size:13px;font-weight:400;margin-top:3px}
body:not(.signin) .ctl {font-weight:500;border-color:#cfded6;color:var(--action-ink)}
body:not(.signin) .ctl:not(.primary):hover {background:var(--action-soft)}
body:not(.signin) button.primary {background:var(--action);color:white;border-color:var(--action)}
.top #logout {border-color:transparent}
.tile .quick .ctl {background:#edf5f1;border:1px solid #d8e9df;color:var(--action-ink)}
.bar-row progress,.bar-row progress::-webkit-progress-bar {background:#e4eff1}
.bar-row progress {accent-color:var(--chart)}
.bar-row progress::-webkit-progress-value {background:var(--chart)}
.board {display:block}
.board-columns {display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:16px}
.board-columns>div {display:grid;align-content:start;gap:16px;min-width:0}
.board-columns>div:only-child {grid-column:1/-1}
.tile[data-tile=overview] {margin-bottom:16px}
@media(min-width:1001px){
 #sidebar {inset:0 auto 0 0;width:210px}
 body:not(.signin) header,body:not(.signin) #main {margin-left:210px}
 body:not(.signin) .top {min-height:62px}
 .top>img,.top>b {display:none}
 #section-name {font-size:14px;color:var(--muted)}
}
@media(max-width:1000px){
 #section-name,.sidebar-brand {display:none}
 .board-columns {grid-template-columns:minmax(0,1fr);gap:12px}
 .board-columns>div {gap:12px}
}



.permission-summary {display:flex;align-items:baseline;gap:3px 8px;flex-wrap:wrap;font-size:13px;line-height:1.65}
.permission-summary span {white-space:normal}
.permission-summary small {width:100%;color:var(--muted)}
.special-permission {color:#87500c;font-weight:650}
.permission-group {margin:14px 0;padding:8px 14px 10px;border:1px solid var(--line);border-radius:10px;gap:2px 10px;min-width:0}
.permission-group legend {padding:0 6px;font-size:14px;font-weight:650;color:var(--brand-deep)}
.permission-group .check {display:flex;align-items:center;gap:8px;line-height:1.4;font-size:14px;color:var(--ink);cursor:pointer}
.permission-group input {width:16px;height:16px;flex:none}
@media(max-width:1000px){



}

.access-workspace {display:grid;grid-template-columns:minmax(182px,26%) minmax(0,1fr);gap:16px;align-items:start;padding-bottom:24px}
.directory,.access-profile {background:white;border:1px solid var(--line);border-radius:12px}
.directory {padding:12px}
.directory h2 {font-size:16px;margin:4px 8px 14px}.directory h2 small {font-size:13px;font-weight:450}
.directory button {display:block;width:100%;text-align:left;padding:11px 12px;border-radius:8px;color:var(--ink)}
.directory button small {display:block;color:var(--muted)}
.directory button[aria-pressed=true] {background:var(--action-soft);color:var(--action-ink)}
.directory button:hover {background:var(--canvas)}
#user-picker {display:none}
.profile-head,.permission-row {padding:20px 24px;border-bottom:1px solid var(--line)}
.profile-head {display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}
.profile-head h2 {font-size:21px}.profile-head small {color:var(--muted)}
.permission-row {display:grid;grid-template-columns:82px 1fr;gap:16px;align-items:baseline}
.permission-row:last-child {border:0}
.permission-row h3 {font-size:14px;margin:0}
.permission-summary {gap:6px}
.permission-summary span {background:#f0f5f2;border-radius:5px;padding:3px 8px}
.permission-summary .special-permission {background:#fbf0de}
@media(max-width:1000px){
 .access-workspace {display:block}.directory {margin-bottom:12px}
 .directory h2,.directory button {display:none}#user-picker {display:block;width:100%}
 .profile-head,.permission-row {padding:16px}.permission-row {grid-template-columns:1fr;gap:8px}
}

@media screen {
 #sidebar {flex-direction:column;overflow:hidden}
 #sidebar .sidebar-brand,.sidebar-foot {flex:none}
 #sidebar .navlinks {margin:0;min-height:0;overflow-y:auto}
 .sidebar-foot {margin-top:auto;padding:8px 12px;border-top:1px solid var(--line);background:#fbfcfb}
 #release-link {display:flex;align-items:center;justify-content:space-between;width:100%;padding:0 12px;border-radius:8px;background:transparent;color:var(--muted);font-size:13px}
 #release-link span:first-child {font-weight:600;color:var(--brand-deep)}
 #release-link:hover {background:var(--action-soft)}
}
@media screen and (min-width:1001px){#sidebar {display:flex}}
@media screen and (max-width:1000px){.nav-open #sidebar {display:flex}}
#release-dialog {padding:0;width:min(480px,calc(100% - 32px))}
.release-head {display:flex;align-items:center;justify-content:space-between;padding:14px 18px 14px 24px;border-bottom:1px solid var(--line)}
.release-head h2,.release-head form {margin:0}
.release-head button {font-size:22px;min-width:40px;padding:0;background:transparent;color:var(--muted)}
#release-list {padding:20px 24px 24px}
#release-list section+section {border-top:1px solid var(--line);margin-top:20px;padding-top:20px}
.release-meta {display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:4px 12px;margin-bottom:16px}
.release-meta>span {color:var(--muted);font-size:13px}
#release-list h3 {margin:0;font-size:20px;color:var(--brand-deep)}
#release-list h3 small {margin-left:8px;font-size:13px;font-weight:500}
#release-list dl {grid-template-columns:auto minmax(0,1fr);gap:14px 16px;font-size:14px}
#release-list dt {font-weight:600;color:var(--brand-deep)}
#release-list dd {text-align:left}

/* Application shell: quiet navigation, continuous white content surface. */
body:not(.signin) .top {gap:12px}
.global-search {position:relative;display:flex;align-items:center;gap:9px;width:min(330px,40vw);padding-inline:12px;background:linear-gradient(115deg,#f0f5f3,#f8faf9);border-radius:10px}
.global-search>svg,.bell-wrap svg {width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.6;flex:none}
.global-search input[type=search] {min-width:0;min-height:40px;border:0;background:transparent;font-size:14px}
.bell-wrap {margin-left:auto;position:relative}
.top #identity,.top #accounts {margin-left:0}
#bell {position:relative;display:grid;place-items:center;width:40px;background:transparent;border-radius:10px;color:var(--brand-deep)}
#bell.unread::after {content:'';position:absolute;right:8px;top:7px;width:7px;height:7px;background:#c86749;border:2px solid white;border-radius:50%}
.tool-pop {position:absolute;z-index:6;top:calc(100% + 8px);width:min(360px,88vw);max-height:55vh;overflow:auto;padding:6px;background:white;color:var(--ink);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 40px #143b3922}
#search-results {left:0}#notices {right:0}
.tool-pop>a,.tool-pop>button {display:block;text-align:left;width:100%;padding:9px 12px;border-radius:6px;color:inherit;text-decoration:none}
.tool-pop small,.profile-text small {display:block;font-size:13px;color:var(--muted)}
.tool-pop p {padding:16px}.tool-pop>a:hover,.tool-pop>button:hover {background:var(--action-soft)}
.notice-head {display:flex;align-items:center;justify-content:space-between;padding:5px 12px;border-bottom:1px solid var(--line)}
#mark-read {color:var(--action-ink);font-size:13px}
#sidebar #release-link {margin:0;min-height:42px;gap:12px;justify-content:flex-start;border:0;padding:10px 14px;border-radius:9px;font-size:14px;color:#465c54}
#release-link small {margin-left:auto;font-size:12px;color:var(--muted)}
#profile-link,.profile-id {display:flex;align-items:center;gap:10px;text-align:left}
#profile-link {width:100%;padding:8px;background:linear-gradient(135deg,#fff,#f0f6f3);border:1px solid var(--line);border-radius:12px}
.profile-text {min-width:0;flex:1;overflow-wrap:anywhere}.profile-text b {font-size:14px}
.default-avatar,#profile-link img,.profile-id img {width:38px;height:38px;flex:none;border-radius:10px;object-fit:cover}
.default-avatar {display:grid;place-items:center;font-size:17px;font-weight:650;color:#fff;background:linear-gradient(130deg,#226c59,#4d959a)}
#profile-dialog {padding:0;width:min(400px,calc(100% - 32px));border-radius:16px}
#profile-dialog .release-head {padding:10px 16px 10px 22px}
#profile-dialog .release-head h2 {font-size:17px;font-weight:600}
#profile-body {padding:20px 22px}
.profile-id {gap:14px}
.profile-id img,.profile-id .default-avatar {width:56px;height:56px;border-radius:15px;font-size:24px}
.profile-name {min-width:0}
.profile-name h3 {margin:0;font-size:20px;line-height:1.4;color:var(--brand-deep);overflow-wrap:anywhere}
.avatar-actions {display:flex;align-items:center;flex-wrap:wrap;gap:0 14px}
.avatar-actions {margin-top:5px;gap:8px}
.avatar-actions .ctl {min-height:34px;padding:4px 12px}
.avatar-actions #avatar-reset {color:var(--muted)}
#profile-body dl {border-top:1px solid var(--line);margin:16px 0 0;padding-top:14px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px 20px;align-items:baseline;font-size:15px}
#profile-body dt {font-size:14px}
#profile-body dd {margin:0;text-align:right;overflow-wrap:anywhere}
#avatar-error:empty {display:none}
.trend {padding:20px 22px}.chart-head {display:flex;align-items:baseline;justify-content:space-between}
.chart-head small,.trend strong small,.chart-axis {color:var(--muted);font-size:13px;font-weight:400}
.trend>strong {display:block;font-size:30px;font-weight:600;margin:10px 0}
.trend svg {width:100%;height:116px;stroke:none;fill:initial}.trend .grid-lines {stroke:#dbe7e2;stroke-dasharray:4 4;fill:none}
.trend circle {fill:#fff;stroke:#267e81;stroke-width:1.6}
.chart-axis {display:flex;justify-content:space-between;font-variant-numeric:tabular-nums}
body:not(.signin) button.primary {background:linear-gradient(110deg,#267e63,#17625a 48%,#135544);background-size:220% 100%;background-position:left center}
@media(hover:hover){
 body:not(.signin) button.primary:enabled:hover {background-position:right center;border-color:#175d4d;box-shadow:0 3px 10px #165b443d,inset 0 1px 0 #ffffff29}
}
body:not(.signin) button.primary:enabled:active {box-shadow:inset 0 2px 5px #073e374d}
@media(prefers-reduced-motion:no-preference){
 body:not(.signin) button.primary:enabled {transition:background-position 180ms ease-out,box-shadow 180ms ease-out,border-color 180ms ease-out}
}
.tile .quick .ctl,body:not(.signin) .filters button[aria-pressed=true] {background:linear-gradient(130deg,#edf7f0,#deeee8)}
body:not(.signin) .metrics {background:linear-gradient(110deg,#fff 8%,#f3f9f7)}
@media screen and (min-width:1001px){
 body:not(.signin) {--rule:#e5e9e7}
 body:not(.signin) .app-frame {display:grid;grid-template-columns:clamp(206px,16vw,260px) minmax(0,1fr);height:100dvh;padding:6px 6px 6px 0;background:#f8f9f8}
 body:not(.signin) .content-frame {min-width:0;overflow:auto;scrollbar-width:thin;background:white;border:1px solid var(--rule);border-radius:17px;scrollbar-color:#d1d9d5 transparent}
 body:not(.signin) header {margin:0;background:white;top:0;border-radius:0;border-bottom:1px solid var(--rule)}
 body:not(.signin) .top {min-height:62px;padding-inline:16px}
 body:not(.signin) #main {margin:0;min-height:0;background:white;padding-inline:clamp(18px,2vw,34px)}
 #sidebar {position:static;min-height:0;width:auto;background:transparent;border:0;border-radius:0;box-shadow:none}
 #sidebar .navlinks {padding:10px 14px 6px;gap:2px}
 .sidebar-brand {background:#f8f9f8;isolation:isolate;margin:0 16px;height:68px;padding:0;gap:10px;border-color:var(--rule)}
 .sidebar-brand .company-mark {width:48px;height:48px;object-fit:contain;mix-blend-mode:multiply}
 .sidebar-brand span {font-size:22px;font-weight:600;letter-spacing:.5px}
 .sidebar-brand small {font-size:13px;font-weight:400;letter-spacing:normal;color:var(--muted)}
 #sidebar .navlinks a {min-height:42px;padding:8px 12px;color:#47554f;font-size:15px;font-weight:400}
 #sidebar .navlinks a[aria-current] {color:white;background:linear-gradient(180deg,#25866a,#196c55);box-shadow:inset 0 1px 0 #ffffff20}
 #sidebar .nav-group {margin:12px 11px 3px}
 #sidebar svg {width:20px;height:20px;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
 #sidebar a[href="#home"] svg {fill:currentColor;stroke:none}
 .sidebar-foot {padding:8px 14px 4px;border:0;background:transparent}
 .tile {border-color:var(--rule);border-radius:11px}
 .board-columns {grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}
}
@media(max-width:1000px){
 body:not(.signin) .top>b {display:none}
 .global-search {flex:1;width:auto;min-width:60px;padding-inline:6px}.global-search input[type=search]{font-size:13px;padding-inline:0}
 .top .bell-wrap {margin-left:0}.top #logout {padding-inline:4px}.top #bell {width:32px}
 .top .tool-pop {position:fixed;left:12px;right:12px;top:56px;width:auto}
}
@media(prefers-reduced-motion:no-preference){
 body:not(.signin) :is(.ctl,.navlinks a,#bell,#profile-link,.metrics a,.entry) {transition:filter 140ms ease,box-shadow 140ms ease,background-color 140ms ease}
 @media(hover:hover){body:not(.signin) :is(.ctl,#profile-link,#bell):hover {filter:brightness(.97);box-shadow:0 3px 10px #174b3915}}
 body:not(.signin) :is(.ctl,.navlinks a,#bell,#profile-link,.metrics a,.entry):active {filter:brightness(.92)}
}
.tile .quick .ctl:hover {background:linear-gradient(130deg,#edf7f0,#deeee8)}

#sidebar {--icon-paper:#f8f9f8}
#sidebar a[aria-current] {--icon-paper:#20765e}
#sidebar svg {stroke-linejoin:round;stroke-linecap:round}
#sidebar a[href="#home"] svg {fill:currentColor;stroke:none}
body:not(.signin) {--line:#e1e7e3;color:#25342e}
body:not(.signin) .pagehead h1 {font-weight:600;letter-spacing:normal}
.tile h2,.box h2,.directory h2 {font-size:17px;font-weight:600;line-height:1.45}
.tablebox td,.tablebox th {font-variant-numeric:tabular-nums}
.tablebox {min-width:0;container-type:inline-size}
.tablebox td {overflow-wrap:anywhere}
.tablebox :is(.record-id,.row-action .ctl,.date-part,.status-detail,.record-status),.tablebox td[data-label="资产 / 编码"] small {white-space:nowrap}
.store-name {display:inline-block;max-width:min(100%,16em);vertical-align:middle}
.status-detail {color:#865622;font-size:13px}
.date-part + .date-part {color:var(--muted);font-size:13px}
.record-status {display:inline-flex;align-items:center;gap:7px;color:#50625a}
.record-status::before {content:"";width:6px;height:6px;border-radius:50%;background:#829a90;flex:none}
.record-status.attention {color:#865622}.record-status.attention::before {background:#bd8437}
.record-status.positive::before {background:#348367}
@media(min-width:1001px){
 body:not(.signin) .tablebox,body:not(.signin) .tile {border-color:var(--panel-border);border-radius:12px}
 .tablebox {overflow-x:auto;scrollbar-width:thin;scrollbar-color:#bdcbc4 transparent}
 .tablebox th {white-space:nowrap}
 .tablebox .store-name {width:max-content;max-width:16em}
 .tablebox :is([data-label="物资"],[data-label="事由"],[data-label="备注"]) {min-width:6em}
 .tablebox .row-action {white-space:nowrap}
 .tablebox:has(.row-action) th:last-child,.tablebox td.row-action {position:sticky;right:0}
 .tablebox td.row-action {background:#fff}
 .tablebox tbody tr:hover .row-action {background:#f8fbf9}
 .tablebox tbody tr:has(.mark:checked) .row-action {background:var(--action-soft)}
 .tablebox :is(td,th) {height:40px;padding:5px 12px;text-align:center;vertical-align:middle;line-height:1.45;border-bottom-color:#edf0ee}
 body:not(.signin) .tablebox th {background:#f7f9f8;color:#57665f;font-size:14px;font-weight:500}
 .tablebox .amount-cell {white-space:nowrap}
 .tablebox tbody tr:hover {background:#f8fbf9}
 .tablebox td>.ctl {min-height:30px;padding:3px 10px;font-size:14px}
 .entry {padding-block:15px}.entry strong {font-weight:600}
 .board-columns {grid-template-columns:minmax(0,1.48fr) minmax(0,1fr)}
 .trend svg {height:clamp(120px,15vh,176px)}
}

body small {font-size:13px}
body :is(.ctl,footer button,.filters button) {font-size:14px;font-weight:500}
body label:not(.check) {font-weight:500}
body :is(input:not([type=checkbox]),textarea,dialog select) {font-size:15px;font-weight:400}
.metrics,.fund,.amount-cell,.trailing,.trend>strong {font-variant-numeric:tabular-nums}
@media(max-width:1000px){body:not(.signin) .pagehead h1 {font-size:24px}}

.tablebox tr:has(input.mark) {cursor:pointer}
.tablebox tbody tr:has(input.mark:checked) {background:var(--action-soft)}
.tablebox .mark {width:16px;height:16px;margin:0;vertical-align:middle;cursor:pointer}
@media(max-width:1000px){
 .tablebox tbody tr {padding:7px 12px}
 .tablebox td {padding-block:2px}
}

@media (min-width:701px) {
 .signin #main {align-content:center;align-items:start}
 .brand-intro {align-self:start;padding-top:32px}
 .entry-panel {display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:16px 14px;padding:34px clamp(26px,3vw,38px)}
 .entry-panel input:not([type=checkbox]) {height:38px;min-height:38px;padding-block:5px}
 #reveal {height:36px;min-height:36px}
 .entry-panel h2 {grid-column:1/-1;margin:0 0 8px}
 .entry-panel label,.entry-panel label[for=pass] {margin:0}
 .entry-panel #password-help {grid-column:2;margin:0}
 .entry-panel [role=alert] {grid-column:1/-1;margin:0}
 .entry-panel [role=alert]:empty {display:none}
 .entry-panel .primary {grid-column:1/-1;margin:6px 0 0}
}

.sort-column {min-height:28px;background:transparent;font:inherit;color:inherit;padding:0 2px}
.sort-column span {color:var(--action-ink)}

.list-tools {display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,136px),1fr));align-items:end;gap:12px;margin-bottom:16px;padding:12px 16px 14px;background:#f5f8f6;border-radius:10px}
.list-options {display:contents}
.list-tools .filter-toggle {display:none}
.list-tools label:not(.check),.month-field {display:grid;gap:5px;margin:0;min-width:0;font-size:12px;line-height:1.4;font-weight:500;color:var(--muted)}
.list-tools select,.month-trigger {width:100%;min-width:0;height:36px;min-height:36px;padding-block:0;font:400 14px/1.4 var(--platform-font);color:var(--ink);background-color:white;border:1px solid var(--field-border-soft);border-radius:7px}
.month-trigger {display:flex;justify-content:space-between;align-items:center;padding-inline:12px;gap:6px;white-space:nowrap}
.month-trigger svg {width:16px;height:16px;fill:none;stroke:#50645f;stroke-width:1.6;stroke-linecap:round;flex:none}
@media(hover:hover){.list-tools select:hover,.month-trigger:hover {border-color:var(--action-ink)}}
.list-tools:has(+.filter-result) {margin-bottom:0}
.filter-result {display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 16px;padding:10px 2px 8px;font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}
.filter-result span:first-child {margin-inline-end:auto}
.filter-result span {white-space:nowrap}
.filter-result b {color:var(--ink);font-weight:600}
#month-panel {position:fixed;inset:auto;margin:0;box-sizing:border-box;width:min(248px,calc(100vw - 16px));max-height:calc(100dvh - 16px);overflow:auto;padding:10px;background:white;color:var(--ink);border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 28px #193c3029;font-size:14px}
.month-year,.month-actions {display:flex;align-items:center;justify-content:space-between}
.month-year strong {font-size:15px;font-weight:600}
#month-panel button {min-height:36px;border:0;border-radius:6px;background:transparent;color:inherit;font:inherit}
.month-year button {width:36px;display:grid;place-items:center}
.month-year button::before {content:'';width:7px;height:7px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:rotate(135deg)}
.month-year button:last-child::before {transform:rotate(-45deg)}
.month-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-block:6px}
.month-actions {border-top:1px solid var(--line);padding-top:6px}
#month-panel .month-actions button {color:var(--action-ink);padding-inline:10px}
@media(hover:hover){#month-panel button:hover {background:#edf5f1}}
#month-panel button[aria-pressed=true] {background:var(--action-ink);color:white}
.store-index {margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}
.store-index li {padding:8px 12px;border-radius:6px;background:#f3f7f4}
.cash-strip {display:flex;flex-wrap:wrap;gap:16px 40px;background:linear-gradient(110deg,#e9f4ef,#f6faf8);border-radius:12px;padding:16px 20px;margin:0 0 18px}
.cash-strip strong {display:block;font-size:24px;font-weight:600;color:var(--brand-deep);font-variant-numeric:tabular-nums}
.ledger-heading {margin:0 0 8px;font-size:17px}
@media(min-width:1001px){
 .audit-table th:last-child {width:32%}
 .audit-table td:last-child {text-align:left}
 @container (max-width:900px){
   .tablebox :is(td,th) {padding-inline:8px}
   .tablebox td>.ctl {padding-inline:8px}
 }
 @container (max-width:680px){
   .tablebox :is(td,th) {padding-inline:5px}
 }
 .access-workspace {grid-template-columns:clamp(190px,22vw,270px) minmax(0,1fr)}
}
@media(max-width:1000px){
 .list-tools {display:flex;flex-wrap:wrap;align-items:end;gap:8px;margin-bottom:12px;padding:0;background:transparent}
 .list-tools>label:not(.check) {flex:1;max-width:240px}
 .list-tools .filter-toggle {display:inline-flex;min-height:44px;margin-left:auto}
 .list-tools .list-options {display:none}
 .list-tools[data-expanded=true] .list-options {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%;padding:12px;background:#f5f8f6;border-radius:10px}
 .list-tools select,.month-trigger,#month-panel button {min-height:44px}
 .filter-result {gap:4px 10px}
 .tablebox tbody tr {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 12px;padding:12px 14px}
 .tablebox td {display:block;min-width:0;padding:0;text-align:left;font-size:14px}
 .tablebox td::before {display:block;font-size:12px;line-height:1.4;margin:0 0 2px}
 .tablebox td:first-child:not([data-label="选择"]),.tablebox td[data-label="备注"],.tablebox .row-action {grid-column:1/-1}
 .tablebox td:first-child:not([data-label="选择"]) {font-weight:600;color:var(--brand-deep)}
 .tablebox td:first-child:not([data-label="选择"])::before {display:inline;margin-right:9px;font-weight:400}
 .tablebox .row-action {text-align:right}.tablebox .row-action::before {display:none}
 .record-actions td:first-child:not([data-label="选择"]) {grid-column:1;grid-row:1;align-self:center}
 .record-actions .row-action {grid-column:2;grid-row:1;align-self:center}
 .tablebox .row-action .ctl {min-height:44px}
 .tablebox .date-part {display:inline-block}
 .tablebox td[data-label="选择"] {grid-column:2;grid-row:1;text-align:right}
 .tablebox td[data-label="选择"]::before {display:inline;margin-right:6px}
 .tablebox td[data-label="资产 / 编码"] {grid-column:1;grid-row:1}
 .tablebox td[data-label="资产 / 编码"]::before {display:none}
 .cash-strip {gap:12px;padding:12px 14px}.cash-strip>div {flex:1}.cash-strip strong {font-size:20px}
 .directory {padding:8px}
}
@media(max-width:360px){
 body:not(.signin) .top {gap:4px;padding-inline:8px}
}
.empty [data-all-records] {margin-inline-start:6px}
@media(min-width:1001px){
 [data-tile=tasks] .queue {max-height:min(64vh,640px);overflow-y:auto;scrollbar-width:thin}
 [data-tile=tasks] .filters {background:white;position:sticky;top:0;z-index:1}
}

/* Business documents share one reading order, even when an account can only view them. */
.document-dialog {width:min(560px,calc(100% - 32px));max-height:calc(100dvh - 40px);padding:0;border-color:var(--line);border-radius:16px;box-shadow:0 20px 64px #142c2529;overscroll-behavior:contain}
.document-dialog .editor-head {display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 24px;border-bottom:1px solid var(--line);background:white;position:sticky;top:0;z-index:2}
.document-dialog #dialog-title {display:flex;align-items:baseline;flex-wrap:wrap;gap:5px 12px;margin:0;min-width:0;font-size:17px;line-height:1.5}
.document-ref {color:var(--muted);font-size:13px;font-weight:400;overflow-wrap:anywhere}
.document-dialog #cancel {background:transparent;border:0;color:var(--muted);padding:4px 8px;min-height:36px;font-size:14px;flex:none}
.document-dialog #cancel:hover {background:#f0f5f2}
.document-dialog #fields {padding:0 24px 16px}
.document-dialog footer,.document-dialog #error:empty {display:none}
.document-summary {background:linear-gradient(112deg,#eaf4ee,#f5f9f7);margin:0 -24px;padding:18px 24px 20px}
.document-scope,.document-values {display:flex;align-items:center;justify-content:space-between;gap:12px}
.document-scope {margin-bottom:12px}
.document-scope strong {font-size:14px;font-weight:500;color:var(--brand-deep);overflow-wrap:anywhere}
.doc-state {display:inline-flex;align-items:center;gap:6px;padding:2px 9px;border-radius:6px;background:#e1ece6;color:#38554a;white-space:nowrap;font-size:13px}
.doc-state::before {content:'';width:6px;height:6px;background:currentColor;border-radius:50%}
.doc-state.attention {background:#fbefd7;color:#83500d}
.doc-state.positive {background:#dbeee3;color:#20634b}
.document-values {align-items:flex-end;flex-wrap:wrap}
.document-values>div:first-child {min-width:0;flex:1 1 150px}
.document-values h3,.document-metric b {margin:0;color:var(--brand-deep);font-size:26px;font-weight:600;line-height:1.3;overflow-wrap:anywhere}
.document-values p,.document-metric small {margin:4px 0 0;color:var(--muted);font-size:13px}
.document-metric {margin-left:auto;text-align:right}
.document-metric b {display:block;font-variant-numeric:tabular-nums}
.document-next {padding:18px 0;border-bottom:1px solid var(--line)}
.document-next h3,.document-lines h3 {margin:0 0 6px;font-size:15px;font-weight:600}
.document-next p {font-size:14px;line-height:1.6}
.document-next .buttons {margin:12px 0 0;gap:8px}
body:not(.signin) .document-next .ctl:first-child:not([data-act=reject],[data-act=rejectExpense]) {background:linear-gradient(130deg,#258368,#196a55);color:white;border-color:transparent}
.document-dialog .document-facts {grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px;margin:0;padding:16px 0}
.document-facts dt {font-size:13px}
.document-facts dd {margin:2px 0 0;text-align:left;overflow-wrap:anywhere;font-size:14px}
.document-proof {display:block;margin:0 0 12px;color:var(--action-ink);overflow-wrap:anywhere}
.document-lines .tablebox {margin:8px 0 16px}
.document-history {border-top:1px solid var(--line)}
.document-history summary {display:flex;align-items:center;gap:8px;min-height:44px;cursor:pointer;font-weight:500}
.document-history summary::-webkit-details-marker {display:none}
.document-history summary span {color:var(--muted);font-size:13px;font-weight:400}
.document-history summary::after {content:'';width:7px;height:7px;border:solid var(--muted);border-width:0 1.5px 1.5px 0;transform:rotate(45deg);margin-left:auto;margin-right:4px}
.document-history[open] summary::after {transform:rotate(225deg)}
.document-history ol {list-style:none;margin:0;padding:0}
.document-history li {display:flex;flex-wrap:wrap;align-items:baseline;gap:3px 12px;padding:8px 0;border-top:1px solid #edf1ee;font-size:14px;overflow-wrap:anywhere}
.document-history li b {font-weight:500;margin-right:8px}
.document-history li span,.document-history time {color:var(--muted);font-size:13px}
.document-history time {margin-left:auto}
.document-history li p {width:100%}
@media(max-width:600px){
 .document-dialog {width:calc(100% - 20px);max-height:calc(100dvh - 20px)}
 .document-dialog .editor-head {padding:6px 16px}
 .document-dialog #cancel,.document-next .ctl {min-height:44px}
 .document-dialog #fields {padding:0 16px 8px}
 .document-summary {margin:0 -16px;padding:16px}
 .document-values h3,.document-metric b {font-size:23px}
 .document-next {padding:14px 0}
 .document-values>div:first-child {flex-basis:120px}
}

/* Keep transaction inputs, their financial effect and the submit action in reading order. */
.voucher-dialog {width:min(520px,calc(100% - 24px));max-height:calc(100dvh - 32px);border-radius:16px;padding:0;overscroll-behavior:contain}
.voucher-dialog #editor {margin:0}
.voucher-dialog .editor-head {padding:18px 24px 14px;border-bottom:1px solid var(--line)}
.voucher-dialog #dialog-title {margin:0;font-size:20px;line-height:1.4}
.voucher-dialog #fields {display:grid;gap:14px;padding:18px 24px}
.voucher-dialog #fields label {display:grid;gap:5px;margin:0;min-width:0;color:var(--muted);font-size:13px}
.voucher-dialog #fields :is(input,select) {width:100%;min-width:0;max-width:100%;color:var(--ink)}
.form-pair {display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:12px}
.voucher-dialog #fields>dl {margin:0;padding:10px 12px;background:#f4f7f5;border-radius:8px;font-size:14px;grid-template-columns:auto minmax(0,1fr)}
.voucher-dialog #fields>dl dd {overflow-wrap:anywhere;font-weight:500}
.voucher-dialog #estimate {background:linear-gradient(110deg,#ebf4ef,#f6f9f7);border-radius:10px;padding:14px 16px}
#estimate dl {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;margin:0}
#estimate dt {font-size:13px;color:var(--muted)}
#estimate dd {margin:2px 0 0;text-align:left;font-weight:600;font-size:15px;color:var(--brand-deep);overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
#estimate dl>div:first-child dd,#estimate .shortfall dd {font-size:22px;line-height:1.35}
#estimate .shortfall dd,.estimate-warning {color:#824a0c}
.estimate-warning {margin:10px 0 0;padding-top:8px;border-top:1px solid #d3dfd6;font-size:13px;line-height:1.55}
.voucher-dialog footer {margin:0;padding:12px 24px;border-top:1px solid var(--line);background:white;position:sticky;bottom:0;z-index:1}
.voucher-dialog #error:not(:empty) {margin:0 24px 12px}
.voucher-dialog #error:empty {display:none}
@media(max-width:600px){
 .voucher-dialog {width:calc(100% - 20px);max-height:calc(100dvh - 20px)}
 .voucher-dialog .editor-head {padding:14px 16px 12px}
 .voucher-dialog #fields {padding:14px 16px;gap:12px}
 .voucher-dialog #estimate {padding:12px}
 .voucher-dialog footer {padding:10px 16px}
 .voucher-dialog footer button {min-height:44px}
}

.receive-quantity {display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px}
.receive-quantity .ctl {min-height:44px}
.handoff-note {font-size:14px;color:var(--muted)}
.voucher-dialog[data-action=exception] #fields>dl :is(dt,dd):nth-last-child(-n+2) {color:#824a0c;border-top:1px solid var(--line);padding-top:8px}
.voucher-dialog[data-action=exception] #fields>dl dd:last-child {font-size:18px;font-weight:600}
.voucher-dialog[data-action=receive] .estimate-warning {color:var(--brand-deep)}

.expense-recipient {padding:14px 16px;background:linear-gradient(110deg,#eaf4ef,#f5f9f7);border-radius:10px}
.expense-ref,.expense-recipient dl {display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.expense-ref {color:var(--brand-deep);font-size:14px}
.expense-ref span,.expense-recipient dt {font-size:13px;color:var(--muted)}
.expense-recipient dl {margin:12px 0 0;flex-wrap:wrap}
.expense-recipient dl>div {min-width:0}
.expense-recipient dl>div:last-child {margin-left:auto;text-align:right}
.expense-recipient dd {margin:2px 0 0;color:var(--brand-deep);font-size:22px;line-height:1.35;font-weight:600;text-align:inherit;overflow-wrap:anywhere}
.handoff-note.funding-issue {color:#824a0c}
.estimate-warning.funding-info {color:var(--muted)}
.voucher-dialog #submit:disabled {background:#e4eae6;color:#52645b;border-color:transparent;cursor:default}

.cash-strip {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:18px 0;margin-bottom:16px}
.cash-strip>div {min-width:0;padding-inline:20px}
.cash-strip>div+div {border-inline-start:1px solid #d9e6df}
.cash-strip strong {overflow-wrap:anywhere}
.cash-strip>div:first-child strong {color:#176450}
.ledger-heading {display:flex;align-items:baseline;gap:8px}
.ledger-heading small {color:var(--muted);font-size:13px;font-weight:400}
.wallet-list .negative-available {color:#924e11}
body:not(.signin) .tablebox .source-link {padding:3px 6px;min-height:30px;border:0;background:transparent;color:var(--action-ink);text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.posting-summary {margin:0 -24px;padding:18px 24px;background:linear-gradient(110deg,#eaf4ef,#f5f9f7)}
.posting-summary dl {margin:12px 0 0;grid-template-columns:repeat(2,minmax(0,1fr))}
.posting-summary dt {font-size:13px}
.posting-summary dd {margin:0;text-align:left;font-size:22px;font-weight:600;color:var(--brand-deep);overflow-wrap:anywhere}
.ledger-source-action {padding-top:12px;border-top:1px solid var(--line)}
@media(max-width:1000px){
 .cash-strip {grid-template-columns:1fr 1fr;gap:12px;padding:14px}
 .cash-strip>div {padding:0}
 .cash-strip>div:first-child {grid-column:1/-1;padding-bottom:8px;border-bottom:1px solid #dae5de}
 .cash-strip>div+div {border:0}
 .cash-strip>div:first-child strong {font-size:24px}
 .cash-strip strong {font-size:18px}
 .wallet-list .tablebox {overflow:auto}
 .wallet-list table {display:table;font-size:13px}
 .wallet-list thead {display:table-header-group;position:static;clip-path:none;width:auto;height:auto}
 .wallet-list tbody {display:table-row-group}
 .wallet-list .tablebox tr,.wallet-list .tablebox tbody tr {display:table-row}
 .wallet-list .tablebox :is(th,td) {display:table-cell;padding:8px 5px;font-size:13px;text-align:right;white-space:nowrap}
 .wallet-list .tablebox :is(th,td):first-child {text-align:left}
 .wallet-list .tablebox td::before {content:none}
 .fund-movements td[data-label="关联原单"] {grid-column:1/-1}
 .fund-movements .tablebox td[data-label="关联原单"]::before {display:inline;margin-right:6px}
 .fund-movements .tablebox .source-link {min-height:44px}
}
@media(max-width:600px){.posting-summary {margin-inline:-16px;padding:14px 16px}}

.document-dialog .count-totals {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;padding:14px 0;border-bottom:1px solid var(--line)}
.count-totals dt {font-size:13px}
.count-totals dd {margin:2px 0 0;text-align:left;font-size:17px;font-weight:600}
.count-totals .difference {color:#87500c}
[data-action=showCount] .document-lines :is(th,td):first-child {text-align:left}
[data-action=scan] #scan-feedback:not(:empty) {padding:10px 12px;background:#edf5ef;color:var(--brand-deep);border-radius:8px;overflow-wrap:anywhere}
@media(max-width:1000px){
 [data-action=showCount] .document-lines .tablebox tbody tr {grid-template-columns:minmax(0,1fr) auto;align-items:center}
 [data-action=showCount] .document-lines td:first-child:not([data-label="选择"]) {grid-column:1}
 [data-action=showCount] .document-lines .tablebox td::before {content:none}
}
@media print{
 html:has(#labels),body:not(.signin) {background:white}
 #labels div {width:fit-content;max-width:100%;justify-items:center;gap:1mm;margin-inline:auto;padding-block:1mm}
 #labels svg {max-width:100%}
 #labels small {color:#000}
 #labels div:last-child {page-break-after:auto}
}

#scan-progress {color:var(--muted);font-size:14px}

.asset-handoff {padding:13px 16px;background:linear-gradient(110deg,#eaf4ef,#f6f9f7);border-radius:10px;overflow-wrap:anywhere}
.asset-handoff h3 {margin:2px 0;font-size:20px;color:var(--brand-deep)}
.asset-handoff p {font-size:14px}
[data-action="assetState"] #asset-effect:empty {display:none}
.document-history li p,.audit-table td:last-child {white-space:pre-line}
.asset-placement {display:flex;flex-wrap:wrap;gap:2px 12px}
.asset-placement span {max-width:100%;overflow-wrap:anywhere}
.doc-state.archived {color:#565b58;background:#e7e9e7}

.access-scope {padding:14px 24px;background:#f3f7f5;display:grid;grid-template-columns:minmax(100px,1fr) 2fr;gap:16px}
.access-scope small,.access-scope b {display:block}
.access-scope small,.grant-state small {color:var(--muted);font-size:12px}
.access-scope b,.access-scope p {margin:3px 0 0;font-size:14px}
.grant-state {display:inline-flex;align-items:center;gap:8px;padding:4px 8px;margin:3px 6px 0 0;background:#f4f5f4;border-radius:6px}
.grant-state strong {font-size:13px;font-weight:500}
.grant-state[data-enabled=true] {background:#e6f3ec;color:#185d49}
.grant-state[data-enabled=true] small {color:#23694f}
.permission-row .permission-summary small {width:auto}
@media(max-width:1000px){.access-scope {padding:12px 16px;grid-template-columns:1fr;gap:8px}}
@media(min-width:1001px){
 .directory {max-height:calc(100dvh - 160px);overflow-y:auto;scrollbar-width:thin}
}
@media(max-width:1000px){
 #user-picker {display:inline-flex;align-items:center}
}

.list-tools #log-query {width:100%;min-width:0;min-height:36px;height:36px;font-size:14px;border-color:var(--field-border-soft);border-radius:7px}
.audit-count {margin:0 0 8px;color:var(--muted);font-size:13px}
.audit-table .source-link {max-width:100%;white-space:normal;overflow-wrap:anywhere}
@media(min-width:1001px){
 [data-page=logs] .list-tools {grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}
 .audit-table th:first-child {width:auto}
}
@media(max-width:1000px){
 .list-tools #log-query {min-height:44px}
 .audit-table td[data-label="关联记录"] {grid-column:1/-1}
 .audit-table td[data-label="关联记录"]::before {display:inline;margin-right:8px}
 .audit-table .source-link {min-height:44px}
}
body:not(.signin) .audit-table .source-link {white-space:normal}
@media(max-width:1000px){
 .list-tools:has(#log-query) {display:grid;grid-template-columns:minmax(0,1fr) auto}
 .list-tools:has(#log-query)>label {max-width:none}
 .list-tools:has(#log-query)>label:has(#store-filter),.list-tools:has(#log-query) .list-options {grid-column:1/-1}
 .list-tools .audit-search {grid-column:1}
 body:not(.signin) .audit-table .source-link {min-height:44px}
}
@media(max-width:1000px){
 .audit-table td:first-child:not([data-label="选择"]) {grid-row:1;grid-column:1;align-self:center}
 .audit-table .tablebox td:first-child::before,.audit-table td[data-label="业务操作"]::before,.audit-table td[data-label="关联记录"]::before {content:none}
 .audit-table td[data-label="关联记录"] {grid-row:1;grid-column:2;text-align:right}
 .audit-table td[data-label="时间"] {grid-row:3;grid-column:1/-1}
 .audit-table td[data-label="时间"]::before {display:inline;margin-right:8px}
 .audit-table td[data-label="备注"]:has(.audit-note-empty) {display:none}
}

.settings-tabs {display:flex;gap:6px;border-bottom:1px solid var(--line);margin-bottom:16px}
.settings-tabs button {padding:8px 14px;color:var(--muted);background:transparent;border:0;border-bottom:2px solid transparent}
.settings-tabs button[aria-pressed=true] {color:var(--action-ink);border-color:var(--action-ink);font-weight:600}
.settings-tabs button:hover {background:#f2f7f4}
.settings-tabs small {margin-left:4px}
.material-type {display:inline-block;padding:2px 8px;background:#f0f3f2;border-radius:5px;color:#465650;white-space:nowrap;font-size:13px}
.material-type.tracked {background:#e7f3ee;color:#195e4b}
#catalog-rule:empty {display:none}
@media(max-width:1000px){.settings-tabs button {min-height:44px;padding-inline:9px}}

/* Shared review fixes. Business pages collapse the sidebar before columns become crowded. */
.table-pagination {display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:10px 14px;border-top:1px solid var(--line);font-size:13px;background:white}
.table-pagination span {margin-right:auto;color:var(--muted)}
.table-pagination button {min-height:36px}
.task-more {margin:12px 20px}
.profile-security {margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
.voucher-dialog .editor-head {position:sticky;top:0;z-index:2;background:white}
.voucher-dialog footer {position:sticky;bottom:0;z-index:2;background:white}
.voucher-dialog .check {display:flex!important;align-items:flex-start;gap:8px;line-height:1.5}
.voucher-dialog .check input {flex:none;margin-top:4px}
#search-open,#search-close {display:none}
#refresh-data {min-width:36px;width:36px;padding:0;background:transparent;border:0}
#refresh-data svg {width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
@media(min-width:1001px){
 .tablebox .row-action {box-shadow:-1px 0 0 var(--line)}
 .tablebox table {min-width:100%}
}
@media(max-width:1000px){
 body:not(.signin) .top {flex-wrap:nowrap;gap:4px;padding-inline:8px}
 #search-open {display:block;padding:8px;min-height:40px;border-radius:8px;background:#f0f5f3;color:var(--brand-deep)}
 body:not(.signin) .global-search {display:none}
 body:not(.signin).search-open .global-search {position:fixed;inset:7px 8px auto;display:flex;z-index:10;width:auto;height:46px;border:1px solid var(--line);background:white}
 .search-open #search-close {display:block;padding:8px;white-space:nowrap}
 .search-open .global-search input[type=search] {flex:1;width:100%}
 .top #accounts summary {max-width:124px;white-space:nowrap;overflow:hidden;font-size:12px;gap:8px}
 .top #identity {max-width:100px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:12px}
 .top #accounts {margin-left:auto}
 .top #logout {white-space:nowrap}
 .top #menu {min-height:40px}
 .table-pagination {flex-wrap:wrap;padding:10px}
 .table-pagination button {min-height:44px}
}

.voucher-dialog #fields input[type=checkbox] {width:16px;min-height:16px;height:16px;max-width:16px}
.profile-head>div {flex:1;min-width:160px}
.profile-head>.ctl {flex:none}

.profile-head .profile-head-actions {display:flex;align-items:center;gap:8px;flex:0 0 auto;min-width:0}
@media(max-width:760px){.profile-head>div:first-child {flex-basis:100%}}
/* Tablets retain a compact table once the sidebar has freed the content width. */
@media(min-width:761px) and (max-width:1000px){
 .tablebox {overflow-x:auto;scrollbar-width:thin}
 .tablebox table {display:table;width:100%;border-collapse:collapse}
 .tablebox thead {display:table-header-group;position:static;clip-path:none;width:auto;height:auto;overflow:visible}
 .tablebox tbody {display:table-row-group}
 .tablebox tr,.tablebox tbody tr {display:table-row;padding:0}
 .tablebox :is(td,th) {display:table-cell;padding:8px 7px;text-align:center;vertical-align:middle;font-size:13px;line-height:1.5;border-bottom:1px solid var(--line)}
 .tablebox td::before {display:none!important}
 .tablebox th {white-space:nowrap}
 .tablebox .row-action {position:sticky;right:0;background:white;box-shadow:-1px 0 0 var(--line)}
 .tablebox td:first-child:not([data-label="选择"]) {font-weight:400}
 .tablebox .row-action .ctl {white-space:nowrap;min-height:40px;padding-inline:8px}
 .tablebox .store-name {max-width:13em}
 .tablebox .date-part {display:block}
 .tablebox .amount-cell {white-space:nowrap}
 .audit-table td:last-child {text-align:left}
}
