[hidden] { display:none!important; }
.auth-root { min-height:100vh; display:flex; align-items:center; justify-content:center; padding:24px; background:#edf3f9; }
.auth-card { width:420px;max-width:100%;padding:32px;background:#fff;border:1px solid #dbe5ef;border-radius:16px;box-shadow:0 12px 40px #15355012; }
.auth-card h1 {font-size:20px;margin:20px 0 12px;color:#193f60;}
.auth-card p,.auth-card label,.auth-card input,.auth-card button {font-size:14px;line-height:1.7;}
.auth-card label {display:block;margin:14px 0 6px;}
.auth-card input {width:100%;box-sizing:border-box;border:1px solid #b9cbdc;border-radius:7px;padding:9px 12px;}
.auth-card small {display:block;font-size:12px;color:#64778a;line-height:1.7;margin-top:12px;}
.auth-card .button {width:100%;justify-content:center;margin-top:16px;}
.form-error {color:#b91c1c;min-height:24px;font-size:14px;margin-top:10px;}
.session-unit {font-size:14px;color:#244860;}
.save-status {font-size:12px;color:#3b7059;max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.save-error {color:#b91c1c;}
.account-admin {padding:30px;}.account-admin h1 {margin:0 0 16px;}.account-admin .panel {padding:20px;margin:16px 0;}
.account-admin table {width:100%;border-collapse:collapse;}.account-admin td,.account-admin th {padding:12px;text-align:left;border-bottom:1px solid #e1e8ee;}
.account-admin input,.account-admin select {padding:8px;border:1px solid #bdccda;border-radius:6px;max-width:100%;}
.account-toolbar {display:flex;flex-wrap:wrap;gap:12px;align-items:center;}.scope-list {max-height:210px;overflow:auto;border:1px solid #dbe5ef;padding:10px;}
.scope-list label {display:block;margin:8px 0;}.scope-list input {margin-right:8px;}
.saving-data #content button,.saving-data #matterDrawer button,.saving-data #modalRoot button {pointer-events:none;}
/* Older Chromium engines do not implement inset/min(); solid surfaces retain readability. */
.drawer-mask,.modal-backdrop {top:0;right:0;bottom:0;left:0;}
.sidebar {top:0;bottom:0;left:0;}
.watermark-layer {top:0;right:0;bottom:0;left:0;}
.page-section {width:100%;max-width:1500px;}
.auth-card .brand-mark {font-size:20px;}
.no-flex-gap .brand>*+*,.no-flex-gap .topbar-actions>*+*,.no-flex-gap .heading-actions>*+*,.no-flex-gap .account-toolbar>*+* {margin-left:12px;}
.no-flex-gap .nav-list>.nav-item+.nav-item {margin-top:6px;}
.no-flex-gap .sidebar-user>*+*,.no-flex-gap .nav-item>*+*,.no-flex-gap .security-card>*+*,.no-flex-gap .modal-footer>*+* {margin-left:10px;}
.no-flex-gap .attachment-row>* {margin:4px;}
.modal {width:620px;max-width:96vw;}.modal.large {width:820px;max-width:96vw;}
.matter-drawer {width:720px;max-width:92vw;}
.download-ready {width:360px;max-width:calc(100vw - 44px);}
.attachment-preview.source-image img {width:100%;max-width:900px;}
.document-sheet {width:430px;max-width:85%;}
.topbar {background:#fff;}.modal-backdrop {background:rgba(8,25,41,.45);}
:focus-visible {outline:3px solid #247cc8;outline-offset:2px;}
input:focus,select:focus,textarea:focus,button:focus {outline-color:#247cc8;}
body {font-family:'Microsoft YaHei','Noto Sans CJK SC','Source Han Sans SC','WenQuanYi Micro Hei',sans-serif;}
.attachment-fallback {padding:20px;border:1px solid #dbe5ef;border-radius:8px;background:#f4f8fb;line-height:1.8;}
@media(max-width:760px){.save-status {max-width:110px;}.session-unit {display:none;}.account-admin {padding:16px;}.account-admin .table-wrap {overflow:auto;}}
@media print {#authRoot,.topbar,.sidebar,#saveStatus {display:none!important;} .print-sheet {color:#000;background:#fff;} }
