:root{color:#17191c;font-synthesis:none;--ink:#17191c;--muted:#5e6167;--accent:#6e123f;--accent-hover:#581033;--border:#cfd2d8;--paper:#fff;background:#f6f3f1;font-family:Noto Sans SC,Microsoft YaHei,PingFang SC,system-ui,sans-serif;line-height:1.55}*{box-sizing:border-box}body{margin:0}a{color:var(--accent)}button,input,select,textarea{font:inherit}:focus-visible{outline-offset:3px;outline:3px solid #923e70}.app-header{background:var(--paper);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:20px;min-height:83px;padding:9px clamp(16px,3.6vw,64px);display:flex}.brand{color:var(--ink);white-space:nowrap;align-items:center;gap:18px;font-size:clamp(20px,2.15vw,34px);font-weight:750;text-decoration:none;display:inline-flex}.stamp-mark{width:clamp(36px,3.5vw,56px);height:auto;color:var(--accent);flex:none}.account{align-items:center;gap:12px;min-width:0;font-size:14px;display:flex}.account span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.account button{flex:none}.workspace{width:min(1480px,100% - clamp(32px,14vw,250px));margin:38px auto}.app-header:has(.app-nav){min-height:72px;padding-inline:max(16px,50vw - 740px)}.app-header:has(.app-nav) .brand{font-size:clamp(20px,2vw,28px)}.app-header:has(.app-nav) .stamp-mark{width:44px}.shell-message{padding:0 16px}.login-page{justify-items:center;padding:clamp(40px,15.7vh,160px) 16px 36px;display:grid}.login-panel{background:var(--paper);border:1px solid var(--border);border-radius:6px;width:min(100%,635px);padding:clamp(24px,3vw,48px)}.login-panel h1{text-align:center;margin:0;font-size:clamp(30px,3vw,48px);line-height:1.25}.login-intro{text-align:center;color:var(--muted);margin:16px 0 39px;font-size:clamp(15px,1.5vw,24px)}.login-form{display:grid}.login-form label{margin-bottom:8px;font-size:clamp(16px,1.35vw,22px);font-weight:650}.login-form>input{margin-bottom:31px}input,select,textarea{border:1px solid var(--border);min-width:0;min-height:46px;color:var(--ink);background:var(--paper);border-radius:5px;padding:9px 13px}.login-form input,.login-form button{min-height:clamp(46px,3.5vw,56px);font-size:clamp(16px,1.34vw,22px)}input::placeholder{color:#6a6c72}.code-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.captcha-row{margin-top:16px;display:grid}.captcha-row img{border:1px solid var(--border);border-radius:4px;max-width:125px}button{cursor:pointer;border:1px solid #0000;border-radius:5px;min-height:44px;padding:8px 15px}.secondary{color:var(--ink);border-color:var(--border);background:var(--paper)}.secondary:hover:not(:disabled){background:#f5f2f4}.primary{color:#fff;background:var(--accent);font-weight:650}.primary:hover:not(:disabled){background:var(--accent-hover)}button:disabled{cursor:default;opacity:.64}.login-form .login-submit{min-height:clamp(48px,4vw,65px);margin-top:47px}.login-switch{text-align:center;margin:20px 0 0}.login-form .code-row button{min-width:clamp(96px,10vw,160px)}.message{color:var(--muted);margin:13px 0 0}.error{color:#a51d38}.success{color:#19674f}.muted{color:var(--muted)}.app-nav{align-items:center;gap:12px;margin-right:auto;display:flex}.nav-item,.link-button{color:var(--accent);background:0 0}.nav-item{color:var(--ink);border-radius:0}.nav-item[aria-current]{color:var(--accent);border-bottom-color:var(--accent);font-weight:650}.editor-panel{border:1px solid var(--border);background:var(--paper);border-radius:6px;margin-block:22px;padding:clamp(16px,3vw,28px)}.editor-panel h2{margin:0 0 16px;font-size:20px}.editor-panel label{font-weight:600}.editor-row{flex-wrap:wrap;align-items:center;gap:10px;margin-top:8px;display:flex}.editor-row input{flex:1}.form-columns{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:16px;display:grid}.form-columns label{gap:6px;display:grid}.role-confirm{align-items:center;gap:8px;margin-top:12px;display:flex}.role-confirm input{min-height:auto}.personnel-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.unit-choices{border:1px solid var(--border);border-radius:5px;margin:20px 0 12px;padding:10px 14px}.unit-choices label{align-items:center;gap:6px;min-height:44px;margin-right:16px;font-weight:400;display:inline-flex}.unit-choices input{min-height:0;accent-color:var(--accent)}.table-scroll{background:var(--paper);border:1px solid var(--border);border-radius:6px;overflow:auto}table{border-collapse:collapse;text-align:left;width:100%}th,td{border-bottom:1px solid var(--border);padding:9px 14px}th{background:#f2f1f2}tbody tr:last-child td{border-bottom:0}.empty-state{color:var(--muted);margin:0;padding:18px}.empty-state p{margin:0 0 10px}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.request-form{max-width:1274px;margin-inline:auto}.request-form h1{color:var(--accent);border-bottom:1px solid var(--border);margin:0 0 20px;padding-bottom:15px}.request-form>label,.upload-field{grid-template-columns:minmax(110px,155px) minmax(0,1fr);align-items:baseline;gap:12px;margin:14px 0;display:grid}.request-form .copies{width:min(100%,240px)}.request-form input[readonly]{background:#f5f3f5}.request-form button[type=submit]{width:100%;margin-top:12px}.upload-field h2{margin:0;font-size:16px}.upload-area{text-align:center;border:1px dashed #9d9daa;border-radius:6px;padding:18px 12px}.upload-area label{border:1px solid var(--border);cursor:pointer;border-radius:5px;align-items:center;min-height:44px;padding:0 13px;display:inline-flex}.upload-area:focus-within{outline:2px solid var(--accent);outline-offset:2px}.upload-area input{opacity:0;width:1px;height:1px;min-height:0;padding:0;position:absolute}.upload-area p{color:var(--muted);margin:8px 0 0;font-size:14px}.upload-icon{width:32px;height:32px;color:var(--accent);margin:0 auto 8px;display:block}.upload-list{margin:0;padding:0;list-style:none}.upload-list li{overflow-wrap:anywhere;justify-content:space-between;align-items:center;gap:8px;padding:3px 0;display:flex}.upload-status{min-width:0}.upload-status progress{width:min(180px,100%);accent-color:var(--accent);display:block}.upload-actions{flex:none}.details-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:14px;display:grid}.details-list dt{color:var(--muted)}.details-list dd{overflow-wrap:anywhere;margin:3px 0 0}.page-heading{margin-bottom:2px}.page-intro{color:var(--muted);margin:0 0 22px}.ledger-filters{flex-wrap:wrap;align-items:end;gap:12px;margin-bottom:22px;display:flex}.ledger-filters label{gap:5px;display:grid}.ledger-filters select{min-width:min(200px,80vw)}.action-link{border-radius:5px;justify-content:center;align-items:center;min-height:46px;padding:8px 15px;text-decoration:none;display:inline-flex}.ledger-filters .action-link{margin-left:auto}.request-table td:last-child{padding-block:2px}.request-state{white-space:nowrap;font-weight:650}.state-pending_approval{color:#8d510e}.state-pending_stamp{color:#2d5490}.state-stamped{color:#19674f}.state-rejected{color:#a51d38}.approval-form{margin-top:18px}.approval-form .editor-row{margin-top:14px}.approval-reason{gap:6px;display:grid}.record-text{white-space:pre-wrap;overflow-wrap:anywhere}.history-list li{margin-bottom:10px}.cleanup-confirmation{overflow-wrap:anywhere;border-left:3px solid #a51d38;padding:8px 0 8px 14px}.cleanup-confirmation h3{margin-top:0}.danger{color:#a51d38}.danger-fill{background:#a51d38}.danger-fill:hover:not(:disabled){background:#83132a}@media (width<=600px){.app-header{min-height:61px}.app-header:has(.app-nav){flex-wrap:wrap;gap:4px}.app-header:has(.app-nav) .stamp-mark{width:36px}.app-header:has(.app-nav) .account{max-width:calc(100% - 136px);margin-left:auto}.app-nav{order:3;gap:4px;width:100%}.workspace{width:calc(100% - 32px);margin-top:24px}.nav-item{padding-inline:8px}.brand{gap:10px}.account{gap:6px}.account button{padding-inline:8px}.login-page{padding-top:48px}.login-intro{margin-bottom:26px}.login-form>input{margin-bottom:18px}.code-row{gap:8px}.code-row button{padding-inline:9px}.login-form .login-submit{margin-top:26px}.request-form>label,.upload-field{grid-template-columns:minmax(0,1fr);gap:6px}.ledger-filters{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.ledger-filters select{min-width:0}.ledger-filters .action-link{margin-left:0}.request-table,.request-table tbody{display:block}.request-table thead{clip-path:inset(50%);width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.request-table tr{border-bottom:1px solid var(--border);gap:4px;padding:12px 14px;display:grid}.request-table tr:last-child{border-bottom:0}.request-table td,.request-table td:last-child{overflow-wrap:anywhere;border:0;padding:0}.request-table td:first-child{font-weight:650}.request-table td[data-label]{grid-template-columns:80px minmax(0,1fr);display:grid}.request-table td[data-label]:before{content:attr(data-label);color:var(--muted)}.request-table .link-button{padding-inline:0}}
