/* Cabinet layout: all selectors remain inside the desk page. */
body.desk-page{--desk-border:var(--line,#d8dfeb);background:var(--wash,#f4f6fa);color:var(--ink,#17233a)}
.desk-page .access-workspace{max-width:1600px;margin:auto;padding:0 32px 48px}
.desk-page .desk-topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:88px;border-bottom:1px solid var(--desk-border);margin:0}
.desk-page .desk-brand{display:flex;align-items:baseline;gap:14px;font-size:26px;font-weight:750;letter-spacing:-1px;text-decoration:none;color:var(--ink)}
.desk-page .desk-brand span{font-size:13px;font-weight:450;letter-spacing:0;color:var(--muted)}
.desk-page .desk-account{display:flex;align-items:center;gap:22px;font-size:13px}
.desk-page .desk-account a{text-decoration:none}
.desk-page .desk-account button{width:auto;padding:10px 14px;min-height:42px;font-size:12px;background:var(--surface,#fff);color:var(--ink);border:1px solid var(--desk-border)}
.desk-page .desk-notice{font-size:12px;line-height:1.5;color:var(--muted);padding:12px 0;margin:0;max-width:110ch}
.desk-page .desk-layout{display:grid;grid-template-columns:228px minmax(0,1fr);gap:34px;margin-top:12px}
.desk-page [hidden]{display:none!important}
.desk-page .desk-sidebar{position:sticky;top:16px;align-self:start;padding-right:22px;border-right:1px solid var(--desk-border);background:transparent;min-width:0}
.desk-page .desk-home{display:block;background:var(--soft,#eeedfc);color:var(--ink);text-decoration:none;border-radius:7px;padding:12px;font-size:14px;font-weight:650}
.desk-page .desk-sidebar h2{font-size:12px;font-weight:550;color:var(--muted);margin:26px 12px 12px}
.desk-page #sections{display:grid;gap:3px}
.desk-page #sections a{font-size:13px;line-height:1.4;text-decoration:none;padding:10px 12px;border-radius:6px;color:var(--ink)}
.desk-page #sections a:hover{background:var(--soft,#eeedfc)}
.desk-page .desk-content{min-width:0}
.desk-page .desk-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 28px;padding:0}
.desk-page #identity{font-size:13px;color:var(--muted);margin:0 0 8px}
.desk-page #title{font-size:32px;line-height:1.15;letter-spacing:-.8px;margin:0}
.desk-page .desk-environment{font-size:11px;white-space:nowrap;border:1px solid var(--desk-border);border-radius:20px;padding:7px 11px;color:var(--muted)}
.desk-page .desk-start{display:grid;grid-template-columns:1.3fr 1fr;gap:32px;padding:28px;background:var(--surface,#fff);border:1px solid var(--desk-border);border-radius:12px}
.desk-page h2{font-size:19px;line-height:1.3;margin:0 0 12px;letter-spacing:-.3px}
.desk-page h3{font-size:14px;margin:0 0 10px}
.desk-page #start,.desk-page #mission{font-size:14px;line-height:1.65;margin:0;max-width:65ch}
.desk-page .desk-mission{border-left:1px solid var(--desk-border);padding-left:28px;color:var(--muted)}
.desk-page .desk-primary{display:inline-flex;align-items:center;min-height:44px;background:var(--blue,#4741b6);color:var(--accent-text,#fff);text-decoration:none;border-radius:7px;padding:11px 18px;margin-top:23px;font-size:14px;font-weight:650}
.desk-page .desk-primary:hover{background:var(--hover,#3d39b4)}
.desk-page .desk-route-panel{margin:32px 0}
.desk-page .desk-route-help{font-size:13px;color:var(--muted);margin:0 0 20px;line-height:1.5}
.desk-page .desk-routes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px}
.desk-page .desk-routes a{display:flex;flex-direction:column;gap:7px;text-decoration:none;padding:19px 0;border-bottom:1px solid var(--desk-border)}
.desk-page .desk-routes strong{font-size:14px;font-weight:650}
.desk-page .desk-routes span{font-size:12px;line-height:1.6;color:var(--muted);max-width:66ch}
.desk-page .desk-routes a:hover strong{text-decoration:underline}
.desk-page .desk-guide{border-top:1px solid var(--desk-border);padding:20px 0}
.desk-page .desk-guide summary{font-size:14px;font-weight:600;cursor:pointer}
.desk-page .desk-guide-content{padding-top:20px;font-size:13px;line-height:1.7;max-width:100ch}
.desk-page .desk-guide-note{color:var(--muted)}
.desk-page .desk-guide-columns{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:24px 0}
.desk-page .desk-guide h2{font-size:16px;margin-top:22px}
.desk-page .desk-guide h3{margin-top:22px}
.desk-page .desk-guide li{margin-bottom:10px}
.desk-page a:focus-visible,.desk-page button:focus-visible{outline:3px solid var(--focus,#5b52d7);outline-offset:3px}
@media(max-width:950px){.desk-page .access-workspace{padding:0 20px 32px}.desk-page .desk-layout{grid-template-columns:190px minmax(0,1fr);gap:22px}.desk-page .desk-start{grid-template-columns:1fr;gap:22px;padding:22px}.desk-page .desk-mission{border-left:0;border-top:1px solid var(--desk-border);padding:20px 0 0}.desk-page .desk-brand span{display:none}.desk-page .desk-account{gap:14px}.desk-page .desk-routes{grid-template-columns:1fr}}
@media(max-width:650px){.desk-page .access-workspace{padding:0 16px 28px}.desk-page .desk-topbar{align-items:flex-start;padding:20px 0;min-height:0;flex-wrap:wrap;gap:16px}.desk-page .desk-account{flex-wrap:wrap;gap:12px;font-size:12px}.desk-page .desk-layout{display:flex;flex-direction:column;gap:24px}.desk-page .desk-sidebar{position:static;border-right:0;border-bottom:1px solid var(--desk-border);padding:0 0 16px}.desk-page .desk-sidebar h2{margin:18px 0 10px}.desk-page #sections{display:flex;overflow-x:auto;gap:6px;padding:3px 3px 8px}.desk-page #sections a{flex:0 0 auto;max-width:230px;border:1px solid var(--desk-border);font-size:12px;padding:9px 11px}.desk-page .desk-heading{gap:12px;flex-wrap:wrap}.desk-page #title{font-size:27px}.desk-page .desk-start{padding:20px}.desk-page .desk-guide-columns{grid-template-columns:1fr;gap:0}}

.desk-page{--blue:#2c568c;--desk-accent:#2c568c;--desk-accent-hover:#214572;--hover:#214572;--focus:#448bc3;--soft:#e5edf6}
html[data-theme=booth] .desk-page{--blue:#a8c8ef;--desk-accent:#396b9b;--desk-accent-hover:#315c86;--hover:#315c86;--soft:#263c54}
.desk-page .desk-topbar{flex-wrap:nowrap}
.desk-page .desk-topbar>.theme-picker{display:flex;flex-direction:row;align-items:center;gap:8px;flex:0 0 auto;min-width:0;width:auto;margin:0;font-size:12px}
.desk-page .desk-topbar>.theme-picker select{width:142px;min-width:0;height:36px;min-height:36px;margin:0;font-size:12px;padding:6px 10px}
.desk-page .desk-brand,.desk-page .desk-account{flex:0 0 auto}
.desk-page .desk-brand span{display:none}
.desk-page #identity,.desk-page #title,.desk-page .desk-routes a{overflow-wrap:anywhere}
@media(max-width:850px){.desk-page .desk-topbar{flex-wrap:wrap}.desk-page .desk-account{flex:1 1 auto}.desk-page .desk-topbar>.theme-picker{margin-left:auto}.desk-page .desk-topbar>.theme-picker>span{display:none}}

@media(max-width:650px){.desk-page .desk-sidebar{align-self:stretch;width:100%;max-width:100%;box-sizing:border-box}.desk-page #sections{max-width:100%;box-sizing:border-box}.desk-page .desk-content{width:100%;min-width:0}}

.desk-page .desk-activity{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:28px}.desk-page .desk-activity-group{min-width:0;padding:24px;background:var(--surface);border:1px solid var(--desk-border);border-radius:12px;overflow-wrap:anywhere}.desk-page .desk-activity-group>p{font-size:13px;color:var(--muted)}.desk-page .desk-activity-group ul{padding:0;list-style:none}.desk-page .desk-activity-group li{padding:16px 0;border-top:1px solid var(--desk-border);font-size:14px}.desk-page .desk-activity-group li p{font-size:13px;line-height:1.6;margin:7px 0}.desk-page .desk-activity-group small{display:block;font-size:12px;line-height:1.6;color:var(--muted);margin-top:14px}@media(max-width:950px){.desk-page .desk-activity{grid-template-columns:1fr}}

.desk-page .desk-primary{background:var(--desk-accent);color:#fff}.desk-page .desk-primary:hover{background:var(--desk-accent-hover)}

.desk-page .desk-upcoming{margin-top:28px;padding:24px;border:1px solid var(--desk-border);border-radius:12px;background:var(--surface);overflow-wrap:anywhere}.desk-page .desk-upcoming>p{font-size:13px;color:var(--muted)}.desk-page .desk-show{padding:20px 0;border-top:1px solid var(--desk-border);font-size:14px}.desk-page .desk-show p,.desk-page .desk-show li{font-size:13px;line-height:1.6;margin:7px 0}.desk-page .desk-show details{margin:12px 0}.desk-page .desk-upcoming small{display:block;font-size:12px;color:var(--muted);line-height:1.6;margin-top:14px}

.desk-page .desk-skip{position:fixed;top:12px;left:16px;z-index:10;padding:12px 16px;background:var(--surface,#fff);color:var(--ink,#17233a);border:2px solid var(--focus,#448bc3);border-radius:6px;transform:translateY(-200%)}
.desk-page .desk-skip:focus{transform:translateY(0)}
.desk-page #desk-content{scroll-margin-top:24px}
/* Operations edition. Stable navigation, compact hierarchy, real work first. */
.desk-page{--ink:#242b36;--muted:#697386;--surface:#fff;--wash:#f6f7f9;--line:#e0e4eb;--desk-border:#e0e4eb;--desk-accent:#315bea;--desk-accent-hover:#2449c9;--soft:#edf1fc;font-family:'Helvetica Neue','Segoe UI',Arial,sans-serif;background:var(--wash)}
.desk-page .access-workspace{max-width:none;margin:0;padding:0 32px 40px 256px;min-height:100vh}
.desk-page .desk-topbar{min-height:68px;gap:18px;background:var(--surface);margin:0 -32px;padding:0 32px;border-bottom:1px solid var(--desk-border)}
.desk-page .desk-brand{font-size:17px;letter-spacing:-.5px;font-weight:600}
.desk-page .desk-account{margin-left:auto;font-size:12px;gap:18px}
.desk-page .desk-account a{color:var(--muted)}
.desk-page .desk-account button{min-height:34px;height:34px;font-size:12px;padding:6px 12px;border-radius:6px}
.desk-page .desk-topbar>.theme-picker select{height:34px;min-height:34px;width:118px;border-radius:6px}
.desk-page .desk-notice{font-size:11px;min-height:34px;padding:12px 0 6px;max-width:none;color:var(--muted)}
.desk-page .desk-layout{display:block;margin-top:16px}
.desk-page .desk-sidebar{position:fixed;inset:0 auto 0 0;top:0;align-self:auto;width:224px;height:100dvh;box-sizing:border-box;background:#222833;color:#e0e6ee;padding:26px 14px;border:0;overflow-y:auto}
.desk-page .desk-sidebar-brand{display:block;color:#fff;font-size:25px;font-weight:650;letter-spacing:-1px;text-decoration:none;padding:0 12px 30px}
.desk-page .desk-sidebar-brand span{display:block;font-size:10px;font-weight:450;letter-spacing:0;color:#abb6c8;margin-top:8px}
.desk-page .desk-home{background:#3b465b;color:#fff;font-size:13px;border-radius:6px;padding:11px 13px}
.desk-page .desk-sidebar h2{font-size:10px;color:#aeb8c9;font-weight:500;margin:26px 13px 9px}
.desk-page #sections{gap:2px}
.desk-page #sections a{color:#c4cddc;font-size:12px;line-height:1.4;padding:10px 13px;border-radius:5px}
.desk-page #sections a:hover{background:#303a4b;color:#fff}
.desk-page .desk-content{max-width:1376px;margin:auto}
.desk-page .desk-heading{margin:0 0 25px;gap:18px}
.desk-page #identity{font-size:12px;line-height:1.5;margin-bottom:8px}
.desk-page #title{font-size:29px;font-weight:600;letter-spacing:-1px}
.desk-page .desk-environment{border-radius:5px;font-size:10px;padding:5px 9px;background:var(--surface);color:var(--muted)}
.desk-page h2{font-size:16px;font-weight:600;letter-spacing:-.3px}
.desk-page h3{font-size:13px;font-weight:600}
.desk-page .desk-start{background:var(--surface);border:1px solid var(--desk-border);border-radius:8px;padding:24px;gap:28px;grid-template-columns:1.45fr 1fr;box-shadow:0 1px 2px #172b4d03}
.desk-page #start,.desk-page #mission{font-size:13px;line-height:1.65}
.desk-page .desk-mission{padding-left:26px}
.desk-page .desk-primary{font-size:12px;min-height:36px;border-radius:6px;margin-top:18px;padding:9px 14px}
.desk-page .desk-route-panel{margin:26px 0;background:var(--surface);border:1px solid var(--desk-border);border-radius:8px;padding:22px 24px}
.desk-page .desk-route-help{font-size:11px;line-height:1.5;margin-bottom:9px}
.desk-page .desk-routes{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.desk-page .desk-routes a{padding:16px 0 9px;border-bottom:0;gap:8px}
.desk-page .desk-routes strong{font-size:13px}
.desk-page .desk-routes span{font-size:12px;line-height:1.6}
.desk-page .desk-activity{gap:20px;margin-top:22px}
.desk-page .desk-activity-group,.desk-page .desk-upcoming{border-radius:8px;padding:22px 24px;box-shadow:none}
.desk-page .desk-activity-group>p,.desk-page .desk-upcoming>p{font-size:12px}
.desk-page .desk-activity-group li{padding:13px 0;font-size:13px}
.desk-page .desk-guide{border-top:0;margin-top:24px;padding-top:0;color:var(--muted)}
.desk-page .desk-guide summary{font-size:12px;font-weight:500}
.desk-page .desk-guide-content{color:var(--ink)}
html[data-theme=booth] .desk-page{--ink:#e2e7ef;--muted:#a5afc0;--surface:#242c39;--wash:#1b222d;--line:#404a5a;--desk-border:#404a5a;--soft:#303e57;--desk-accent:#315bea;--desk-accent-hover:#456cf0}
html[data-theme=contrast] .desk-page{--ink:#000;--muted:#242424;--surface:#fff;--wash:#fff;--line:#333;--desk-border:#333;--desk-accent:#173fb0;--soft:#e3eaff}
html[data-theme=contrast] .desk-page #sections a{color:#fff}
@media(max-width:1050px){.desk-page .access-workspace{padding-left:218px;padding-right:24px}.desk-page .desk-sidebar{width:194px}.desk-page .desk-topbar{margin:0 -24px;padding:0 24px;flex-wrap:wrap;gap:12px}.desk-page .desk-account{gap:12px}.desk-page .desk-topbar>.theme-picker>span{display:none}.desk-page .desk-start{grid-template-columns:1fr}.desk-page .desk-mission{border-left:0;border-top:1px solid var(--desk-border);padding:18px 0 0}.desk-page .desk-routes{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.desk-page .access-workspace{padding:0 16px 28px}.desk-page .desk-topbar{margin:0 -16px;padding:16px;min-height:0;gap:14px}.desk-page .desk-brand{font-size:20px}.desk-page .desk-account{order:3;width:100%;margin:0;font-size:11px;justify-content:space-between}.desk-page .desk-account button{font-size:11px}.desk-page .desk-topbar>.theme-picker{margin-left:auto}.desk-page .desk-sidebar{position:static;width:100%;height:auto;padding:12px;border-radius:8px;overflow:visible;margin-bottom:24px}.desk-page .desk-sidebar-brand{display:none}.desk-page .desk-sidebar h2{margin:15px 6px 8px}.desk-page .desk-home{font-size:12px;padding:9px}.desk-page #sections{display:flex;overflow-x:auto;padding:0 0 4px;gap:4px}.desk-page #sections a{flex:0 0 auto;max-width:220px;font-size:11px;border:0;padding:9px;background:#303949;color:#e0e7f3}.desk-page #title{font-size:25px}.desk-page .desk-start,.desk-page .desk-route-panel,.desk-page .desk-upcoming,.desk-page .desk-activity-group{padding:20px}.desk-page .desk-routes,.desk-page .desk-activity{grid-template-columns:1fr;gap:12px}.desk-page .desk-heading{margin-bottom:20px}.desk-page .desk-layout{display:block}}
@media(prefers-reduced-motion:reduce){.desk-page *{scroll-behavior:auto;transition:none}}

/* A widget that failed on its own keeps the desk usable and says how to retry. */
.desk-widget-failure{margin:0;padding:12px 14px;border:1px solid var(--line);border-radius:8px;color:var(--muted);font-size:13px;line-height:1.5}
