:root{--brand:#4655cd;--ink:#253149;--muted:#708096;--line:#dce1eb;--bg:#f4f6fa;--card:#fff}*{box-sizing:border-box}body{margin:0;font:14px system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--ink)}button,input,textarea,select{font:inherit}button{cursor:pointer;border:1px solid var(--line);background:white;border-radius:7px;padding:10px 14px;color:var(--ink)}button:hover{border-color:var(--brand)}button:focus-visible,a:focus-visible{outline:3px solid #aab5ff}button.primary{background:var(--brand);color:white;border-color:var(--brand)}button:disabled{opacity:.5;cursor:wait}input,textarea,select{width:100%;padding:11px;border:1px solid #c9d1df;border-radius:6px;background:white;color:var(--ink)}label{display:block;margin:14px 0;color:var(--muted);font-size:12px}label input,label textarea,label select{margin-top:7px;color:var(--ink)}input[type=checkbox]{width:18px;height:18px;margin-right:8px}header{height:64px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 24px;gap:16px}.brand{font-size:21px;font-weight:800;letter-spacing:-1px;display:flex;align-items:center;gap:10px}.mark{background:var(--brand);color:white;border-radius:9px;display:grid;place-items:center;width:32px;height:32px}.muted{color:var(--muted);font-size:12px}.pill{padding:5px 9px;background:#eef0ff;border-radius:5px;color:var(--brand);font-size:11px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.between{justify-content:space-between}.shell{display:flex;min-height:calc(100dvh - 64px)}aside{width:202px;background:white;border-right:1px solid var(--line);padding:20px 12px;flex-shrink:0}aside button{border:0;width:100%;text-align:left;margin-bottom:5px;background:transparent;padding:13px}aside button.active{background:#eef0ff;color:var(--brand);font-weight:700}main{padding:26px 30px;min-width:0;flex:1}h1{font-size:26px;letter-spacing:-1px;margin:5px 0 8px}h2{font-size:17px;margin:0 0 10px}h3{font-size:14px}p{line-height:1.8}a{color:var(--brand);text-decoration:none}.pagehead{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}.card{background:white;border:1px solid var(--line);border-radius:10px;padding:22px;margin-bottom:18px}.notice{border:1px solid #d9dff8;background:#eef0ff;padding:14px 17px;border-radius:7px;line-height:1.8;font-size:12px}.editor{display:grid;grid-template-columns:minmax(360px,1fr) minmax(400px,1.25fr);gap:22px}.editor .card{max-height:calc(100dvh - 200px);overflow:auto}.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.sectionbar{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:12px;margin:20px 0 8px}.listeditor{padding:10px 14px;border:1px solid var(--line);border-radius:8px;margin:12px 0;background:var(--bg)}iframe{width:100%;height:calc(100dvh - 280px);min-height:420px;border:1px solid var(--line);background:white;border-radius:8px}.auth{max-width:480px;margin:7vh auto}.auth .brand{margin-bottom:25px}.auth footer{font-size:11px;color:var(--muted);line-height:1.8;margin-top:20px}.table{overflow:auto}table{border-collapse:collapse;width:100%;min-width:550px}th,td{text-align:left;padding:14px 12px;border-bottom:1px solid var(--line);font-size:13px}th{background:var(--bg);color:var(--muted);font-size:12px}td small{display:block;color:var(--muted);margin-top:5px}.empty{text-align:center;color:var(--muted);padding:35px}.detail{display:grid;grid-template-columns:140px 1fr;gap:15px;padding:13px 0;border-bottom:1px solid var(--line);line-height:1.7}.detail span:first-child{color:var(--muted)}.flow{display:flex;gap:14px;flex-wrap:wrap}.flow .card{flex:1;min-width:160px}.flow strong{display:block;font-size:30px;margin-top:10px}dialog{width:min(650px,95vw);border:1px solid var(--line);border-radius:12px;padding:0;color:var(--ink);max-height:92dvh}dialog::backdrop{background:#17253c80}.modalhead{padding:20px 24px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.modalbody{padding:22px;max-height:70dvh;overflow:auto}.modalfoot{padding:16px 22px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:10px}.error{background:#fff0ef;border:1px solid #f4c9c3;padding:12px;color:#9b3325;border-radius:7px;font-size:12px}.success{background:#ecf8f0;padding:12px;border:1px solid #b8e2c9;border-radius:6px}#status{position:fixed;bottom:15px;left:50%;transform:translateX(-50%);background:#253149;color:#fff;border-radius:8px;padding:12px 20px;display:none;z-index:3;font-size:12px}.cards{display:grid;grid-template-columns:1fr 1fr;gap:20px}.nowrap{white-space:nowrap}.headername{font-size:12px;color:var(--muted)}@media(max-width:1100px){.editor{grid-template-columns:1fr}.editor .card{max-height:none}.editor iframe{height:650px}}@media(max-width:700px){header{padding:12px 15px;height:auto;min-height:64px}.brand{font-size:18px}.headername{display:none}.shell{display:block}aside{width:100%;display:flex;overflow:auto;padding:8px;border-right:0;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:1}aside button{width:auto;flex-shrink:0;padding:10px;margin:0}main{padding:18px 12px}.pagehead{display:block}.pagehead .row{margin:15px 0}.two,.cards{grid-template-columns:1fr}.editor{display:block}.card{padding:17px}.auth{margin:25px 15px}.detail{grid-template-columns:95px 1fr}.modalbody{padding:17px}.pill{font-size:10px}}
/* Unified responsive operations shell */
:root{--line:#c8d1df}header{height:58px}.shell{height:calc(100dvh - 58px);min-height:0;padding-bottom:26px;position:relative}aside{overflow:auto;padding:10px 8px;width:182px}aside button{padding:9px 12px;border-radius:4px;margin-bottom:2px;font-size:13px}main{overflow:auto;padding:20px 24px}.systembar{position:fixed;bottom:0;left:0;right:0;height:26px;padding:4px 14px;background:#e8edf5;border-top:1px solid #bbc5d5;display:flex;justify-content:space-between;font-size:11px;color:#56637b}.pagehead{margin-bottom:15px}h1{font-size:24px}.card{border-radius:7px;padding:18px;margin-bottom:14px}th{font-size:13px;color:#48576f}td,th{padding:11px 12px}.noticegrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px}.noticegrid .card{margin:0}.toolbar{display:flex;gap:12px;align-items:center;margin:10px 0}.toolbar label{margin:0;font-size:11px}.toolbar input,.toolbar select{padding:7px;margin-top:4px}.toolbar .muted{margin-left:auto}.recordtitle{margin:15px 0 10px}.previewtext{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-wrap;min-height:44px}.longtext{white-space:pre-wrap}.metric{display:block;font-size:28px;font-weight:800;margin:12px 0}.memberrow{padding:12px 0;border-bottom:1px solid var(--line)}.attachments{display:flex;gap:12px;flex-wrap:wrap;margin:15px 0}.attachment{display:flex;flex-direction:column;width:170px;border:1px solid var(--line);border-radius:6px;overflow:hidden}.attachment img{width:100%;height:110px;object-fit:cover;background:#eef0f7}.attachment span{font-size:11px;padding:8px}.narrow{max-width:520px}.state-published,.state-present,.state-finished,.state-completed,.state-alighted{background:#e5f6ed;color:#167249}.state-absent,.state-suspended,.state-cancelled{background:#fff0ee;color:#a84034}.state-requested,.state-issued,.state-waiting{background:#fff5df;color:#976919}.modalfoot{flex-wrap:wrap}.modalfoot button{padding:9px 12px}.auth{max-height:90dvh;overflow:auto}
@media(min-width:1600px){main{padding:22px 30px}.noticegrid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}}@media(max-width:700px){header{height:56px}.shell{height:calc(100dvh - 56px);display:flex;flex-direction:column}aside{position:static;width:100%;height:49px;min-height:49px;padding:6px;overflow-x:auto;overflow-y:hidden}aside button{margin:0}main{flex:1;padding:15px 12px;min-height:0}.systembar{font-size:10px;padding:5px 8px}.systembar span:first-child{max-width:45%;overflow:hidden;white-space:nowrap}.noticegrid{grid-template-columns:1fr}.toolbar{flex-wrap:wrap}.toolbar label{flex:1;min-width:100px}.pagehead .row{margin:12px 0}.flow{gap:9px}.flow .card{min-width:120px;padding:14px}.flow strong{font-size:24px}}
.attachment video{width:100%;height:130px;object-fit:contain;background:#172238}
html,body{height:100%;overflow:hidden}header .brand{white-space:nowrap;flex-shrink:0}header .row{flex-wrap:nowrap}body:has(.auth){overflow:auto}.auth .brand{white-space:nowrap}.attachment:has(video){width:240px}
@media(max-width:700px){header{padding:8px 12px;gap:8px;min-height:56px}header .brand{font-size:18px;gap:7px}header .brand>.pill{display:none}header .row{gap:6px}header .row button{padding:8px 10px;font-size:12px}.systembar span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.systembar span:last-child{max-width:53%}}
/* Role-filtered, collapsible navigation categories */
aside{width:216px;padding:10px 10px 18px;scrollbar-width:thin;scrollbar-color:#c4ccda transparent}
aside .nav-item{display:block;width:100%;text-align:left;margin:0;padding:9px 12px;border-radius:4px;font-size:13px;line-height:20px;white-space:nowrap}
aside>.mobile-menu-toggle{display:none}
.nav-group{margin-top:6px;border-top:1px solid #e0e5ef;padding-top:5px}
.nav-group summary{display:flex;align-items:center;justify-content:space-between;padding:10px 10px;min-height:40px;cursor:pointer;list-style:none;color:#5c6a80;font-size:12px;font-weight:750;letter-spacing:.1px;border-radius:4px;user-select:none}
.nav-group summary::-webkit-details-marker{display:none}
.nav-group summary:hover{background:#f1f4f9;color:#253149}
.nav-group summary:focus-visible{outline:3px solid #aab5ff;outline-offset:-2px}
.nav-group.contains-active summary{color:var(--brand)}
.nav-chevron{font-size:21px;font-weight:400;line-height:16px;transition:transform .12s}
.nav-group[open] .nav-chevron{transform:rotate(90deg)}
.nav-children{border-left:1px solid #dce2ed;margin:0 3px 7px 13px;padding-left:6px}
.nav-children .nav-item{padding:8px 10px}
aside .nav-item.active{background:#eef0ff;color:var(--brand);font-weight:700;box-shadow:inset 3px 0 var(--brand)}
@media(max-width:700px){
 aside{width:100%;display:block;flex-shrink:0;height:49px;min-height:49px;padding:5px 8px;overflow:hidden;border-bottom:1px solid var(--line);background:white}
 aside>.mobile-menu-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;height:38px;margin:0;padding:7px 10px;font-size:13px;background:#f4f6fa;border:1px solid var(--line)}
 aside>.mobile-menu-toggle>span:last-child{font-size:12px;color:var(--brand)}
 aside nav{display:none}
 aside.menu-open{position:fixed;top:56px;bottom:26px;left:0;right:0;height:auto;z-index:3;overflow-y:auto;padding:5px 10px 16px}
 aside.menu-open nav{display:block;margin-top:8px}
 aside.menu-open .mobile-menu-toggle{position:sticky;top:0;z-index:1;background:#f4f6fa}
 aside .nav-group summary{font-size:13px;min-height:44px}
 aside .nav-item{width:100%;min-height:44px}
 aside .nav-children .nav-item{padding:11px 12px}
}
.adv-actions{margin:14px 0 18px}.context-switch{font-size:12px;padding:8px 10px;white-space:nowrap;border-color:#b9c4dc}.comment{border-bottom:1px solid var(--line);padding:15px 0}.comment p{white-space:pre-wrap}.comment-list{max-height:40dvh;overflow:auto;margin-bottom:18px}.media-subjects{border:1px solid var(--line);border-radius:6px;margin-top:18px}.media-subjects label{margin:9px 0}.media-subjects legend{font-size:13px;font-weight:700}@media(max-width:700px){header .brand{font-size:16px}header .row>.pill{display:none}.context-switch{max-width:88px;overflow:hidden;text-overflow:ellipsis}header .row button{padding:7px 8px}}
