:root{--bg:#f7f6f1;--surface:#fffefb;--ink:#172019;--muted:#6d746e;--line:#dfe3dc;--sage:#3f7250;--sage-soft:#e8f0e8;--radius:16px;--shadow:0 18px 50px rgba(61,72,61,.07);color-scheme:light}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:"Avenir Next",Avenir,"Segoe UI",sans-serif}button,input{font:inherit}button{color:inherit}.app-shell{min-height:100dvh;display:grid;grid-template-columns:220px 1fr}.sidebar{position:sticky;top:0;height:100dvh;padding:28px 18px 22px;border-right:1px solid var(--line);background:rgba(255,254,251,.74);display:flex;flex-direction:column}.brand{display:flex;gap:10px;align-items:center;text-decoration:none;color:var(--ink);font-size:19px}.brand>span{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:var(--sage);color:white;font-family:Georgia,serif;font-style:italic;font-size:22px}.sidebar nav{display:grid;gap:6px;margin-top:48px}.nav-item{border:0;background:transparent;border-radius:10px;padding:12px;text-align:left;color:var(--muted);cursor:pointer;display:flex;gap:12px}.nav-item:hover,.nav-item.active{background:var(--sage-soft);color:#245234}.nav-item:active,.primary:active,.slots button:active{transform:translateY(1px)}.profile{margin-top:auto;display:flex;align-items:center;gap:10px}.profile img{width:38px;height:38px;border-radius:50%}.profile span{display:grid;font-size:13px}.profile small{color:var(--muted)}main{min-width:0;padding:38px 46px}.view{display:none;max-width:1320px;margin:auto}.active-view{display:block;animation:enter .35s ease both}@keyframes enter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.page-header{display:flex;justify-content:space-between;align-items:end;margin-bottom:34px}.page-header p,.booking-top p{color:var(--muted);margin:0 0 7px}.page-header h1{font-family:Georgia,serif;font-size:38px;letter-spacing:-1.2px;font-weight:500;margin:0}.primary{border:0;border-radius:10px;background:var(--sage);color:white;padding:12px 18px;font-weight:700;cursor:pointer;transition:.18s}.primary:hover{background:#315e40}.summary-strip{display:grid;grid-template-columns:1.2fr 1fr 1fr;border-block:1px solid var(--line);margin-bottom:28px}.summary-strip p{display:grid;padding:20px 26px;margin:0;border-right:1px solid var(--line)}.summary-strip p:last-child{border:0}.summary-strip span,.summary-strip small{color:var(--muted);font-size:12px}.summary-strip strong{font-family:Georgia,serif;font-size:21px;font-weight:500;margin:8px 0 4px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.75fr);gap:22px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}.panel-title{display:flex;align-items:start;justify-content:space-between;margin-bottom:24px}.panel-title h2{font-size:18px;margin:0 0 5px}.panel-title p{font-size:13px;color:var(--muted);margin:0}.text-button,.back{border:0;background:transparent;color:var(--sage);font-weight:700;cursor:pointer;padding:3px}.meeting-list{display:grid}.meeting{display:grid;grid-template-columns:86px 1fr auto;align-items:center;gap:16px;padding:17px 0;border-bottom:1px solid var(--line)}.meeting:last-child{border-bottom:0}.meeting time{font-weight:700}.meeting div{display:grid;gap:4px}.meeting small{color:var(--muted)}.status{font-size:12px;padding:6px 9px;border-radius:99px;background:var(--sage-soft);color:#245234}.status.cancelled{background:#efefeb;color:var(--muted)}.cancel{border:0;background:transparent;color:#8a4a42;cursor:pointer;font-size:12px;margin-left:8px}.side-stack{display:grid;gap:22px}.week{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.week span{display:grid;text-align:center;gap:10px;color:var(--muted)}.week i{background:#f0f2ed;border-radius:10px;padding:14px 3px;font-style:normal;color:var(--ink)}.week .today i{background:var(--sage);color:white}.notification-panel label{display:flex;justify-content:space-between;align-items:center;padding:15px 0;border-top:1px solid var(--line);cursor:pointer}.notification-panel label span{display:grid;gap:4px}.notification-panel label small{color:var(--muted)}.notification-panel input{position:absolute;opacity:0}.notification-panel label>i{width:42px;height:24px;border-radius:99px;background:#ccd2cc;position:relative}.notification-panel label>i:after{content:"";position:absolute;width:18px;height:18px;top:3px;left:3px;border-radius:50%;background:white;transition:.2s}.notification-panel input:checked+i{background:var(--sage)}.notification-panel input:checked+i:after{transform:translateX(18px)}.booking-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.booking-card{min-height:700px;display:grid;grid-template-columns:340px 1fr;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.host-card{padding:56px 44px;border-right:1px solid var(--line)}.host-card img{width:86px;height:86px;border-radius:50%;margin-bottom:28px}.host-card>p{color:var(--muted);margin:0 0 8px}.host-card h1{font-family:Georgia,serif;font-weight:500;font-size:31px;margin:0}.host-card ul{list-style:none;padding:26px 0;margin:28px 0;border-block:1px solid var(--line);display:grid;gap:15px}.host-card small{color:var(--muted);line-height:1.6}.picker{padding:54px 60px;max-width:720px}.picker h2{font-family:Georgia,serif;font-weight:500;font-size:32px;margin:0 0 10px}.slot-label{display:flex;justify-content:space-between;color:var(--muted);font-size:13px}.slots{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px}.slots button{padding:14px;border:1px solid #8eaa93;border-radius:10px;background:transparent;color:#245234;font-weight:700;cursor:pointer}.slots button:hover{background:var(--sage-soft)}.skeleton{height:58px;border-radius:10px;background:linear-gradient(90deg,#eeeee9,#f8f7f3,#eeeee9);background-size:200% 100%;animation:shimmer 1.2s infinite}@keyframes shimmer{to{background-position:-200% 0}}form{max-width:480px}form>p{color:var(--muted)}form label{display:grid;gap:8px;margin:22px 0;font-weight:700}form label small{font-weight:400;color:var(--muted)}form input{width:100%;padding:13px 14px;background:white;border:1px solid #aeb5ae;border-radius:10px;color:var(--ink);outline:none}form input:focus{border-color:var(--sage);box-shadow:0 0 0 3px rgba(63,114,80,.18)}.full{width:100%}.back{margin-bottom:28px}.form-error{min-height:20px;color:#913d35!important}.success{text-align:center;padding-top:120px}.success>span{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--sage-soft);color:var(--sage);font-size:28px;margin:0 auto 24px}.success p{color:var(--muted);margin-bottom:28px}#toast{position:fixed;right:24px;bottom:24px;background:var(--ink);color:var(--bg);border-radius:10px;padding:12px 16px;opacity:0;pointer-events:none;transform:translateY(8px);transition:.2s}#toast.show{opacity:1;transform:none}
#login-screen{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:20px;background:var(--bg)}#login-screen[hidden]{display:none}#login-screen form{width:min(380px,100%);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:36px}#login-screen form .brand{margin-bottom:24px}#login-screen form h1{font-family:Georgia,serif;font-weight:500;font-size:26px;margin:0 0 8px}#login-screen form label{margin:18px 0}#login-screen .form-note{min-height:20px;color:var(--muted);font-size:14px}#login-screen .form-note:empty{min-height:0}#logout{margin-left:auto;color:var(--sage)}
.settings-view{max-width:880px}.settings-panel{max-width:none;box-shadow:none}.settings-panel select{font:inherit;width:100%;padding:13px 14px;background:white;border:1px solid #aeb5ae;border-radius:10px;color:var(--ink)}.availability-days{margin-bottom:24px}.availability-row{display:grid;grid-template-columns:100px 1fr 1fr 90px;gap:14px;align-items:center;padding:14px 0;border-top:1px solid var(--line)}.availability-row>label{margin:0}.availability-row .closed{grid-column:2/4;color:var(--muted)}.availability-row button{border:0;background:transparent;color:#8a4a42;cursor:pointer}.availability-row button.add{color:var(--sage)}.settings-panel fieldset{border:0;padding:0;margin:26px 0}.settings-panel legend{font-weight:700;margin-bottom:10px}.settings-panel .check-row{display:flex;align-items:center;gap:12px;margin:0;padding:13px 0;border-top:1px solid var(--line);cursor:pointer}.check-row input{width:18px;height:18px}.check-row span{display:grid;gap:3px}.check-row small{color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.team-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:22px}.team-list{display:grid}.team-member{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;padding:14px 0;border-top:1px solid var(--line)}.team-member span:nth-child(2){display:grid;gap:3px}.team-member small{color:var(--muted)}.team-member em{font-style:normal;color:var(--muted);font-size:12px}.member-avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--sage-soft);color:var(--sage);font-size:12px;font-weight:800}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media(max-width:1050px){.app-shell{display:block}.sidebar{position:static;width:100%;height:auto;padding:16px;display:flex;flex-direction:row;align-items:center}.sidebar nav{display:flex;margin:0 0 0 auto}.sidebar .profile{display:none}.nav-item{font-size:0;padding:11px}.nav-item span{font-size:19px}main{padding:24px 16px}.page-header{align-items:start}.page-header h1{font-size:31px}.summary-strip{grid-template-columns:1fr}.summary-strip p{border-right:0;border-bottom:1px solid var(--line)}.summary-strip p:last-child{border-bottom:0}.dashboard-grid{grid-template-columns:1fr}.booking-card{grid-template-columns:280px 1fr}.host-card{padding:30px}.picker{padding:32px 28px}.slots{grid-template-columns:repeat(2,1fr)}.booking-top>.brand{display:none}.team-layout{grid-template-columns:1fr}}
@media(max-width:700px){.booking-card{grid-template-columns:1fr}.host-card{border-right:0;border-bottom:1px solid var(--line)}.availability-row{grid-template-columns:72px 1fr 1fr}.availability-row button{grid-column:2/4}.sidebar>.brand b{display:none}.sidebar nav{overflow-x:auto}}
/* Dark theme. Applied by data-theme="dark" on <html>, which app.js resolves from the
   light/dark/system choice in localStorage (an inline <head> script sets it before first paint). */
:root[data-theme=dark]{--bg:#151814;--surface:#1d211c;--ink:#f1f1eb;--muted:#aeb5ad;--line:#343b34;--sage:#77a985;--sage-soft:#273a2c;--shadow:0 18px 50px rgba(0,0,0,.18);color-scheme:dark}:root[data-theme=dark] .sidebar{background:rgba(29,33,28,.78)}:root[data-theme=dark] form input,:root[data-theme=dark] .settings-panel select{background:#171a16;color:var(--ink)}:root[data-theme=dark] .week i{background:#262b25}:root[data-theme=dark] .primary{color:#102015}:root[data-theme=dark] .skeleton{background:linear-gradient(90deg,#262b25,#313730,#262b25);background-size:200% 100%}:root[data-theme=dark] .status{color:#8fd0a3}:root[data-theme=dark] .status.cancelled{background:#2c302a;color:var(--muted)}:root[data-theme=dark] .form-error{color:#e6968c!important}:root[data-theme=dark] .cancel,:root[data-theme=dark] .availability-row button,:root[data-theme=dark] .delete-member,:root[data-theme=dark] .type-actions .delete{color:#d98a80}

/* Approved Option 1 layout alignment */
.picker{max-width:none}.week{grid-template-columns:repeat(6,1fr)}.upcoming-list{display:grid}.upcoming{display:grid;grid-template-columns:68px 1fr;gap:14px;padding:14px 0;border-top:1px solid var(--line)}.upcoming time,.upcoming>span{display:grid;gap:4px}.upcoming small{color:var(--muted)}.calendar-slot-grid{display:grid;grid-template-columns:minmax(300px,1.1fr) minmax(220px,.9fr);gap:30px;margin-top:28px}.month-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.calendar-weekdays,.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;text-align:center}.calendar-weekdays{color:var(--muted);font-size:11px;margin-bottom:7px}.calendar button{aspect-ratio:1;border:0;border-radius:50%;background:transparent;cursor:pointer}.calendar button:disabled{color:#b7bbb6;cursor:default}.calendar button:not(:disabled):hover{background:var(--sage-soft)}.calendar button.selected{background:var(--sage);color:white}.time-picker .slot-label{margin:0 0 16px}.time-picker .slot-label span{display:block;margin-top:5px}.time-picker .slots{grid-template-columns:repeat(2,1fr);margin-top:0}
@media(max-width:760px){.calendar-slot-grid{grid-template-columns:1fr}.booking-card{grid-template-columns:1fr}.host-card{border-right:0;border-bottom:1px solid var(--line)}}
@media(min-width:761px) and (max-width:1050px){.summary-strip{grid-template-columns:1.2fr 1fr 1fr}.summary-strip p{border-right:1px solid var(--line);border-bottom:0}.summary-strip p:last-child{border-right:0}.dashboard-grid{grid-template-columns:minmax(0,1.35fr) minmax(310px,.8fr)}}
.type-select-label{display:grid;gap:8px;margin-top:26px;color:var(--muted);font-size:12px;font-weight:700}.type-select-label select{width:100%;padding:11px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);font:inherit}.meeting-type{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:17px 0;border-top:1px solid var(--line)}.meeting-type>span:first-child{display:grid;gap:4px}.meeting-type small{color:var(--muted)}.type-actions{display:flex;gap:14px;flex-shrink:0}.type-actions button{border:0;background:transparent;font-size:12px;cursor:pointer;padding:0}.type-actions .edit{color:var(--sage)}.type-actions .delete{color:#8a4a42}#cancel-edit-type{margin-left:14px}.delete-member{display:block;border:0;background:transparent;color:#8a4a42;font-size:11px;margin-top:4px;padding:0;cursor:pointer}
