:root{color-scheme:light;--canvas:#edf2f8;--surface:#fff;--ink:#13213a;--muted:#4f6079;--line:#d4dfed;--control:#b9c9df;--blue:#0d52d9;--blue-dark:#0945b7;--blue-soft:#e4eeff;--red:#ac2228;--green:#136136;--amber:#8a4b02;--radius:8px;--header:72px;--side:222px;font:16px/1.5 -apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;background:var(--canvas);color:var(--ink)}*{box-sizing:border-box}body{margin:0;min-width:0}a{color:var(--blue);text-underline-offset:.23em}button,input,select,textarea{font:inherit;color:inherit}.button,button,input:not([type=checkbox]),select,textarea{min-height:44px;border:1px solid var(--control);border-radius:var(--radius)}.button,button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 14px;background:var(--surface);color:var(--ink);font-weight:620;cursor:pointer;text-decoration:none}.button:hover,button:hover{background:var(--blue-soft)}button:disabled{cursor:not-allowed;opacity:.55}.primary{background:var(--blue);border-color:var(--blue);color:white}.primary:hover{background:var(--blue-dark)}.outline{border-color:var(--blue);color:var(--blue)}.danger{border-color:#c53d45;color:var(--red)}.danger:hover{background:#feeeee}.quiet{border-color:transparent;color:var(--blue)}.icon{flex:none;vertical-align:middle}.icon-button{padding:0;width:44px;min-width:44px}:focus-visible{outline:2px solid var(--blue);outline-offset:3px}input:not([type=checkbox]),select,textarea{padding:8px 11px;background:var(--surface);width:100%;min-width:0;max-width:100%}input::placeholder,textarea::placeholder{color:var(--muted)}input[type=checkbox]{width:19px;height:19px;flex:none;accent-color:var(--blue)}textarea{resize:vertical}label{display:grid;gap:5px;align-content:start;font-size:.93rem;font-weight:620;min-width:0}.check{display:flex;align-items:center;gap:8px;min-height:44px;font-weight:500;cursor:pointer}dl,h1,h2,h3,p{margin:0;overflow-wrap:anywhere}h1{font-size:clamp(1.75rem,2.65vw,2.55rem);line-height:1.16;letter-spacing:-.025em}h2{font-size:1.25rem;line-height:1.3}h3{font-size:1.13rem;line-height:1.35}dt{color:var(--muted);font-size:.87rem}dd{margin:0;overflow-wrap:anywhere}.muted{color:var(--muted)}.mono{font-family:ui-monospace,Menlo,monospace;font-size:.9em}.eyebrow{color:var(--blue);font-size:.83rem;font-weight:660}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip{position:fixed;z-index:12;top:-80px;left:12px;padding:10px;background:white}.skip:focus{top:12px}#export,#import{scroll-margin-top:calc(var(--header) + 16px)}.topbar{position:sticky;z-index:8;top:0;min-height:var(--header);display:flex;justify-content:space-between;gap:16px;padding:10px 22px;background:var(--surface);border-bottom:1px solid var(--line)}.brand,.topbar{align-items:center}.brand{display:inline-flex;gap:14px;min-width:0;color:var(--ink);text-decoration:none}.brand strong{font-size:clamp(1.13rem,2.08vw,1.85rem);line-height:1.25}.brand-mark{display:grid;place-items:center;flex:none;width:48px;height:48px;border-radius:10px;background:var(--blue);color:white}.brand-mark .icon{width:30px;height:30px}.account{position:relative;flex:none}.account summary{display:flex;align-items:center;gap:8px;padding-inline:8px}.account summary .icon:last-child{width:15px}.account-menu{position:absolute;inset:calc(100% + 4px) 0 auto auto;width:max-content;min-width:164px;padding:12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:0 8px 22px #172b5222}.account-menu button{margin-top:6px;width:100%}.app-shell{display:grid;grid-template-columns:var(--side) minmax(0,1fr);min-height:calc(100dvh - var(--header))}.sidebar{position:sticky;top:var(--header);height:calc(100dvh - var(--header));align-self:start;overflow:auto;padding:22px 10px;background:var(--surface);border-right:1px solid var(--line)}.admin-nav,.main-nav{display:grid;gap:6px}.admin-nav{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.sidebar a{display:flex;align-items:center;gap:11px;min-height:49px;padding:8px 13px;color:var(--ink);border-radius:var(--radius);text-decoration:none}.sidebar a:hover{background:#f1f5fa}.sidebar a[aria-current=page]{color:var(--blue);background:var(--blue-soft);font-weight:680}.sidebar .mobile-admin,.sidebar .nav-short{display:none}.workspace{min-width:0;width:100%;max-width:1750px;padding:32px 28px 48px}.workspace>*+*{margin-top:18px}.actions,.page-heading,.title-line{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.page-heading{justify-content:space-between;align-items:end;min-height:46px}.page-heading .muted{margin-top:6px}.page-heading .eyebrow{margin-bottom:4px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-width:0}.form-panel{padding:clamp(16px,2vw,26px)}.form-panel form>*+*,.form-panel>*+*{margin-top:14px}.empty{padding:30px 16px;text-align:center}.empty p{margin-bottom:12px}.notice{padding:10px 13px;border-radius:var(--radius);background:var(--blue-soft);overflow-wrap:anywhere}.exception,.notice.error{color:var(--red)}.notice.error{background:#fcecee}.notice.success{color:var(--green);background:#e6f6ee}.notice.warning{color:var(--amber);background:#fff2dc}.badge{display:inline-flex;align-items:center;flex:none;border-radius:6px;padding:3px 9px;background:#dbe9ff;color:#154dae;font-size:.83rem;line-height:1.4;font-weight:650}.badge.outlined{background:transparent;border:1px solid var(--control);color:var(--muted);font-weight:520}.badge.red{background:#ffe0e0;color:var(--red)}.badge.orange{background:#ffeec9;color:var(--amber)}.badge.green{background:#d8f3df;color:var(--green)}.badge.gray{background:#e9eef4;color:#45546c}.badge.teal{background:#d3f1f0;color:#086775}.tabs{display:flex;align-items:stretch;gap:10px;flex-wrap:wrap;border-bottom:1px solid var(--line)}.tabs a,.tabs button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:46px;padding:7px 12px;background:transparent;border:0;border-bottom:3px solid transparent;border-radius:0;color:var(--ink);text-decoration:none}.tabs :is(a,button):hover{background:var(--blue-soft)}.tabs [aria-current=page],.tabs [aria-pressed=true]{color:var(--blue);border-bottom-color:var(--blue);font-weight:700}.summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.summary button{display:grid;justify-content:start;gap:5px;padding:12px 14px;border-color:var(--line);color:var(--muted);text-align:left}.summary strong{font-size:1.45rem;color:var(--ink)}.summary [aria-pressed=true]{background:var(--blue-soft);border-color:var(--blue);color:var(--blue)}.task-list{display:grid;gap:12px}.task{display:flex;justify-content:space-between;gap:16px;padding:15px 18px}.task-id{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.task h2 a{display:inline-flex;align-items:center;min-height:44px}.task-meta{text-align:right}.task-meta .badge{margin:0 0 4px 6px}.exception,.task-meta p{margin-top:4px}.filters,.ledger-toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:10px}.filters{padding:13px}.filters>label{flex:1 1 146px}.filters .search-field{flex:2 1 220px}.record-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}.record-layout.with-detail{grid-template-columns:minmax(0,1fr) minmax(330px,36%)}.record-list{min-width:0}.record-list>*+*{margin-top:20px}.ledger-toolbar{align-items:center}.ledger-toolbar .ledger-search{flex:2 1 225px}.ledger-search{display:flex;align-items:center;gap:6px;min-width:0;min-height:44px;background:var(--surface);border:1px solid var(--control);border-radius:var(--radius)}.ledger-search input{border:0;min-width:0;min-height:42px;padding-left:1px}.ledger-search:focus-within{outline:2px solid var(--blue);outline-offset:2px}.ledger-search input:focus-visible{outline:none}.ledger-search>.icon{margin-left:11px;color:var(--muted)}.ledger-search button{min-width:39px;min-height:42px;width:39px;border:0;color:var(--muted)}.quick-select{min-width:0;flex:0 1 auto;font-size:.93rem}.quick-select select{max-width:171px;text-overflow:ellipsis}.filter-menu{position:relative;min-width:0}.filter-menu>summary{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:7px 10px;border:1px solid var(--control);border-radius:var(--radius);background:var(--surface);font-size:.91rem}.filter-menu>summary .icon{width:18px;height:18px}.filter-menu[open]>summary{border-color:var(--blue);color:var(--blue)}.filter-menu .popover{position:absolute;z-index:4;top:calc(100% + 6px);right:0;display:grid;gap:10px;width:min(265px,calc(100vw - 36px));padding:13px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:0 8px 24px #152a4d22}.column-menu{margin-left:auto}.column-menu>summary{color:var(--blue);border-color:var(--blue)}.column-options{display:grid;max-height:300px;overflow:auto}.column-options .check{min-height:37px}.clear-filters{padding-inline:8px}.ledger{overflow:hidden}.table-scroll{overflow:auto}table{border-collapse:separate;border-spacing:0;width:100%;text-align:left;font-size:.93rem}td,th{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:11px 13px;vertical-align:middle}tr>:last-child{border-right:0}thead th{background:#edf2f8;color:var(--ink);white-space:nowrap;position:sticky;top:0;z-index:1}.ledger th{line-height:1.35}th a{display:inline-flex;align-items:center;min-height:30px;text-decoration:none}thead th a{color:inherit}.ledger tbody a:hover,thead th a:hover{text-decoration:underline}.ledger .selected-row,.ledger tbody tr:hover{background:var(--blue-soft)}.ledger :is(.selected-row,.same-order)>:first-child{box-shadow:inset 3px 0 0 #528fff}.ledger tbody a,.ledger tbody th{white-space:nowrap}.ledger tbody th{font-weight:570}.cell{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-width:46px;overflow-wrap:anywhere}.mobile-rows{display:none}.table-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 14px}.page-controls,.pagination{display:flex;align-items:center;justify-content:center;gap:8px}.pagination{padding:10px}.page-controls>*{width:37px;min-width:37px;min-height:37px}.page-controls span{display:grid;place-items:center;border-radius:6px;background:var(--blue);color:white}.page-controls .icon{width:17px;height:17px}.ledger-note{display:flex;align-items:center;gap:9px;padding:14px 17px;color:var(--muted);font-size:.92rem}.detail-panel{position:sticky;top:calc(var(--header) + 18px);max-height:calc(100dvh - var(--header) - 36px);overflow:auto}.detail-bar{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;min-height:54px;padding:5px 14px 5px 19px;border-bottom:1px solid var(--line);background:var(--surface)}.detail-body{padding:14px 19px 21px}.detail-body>*+*,.standalone-detail>*+*{margin-top:13px}.detail-title :is(h1,h3){font-size:clamp(1.5rem,2vw,2rem)}.detail-status{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:7px}.detail-panel .form-panel{padding:14px 0 0;border:0;border-top:1px solid var(--line);border-radius:0}.detail-panel .form-panel>h2{font-size:1.06rem}.detail-panel .form-panel>.actions:empty{display:none}.detail-panel .read-field{border:0}.detail-panel .form-grid{gap:11px 14px}.detail-panel .detail-text>span:first-child,.device-card>span:first-child{color:var(--ink);font-weight:680}.detail-panel .device-card{border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px}.device-card a{font-weight:660}.standalone-detail{max-width:930px}.form-grid,.meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.wide{grid-column:1/-1}.read-field{display:grid;justify-items:start;align-content:start;gap:4px;min-width:0;padding:6px 0;border-bottom:1px solid var(--line)}.read-field>span:first-child{color:var(--muted);font-size:.88rem}.read-field p{white-space:pre-wrap}.back{display:inline-flex;align-items:center;gap:4px;min-height:44px;text-decoration:none;font-weight:650}.workspace>.back+.page-heading{margin-top:5px}.workflow-form{margin-top:12px}.receipts{padding-left:22px}.receipts li+li{margin-top:10px}.personal-workspace{max-width:1120px}.entry-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:660px}.entry-actions .button{min-height:62px;font-size:1.12rem}.entry-actions .icon{width:27px;height:27px}.personal-records{border-top:1px solid var(--line);padding-top:16px}.personal-records>*+*{margin-top:12px}.personal-records .tabs a{min-width:78px}.personal-filters .filters{padding:10px 0 0}.personal-cards{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.personal-cards:empty{display:none}.personal-card{position:relative;display:grid;gap:5px;padding:13px 39px 13px 13px;color:var(--ink);text-decoration:none;min-height:113px}.personal-card:hover{border-color:var(--blue)}.personal-card-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px}.personal-card strong{font-size:1.12rem;overflow-wrap:anywhere}.personal-card>.icon{position:absolute;right:11px;top:calc(50% - 10px);width:19px}.record-date{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.entry-form{max-width:800px}.entry-form .form-grid>.read-field{align-self:end}.entry-form :is(input,select,textarea){font-weight:500}.entry-submit{width:100%;min-height:49px}.admin-cards,.permission-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,235px),1fr));gap:12px}.admin-link{display:grid;gap:8px;padding:17px;color:var(--ink);text-decoration:none}.admin-link:hover{border-color:var(--blue)}.admin-link h2{color:var(--blue)}.admin-link span{float:right}.member-layout{display:grid;grid-template-columns:minmax(185px,22%) minmax(0,1fr);gap:16px;align-items:stretch}.member-directory{padding:15px 13px;min-height:420px}.member-directory>*+*{margin-top:12px}.member-options{display:grid;gap:2px}.member-options button{display:grid;justify-content:stretch;justify-items:start;gap:3px;padding:8px 11px;border:0;border-left:3px solid transparent;text-align:left;overflow-wrap:anywhere}.member-options button span{color:var(--muted);font-size:.84rem;font-weight:500}.member-options button[aria-pressed=true]{background:#dbe8fe;border-left-color:var(--blue)}.member-detail{padding:16px 19px 19px}.grant-form>*+*,.member-detail>*+*{margin-top:13px}.member-heading{display:flex;justify-content:space-between;align-items:start;gap:10px}.member-heading h2{font-size:1.55rem;margin-bottom:4px}.member-heading button{flex:none}.member-heading p{font-size:.92rem}.grant-dates,.grant-options,.grant-scope,.grant-toolbar,.matrix-header,.record-chips{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px}.grant-dates label,.grant-options label,.grant-scope>label,.grant-toolbar label{display:flex;align-items:center;flex-wrap:wrap}.grant-dates input,.grant-options select,.grant-scope select,.grant-toolbar select{width:auto}.grant-dates label{flex-wrap:nowrap}.grant-dates input{min-width:min(180px,100%)}.grant-form :is(input,select){font-weight:500}.grant-toolbar .button{margin-left:auto}.record-chips{min-width:0}.record-chip{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px;color:var(--blue);padding:2px 6px 2px 9px;border:1px solid #79a3ff;border-radius:6px}.chip-remove{padding:0;min-height:30px;min-width:30px;border:0;color:var(--blue)}.chip-remove .icon{width:15px;height:15px}.match-picker[open]{width:100%}.picker-body{padding:9px;border:1px solid var(--line);border-radius:var(--radius);margin-top:7px}.choice-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,205px),1fr));max-height:210px;overflow:auto}.matrix-header{justify-content:space-between}.field-matrix{border:1px solid var(--line);border-radius:var(--radius);max-height:292px}.field-matrix td,.field-matrix th{padding:4px 10px}.field-matrix th:first-child{text-align:left}.field-matrix :is(th,td):not(:first-child){text-align:center}.field-matrix tbody th{font-weight:560}.field-matrix .badge{margin-left:6px;font-size:.73rem}.field-matrix tr:last-child td,.field-matrix tr:last-child th{border-bottom:0}.field-matrix input{vertical-align:middle}.matrix-toggle{display:grid;place-content:center;min-height:26px;cursor:pointer}.matrix-toggle:has(:disabled){cursor:default}.matrix-note{font-size:.84rem}.grant-actions .primary{margin-left:auto}.settings-box,fieldset{min-width:0;border:1px solid var(--line);border-radius:var(--radius);padding:5px 12px}.settings-box>*+*,fieldset>*+*{margin-top:8px}summary{min-height:42px;padding:8px 0;font-weight:650;cursor:pointer;overflow-wrap:anywhere}:is(.filter-menu,.account)>summary::-webkit-details-marker{display:none}legend{padding:0 5px;font-weight:650}.permission-grid>div{border:1px solid var(--line);padding:9px}.permission-grid>div,pre{border-radius:var(--radius)}pre{overflow:auto;max-height:320px;padding:12px;background:#f2f5fa;font-size:.83rem;white-space:pre-wrap;overflow-wrap:anywhere}.signin{min-height:100dvh;width:min(100% - 32px,970px);margin:0 auto;display:grid;grid-template-columns:1fr 410px;gap:22px;align-content:center;align-items:center;padding:24px 0}.signin-intro{padding:24px;background:#e0ebfe;border:1px solid var(--line);border-radius:14px}.signin-intro h1{margin:11px 0;font-size:clamp(1.8rem,5vw,3.3rem)}.signin-intro .eyebrow{margin-top:18px}.login-panel{padding:22px}.login-panel h2{font-size:1.45rem}.login-panel form{display:grid;gap:13px;margin-top:16px}.restricted .workspace{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.restricted input,.restricted textarea{user-select:text;-webkit-user-select:text}@media (max-width:1180px){:root{--side:192px}.workspace{padding-inline:20px}.with-detail .quick-select select{max-width:145px}}@media (max-width:1000px){:root{--header:58px}.topbar{padding:7px 13px;gap:9px}.brand{gap:8px}.brand-mark{width:38px;height:38px;border-radius:8px}.brand-mark .icon{width:24px;height:24px}.account summary{min-width:44px;justify-content:center}.account summary .icon:last-child,.account summary>span{display:none}.app-shell{display:block}.sidebar{position:fixed;z-index:6;inset:auto 0 0;height:auto;padding:4px 8px env(safe-area-inset-bottom,0);border-right:0;border-top:1px solid var(--line)}.main-nav{display:flex;gap:3px}.sidebar .mobile-admin,.sidebar a{display:grid;place-items:center;align-content:center;gap:2px;flex:1 1;min-width:0;min-height:49px;padding:3px 2px;font-size:.78rem}.sidebar .nav-short{display:block}.admin-nav,.sidebar .nav-full{display:none}.workspace{padding:22px 15px 78px;margin-inline:auto}.record-layout.with-detail{grid-template-columns:1fr}.record-layout.with-detail>.record-list{display:none}.detail-panel{position:static;max-height:none;overflow:visible}.detail-bar{top:var(--header);border-radius:var(--radius) var(--radius) 0 0}.member-layout{grid-template-columns:minmax(155px,25%) minmax(0,1fr)}}@media (max-width:680px){.workspace{padding-top:18px}.personal-workspace{background:var(--surface);min-height:calc(100dvh - var(--header))}.personal-workspace>*+*{margin-top:14px}.entry-form{border:0;padding:0}.entry-actions .button{min-height:56px;font-size:1rem;padding-inline:7px}.entry-actions .icon{width:23px;height:23px}.personal-cards{grid-template-columns:1fr}.personal-records .tabs a{min-width:63px}.summary{grid-template-columns:repeat(3,minmax(0,1fr))}.summary button{padding:8px 10px}.task{flex-direction:column;align-items:start;gap:8px}.task-meta{text-align:left}.task-meta .badge{margin:0 6px 4px 0}.ledger-toolbar .ledger-search{flex-basis:100%}.quick-select{flex:1 1 110px}.quick-select select{max-width:none}.column-menu{margin-left:0}.ledger-toolbar{position:relative}.ledger-toolbar .filter-menu{position:static}.ledger-toolbar .popover{inset:auto 0 auto auto;margin-top:6px}.ledger .table-scroll{display:none}.mobile-rows{display:block}.mobile-rows article{padding:9px 13px 12px;border-bottom:1px solid var(--line)}.mobile-rows article dl{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px}.row-title{gap:8px}.row-title,.row-title a{display:flex;align-items:center;justify-content:space-between}.row-title a{gap:9px;min-height:44px;width:100%;font-weight:630}.form-grid{grid-template-columns:1fr}.detail-panel .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-panel .workflow-form,.member-layout{grid-template-columns:1fr}.member-directory{min-height:0}.member-options{max-height:224px;overflow:auto;overscroll-behavior:contain}.member-options button{padding:5px 9px}.member-detail{padding:13px 12px}.member-detail .tabs{gap:3px}.member-detail .tabs button{font-size:.85rem;padding-inline:5px}.grant-dates{flex-direction:column;align-items:stretch}.grant-dates label{display:grid}.grant-dates .badge{align-self:start}.field-matrix td,.field-matrix th{padding:6px 5px;font-size:.77rem}.field-matrix td{padding-block:0}.field-matrix td input{width:22px;height:22px}.matrix-toggle{min-height:44px}input:not([type=checkbox]),select,textarea{font-size:16px}select{appearance:none;height:44px;padding-right:31px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m3 6 5 5 5-5' fill='none' stroke='%234f6079' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.signin{grid-template-columns:1fr;max-width:520px;gap:12px}.signin-intro h1 br{display:none}}@media print{.restricted :is(.topbar,.sidebar,.workspace,.skip){display:none!important}.restricted:before{content:"当前账号不提供打印。"}}