:root{--bg:#0d1421;--card:#151f30;--muted:#202d43;--border:#2b3951;--text:#edf3ff;--sub:#a8b5ca;--blue:#7da2ff;--nav:#09111f;--good:#65d3a3;--warn:#f2a56f}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:16px}a{color:inherit}button,input,select{font:inherit}.app{min-height:100vh;display:flex}.app aside{width:245px;height:100vh;position:sticky;top:0;display:flex;flex-direction:column;padding:27px 20px;background:var(--nav)}.brand{display:flex;align-items:center;gap:10px;text-decoration:none}.brand>span,.auth-brand>span{width:40px;height:40px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(145deg,#7ca4ff,#466fde);font-size:21px}.brand small,.user small{display:block;color:var(--sub);font-size:.75rem;margin-top:2px}aside nav{display:grid;gap:5px;margin-top:34px}aside nav a{padding:13px;border-radius:11px;color:var(--sub);font-size:.9rem;font-weight:700;text-decoration:none}aside nav a.active,aside nav a:hover{background:#315fda;color:white}.privacy{margin-top:auto;padding:14px;border:1px solid #ffffff1a;border-radius:13px}.privacy b{font-size:.8rem}.privacy p{margin:5px 0 0;color:var(--sub);font-size:.72rem;line-height:1.5}.app>main{min-width:0;flex:1}.topbar{height:78px;position:sticky;top:0;z-index:10;display:flex;align-items:center;padding:12px 28px;border-bottom:1px solid var(--border);background:#151f30f2}.topbar h1{font-size:1.05rem;margin:2px 0}.topbar>div>small{text-transform:uppercase;letter-spacing:.08em;color:var(--sub);font-size:.65rem}.user{display:flex;align-items:center;gap:9px;margin-left:auto}.user>span{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:#29467c;font-size:.75rem;font-weight:800}.user b{font-size:.8rem}.user a{margin-left:9px;padding:9px 11px;border:1px solid var(--border);border-radius:9px;text-decoration:none;font-size:.75rem}.menu{display:none;border:1px solid var(--border);border-radius:10px;background:var(--card);color:var(--text);padding:9px 11px}.content{max-width:1520px;margin:auto;padding:28px clamp(15px,3vw,40px) 50px}.demo,.success,.error{display:flex;gap:10px;margin-bottom:18px;padding:11px 13px;border:1px solid #2b4f79;border-radius:11px;background:#172d4b;color:#dbe8ff;font-size:.78rem}.success{border-color:#2d765a;background:#163a2e;color:#b9f2da}.error{border-color:#8b3e4e;background:#40202a;color:#ffd3dc}.welcome{display:flex;align-items:end;justify-content:space-between;gap:18px}.welcome h2{margin:0;font-size:clamp(1.6rem,3vw,2.2rem)}.welcome p{margin:7px 0 0;color:var(--sub)}.primary,.auth-card form button,.settings-page form button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border:0;border-radius:10px;background:var(--blue);color:#0a1932;font-weight:850;text-decoration:none;cursor:pointer}.tray{display:flex;gap:8px;align-items:center;margin:22px 0 14px;padding:11px;border:1px solid var(--border);border-radius:14px;background:var(--card);overflow-x:auto}.tray b{font-size:.78rem;white-space:nowrap}.tray button{min-width:max-content;min-height:40px;border:1px dashed #43546f;border-radius:9px;background:var(--muted);color:var(--text);padding:0 11px;font-size:.72rem;font-weight:750;cursor:grab}.calendar{overflow:hidden;border:1px solid var(--border);border-radius:17px;background:var(--card)}.cal-head{display:flex;justify-content:space-between;padding:18px;border-bottom:1px solid var(--border)}.cal-head small{color:var(--sub)}.week{min-width:1120px;display:grid;grid-template-columns:repeat(7,1fr)}.calendar{overflow-x:auto}.day{border-right:1px solid var(--border)}.day:last-child{border:0}.day-head{height:66px;display:grid;place-items:center;border-bottom:1px solid var(--border)}.day-head span{font-size:.68rem;color:var(--sub);text-transform:uppercase}.day-head b{margin-top:-8px}.slot{min-height:115px;padding:7px;border-bottom:1px solid var(--border);transition:.15s}.slot.over{background:#253b61}.slot>small{display:block;margin-bottom:7px;color:var(--sub);font-size:.62rem;text-transform:uppercase}.event{display:grid;grid-template-columns:auto 1fr;gap:3px 6px;margin-bottom:6px;padding:8px;border-left:3px solid var(--blue);border-radius:8px;background:#233d6b;color:#edf3ff;cursor:grab}.event.open{border-color:var(--warn);background:#543627}.event time,.event span,.event em{font-size:.65rem}.event b{font-size:.72rem}.event span,.event em{grid-column:2;color:#c8d6ed}.event em{font-style:normal;font-weight:700}.event button{justify-self:end;border:0;background:transparent;color:#fff;text-decoration:underline;font-size:.65rem}.mobile-tip{padding:12px;text-align:center;color:var(--sub);font-size:.72rem}dialog{width:min(520px,calc(100% - 24px));border:1px solid var(--border);border-radius:18px;background:var(--card);color:var(--text);padding:0;box-shadow:0 30px 80px #0009}dialog::backdrop{background:#050912cc}dialog form{display:grid;gap:14px;padding:22px}.dialog-head{display:flex;justify-content:space-between}.dialog-head h2{margin:0}.dialog-head p{margin:5px 0;color:var(--sub);font-size:.8rem}.dialog-head button{border:0;background:none;color:var(--text);font-size:1.5rem}label{display:grid;gap:6px;font-size:.78rem;font-weight:750}input,select{min-height:44px;border:1px solid #41516b;border-radius:10px;background:#101a2a;color:var(--text);padding:0 11px}fieldset{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;border:1px solid var(--border);border-radius:11px;padding:11px}fieldset label{display:flex;align-items:center;padding:10px;border-radius:8px;background:var(--muted)}fieldset input{min-height:auto}fieldset button{border:1px solid var(--border);border-radius:8px;background:var(--card);color:var(--blue)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.dialog-actions{display:flex;justify-content:flex-end;gap:9px}.dialog-actions>button:first-child{border:1px solid var(--border);border-radius:10px;background:var(--card);color:var(--text)}
.auth-page{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 20% 10%,#1b3764,transparent 38%),var(--bg)}.auth-card{width:min(440px,100%);padding:30px;border:1px solid var(--border);border-radius:22px;background:var(--card);box-shadow:0 30px 80px #0006}.auth-brand{display:flex;align-items:center;gap:10px;text-decoration:none}.auth-card .eyebrow{margin-top:28px;text-transform:uppercase;letter-spacing:.08em;color:var(--blue);font-size:.68rem}.auth-card h1{font-size:2.1rem;margin:8px 0}.auth-card>p{color:var(--sub)}.auth-card form,.settings-page form{display:grid;gap:14px;margin-top:20px}.auth-links{display:flex;justify-content:space-between;margin-top:20px;font-size:.78rem}.install-button{width:100%;margin-top:15px;min-height:42px;border:1px solid var(--border);border-radius:9px;background:var(--muted);color:var(--text)}.simple-nav,.public>header{min-height:70px;display:flex;align-items:center;gap:20px;max-width:1180px;margin:auto;padding:12px 22px}.simple-nav>b{margin:auto}.simple-nav form{margin:0}.simple-nav button{border:1px solid var(--border);border-radius:9px;background:var(--card);color:var(--text);padding:9px}.settings-page{max-width:760px;margin:30px auto;padding:0 20px}.settings-page section{margin-bottom:18px;padding:24px;border:1px solid var(--border);border-radius:17px;background:var(--card)}.public>header nav{display:flex;gap:18px;margin-left:auto}.public>header nav a{text-decoration:none;font-size:.82rem;font-weight:700}.hero{max-width:1180px;margin:auto;padding:80px 22px;display:grid;grid-template-columns:1.05fr .95fr;gap:55px;align-items:center}.hero h1{font-size:clamp(3rem,7vw,5.3rem);line-height:.95;letter-spacing:-.06em;margin:14px 0}.hero p{color:var(--sub);font-size:1.05rem;line-height:1.7}.hero>div>div{display:flex;gap:10px}.hero>div>div>a:not(.primary){display:grid;place-items:center;padding:0 16px;border:1px solid var(--border);border-radius:10px;text-decoration:none}.hero-card{padding:22px;border:1px solid var(--border);border-radius:22px;background:var(--card);transform:rotate(1deg)}.hero-card article{display:grid;gap:8px;margin-top:11px;padding:14px;border-radius:10px;background:var(--muted);font-size:.72rem}.hero-card span{color:var(--sub)}.features,.plans{max-width:1136px;margin:auto;padding:55px 22px;display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.features article,.plans article{padding:24px;border:1px solid var(--border);border-radius:17px;background:var(--card)}.features p,.plans p{color:var(--sub);line-height:1.6}.public footer{text-align:center;padding:28px;color:var(--sub);font-size:.75rem}.pricing{max-width:1180px;margin:auto;padding:60px 22px;text-align:center}.pricing h1{font-size:clamp(2.4rem,5vw,4rem)}.plans{text-align:left}.plans article>b{display:block;font-size:2.1rem}.plans article>b small{font-size:.7rem;color:var(--sub)}.plans article>a{display:flex;justify-content:center;padding:12px;border-radius:9px;background:var(--blue);color:#0a1932;text-decoration:none;font-weight:850}.plans .featured{border:2px solid var(--blue);position:relative}.plans i{position:absolute;margin-top:-39px;padding:5px 9px;border-radius:999px;background:var(--blue);color:#0a1932;font-size:.65rem;font-weight:800}
@media(max-width:900px){.app aside{position:fixed;left:-260px;z-index:50;transition:.2s}.app aside.open{left:0;box-shadow:20px 0 60px #000b}.menu{display:block}.topbar{gap:12px;padding:10px 15px}.user div{display:none}.content{padding-top:20px}.hero{grid-template-columns:1fr;padding-top:45px}.features,.plans{grid-template-columns:1fr}}@media(max-width:600px){.welcome{align-items:flex-start;flex-direction:column}.welcome .primary{width:100%}.demo{align-items:flex-start;flex-direction:column}.form-row,fieldset{grid-template-columns:1fr 1fr}fieldset button{grid-column:1/-1;min-height:38px}.cal-head small{display:none}.user a{font-size:0}.user a:after{content:'⚙';font-size:1rem}.hero h1{font-size:3rem}.hero>div>div{flex-direction:column}.hero>div>div>a{min-height:46px}.public>header nav a:not(:last-child){display:none}}
:root{--bg:#091522;--card:#14263a;--muted:#1d3550;--border:#31506b;--text:#fff9ed;--sub:#b9c9d8;--blue:#ffad42;--good:#48d486;--warn:#ffd166}body{background:radial-gradient(circle at 92% 4%,rgba(255,173,66,.1),transparent 24rem),radial-gradient(circle at 10% 85%,rgba(72,212,134,.08),transparent 26rem),var(--bg)}.app aside{background:linear-gradient(180deg,#071321,#10253a);border-right:1px solid #284762}.brand>span,.auth-brand>span{background:linear-gradient(145deg,#ffb347,#ff8736);box-shadow:0 7px 18px rgba(255,139,54,.28)}aside nav a{border:1px solid transparent}aside nav a:hover{border-color:#3b637f;background:#193451}aside nav a.active{border-color:#69e39f;background:linear-gradient(135deg,#267957,#1d5d47);box-shadow:0 7px 18px rgba(45,180,113,.2)}.topbar{background:rgba(15,34,53,.95);border-bottom-color:#31506b}.eyebrow{color:#62dc98!important}.primary,.auth-card form button,.settings-page form button{background:linear-gradient(135deg,#ffbd54,#ff9338);color:#17202a;box-shadow:0 7px 18px rgba(255,150,54,.22)}.primary:hover,.auth-card form button:hover{filter:brightness(1.08);transform:translateY(-1px)}.panel,.calendar-surface,.request-card,.change-card,.metric-grid article,.person-card{border-color:#31506b;background:linear-gradient(145deg,rgba(24,48,73,.98),rgba(17,37,58,.98));box-shadow:0 12px 30px rgba(0,0,0,.16)}input,select,.stack textarea,.request-form textarea{border-color:#466985;background:#0d2134}.status.active,.status.accepted,.status.closed{background:#1d664a;color:#b9ffda}.status.pending,.status.open{background:#65491e;color:#ffe0a2}.success{border-color:#48d486;background:#133f31}.menu{border-color:#496985;background:#17314b}.user>span{background:linear-gradient(145deg,#36a86b,#257954)}dialog{border-color:#4d718d;background:#14283e}.public>header{background:rgba(9,21,34,.95)}.plans article{border-color:#31506b;background:linear-gradient(155deg,#172d45,#102238)}table tbody tr:hover{background:rgba(255,173,66,.05)}button,a{transition:background .16s,border-color .16s,transform .16s,filter .16s}

/* FTS PROFILE CARDS START */

.family-toolbar{display:flex;gap:10px;flex-wrap:wrap}
.profile-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(270px,1fr))!important;gap:16px!important}
.profile-card{display:block!important;position:relative!important;min-width:0!important;padding:18px!important;border:1px solid #35536d!important;border-radius:18px!important;background:linear-gradient(145deg,#132a3d,#19273a)!important;box-shadow:0 10px 28px #00000024}
.profile-head{display:grid!important;grid-template-columns:64px minmax(0,1fr)!important;align-items:center!important;gap:14px!important;padding-right:72px}
.profile-copy{display:flex!important;flex-direction:column!important;gap:3px!important;min-width:0}
.profile-copy b{font-size:1.08rem}.profile-copy small{display:block!important;color:#b9c8d8!important;text-transform:capitalize}
.profile-avatar{width:64px!important;height:64px!important;min-width:64px!important;border-radius:18px!important;object-fit:cover!important;display:grid!important;place-items:center!important;font-size:1.3rem!important;font-weight:900!important;color:#fff!important}
.profile-editor{margin:0!important}.profile-editor>summary{position:absolute!important;top:18px!important;right:16px!important;list-style:none!important;cursor:pointer!important;color:#071d28!important;background:#72dfbf!important;border-radius:999px!important;padding:8px 13px!important;font-weight:900!important;font-size:.9rem!important}.profile-editor>summary::-webkit-details-marker{display:none}.profile-editor[open]>summary{background:#ffb84d!important}
.profile-editor form{margin-top:18px!important}.profile-photo-form{padding-top:16px!important;border-top:1px solid #35536d!important}
.member-list{display:grid;gap:12px}.member-card{position:relative;border:1px solid #35536d;border-radius:16px;background:#13273a;padding:16px}.member-head{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:12px}.member-avatar{width:52px;height:52px;border-radius:15px;object-fit:cover;display:grid;place-items:center;background:linear-gradient(135deg,#16a085,#6c5ce7);font-weight:900}.member-copy{display:flex;flex-direction:column;gap:2px}.member-copy small{color:#b9c8d8}.member-role{font-size:.82rem;font-weight:900;padding:6px 9px;border-radius:999px;background:#184d3d;color:#8ef0c6}.member-editor{margin-top:12px}.member-editor>summary{cursor:pointer;display:inline-flex;list-style:none;color:#72dfbf;font-weight:900}.member-editor>summary::-webkit-details-marker{display:none}.member-editor form{margin-top:12px}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.media-card{overflow:hidden;border:1px solid var(--border);border-radius:15px;background:#171f30}.media-card img,.media-card video{width:100%;height:190px;object-fit:cover;display:block}.media-card div{padding:11px}.media-card small{display:block;color:var(--sub);margin-top:4px}.upload-form input[type=file]{padding:10px}.empty-gallery{padding:28px;text-align:center;border:1px dashed #ffffff33;border-radius:14px;color:var(--sub)}
@media(max-width:600px){.profile-grid{grid-template-columns:1fr!important}.profile-card{padding:15px!important}.profile-head{grid-template-columns:54px minmax(0,1fr)!important;padding-right:64px}.profile-avatar{width:54px!important;height:54px!important;min-width:54px!important}.profile-editor>summary{top:15px!important;right:13px!important}.member-head{grid-template-columns:46px minmax(0,1fr)!important}.member-avatar{width:46px;height:46px}.member-role{grid-column:2}}

/* FTS PROFILE CARDS END */

/* FTS MOBILE CONTROLS START */
.app>aside>.menu-close{display:grid!important;place-items:center!important;position:absolute!important;top:12px!important;right:12px!important;left:auto!important;width:38px!important;min-width:38px!important;max-width:38px!important;height:38px!important;min-height:38px!important;max-height:38px!important;padding:0!important;margin:0!important;border-radius:10px!important;font-size:1rem!important;line-height:1!important;transform:none!important}
.app input[type=checkbox]{appearance:auto!important;-webkit-appearance:checkbox!important;width:18px!important;min-width:18px!important;max-width:18px!important;height:18px!important;min-height:18px!important;max-height:18px!important;padding:0!important;margin:2px 0 0!important;transform:none!important;zoom:1!important;flex:0 0 18px!important}
.care-checks{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
.care-check{display:grid!important;grid-template-columns:18px minmax(0,1fr)!important;align-items:start!important;gap:11px!important;padding:12px!important;border:1px solid #35536d!important;border-radius:12px!important;background:#10263a!important;line-height:1.35!important}
.care-textareas{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}
.care-textareas label{display:flex!important;flex-direction:column!important;gap:7px!important;color:#f7f3eb!important}
.care-textareas textarea{min-height:112px!important;line-height:1.45!important;font-size:1rem!important;font-weight:500!important}
@media(max-width:700px){.care-checks,.care-textareas{grid-template-columns:1fr!important}.care-check{padding:11px!important}}
/* FTS MOBILE CONTROLS END */

/* FTS HOUSEHOLDS START */
.household-membership-list{display:grid;gap:10px;margin:16px 0}.household-membership-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;border:1px solid #35536d;border-radius:14px;background:#10263a}.household-membership-card div{display:flex;flex-direction:column;gap:3px}.household-membership-card small{color:#b9c8d8;text-transform:capitalize}.household-membership-card form{margin:0}.household-membership-card button{width:auto!important;min-height:38px!important;padding:8px 14px!important}.join-household{margin-top:14px;border:1px solid #35536d;border-radius:14px;padding:14px;background:#111f31}.join-household>summary{cursor:pointer;color:#72dfbf;font-weight:900}.join-household form{margin-top:14px}
@media(max-width:600px){.household-membership-card{grid-template-columns:1fr}.household-membership-card form,.household-membership-card button{width:100%!important}}
/* FTS HOUSEHOLDS END */
