:root{color-scheme:light;--forest:#07583b;--forest-deep:#06462f;--gold:#e6ba3a;--cream:#fffdf5;--paper:#fff;--ink:#10231c;--muted:#53645d;--line:#d9ded9;--danger:#c41423;--ok:#087a50;--shadow:0 14px 38px rgba(7,63,42,.08)}*{box-sizing:border-box}html{background:var(--cream)}body{margin:0;color:var(--ink);background:var(--cream);font:18px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif}h1,h2,h3,.brand-name{font-family:Georgia,"Times New Roman",serif;letter-spacing:-.025em}a{color:var(--forest-deep)}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:4px solid #54b6e8;outline-offset:3px}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;background:#fff;padding:.8rem;z-index:20}.top{background:var(--forest-deep);color:#fff}.top-inner,.main,.footer-inner{width:min(90rem,calc(100% - 3rem));margin:auto}.top-inner{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand{display:flex;align-items:baseline;gap:1.4rem;color:#fff;text-decoration:none}.brand-name{font-size:2rem;font-weight:800}.brand-name span{color:#f3cf62}.tagline{font-family:Georgia,"Times New Roman",serif;font-size:1.05rem}.text-action{appearance:none;border:0;background:transparent;color:#fff;font:inherit;text-decoration:underline;min-height:48px;padding:.5rem}.main{padding:2.2rem 0 3rem}h1{font-size:clamp(2.6rem,6vw,4rem);line-height:1;margin:.25rem 0 .5rem}.lede{font-size:1.2rem;color:var(--muted);max-width:62rem;margin:0 0 1.4rem}.notice,.error{padding:.85rem 1rem;border-left:5px solid var(--gold);background:#fff8dc;max-width:62rem}.error{border-color:var(--danger);background:#fff1f2;color:#76101b}.primary,.secondary,.danger-button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;border-radius:.45rem;padding:.75rem 1.2rem;font:700 1rem/1.2 system-ui,-apple-system,"Segoe UI",sans-serif;text-decoration:none;cursor:pointer}.primary{border:1px solid #c99d1d;background:var(--gold);color:var(--ink)}.primary:hover{background:#f0ca59}.secondary{border:1px solid var(--forest);background:#fff;color:var(--forest)}.danger-button{border:1px solid var(--danger);background:#fff;color:var(--danger)}.auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;max-width:86rem;margin:2rem auto}.auth-panel,.workspace,.family-list{background:var(--paper);border:1px solid var(--line);border-radius:.65rem;box-shadow:var(--shadow)}.auth-panel{padding:clamp(1.5rem,4vw,3.1rem)}.auth-panel h1,.auth-panel h2{font-size:clamp(2rem,4vw,2.7rem);line-height:1.1;margin:.25rem 0 1rem}.auth-panel p{color:var(--muted)}label{display:block;font-weight:650;margin:.95rem 0 .35rem}input{display:block;width:100%;min-height:54px;border:1px solid #aeb8b2;border-radius:.38rem;background:#fff;color:var(--ink);font:1rem/1.2 system-ui;padding:.7rem .85rem}input[type=checkbox]{display:inline-block;width:24px;min-height:24px;vertical-align:middle;margin-right:.5rem}.auth-panel .primary{width:100%;margin-top:1.25rem}.auth-links{text-align:center;margin-top:1.25rem}.family-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.portal-grid{display:grid;grid-template-columns:minmax(18rem,34rem) 1fr;gap:1.25rem}.family-list{padding:.45rem}.profile-row{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:.9rem;padding:1rem;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;min-height:96px}.profile-row:last-child{border-bottom:0}.profile-row.selected{background:#fff9e5;box-shadow:inset 0 0 0 2px var(--gold);border-radius:.45rem}.avatar{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--forest-deep);color:#fff;font-weight:800}.profile-name{display:block;font-family:Georgia,"Times New Roman",serif;font-size:1.25rem;font-weight:700}.status{display:block;color:var(--muted);font-size:.92rem}.status:before{content:"";display:inline-block;width:.65rem;height:.65rem;border-radius:50%;background:var(--danger);margin-right:.45rem}.status.connected:before{background:var(--ok)}.workspace{padding:clamp(1.25rem,3vw,2rem)}.workspace-title{display:flex;justify-content:space-between;align-items:center;gap:1rem;border-bottom:1px solid var(--line);padding-bottom:1rem}.workspace h2{font-size:2.15rem;margin:0}.detail-section{display:grid;grid-template-columns:48px 1fr;gap:1rem;padding:1.3rem 0;border-bottom:1px solid var(--line)}.detail-section h3{font-size:1.45rem;margin:0 0 .2rem}.detail-section p{margin:.25rem 0;color:var(--muted)}.detail-icon{font-size:1.65rem;border:2px solid var(--forest);border-radius:.4rem;width:46px;height:46px;display:grid;place-items:center}.detail-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin:.85rem 0}.privacy-note{font-size:.92rem}.danger-zone{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-top:1.2rem;color:var(--danger)}.empty{padding:3rem;text-align:center;color:var(--muted)}.form-shell{max-width:42rem;margin:1.5rem 0;background:#fff;border:1px solid var(--line);border-radius:.65rem;padding:1.5rem;box-shadow:var(--shadow)}.form-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.2rem}.footer{border-top:1px solid var(--line);background:#fff}.footer-inner{display:flex;gap:2rem;padding:1.25rem 0 2.5rem}.footer a{min-height:44px;display:inline-flex;align-items:center}.meta{font-size:.9rem;color:var(--muted)}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:800px){.top-inner{align-items:flex-start;padding:.8rem 0}.brand{display:block}.tagline{display:block;font-size:.9rem}.auth-grid,.portal-grid{grid-template-columns:1fr;gap:1rem}.family-header{display:block}.family-header .primary{margin-top:1rem}.profile-row{grid-template-columns:44px 1fr}.profile-row .row-action{grid-column:2}.workspace-title,.danger-zone{align-items:flex-start;flex-direction:column}.detail-actions{display:grid}.detail-actions>*{width:100%}.top-inner,.main,.footer-inner{width:min(100% - 1.25rem,90rem)}.footer-inner{flex-wrap:wrap;gap:1rem}.auth-grid{margin-top:1rem}.auth-panel{padding:1.25rem}h1{font-size:2.5rem}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
