:root{color:#111827;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f6f7fb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}*{box-sizing:border-box}body{margin:0}:root{--bg:#f3f7f5;--surface:#fff;--surface-alt:#eaf1ee;--surface-strong:#dce8e3;--text:#10211d;--muted:#647872;--subtle:#8a9b95;--border:#d7e3df;--accent:#0b8f7a;--accent-strong:#087363;--accent-soft:#dcf5ee;--danger:#c43d56;--danger-soft:#fde8ec;--warning:#b76416;--warning-soft:#fff0d8;--shadow:0 18px 50px #1a3a311a;--shadow-soft:0 8px 24px #1a3a3112}:root[data-theme=dark]{--bg:#09110f;--surface:#101b18;--surface-alt:#15231f;--surface-strong:#1b2c27;--text:#edf7f3;--muted:#9db2aa;--subtle:#748b83;--border:#263a34;--accent:#43d6b5;--accent-strong:#71e5cb;--accent-soft:#123d34;--danger:#ff8295;--danger-soft:#40202a;--warning:#f2b665;--warning-soft:#3d2b16;--shadow:0 18px 50px #00000052;--shadow-soft:0 8px 24px #00000038}html,body,#root{min-height:100%}body{background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}.app-shell{background:#07120f;grid-template-columns:292px minmax(0,1fr);gap:14px;min-height:100vh;padding:14px;display:grid}.sidebar{color:#f9fafb;background:radial-gradient(circle at 18% 4%,#14b8a647,#0000 30%),radial-gradient(circle at 82% 0,#6366f12e,#0000 24%),linear-gradient(#10251f 0%,#07120f 100%);border:1px solid #ffffff14;border-radius:24px;flex-direction:column;gap:28px;height:calc(100vh - 28px);padding:24px 20px;display:flex;position:sticky;top:0;overflow-y:auto}.brand-block{align-items:center;gap:14px;display:flex}.brand-mark{object-fit:contain;filter:drop-shadow(0 8px 20px #14b8a638);width:44px;height:44px}.sidebar h1{color:#fff;margin:4px 0 0;font-size:24px;line-height:1.1}.sidebar nav{gap:8px;display:grid}.sidebar a{color:#cbd5e1;border:1px solid #0000;border-radius:14px;padding:13px 14px;font-weight:850;text-decoration:none;transition:background-color .16s,border-color .16s,color .16s,transform .18s}.sidebar a:hover,.sidebar a.active{color:#fff;background:#ffffff14;border-color:#ffffff1a}.sidebar a:hover{transform:translate(3px)}.sidebar a.active{box-shadow:inset 3px 0 #5eead4}.sidebar-note{background:#ffffff12;border:1px solid #ffffff1a;border-radius:18px;margin-top:auto;padding:16px}.sidebar-note span{color:#5eead4;text-transform:uppercase;font-size:12px;font-weight:900}.sidebar-note p{color:#cbd5e1;margin:8px 0 0}.sidebar-note strong{color:#fff;text-overflow:ellipsis;white-space:nowrap;margin-top:8px;font-size:13px;display:block;overflow:hidden}.sidebar-note a{color:#fff;margin-top:12px;padding:0;font-weight:900;display:inline-flex}.sidebar-signout{background:#ffffff14;border-color:#ffffff1f;width:100%;margin-top:12px}.workspace{background:radial-gradient(circle at 82% 0%, #38bdf826, transparent 26%), radial-gradient(circle at 14% 12%, #14b8a61f, transparent 28%), linear-gradient(180deg, color-mix(in srgb, var(--bg) 94%, var(--accent) 6%) 0%, var(--bg) 100%);border:1px solid var(--border);min-width:0;min-height:calc(100vh - 28px);color:var(--text);border-radius:24px;padding:32px clamp(20px,3.2vw,48px);transition:background .22s,color .22s}.theme-control{background:var(--surface-alt);border:1px solid var(--border);border-radius:14px;align-items:center;gap:3px;padding:4px;display:inline-flex}.theme-control button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:10px;padding:8px 11px;font-size:12px;font-weight:850}.theme-control button.active{background:var(--surface);box-shadow:var(--shadow-soft);color:var(--accent-strong)}.theme-control.compact{background:#ffffff12;border-color:#ffffff1a;display:flex}.theme-control.compact button{color:#9fb6ae;flex:1}.theme-control.compact button.active{box-shadow:none;color:#fff;background:#ffffff21}.appearance-setting{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:24px;padding:18px 0;display:flex}.appearance-setting>span{gap:5px;display:grid}.appearance-setting small{color:var(--muted)}@keyframes page-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:160% 0}to{background-position:-160% 0}}.workspace>.topbar,.workspace>section,.workspace>.dashboard-skeleton{animation:.42s cubic-bezier(.22,1,.36,1) both page-rise}.workspace>section:first-of-type{animation-delay:45ms}.workspace>section:nth-of-type(2){animation-delay:90ms}.workspace>section:nth-of-type(3){animation-delay:.135s}.loading-hidden{display:none!important}.dashboard-skeleton{max-width:1240px;margin:0 auto}.skeleton-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.skeleton-card,.skeleton-hero{border:1px solid var(--border);background:#ffffffeb;border-radius:8px;padding:18px}.skeleton-card{gap:13px;display:grid}.skeleton-hero{gap:12px;min-height:160px;margin-top:14px;display:grid}.skeleton-line{background:linear-gradient(90deg,#e8edf3 25%,#f8fafc 50%,#e8edf3 75%) 0 0/220% 100%;border-radius:999px;height:13px;animation:1.35s linear infinite shimmer;display:block}.skeleton-line.short{width:38%}.skeleton-line.value{width:24%;height:34px}.skeleton-line.title{width:54%;height:28px}.sr-only{clip:rect(0, 0, 0, 0);width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.topbar,.metrics,.hero-strip,.content-grid,.single-column,.settings-grid{width:100%;min-width:0;max-width:1240px;margin:0 auto}.topbar{justify-content:space-between;align-items:flex-start;gap:20px;min-width:0;margin-bottom:22px;display:flex}.topbar>div:first-child{min-width:0}.topbar h2{color:var(--text);max-width:760px;margin:7px 0 0;font-size:clamp(30px,4vw,42px);line-height:1.05}.topbar-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;min-width:fit-content;display:flex}.eyebrow{color:var(--accent-strong);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:12px;font-weight:900}button{background:var(--accent);border:1px solid var(--accent);color:#fff;cursor:pointer;font:inherit;border-radius:13px;min-height:42px;padding:0 16px;font-weight:850;transition:background-color .16s,border-color .16s,box-shadow .16s,transform .16s}button:hover:not(:disabled){background:var(--accent-strong);box-shadow:0 10px 24px color-mix(in srgb, var(--accent) 28%, transparent);transform:translateY(-1px)}button:active:not(:disabled){box-shadow:none;transform:translateY(0)scale(.98)}button:disabled{cursor:not-allowed;opacity:.58}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #14b8a657}.text-button{color:var(--accent-strong);background:0 0;border-color:#0000;min-height:36px}.text-button:hover:not(:disabled){background:var(--accent-soft);box-shadow:none;transform:none}.ghost-button{background:var(--surface);border-color:var(--border);color:var(--text)}.ghost-button:hover:not(:disabled){background:var(--surface-alt)}.danger-button{color:#9f1239;background:#fff1f2;border-color:#fecdd3}.danger-button:hover:not(:disabled){color:#881337;background:#ffe4e6;border-color:#fda4af}.metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;min-width:0;margin-bottom:14px;display:grid}.metrics article,.panel,.hero-strip{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:color-mix(in srgb, var(--surface) 94%, transparent);border:1px solid var(--border);box-shadow:var(--shadow-soft);border-radius:20px}.metrics article,.device-card,.reminder-card,.member-card,.alert-card,.panel{transition:border-color .18s,box-shadow .22s,transform .22s cubic-bezier(.22,1,.36,1)}.metrics article:hover,.device-card:hover,.reminder-card:hover,.member-card:hover,.alert-card:hover{border-color:#b8c5d6;transform:translateY(-3px);box-shadow:0 18px 42px #0f172a17}.metrics article{gap:8px;padding:18px;display:grid}.metrics span,.panel-heading span,.device-card p,.device-location,.phone-screen small{color:var(--muted)}.metrics strong{color:var(--text);font-size:36px;line-height:1}.hero-strip{grid-template-columns:minmax(0,1fr) 180px 180px;align-items:center;gap:24px;margin-bottom:14px;padding:22px;display:grid;overflow:hidden}.hero-strip h3{color:var(--text);margin:8px 0;font-size:28px;line-height:1.1}.hero-strip p{color:var(--muted);max-width:760px;margin:0}.config-badge{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;justify-self:end;gap:6px;width:100%;padding:14px;display:grid}.config-badge.ready{color:#166534;background:#ecfdf5;border-color:#bbf7d0}.config-badge span{text-transform:uppercase;font-size:12px;font-weight:900}.config-badge strong{font-size:16px}.config-badge.inline{justify-self:stretch;max-width:280px}.phone-preview{background:#111827;border-radius:26px;justify-self:end;width:142px;height:238px;padding:12px;box-shadow:0 22px 45px #11182738}.phone-speaker{background:#2b3445;border-radius:999px;width:42px;height:5px;margin:0 auto 12px}.phone-screen{background:linear-gradient(160deg,#14b8a638,#0000 48%),#f8fafc;border-radius:18px;align-content:end;height:197px;padding:14px;display:grid}.phone-screen span{color:var(--accent-strong);font-size:12px;font-weight:900}.phone-screen strong{color:var(--text);font-size:24px;line-height:1}.content-grid{grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:14px;min-width:0;display:grid}.single-column{gap:14px;display:grid}.monitoring-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;width:100%;min-width:0;max-width:1240px;margin:0 auto 14px;display:grid}.monitoring-stat{background:#ffffffe6;border:1px solid #cbd5e1e0;border-radius:8px;gap:6px;padding:16px;display:grid;box-shadow:0 18px 45px #0f172a0d}.monitoring-stat span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:900}.monitoring-stat strong{color:var(--text);font-size:34px;line-height:1}.monitoring-stat small{color:var(--muted)}.device-monitor-grid{grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:14px;width:100%;min-width:0;max-width:1240px;margin:0 auto;display:grid}.device-map-panel{grid-column:1/-1}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.settings-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;width:100%;min-width:0;max-width:1240px;margin:0 auto 14px;display:grid}.settings-summary article{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffeb;border:1px solid #cbd5e1db;border-radius:8px;gap:6px;padding:16px;display:grid;box-shadow:0 18px 45px #0f172a0d}.settings-summary span,.settings-dl dt{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:900}.settings-summary strong{color:var(--text);overflow-wrap:anywhere;font-size:28px;line-height:1.1}.settings-summary small{color:var(--muted)}.settings-card{align-content:start}.settings-dl{gap:10px;margin:0;display:grid}.settings-dl div{background:var(--surface);border:1px solid var(--border);border-radius:8px;gap:5px;padding:12px;display:grid}.settings-dl dd{color:var(--text);overflow-wrap:anywhere;margin:0;font-weight:850}.settings-checklist{gap:10px;display:grid}.settings-checklist label{background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-direction:row;align-items:center;gap:10px;padding:12px;font-size:14px;display:flex}.settings-checklist input{accent-color:var(--accent-strong);width:auto}.settings-layout{grid-template-columns:260px minmax(0,1fr);gap:16px;max-width:1240px;margin:0 auto;display:grid}.settings-nav,.settings-content{align-self:start;padding:14px}.settings-nav{gap:6px;display:grid}.settings-nav-item{color:var(--muted);text-align:left;background:0 0;border-color:#0000;flex-direction:column;align-items:flex-start;min-height:64px;padding:11px 13px;display:flex}.settings-nav-item span{color:#94a3b8;margin-top:3px;font-size:12px}.settings-nav-item.active{border-color:var(--text);color:#fff;background:#0f172a}.settings-content{min-height:440px;padding:22px}.settings-message{color:#166534;background:#ecfdf5;border:1px solid #bbf7d0;border-radius:8px;margin:0 0 18px;padding:11px 13px}.settings-switch-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:22px;padding:18px 0;display:flex}.settings-switch-row>span{gap:4px;display:grid}.settings-switch-row small{color:var(--muted);font-weight:500}.settings-switch-row input{accent-color:var(--accent-strong);width:22px;height:22px}.settings-select{border-bottom:1px solid var(--border);gap:8px;padding:18px 0;display:grid}.settings-select select{max-width:260px}.privacy-note{background:var(--accent-soft);color:#115e59;border:1px solid #99f6e4;border-radius:8px;margin-top:20px;padding:18px;line-height:1.6}.family-members-panel{grid-column:1/-1}.member-list{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px;display:grid}.member-card{background:var(--surface-alt);border:1px solid var(--border);border-radius:10px;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;display:grid}.member-avatar{color:var(--accent-strong);background:#ccfbf1;border-radius:999px;justify-content:center;align-items:center;width:44px;height:44px;font-size:17px;font-weight:900;display:flex}.member-card span,.member-device-count span{color:var(--muted);margin-top:3px;font-size:12px;display:block}.member-device-count{text-align:right}.member-device-count strong{font-size:22px}.member-role-actions{flex-wrap:wrap;grid-column:2/-1;gap:8px;display:flex}.member-role-actions button{width:auto}.sync-explainer{color:var(--muted);margin:-6px 0 14px;font-size:13px}.profile-form{background:var(--surface-alt);border:1px solid var(--border);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;margin-bottom:18px;padding:14px;display:grid}.device-list.compact .device-card{padding-block:11px}.device-list.compact .device-location small:last-child{display:none}.activity-layout{grid-template-columns:280px minmax(0,1fr);gap:16px;max-width:1240px;margin:0 auto;display:grid}.activity-filters,.activity-timeline-panel{align-self:start;padding:20px}.activity-filters{gap:16px;display:grid}.location-timeline{margin:0;padding:0;list-style:none;display:grid}.location-timeline li{border-bottom:1px solid var(--border);grid-template-columns:14px minmax(0,1fr) auto;align-items:center;gap:14px;padding:15px 0;display:grid}.timeline-dot{background:#14b8a6;border:3px solid #ccfbf1;border-radius:999px;width:12px;height:12px}.location-timeline p{color:#334155;margin:4px 0}.location-timeline small{color:var(--muted)}.location-timeline a{color:var(--accent-strong);font-weight:850;text-decoration:none}.alert-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;max-width:1240px;margin:0 auto 16px;display:grid}.alert-summary article{border:1px solid var(--border);background:#fff;border-radius:8px;gap:5px;padding:18px;display:grid}.alert-summary span,.alert-summary small{color:var(--muted)}.alert-summary strong{color:var(--text);font-size:32px}.metrics strong a{color:inherit;text-decoration:none}.alerts-panel{max-width:1240px;margin:0 auto;padding:20px}.alerts-list{gap:10px;display:grid}.alert-card{border:1px solid #fde68a;border-radius:10px;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px;display:grid}.alert-card.critical{background:#fff1f2;border-color:#fecdd3}.alert-card.warning{background:#fffbeb}.alert-icon{background:#fff;border-radius:999px;justify-content:center;align-items:center;width:44px;height:44px;font-size:20px;font-weight:900;display:flex}.alert-card span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:900}.alert-card h3,.alert-card p{margin:3px 0 0}.alert-actions{gap:12px;display:flex}.alert-actions a{color:var(--accent-strong);font-weight:850;text-decoration:none}@media (width<=820px){.settings-layout,.activity-layout,.alert-summary{grid-template-columns:1fr}.alert-card{grid-template-columns:44px minmax(0,1fr)}.alert-actions{grid-column:2}.settings-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.skeleton-metrics{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}.family-grid{grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:14px;width:100%;min-width:0;max-width:1240px;margin:0 auto;display:grid}.family-hero-panel{align-content:start}.family-form-panel{gap:12px;display:grid}.family-devices-panel{grid-column:1/-1}.invite-card{background:linear-gradient(135deg,#ccfbf17a,#0000 42%),#f8fafc;border:1px solid #99f6e4;border-radius:8px;gap:8px;padding:16px;display:grid}.invite-card span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:900}.invite-card strong{color:var(--text);font-size:24px}.invite-card code{color:#fff;letter-spacing:.08em;text-align:center;background:#111827;border-radius:8px;padding:10px 12px;font-size:clamp(18px,3vw,28px);font-weight:900}.panel{min-width:0;padding:18px}.panel-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.panel h3,.device-card h4{color:var(--text);margin:0}.panel-link{color:var(--accent-strong);font-size:14px;font-weight:900;text-decoration:none}.device-list{gap:10px;min-width:0;display:grid}.device-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;grid-template-columns:minmax(230px,1.35fr) minmax(110px,.45fr) minmax(190px,.9fr) minmax(145px,.55fr);align-items:stretch;gap:14px;padding:16px;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid}.device-card:hover{border-color:var(--border);box-shadow:0 12px 30px #0f172a12}.device-card.selected{border-color:#14b8a6;box-shadow:0 0 0 3px #14b8a61f}.device-main{align-items:center;gap:12px;min-width:0;display:flex}.device-main h4,.device-main p{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.avatar{color:#075985;background:#e0f2fe;border-radius:8px;flex:none;justify-content:center;align-items:center;width:42px;height:42px;font-weight:900;display:flex}.device-status,.device-location,.device-actions{align-content:center;gap:6px;min-width:0;display:grid}.device-status strong{color:var(--text)}.device-status small{color:var(--muted)}.device-location small{color:#94a3b8;overflow-wrap:anywhere}.device-actions{align-content:center;justify-items:stretch}.device-actions button{min-height:36px;padding:0 12px}.device-actions a,.map-link-button{color:var(--accent-strong);font-size:13px;font-weight:900;text-decoration:none}.map-link-button{background:var(--surface);color:var(--text);border:1px solid #d8dee8;border-radius:8px;justify-content:center;align-items:center;min-height:36px;padding:0 12px;display:flex}.pill{border-radius:999px;justify-self:start;padding:5px 9px;font-size:12px;font-weight:900}.pill.online{color:#166534;background:#dcfce7}.pill.pending{color:#9a3412;background:#ffedd5}.pill.danger{color:#991b1b;background:#fee2e2}.device-focus-panel{align-content:start}.device-focus{gap:16px;display:grid}.device-focus-head{background:var(--surface-alt);border:1px solid var(--border);border-radius:8px;align-items:center;gap:12px;padding:14px;display:flex}.device-focus h4,.device-focus p{margin:0}.device-focus p{color:var(--muted)}.device-focus dl{gap:10px;margin:0;display:grid}.device-focus dl div{background:var(--surface);border:1px solid var(--border);border-radius:8px;gap:5px;padding:12px;display:grid}.device-focus dt{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:900}.device-focus dd{color:var(--text);overflow-wrap:anywhere;margin:0;font-weight:850}.device-manage-form{border:1px solid var(--border);background:linear-gradient(135deg,#ccfbf16b,#0000 48%),#f8fafc;border-radius:8px;gap:12px;padding:14px;display:grid}.device-manage-head h4,.device-manage-head p{margin:0}.device-manage-head p{color:var(--muted);margin-top:5px}.device-manage-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;display:grid}.lost-mode-panel{background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;gap:12px;padding:14px;display:grid}.lost-mode-panel.active{background:#fff1f2;border-color:#fecdd3}.map-panel,.reminders-panel,.activity-panel,.map-page-panel{min-height:280px}.map-workspace{grid-template-columns:minmax(0,1fr) minmax(300px,.32fr);gap:14px;width:100%;min-width:0;max-width:1240px;margin:0 auto;display:grid}.map-filter-panel{align-content:start;display:grid}.map-filter-list{gap:10px;display:grid}.map-filter-item{background:var(--surface);border:1px solid var(--border);color:var(--text);text-align:left;border-radius:8px;place-items:start;gap:5px;width:100%;min-height:auto;padding:13px;display:grid}.map-filter-item:hover:not(:disabled),.map-filter-item.active{background:var(--accent-soft);border-color:#14b8a6;transform:none;box-shadow:0 0 0 3px #14b8a61f}.map-filter-item:disabled{background:var(--surface-alt)}.map-filter-item span{font-weight:900}.map-filter-item strong,.map-filter-item small{color:var(--muted);font-size:13px}.map-page-panel .map-placeholder{min-height:520px}.real-map{border-radius:8px;gap:10px;min-width:0;display:grid;overflow:hidden}.leaflet-map{border-radius:8px;width:100%;min-height:260px}.map-page-panel .leaflet-map{min-height:560px}.map-caption{background:var(--surface-alt);border:1px solid var(--border);color:var(--muted);border-radius:8px;padding:10px 12px;font-size:14px;font-weight:800}.reminders-panel,.activity-panel{gap:12px;display:grid}.reminder-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;width:100%;min-width:0;max-width:1240px;margin:0 auto 14px;display:grid}.reminder-metrics article{background:#ffffffeb;border:1px solid #cbd5e1db;border-radius:8px;gap:6px;padding:16px;display:grid;box-shadow:0 18px 45px #0f172a0d}.reminder-metrics span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:900}.reminder-metrics strong{color:var(--text);font-size:34px;line-height:1}.reminder-metrics small{color:var(--muted)}.reminders-workspace{grid-template-columns:minmax(320px,.82fr) minmax(0,1.18fr);gap:14px;width:100%;min-width:0;max-width:1240px;margin:0 auto;display:grid}.reminder-composer,.reminder-list-panel{align-content:start;gap:14px;display:grid}.template-row{flex-wrap:wrap;gap:8px;display:flex}.template-chip{background:var(--surface-alt);border-color:var(--border);color:var(--text);min-height:36px;padding:0 12px}.template-chip:hover:not(:disabled){background:#ecfeff;border-color:#99f6e4}.composer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.reminder-preview{background:linear-gradient(135deg,#ccfbf185,#0000 46%),#f8fafc;border:1px solid #99f6e4;border-radius:8px;gap:6px;padding:14px;display:grid}.reminder-preview span{color:var(--accent-strong);text-transform:uppercase;font-size:12px;font-weight:900}.reminder-preview strong{color:var(--text);font-size:18px}.reminder-preview p{color:var(--muted);margin:0}.reminder-preview small{color:var(--muted);font-weight:800}.reminder-list{gap:10px;display:grid}.reminder-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;gap:6px;padding:14px;display:grid}.reminder-card.modern{gap:10px}.reminder-card-head,.reminder-meta,.reminder-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.reminder-card-head small,.reminder-meta span{color:var(--muted);font-size:13px;font-weight:800}.reminder-meta{background:var(--surface-alt);border:1px solid var(--border);border-radius:8px;padding:10px 12px}.reminder-actions{justify-content:flex-end}.reminder-actions button{min-height:36px}.reminder-card span{color:var(--accent-strong);text-transform:uppercase;font-size:12px;font-weight:900}.reminder-card h4,.reminder-card p{margin:0}.reminder-card h4{color:var(--text)}.reminder-card p,.reminder-card small{color:var(--muted)}.muted-copy{color:var(--muted);margin:0}.setup-panel{gap:12px;display:grid}.setup-steps{gap:10px;display:grid}.setup-steps article{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:14px}.setup-steps h4{color:var(--text);margin:0 0 6px}.setup-steps p{color:var(--muted);margin:0}.path-code{color:#fff;background:#111827;border-radius:8px;margin:12px 0;padding:12px;display:block;overflow-x:auto}.sql-preview{color:#dbeafe;white-space:pre;background:#0b1220;border-radius:8px;max-height:360px;margin:0;padding:14px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:12px;line-height:1.55;overflow:auto}.login-shell{background:radial-gradient(circle at 20% 10%, #14b8a62e, transparent 28%), linear-gradient(135deg, color-mix(in srgb, var(--bg) 92%, var(--accent) 8%), var(--bg));justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-panel{background:color-mix(in srgb, var(--surface) 94%, transparent);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:28px;gap:20px;width:100%;max-width:480px;padding:30px;display:grid}.login-brand-row{align-items:center;gap:12px;margin-bottom:14px;display:flex}.login-brand-row .eyebrow{margin:0}.login-brand-mark{filter:drop-shadow(0 8px 18px #14b8a633);width:52px;height:52px}.login-panel h1{color:var(--text);margin:8px 0;font-size:34px;line-height:1.08}.login-panel input,.login-panel button{border-radius:12px}.login-panel form{gap:12px;display:grid}.login-panel a{color:var(--accent-strong);font-weight:900}.auth-message{color:var(--muted);margin:0}.admin-access-note{background:var(--accent-soft);color:var(--muted);border:1px solid #99f6e4;border-radius:14px;gap:5px;padding:14px;font-size:14px;line-height:1.5;display:grid}.admin-access-note strong{color:var(--accent-strong)}.access-denied-card{background:var(--surface);border:1px solid #d7e0eb;border-radius:24px;gap:14px;width:100%;max-width:520px;padding:28px;display:grid;box-shadow:0 24px 60px #0f172a1a}.access-denied-card .eyebrow,.access-denied-card h1,.access-denied-card p{margin:0}.access-denied-card h1{color:var(--text);font-size:clamp(28px,5vw,38px);line-height:1.08}.access-denied-card p:not(.eyebrow){color:var(--muted);line-height:1.6}.access-denied-card button{margin-top:6px}.form-error{color:#b45309;margin:0;font-size:13px;font-weight:800}.loading-shell{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.loading-card{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:18px 20px;font-weight:900;box-shadow:0 18px 45px #0f172a0f}.not-found-shell{background:radial-gradient(circle at 50% 0,#14b8a633,#0000 34%),#eef2f7;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.not-found-card{border:1px solid var(--border);text-align:center;background:#fffffff0;border-radius:16px;max-width:480px;padding:32px;animation:.42s cubic-bezier(.22,1,.36,1) both page-rise;box-shadow:0 24px 60px #0f172a1a}.not-found-card>span{color:var(--accent-strong);font-size:56px;font-weight:950}.not-found-card h1{color:var(--text);margin:8px 0}.not-found-card p{color:var(--muted);line-height:1.6}.not-found-card a{color:#fff;background:#0f172a;border-radius:8px;margin-top:10px;padding:12px 16px;font-weight:900;text-decoration:none;display:inline-flex}.activity-panel ol{counter-reset:activity;gap:10px;margin:0;padding:0;list-style:none;display:grid}.activity-panel li{color:var(--muted);grid-template-columns:30px minmax(0,1fr);align-items:center;gap:10px;display:grid}.activity-panel li strong,.activity-panel li span{overflow-wrap:anywhere;grid-column:2;min-width:0}.activity-panel li span{font-size:14px}.activity-panel li:before{color:#3730a3;content:counter(activity);counter-increment:activity;background:#eef2ff;border-radius:8px;grid-row:1/span 2;justify-content:center;align-items:center;height:30px;font-size:12px;font-weight:900;display:flex}.content-grid>.panel:first-child .device-card{grid-template-columns:minmax(0,1fr) minmax(130px,auto)}.content-grid>.panel:first-child .device-location,.content-grid>.panel:first-child .device-actions{grid-column:1/-1}.family-switcher{gap:7px;display:grid}.family-switcher span{color:#94a3b8;letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:900}.family-switcher select{color:#fff;background:#ffffff14;border:1px solid #ffffff29;border-radius:8px;width:100%;min-width:0;padding:11px 12px;font-weight:800}.family-switcher option{color:var(--text)}.empty-state{background:var(--surface-alt);color:var(--muted);border:1px dashed #cbd5e1;border-radius:8px;gap:6px;padding:18px;display:grid}.empty-state strong{color:var(--text)}.empty-state p{margin:0}label{color:#374151;gap:6px;font-size:13px;font-weight:850;display:grid}input,textarea,select{background:var(--surface);color:var(--text);font:inherit;border:1px solid #d1d5db;border-radius:8px;width:100%;min-width:0;padding:10px 12px}textarea{resize:vertical;min-height:84px}@media (width<=1280px){.app-shell{grid-template-columns:260px minmax(0,1fr)}.sidebar{padding:22px}.device-card{grid-template-columns:minmax(220px,1fr) minmax(130px,auto)}.device-status,.device-location,.device-actions{align-content:start}.device-location{grid-column:1/-1}.device-actions{flex-wrap:wrap;grid-column:1/-1;align-items:center;display:flex}.device-actions button,.map-link-button{width:auto}}@media (width<=1050px){.content-grid,.map-workspace,.reminders-workspace,.reminder-metrics,.metrics,.monitoring-grid,.device-monitor-grid,.hero-strip,.settings-summary,.settings-grid,.family-grid{grid-template-columns:1fr}.app-shell{padding:0;display:block}.sidebar{border-bottom:1px solid #ffffff1f;border-radius:0;gap:18px;height:auto;padding:18px;position:static;overflow:visible}.workspace{border:0;border-radius:0;min-height:100vh}.brand-block{justify-content:space-between}.sidebar-note{display:none}.family-devices-panel{grid-column:auto}.sidebar nav{scrollbar-width:none;gap:8px;margin:0 -18px;padding:0 18px 2px;display:flex;overflow-x:auto}.sidebar nav::-webkit-scrollbar{display:none}.sidebar a{white-space:nowrap;flex:none}.phone-preview{justify-self:start}.device-card{grid-template-columns:minmax(0,1fr) minmax(150px,auto)}.device-main,.device-location{grid-column:1/-1}.device-map-panel{grid-column:auto}}@media (width<=900px){.workspace{padding:22px 18px}.hero-strip{gap:16px}.monitoring-grid,.reminder-metrics,.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar{align-items:stretch;display:grid}.topbar-actions{justify-content:start;min-width:0}}@media (width<=640px){.workspace,.sidebar{padding:18px}.topbar{gap:14px;display:grid}.topbar h2{max-width:100%;font-size:26px}.topbar-actions{justify-content:stretch}.topbar-actions button{flex:140px}.metrics strong,.monitoring-stat strong,.reminder-metrics strong{font-size:30px}.panel{padding:14px}.panel-heading{align-items:flex-start;gap:6px;display:grid}.device-card{grid-template-columns:1fr;gap:12px}.device-main,.device-location{grid-column:auto}.device-actions{justify-items:stretch}.device-actions button,.device-actions a{width:100%}.device-manage-actions{grid-template-columns:1fr}.leaflet-map,.map-page-panel .leaflet-map{min-height:360px}.invite-card code{overflow-wrap:anywhere}.composer-grid{grid-template-columns:1fr}.template-row{display:grid}.reminder-card-head,.reminder-meta,.reminder-actions{align-items:stretch;display:grid}}@media (width<=520px){.workspace,.sidebar{padding-left:14px;padding-right:14px}.brand-block{align-items:flex-start}.sidebar h1{font-size:20px}.sidebar a{padding:9px 10px}.metrics,.monitoring-grid,.settings-summary,.reminder-metrics{grid-template-columns:1fr}.hero-strip{padding:16px}.phone-preview{width:132px;height:214px}.phone-screen{height:175px}.invite-card,.device-card,.reminder-card,.reminder-preview,.empty-state{padding:12px}.topbar-actions{display:grid}.topbar-actions button,button{width:100%}.device-actions{display:grid}.leaflet-map,.map-page-panel .leaflet-map{min-height:320px}}
