/* Phase 1 DBT pilot: Rewire warm-gold system; theme-aware (light + dark); no module color coding. */
body:not(.client-features-ready) #tab-sessions,
body:not(.client-features-ready) #intakeCard,
body:not(.client-features-ready) #sessionsGrid { visibility:hidden; }
.dbt-hidden { display:none !important; }
.dbt-homework-entry{margin:0 auto 1rem;max-width:780px;padding:1.15rem 1.25rem;border:1px solid var(--border);border-radius:16px;background:var(--surface);color:var(--cream);display:flex;align-items:center;justify-content:space-between;gap:1rem}
.dbt-homework-entry h2{font-family:'Lora', Georgia, serif;margin:.15rem 0;color:var(--cream)}
.dbt-homework-entry p{margin:0;color:var(--body,var(--muted));font-size:.9rem}
.dbt-plan-text{white-space:pre-wrap;border-left:2px solid var(--gold);padding-left:1rem}
#screen-dbt { font-family:'Inter', system-ui, sans-serif; color:var(--cream); padding:1rem 1rem 7rem; }
.dbt-shell { width:min(100%,640px); margin:0 auto; }
.dbt-kicker { color:var(--gold); letter-spacing:.18em; text-transform:uppercase; font-size:.68rem; font-weight:700; }
.dbt-title { font-family:'Lora', Georgia, serif; color:var(--cream); font-size:clamp(1.7rem,6vw,2.35rem); line-height:1.15; margin:.45rem 0; }
.dbt-copy { color:var(--body,var(--muted)); line-height:1.65; }
.dbt-card { background:var(--surface); border:1px solid var(--border-strong,var(--gold-dim)); border-radius:12px; padding:1.15rem; margin:1rem 0; box-shadow:0 12px 38px rgba(0,0,0,.14); }
.dbt-pattern { background-image:radial-gradient(rgba(200,135,58,.18) 1px,transparent 1px); background-size:12px 12px; }
.dbt-row { display:flex; gap:.75rem; align-items:center; justify-content:space-between; flex-wrap:wrap; }
.dbt-btn { border:1px solid var(--gold); border-radius:12px; padding:.72rem 1rem; background:var(--gold); color:#0B0806; font:600 .9rem 'Inter', system-ui, sans-serif; cursor:pointer; }
.dbt-btn.secondary { background:var(--bg2,var(--bg)); color:var(--cream); }
.dbt-btn:disabled { opacity:.45; cursor:not-allowed; }
.dbt-field { width:100%; min-height:125px; box-sizing:border-box; border-radius:12px; border:1px solid var(--border-strong,var(--gold-dim)); background:var(--bg2,var(--bg)); color:var(--cream); padding:.85rem; font:1rem/1.55 'Inter', system-ui, sans-serif; }
.dbt-field:focus,.dbt-btn:focus-visible { outline:3px solid var(--gold-dim,rgba(200,135,58,.45)); outline-offset:2px; }
.dbt-progress { color:var(--body,var(--muted)); font-size:.78rem; margin:.6rem 0 1rem; }
.dbt-letter { display:inline-grid; place-items:center; width:2.2rem; height:2.2rem; border:1px solid var(--gold); border-radius:12px; color:var(--gold); font-family:'Lora', Georgia, serif; font-size:1.25rem; }
.dbt-status { min-height:1.25rem; color:var(--body,var(--muted)); font-size:.78rem; }
.dbt-rating { display:flex; gap:.4rem; flex-wrap:wrap; }
.dbt-rating label { border:1px solid var(--border-strong,var(--gold-dim)); border-radius:12px; padding:.55rem .72rem; cursor:pointer; }
.dbt-rating input:checked + span,.dbt-rating label:has(input:checked) { color:var(--gold); font-weight:600; }
.dbt-locked { text-align:center; padding:2rem 1.25rem; }
.dbt-diary section,.dbt-diary-section { margin:1.35rem 0; padding:0; border:0; }
.dbt-diary-heading { display:block; margin:1rem 0 .55rem; color:var(--gold); font-size:.76rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }
.dbt-diary-rating { display:grid; grid-template-columns:minmax(8rem,1fr) auto; gap:.35rem .75rem; align-items:center; border:0; border-bottom:1px solid var(--border); padding:.7rem 0; margin:0; }
.dbt-diary-rating legend { color:var(--cream); font-size:.9rem; }
.dbt-diary-rating output { grid-column:1/-1; color:var(--body,var(--muted)); font-size:.72rem; }
.dbt-dots { display:flex; gap:.3rem; }
.dbt-dot { position:relative; cursor:pointer; }
.dbt-dot input { position:absolute; opacity:0; pointer-events:none; }
.dbt-dot span { display:grid; place-items:center; width:2rem; height:2rem; border:1px solid var(--border-strong,var(--gold-dim)); border-radius:50%; background:var(--bg2,var(--bg)); color:var(--body,var(--muted)); font-size:.72rem; }
.dbt-dot input:checked + span { border-color:var(--gold); background:var(--gold); color:#0B0806; font-weight:700; box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--gold-dim); }
.dbt-dot input:focus-visible + span,.dbt-chip:focus-visible,.dbt-urge-options input:focus-visible + span { outline:3px solid var(--gold-dim); outline-offset:2px; }
.dbt-chips { display:flex; flex-wrap:wrap; gap:.5rem; }
.dbt-chip { border:1px solid var(--border-strong,var(--gold-dim)); border-radius:999px; padding:.55rem .8rem; background:var(--bg2,var(--bg)); color:var(--cream); font:600 .78rem 'Inter', system-ui, sans-serif; cursor:pointer; }
.dbt-chip[aria-pressed="true"] { border-color:var(--gold); background:var(--gold); color:#0B0806; }
.dbt-urge-options { display:grid; grid-template-columns:1fr 1fr; gap:.55rem; }
.dbt-urge-options label { position:relative; cursor:pointer; }
.dbt-urge-options input { position:absolute; opacity:0; }
.dbt-urge-options span { display:grid; place-items:center; min-height:3rem; padding:.6rem; border:1px solid var(--border-strong,var(--gold-dim)); border-radius:12px; background:var(--bg2,var(--bg)); color:var(--cream); text-align:center; font-size:.78rem; }
.dbt-urge-options input:checked + span { border-color:var(--gold); box-shadow:inset 0 0 0 1px var(--gold); color:var(--gold); font-weight:700; }
.dbt-privacy,.dbt-streak { font-size:.72rem; text-align:center; }
.dbt-streak { color:var(--gold); margin:.8rem 0 0; }
.dbt-diary-save { width:100%; margin-top:.85rem; }
@media(max-width:520px){.bottom-nav{overflow-x:auto}.bottom-nav .nav-tab{min-width:68px}.dbt-row .dbt-btn{flex:1}}
@media(max-width:640px){.dbt-homework-entry{align-items:stretch;flex-direction:column}}
@media(max-width:430px){.dbt-diary-rating{grid-template-columns:1fr}.dbt-dots{justify-content:space-between}.dbt-dot span{width:1.9rem;height:1.9rem}.dbt-urge-options{grid-template-columns:1fr}}

/* Client toolkit DBT workspace. Every color resolves through the active brand tokens. */
#screen-dbt{--dbt-interpersonal:var(--sage);--dbt-distress:var(--rose);--dbt-emotion:var(--gold);--dbt-mindfulness:var(--steel);width:100%;max-width:none;padding:0 0 5rem;background:var(--bg);color:var(--cream)}
#screen-dbt .dbt-shell{width:100%;max-width:none;margin:0}
.dbt-app{min-height:calc(100dvh - 64px);background:var(--bg);font-family:'Inter', system-ui, sans-serif}
.dbt-topbar{min-height:62px;padding:.85rem clamp(1rem,3vw,2.2rem);display:flex;align-items:center;gap:.75rem;background:var(--surface);border-bottom:1px solid var(--border);color:var(--cream)}
.dbt-topbar>span:first-child{font:400 clamp(1.05rem,2vw,1.3rem) 'Lora', Georgia, serif}
.dbt-ai-pill{display:inline-flex;align-items:center;border:1px solid var(--border-strong);border-radius:999px;background:var(--gold-dim);color:var(--gold);padding:.3rem .65rem;font-size:.66rem;white-space:nowrap}
.dbt-close{margin-left:auto;border:0;background:transparent;color:var(--muted);font:300 1.65rem/1 'Inter', system-ui, sans-serif;cursor:pointer;padding:.2rem .35rem}
.dbt-app-body{width:min(100%,560px);margin:0 auto;padding:clamp(1.3rem,3vw,2.1rem) 1rem 4rem}
.dbt-list-intro{margin:0 0 1.6rem}.dbt-list-intro h1{margin:0;color:var(--cream);font:600 clamp(1.45rem,3vw,1.8rem)/1.2 'Inter', system-ui, sans-serif}.dbt-list-intro p{margin:.25rem 0 0;color:var(--muted);font-size:.82rem}
.dbt-module-group{margin:0 0 1.75rem}.dbt-module-group>h2{margin:0 0 .65rem;color:var(--muted);font:600 .65rem/1.2 'Inter', system-ui, sans-serif;letter-spacing:.13em;text-transform:uppercase}.dbt-assigned{padding-bottom:.35rem;border-bottom:1px solid var(--border)}.dbt-assigned>h2{color:var(--gold)}
.dbt-skill-list{display:grid;gap:.55rem}.dbt-skill-card{position:relative;width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:.22rem;padding:.85rem 1rem;border:1px solid var(--border);border-left:3px solid var(--dbt-accent);border-radius:12px;background:var(--surface);color:var(--cream);text-align:left;cursor:pointer;font-family:'Inter', system-ui, sans-serif;transition:transform .18s,border-color .18s,box-shadow .18s}.dbt-skill-card:hover{transform:translateY(-1px);border-color:var(--dbt-accent);box-shadow:var(--glow)}
.dbt-skill-card strong{font-size:.9rem}.dbt-skill-card>span:last-child{color:var(--body,var(--muted));font-size:.76rem;line-height:1.45}.dbt-skill-pill{border-radius:999px;padding:.18rem .48rem;background:color-mix(in srgb,var(--dbt-accent) 16%,transparent);color:var(--dbt-accent);font-size:.58rem;font-weight:700}.dbt-assigned-badge{position:absolute;right:.8rem;top:.75rem;border:1px solid var(--border-strong);border-radius:999px;padding:.16rem .45rem;color:var(--gold);font-size:.57rem;text-transform:uppercase;letter-spacing:.08em}
.dbt-module-interpersonal_effectiveness{--dbt-accent:var(--dbt-interpersonal)}.dbt-module-distress_tolerance{--dbt-accent:var(--dbt-distress)}.dbt-module-emotion_regulation{--dbt-accent:var(--dbt-emotion)}.dbt-module-mindfulness{--dbt-accent:var(--dbt-mindfulness)}
.dbt-empty{padding:1rem;border:1px dashed var(--border);border-radius:12px;color:var(--muted);font-size:.82rem}
.dbt-detail{padding-top:.15rem}.dbt-back{border:0;background:transparent;color:var(--muted);padding:.35rem 0;font:500 .74rem 'Inter', system-ui, sans-serif;cursor:pointer}.dbt-detail-hero{text-align:center;padding:1.25rem 0 1.4rem}.dbt-detail-hero .dbt-letter{width:54px;height:54px;border:0;background:color-mix(in srgb,var(--dbt-accent) 18%,var(--surface));color:var(--dbt-accent);font:700 1.35rem 'Inter', system-ui, sans-serif}.dbt-detail-hero h1{margin:.6rem 0 .3rem;color:var(--cream);font:700 1.2rem 'Inter', system-ui, sans-serif}.dbt-detail-hero p{margin:0;color:var(--body,var(--muted));font-size:.79rem;line-height:1.5}
.dbt-breakdown h2{margin:0 0 .55rem;color:var(--muted);font:600 .63rem 'Inter', system-ui, sans-serif;letter-spacing:.13em;text-transform:uppercase}.dbt-breakdown-row{display:grid;grid-template-columns:1.4rem 1fr;gap:.45rem;padding:.68rem 0;border-bottom:1px solid var(--border)}.dbt-breakdown-row>b{color:var(--dbt-accent,var(--gold));font-size:.82rem}.dbt-breakdown-row p{margin:0;color:var(--body,var(--muted));font-size:.78rem;line-height:1.48}.dbt-breakdown-row strong{color:var(--cream)}.dbt-start{width:100%;margin-top:1rem;background:var(--dbt-accent,var(--gold));border-color:var(--dbt-accent,var(--gold));color:var(--accent-ink)}
.dbt-progress{width:min(100%,560px);margin:0 auto;padding:1rem;display:grid;grid-auto-flow:column;gap:.28rem}.dbt-progress i{height:3px;border-radius:999px;background:var(--border)}.dbt-progress i.is-done{background:var(--gold)}
.dbt-session-head{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;margin-bottom:1rem}.dbt-session-head .dbt-back{justify-self:start}.dbt-session-head strong{grid-column:2;color:var(--cream);font-size:.78rem}.dbt-coach{min-height:calc(100dvh - 190px);display:flex;flex-direction:column}.dbt-coach-messages{flex:1;padding:.55rem .7rem 2rem;overflow:auto}.dbt-coach-message{display:flex;margin-bottom:.75rem}.dbt-coach-message p{max-width:84%;margin:0;white-space:pre-wrap;color:var(--body,var(--muted));font-size:.82rem;line-height:1.62}.dbt-coach-message.is-user{justify-content:flex-end}.dbt-coach-message.is-user p{padding:.62rem .8rem;border-radius:12px;background:var(--surface);border:1px solid var(--border);color:var(--cream)}.dbt-coach-typing{color:var(--muted)!important;font-style:italic}
.dbt-client .sr-only,.dbt-shell .sr-only,#dbt-root .sr-only,#dbt-diary-root .sr-only,.dbt-coach-form .sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.dbt-coach-form{display:grid;grid-template-columns:1fr 38px;gap:.45rem;padding:.7rem 0;border-top:1px solid var(--border)}.dbt-coach-form input{min-width:0;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--cream);padding:.62rem .85rem;font:400 .84rem 'Inter', system-ui, sans-serif}.dbt-coach-form input::placeholder{color:var(--muted)}.dbt-coach-form button{width:38px;height:38px;border:0;border-radius:50%;background:var(--gold);color:var(--accent-ink);font-size:1rem;cursor:pointer}.dbt-coach-form input:focus,.dbt-skill-card:focus-visible,.dbt-back:focus-visible,.dbt-close:focus-visible{outline:3px solid var(--focus-ring,var(--gold-dim));outline-offset:2px}
@media(max-width:560px){.dbt-topbar{min-height:56px}.dbt-ai-pill{font-size:.58rem}.dbt-app-body{padding-top:1rem}.dbt-coach{min-height:calc(100dvh - 175px)}}
