*{box-sizing:border-box}body{margin:0;background:#e7dfd2;color:#29261f;font:14px Arial,sans-serif}.demo{background:#d6c9b7;text-align:center;padding:10px;font-size:10px;letter-spacing:.12em}header{max-width:1240px;margin:auto;padding:25px 30px;display:flex;justify-content:space-between;align-items:center}.logo{font:46px Georgia}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:default}.shell{max-width:1240px;margin:auto;display:grid;grid-template-columns:200px 1fr;gap:38px;padding:15px 30px 60px}aside nav{display:grid;gap:5px}aside button{text-align:left;border:0;background:none;padding:13px;border-radius:8px;color:inherit}aside button.active{background:#29261f;color:#faf6ef}.eyebrow{font-size:10px;letter-spacing:.18em;color:#756651}h1{font:42px Georgia;margin:10px 0 15px}h2{font:27px Georgia;margin:0 0 16px}h3{font:21px Georgia;margin:0 0 12px}p{line-height:1.7}.muted{color:#786c5b;font-size:12px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.panel{background:#f3ede3;border:1px solid #d6cab8;border-radius:16px;padding:24px;margin:18px 0}.grid .panel{margin:0}.pill{display:inline-block;padding:6px 10px;background:#e1d7c7;border-radius:20px;font-size:11px;margin-bottom:14px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.primary,.secondary,.subtle{border-radius:24px;padding:12px 20px;border:1px solid #81725d;background:none;color:inherit}.primary{background:#29261f;color:#fffaf2;border-color:#29261f}.subtle{border:0;text-decoration:underline;padding:12px 0}.timeline{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:25px 0}.timeline li{border-top:3px solid #d5c9b6;padding-top:12px;font-size:12px;line-height:1.5}.timeline li.done{border-color:#706348}.timeline li.current{border-color:#29261f;font-weight:bold}.timeline small{display:block;color:#786c5b}.row{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid #d9cebd}.cover{width:100%;height:240px;object-fit:cover;border-radius:10px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.gallery-grid img{width:100%;height:230px;object-fit:cover;border-radius:10px}.gallery-grid button{border:0;background:none;padding:0}.update{border-bottom:1px solid #d6cab8;padding:18px 0}.update p{margin:6px 0}.update small{color:#786c5b}label{display:block;margin:18px 0;line-height:1.6}input,select,textarea{display:block;width:100%;border:1px solid #bbae98;border-radius:8px;padding:12px;margin-top:7px;background:#fffaf3;color:inherit}input[type=checkbox]{display:inline;width:auto;margin-right:9px}.check{display:flex;align-items:start}dialog{max-width:560px;width:94%;max-height:90dvh;background:#f3ede3;color:#29261f;border:1px solid #bbae98;border-radius:18px;padding:35px}dialog::backdrop{background:#30281d88;backdrop-filter:blur(5px)}.close{position:absolute;right:12px;top:8px;border:0;background:none;font-size:28px}.lightbox{max-width:850px}.lightbox img{width:100%;max-height:70dvh;object-fit:contain}.mail{border:1px solid #cbbb9f;padding:20px;background:#fffaf3;border-radius:10px;white-space:pre-line;line-height:1.7}#toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#29261f;color:white;padding:12px 22px;border-radius:24px;display:none;z-index:10}button:focus-visible,a:focus-visible{outline:2px solid #8c652b;outline-offset:4px}@media(max-width:700px){header{padding:20px}.shell{display:block;padding:0 20px 40px}aside nav{display:flex;overflow:auto;margin-bottom:25px;gap:8px}aside nav button{white-space:nowrap;border:1px solid #c5b69e}aside .eyebrow,aside #reset{display:none}.grid{grid-template-columns:1fr}h1{font-size:35px}.timeline{grid-template-columns:1fr 1fr}.panel{padding:20px}.gallery-grid{grid-template-columns:repeat(2,1fr)}}

.account-stats{display:flex;gap:28px;margin:26px 0}.account-stats span{font-size:12px;color:#786c5b}.account-stats strong{display:block;font:32px Georgia;color:#29261f;margin-bottom:5px}@media print{body>*:not(dialog){display:none!important}dialog{position:static;display:block!important;max-width:none;width:100%;max-height:none;border:0}dialog button{display:none!important}dialog::backdrop{background:none}}
/* Compact connected hub, with touch-sized controls and no horizontal page overflow. */
main{min-width:0}body{overflow-wrap:anywhere}.shell:has(aside[hidden]){grid-template-columns:1fr;max-width:700px}.session-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.session-card h2{margin:15px 0}.session-cover{display:block;width:100%;padding:0;border:0;background:#d6cab8;border-radius:14px;overflow:hidden}.session-cover img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.section-title{margin-top:35px}.timeline{grid-template-columns:repeat(5,minmax(0,1fr))}button,a.primary,a.secondary{min-height:44px}textarea{resize:vertical}input,select,textarea{font-size:16px}aside[hidden]{display:none}aside{align-self:start;position:sticky;top:18px}.panel{overflow:hidden}dialog{overscroll-behavior:contain}#idea-text{line-height:1.65}@media(max-width:700px){aside{position:static}aside nav{padding:5px 0;scrollbar-width:thin}aside #logout{padding:5px 0;margin-bottom:10px}header{padding:15px 20px}.logo{font-size:38px}.session-grid{gap:14px}.session-card h2{font-size:23px}.session-card .primary{display:block;width:100%;padding:12px 8px}.timeline{grid-template-columns:1fr 1fr}.shell{padding:0 16px 30px}dialog{padding:38px 20px 24px}.account-stats{gap:15px}}@media(max-width:380px){.session-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
[hidden]{display:none!important}.dashboard-admin-tools{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:16px 5%;background:#ded7ca;border-bottom:1px solid #bcb4a6}.dashboard-edit-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:center}.dashboard-edit-row label,.dashboard-check{display:flex;align-items:center;gap:10px}.dashboard-edit-row input[type=checkbox],.dashboard-check input[type=checkbox]{width:22px;height:22px;flex:none}.dashboard-admin-tools button{min-height:44px}#dashboard-edit-form h3{margin-top:24px}@media(max-width:600px){.dashboard-edit-row{grid-template-columns:1fr;gap:0;margin-bottom:16px}.dashboard-admin-tools{padding:12px 16px}#dashboard-edit-form input,#dashboard-edit-form textarea{font-size:16px}}

.notification-choice{display:flex!important;align-items:center;gap:10px;margin:16px 0;font:14px Arial,sans-serif}.notification-choice input[type=checkbox]{width:20px!important;height:20px;min-width:20px;flex:none}

.client-directory{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:24px;margin:28px 0}.client-space-card{color:inherit;text-decoration:none}.client-space-card img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:16px}.client-space-card h2{margin:12px 0 6px}.remember-device{display:flex;align-items:center;gap:10px}.remember-device input{width:20px;min-height:20px;flex:none}

.dashboard-contact{display:grid;gap:10px;margin:24px 0;padding:16px;background:#fff;border:1px solid #b33038;border-radius:16px}.dashboard-contact[hidden]{display:none}.dashboard-contact a{display:flex;align-items:center;justify-content:center;min-height:48px;padding:12px 18px;border-radius:10px;font-weight:700;text-decoration:none;border:2px solid #a5222b}.contact-text{background:#a5222b;color:#fff}.contact-email{background:#fff;color:#a5222b}.dashboard-contact a:focus-visible{outline:3px solid #29261f;outline-offset:3px}

/* Compact contact shortcuts on phones. */
@media(max-width:700px){
.dashboard-contact{display:flex;gap:8px;margin:12px 0;padding:0;border:0;background:none;border-radius:0;justify-content:flex-start}
.dashboard-contact a{min-height:44px;padding:8px 12px;border:1px solid #c9b9ae;border-radius:9px;font-size:13px;font-weight:500;background:transparent;color:#853b3e}
}

.directory-search{display:grid;gap:8px;margin-top:24px;max-width:560px;font-size:14px}.directory-search input{width:100%;min-height:48px;font-size:16px;padding:12px 16px;border:1px solid #b8ada0;border-radius:12px;background:#fffaf3;color:#29261f}#search-results{font-size:14px;margin:10px 0}.client-directory{margin-top:18px}

.directory-home{display:inline-flex;align-items:center;min-height:44px;margin-bottom:14px;color:inherit;font-size:14px;text-underline-offset:4px}

.video-list{list-style:none;padding:0;margin:12px 0 4px}.video-row{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 0;border-top:1px solid #e1d7c7}.video-row:first-child{border-top:0}.video-name{flex:1;min-width:160px;font:17px Georgia}.video-row .primary,.video-row .secondary{min-height:44px;display:inline-flex;align-items:center}

.package-actions{align-items:center;gap:16px}.text-link{text-decoration:underline;text-underline-offset:4px;font-size:14px;color:#5d5243}
#packages .secondary{background:transparent;border:1px solid #81725d;color:#29261f}
.panel{font-variant-numeric:tabular-nums}
