:root{color-scheme:dark;--bg:#091322;--panel:#122239;--line:#29405b;--muted:#b1c4db;--accent:#78c9ff;--text:#f4f8ff}*{box-sizing:border-box}body{margin:0;font:16px/1.6 "Segoe UI",Arial,sans-serif;background:var(--bg);color:var(--text)}header,footer{max-width:1240px;margin:auto;padding:28px 36px;display:flex;justify-content:space-between;gap:24px;align-items:center}header{border-bottom:1px solid var(--line)}.brand{font-size:26px;font-weight:800;letter-spacing:4px;color:var(--text);text-decoration:none}.brand span{display:block;font-size:12px;font-weight:400;letter-spacing:.7px;color:var(--muted)}.local{font-size:13px;color:var(--muted);border:1px solid var(--line);padding:5px 12px;border-radius:20px}main{max-width:1240px;margin:auto;padding:64px 36px;min-height:70vh}.login-layout{display:grid;grid-template-columns:1fr 440px;gap:90px;align-items:center}.eyebrow{font-size:12px;font-weight:700;letter-spacing:2.5px;color:var(--accent)}h1{font-size:46px;line-height:1.16;letter-spacing:-1.5px;margin:18px 0 24px}h2{font-size:27px;line-height:1.2;margin:10px 0 18px}h3{font-size:18px;margin:0}.intro>p:not(.eyebrow){max-width:460px;font-size:19px;color:var(--muted)}.benefits{padding-left:22px;color:var(--muted);margin-top:35px}.benefits li{margin:12px 0}.card{background:var(--panel);border:1px solid var(--line);padding:32px;border-radius:18px}.card>p,.muted{color:var(--muted)}.compact{max-width:580px;margin:auto}.compact h1{font-size:34px}.wide{max-width:1160px}.wide>.card{margin-top:24px}label{display:block;margin-bottom:8px;font-size:14px;font-weight:600}input,select{display:block;width:100%;min-height:48px;background:#0b192b;border:1px solid #516883;color:var(--text);border-radius:8px;padding:11px 13px;font:inherit}input:focus,select:focus,a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}button,.button{border:0;display:inline-flex;justify-content:center;align-items:center;gap:16px;padding:13px 22px;border-radius:8px;background:var(--accent);color:#082135;font:700 15px/1.5 "Segoe UI",sans-serif;cursor:pointer;text-decoration:none}form>button{width:100%;margin-top:12px}a{color:var(--accent);text-underline-offset:4px}.secondary{display:block;margin-top:18px;font-size:14px}.divider{border-top:1px solid var(--line);margin-top:28px}.subtle{background:#223a54;color:var(--text);width:auto}footer{font-size:12px;color:var(--muted);border-top:1px solid var(--line)}.modules{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:36px 0}.management{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px}.row{border-bottom:1px solid var(--line);padding:20px 0}.actions{display:flex;gap:12px;flex-wrap:wrap}.notice{padding:24px;background:#173c4d;border:1px solid var(--accent);border-radius:10px;margin:24px 0}.notice code{display:block;overflow-wrap:anywhere;font-size:17px}.error,.errorlist{color:#ffb7b7}.errorlist{padding-left:20px}.helptext{font-size:13px;color:var(--muted)}.helptext ul{padding-left:18px}@media(max-width:900px){.login-layout{grid-template-columns:1fr;gap:32px;max-width:560px;margin:auto}.intro h1{font-size:40px}.benefits{display:none}.modules,.management{grid-template-columns:1fr}main{padding:30px 20px}header,footer{padding:20px;flex-wrap:wrap}.card{padding:24px}}@media(max-width:430px){h1{font-size:32px}.brand{font-size:22px}.brand span{font-size:10px}.local{font-size:11px}.actions{display:block}}
.table-scroll{overflow-x:auto;margin:28px 0;border:1px solid var(--line);border-radius:12px}table{width:100%;border-collapse:collapse;text-align:left}caption{text-align:left;font-size:20px;font-weight:700;padding:20px}th,td{padding:14px 18px;border-top:1px solid var(--line);vertical-align:top}th{color:var(--muted);font-size:13px}tbody tr:nth-child(2n){background:var(--panel)}#connection{color:var(--accent)}button:disabled{opacity:.55;cursor:wait}

:root{color-scheme:light;--bg:#f3f6fa;--panel:#fff;--line:#dfe7ee;--muted:#63778a;--accent:#1263df;--text:#1b3146;--navy:#102c43}body{font-size:15px}.app-shell{min-height:100vh}.workspace .app-shell{display:grid;grid-template-columns:230px minmax(0,1fr)}.sidebar{background:var(--navy);color:#dce9f5;padding:34px 22px;display:flex;flex-direction:column}.sidebar .brand{color:white;font-size:24px;letter-spacing:2px;white-space:nowrap}.brand .brand-icon{display:inline;font-size:35px;color:#65baff}.brand-sub{font-size:10px;color:#9cb8ce;letter-spacing:2px;margin:5px 0 38px}.sidebar nav a,.nav-disabled{display:flex;gap:12px;align-items:center;padding:12px;border-radius:8px;margin:4px 0;font-size:13px;text-decoration:none;color:#dce9f5;flex-wrap:wrap}.sidebar nav a:hover{background:#1c3e59}.sidebar nav a[aria-current=page]{background:#255379;box-shadow:inset 3px 0 #69c8ff}.sidebar small{color:#a6c3da}.nav-disabled{color:#9cb0c0}.nav-disabled em{font-size:10px;font-style:normal;display:block;width:100%;padding-left:27px;color:#94b2c9}.sidebar-end{margin-top:auto;padding:50px 10px 10px;font-size:12px;color:#a1b8ca}.nav-divider{border-top:1px solid #355067;margin:25px 10px}.topbar{height:80px;background:white;max-width:none;padding:0 38px;margin:0}.breadcrumb{color:var(--muted);font-size:13px}.breadcrumb b{color:var(--text);margin-left:8px}.local{font-size:11px;background:#eaf2f9;color:#466886;border:0}.app-main{min-width:0}.app-main main{padding:34px 38px;max-width:1350px;min-height:70vh}.app-main footer{max-width:none;padding:20px 38px;background:white;font-size:11px}h1{font-size:35px;line-height:1.2;margin:7px 0 15px;letter-spacing:-1px}h2{font-size:21px;line-height:1.3;margin:0 0 15px}h3{font-size:17px}.eyebrow{font-size:11px;letter-spacing:2px;margin:0 0 8px}.lead{color:var(--muted);font-size:16px;max-width:780px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-top:28px;gap:16px}.section-heading span{font-size:12px;color:var(--muted)}.section-heading h2{margin:0}.modules{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:20px 0}.module-card{background:white;border:1px solid var(--line);padding:24px;border-radius:18px;display:flex;flex-direction:column}.module-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:15px}.module-top small{text-transform:uppercase;letter-spacing:1.5px;font-size:10px;color:var(--muted)}.module-number{background:#edf4ff;border:1px solid #dbe8fc;color:var(--accent);padding:8px 12px;border-radius:10px;font-weight:700}.module-card h2{margin:0 0 7px}.module-card p{color:var(--muted);margin:0 0 17px;font-size:14px}.module-bottom{border-top:1px solid #edf1f5;margin-top:18px;padding-top:14px;display:flex;justify-content:space-between;gap:15px;align-items:center;font-size:12px}.module-bottom span{color:var(--muted)}.module-bottom a{font-weight:650;text-decoration:none}.process-strip{display:flex;gap:16px;justify-content:space-between;padding:22px;background:#e7eef6;border-radius:15px;font-size:13px}.process-strip b{color:#7296b5}.logout-form{margin-top:28px}.logout-form button{width:auto}.card{padding:25px;background:white}.management{grid-template-columns:1.2fr 1fr}.notice{padding:18px 20px;background:#e8f1fd;color:#30587f;border:0;border-left:3px solid #4d92e6;border-radius:0 10px 10px 0;font-size:14px}.notice p:last-child{margin-bottom:0}.sector-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.sector-card{padding:24px;border:1px solid var(--line);border-radius:15px;background:white;text-decoration:none}.sector-card:hover{border-color:#8cb2e3}.sector-card h2{font-size:18px;color:var(--text)}.sector-card p{font-size:13px;color:var(--muted)}.sector-card span{font-size:13px}.status-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.empty{border:1px dashed #cdd9e5;border-radius:12px;text-align:center;padding:28px 20px;background:#f7f9fc}.empty p{color:var(--muted);font-size:14px}.steps{padding-left:22px}.steps li{padding:7px 0}.steps p{color:var(--muted);font-size:14px}.back{margin-top:28px;font-size:14px}.subtle{background:#e5edf7;color:#234b70}button,.button{background:var(--accent);color:white}input,select,textarea{background:#fff;border:1px solid #9eb0c2;color:var(--text);font:inherit;border-radius:8px;padding:11px 13px}textarea{width:100%;resize:vertical}input:focus,select:focus,textarea:focus,a:focus-visible,button:focus-visible{outline:3px solid #e39c36;outline-offset:3px}.error,.errorlist{color:#a42935}.public-access .brand{color:var(--navy)}.public-access .topbar{padding:20px 36px}.public-access .app-main main{padding-top:55px}.public-access .compact{max-width:650px}.survey-form{max-width:880px;margin-top:28px}.survey-form fieldset{border:0;border-bottom:1px solid var(--line);padding:18px 0 25px;margin:0 0 20px;min-width:0}.survey-form legend{font-size:17px;font-weight:650;padding:0}.survey-form label{display:flex;align-items:flex-start;gap:11px;font-size:14px;font-weight:400;margin:10px 0}.survey-form input[type=checkbox]{width:18px;height:18px;min-height:18px;margin:3px 0;flex-shrink:0;accent-color:var(--accent)}.survey-form button{width:auto}.survey-form select{max-width:530px}.review-list dt{font-weight:650;margin:20px 0 6px}.review-list dd{margin:0;color:var(--muted)}.review-list dd p{margin:3px 0}.skip{position:absolute;left:-9999px;z-index:20}.skip:focus{left:15px;top:10px;background:white;padding:10px}.table-scroll{background:white}th,td{padding:13px 15px}tbody tr:nth-child(2n){background:#f7f9fc}.actions{align-items:center}form.actions>button{width:auto}.management .actions{align-items:stretch}.row{overflow-wrap:anywhere}.card>h2{color:var(--text)}
@media(max-width:1050px){.workspace .app-shell{grid-template-columns:195px minmax(0,1fr)}.sidebar{padding:25px 13px}.topbar{padding:0 25px}.app-main main{padding:28px 25px}.management{grid-template-columns:1fr}.process-strip{gap:8px;font-size:12px}.section-heading span{text-align:right;max-width:150px}}
@media(max-width:700px){.workspace .app-shell{display:block}.sidebar{padding:18px 20px}.brand-sub,.sidebar-end,.nav-divider{display:none}.sidebar nav{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-top:14px}.sidebar nav>a:first-child{grid-column:1/-1}.sidebar nav a,.nav-disabled{margin:0;padding:8px;font-size:12px}.nav-disabled em{padding-left:0}.topbar{padding:0 20px;height:64px;gap:12px}.app-main main{padding:25px 20px}.app-main footer{padding:20px;display:block}.app-main footer span{display:block;margin:4px 0}.modules,.sector-grid,.status-grid{grid-template-columns:1fr}.module-card{padding:22px}.process-strip{display:grid;grid-template-columns:1fr 1fr}.process-strip b{display:none}h1{font-size:29px}.section-heading{align-items:start}.section-heading h2{font-size:18px}.section-heading span{font-size:10px}.local{font-size:10px;padding:5px 8px}.breadcrumb{font-size:12px}.survey-form{padding:20px}.survey-form legend{font-size:16px}.survey-form select{width:100%}.public-access .topbar{padding:18px 20px}.intro h1{font-size:34px}.table-scroll{max-width:100%}.management{gap:15px}.actions{display:flex;flex-wrap:wrap}}
.network-shortcut{grid-column:1/-1;display:block;background:#e4eef9;color:#244e78;padding:10px 24px;font-size:13px;font-weight:650;text-decoration:none;border-bottom:1px solid #cadbeb}.domain-hub{background:linear-gradient(120deg,#102c43,#205785);color:white;padding:32px;border-radius:20px;margin:24px 0}.domain-hub h2{font-size:34px;color:white;margin:14px 0 8px}.domain-hub p{color:#d2e5f7}.domain-hub a{color:#a9ddff}.domain-pill{display:inline-block;font-size:10px;letter-spacing:1.5px;background:#e5f0ff;color:#24537f;padding:6px 10px;border-radius:7px;margin-bottom:12px}.domain-card .domain-address,.domain-address{color:#195eaa;font-size:15px;font-weight:650;overflow-wrap:anywhere}.domain-card{border-top:4px solid #5eacee}.domain-card .module-bottom{margin-top:auto}.domain-card>small{margin-bottom:20px}@media(max-width:700px){.domain-hub{padding:24px}.domain-hub h2{font-size:29px}.network-shortcut{padding:10px 20px}}
.workshop-controls{display:grid;grid-template-columns:1fr 1fr;gap:16px}.workshop-controls label{display:grid;gap:8px}.workshop-controls p{grid-column:1/-1;margin:0}.workshop-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.workshop-metrics strong{display:block;font-size:30px;color:#155ec0}.workshop-tabs{margin:20px 0}.workshop-tabs button[aria-pressed=true]{background:#102c43}.workshop-actions{margin:20px 0;gap:10px}.workshop button:disabled{opacity:.45;cursor:not-allowed}.workshop-journal-entry{padding:16px 0;border-bottom:1px solid #dfe7ee}.workshop-journal-entry p{margin:6px 0}.workshop-dialog{border:0;border-radius:16px;padding:28px;max-width:620px;width:calc(100% - 32px);max-height:85vh;overflow:auto;color:#1b3146}.workshop-dialog::backdrop{background:#102c4399}.workshop-dialog label{display:grid;gap:6px;margin:12px 0}.workshop-dialog [hidden]{display:none!important}.workshop-dialog .actions{margin-top:20px}.workshop input[type=search]{width:100%;max-width:550px}@media(max-width:700px){.workshop-controls{grid-template-columns:1fr}.workshop-metrics{grid-template-columns:1fr}.workshop-tabs{display:grid;grid-template-columns:1fr 1fr}.workshop-dialog{padding:20px}}

/* Explicit workspace access management. */
.access-badge{display:inline-block;margin:.2rem .35rem .2rem 0;padding:.35rem .65rem;background:#e7f1ff;color:#174575;border-radius:2rem;font-size:.85rem}.access-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.access-actions form{margin:0}.access-management details{padding:1rem 0}.access-management summary{cursor:pointer;font-weight:650}.access-management input[type=checkbox]{width:auto;margin-right:.6rem}.access-management .helptext{font-size:.85rem;color:#52667e}.access-management #id_workspace_scopes label{display:block;margin:.55rem 0}.access-management .row{padding:1rem 0;border-bottom:1px solid #dce5ef}.access-management h2{overflow-wrap:anywhere}

.access-management [id$="workspace_scopes"] label{display:flex;align-items:center;gap:.6rem;margin:.65rem 0;padding:.5rem;border-radius:.5rem;background:#f3f7fc}.access-management [id$="workspace_scopes"] input[type=checkbox]{display:inline-block;flex:0 0 20px;width:20px;height:20px;min-height:20px;margin:0;padding:0;accent-color:#1263df}.access-management fieldset{min-width:0;border:1px solid #dce5ef;border-radius:10px;padding:16px}.access-management legend{font-size:.8rem;color:#52667e}

.access-management .status-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr))}.access-management .status-grid h2{overflow-wrap:normal}

.quality-desk details{margin-top:24px}.quality-desk summary{cursor:pointer;font-weight:650}.quality-desk .workshop-metrics strong{font-size:27px}.quality-desk .module-card{min-width:0}.quality-desk .row form{max-width:520px}
