/* Studio: canonical TSL tokens, a deliberate working density, one workspace at a time. */
.studio-v30{--s30-radius:14px}.studio-v30 .s30-shell{max-width:1600px;margin:auto;padding:0 4vw 48px;font:400 16px/1.5 var(--ui);color:var(--ink)}
.s30-shell :is(h1,h2,h3,p){margin:0;text-wrap:pretty}.s30-shell :is(h1,h2,h3){font-weight:550;letter-spacing:-.035em;line-height:1.2}.s30-shell h1{font-size:32px}.s30-shell h2{font-size:clamp(26px,2.7vw,36px)}.s30-shell h3{font-size:21px}.s30-shell svg{width:21px;height:21px;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.s30-shell [hidden]{display:none!important}
.s30-top{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;border-bottom:1px solid var(--line)}.s30-breadcrumb{color:var(--muted)}.s30-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.s30-badge{display:inline-flex;align-items:center;font-size:16px;line-height:1.4;padding:5px 10px;background:var(--soft-blue);color:var(--accent);border-radius:6px;white-space:nowrap}.s30-text-link{color:var(--accent);display:inline-flex;align-items:center;min-height:44px;text-decoration:none}.s30-layout{display:grid;grid-template-columns:176px minmax(0,1fr);gap:32px}.s30-nav{align-self:start;position:sticky;top:96px;padding-top:28px;display:grid;gap:3px}.s30-nav-title{font-size:16px;color:var(--muted);padding:0 12px 10px}.s30-nav a{display:flex;align-items:center;gap:10px;min-height:44px;padding:9px 12px;font-size:16px;border-radius:8px;text-decoration:none;color:var(--muted);transition:background .18s,color .18s}.s30-nav a:hover{background:var(--panel);color:var(--ink)}.s30-nav a[aria-current]{background:var(--soft-blue);color:var(--accent);font-weight:550}.s30-nav a.s30-nav-divider{margin-top:14px}.s30-main{min-width:0;padding-top:28px}.s30-titlebar{display:flex;gap:20px;align-items:center;justify-content:space-between;margin-bottom:26px}.s30-titlebar p{font-size:16px;color:var(--muted)}.s30-workspace{min-height:480px}.s30-heading{display:flex;align-items:start;justify-content:space-between;gap:28px;margin:0 0 28px}.s30-heading>div{max-width:700px}.s30-heading p{color:var(--muted);margin-top:12px;max-width:70ch}.s30-heading>button{flex:none}.s30-mobile-navigation{display:none!important}
.s30-shell .s30-button,.s30-dialog .s30-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:9px 18px;font:500 16px/1.4 var(--ui);border:1px solid var(--line);border-radius:24px;background:var(--paper);color:var(--ink);text-decoration:none;cursor:pointer;white-space:normal}.s30-shell .s30-button:hover{background:var(--panel)}.s30-shell .s30-primary{background:var(--accent);border-color:var(--accent);color:var(--paper)}.s30-shell .s30-circle{padding:0;flex:0 0 44px;width:44px;min-width:44px;height:44px;min-height:44px;max-height:44px;border-radius:50%;display:grid;place-items:center;font-size:25px;background:none;border:1px solid var(--line);color:var(--ink)}.s30-shell button:disabled{opacity:.5;cursor:not-allowed}.s30-help,.s30-muted{color:var(--muted);font-size:16px;line-height:1.5}.s30-help{margin-top:16px!important}.s30-shell .is-error{color:#a4392d}[data-theme=dark] .s30-shell .is-error{color:#ffb4aa}
.s30-field{display:flex;flex-direction:column;gap:7px;font-size:16px;margin:0;min-width:0;color:var(--muted)}.s30-field :is(input,textarea,select){width:100%;min-width:0;border:1px solid var(--line);border-radius:8px;padding:10px 13px;min-height:46px;background:var(--paper);color:var(--ink);font:400 16px/1.5 var(--ui)}.s30-field textarea{resize:vertical}.s30-form{display:grid;gap:20px;margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}.s30-form>.s30-button{justify-self:start}.s30-tools{display:flex;align-items:end;gap:16px;flex-wrap:wrap;padding:20px;background:var(--panel);border-radius:12px}.s30-tools>.s30-field{flex:1 1 145px}.s30-tools>.s30-field:first-child{flex:2 1 220px}.s30-tools .tsl-select{width:100%}.s30-tools .tsl-select-trigger{width:100%;background:var(--paper)}.s30-list-status{margin:18px 0 10px!important;color:var(--muted)}.s30-list{min-width:0}.s30-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:none;color:var(--ink);text-align:left;font:400 16px/1.45 var(--ui);min-height:72px}.s30-row>div{min-width:0}.s30-row strong{display:block;font-weight:550;font-size:17px;line-height:1.4;overflow-wrap:anywhere}.s30-row span:not(.s30-badge){display:block;color:var(--muted);margin-top:5px;font-size:16px;overflow-wrap:anywhere}.s30-row svg{color:var(--accent)}button.s30-row:hover{background:var(--panel)}.s30-pages .tsl-pagination{margin-top:22px}.s30-empty{padding:42px 24px;text-align:center;border:1px dashed var(--line);border-radius:12px;color:var(--muted)}.s30-empty>svg{width:32px;height:32px;margin:0 auto 14px}.s30-empty h3{color:var(--ink);margin-bottom:10px}.s30-empty p{max-width:50ch;margin:auto}.s30-empty button{margin-top:22px}.s30-split{display:grid;grid-template-columns:minmax(240px,.85fr) minmax(0,1.4fr);gap:30px}.s30-detail{border-left:1px solid var(--line);padding-left:30px;min-width:0}.s30-detail h3{font-size:27px;margin:16px 0}.s30-prose{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7;margin:24px 0!important}.s30-detail-back{display:none!important}
.s30-today-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:26px}.s30-today-note{position:relative;overflow:hidden;border-radius:16px;background:var(--soft-blue);padding:30px;min-height:335px;display:flex;align-items:start;flex-direction:column}.s30-eyebrow{font-size:16px;letter-spacing:.1em;color:var(--accent);font-weight:600}.s30-today-note h3{font-size:32px;margin-top:20px;max-width:14ch;position:relative;z-index:1}.s30-today-note>p:not(.s30-eyebrow){margin:14px 0 24px;color:var(--muted);max-width:34ch}.s30-today-note button{position:relative;z-index:1;margin-top:auto}.s30-wave{position:absolute;width:55%;right:-18px;bottom:14px;color:var(--accent);opacity:.2;pointer-events:none}.s30-wave svg{width:100%;height:auto;stroke-width:1}.s30-task-list{padding:10px 0}.s30-task-list h3{margin-bottom:14px}.s30-task{display:grid;grid-template-columns:1fr 34px 20px;gap:15px;align-items:center;width:100%;padding:16px 0;background:none;border:0;border-radius:0;border-bottom:1px solid var(--line);color:var(--ink);text-align:left;min-height:61px;font:400 16px/1.4 var(--ui)}.s30-task strong{font-size:20px;font-weight:500;font-variant-numeric:tabular-nums;color:var(--accent);text-align:right}.s30-task:hover{background:var(--panel)}.s30-recent{grid-column:1/-1;margin-top:14px}.s30-recent h3{margin-bottom:16px}.s30-calendar-bar{display:flex;align-items:center;gap:16px;margin-bottom:22px}.s30-calendar-bar h3{flex:1}.s30-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.s30-calendar:has(.s30-empty){display:block;border:0}.s30-day-name{color:var(--muted);font-size:16px;padding:12px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.s30-day,.s30-calendar-blank{min-height:112px;padding:9px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0}.s30-day>span{display:grid;place-items:center;width:28px;height:28px;font-variant-numeric:tabular-nums;font-size:16px}.s30-day.is-today>span{background:var(--accent);color:var(--paper);border-radius:50%}.s30-calendar-entry{font:500 16px/1.4 var(--ui);background:var(--soft-blue);color:var(--accent);border:0;border-radius:5px;padding:6px;min-height:44px;width:100%;text-align:left;overflow-wrap:anywhere;margin-top:5px}.s30-agenda{margin-top:30px}.s30-agenda h3{margin:24px 0 12px}.s30-media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.s30-media-card{border:1px solid var(--line);border-radius:12px;overflow:hidden;padding:14px;min-width:0}.s30-media-card img{display:block;width:100%;aspect-ratio:1.6;object-fit:contain;background:var(--panel);border-radius:7px}.s30-media-card h3{font-size:17px;margin:15px 0 8px;overflow-wrap:anywhere}.s30-media-card p{margin-bottom:15px}.s30-vocabulary{display:grid;grid-template-columns:1fr 1fr;gap:34px;margin-top:28px}.s30-vocabulary .s30-row{flex-wrap:wrap}.s30-service{display:grid;grid-template-columns:1fr auto;gap:10px 24px;padding:24px 0;border-bottom:1px solid var(--line)}.s30-service p{grid-column:1/-1;color:var(--muted)}.s30-dialog{width:min(560px,calc(100vw - 32px));padding:28px;background:var(--paper,#fafaf7);color:var(--ink,#182326);border:1px solid var(--line,#d1d9d8);border-radius:16px}.s30-dialog::backdrop{background:#101b2080}.s30-dialog .s30-form{margin:0;padding:0;border:0}.s30-dialog h2{font-size:28px;line-height:1.2;margin:0}.s30-dialog p{margin:0}.studio-v30 .cms-inbox-link{display:none}.s30-shell .cms-layout{min-height:0;margin:0}.s30-shell .cms-sidebar{border-radius:12px}.s30-shell .cms-editor{max-width:none}.studio-v30 .f13{margin-top:20px}
@media(min-width:1500px){.s30-layout{grid-template-columns:190px minmax(0,1fr);gap:42px}}
@media(max-width:1100px){.s30-layout{grid-template-columns:152px minmax(0,1fr);gap:22px}.s30-nav a{padding-inline:8px}.s30-shell .s30-tools{gap:12px;padding:16px}.s30-heading{flex-wrap:wrap}.s30-media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.s30-today-grid{gap:22px;grid-template-columns:1fr}.s30-today-note{min-height:275px}.s30-split{grid-template-columns:1fr}.s30-detail{border-left:0;padding:24px 0 0;border-top:1px solid var(--line)}}
@media(max-width:760px){.studio-v30 .s30-shell{padding:0 22px 30px}.s30-top{padding:16px 0;font-size:16px;gap:12px}.s30-top .s30-badge{display:none}.s30-top .s30-actions{gap:0}.s30-layout{display:block}.s30-nav{display:none}.s30-main{padding-top:20px}.s30-mobile-navigation{display:flex!important;margin-bottom:24px}.s30-mobile-navigation .tsl-select{max-width:100%}.s30-titlebar{margin-bottom:24px;display:block}.s30-titlebar h1{font-size:28px}.s30-heading{gap:18px;margin-bottom:22px}.s30-heading h2{font-size:28px}.s30-heading p{font-size:16px}.s30-workspace{min-height:400px}.s30-today-note{padding:24px;min-height:290px}.s30-today-note h3{font-size:29px}.s30-tools{display:grid;grid-template-columns:1fr 1fr}.s30-tools>.s30-field:first-child{grid-column:1/-1}.s30-tools>.s30-button{align-self:end}.s30-split.has-detail>.s30-list-pane{display:none}.s30-split:not(.has-detail)>.s30-detail{display:none}.s30-detail{padding:0;border:0}.s30-detail-back{display:inline-flex!important;margin-bottom:22px}.s30-calendar{display:none}.s30-calendar-bar{gap:8px;flex-wrap:wrap}.s30-calendar-bar h3{font-size:19px;min-width:150px}.s30-calendar-bar>.s30-button{margin-left:auto}.s30-media-grid,.s30-vocabulary{grid-template-columns:1fr}.s30-service h3{font-size:18px}.s30-row{gap:15px}.s30-row>.s30-badge{font-size:16px}.s30-pages .tsl-pagination{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.s30-shell *{scroll-behavior:auto!important;transition:none!important}}
.s30-facts{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:20px 0;border-block:1px solid var(--line);margin:24px 0}.s30-facts dt{color:var(--muted)}.s30-facts dd{margin:0;text-align:right}.s30-media-card>.s30-button{margin-top:10px}.s30-vocabulary>section>.s30-button{margin:16px 0}.s30-vocabulary .s30-field{margin-bottom:16px}.s30-vocabulary{grid-template-columns:repeat(3,minmax(0,1fr))}.s30-vocabulary .s30-row>div{flex:1 1 100%}
@media(max-width:1200px){.s30-vocabulary{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.s30-vocabulary{grid-template-columns:1fr}}
.s30-main{scroll-margin-top:96px}.s30-media-dialog{width:min(960px,calc(100vw - 32px));max-height:88dvh;overflow:auto}.s30-media-dialog .s30-media-card{cursor:pointer;background:var(--paper);color:var(--ink);border:1px solid var(--line);display:flex;flex-direction:column;text-align:left;gap:14px}.s30-media-dialog .s30-tools{margin:20px 0}.s30-media-dialog .s30-row svg{width:21px}.s30-media-dialog .s30-heading{align-items:center}
/* The permission gate is a designed entry state, outside the owner-only shell. */
#cms-gate:not([hidden]){box-sizing:border-box;max-width:1180px;min-height:48vh;margin:0 auto;padding:clamp(40px,7vw,92px) max(24px,4vw);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:22px;color:var(--ink);font-family:var(--ui)}
#cms-gate h1{margin:0;max-width:720px;font-size:clamp(30px,4.2vw,48px);font-weight:550;line-height:1.15;letter-spacing:-.035em}
#cms-gate p{margin:0;max-width:620px;font-size:18px;line-height:1.6;color:var(--muted)}
#cms-gate .s30-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 24px;border:1px solid transparent;border-radius:999px;background:var(--accent);color:var(--bg,#fff);font-size:16px;line-height:1.4;text-decoration:none}
#cms-gate .s30-button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
