:root{color:#10262d;font-synthesis:none;--brand:#0d4c5e;--brand-dark:#062a34;--line:#0d4c5e1f;--muted:#475d64;--ok:#2e7d5b;--warn:#a8681d;--card:#fcfdfd;--ink:#10262d;--tint:#eef6f8;--danger:#b04434;background:#f4f6f5;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{margin:0;font-size:14px;line-height:1.6}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.6}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline-offset:3px;outline:3px solid #15607a}h1,h2,h3,h4,p{margin-top:0}h1{letter-spacing:-.5px;margin-bottom:8px;font-size:28px;font-weight:650;line-height:1.3}h2{margin-bottom:18px;font-size:18px;font-weight:650;line-height:1.4}h3{margin-top:28px;margin-bottom:14px;font-size:16px}h4{font-size:14px}small{font-size:12px}td small,.person small{color:var(--muted);margin-top:3px;display:block}.muted{color:var(--muted)}.eyebrow{letter-spacing:2px;color:#58777f;margin:0 0 8px;font-size:10px;font-weight:650}.app-shell{min-height:100vh;display:flex}.sidebar{border-right:1px solid var(--line);z-index:20;background:#fff;flex-direction:column;flex:none;width:240px;display:flex;position:fixed;inset:0 auto 0 0}.brand{border-bottom:1px solid var(--line);justify-content:center;align-items:center;padding:16px 22px;display:flex;overflow:hidden}.brand img{object-fit:contain;object-position:center;width:168px;max-width:100%;height:116px;display:block}.sidebar nav{flex:1;padding:17px 12px;overflow-y:auto}.sidebar nav a{color:#475d64;border-radius:7px;align-items:center;gap:13px;min-height:44px;margin:3px 0;padding:11px 13px;font-weight:500;display:flex}.sidebar nav a.active{color:#fff;background:#0d4c5e}.sidebar nav a:hover{background:#eef5f7;text-decoration:none}.sidebar nav a.active:hover{background:#0a3a47}svg{flex:none;width:19px;height:19px}.sidebar-footer{border-top:1px solid var(--line);align-items:center;gap:10px;padding:20px 18px;display:flex}.sidebar-footer strong{font-size:13px}.sidebar-footer small{color:#69838b;overflow-wrap:anywhere;font-size:11px;display:block}.avatar{color:#0d4c5e;background:#dcebef;border-radius:50%;flex:none;justify-content:center;align-items:center;width:36px;height:36px;font-weight:600;display:inline-flex}.avatar.small{width:32px;height:32px}.workspace{width:calc(100% - 240px);min-width:0;margin-left:240px}.topbar{z-index:25;border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:16px;height:64px;padding:0 32px;display:flex;position:relative}.topbar>span{color:#69838b;font-size:12px}main{max-width:1600px;min-height:calc(100vh - 125px);margin:auto;padding:30px 32px}.workspace-footer{border-top:1px solid var(--line);color:#69838b;letter-spacing:1px;padding:15px 32px;font-size:10px}.workspace-footer span{letter-spacing:0}.page-title{justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px;display:flex}.page-title p:last-child{margin-bottom:0}.actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.btn,.upload-button{background:var(--brand);color:#fff;cursor:pointer;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 18px;font-size:13px;font-weight:600;line-height:1.6;text-decoration:none;display:inline-flex}.btn:hover,.upload-button:hover{background:#0a3a47;text-decoration:none}.btn.secondary{color:var(--brand);background:#fff;border-color:#ccdade}.btn.secondary:hover{background:#eef5f7}.btn.full{width:100%}.text-button{color:var(--brand);background:0 0;border:0;align-items:center;min-height:44px;padding:10px 0;font-weight:500;display:inline-flex}.danger{color:#a13838}.language{color:#0d4c5e;background:0 0;border:0;min-height:44px;padding:10px;font-weight:600}.card{background:var(--card);border:1px solid var(--line);border-radius:9px;margin-bottom:24px;overflow:hidden;box-shadow:0 2px 6px #062a3406}.padded{padding:24px}.section-head{justify-content:space-between;align-items:center;gap:12px;padding:20px 24px 15px;display:flex}.section-head h2,.section-head h3{margin:0}.filters{flex-wrap:wrap;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.filters .field{min-width:150px;margin-bottom:0}.search{align-items:center;gap:8px;display:flex}.search input{min-width:170px;max-width:100%;height:44px}.field{margin-bottom:18px}.field>label{margin-bottom:7px;font-size:12px;font-weight:650;display:block}.field small{margin-top:7px;display:block}input:not([type=checkbox]):not([type=file]),textarea,select{color:var(--brand-dark);background:#fff;border:1px solid #cad8dc;border-radius:5px;width:100%;min-height:44px;padding:10px 12px;transition:border-color .15s}input:hover,textarea:hover,select:hover{border-color:#769ca7}textarea{resize:vertical;line-height:1.7}fieldset{border:0;min-width:0;margin:0;padding:0}.check{cursor:pointer;align-items:center;gap:10px;min-height:44px;margin-bottom:6px;display:flex}.check input{accent-color:var(--brand);flex:none;width:18px;height:18px}.table-scroll{overflow:auto}table{border-collapse:collapse;white-space:nowrap;text-align:left;width:100%}th{color:#637f88;border-bottom:1px solid var(--line);background:#f5f8f8;padding:14px 20px;font-size:11px;font-weight:600}td{border-bottom:1px solid var(--line);padding:16px 20px;font-size:13px}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#f7faf9}.content-title{white-space:normal;min-width:230px;max-width:380px}.person{align-items:center;gap:10px;display:flex}.badge{border-radius:4px;margin:2px 4px 2px 0;padding:3px 8px;font-size:11px;line-height:1.7;display:inline-block}.badge.ok{color:#2e7d5b;background:#e6f3eb}.badge.warn{color:#a8681d;background:#fff3dc}.badge.neutral{color:#607a82;background:#eaf0f2}.chip-list{flex-wrap:wrap;gap:3px;display:flex}.pager{border-top:1px solid var(--line);color:#637f88;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:15px 20px;font-size:12px;display:flex}.pager label{align-items:center;gap:8px;display:flex}.pager select{width:auto}.pager .btn{min-height:44px;font-size:12px}.notice{overflow-wrap:anywhere;background:#eef5f7;border:1px solid #cad8dc;border-radius:6px;margin-bottom:18px;padding:14px 16px}.notice.error{color:#9a3333;background:#fff2f1;border-color:#edc8c4}.notice.success{color:#2e7d5b;background:#e9f4ed;border-color:#cae3d3}.field-error{color:#a13838}.empty,.loading{color:#69838b;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:55px 20px;display:flex}.empty svg{width:28px;height:28px}.empty p{margin:0}.spinner{border:2px solid #c9dce2;border-top-color:#0d4c5e;border-radius:50%;width:24px;height:24px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;display:grid}.metric{padding:22px 24px}.metric p{color:#637f88;margin-bottom:12px;font-size:12px}.metric>strong{margin-bottom:13px;font-size:34px;font-weight:650;line-height:1.2;display:block}.metric small{color:#69838b;font-size:11px;display:block}.warning{color:#a8681d}.bar-chart{align-items:stretch;gap:25px;height:238px;padding:20px 28px 23px;display:flex}.bar-column{text-align:center;flex-direction:column;flex:1;font-size:12px;display:flex}.bar-column strong{color:#475d64;margin-bottom:4px;font-size:11px}.bar-track{flex:1;align-items:flex-end;display:flex}.bar{background:#bcd6dd;border-radius:4px 4px 0 0;width:100%;max-width:56px;min-height:0;margin:0 auto}.bar.today{background:#0d4c5e}.bar-column small{color:#69838b;margin-top:10px}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.editor-grid{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:24px;display:grid}.info-list>div{border-bottom:1px solid var(--line);grid-template-columns:100px minmax(0,1fr);gap:15px;padding:13px 0;display:grid}dt{color:#69838b}dd{overflow-wrap:anywhere;margin:0}.form-footer{justify-content:flex-end;align-items:center;gap:12px;margin:22px 0 8px;display:flex}.cover-preview{object-fit:contain;border-radius:5px;max-width:100%;max-height:180px;margin:15px 0;display:block}.upload-button{color:var(--brand);background:#fff;border-color:#ccdade;margin-bottom:15px;position:relative;overflow:hidden}.upload-button:hover{background:#eef5f7}.upload-button input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.upload-button:focus-within{outline-offset:3px;outline:3px solid #15607a}.picker{border:1px solid var(--line);border-radius:6px;margin-bottom:20px;padding:16px}.picker h3{margin-top:0}.picker .search{flex-wrap:wrap;margin-bottom:15px}.picker .pager{padding:14px 0 0}.picker .pager .actions{gap:5px}.picker .pager .btn{padding:8px}.role-options{margin:18px 0}.permission-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;display:grid}.permission-groups section{background:#f4f8f8;border-radius:6px;padding:15px}.permission-groups h4{margin-bottom:9px}.permission-groups .check{font-size:12px}.modal{border:1px solid var(--line);color:#10262d;border-radius:10px;width:min(760px,100% - 32px);max-height:calc(100dvh - 40px);padding:0;box-shadow:0 20px 80px #062a3433}.modal::backdrop{background:#062a3473}.modal-header{z-index:1;border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;padding:18px 24px;display:flex;position:sticky;top:0}.modal-header h2{margin:0}.modal-body{padding:24px}.modal-close{color:#475d64;background:0 0;border:0;width:44px;height:44px;font-size:24px}.notification-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:15px;padding:18px 0;display:flex}.notification-row small{display:block}.repeat-box{border:1px solid var(--line);background:#f5f8f8;border-radius:6px;margin:15px 0;padding:18px}.repeat-row{grid-template-columns:1fr 1fr auto;align-items:end;gap:15px;display:grid}.markdown-editor{border:1px solid var(--line);border-radius:6px;margin:20px 0;overflow:hidden}.markdown-editor .editor-header{border-bottom:1px solid var(--line);background:#f5f8f8;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex}.markdown-editor .editor-header label{overflow-wrap:anywhere;min-width:0;font-size:14px;font-weight:600}.markdown-editor .editor-preview-toggle{flex-shrink:0;padding:7px 14px}.markdown-editor .editor-toolbar{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;display:flex}.editor-tool-group{border-right:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;max-width:100%;padding-right:8px;display:flex}.markdown-editor .editor-format-button{background:0 0;border-color:#0000;flex:none;min-width:44px;min-height:44px;padding:6px 10px;font-size:13px;font-weight:500;line-height:1.5}.markdown-editor .editor-format-button:hover{background:#e8f0f2;border-color:#ccdade}.markdown-editor .editor-format-bold{font-weight:700}.markdown-editor .editor-format-italic{font-style:italic}.editor-more-toggle svg{flex-shrink:0}.editor-more-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.editor-extra-tools{border-bottom:1px solid var(--line);background:#f5f8f8;flex-wrap:wrap;gap:8px;padding:8px 12px;display:flex}.content-input{font-family:inherit;font-size:14px;border-left:0!important;border-right:0!important;border-radius:0!important}.markdown-preview{overflow-wrap:anywhere;min-height:250px;padding:20px;overflow:auto}.markdown-preview img{max-width:100%;height:auto}.markdown-preview table{white-space:normal}.audit-detail{white-space:pre-wrap;overflow-wrap:anywhere;max-width:380px;max-height:350px;font-size:12px;overflow:auto}.login-page{grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.login-brand{color:#fff;background:#062a34;flex-direction:column;justify-content:center;padding:10vh 9vw;display:flex;position:relative;overflow:hidden}.login-brand img{filter:brightness(0)invert();z-index:1;width:80px;margin-bottom:40px;position:relative}.login-brand .eyebrow{color:#a5c7d0}.login-brand h1{z-index:1;margin:20px 0;font-size:clamp(30px,3vw,44px);line-height:1.5;position:relative}.login-brand>p:last-of-type{color:#bcd6dd;z-index:1;font-size:13px;position:relative}.login-lines{border:1px solid #265560;border-radius:50%;width:500px;height:500px;position:absolute;bottom:-80px;right:-300px;box-shadow:0 0 0 50px #0a323c,0 0 0 51px #265560,0 0 0 110px #0a323c,0 0 0 111px #265560}.login-panel{background:#fcfdfd;flex-direction:column;justify-content:center;align-items:center;padding:40px;display:flex;position:relative}.login-panel>.language{position:absolute;top:22px;right:25px}.login-panel form{width:100%;max-width:360px}.login-panel h2{margin-bottom:10px;font-size:25px}.login-panel .muted{margin-bottom:30px}.login-note{color:#69838b;text-align:center;margin-top:20px;font-size:12px}.login-footer{letter-spacing:2px;color:#69838b;font-size:10px;position:absolute;bottom:25px}.startup-error{max-width:650px;margin:10vh auto;padding:30px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:#fff;padding:12px;position:fixed;top:8px;left:8px;transform:translateY(-150%)}.skip-link:focus{transform:none}@media (min-width:1500px){main{padding:38px 46px}.topbar{padding:0 46px}}@media (max-width:1100px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-grid{grid-template-columns:minmax(0,1fr)}.editor-grid>aside{order:-1}.topbar>span{display:none}.topbar{justify-content:flex-end}.detail-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width:760px){.app-shell{display:block}.sidebar{width:100%;height:auto;position:static}.brand{padding:16px 20px}.brand img{width:112px;height:78px}.sidebar nav{flex-wrap:nowrap;padding:8px 12px;display:flex;overflow:auto}.sidebar nav a{flex:none;margin:0 4px 0 0;padding:9px 12px;font-size:12px}.sidebar-footer{padding:10px 20px}.sidebar-footer small{margin-left:8px;display:inline}.workspace{width:100%;margin:0}.topbar{height:60px;padding:0 18px}main{padding:24px 18px}.page-title{flex-wrap:wrap;align-items:flex-start}h1{font-size:24px}.metric-grid{gap:12px}.metric{padding:18px}.metric>strong{font-size:28px}.filters{gap:12px}.filters .search{width:100%}.search input{flex:1;width:0}.filters .field{flex:1}.padded{padding:18px}.bar-chart{gap:14px;padding:16px}.bar-column small{font-size:10px}.section-head{padding:16px 18px}.permission-groups,.repeat-row{grid-template-columns:1fr}.pager{padding:14px 18px}.login-page{grid-template-columns:1fr}.login-brand{min-height:260px;padding:45px 30px}.login-brand img{width:48px;margin-bottom:15px}.login-brand h1{margin:10px 0;font-size:25px}.login-panel{min-height:540px;padding:65px 24px 70px}.modal-header,.modal-body{padding:18px}.modal{max-height:calc(100dvh - 24px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.search-input{flex:1;align-items:center;min-width:0;display:flex;position:relative}.search-input svg{color:#69838b;pointer-events:none;width:16px;height:16px;position:absolute;left:12px}.search-input input{padding-left:36px!important}.picker .search input{min-width:80px}.pre-wrap{white-space:pre-wrap}.truncate{text-overflow:ellipsis;white-space:nowrap;max-width:300px;overflow:hidden}.markdown-preview{overflow-wrap:anywhere;overflow-x:auto}.markdown-preview>div>:first-child{margin-top:0!important}.markdown-editor .editor-content-field{margin-bottom:0;padding:12px}.editor-content-field>small.muted{margin-bottom:10px;font-size:12px;line-height:1.6;display:block}.markdown-editor .content-input{width:100%;min-height:0;padding:12px;display:block}.repeat-row>.markdown-editor{min-width:0}.settings-nav{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:24px;display:flex}.settings-nav a{border:1px solid var(--line);background:#f5f8f8;border-radius:6px;padding:10px 14px;text-decoration:none}.settings-nav a:hover{background:#e8f0f2}.settings-section{scroll-margin-top:24px}.settings-section:focus{outline:3px solid var(--brand);outline-offset:3px}.setting-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:16px;display:flex}.advanced-settings{margin:12px 0 18px}.advanced-settings summary{cursor:pointer;color:var(--brand);padding:10px 0}.advanced-settings code{overflow-wrap:anywhere}.cover-control{margin-bottom:24px}.settings-save{background:var(--card);border:1px solid var(--line);border-radius:6px;flex-wrap:wrap;padding:18px}.settings-save span{color:var(--muted);margin-right:auto}.editor-view-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.editor-operation-feedback{padding:12px 12px 0}.editor-operation-feedback:empty{display:none}.editor-operation-feedback>p{margin-bottom:8px}.editor-expanded{z-index:1100;background:var(--card);border-radius:0;flex-direction:column;margin:0;display:flex;position:fixed;inset:0;overflow:auto}.editor-expanded .editor-header{flex-wrap:wrap;flex-shrink:0}.editor-expanded .editor-writing-pane:not([hidden]){flex-direction:column;flex:1;min-height:0;display:flex}.editor-expanded .editor-toolbar,.editor-expanded .editor-extra-tools,.editor-expanded .editor-operation-feedback{flex-shrink:0}.editor-expanded .editor-content-field{flex-direction:column;flex:1;min-height:180px;display:flex}.editor-expanded .content-input{resize:none;flex:1;min-height:120px}.editor-expanded .markdown-preview{flex:1;min-height:0;overflow:auto}.notification-center{position:relative}.notification-trigger{border:1px solid var(--line);background:var(--card);width:44px;height:44px;color:var(--brand);border-radius:12px;justify-content:center;align-items:center;display:flex;position:relative}.notification-trigger:hover,.notification-trigger[aria-expanded=true]{background:var(--tint)}.notification-trigger svg{width:22px;height:22px}.notification-count{background:var(--danger);color:#fff;text-align:center;border-radius:10px;min-width:20px;padding:2px 5px;font-size:11px;font-weight:700;line-height:16px;position:absolute;top:-6px;right:-6px}.notification-popover{z-index:40;border:1px solid var(--line);background:var(--card);border-radius:16px;width:min(440px,100vw - 32px);max-height:calc(100dvh - 120px);padding:18px;position:absolute;top:calc(100% + 12px);right:0;overflow:auto;box-shadow:0 12px 36px #062a3429}.notification-heading,.notification-filters{justify-content:space-between;align-items:center;gap:12px;display:flex}.notification-heading h2{margin:0;font-size:18px}.notification-filters{border-bottom:1px solid var(--line);justify-content:flex-start;padding:10px 0}.notification-filters button[aria-pressed=true]{text-underline-offset:6px;font-weight:700;text-decoration:underline}.notification-list{margin:0;padding:0;list-style:none}.notification-list li{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:12px 0;display:flex}.notification-link{min-width:0;color:var(--ink);text-align:left;overflow-wrap:anywhere;background:0 0;border:0;border-left:3px solid #0000;border-radius:4px;flex:1;gap:4px;padding:6px 10px;display:grid}.is-unread .notification-link{border-left-color:var(--brand);background:var(--tint)}.notification-link span,.notification-link time{color:var(--muted);font-size:12px}.notification-read{flex:none;min-height:44px}.notification-empty{text-align:center;color:var(--muted);padding:24px 0}.notification-settings{min-height:44px;margin-top:14px}.email-settings{margin-bottom:24px}.email-settings summary{cursor:pointer;padding:18px 24px}.email-settings summary span{color:var(--muted);margin-left:16px;font-size:14px}.email-config-form{border-top:1px solid var(--line);padding:0 24px 24px}@media (max-width:600px){.notification-center{position:static}.notification-popover{top:calc(100% - 4px);right:16px}.email-settings summary span{margin:6px 0 0;display:block}}
