:root{font-family:Inter,'Segoe UI',Arial,sans-serif;color:#49375a;background:#f9f7fc;font-size:14px;--ink:#4d315e;--muted:#806f8d;--pink:#f9dbe9;--lilac:#eae0fa;--blue:#e6f1fc;--violet:#885aa8;--line:#e9e0ee;--white:#fff;--shadow:0 12px 35px rgba(93,69,117,.07)}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.42}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #9b79ba;outline-offset:2px}.shell{min-height:100vh;display:grid;grid-template-columns:252px minmax(0,1fr)}aside{background:#f4eafb;border-right:1px solid #ead9ee;padding:24px 16px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:18px;overflow:auto}.brand{display:flex;align-items:center;gap:12px;padding:4px 6px 18px;border-bottom:1px solid #e1d3e8}.brandmark{height:45px;width:45px;border-radius:15px;background:linear-gradient(140deg,#f8cfe6,#b9d8f5,#cbb2e8);display:grid;place-items:center;font:bold 27px Georgia;color:#794ca1}.brand strong{font:italic 21px Georgia,serif;display:block;color:#683581}.brand small{display:block;font-size:9px;letter-spacing:1.8px;color:#9b7baf}.navgroup{display:grid;gap:3px}.navgroup>small{text-transform:uppercase;letter-spacing:1.4px;color:#a68cb5;padding:8px 12px;font-weight:700}.navbutton{background:transparent;border:0;border-radius:10px;padding:11px 13px;text-align:left;color:#725883;font-weight:600}.navbutton:hover{background:#ece0f5}.navbutton.active{background:#895db0;color:white;box-shadow:0 6px 14px #885ea329}.sidefoot{margin-top:auto;color:#9581a1;font-size:11px;line-height:1.55}.main{min-width:0;max-width:1600px;width:100%;margin:0 auto}.topbar{height:auto;min-height:76px;border-bottom:1px solid var(--line);background:#fffdfa;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 28px;flex-wrap:wrap}.topbar h1{font-size:20px;margin:0;color:var(--ink)}.topbar .crumb{color:#a18daf;font-size:11px;text-transform:uppercase;letter-spacing:1px}.top-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.demo{background:#fff1d9;border:1px solid #ecd7ad;color:#84622c;border-radius:7px;padding:7px 9px;font-size:11px;font-weight:800;letter-spacing:.4px}.pill{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:6px 11px;background:#f1e9f7;color:#76528f;font-size:11px;font-weight:700}.btn{padding:10px 15px;border:1px solid transparent;border-radius:9px;background:#895bae;color:white;font-weight:650;line-height:1.35}.btn:hover{filter:brightness(.96)}.btn.secondary{background:white;color:#765093;border-color:#d8c9e3}.btn.soft{background:#eee2f7;color:#674086}.btn.danger{background:#a34768}.btn.tiny{padding:7px 10px;font-size:12px}.body{padding:28px;display:grid;gap:20px}.hero{background:linear-gradient(115deg,#f8daeb 0%,#faf4fc 51%,#e2f1fe 100%);border:1px solid #eee1f1;border-radius:18px;padding:28px 30px;box-shadow:var(--shadow)}.eyebrow{font-size:10px;letter-spacing:1.8px;color:#9b6aaa;font-weight:750;text-transform:uppercase}.hero h2{font:italic 31px Georgia,serif;color:#703b8f;margin:10px 0}.hero p{max-width:750px;line-height:1.6;color:#80648e;margin:7px 0}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:white;border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:var(--shadow);min-width:0}.card h3,.card h2{color:#684083;margin:0 0 10px}.card h3{font-size:16px}.card h2{font-size:20px}.card p{color:#806f8e;line-height:1.55}.metric strong{display:block;font-size:28px;color:#663a84;margin-bottom:4px}.metric span{color:#84718e;font-size:12px}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.row.between{justify-content:space-between}.muted{color:var(--muted)}.small{font-size:12px}.tinytext{font-size:11px;color:#9682a0}.sectiontitle{font-size:19px;margin:9px 0 1px;color:#643882}.stack{display:grid;gap:12px}.line{height:1px;background:var(--line);margin:10px 0}.item{display:grid;gap:6px;padding:14px;border:1px solid var(--line);border-radius:11px;background:#fdfafd}.item strong{color:#71458a}.tag{display:inline-block;font-size:10px;letter-spacing:.2px;border-radius:20px;padding:4px 8px;background:#eee8f6;color:#70558a;font-weight:700}.tag.ok{background:#e5f3e9;color:#477b5f}.tag.warn{background:#fff0df;color:#986c32}.tag.bad{background:#ffe8ed;color:#9a4c62}.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.field{display:grid;gap:6px;min-width:0}.field label{font-size:12px;color:#755d86;font-weight:700}.field input,.field textarea,.field select,input.input,textarea.input,select.input{border:1px solid #dfd4e6;border-radius:9px;padding:11px 12px;background:white;color:#4c385d;width:100%;min-width:0}.field textarea{resize:vertical;min-height:85px}.field.span{grid-column:1/-1}.choice{display:flex;align-items:flex-start;gap:9px;padding:11px 12px;background:#fcf9fe;border:1px solid #e8ddee;border-radius:10px;cursor:pointer}.choice input{accent-color:#8a58aa;margin-top:2px}.checkrow{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #f1ebf5}.checkrow input{accent-color:#8a58aa}.list{display:grid;gap:10px}.split{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(265px,1fr);gap:16px;align-items:start}.notice{border-radius:10px;padding:12px 14px;background:#eef4ff;color:#58739b;border:1px solid #dce7f8;line-height:1.5}.notice.warning{background:#fff5e8;color:#8a6a39;border-color:#f0ddbf}.notice.error{background:#fff0f1;color:#9c5266;border-color:#f0d5dc}.total{background:#f3eafb;border-radius:12px;padding:18px;display:flex;justify-content:space-between;align-items:center;gap:10px}.total strong{font-size:23px;color:#693989}.tablewrap{overflow:auto}.table{width:100%;border-collapse:collapse;min-width:470px}.table th{text-align:left;font-size:11px;color:#927ea1;text-transform:uppercase;letter-spacing:.6px}.table th,.table td{padding:11px;border-bottom:1px solid var(--line)}.table td{font-size:12px}.table td strong{color:#614181}.colorblock{height:124px;border-radius:11px;background:linear-gradient(130deg,#f8d4e7,#e7dcf8 55%,#deeffe);display:flex;align-items:center;justify-content:center;color:#a57cba;font-size:40px}.preview{border-radius:12px;padding:15px;background:linear-gradient(145deg,#f9e7f3,#ebecfc);text-align:center;color:#805995}.cards-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}.collectible{aspect-ratio:3/4;border-radius:9px;padding:7px;border:2px solid #dcc6e8;display:flex;align-items:center;justify-content:space-between;flex-direction:column;background:linear-gradient(130deg,#fae2ef,#e3e7fb);text-align:center;color:#795393;font-size:10px}.collectible.locked{filter:grayscale(1);opacity:.45}.subtabs{display:flex;flex-wrap:wrap;gap:7px}.subtabs button{border:1px solid #e1d4e7;border-radius:99px;background:white;padding:8px 12px;color:#7d6391}.subtabs button.active{background:#895db0;color:white;border-color:#895db0}.sidepanel{position:sticky;top:14px}.controlgroup{display:grid;gap:8px}.fakevideo{background:#f2e9f9;border:1px dashed #cfb6dc;min-height:170px;border-radius:12px;display:grid;place-items:center;color:#926fac;text-align:center;padding:20px}.drawer{background:#f6f0fb;border:1px solid #e9d8f1;border-radius:12px;padding:16px}.inlineicon{display:inline-grid;place-items:center;background:#ebdbf5;border-radius:9px;width:30px;height:30px;color:#8559a6}.price{font-weight:800;color:#70418e}.filterbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.filterbar input,.filterbar select{width:auto;max-width:260px}.toast{position:fixed;bottom:18px;right:18px;max-width:400px;padding:14px 19px;background:#513663;color:white;border-radius:11px;z-index:100;box-shadow:0 12px 30px #30203c33}.foot{color:#9b8aa4;padding:14px 28px 26px;font-size:11px}.empty{padding:35px 16px;text-align:center;color:#927d9f}.clock{font-size:38px;letter-spacing:1px;font-variant-numeric:tabular-nums;color:#6e3c8d}.kbd{background:#f0e7f5;color:#7f5996;padding:3px 5px;border-radius:5px}.mobilebar{display:none}.hidden{display:none!important}@media(max-width:1100px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cards-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.split{grid-template-columns:1fr}.sidepanel{position:static}}@media(max-width:760px){.shell{display:block}aside{position:static;height:auto;padding:12px;overflow:visible;gap:7px}.brand{padding:3px 4px 9px}.brandmark{height:36px;width:36px}.brand strong{font-size:18px}.navgroup{display:flex;overflow-x:auto;gap:3px;padding:4px 0}.navgroup>small,.sidefoot{display:none}.navbutton{white-space:nowrap;padding:9px 11px;font-size:12px}.topbar{padding:13px 16px}.topbar h1{font-size:17px}.body{padding:16px;gap:14px}.hero{padding:20px}.hero h2{font-size:25px}.grid.three,.grid.two{grid-template-columns:1fr}.formgrid{grid-template-columns:1fr}.field.span{grid-column:auto}.cards-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.card{padding:15px}.foot{padding:15px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important}}
/* v0.4: completed offline workflow styling */
.weektable{display:grid;gap:7px}.weekday{display:grid;grid-template-columns:minmax(90px,1fr) minmax(90px,120px) minmax(90px,120px);gap:9px;align-items:center;padding:8px 0;border-bottom:1px solid #f0e8f3}.weekday label{font-size:12px;font-weight:650;color:#765388}.weekday input[type=time]{width:100%;min-width:0;border:1px solid #e1d5e8;background:#fff;color:#674781;border-radius:8px;padding:8px}.weekday input[type=checkbox]{accent-color:#8858ab}.chatlog{display:grid;gap:11px;min-height:100px;max-height:340px;overflow:auto;padding:12px;background:#fbf8fd;border:1px solid #eee4f3;border-radius:10px}.chatbubble{padding:10px 12px;max-width:88%;justify-self:start;border-radius:11px;background:#ebf3fd;color:#526d95;overflow-wrap:anywhere}.chatbubble.bella{background:#f4e8fa;justify-self:end;color:#725187}.chatbubble small{font-weight:700;color:#7c638b}.chatbubble p{margin:5px 0 0;color:inherit}.sessionroom{border-color:#d9c6e5}.sessionroom .clock{font-size:45px;font-weight:750}.productcover{display:block;height:160px;width:100%;max-width:100%;object-fit:cover;border-radius:11px;background:#f4ebf7;border:1px solid #e9dcec}.clickable{cursor:pointer}.clickable:hover{border-color:#bb9bce;box-shadow:0 3px 15px #8b67a10d}.tag .btn{vertical-align:middle;margin-left:7px}.card .grid{margin-top:12px}.card .card{box-shadow:none}.notice strong,.drawer strong{color:inherit}.formgrid .field.span{grid-column:1/-1}.toast{font-size:13px;z-index:999}.btn:focus-visible,.navbutton:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #c6a4e3;outline-offset:2px}.btn:disabled{opacity:.47;cursor:not-allowed;filter:none}.field textarea{font-family:inherit}.topbar .pill{white-space:nowrap}.tablewrap td{vertical-align:top}.checkrow{min-width:0}.checkrow>div{min-width:0}.checkrow strong{overflow-wrap:anywhere}
@media(max-width:760px){.weekday{grid-template-columns:minmax(90px,1fr) minmax(74px,1fr) minmax(74px,1fr);gap:5px}.weekday input[type=time]{font-size:12px;padding:7px 3px}.productcover{height:145px}.sessionroom .clock{font-size:32px}.card .grid{grid-template-columns:1fr}.topbar .pill{white-space:normal}}
.calendar-availability>.card{align-self:start}

/* v0.4.2 — legibility, compact checkbox groups, collapsible navigation & verification-first entry */
:root{font-size:15px;line-height:1.58}
body{line-height:1.58}
h1,h2,h3,h4{line-height:1.3;overflow-wrap:anywhere}
p{line-height:1.68;margin:10px 0 13px}
small,.small,.tinytext{line-height:1.55}
button,select,input,textarea{line-height:1.4}
.card{padding:23px}
.card h3,.card h2{margin:0 0 14px}
.card p{line-height:1.65}
.stack{gap:16px}
.grid{gap:17px}
.formgrid{gap:18px 16px}
.field{gap:8px}
.field label{font-size:13px;line-height:1.4}
.field input:not([type="checkbox"]):not([type="radio"]),
.field textarea,.field select{min-height:44px}
.field textarea{min-height:92px;line-height:1.55}
/* Previously .field input made checkboxes 100% wide, splitting labels across cards. */
.choice,.field .choice{display:flex;align-items:center;justify-content:flex-start;gap:12px;min-height:46px;padding:12px 14px;line-height:1.45;white-space:normal;text-align:left;overflow-wrap:anywhere}
.choice input[type="checkbox"],.field .choice input[type="checkbox"],
.choice input[type="radio"],.field .choice input[type="radio"]{
 width:19px!important;height:19px!important;min-width:19px!important;max-width:19px!important;
 flex:0 0 19px;align-self:center;margin:0;padding:0;accent-color:#885aa8;
}
.choice span{min-width:0;flex:1;overflow-wrap:anywhere}
.choice small{display:block;line-height:1.55;margin-top:4px}
.formgrid > .choice{grid-column:1/-1}
.mode-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:2px}
.mode-choice{min-width:0;min-height:56px;background:#fcfaff}
.mode-choice span{font-size:13px;font-weight:650;color:#664b83;line-height:1.45}
.checkrow{padding:13px 0;gap:15px;line-height:1.45}
.item{padding:16px;gap:9px}
.item small{line-height:1.5}
.notice{line-height:1.65;padding:15px 17px}
.btn{min-height:40px;line-height:1.3}
.btn.tiny{min-height:34px}
.sectiontitle{margin:12px 0 8px;line-height:1.35}
.hero{padding:31px 33px}
.hero h2{line-height:1.22;margin:11px 0 14px}
.hero p{line-height:1.7}
.navgroup{gap:4px}
.navbutton{display:flex;align-items:center;gap:12px;min-height:42px;padding:10px 12px;white-space:normal;line-height:1.25}
.navsymbol{flex:0 0 28px;min-width:28px;min-height:28px;display:grid;place-items:center;font-size:10px;font-weight:800;letter-spacing:-.2px;border-radius:8px;background:#e8d8f2;color:#80549f}
.navbutton.active .navsymbol{background:#a581c5;color:white}
.navlabel{min-width:0}
.brandwords{min-width:0}
.brandwords strong{font-size:19px;line-height:1.25}
.top-heading{display:flex;align-items:center;gap:14px;min-width:0}
.menu-toggle{display:inline-grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:11px;border:1px solid #e0d2ea;background:#f8f3fb;color:#704b90;font-size:20px}
.menu-toggle:hover{background:#eee3f7}
.sidebar-backdrop{display:none}
.shell{transition:grid-template-columns .18s ease}
.shell.sidebar-collapsed{grid-template-columns:78px minmax(0,1fr)}
.sidebar-collapsed aside{padding-left:8px;padding-right:8px}
.sidebar-collapsed .brand{justify-content:center;padding-bottom:14px}
.sidebar-collapsed .brandmark{width:42px;height:42px;flex:0 0 42px}
.sidebar-collapsed .brandwords,.sidebar-collapsed .navgroup>small,.sidebar-collapsed .navlabel,.sidebar-collapsed .sidefoot{display:none}
.sidebar-collapsed .navbutton{justify-content:center;padding:7px 4px}
.sidebar-collapsed .navsymbol{flex:0 0 36px;min-width:36px;min-height:36px}
/* Standalone entry screens have no sidebar, member links, or restricted catalog. */
.entry-screen{min-height:100vh;padding:44px 20px;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 12% 15%,#f8dce9 0,transparent 35%),radial-gradient(circle at 85% 22%,#dfeefa 0,transparent 38%),#faf7fc}
.entry-card{width:min(100%,680px);padding:clamp(25px,4vw,48px);background:#fff;border:1px solid #e9dbea;border-radius:23px;box-shadow:0 20px 70px rgba(77,48,99,.10)}
.entry-brand{display:flex;align-items:center;gap:13px;padding-bottom:26px;margin-bottom:25px;border-bottom:1px solid #eee5f2}
.entry-brand strong{font:italic 25px Georgia,serif;color:#723c8e;line-height:1.3;display:block}
.entry-brand small{display:block;color:#987cab;letter-spacing:1.4px;font-size:10px}
.entry-screen h1{font:italic clamp(28px,4vw,40px)/1.2 Georgia,serif;color:#643784;margin:12px 0 17px}
.entry-screen p{color:#766581;font-size:15px;line-height:1.75}
.entry-lead{max-width:55ch}
.entry-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:23px}
.entry-actions .btn{min-height:46px}
.entry-fineprint{color:#8c7b98;font-size:12px;line-height:1.65;margin-top:24px}
.entry-notice{margin-top:21px}
.entry-steps{display:grid;gap:0;border:1px solid #eaddf0;border-radius:15px;overflow:hidden;margin-top:22px}
.entry-steps>div{display:flex;align-items:center;gap:13px;padding:15px 16px;background:#fdfaff;border-bottom:1px solid #eee5f2}
.entry-steps>div:last-child{border:0}
.entry-steps b{flex:0 0 37px;color:#996db4;background:#f0e6f7;border-radius:9px;text-align:center;padding:7px 4px;font-size:12px}
.entry-steps span{min-width:0;flex:1}
.entry-steps strong{display:block;color:#684386;line-height:1.4;font-size:14px}
.entry-steps small{display:block;color:#8c779a;font-size:12px;margin-top:4px}
.dev-access{margin-top:24px;border-top:1px solid #eee4f2;padding-top:15px;color:#8b759b;font-size:12px}
.dev-access summary{cursor:pointer}
.dev-access p{font-size:12px}
@media(max-width:900px){.mode-choice-grid{grid-template-columns:1fr}.card{padding:19px}}
@media(max-width:760px){
 .shell,.shell.sidebar-collapsed{display:block}
 .shell aside,.shell.sidebar-collapsed aside{display:flex;position:fixed;left:0;top:0;bottom:0;width:min(310px,86vw);height:100dvh;z-index:320;padding:17px 15px;transform:translateX(-110%);transition:transform .2s ease;overflow:auto;gap:13px;box-shadow:14px 0 30px #503d6419}
 .shell.mobile-nav-open aside,.shell.mobile-nav-open.sidebar-collapsed aside{transform:translateX(0)}
 .mobile-nav-open .sidebar-backdrop{display:block;position:fixed;inset:0;background:rgba(35,20,49,.42);z-index:310}
 .shell.sidebar-collapsed .brandwords,.shell.sidebar-collapsed .navgroup>small,.shell.sidebar-collapsed .navlabel,.shell.sidebar-collapsed .sidefoot{display:block}
 .navgroup{display:grid;overflow:visible;gap:4px}
 .navgroup>small{display:block}
 .navbutton,.shell.sidebar-collapsed .navbutton{justify-content:flex-start;padding:9px 11px;white-space:normal}
 .navsymbol,.shell.sidebar-collapsed .navsymbol{min-width:27px;min-height:27px;flex:0 0 27px}
 .sidefoot{display:block}
 .topbar{gap:8px}
 .top-heading{gap:10px}
 .top-actions{padding-left:0}
 .topbar h1{font-size:18px}
 .body{padding:16px}
 .hero{padding:21px}
 .card{padding:17px}
 .formgrid{gap:14px}
 .mode-choice-grid{grid-template-columns:1fr}
 .entry-screen{padding:16px}
 .entry-card{padding:24px}
 .entry-brand{margin-bottom:18px;padding-bottom:20px}
 .entry-steps>div{padding:13px 12px;align-items:flex-start}
 .entry-actions .btn{width:100%}
}

.side-close{display:none}
@media(max-width:760px){.side-close{display:grid;place-items:center;position:absolute;top:17px;right:14px;z-index:2;width:37px;height:37px;border:1px solid #dccae8;border-radius:10px;background:white;color:#76528f;font-size:26px}.shell aside .brand{padding-right:36px}.shell.sidebar-collapsed .brand{justify-content:flex-start}}

/* Netlify-hosted, browser-only full-site preview */
.hosted-preview-ribbon{position:sticky;top:0;z-index:100000;display:flex;align-items:center;justify-content:center;gap:12px;padding:9px 16px;background:#55306f;color:#fff;font:600 13px/1.45 system-ui,-apple-system,Segoe UI,sans-serif;text-align:center;box-shadow:0 2px 8px rgba(48,25,62,.19)}
.hosted-preview-ribbon strong{white-space:nowrap;letter-spacing:.06em;font-size:11px;color:#fff}
.hosted-preview-ribbon span{color:#fff;opacity:.93;font-weight:450}
@media(max-width:720px){.hosted-preview-ribbon{flex-direction:column;gap:2px;font-size:11px;padding:7px 12px}.hosted-preview-ribbon strong{font-size:11px}}
