@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Manrope:wght@400;500;600;700;800&display=swap";:root{font-family:DM Sans,system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:#1d3847;background:#f5f9fb;font-synthesis:none;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.56;cursor:not-allowed}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,system-ui,Arial,sans-serif;letter-spacing:-.045em}h1{font-size:32px;line-height:1.2;margin-bottom:8px}h2{font-size:20px;margin-bottom:10px}h3{font-size:17px;margin-bottom:10px}a{color:inherit}p{line-height:1.65}.muted{color:#758e9b;font-size:13px}.muted.inline{font-size:12px}.eyebrow{display:inline-flex;align-items:center;gap:6px;text-transform:uppercase;font-size:10px;letter-spacing:.14em;font-weight:800;color:#3793a1}.brand{font-family:Manrope,system-ui,sans-serif;color:#174f68;font-size:21px;display:flex;align-items:center;gap:11px;font-weight:800;letter-spacing:-.055em;white-space:nowrap}.brand-icon{width:35px;height:35px;background:linear-gradient(135deg,#1e83a9,#52b8af);color:#fff;display:grid;place-items:center;border-radius:12px}.dot{color:#45a3a3}.login-layout{min-height:100vh;display:grid;grid-template-columns:1.03fr .97fr}.login-hero{padding:48px 70px;background:linear-gradient(135deg,#174c68,#247c92 70%,#4ca8a2);color:#fff;display:flex;flex-direction:column;justify-content:space-between}.login-hero .brand{color:#fff}.login-hero .brand-icon{background:#ffffff24}.login-hero .dot{color:#9be8db}.login-hero h1{max-width:650px;font-size:clamp(38px,4.7vw,64px);line-height:1.13;letter-spacing:-.06em;margin:18px 0 24px}.login-hero h1 em{color:#b9e8de;font-style:normal}.login-hero p{color:#d5edf4;max-width:500px}.login-hero .eyebrow{color:#ade8e3}.login-hero small{color:#b6e2e9}.hero-tags{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.hero-tags span{display:flex;gap:9px;align-items:center;font-weight:600;font-size:12px;padding:11px;border:1px solid #ffffff43;border-radius:11px;background:#ffffff0a}.login-side{display:grid;place-items:center;padding:30px;background:#f4f9fb}.login-card{background:#fff;width:min(100%,430px);padding:42px;border-radius:24px;box-shadow:0 16px 60px #1b536218}.login-card h2{font-size:28px;margin:8px 0}.login-card>p{margin-bottom:28px}.mobile-logo{display:none}.stack{display:flex;flex-direction:column;gap:18px}.stack label,.password-change label{font-weight:700;font-size:12px;display:flex;flex-direction:column;gap:8px;color:#39606c}input:not([type=checkbox]),select,textarea{width:100%;border:1px solid #d9e8ed;background:#fff;color:#1e4555;border-radius:11px;outline:none;padding:12px 14px;min-height:44px;font-size:13px}input:focus,select:focus,textarea:focus{border-color:#3b95a5;box-shadow:0 0 0 3px #3e99aa24}textarea{resize:vertical}.btn{border:0;display:inline-flex;gap:9px;align-items:center;justify-content:center;border-radius:11px;padding:11px 17px;font-size:13px;font-weight:800;white-space:nowrap;transition:transform .13s}.btn:not(:disabled):active{transform:scale(.98)}.btn-primary{color:#fff;background:#197f9b}.btn-primary:hover:not(:disabled){background:#116c85}.btn-secondary{background:#ecf4f6;color:#31677b}.btn-quiet{background:transparent;color:#6e93a1;padding:10px}.btn-small{padding:8px 12px;font-size:12px}.btn-full{width:100%}.login-note{display:flex;align-items:flex-start;gap:9px;border-radius:10px;padding:14px;background:#f1f7f9;color:#6d8894;line-height:1.6;font-size:11px;margin-top:26px}.login-note svg{flex-shrink:0}.boot,.setup-error{min-height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;color:#386b7c;padding:24px}.setup-error{max-width:600px;margin:auto;text-align:center}.spinner{animation:spin 1.2s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app-shell{display:grid;grid-template-columns:238px minmax(0,1fr);min-height:100vh}.sidebar{background:#fff;border-right:1px solid #e5eef1;padding:28px 18px;display:flex;flex-direction:column;gap:38px;position:sticky;top:0;height:100vh}.sidebar .brand{padding-left:9px;font-size:20px}.nav-group{display:flex;flex-direction:column;gap:5px}.nav-link{border:0;background:none;color:#718c98;padding:13px 14px;display:flex;align-items:center;text-align:left;gap:13px;border-radius:12px;font-size:13px;font-weight:800}.nav-link.on{background:#e6f4f6;color:#167991}.nav-link:hover{background:#f0f7f9}.sidebar-foot{margin-top:auto;display:flex;flex-direction:column;gap:22px;padding:4px 12px}.mini-badge{display:flex;align-items:center;gap:8px;color:#588695;font-size:11px}.signout{display:flex;gap:11px;border:0;background:none;color:#6d8792;font-weight:700;align-items:center;padding:4px 0;text-align:left;font-size:12px}.main-area{min-width:0}.topbar{height:77px;background:#fff;border-bottom:1px solid #e6eff2;padding:0 42px;display:flex;align-items:center;justify-content:space-between}.topbar>div:first-child{display:flex;flex-direction:column;gap:2px}.topbar strong{font-size:15px}.topbar-sub{font-weight:800;color:#83a2ac;font-size:9px;letter-spacing:.11em}.top-actions{display:flex;align-items:center;gap:14px}.icon-btn{display:grid;place-items:center;border:0;background:transparent;color:#75919d;padding:10px}.avatar{width:37px;height:37px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;background:#dff0f0;border:2px solid #fff;color:#247885;font-size:12px;font-weight:800;object-fit:cover;aspect-ratio:1}.avatar-large{width:61px;height:61px;font-size:18px}.content{max-width:1310px;margin:auto;padding:37px 42px 110px}.page-title{display:flex;justify-content:space-between;gap:18px;align-items:end;margin-bottom:23px}.page-title h1{margin:8px 0}.page-title p{margin:0;color:#7b949e;font-size:13px}.panel{border:1px solid #e7eff2;background:#fff;padding:24px;border-radius:18px;box-shadow:0 3px 18px #19455b06;margin-bottom:18px}.panel h2{margin-bottom:15px}.banner{display:flex;align-items:flex-start;gap:11px;border-radius:12px;padding:13px 17px;background:#ebf5f7;color:#4c7986;font-size:12px;line-height:1.65;margin-bottom:20px}.banner svg{flex-shrink:0;margin-top:1px}.banner-warning{background:#fff5e5;color:#806846}.cards-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}.family-card{border:1px solid #e6eff1;background:#fff;border-radius:18px;padding:23px;display:flex;flex-direction:column;gap:15px;min-height:220px}.card-head{display:flex;gap:13px;align-items:center}.card-head h3{margin:0 0 5px}.card-head span{display:flex;align-items:center;gap:4px;color:#8398a3;font-size:11px}.family-card>p{font-size:12px;line-height:1.7;color:#6f8a96;margin:0;flex:1}.chips{display:flex;flex-wrap:wrap;gap:7px}.chip{background:#eaf5f3;border-radius:30px;color:#397c81;padding:6px 10px;font-size:11px;font-weight:700}.card-actions{display:flex;align-items:center;justify-content:space-between;margin-top:6px;gap:8px}.state-label{font-size:12px;font-weight:800;color:#328591}.empty{padding:48px 20px;display:flex;flex-direction:column;align-items:center;gap:11px;text-align:center;color:#9db4bd}.empty b{color:#456876;font-size:15px}.empty p{font-size:12px;max-width:350px;margin:0}.list-row{display:flex;gap:13px;align-items:center;padding:14px 0;border-bottom:1px solid #edf3f5}.list-row:last-child{border-bottom:0}.grow{flex:1;min-width:0}.list-row .grow{display:flex;flex-direction:column;gap:5px}.list-row small{color:#8aa0a9;font-size:11px}.row-buttons{display:flex;gap:8px}.chat-grid{display:grid;grid-template-columns:260px minmax(0,1fr);gap:16px}.chat-sidebar{min-height:450px}.chat-peer{display:flex;align-items:center;gap:9px;width:100%;border:0;background:none;padding:9px 7px;border-radius:10px;color:#416d7e;font-weight:700;text-align:left;font-size:12px}.chat-peer.chosen,.chat-peer:hover{background:#eaf4f6}.chat-main{display:flex;flex-direction:column;min-height:470px}.chat-title{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #e8f0f3;padding-bottom:13px}.chat-title small{color:#92a6b1}.chat-bubbles{display:flex;flex-direction:column;gap:13px;min-height:280px;max-height:440px;overflow-y:auto;padding:24px 0;flex:1}.bubble{position:relative;align-self:flex-start;max-width:78%;display:flex;flex-direction:column;gap:9px;border-radius:14px 14px 14px 4px;padding:12px 16px 26px;background:#eef3f5;font-size:12px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.bubble.mine{align-self:flex-end;background:#d9eef0;border-radius:14px 14px 4px}.bubble small{color:#7e98a1;font-size:9px}.bubble button{position:absolute;right:7px;bottom:4px;background:transparent;border:0;color:#79949d}.chat-compose{display:flex;gap:8px}.chat-compose input{flex:1}.event-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.event-card{margin-bottom:0}.event-card .eyebrow{margin-bottom:12px}.event-card h3{font-size:18px;margin-bottom:8px}.event-meta{display:flex;flex-direction:column;gap:9px;color:#76939f;font-size:12px;margin:20px 0}.event-meta span{display:flex;gap:8px;align-items:center}.event-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #edf3f5;padding-top:14px}.event-requests{margin-top:15px;border-top:1px solid #edf3f5;padding-top:15px}.event-requests>.list-row{gap:7px}.event-requests b{font-size:12px}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.interest{padding:8px 12px;font-weight:700;border-radius:30px;border:1px solid #d8e6e9;background:#fff;color:#6e8993;font-size:11px}.interest.selected{background:#e5f3f2;border-color:#74aaa7;color:#327e78}.toggle{display:flex!important;flex-direction:row!important;gap:12px!important;align-items:flex-start!important;background:#f1f7f8;padding:14px;border-radius:13px}.toggle input{accent-color:#27859a;width:17px;height:17px;flex-shrink:0}.toggle span{display:flex;flex-direction:column;gap:3px}.toggle small{font-size:11px;color:#7e98a3;line-height:1.5}.profile-heading{display:flex;align-items:center;gap:14px;margin-bottom:25px}.profile-heading h2{margin-bottom:4px}.profile-heading p{margin:0}.panel-head{display:flex;justify-content:space-between;gap:12px;align-items:start;margin-bottom:15px}.panel-head h2{margin-bottom:5px}.photo-grid{display:flex;flex-wrap:wrap;gap:13px}.photo-item{display:flex;flex-direction:column;gap:5px}.photo-item img,.photo-fallback{width:112px;height:112px;object-fit:cover;border-radius:10px;background:#e7eff2}.photo-fallback{font-size:10px;display:grid;place-items:center;padding:10px;text-align:center}.photo-item small{font-size:10px;color:#718b97}.file-label{cursor:pointer}.password-change{display:flex;gap:14px;align-items:end}.password-change label{max-width:420px;flex:1}.info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.info-tile{text-decoration:none;display:flex;flex-direction:column;gap:10px}.info-tile svg{color:#2f8da1}.info-tile h3{margin:0}.info-tile p{color:#718f99;font-size:12px;flex:1}.info-tile span{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:800;color:#2a8194}.toast,.toast-local{display:flex;align-items:center;gap:14px;justify-content:space-between;padding:13px 16px;border-radius:11px;line-height:1.5;font-size:12px}.toast button,.toast-local button{border:0;background:transparent;color:inherit;display:grid;place-items:center}.toast{position:fixed;bottom:25px;right:25px;max-width:420px;z-index:999;box-shadow:0 10px 30px #283f4b3a}.toast-local{margin-bottom:12px}.toast-danger{background:#fff0f0;color:#9a3542}.toast-success{background:#e5f7ee;color:#2d7a57}.mobile-nav{display:none}@media(max-width:1050px){.sidebar{width:210px;padding:23px 12px}.app-shell{grid-template-columns:210px minmax(0,1fr)}.sidebar .brand{font-size:18px}.content{padding:32px 24px 100px}.topbar{padding:0 24px}.event-grid{grid-template-columns:1fr}}@media(max-width:750px){.login-layout{display:flex;flex-direction:column}.login-hero{padding:26px;min-height:340px}.login-hero h1{font-size:37px}.login-hero .hero-tags,.login-hero small{display:none}.login-side{padding:20px}.login-card{padding:27px}.app-shell{display:block}.sidebar{display:none}.topbar{height:65px;padding:0 16px}.content{padding:25px 15px 100px}.page-title h1{font-size:27px}.page-title p{font-size:12px}.cards-grid,.event-grid,.info-grid,.chat-grid{grid-template-columns:1fr}.chat-sidebar{min-height:unset;padding:15px}.chat-main{min-height:400px}.panel{padding:19px}.field-grid{grid-template-columns:1fr}.title-with-button{align-items:start;flex-direction:column}.password-change{align-items:stretch;flex-direction:column}.mobile-nav{display:grid;grid-template-columns:repeat(6,1fr);background:#fff;border-top:1px solid #e2edf1;position:fixed;bottom:0;left:0;right:0;padding:7px 4px max(8px,env(safe-area-inset-bottom));z-index:30;box-shadow:0 -4px 20px #21445612}.mobile-nav button{border:0;background:transparent;padding:6px 1px;color:#8aa3ac;display:flex;flex-direction:column;align-items:center;gap:4px}.mobile-nav button.on{color:#187a97}.mobile-nav small{font-size:9px;font-weight:800;white-space:nowrap}.row-buttons{flex-wrap:wrap;justify-content:flex-end}.list-row{gap:8px}.list-row .btn-small{font-size:10px;padding:7px}.family-card{min-height:unset}.panel-head{flex-direction:column}.event-requests .list-row{flex-wrap:wrap}}
