:root{--bg:#061820;--bg2:#082530;--panel:#0b2b36;--panel2:#0e3542;--card:#0d303b;--line:rgba(146,224,217,.18);--text:#f4fbfb;--muted:#9bb7bd;--accent:#2ce7d0;--accent2:#13bba9;--blue:#4aa7ff;--purple:#a37cff;--gold:#f4c34c;--danger:#ff7b7b;--ok:#56d69a;--shadow:0 18px 50px rgba(0,0,0,.22);--radius:18px;--sidebar:230px}
html[data-theme="light"]{--bg:#f6f3ed;--bg2:#fffdf8;--panel:#fffdf8;--panel2:#f5f1e8;--card:#fffdf8;--line:rgba(64,78,66,.12);--text:#17211d;--muted:#6f7a74;--accent:#5d8c3c;--accent2:#7ca855;--blue:#4f79c7;--purple:#8c6cbd;--gold:#d8a443;--danger:#c55f5f;--ok:#5a9c68;--shadow:0 14px 40px rgba(71,58,37,.10)}
*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(circle at 70% 0,rgba(31,188,174,.17),transparent 30%),linear-gradient(140deg,var(--bg),var(--bg2));color:var(--text);min-height:100vh}button,input,select{font:inherit}.hidden{display:none!important}.app-shell{display:grid;grid-template-columns:var(--sidebar) 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:22px 14px;border-right:1px solid var(--line);background:linear-gradient(180deg,rgba(2,18,27,.92),rgba(5,29,37,.82));backdrop-filter:blur(18px)}html[data-theme="light"] .sidebar{background:linear-gradient(180deg,#fffdf8,#f3eee3)}.brand{display:flex;gap:12px;align-items:center;padding:7px 8px 24px}.brand-logo{width:44px;height:44px;border:2px solid var(--accent);border-radius:13px;display:grid;place-items:center;color:var(--accent);font-size:24px}.brand h1{font-size:18px;margin:0}.brand p{font-size:11px;color:var(--muted);margin:2px 0 0}.nav{display:grid;gap:6px}.nav button{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;border:0;border-radius:12px;background:transparent;color:var(--text);cursor:pointer;text-align:left}.nav button:hover{background:rgba(44,231,208,.08)}.nav button.active{background:linear-gradient(90deg,rgba(44,231,208,.28),rgba(44,231,208,.12));box-shadow:inset 3px 0 0 var(--accent);font-weight:700}.nav .ico{font-size:19px;width:22px;text-align:center}.content{padding:24px 26px 40px;min-width:0}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px}.topbar h2{font-size:30px;margin:0 0 4px}.topbar p{color:var(--muted);margin:0}.top-actions{display:flex;gap:10px;align-items:center}.search{width:min(340px,30vw);background:rgba(10,35,46,.68);border:1px solid var(--line);border-radius:14px;padding:11px 14px;color:var(--text)}html[data-theme="light"] .search{background:#fff;border-color:var(--line)}.avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),var(--blue));font-weight:800;color:#03181f}.kpis{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:12px;margin-bottom:14px}.kpi,.card{border:1px solid var(--line);background:linear-gradient(180deg,rgba(16,54,67,.94),rgba(9,38,49,.92));border-radius:var(--radius);box-shadow:var(--shadow)}html[data-theme="light"] .kpi,html[data-theme="light"] .card{background:linear-gradient(180deg,#fff,#fbf8f1)}.kpi{padding:15px 16px;display:flex;gap:12px;align-items:center}.kpi-ico{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:rgba(44,231,208,.13);color:var(--accent);font-size:22px}.kpi small{display:block;color:var(--muted);font-size:12px}.kpi strong{font-size:24px}.dashboard-grid{display:grid;grid-template-columns:1.15fr 1fr 1.1fr;gap:14px}.card{padding:16px;min-width:0}.card.span2{grid-column:span 2}.card h3{font-size:18px;margin:0}.card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;gap:12px}.link-btn{border:0;background:transparent;color:var(--accent);font-weight:700;cursor:pointer}.list{display:grid;gap:7px}.row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}.row:last-child{border-bottom:0}.row-main{display:flex;align-items:center;gap:10px;min-width:0}.check{width:18px;height:18px;border:2px solid var(--muted);border-radius:5px;flex:0 0 auto}.check.done{border-color:var(--accent);background:var(--accent);box-shadow:inset 0 0 0 3px var(--card)}.muted{color:var(--muted)}.pill{padding:4px 9px;border-radius:999px;background:rgba(44,231,208,.10);color:var(--accent);font-size:12px;white-space:nowrap}.pill.gold{background:rgba(244,195,76,.14);color:var(--gold)}.pill.blue{background:rgba(74,167,255,.14);color:var(--blue)}.pill.red{background:rgba(255,123,123,.13);color:var(--danger)}.store{border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-bottom:8px}.store-head{padding:9px 11px;background:rgba(44,231,208,.08);font-weight:800}.store-items{padding:2px 11px 8px}.event{display:grid;grid-template-columns:64px 1fr;gap:10px;padding:9px;border-radius:12px;background:rgba(255,255,255,.025);border:1px solid var(--line);margin-bottom:8px}.datebox{border-radius:10px;background:rgba(44,231,208,.11);display:grid;place-items:center;padding:8px;color:var(--accent);font-weight:800;font-size:12px}.event h4{margin:0 0 3px;font-size:14px}.event p{margin:0;color:var(--muted);font-size:12px}.week{overflow:auto}.week-grid{min-width:660px;display:grid;grid-template-columns:95px repeat(7,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.cell{min-height:50px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:6px;font-size:11px}.cell.head{min-height:38px;text-align:center;color:var(--muted);font-weight:700}.cell.person{display:flex;align-items:center;font-weight:800}.slot{display:block;border-radius:7px;padding:4px 6px;background:rgba(44,231,208,.18);color:var(--accent);margin-bottom:4px}.view{display:none}.view.active{display:block}.section-title{font-size:26px;margin:0 0 16px}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{text-align:left;padding:12px;border-bottom:1px solid var(--line);font-size:14px}.data-table th{color:var(--muted);font-size:12px}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(250px,1fr));gap:14px}.setting{padding:18px}.theme-options{display:flex;gap:10px;margin-top:12px}.theme-choice{flex:1;border:1px solid var(--line);background:var(--panel2);color:var(--text);padding:16px;border-radius:14px;cursor:pointer}.theme-choice.active{outline:2px solid var(--accent);color:var(--accent)}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(440px,100%);border:1px solid var(--line);background:var(--panel);border-radius:24px;padding:28px;box-shadow:var(--shadow)}.login-card h1{margin:0 0 6px}.login-card p{color:var(--muted)}.form{display:grid;gap:12px}.form input{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:12px;background:var(--bg2);color:var(--text)}.primary{border:0;border-radius:12px;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#032027;font-weight:800;padding:13px 16px;cursor:pointer}.secondary{border:1px solid var(--line);border-radius:12px;background:transparent;color:var(--text);font-weight:700;padding:11px 14px;cursor:pointer}.notice{padding:12px 14px;border-radius:12px;background:rgba(244,195,76,.1);color:var(--gold);font-size:13px}.error{color:var(--danger);font-size:13px}.mobile-top{display:none}.loading{opacity:.6;pointer-events:none}.empty{padding:18px;text-align:center;color:var(--muted)}
@media(max-width:1100px){:root{--sidebar:190px}.kpis{grid-template-columns:repeat(3,1fr)}.dashboard-grid{grid-template-columns:1fr 1fr}.card.span2{grid-column:span 2}}
@media(max-width:760px){.app-shell{display:block}.sidebar{position:fixed;z-index:20;left:-260px;width:240px;transition:.2s}.sidebar.open{left:0}.content{padding:16px}.mobile-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.mobile-top button{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:10px;padding:9px 11px}.topbar{align-items:center}.topbar h2{font-size:24px}.top-actions .search{display:none}.kpis{grid-template-columns:1fr 1fr}.dashboard-grid{grid-template-columns:1fr}.card.span2{grid-column:auto}.settings-grid{grid-template-columns:1fr}}

/* Family Beta v2 — accepted dark + light themes */
html[data-theme="dark"] body{
  background:
    radial-gradient(circle at 72% -8%,rgba(0,196,184,.18),transparent 29%),
    radial-gradient(circle at 14% 110%,rgba(0,180,177,.10),transparent 30%),
    linear-gradient(145deg,#061820,#082732 62%,#071b25);
}
html[data-theme="dark"] .sidebar{
  background:linear-gradient(180deg,rgba(3,20,28,.98),rgba(4,29,38,.96));
}
html[data-theme="dark"] .kpi,
html[data-theme="dark"] .card{
  background:linear-gradient(180deg,rgba(14,53,65,.97),rgba(8,38,49,.96));
}
html[data-theme="dark"] .nav button.active{
  background:linear-gradient(90deg,rgba(27,222,202,.30),rgba(25,151,149,.18));
}

html[data-theme="light"]{
  --bg:#f6f1e8;
  --bg2:#fffaf2;
  --panel:#fffdf8;
  --panel2:#f4eee3;
  --card:#fffdf8;
  --line:rgba(91,74,45,.12);
  --text:#24241f;
  --muted:#7a766c;
  --accent:#6f8742;
  --accent2:#8da55a;
  --blue:#5e82b6;
  --purple:#8a72a4;
  --gold:#c98a43;
  --danger:#bd625b;
  --ok:#6d9661;
  --shadow:0 12px 34px rgba(76,58,34,.09);
}
html[data-theme="light"] body{
  background:
    radial-gradient(circle at 92% 2%,rgba(202,145,75,.10),transparent 28%),
    radial-gradient(circle at 0% 100%,rgba(125,149,83,.10),transparent 26%),
    linear-gradient(145deg,#f7f2e9,#fffaf2 64%,#f3eee4);
}
html[data-theme="light"] .sidebar{
  background:linear-gradient(180deg,#fffaf3 0%,#f4eee4 100%);
  border-right-color:rgba(91,74,45,.10);
}
html[data-theme="light"] .brand-logo{
  border-color:#c88642;
  color:#c88642;
  background:rgba(200,134,66,.07);
}
html[data-theme="light"] .nav button:hover{background:rgba(111,135,66,.08)}
html[data-theme="light"] .nav button.active{
  background:linear-gradient(90deg,rgba(111,135,66,.88),rgba(111,135,66,.74));
  box-shadow:none;
  color:#fff;
}
html[data-theme="light"] .kpi,
html[data-theme="light"] .card{
  background:linear-gradient(180deg,#fffefa,#fcf8f1);
  border-color:rgba(91,74,45,.11);
}
html[data-theme="light"] .kpi:nth-child(odd) .kpi-ico{
  background:rgba(200,134,66,.12);
  color:#c47c3c;
}
html[data-theme="light"] .kpi:nth-child(even) .kpi-ico{
  background:rgba(111,135,66,.12);
  color:#6f8742;
}
html[data-theme="light"] .search{
  background:#fffdf9;
  border-color:rgba(91,74,45,.14);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
}
html[data-theme="light"] .store-head{background:rgba(200,134,66,.09)}
html[data-theme="light"] .store:nth-child(even) .store-head{background:rgba(111,135,66,.09)}
html[data-theme="light"] .event{background:rgba(255,250,242,.72)}
html[data-theme="light"] .datebox{background:rgba(200,134,66,.10);color:#b76f33}
html[data-theme="light"] .slot{background:rgba(111,135,66,.13);color:#4f6f2f}
html[data-theme="light"] .pill{background:rgba(111,135,66,.11);color:#5d7939}
html[data-theme="light"] .primary{background:linear-gradient(135deg,#7e934c,#a1b36d);color:#fff}

.theme-previews{align-items:stretch}
.theme-previews .theme-choice{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:7px;
  min-height:152px;
  text-align:left;
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
}
.theme-previews .theme-choice:hover{transform:translateY(-1px)}
.theme-previews .theme-choice strong{font-size:15px}
.theme-previews .theme-choice small{color:var(--muted)}
.theme-preview{
  width:100%;height:78px;border-radius:10px;border:1px solid rgba(255,255,255,.08);
  padding:9px;display:grid;grid-template-columns:28% 1fr;grid-template-rows:22% 1fr;gap:6px;overflow:hidden;
}
.theme-preview span{display:block;border-radius:5px}
.theme-preview span:first-child{grid-row:1 / 3}
.dark-preview{background:#071b25;border-color:rgba(44,231,208,.22)}
.dark-preview span:first-child{background:#0b2b36}
.dark-preview span:nth-child(2){background:#0f4350}
.dark-preview span:nth-child(3){background:linear-gradient(90deg,#0d303b,#0b3944)}
.light-preview{background:#f7f2e9;border-color:rgba(145,112,67,.16)}
.light-preview span:first-child{background:#eee6d8}
.light-preview span:nth-child(2){background:#fffdf8}
.light-preview span:nth-child(3){background:linear-gradient(90deg,#fffaf2,#f4eee3)}
.theme-choice.active{box-shadow:0 0 0 1px var(--accent),0 10px 24px rgba(0,0,0,.08)}
