:root {
  --bg: #f4f5f7;
  --surface: #ffffff;
  --surface-2: #f8f8fa;
  --surface-dark: #17191f;
  --ink: #18191d;
  --muted: #747782;
  --line: #e8e8ec;
  --primary: #6558df;
  --primary-soft: #eeecff;
  --orange: #ec7452;
  --orange-soft: #fff0ea;
  --green: #2f9c78;
  --green-soft: #e8f7f1;
  --yellow: #eaaa45;
  --red: #df5b61;
  --blue: #356ee8;
  --blue-soft: #eaf1ff;
  --section-accent: var(--primary);
  --section-soft: var(--primary-soft);
  --shadow: 0 12px 34px rgba(32, 31, 49, .07);
  --radius: 22px;
  --sidebar: 244px;
  --ease: cubic-bezier(.22, 1, .36, 1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.iuli-os-app-shell {
	margin: 0;
  min-height: 100vh;
  background: var(--bg);
  color: var(--ink);
  font-family: "Inter", "Segoe UI", -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 15px;
  -webkit-font-smoothing: antialiased;
}
#iuli-app svg { display:block; flex:0 0 auto; width:1.25em; height:1.25em; }
.app-layout[data-view="iuli"] { --section-accent:var(--blue); --section-soft:var(--blue-soft); }
.app-layout[data-view="kids"] { --section-accent:var(--orange); --section-soft:var(--orange-soft); }
.app-layout[data-view="personal"] { --section-accent:var(--primary); --section-soft:var(--primary-soft); }
.app-layout[data-view="reports"] { --section-accent:#8c54d9; --section-soft:#f3ebff; }
.app-layout[data-view="manager"] { --section-accent:#d18a20; --section-soft:#fff3d9; }
.app-layout[data-view="calendar"] { --section-accent:#2d82a7; --section-soft:#e5f4fa; }
.app-layout[data-view="clients"] { --section-accent:#2a8d73; --section-soft:#e5f5ef; }
body.iuli-modal-open { overflow: hidden; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
a { color: inherit; text-decoration: none; }
.skip-link { position: fixed; left: 12px; top: -100px; z-index: 9999; padding: 10px 14px; background: #fff; border-radius: 8px; }
.skip-link:focus { top: 12px; }
.iuli-app { min-height: 100vh; }
.app-layout { display: grid; grid-template-columns: var(--sidebar) minmax(0, 1fr); min-height: 100vh; }

.sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  width: var(--sidebar);
  z-index: 30;
  display: flex;
  flex-direction: column;
  padding: 26px 18px 18px;
  background: #17181d;
  color: #fff;
}
.brand { display: flex; align-items: center; gap: 12px; padding: 2px 10px 28px; }
.brand-mark { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 12px; background: linear-gradient(145deg,#7b6ff1,#5145c4); color: #fff; font-family: "Segoe UI",sans-serif; font-size: 19px; font-weight: 800; box-shadow: 0 8px 22px rgba(101,88,223,.35); }
.brand-copy strong { display: block; font: 700 16px/1.2 Manrope,sans-serif; }
.brand-copy span { color: #8f929d; font-size: 11px; letter-spacing: .05em; text-transform: uppercase; }
.main-nav { display: flex; flex-direction: column; gap: 5px; }
.nav-label { padding: 14px 12px 7px; color: #686b75; font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.nav-item { position: relative; display: flex; align-items: center; gap: 12px; width: 100%; min-height: 45px; padding: 0 12px; border: 0; border-radius: 13px; background: transparent; color: #a8aab2; cursor: pointer; text-align: left; transition: .25s var(--ease); }
.nav-item span { font-size:13px; font-weight:650; }
.nav-item svg { width:19px; height:19px; stroke-width:1.8; transform:translateZ(0); }
.nav-item:hover { background: #202229; color: #fff; transform: translateX(2px); }
.nav-item.active { background: #292b34; color: #fff; }
.nav-item.active::before { content:""; position:absolute; left:0; width:3px; height:18px; border-radius:999px; background:var(--section-accent); }
.sidebar-footer { margin-top: auto; padding-top: 20px; border-top: 1px solid #292a31; }
.profile-mini { display:flex; align-items:center; gap:10px; padding: 6px; }
.avatar { display:grid; place-items:center; width:36px; height:36px; border-radius:50%; background:#f0ad82; color:#412313; font-weight:800; }
.profile-text { min-width:0; flex:1; }
.profile-text strong,.profile-text span { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.profile-text strong { font-size:13px; }
.profile-text span { color:#777a84; font-size:11px; }
.logout-link { color:#777a84; }

.app-main { grid-column: 2; min-width: 0; }
.topbar { position: sticky; top: 0; z-index: 20; display: flex; align-items: center; gap: 18px; height: 78px; padding: 0 34px; background: rgba(244,245,247,.88); border-bottom: 1px solid rgba(225,226,230,.7); backdrop-filter: blur(18px); }
.page-identity { min-width:0; flex:1; }
.page-identity h1 { display:flex; align-items:center; gap:9px; margin:0; font:800 clamp(18px,2vw,24px)/1.2 Manrope,sans-serif; letter-spacing:-.03em; }
.page-identity h1::before { content:""; display:block; width:8px; height:8px; border-radius:3px; background:var(--section-accent); box-shadow:0 0 0 5px var(--section-soft); }
.page-identity p { margin:4px 0 0; color:var(--muted); font-size:12px; }
.top-actions { display:flex; align-items:center; gap:10px; }
.search-box { position:relative; width:min(260px,24vw); }
.search-box svg { position:absolute; left:13px; top:50%; width:17px; transform:translateY(-50%); color:#9699a3; pointer-events:none; }
.search-box input { width:100%; height:42px; padding:0 40px; border:1px solid var(--line); border-radius:13px; outline:none; background:#fff; transition:.2s; }
.search-box input:focus { border-color:#bdb6f7; box-shadow:0 0 0 4px var(--primary-soft); }
.icon-btn { display:grid; place-items:center; width:42px; height:42px; border:1px solid var(--line); border-radius:13px; background:#fff; cursor:pointer; transition:.2s var(--ease); }
.icon-btn:hover { transform:translateY(-2px); box-shadow:var(--shadow); }
.icon-btn svg { width:18px; }
.content { width:100%; max-width:1640px; margin:0 auto; padding:28px 34px 54px; }

.welcome-row { display:flex; justify-content:space-between; align-items:flex-end; gap:20px; margin-bottom:23px; }
.eyebrow { margin:0 0 7px; color:var(--section-accent); font-size:11px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.welcome-row h2,.section-title h2 { margin:0; font:800 clamp(23px,3vw,34px)/1.15 Manrope,sans-serif; letter-spacing:-.045em; }
.welcome-row p,.section-title p { max-width:620px; margin:8px 0 0; color:var(--muted); font-size:14px; line-height:1.55; }
.section-title { margin-bottom:22px; }
.section-header { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:18px; }
.section-header > svg { width:20px; height:20px; flex:0 0 20px; }
.section-header h3 { margin:0; font:700 17px/1.3 Manrope,sans-serif; letter-spacing:-.02em; }
.section-header p { margin:4px 0 0; color:var(--muted); font-size:12px; }

.btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:42px; padding:0 16px; border:1px solid transparent; border-radius:12px; background:#fff; font-size:13px; font-weight:700; line-height:1; cursor:pointer; transition:.22s var(--ease); }
.btn:hover { transform:translateY(-1px); }
.btn svg { width:17px; height:17px; stroke-width:2; }
.btn-primary { background:var(--section-accent); color:#fff; box-shadow:0 8px 18px color-mix(in srgb,var(--section-accent) 25%,transparent); }
.btn-primary:hover { filter:brightness(.92); box-shadow:0 10px 24px color-mix(in srgb,var(--section-accent) 32%,transparent); }
.btn-dark { background:#1a1b20; color:#fff; }
.btn-soft { background:var(--primary-soft); color:#5549cf; }
.btn-outline { border-color:var(--line); background:#fff; }
.btn-danger-soft { background:#fff0f0; color:#c64049; }
.btn-sm { min-height:34px; padding:0 11px; border-radius:10px; font-size:12px; }
.btn-icon { width:34px; padding:0; }

.stat-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:15px; margin-bottom:22px; }
.stat-card { position:relative; min-height:142px; padding:21px; overflow:hidden; border:1px solid rgba(228,229,233,.9); border-radius:var(--radius); background:var(--surface); box-shadow:0 8px 24px rgba(31,31,45,.035); transition:.25s var(--ease); }
.stat-card:hover { transform:translateY(-3px); box-shadow:var(--shadow); }
.stat-card::after { content:""; position:absolute; right:-26px; bottom:-35px; width:100px; height:100px; border-radius:50%; background:var(--accent-soft,var(--primary-soft)); opacity:.65; }
.stat-icon { display:grid; place-items:center; width:36px; height:36px; margin-bottom:16px; border-radius:11px; background:var(--accent-soft,var(--primary-soft)); color:var(--accent,var(--primary)); }
.stat-icon svg { width:18px; }
.stat-card strong { position:relative; z-index:1; display:block; font:800 26px/1 Manrope,sans-serif; letter-spacing:-.04em; }
.stat-card span { position:relative; z-index:1; display:block; margin-top:7px; color:var(--muted); font-size:12px; }
.stat-card .stat-icon { display:grid; place-items:center; margin-top:0; color:var(--accent,var(--primary)); }
.stat-card.orange { --accent:var(--orange); --accent-soft:var(--orange-soft); }
.stat-card.green { --accent:var(--green); --accent-soft:var(--green-soft); }
.stat-card.yellow { --accent:#d5962d; --accent-soft:#fff6df; }
.stat-card.blue { --accent:var(--blue); --accent-soft:var(--blue-soft); }
.stat-card.violet { --accent:var(--primary); --accent-soft:var(--primary-soft); }
.stat-grid-detailed .stat-card { min-height:126px; }
.stat-grid-detailed .stat-icon { margin-bottom:13px; }
.principle-card { display:flex; align-items:center; gap:15px; margin-bottom:22px; padding:18px 20px; border:1px solid #e4e0ff; border-radius:18px; background:linear-gradient(120deg,#f8f7ff,#fff); box-shadow:0 8px 25px rgba(87,71,194,.045); }
.principle-icon { display:grid; place-items:center; width:42px; height:42px; flex:0 0 42px; border-radius:13px; background:var(--primary); color:#fff; }
.principle-icon svg { width:20px; height:20px; }
.principle-card div { min-width:0; flex:1; }
.principle-card p { margin:0 0 3px; color:var(--primary); font-size:9px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.principle-card strong { display:block; font:700 clamp(13px,1.6vw,17px)/1.4 Manrope,sans-serif; }
.principle-index { padding:6px 9px; border-radius:999px; background:var(--primary-soft); color:var(--primary); font-size:9px; font-weight:800; text-transform:uppercase; }

.dashboard-grid { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr); gap:18px; margin-bottom:22px; }
.card { border:1px solid rgba(228,229,233,.95); border-radius:var(--radius); background:var(--surface); box-shadow:0 8px 25px rgba(34,34,48,.035); }
.card-pad { padding:22px; }
.chart-card { min-height:340px; padding:22px; }
.chart-wrap { display:flex; height:228px; padding:15px 4px 0; }
.chart-y { display:flex; flex-direction:column; justify-content:space-between; padding:0 12px 25px 0; color:#a1a3aa; font-size:10px; }
.bars { position:relative; display:flex; align-items:stretch; gap:clamp(8px,2.2vw,23px); flex:1; padding:0 8px; border-bottom:1px solid var(--line); background:repeating-linear-gradient(to bottom,transparent 0,transparent calc(25% - 1px),#f0f0f3 25%); }
.bar-column { display:flex; flex:1; flex-direction:column; justify-content:flex-end; align-items:center; min-width:20px; }
.bar { position:relative; width:min(34px,75%); min-height:5px; border-radius:9px 9px 3px 3px; background:linear-gradient(180deg,#796de9,#5e52d3); transition:height .6s var(--ease); }
.bar:hover { filter:brightness(1.08); }
.bar:hover::before { content:attr(data-tip); position:absolute; left:50%; bottom:calc(100% + 8px); transform:translateX(-50%); padding:5px 8px; border-radius:7px; background:#1d1e23; color:#fff; font-size:10px; white-space:nowrap; }
.bar-label { margin-top:10px; color:#858791; font-size:10px; text-transform:capitalize; }
.goal-card { position:relative; min-height:340px; overflow:hidden; padding:24px; background:linear-gradient(145deg,#191a20,#24252d); color:#fff; }
.goal-card::after { content:""; position:absolute; right:-70px; top:-70px; width:210px; height:210px; border:45px solid rgba(123,111,241,.18); border-radius:50%; }
.goal-card .section-header { position:relative; z-index:1; }
.goal-card .section-header > svg { width:20px; height:20px; flex-basis:20px; }
.goal-card .section-header p { color:#868995; }
.ring-wrap { position:relative; z-index:1; display:grid; place-items:center; margin:23px auto 20px; width:150px; height:150px; border-radius:50%; background:conic-gradient(#8275f2 calc(var(--progress) * 1%),#35363f 0); }
.ring-wrap::before { content:""; width:116px; height:116px; border-radius:50%; background:#202127; }
.ring-label { position:absolute; text-align:center; }
.ring-label strong { display:block; font:800 28px/1 Manrope,sans-serif; }
.ring-label span { color:#8e909a; font-size:10px; }
.goal-meta { position:relative; z-index:1; display:flex; justify-content:space-between; padding-top:18px; border-top:1px solid #35363e; }
.goal-meta span { color:#868995; font-size:11px; }
.goal-meta strong { display:block; margin-top:3px; font-size:13px; color:#fff; }
.ai-summary-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-bottom:24px; }
.ai-summary-card { display:grid; grid-template-columns:42px minmax(0,1fr) 18px; align-items:center; gap:12px; min-height:118px; padding:16px; border:1px solid var(--line); border-radius:18px; background:#fff; cursor:pointer; text-align:left; transition:.22s var(--ease); }
.ai-summary-card:hover { transform:translateY(-2px); border-color:#d8d4fa; box-shadow:var(--shadow); }
.ai-summary-card > span { display:grid; place-items:center; width:42px; height:42px; border-radius:13px; background:var(--primary-soft); color:var(--primary); }
.ai-summary-card > span svg { width:19px; height:19px; }
.ai-summary-card > svg { width:17px; color:#a1a2aa; }
.ai-summary-card div { min-width:0; }
.ai-summary-card small,.ai-summary-card strong,.ai-summary-card em { display:block; }
.ai-summary-card small { color:var(--muted); font-size:9px; font-weight:700; }
.ai-summary-card strong { display:-webkit-box; overflow:hidden; margin:5px 0; font-size:11px; line-height:1.45; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.ai-summary-card em { color:var(--primary); font-size:8px; font-style:normal; font-weight:800; text-transform:uppercase; }
.empty-summary { grid-column:1/-1; display:flex; align-items:center; gap:14px; min-height:110px; padding:18px; }
.empty-summary > span { display:grid; place-items:center; width:42px; height:42px; border-radius:13px; background:var(--primary-soft); color:var(--primary); }
.empty-summary strong { font-size:12px; }
.empty-summary p { margin:4px 0 0; color:var(--muted); font-size:10px; }

.quick-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; }
.quick-card { display:flex; align-items:center; gap:14px; min-height:98px; padding:18px; border:1px solid var(--line); border-radius:18px; background:#fff; cursor:pointer; text-align:left; transition:.22s var(--ease); }
.quick-card:hover { transform:translateY(-2px); box-shadow:var(--shadow); border-color:#d8d4fa; }
.quick-icon { display:grid; place-items:center; flex:0 0 auto; width:44px; height:44px; border-radius:14px; background:var(--primary-soft); color:var(--primary); }
.quick-icon.orange { background:var(--orange-soft); color:var(--orange); }
.quick-icon.green { background:var(--green-soft); color:var(--green); }
.quick-icon svg { width:20px; }
.quick-card strong { display:block; font-size:13px; }
.quick-card span { display:block; margin-top:3px; color:var(--muted); font-size:11px; }
.quick-card .quick-icon { display:grid; place-items:center; margin-top:0; color:var(--primary); }
.quick-card .quick-icon.orange { color:var(--orange); }
.quick-card .quick-icon.green { color:var(--green); }

.view-toolbar { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-bottom:20px; }
.segmented { display:inline-flex; gap:4px; padding:4px; border:1px solid var(--line); border-radius:14px; background:#fff; }
.segment { min-height:36px; padding:0 14px; border:0; border-radius:10px; background:transparent; color:var(--muted); font-size:12px; font-weight:700; cursor:pointer; }
.segment.active { background:#1d1e23; color:#fff; box-shadow:0 4px 10px rgba(20,20,25,.15); }
.filter-row { display:flex; align-items:center; gap:9px; }
.select-control { height:40px; padding:0 34px 0 12px; border:1px solid var(--line); border-radius:11px; outline:none; background:#fff; color:#545761; font-size:12px; }

.projects-layout { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(270px,.55fr); gap:18px; }
.data-card { overflow:hidden; }
.data-card-head { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:19px 21px; border-bottom:1px solid var(--line); }
.data-card-head h3 { margin:0; font:700 16px/1.3 Manrope,sans-serif; }
.data-card-head span { color:var(--muted); font-size:11px; }
.data-table-wrap { overflow:auto; }
.data-table { width:100%; border-collapse:collapse; text-align:left; }
.data-table th { padding:12px 15px; background:#fafafd; color:#91939d; font-size:10px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; white-space:nowrap; }
.data-table td { padding:14px 15px; border-top:1px solid #efeff2; font-size:12px; vertical-align:middle; }
.data-table tr:first-child td { border-top:0; }
.data-table tbody tr { transition:.15s; }
.data-table tbody tr:hover { background:#fbfbfd; }
.project-name { display:flex; align-items:center; gap:10px; min-width:150px; }
.color-dot { flex:0 0 auto; width:9px; height:9px; border-radius:50%; background:var(--dot,#6857e5); box-shadow:0 0 0 4px color-mix(in srgb,var(--dot,#6857e5) 13%,transparent); }
.project-name strong { display:block; font-size:12px; }
.project-name span { display:block; margin-top:2px; color:var(--muted); font-size:10px; }
.maintenance-cell { min-width:130px; }
.progress-track { width:100%; height:5px; margin-top:6px; overflow:hidden; border-radius:999px; background:#ededf1; }
.progress-fill { height:100%; border-radius:999px; background:var(--fill,var(--primary)); }
.timer-trigger { display:inline-flex; align-items:center; gap:7px; min-width:76px; border:0; background:transparent; color:var(--muted); cursor:pointer; font-size:11px; font-weight:700; }
.timer-trigger .play { display:grid; place-items:center; width:28px; height:28px; border-radius:50%; background:#eeeeF2; color:#5e616b; }
.timer-trigger.running { color:var(--orange); }
.timer-trigger.running .play { background:var(--orange-soft); color:var(--orange); animation:pulse 1.8s infinite; }
@keyframes pulse { 50% { box-shadow:0 0 0 6px rgba(236,116,82,.09); } }
.row-actions { display:flex; justify-content:flex-end; gap:5px; }
.row-action { display:grid; place-items:center; width:32px; height:32px; border:0; border-radius:9px; background:transparent; color:#9a9ca5; cursor:pointer; }
.row-action:hover { background:#eeeef3; color:#3b3d44; }
.row-action.danger:hover { background:#fff0f0; color:var(--red); }
.row-action svg { width:15px; height:15px; stroke-width:1.9; }
.side-stack { display:flex; flex-direction:column; gap:18px; }
.active-timer-card { position:relative; overflow:hidden; padding:22px; background:linear-gradient(145deg,#6659df,#4f44c5); color:#fff; }
.active-timer-card::after { content:""; position:absolute; right:-35px; top:-40px; width:130px; height:130px; border-radius:50%; border:30px solid rgba(255,255,255,.08); }
.active-timer-card .label { color:#d4cffd; font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.active-timer-card h3 { position:relative; z-index:1; margin:13px 0 3px; font-size:15px; }
.active-timer-card .timer-count { position:relative; z-index:1; margin:18px 0; font:800 34px/1 Manrope,sans-serif; letter-spacing:.02em; }
.active-timer-card .btn { position:relative; z-index:1; width:100%; background:rgba(255,255,255,.15); color:#fff; border-color:rgba(255,255,255,.15); }
.empty-timer { background:#1b1c22; }
.activity-list { display:flex; flex-direction:column; }
.activity-item { display:grid; grid-template-columns:31px minmax(0,1fr) auto; gap:10px; padding:12px 0; border-top:1px solid var(--line); }
.activity-item:first-child { border-top:0; padding-top:0; }
.activity-bullet { display:grid; place-items:center; width:30px; height:30px; border-radius:10px; background:var(--dot-soft,#eeecff); color:var(--dot,#6857e5); }
.activity-bullet svg { width:14px; }
.activity-item strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:11px; }
.activity-item p { margin:3px 0 0; color:var(--muted); font-size:10px; }
.activity-item time { color:#a2a4ac; font-size:9px; white-space:nowrap; }

.kids-hero { position:relative; display:flex; align-items:center; justify-content:space-between; gap:25px; margin-bottom:20px; overflow:visible; padding:8px 0 18px; border:0; border-radius:0; background:none; box-shadow:none; color:var(--ink); }
.kids-hero::after { display:none; content:none; }
.kids-hero .eyebrow { color:var(--orange); }
.kids-hero h2 { margin:0; color:#11131a !important; font:800 clamp(1.7rem,3vw,2.35rem)/1.15 Manrope,sans-serif; letter-spacing:-.04em; }
.kids-hero p { max-width:570px; margin:9px 0 0; color:var(--muted); font-size:13px; line-height:1.55; }
.kids-hero .btn { position:relative; z-index:1; flex:0 0 auto; background:var(--orange); color:#fff; }
.cycle-closed-notice { display:flex; align-items:center; gap:14px; margin-bottom:18px; padding:16px 18px; border-color:#cdebdc; background:#f3fbf7; }
.cycle-closed-notice > span { display:grid; place-items:center; width:40px; height:40px; flex:0 0 40px; border-radius:13px; background:#dff5e9; color:#19875d; }
.cycle-closed-notice > span svg { width:20px; height:20px; }
.cycle-closed-notice > div { min-width:0; flex:1; }
.cycle-closed-notice strong { display:block; color:#13241c; }
.cycle-closed-notice p { margin:3px 0 0; color:#5d7066; }
.kids-stats .stat-card { min-height:125px; }
.kids-grid { display:grid; grid-template-columns:minmax(0,1fr) 330px; align-items:start; gap:18px; }
.attendance-list { display:flex; flex-direction:column; padding:0 20px 10px; }
.session-row { display:grid; grid-template-columns:minmax(130px,1.05fr) minmax(150px,1.25fr) 82px 90px 70px; gap:11px; align-items:center; padding:15px 0; border-bottom:1px solid var(--line); }
.session-row:last-child { border-bottom:0; }
.child-cell { display:flex; align-items:center; gap:10px; }
.child-avatar { display:grid; place-items:center; flex:0 0 auto; width:34px; height:34px; border-radius:12px; background:#fff0e8; color:#bf583a; font-weight:800; font-size:12px; }
.child-cell strong { display:block; font-size:12px; }
.child-cell span,.session-activity span { color:var(--muted); font-size:10px; }
.session-activity strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:11px; }
.session-total { font-size:11px; white-space:nowrap; }
.presence-pill,.status-pill,.priority-pill { display:inline-flex; align-items:center; gap:5px; width:max-content; padding:5px 8px; border-radius:999px; font-size:9px; font-weight:800; text-transform:uppercase; }
.presence-pill.present,.status-pill.done { background:var(--green-soft); color:var(--green); }
.presence-pill.absent { background:#fff0f0; color:var(--red); }
.calendar-mini { padding:20px; }
.calendar-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; }
.calendar-head strong { font-size:13px; }
.calendar-head > svg { width:18px!important; height:18px!important; flex:0 0 18px; }
.calendar-grid { display:grid; grid-template-columns:repeat(7,1fr); gap:5px; text-align:center; }
.calendar-grid .weekday { color:#a3a4ab; font-size:9px; font-weight:700; }
.calendar-day { display:grid; place-items:center; aspect-ratio:1; border-radius:9px; color:#63656e; font-size:10px; }
.calendar-day.has-session { background:var(--orange-soft); color:#c55f40; font-weight:800; }
.calendar-day.today { outline:2px solid var(--orange); }
.report-promo { padding:21px; background:#1d1e24; color:#fff; }
.report-promo .sparkle { display:grid; place-items:center; width:38px; height:38px; border-radius:12px; background:#33313f; color:#a99eff; }
.report-promo h3 { margin:16px 0 7px; font-size:15px; }
.report-promo p { margin:0 0 18px; color:#92949e; font-size:11px; line-height:1.5; }
.report-promo .btn { width:100%; }
.payout-card { padding:18px; }
.payout-card .section-header { align-items:flex-start; margin-bottom:10px; }
.payout-card .section-header > strong { color:var(--green); font-size:13px; white-space:nowrap; }
.payout-list { display:flex; flex-direction:column; }
.payout-list > div { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 0; border-top:1px solid var(--line); }
.payout-list span strong,.payout-list span small { display:block; }
.payout-list span strong { font-size:10px; }
.payout-list span small { margin-top:2px; color:var(--muted); font-size:8px; }
.payout-list b { font-size:10px; white-space:nowrap; }

.personal-summary-bar { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:28px; margin-bottom:18px; padding:23px 25px; }
.personal-summary-bar h2 { margin:2px 0 5px; font-size:24px; letter-spacing:-.035em; }
.personal-summary-bar p:not(.eyebrow) { max-width:720px; margin:0; color:var(--muted); font-size:11px; line-height:1.55; }
.personal-summary-metrics { display:grid; grid-template-columns:repeat(2,minmax(112px,1fr)); gap:10px; }
.personal-summary-metrics span { display:flex; min-height:72px; flex-direction:column; justify-content:center; padding:12px 15px; border:1px solid #e7e5fb; border-radius:15px; background:#f8f7ff; }
.personal-summary-metrics strong,.personal-summary-metrics small { display:block; }
.personal-summary-metrics strong { color:#5f54d9; font:800 20px/1.1 Manrope,sans-serif; }
.personal-summary-metrics small { margin-top:5px; color:var(--muted); font-size:9px; }

.personal-hero { display:grid; grid-template-columns:minmax(0,1fr) 310px; gap:18px; margin-bottom:20px; }
.focus-card { position:relative; min-height:190px; padding:27px; overflow:hidden; background:linear-gradient(135deg,#202127,#15161a); color:#fff; }
.focus-card::after { content:""; position:absolute; right:-35px; top:-50px; width:220px; height:220px; border-radius:50%; background:radial-gradient(circle,#7367e6 0,#7367e6 25%,transparent 26%); opacity:.16; }
.focus-card h2 { position:relative; z-index:1; margin:0; font:800 27px/1.2 Manrope,sans-serif; letter-spacing:-.04em; }
.focus-card p { position:relative; z-index:1; max-width:440px; margin:10px 0 23px; color:#989aa4; font-size:12px; }
.focus-form { position:relative; z-index:1; display:flex; gap:8px; max-width:500px; }
.focus-form input { flex:1; min-width:0; height:43px; padding:0 14px; border:1px solid #3b3c43; border-radius:12px; outline:none; background:#292a31; color:#fff; }
.focus-form input:focus { border-color:#7e72eb; }
.focus-running { position:relative; z-index:1; display:flex; align-items:center; gap:18px; margin-top:20px; }
.focus-running .timer-count { font:800 32px/1 Manrope,sans-serif; }
.routine-summary { display:flex; flex-direction:column; justify-content:space-between; padding:23px; }
.routine-summary h3 { margin:0; font-size:15px; }
.routine-donut { display:grid; place-items:center; width:95px; height:95px; margin:13px auto; border-radius:50%; background:conic-gradient(var(--green) calc(var(--progress) * 1%),#e9e9ed 0); }
.routine-donut::before { content:""; width:71px; height:71px; border-radius:50%; background:#fff; }
.routine-donut strong { position:absolute; font:800 20px/1 Manrope,sans-serif; }
.personal-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr); gap:18px; }
.task-toolbar-inline { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:12px; padding:13px 15px; border:1px solid var(--line); border-radius:15px; background:#fff; }
.task-toolbar-inline strong,.task-toolbar-inline span { display:block; }
.task-toolbar-inline strong { font-size:12px; }
.task-toolbar-inline span { margin-top:2px; color:var(--muted); font-size:9px; }
.task-list { padding:0 20px 12px; }
.task-group { border-bottom:1px solid var(--line); }
.task-group:last-child { border-bottom:0; }
.task-item { display:grid; grid-template-columns:30px minmax(0,1fr) auto auto; align-items:center; gap:10px; padding:13px 0; border-bottom:1px solid var(--line); }
.task-group > .task-item,.subtask-list .task-item { border-bottom:0; }
.subtask-list { margin:0 0 10px 39px; padding-left:12px; border-left:2px solid #e5e3f7; border-radius:0 0 0 10px; background:#fafafd; }
.subtask-list .task-item { padding:10px; }
.urgent-task { margin:5px -8px; padding:12px 8px; border-radius:13px; background:#fff7f4; box-shadow:0 0 0 1px rgba(223,91,97,.18); animation:urgentPulse 2.4s ease-in-out infinite; }
@keyframes urgentPulse { 50% { box-shadow:0 0 0 5px rgba(223,91,97,.07); } }
.task-check { display:grid; place-items:center; width:25px; height:25px; border:1.5px solid #d7d7dc; border-radius:9px; background:#fff; cursor:pointer; }
.task-check.checked { border-color:var(--green); background:var(--green); color:#fff; }
.task-check svg { width:14px; }
.task-copy { min-width:0; }
.task-copy strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12px; }
.task-copy strong.done { color:#9a9ca3; text-decoration:line-through; }
.task-copy span { display:block; margin-top:3px; color:var(--muted); font-size:9px; }
.priority-pill.high { background:#fff0f0; color:var(--red); }
.priority-pill.normal { background:#fff7e7; color:#c38522; }
.priority-pill.low { background:#edf6ff; color:#397bb4; }
.priority-pill.urgent { background:#ffe9e9; color:#c94048; }
.priority-pill svg { width:11px; height:11px; }
.routine-columns { display:grid; grid-template-columns:1fr 1fr; gap:12px; padding:0 17px 17px; }
.routine-column { padding:14px; border-radius:17px; background:#f8f8fa; }
.routine-column h4 { display:flex; align-items:center; justify-content:space-between; margin:0 0 10px; font-size:11px; text-transform:uppercase; letter-spacing:.05em; }
.routine-column h4 > svg { width:16px; height:16px; flex:0 0 16px; }
.routine-column h4 span { color:var(--muted); font-size:9px; font-weight:500; }
.routine-item { display:grid; grid-template-columns:27px minmax(0,1fr) 23px auto; align-items:center; gap:8px; margin-top:7px; padding:9px; border:1px solid #ededf0; border-radius:12px; background:#fff; cursor:pointer; transition:.17s; }
.routine-item:hover { border-color:#d9d4fa; }
.routine-item.complete { border-color:#d7d9de; background:#e5e7eb; color:#6c7079; opacity:.68; filter:saturate(.55); }
.routine-emoji { font-size:16px; }
.routine-copy strong { display:block; font-size:10px; }
.routine-copy span { color:var(--muted); font-size:8px; }
.routine-check { display:grid; place-items:center; width:21px; height:21px; border:1px solid #d9d9de; border-radius:7px; }
.routine-item.complete .routine-check { border-color:var(--green); background:var(--green); color:#fff; }
.routine-actions { display:flex; gap:2px; opacity:0; transition:.17s; }
.routine-item:hover .routine-actions,.routine-item:focus-within .routine-actions { opacity:1; }
.routine-actions .row-action { width:32px; height:32px; border-radius:8px; }
.routine-actions .row-action svg { width:12px; }
.timer-history { display:flex; flex-direction:column; gap:9px; }
.history-row { display:flex; align-items:center; gap:10px; padding:11px 12px; border-radius:12px; background:#f8f8fa; }
.history-row svg { width:15px; color:var(--primary); }
.history-row div { min-width:0; flex:1; }
.history-row strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:10px; }
.history-row span { color:var(--muted); font-size:8px; }
.history-row > strong { flex:0 0 auto; }

.reports-layout { display:grid; grid-template-columns:330px minmax(0,1fr); gap:18px; }
.report-list { padding:10px; }
.report-list-item { width:100%; padding:14px; border:0; border-radius:14px; background:transparent; cursor:pointer; text-align:left; transition:.18s; }
.report-list-item:hover,.report-list-item.active { background:#f3f2fc; }
.report-list-item strong { display:block; font-size:12px; }
.report-list-item span { display:block; margin-top:4px; color:var(--muted); font-size:9px; }
.report-list-item small { display:-webkit-box; overflow:hidden; margin-top:7px; color:#5f626d; font-size:9px; line-height:1.4; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.report-badge { display:inline-flex!important; margin-top:8px!important; padding:4px 7px; border-radius:999px; background:#eeecff; color:var(--primary)!important; font-size:8px!important; font-weight:800; text-transform:uppercase; }
.report-document { min-height:560px; padding:34px; }
.report-document-head { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; padding-bottom:22px; border-bottom:1px solid var(--line); }
.report-document h2 { margin:0; font:800 25px/1.25 Manrope,sans-serif; letter-spacing:-.035em; }
.report-document .date { margin-top:6px; color:var(--muted); font-size:11px; }
.report-summary { margin:24px 0 0; padding:15px 17px; border-left:3px solid var(--primary); border-radius:0 12px 12px 0; background:var(--primary-soft); color:#494177; font-size:12px; font-weight:700; line-height:1.55; }
.report-content { max-width:800px; padding:25px 0; color:#45474f; font-size:13px; line-height:1.75; }
.report-content h3 { margin:24px 0 8px; color:var(--ink); font:700 16px/1.3 Manrope,sans-serif; }
.report-content h3:first-child { margin-top:0; }
.report-content ul { padding-left:20px; }
.report-content li { margin:5px 0; }
.empty-state { display:grid; place-items:center; min-height:230px; padding:30px; color:var(--muted); text-align:center; }
.empty-state svg { width:34px; margin-bottom:12px; color:#aaa7d6; }
.empty-state h3 { margin:0 0 6px; color:var(--ink); font-size:14px; }
.empty-state p { max-width:350px; margin:0; font-size:11px; line-height:1.5; }

.mobile-nav { display:none; }
.mobile-top { display:none; }
.modal-layer { position:fixed; inset:0; z-index:100; display:flex; align-items:center; justify-content:center; padding:20px; background:rgba(18,18,24,.5); backdrop-filter:blur(8px); animation:fadeIn .18s ease; }
@keyframes fadeIn { from{opacity:0} }
.modal { width:min(560px,100%); max-height:min(780px,calc(100vh - 40px)); overflow:auto; border-radius:24px; background:#fff; box-shadow:0 30px 80px rgba(20,20,28,.25); animation:modalIn .3s var(--ease); }
@keyframes modalIn { from{opacity:0;transform:translateY(15px) scale(.97)} }
.modal-head { position:sticky; top:0; z-index:2; display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding:22px 24px 17px; border-bottom:1px solid var(--line); background:rgba(255,255,255,.94); backdrop-filter:blur(15px); }
.modal-head h2 { margin:0; font:800 20px/1.2 Manrope,sans-serif; letter-spacing:-.03em; }
.modal-head p { margin:6px 0 0; color:var(--muted); font-size:11px; }
.modal-close { display:grid; place-items:center; width:34px; height:34px; border:0; border-radius:10px; background:#f1f1f4; cursor:pointer; }
.modal-body { padding:22px 24px 24px; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:15px; }
.field { display:flex; flex-direction:column; gap:7px; }
.field.full { grid-column:1/-1; }
.field label { color:#4f5159; font-size:11px; font-weight:700; }
.field input,.field select,.field textarea { width:100%; min-height:43px; padding:10px 12px; border:1px solid #dddde2; border-radius:11px; outline:none; background:#fff; color:var(--ink); transition:.18s; }
.field textarea { min-height:90px; resize:vertical; }
.field input:focus,.field select:focus,.field textarea:focus { border-color:#aaa1ef; box-shadow:0 0 0 4px #f0efff; }
.checkbox-field { flex-direction:row; align-items:center; gap:9px; min-height:43px; }
.checkbox-field input { width:18px; min-height:18px; accent-color:var(--primary); }
.urgent-check { padding:10px 12px; border:1px solid #f3d9da; border-radius:11px; background:#fff7f7; color:#a93c44; }
.urgent-check svg { width:16px; height:16px; }
.timer-zero-note { display:flex; align-items:center; gap:8px; grid-column:1/-1; padding:11px 12px; border-radius:11px; background:#f4f2ff; color:#5549cf; font-size:11px; }
.timer-zero-note svg { width:16px; height:16px; }
[hidden] { display:none!important; }
.modal-actions { display:flex; justify-content:flex-end; gap:9px; grid-column:1/-1; padding-top:5px; }
.confirm-copy { margin:0 0 20px; color:#5f6169; font-size:13px; line-height:1.6; }
.toast-stack { position:fixed; z-index:200; right:20px; bottom:20px; display:flex; flex-direction:column; gap:9px; }
.toast { display:flex; align-items:center; gap:10px; max-width:360px; padding:13px 16px; border-radius:13px; background:#1d1e23; color:#fff; box-shadow:0 15px 40px rgba(19,19,25,.25); font-size:12px; animation:toastIn .3s var(--ease); }
.toast.success::before { content:"✓"; color:#58d1a6; font-weight:800; }
.toast.error::before { content:"!"; color:#ff868b; font-weight:800; }
@keyframes toastIn { from{opacity:0;transform:translateY(10px)} }
.loading-screen { display:grid; place-items:center; min-height:100vh; }
.loader-card { text-align:center; }
.loader-mark { display:grid; place-items:center; width:56px; height:56px; margin:0 auto 15px; border-radius:18px; background:var(--primary); color:#fff; font:800 24px Manrope,sans-serif; animation:loader 1.2s infinite var(--ease); }
@keyframes loader { 50%{transform:translateY(-6px);box-shadow:0 16px 30px rgba(101,88,223,.25)} }
.loader-card p { color:var(--muted); font-size:12px; }
.login-screen { display:grid; place-items:center; min-height:100vh; padding:25px; background:radial-gradient(circle at 70% 20%,#eeecff 0,transparent 33%),var(--bg); }
.login-card { width:min(430px,100%); padding:36px; border:1px solid var(--line); border-radius:28px; background:#fff; box-shadow:var(--shadow); text-align:center; }
.login-card .brand-mark { margin:0 auto 22px; }
.login-card h1 { margin:0; font:800 29px Manrope,sans-serif; letter-spacing:-.04em; }
.login-card p { margin:10px 0 25px; color:var(--muted); font-size:13px; line-height:1.5; }
.login-card .btn { width:100%; }
.skeleton { border-radius:12px; background:linear-gradient(100deg,#eee 20%,#f7f7f7 40%,#eee 60%); background-size:200% 100%; animation:shimmer 1.4s infinite; }
@keyframes shimmer { to{background-position:-200% 0} }
.hidden { display:none!important; }

/* Extended workspaces */
.nav-child .nav-item { min-height:39px; margin-left:12px; padding-left:17px; color:#727580; }
.nav-child .nav-item::after { content:""; position:absolute; left:7px; width:5px; height:5px; border-radius:50%; background:#f1a33f; }
.alert-button { position:relative; border:0; cursor:pointer; }
.alert-button b { position:absolute; top:-4px; right:-4px; display:grid; place-items:center; min-width:17px; height:17px; padding:0 4px; border:2px solid #fff; border-radius:999px; background:#df5b61; color:#fff; font-size:8px; }
.mobile-top .alert-button { width:34px; height:34px; border-radius:11px; background:#fff; color:var(--ink); }
.mobile-top .alert-button svg { width:17px; }
.manager-hero { display:flex; align-items:center; justify-content:space-between; gap:25px; margin-bottom:18px; padding:27px 30px; border-radius:24px; background:linear-gradient(135deg,#1d2927,#17352f); color:#fff; box-shadow:0 18px 45px rgba(19,53,45,.18); }
.manager-hero h2 { margin:4px 0 8px; font:800 28px/1.2 Manrope,sans-serif; letter-spacing:-.04em; }
.manager-hero p:last-child { max-width:620px; margin:0; color:#afc1bd; font-size:12px; }
.manager-hero .btn { background:#f4b447; color:#1f2826; }
.location-toolbar { display:flex; align-items:center; justify-content:space-between; gap:14px; margin:0 0 16px; }
.location-tabs { display:flex; min-width:0; gap:8px; overflow-x:auto; padding:2px 2px 5px; scrollbar-width:thin; }
.location-tab { display:inline-flex; align-items:center; gap:8px; min-height:42px; padding:0 15px; border:1px solid var(--line); border-radius:13px; background:#fff; color:#62656e; cursor:pointer; font-size:12px; font-weight:750; white-space:nowrap; transition:.2s var(--ease); }
.location-tab::before { content:""; width:8px; height:8px; border-radius:3px; background:#c9cbd1; }
.location-tab:hover { transform:translateY(-1px); border-color:#d4b679; }
.location-tab.active { border-color:#ebbd64; background:#fff8e9; color:#3c3425; box-shadow:0 7px 18px rgba(164,117,30,.09); }
.location-tab.active::before { background:#e9a62d; box-shadow:0 0 0 4px #fff0ca; }
.location-tab > svg { width:17px; height:17px; color:#b27a20; }
.location-tab > span { text-align:left; }
.location-tab strong,.location-tab small { display:block; }
.location-tab strong { font-size:12px; }
.location-tab small { margin-top:2px; color:#93908a; font-size:8px; font-weight:600; }
.location-actions { display:flex; flex:0 0 auto; gap:8px; }
.alert-strip { display:flex; align-items:center; gap:13px; margin:0 0 16px; padding:14px 17px; border:1px solid #f3cfbf; border-radius:16px; background:#fff5ef; color:#8c3e28; }
.alert-strip > svg { flex:0 0 21px; width:21px; }
.alert-strip strong,.alert-strip span { display:block; }
.alert-strip strong { font-size:11px; }
.alert-strip span { margin-top:3px; font-size:9px; line-height:1.45; }
.manager-stats { margin-bottom:16px; }
.manager-segments .segment { display:flex; align-items:center; gap:6px; }
.manager-segments svg { width:13px; height:13px; }
.manager-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.manager-card { min-height:164px; padding:17px; transition:.18s; }
.manager-card:hover { transform:translateY(-2px); box-shadow:var(--shadow); }
.manager-card.expired { border-color:#efb2b5; background:#fff9f9; }
.manager-card.due-soon { border-color:#f2cf9b; background:#fffaf1; }
.manager-card.is-complete { opacity:.58; background:#eef0f2; }
.manager-card header { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.manager-type { padding:5px 8px; border-radius:999px; background:#f0f1f4; color:#686b74; font-size:8px; font-weight:800; text-transform:uppercase; }
.manager-card-body { display:grid; grid-template-columns:33px minmax(0,1fr); gap:11px; margin-top:15px; }
.manager-check { display:grid; place-items:center; width:33px; height:33px; border:1px solid #dcdde1; border-radius:11px; background:#fff; color:#727680; cursor:pointer; }
.manager-check.checked { border-color:#289a75; background:#289a75; color:#fff; }
.manager-check svg { width:15px; }
.manager-card h3 { margin:1px 0 6px; font-size:14px; }
.manager-card p { display:-webkit-box; overflow:hidden; margin:0; color:var(--muted); font-size:11px; line-height:1.5; -webkit-box-orient:vertical; -webkit-line-clamp:3; }
.manager-meta { display:flex; flex-wrap:wrap; gap:6px; margin-top:11px; }
.manager-meta span,.manager-meta strong { display:inline-flex; align-items:center; gap:4px; padding:5px 7px; border-radius:7px; background:#f4f4f6; color:#777982; font-size:9px; }
.manager-meta svg { width:11px; height:11px; }
.manager-meta strong { background:#fee8df; color:#a54b31; }
.manager-meta .today-chip { background:#e4f6ef; color:#18815e; }
.calendar-layout { display:grid; grid-template-columns:minmax(0,1fr) 290px; gap:16px; }
.main-calendar { overflow:hidden; }
.month-toolbar { display:flex; align-items:center; gap:8px; min-height:65px; padding:13px 17px; border-bottom:1px solid var(--line); }
.month-toolbar h3 { flex:1; margin:0; font:800 17px Manrope,sans-serif; text-transform:capitalize; }
.month-weekdays,.month-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); }
.month-weekdays { padding:8px 0; background:#f8f8fa; color:var(--muted); font-size:8px; font-weight:800; text-align:center; text-transform:uppercase; }
.month-cell { min-width:0; min-height:124px; padding:9px; border:0; border-top:1px solid var(--line); border-right:1px solid var(--line); background:#fff; cursor:pointer; text-align:left; }
.month-cell:nth-child(7n) { border-right:0; }
.month-cell:hover { background:#faf9ff; }
.month-cell > strong { display:grid; place-items:center; width:23px; height:23px; border-radius:8px; font-size:9px; }
.month-cell.today > strong { background:var(--primary); color:#fff; }
.muted-cell { background:#fafafa; cursor:default; }
.month-events { display:flex; flex-direction:column; gap:3px; margin-top:5px; }
.month-events i { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:5px; overflow:hidden; min-height:24px; padding:4px 6px; border-left:3px solid var(--event); border-radius:6px; background:color-mix(in srgb,var(--event) 12%,white); color:#353740; font-size:9px; font-style:normal; }
.month-events i b { color:color-mix(in srgb,var(--event) 78%,#25262b); font-size:8px; font-weight:850; white-space:nowrap; }
.month-events i span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.month-events em { color:var(--muted); font-size:8px; font-style:normal; }
.upcoming-card { align-self:start; overflow:hidden; }
.upcoming-list { padding:8px 13px 14px; }
.upcoming-row { display:grid; grid-template-columns:28px minmax(0,1fr) auto; align-items:center; gap:10px; padding:11px 0; border-bottom:1px solid var(--line); }
.upcoming-row:last-child { border-bottom:0; }
.upcoming-row > i { display:grid; place-items:center; width:28px; height:34px; border-radius:9px; background:color-mix(in srgb,var(--event) 15%,white); color:var(--event); font-size:14px; font-style:normal; }
.upcoming-row strong,.upcoming-row span { display:block; }
.upcoming-row strong { font-size:12px; }
.upcoming-row span { margin-top:3px; color:var(--muted); font-size:10px; }
.privacy-note { display:flex; align-items:center; gap:8px; margin:-4px 0 16px; padding:10px 13px; border:1px solid #e8e0bf; border-radius:12px; background:#fffbed; color:#76642c; font-size:9px; }
.privacy-note svg { width:15px; }
.client-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.client-search-panel { display:flex; align-items:center; gap:10px; margin:0 0 16px; padding:7px 12px; border:1px solid var(--line); border-radius:15px; background:#fff; }
.client-search-panel label { display:flex; min-width:0; flex:1; align-items:center; gap:9px; }
.client-search-panel svg { width:19px; color:#858894; }
.client-search-panel input { width:100%; height:42px; border:0; outline:0; background:transparent; color:var(--ink); font-size:13px; }
.client-search-panel > span { flex:0 0 auto; padding:6px 8px; border-radius:9px; background:#f4f4f7; color:#737680; font-size:10px; font-weight:750; }
.client-card { min-height:250px; padding:18px; }
.client-card header { display:grid; grid-template-columns:39px minmax(0,1fr) auto; align-items:center; gap:10px; }
.client-avatar { display:grid; place-items:center; width:39px; height:39px; border-radius:13px; background:#eeecff; color:var(--primary); font:800 11px Manrope,sans-serif; }
.client-card h3,.client-card header p { margin:0; }
.client-card h3 { overflow:hidden; font-size:14px; text-overflow:ellipsis; white-space:nowrap; }
.client-card header p { margin-top:3px; color:var(--muted); font-size:10px; }
.client-links { display:flex; flex-wrap:wrap; gap:6px; margin:16px 0 12px; }
.client-links a { display:inline-flex; align-items:center; gap:5px; padding:6px 8px; border-radius:8px; background:#f3f3f6; color:#555862; font-size:8px; font-weight:700; text-decoration:none; }
.client-links svg { width:12px; height:12px; }
.client-copy-grid { display:grid; gap:7px; margin:12px 0; }
.client-copy-field { display:grid; grid-template-columns:minmax(0,1fr) 36px; align-items:center; gap:8px; min-height:48px; padding:6px 6px 6px 11px; border:1px solid #ececf0; border-radius:11px; background:#fafafd; }
.client-copy-field > span { min-width:0; }
.client-copy-field small,.client-copy-field strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.client-copy-field small { color:#7b7e87; font-size:9px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.client-copy-field strong { margin-top:3px; color:#363842; font:650 13px/1.25 "Segoe UI",sans-serif; }
.copy-field { display:grid; place-items:center; width:36px; height:36px; border:0; border-radius:9px; background:#eeecff; color:var(--primary); cursor:pointer; }
.copy-field:hover { background:var(--primary); color:#fff; }
.copy-field svg { width:14px; height:14px; }
.client-notes { display:-webkit-box; overflow:hidden; min-height:40px; margin:0; color:#6f727b; font-size:9px; line-height:1.5; -webkit-box-orient:vertical; -webkit-line-clamp:3; }
.client-card footer { display:flex; justify-content:space-between; gap:10px; margin-top:15px; padding-top:11px; border-top:1px solid var(--line); color:var(--muted); font-size:8px; }
.alert-list { display:flex; flex-direction:column; gap:8px; }
.alert-list > button { display:grid; grid-template-columns:37px minmax(0,1fr) 20px; align-items:center; gap:10px; width:100%; padding:11px; border:1px solid var(--line); border-radius:13px; background:#fff; cursor:pointer; text-align:left; }
.alert-source { display:grid; place-items:center; width:37px; height:37px; border-radius:12px; background:#fff0e5; color:#bd672a; }
.alert-source.calendar { background:#eeecff; color:var(--primary); }
.alert-source.personal { background:#e8f7f1; color:#237e62; }
.alert-source svg { width:17px; }
.alert-list strong,.alert-list p { margin:0; }
.alert-list strong { font-size:10px; }
.alert-list p { margin-top:3px; color:var(--muted); font-size:8px; }
.project-board-title { margin-top:24px; }
.project-board-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; }
.project-board { overflow:hidden; }
.project-board > header { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:15px 17px; border-bottom:1px solid var(--line); }
.project-board-actions { display:flex; align-items:center; gap:6px; }
.cycle-empty-state { display:inline-flex; align-items:center; gap:5px; min-height:32px; padding:0 10px; border:1px solid #dfe9e4; border-radius:10px; background:#f3faf6; color:#398064; font-size:9px; font-weight:800; white-space:nowrap; }
.cycle-empty-state svg { width:13px; height:13px; }
.month-warning { display:flex; align-items:center; gap:4px; color:#bd652d; font-size:8px; font-weight:800; }
.month-warning svg { width:12px; }
.payment-ready { display:flex; align-items:center; gap:4px; padding:5px 8px; border-radius:999px; background:#e7f7ef; color:#16855c; font-size:9px; font-weight:800; }
.payment-ready svg { width:13px; height:13px; }
.task-list.compact { padding:4px 15px 8px; }
.task-list.compact .task-item { grid-template-columns:28px minmax(0,1fr) auto auto auto; padding-block:10px; }
.task-timer { display:inline-flex; align-items:center; gap:4px; min-height:29px; padding:0 8px; border:1px solid #dedce9; border-radius:9px; background:#f8f7ff; color:var(--primary); cursor:pointer; font-size:8px; font-weight:800; }
.task-timer.running { border-color:#e8c6c7; background:#fff3f3; color:#c54950; }
.task-timer svg { width:12px; height:12px; }
.task-archive { border-top:1px solid var(--line); background:#fafafa; }
.task-archive summary { display:flex; align-items:center; gap:6px; padding:11px 16px; color:#777a82; cursor:pointer; font-size:9px; font-weight:800; }
.task-archive summary svg { width:13px; }
.subtask-archive { margin:2px 0 9px 39px; }
.subtask-archive > summary { display:flex; align-items:center; gap:5px; padding:6px 9px; border-radius:8px; background:#f2f3f5; color:#7c7f87; cursor:pointer; font-size:8px; font-weight:800; }
.subtask-archive > summary svg { width:11px; }
.subtask-archive .subtask-list { margin:5px 0 0; }
.routine-runner { display:flex; align-items:center; justify-content:space-between; gap:9px; margin:0 0 11px; padding:11px; border-radius:13px; background:#22242a; color:#fff; }
.routine-runner small,.routine-runner strong,.routine-runner em { display:block; }
.routine-runner small { color:#979aa5; font-size:7px; text-transform:uppercase; }
.routine-runner strong { margin-top:3px; font:800 16px Manrope,sans-serif; }
.routine-runner em { margin-top:2px; color:#858893; font-size:7px; font-style:normal; }
.attendance-card { padding:17px; }
.attendance-breakdown > div { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:6px 10px; padding:10px 0; border-bottom:1px solid var(--line); }
.attendance-breakdown > div:last-child { border-bottom:0; }
.attendance-breakdown strong,.attendance-breakdown small { display:block; }
.attendance-breakdown strong { font-size:10px; }
.attendance-breakdown small { margin-top:2px; color:var(--muted); font-size:7px; }
.attendance-breakdown b { font-size:11px; }
.attendance-breakdown i { grid-column:1/-1; height:5px; overflow:hidden; border-radius:999px; background:#ebecef; }
.attendance-breakdown em { display:block; height:100%; border-radius:inherit; background:var(--green); }
.field input[type="file"] { padding:7px; font-size:9px; }
.field small { color:var(--muted); font-size:8px; }
.reminder-center { margin:0 0 16px; overflow:hidden; }
.reminder-center > header { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:16px 18px; border-bottom:1px solid var(--line); }
.reminder-center > header h3 { margin:0; font:800 15px Manrope,sans-serif; }
.reminder-center > header p { margin:4px 0 0; color:var(--muted); font-size:11px; }
.reminder-list { padding:6px 14px 12px; }
.reminder-row { display:grid; grid-template-columns:38px minmax(0,1fr) auto auto; align-items:center; gap:10px; padding:11px 5px; border-bottom:1px solid var(--line); }
.reminder-row:last-child { border-bottom:0; }
.reminder-row.today,.reminder-row.overdue { margin:5px -5px; padding-inline:10px; border:1px solid #f4d0bd; border-radius:13px; background:#fff7f1; }
.reminder-row.overdue { border-color:#efc7c9; background:#fff5f5; }
.reminder-row .task-check { width:34px; height:34px; }
.reminder-row strong,.reminder-row span { display:block; }
.reminder-row strong { font-size:13px; }
.reminder-row > div > span { margin-top:3px; color:var(--muted); font-size:10px; }
.reminder-frequency { display:inline-flex; align-items:center; gap:5px; color:#656873; font-size:10px; font-weight:750; white-space:nowrap; }
.reminder-frequency svg { width:13px; height:13px; }
.reminder-date { min-width:82px; padding:6px 8px; border-radius:8px; background:#f2f2f5; color:#555862; font-size:10px; font-weight:800; text-align:center; }
.reminder-row.today .reminder-date,.reminder-row.overdue .reminder-date { background:#fff; color:#be5c3a; }

/* The data views are intentionally a little larger than the decorative labels. */
.data-table td,.task-copy strong,.session-main strong { font-size:13px; }
.task-copy span,.session-main span,.data-table small { font-size:10px; }

@media (max-width: 1180px) {
  :root { --sidebar: 86px; }
  .sidebar { padding-inline:13px; }
  .brand { justify-content:center; padding-inline:0; }
  .brand-copy,.nav-item span,.nav-label,.profile-text,.logout-link { display:none; }
  .nav-item { justify-content:center; padding:0; }
  .nav-child .nav-item { margin-left:0; padding:0; }
  .nav-child .nav-item::after { display:none; }
  .nav-item.active::before { left:-13px; }
  .profile-mini { justify-content:center; }
  .stat-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ai-summary-grid { grid-template-columns:1fr 1fr; }
  .projects-layout,.kids-grid { grid-template-columns:minmax(0,1fr) 280px; }
  .personal-grid { grid-template-columns:1fr; }
  .manager-grid,.client-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .project-board-grid { grid-template-columns:1fr; }
}

@media (max-width: 900px) {
  .topbar { padding:0 22px; }
  .content { padding:24px 22px 45px; }
  .dashboard-grid,.projects-layout,.kids-grid,.reports-layout { grid-template-columns:1fr; }
  .side-stack { display:grid; grid-template-columns:1fr 1fr; }
  .kids-grid .side-stack { grid-template-columns:1fr 1fr; }
  .reports-layout .report-list-card { max-height:300px; overflow:auto; }
  .personal-hero { grid-template-columns:1fr; }
  .calendar-layout { grid-template-columns:1fr; }
  .upcoming-card { align-self:stretch; }
  .session-row { grid-template-columns:minmax(130px,1fr) minmax(150px,1.2fr) 76px 76px auto; }
  .session-row .row-actions { display:flex; }
}

@media (max-width: 680px) {
  :root { --radius:18px; }
	.cycle-closed-notice { align-items:flex-start; flex-wrap:wrap; }
	.cycle-closed-notice .btn { width:100%; }
  .app-layout { display:block; padding-bottom:75px; }
  .sidebar,.topbar { display:none; }
  .app-main { display:block; }
  .mobile-top { position:sticky; top:0; z-index:20; display:flex; align-items:center; justify-content:space-between; height:63px; padding:0 17px; border-bottom:1px solid rgba(229,230,234,.85); background:rgba(244,245,247,.9); backdrop-filter:blur(18px); }
  .mobile-brand { display:flex; align-items:center; gap:9px; font:800 15px Manrope,sans-serif; }
  .mobile-brand .brand-mark { width:31px; height:31px; border-radius:10px; font-size:14px; }
  .mobile-top .avatar { width:31px; height:31px; font-size:11px; }
  .content { padding:20px 15px 30px; }
  .mobile-nav { position:fixed; z-index:50; inset:auto 0 0; display:flex; min-height:66px; overflow-x:auto; padding:max(7px,env(safe-area-inset-bottom)) 7px calc(7px + env(safe-area-inset-bottom)); border-top:1px solid #e5e5e9; background:rgba(255,255,255,.95); backdrop-filter:blur(18px); box-shadow:0 -8px 25px rgba(25,25,35,.05); scrollbar-width:none; }
  .mobile-nav::-webkit-scrollbar { display:none; }
  .mobile-nav button { display:flex; flex:1 1 0; min-width:52px; flex-direction:column; align-items:center; justify-content:center; gap:4px; border:0; background:transparent; color:#9a9ca5; font-size:8px; font-weight:700; }
  .mobile-nav button svg { width:19px; height:19px; }
  .mobile-nav button.active { color:var(--section-accent); }
  .welcome-row { align-items:flex-start; margin-bottom:18px; }
  .welcome-row .btn { flex:0 0 40px; width:40px; padding:0; font-size:0; }
  .welcome-row h2,.section-title h2 { font-size:25px; }
  .stat-grid { grid-template-columns:1fr 1fr; gap:10px; margin-bottom:15px; }
  .stat-card { min-height:120px; padding:16px; }
  .stat-card strong { font-size:21px; }
  .stat-icon { width:31px; height:31px; margin-bottom:13px; }
  .dashboard-grid { gap:13px; margin-bottom:15px; }
  .chart-card { min-height:300px; padding:17px; }
  .chart-wrap { height:200px; }
  .goal-card { min-height:315px; }
  .quick-grid { grid-template-columns:1fr; gap:9px; }
  .ai-summary-grid { grid-template-columns:1fr; gap:9px; }
  .ai-summary-card { min-height:100px; }
  .quick-card { min-height:76px; padding:13px; }
  .view-toolbar { align-items:stretch; flex-direction:column; }
  .segmented { display:grid; grid-auto-flow:column; overflow:auto; }
  .segment { padding-inline:10px; white-space:nowrap; }
  .filter-row { width:100%; }
  .filter-row .select-control { flex:1; min-width:0; }
  .data-card-head { padding:15px 16px; }
  .data-table th,.data-table td { padding:12px; }
  .row-action { width:34px; height:34px; }
  .task-check { width:34px; height:34px; }
  .timer-trigger { min-height:38px; }
  .routine-actions .row-action { width:34px; height:34px; }
  .projects-table th:nth-child(3),.projects-table td:nth-child(3),.projects-table th:nth-child(4),.projects-table td:nth-child(4) { display:none; }
  .side-stack,.kids-grid .side-stack { display:flex; }
  .active-timer-card { order:-1; }
  .kids-hero { align-items:flex-start; flex-direction:column; padding:8px 0 16px; }
  .kids-hero h2 { font-size:24px; }
  .kids-hero .btn { width:100%; }
  .kids-stats { grid-template-columns:1fr 1fr; }
  .session-row { grid-template-columns:minmax(110px,.8fr) minmax(145px,1fr) 28px; gap:8px; }
  .session-row .session-total { display:none; }
  .session-row .child-cell { grid-column:1/3; grid-row:1; }
  .session-row .session-activity { grid-column:1/3; grid-row:2; min-width:0; padding-left:44px; }
  .session-row .presence-pill { width:26px; height:26px; padding:0; justify-content:center; font-size:0; }
  .session-row .presence-pill { grid-column:3; grid-row:1; }
  .session-row .row-actions { display:flex; grid-column:3; grid-row:2; justify-self:end; }
  .session-row .presence-pill::before { content:"✓"; font-size:10px; }
  .session-row .presence-pill.absent::before { content:"×"; }
  .personal-hero { gap:13px; }
  .personal-summary-bar { grid-template-columns:1fr; gap:16px; padding:20px; }
  .personal-summary-metrics { width:100%; }
  .focus-card { min-height:215px; padding:22px; }
  .focus-form { flex-direction:column; }
  .focus-form .btn { width:100%; }
  .personal-grid { gap:13px; }
  .task-item { grid-template-columns:30px minmax(0,1fr) auto; }
  .task-item .priority-pill { display:none; }
  .routine-columns { grid-template-columns:1fr; }
  .routine-actions { opacity:1; }
  .manager-hero { align-items:flex-start; flex-direction:column; padding:22px; }
  .manager-hero h2 { font-size:24px; }
  .manager-hero .btn { width:100%; }
  .location-toolbar { align-items:stretch; flex-direction:column; }
  .location-actions { width:100%; }
  .location-actions .btn { flex:1; }
  .manager-grid,.client-grid { grid-template-columns:1fr; }
  .manager-segments { display:flex; max-width:100%; overflow-x:auto; }
  .manager-segments .segment { flex:0 0 auto; }
  .month-cell { min-height:78px; padding:5px; }
  .month-toolbar { flex-wrap:wrap; }
  .month-toolbar h3 { min-width:150px; }
  .month-toolbar .btn { order:2; width:100%; }
  .project-board > header { align-items:flex-start; flex-direction:column; }
  .project-board-actions { width:100%; flex-wrap:wrap; }
  .project-board-actions .btn { flex:1; }
  .task-list.compact .task-item { grid-template-columns:34px minmax(0,1fr) auto; }
  .task-list.compact .task-item .row-actions { grid-column:2/-1; justify-self:end; }
  .routine-runner { align-items:stretch; flex-direction:column; }
  .routine-runner .btn { width:100%; }
  .reminder-row { grid-template-columns:36px minmax(0,1fr) auto auto; }
  .report-document { min-height:450px; padding:22px; }
  .report-document-head { flex-direction:column; }
  .modal-layer { align-items:flex-end; padding:0; }
  .modal { width:100%; max-height:90vh; border-radius:25px 25px 0 0; }
  .form-grid { grid-template-columns:1fr; }
  .field.full,.modal-actions { grid-column:auto; }
  .modal-actions .btn { flex:1; }
  .toast-stack { right:12px; bottom:82px; left:12px; }
  .toast { max-width:none; }
}

@media (max-width: 480px) {
  .content { padding-inline:12px; }
  .stat-grid { gap:8px; }
  .stat-card { min-height:112px; padding:14px; }
  .stat-card span:last-child { font-size:10px; line-height:1.35; }
  .section-header { align-items:flex-start; }
  .projects-table th:nth-child(2),.projects-table td:nth-child(2) { display:none; }
  .session-row { grid-template-columns:minmax(0,1fr) auto; gap:10px; margin:9px 0; padding:13px; border:1px solid var(--line); border-radius:15px; }
  .session-row .child-cell { grid-column:1; grid-row:1; }
  .session-row .session-activity { grid-column:1; grid-row:2; min-width:0; padding-left:44px; }
  .session-row .presence-pill { grid-column:2; grid-row:1; }
  .session-row .row-actions { display:flex; grid-column:2; grid-row:2; align-self:end; }
  .attendance-list { padding-inline:11px; }
  .task-item { gap:7px; }
  .routine-item { padding:8px; }
  .report-document { padding:18px; }
  .report-content { font-size:12px; }
  .manager-stats { grid-template-columns:1fr 1fr; }
  .month-weekdays { display:none; }
  .month-grid { display:grid; grid-template-columns:1fr; gap:8px; padding:10px; background:#f7f7f9; }
  .month-cell { display:grid; grid-template-columns:36px minmax(0,1fr); align-items:start; gap:6px; min-height:0; padding:10px; border:1px solid var(--line)!important; border-radius:13px; background:#fff; }
  .month-cell:not(:has(.month-events i)):not(.today) { display:none; }
  .month-cell.muted-cell { display:none; }
  .month-cell > strong { width:32px; height:32px; font-size:11px; }
  .month-events { margin-top:0; }
  .month-events i { min-height:30px; padding:6px 8px; font-size:11px; }
  .month-events i b { font-size:10px; }
  .month-events em { font-size:9px; }
  .client-card { min-height:220px; }
  .client-copy-field { grid-template-columns:minmax(0,1fr) 34px; }
  .reminder-center > header { align-items:flex-start; flex-direction:column; }
  .reminder-row { grid-template-columns:36px minmax(0,1fr) 34px; gap:8px; }
  .reminder-frequency { display:none; }
  .reminder-row > .row-action { grid-column:3; }
}

@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
}

/* v3.3 readability, personal finance and persisted client media */
.page-identity p,.section-header p,.data-card-head span { font-size:13px; }
.segment,.btn-sm { font-size:13px; }
.data-table td,.project-name strong,.child-cell strong,.session-activity strong,.task-copy strong { font-size:13px; }
.task-copy span,.session-activity span,.child-cell span { font-size:11px; }
.manager-card h3,.client-card h3 { font-size:16px; }
.manager-card p,.manager-meta span,.manager-meta strong { font-size:11px; }
.manager-type { font-size:10px; }
.month-events i { min-height:28px; font-size:11px; }
.month-events i b,.month-cell > strong { font-size:10px; }
.upcoming-row strong { font-size:13px; }
.upcoming-row span { font-size:11px; }
.client-card header p,.client-notes,.privacy-note,.alert-list p { font-size:11px; }
.client-links a,.alert-list strong { font-size:11px; }
.client-media-preview { position:relative; display:block; overflow:hidden; margin:12px 0; border:1px solid var(--line); border-radius:14px; background:#f5f6f8; }
.client-media-preview img { display:block; width:100%; height:176px; object-fit:cover; }
.client-media-preview span { position:absolute; right:9px; bottom:9px; padding:7px 10px; border-radius:9px; background:rgba(23,25,31,.82); color:#fff; font-size:11px; font-weight:750; backdrop-filter:blur(6px); }
.expense-stats { margin-bottom:18px; }
.expense-layout { align-items:start; }
.expense-list { padding:0 18px 18px; }
.expense-row { display:grid; grid-template-columns:34px 38px minmax(0,1fr) auto auto; align-items:center; gap:11px; min-height:76px; padding:12px 0; border-bottom:1px solid var(--line); }
.expense-row:last-child { border-bottom:0; }
.expense-row.due { margin:7px -9px; padding:12px 9px; border:1px solid #f1d29f; border-radius:14px; background:#fff9ef; }
.expense-row.paid { opacity:.58; }
.expense-icon { display:grid; place-items:center; width:38px; height:38px; border-radius:12px; background:var(--primary-soft); color:var(--primary); }
.expense-icon.type-utility { background:#eaf1ff; color:#356ee8; }
.expense-icon.type-subscription { background:#fff0ea; color:#d55e3d; }
.expense-icon.type-vehicle,.expense-icon.type-insurance { background:#fff4dc; color:#b87a18; }
.expense-copy strong,.expense-copy span,.expense-copy small,.expense-due strong,.expense-due span,.expense-due em { display:block; }
.expense-copy strong { font-size:14px; }
.expense-copy span,.expense-copy small { margin-top:3px; color:var(--muted); font-size:11px; line-height:1.35; }
.expense-due { min-width:115px; text-align:right; }
.expense-due strong { font-size:14px; }
.expense-due span { margin-top:3px; color:var(--muted); font-size:11px; }
.expense-due em { margin-top:3px; color:#b85f29; font-size:10px; font-style:normal; font-weight:800; }
.manager-card.section-issue:not(.is-complete) { border-color:#efc7c9; background:#fffafb; }
.manager-card.section-sales { border-color:#cfe9dd; }

/* v3.4 live dashboard, weather and editable 5 to go recipes */
.dashboard-live-grid { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr); gap:18px; margin:0 0 22px; }
.weather-card,.site-activity-card { min-height:220px; padding:21px; }
.weather-current { display:flex; align-items:center; gap:15px; }
.weather-icon { display:grid; place-items:center; flex:0 0 auto; width:58px; height:58px; border-radius:18px; background:linear-gradient(145deg,#fff2c9,#ffe2a8); color:#d58516; }
.weather-icon svg { width:30px; height:30px; }
.weather-current .eyebrow,.site-activity-head .eyebrow { margin:0 0 4px; }
.weather-current strong { display:inline-block; margin-right:8px; font:800 38px/1 Manrope,sans-serif; letter-spacing:-.05em; }
.weather-current span { color:var(--muted); font-size:12px; font-weight:650; }
.weather-facts { display:flex; flex-wrap:wrap; gap:7px; margin:17px 0 14px; }
.weather-facts span { display:inline-flex; align-items:center; gap:5px; padding:6px 9px; border-radius:9px; background:#f5f6f8; color:#676b75; font-size:10px; font-weight:750; }
.weather-facts svg { width:13px; height:13px; }
.weather-days { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.weather-days > div { display:grid; grid-template-columns:1fr auto; align-items:center; gap:3px 7px; padding:9px 10px; border:1px solid var(--line); border-radius:12px; background:#fff; }
.weather-days span,.weather-days small { color:var(--muted); font-size:9px; text-transform:capitalize; }
.weather-days strong { font-size:13px; }
.weather-days svg { grid-row:1/3; grid-column:2; width:18px; color:#7b72d9; }
.weather-source { display:block; margin-top:9px; color:#9a9ca5; font-size:8px; }
.weather-unavailable { display:flex; align-items:center; gap:14px; }
.weather-unavailable > div:nth-child(2) { flex:1; }
.weather-unavailable h3 { margin:0 0 5px; }
.weather-unavailable span { color:var(--muted); font-size:12px; }
.site-activity-head { display:flex; align-items:center; gap:11px; }
.site-activity-head > div { flex:1; }
.site-activity-head h3 { margin:0; font-size:16px; }
.site-activity-icon { display:grid; place-items:center; width:42px; height:42px; border-radius:13px; background:#f0eefc; color:var(--primary); }
.site-activity-icon.active { background:#e5f6ef; color:#198663; }
.site-activity-icon svg { width:20px; }
.live-state { display:inline-flex; align-items:center; gap:6px; padding:6px 9px; border-radius:999px; background:#f0f1f3; color:#777a83; font-size:9px; font-weight:850; text-transform:uppercase; }
.live-state i { width:7px; height:7px; border-radius:50%; background:#9a9da5; }
.live-state.active { background:#e8f7f1; color:#187d5e; }
.live-state.active i { background:#22a87c; box-shadow:0 0 0 4px rgba(34,168,124,.12); animation:sitePulse 1.8s ease-in-out infinite; }
.site-activity-card > .site-activity-live { display:block; margin:21px 0 15px; font:800 clamp(29px,3vw,40px)/1 Manrope,sans-serif; letter-spacing:-.04em; }
.site-activity-meta { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.site-activity-meta span { padding:9px 10px; border-radius:11px; background:#f7f7f9; color:var(--muted); font-size:9px; }
.site-activity-meta strong { display:block; margin-top:3px; color:var(--ink); font-size:12px; }
.site-activity-card > p { margin:11px 0 0; color:var(--muted); font-size:9px; line-height:1.45; }
@keyframes sitePulse { 50% { opacity:.45; transform:scale(.82); } }
.recipe-grid { align-items:stretch; }
.manager-segments { min-width:0; max-width:100%; flex:1 1 auto; overflow-x:auto; scrollbar-width:thin; }
.manager-segments .segment { flex:0 0 auto; }
.view-toolbar > .btn { flex:0 0 auto; }
.recipe-card { min-height:240px; padding:17px; border-color:#e2dfce; background:linear-gradient(155deg,#fffef9,#fff); }
.recipe-card header { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.recipe-title { display:flex; align-items:center; gap:11px; margin:15px 0 11px; }
.recipe-title > span { display:grid; place-items:center; width:40px; height:40px; border-radius:12px; background:#fff1df; color:#b96e21; }
.recipe-title > span svg { width:20px; }
.recipe-title h3 { margin:0; font-size:16px; }
.recipe-title strong { display:block; margin-top:4px; color:#18815e; font-size:13px; }
.recipe-card > p { margin:0; color:#555963; font-size:12px; line-height:1.65; white-space:pre-line; }

@media (max-width:900px) {
  .dashboard-live-grid { grid-template-columns:1fr; }
}

@media (max-width:680px) {
  body.iuli-os-app-shell { font-size:16px; }
  .view-toolbar { align-items:stretch; flex-direction:column; }
  .view-toolbar .segmented { display:flex; max-width:100%; overflow-x:auto; }
  .view-toolbar .segment { flex:0 0 auto; }
  .expense-row { grid-template-columns:34px 38px minmax(0,1fr) auto; }
  .expense-due { grid-column:3; min-width:0; text-align:left; }
  .expense-row .row-actions { grid-column:4; grid-row:1/3; flex-direction:column; }
  .client-media-preview img { height:200px; }
	.dashboard-live-grid { grid-template-columns:1fr; gap:13px; margin-bottom:15px; }
	.weather-card,.site-activity-card { min-height:0; padding:18px; }
	.weather-current strong { font-size:34px; }
	.weather-days > div { padding:8px; }
	.weather-days small { font-size:8px; }
	.recipe-card { min-height:0; }
}

/* v3.5 — larger type, predictable action alignment and private workspace modules */
body.iuli-os-app-shell { font-size:16px; }
.nav-item { font-size:14px; }
.topbar h1 { font-size:22px; }
.welcome-row > div > p,.section-header p { font-size:13px; line-height:1.5; }
.data-table td,.project-name strong,.child-cell strong,.session-activity strong,.task-copy strong { font-size:14px; }
.task-copy span,.session-activity span,.child-cell span,.manager-card p,.client-notes { font-size:12px; }
.segment,.btn-sm { font-size:13px; }
.app-layout[data-view="library"] { --section-accent:#4567b7; --section-soft:#eaf0ff; }
.btn-xs { min-height:36px; padding:0 10px; border-radius:10px; font-size:11px; }
.kids-month-pill,.security-pill { display:inline-flex; align-items:center; gap:7px; min-height:42px; padding:0 13px; border:1px solid var(--line); border-radius:12px; background:#fff; color:#555964; font-size:13px; font-weight:750; white-space:nowrap; }
.kids-month-pill svg,.security-pill svg { width:16px; height:16px; color:var(--section-accent); }
.task-item { grid-template-columns:30px minmax(0,1fr) auto auto auto; }
.task-item > .row-actions { min-width:max-content; flex-wrap:nowrap; align-self:center; }
.task-list.compact .task-item > .row-actions { justify-self:end; }
.task-timer { min-width:94px; justify-content:center; }
.payout-row { flex-wrap:wrap; }
.payout-row > span { min-width:110px; flex:1; }
.payout-row .btn { flex:0 0 auto; }
.paid-settlements { margin-top:12px; border-top:1px solid var(--line); }
.paid-settlements summary { display:flex; align-items:center; gap:7px; padding:12px 0; color:var(--green); cursor:pointer; font-size:12px; font-weight:800; }
.paid-settlements summary svg { width:15px; }
.paid-settlements > div { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:8px 0; color:var(--muted); font-size:11px; }
.paid-settlements span strong,.paid-settlements span small { display:block; }
.paid-settlements span small { margin-top:2px; }
.routine-columns-three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.routine-item.current { border-color:#8a80ed; box-shadow:0 0 0 3px rgba(101,88,223,.1); }
.routine-runner.guided-active { background:linear-gradient(135deg,#5145c4,#262832); }
.routine-runner.guided-active strong { font-size:14px; }
.routine-runner.guided-active em { color:#fff; font-size:16px; font-weight:800; }
.gym-plan { margin:0 17px 17px; border:1px solid var(--line); border-radius:15px; background:#fff; }
.gym-plan summary { display:flex; align-items:center; gap:8px; padding:13px 15px; cursor:pointer; font-size:13px; font-weight:800; }
.gym-plan summary svg { width:16px; color:var(--primary); }
.gym-week { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; padding:0 13px 13px; }
.gym-week article { padding:11px; border-radius:12px; background:#f7f7fa; }
.gym-week article > strong,.gym-week article > span { display:block; }
.gym-week article > strong { margin-bottom:7px; font-size:12px; }
.gym-week article > span { margin-top:5px; color:#555862; font-size:11px; line-height:1.4; }
.gym-week article small { color:var(--muted); font-size:9px; }
.expense-row { grid-template-columns:42px minmax(0,1fr) auto auto; }
.expense-actions { display:flex; align-items:center; justify-content:flex-end; gap:5px; min-width:max-content; }
.due-countdown { padding:4px 7px; border-radius:7px; background:#fff0d5; }
.client-links button { display:inline-flex; align-items:center; gap:5px; padding:6px 8px; border:0; border-radius:8px; background:#eeecff; color:var(--primary); font-size:11px; font-weight:750; cursor:pointer; }
.client-links button svg { width:12px; height:12px; }
.secret-list { display:grid; gap:9px; }
.knowledge-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.knowledge-card { padding:21px; }
.knowledge-card header { display:grid; grid-template-columns:42px minmax(0,1fr) auto; align-items:center; gap:11px; padding-bottom:14px; border-bottom:1px solid var(--line); }
.knowledge-card header > span { display:grid; place-items:center; width:42px; height:42px; border-radius:13px; background:var(--section-soft); color:var(--section-accent); }
.knowledge-card header > span svg { width:20px; }
.knowledge-card header small { color:var(--muted); font-size:10px; font-weight:800; text-transform:uppercase; }
.knowledge-card h3 { margin:3px 0 0; font-size:17px; }
.knowledge-content { padding-top:15px; color:#4d5059; font-size:14px; line-height:1.7; }
.knowledge-content h3 { margin:16px 0 6px; color:var(--ink); font-size:15px; }
.knowledge-content p,.knowledge-content ol,.knowledge-content ul { margin:7px 0; }
.library-folders { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.file-card { display:grid; grid-template-columns:44px minmax(0,1fr) auto 34px; align-items:center; gap:12px; padding:15px; }
.file-icon { display:grid; place-items:center; width:44px; height:44px; border-radius:13px; background:var(--section-soft); color:var(--section-accent); }
.file-card div small,.file-card div strong,.file-card div span { display:block; }
.file-card div small { color:var(--section-accent); font-size:10px; font-weight:800; text-transform:uppercase; }
.file-card div strong { margin-top:3px; overflow:hidden; font-size:14px; text-overflow:ellipsis; white-space:nowrap; }
.file-card div span { margin-top:3px; color:var(--muted); font-size:11px; }
.stat-card span:last-child,.data-card-head span,.task-copy span,.session-activity span,.child-cell span { line-height:1.4; }

@media (max-width:1100px) {
  .routine-columns-three { grid-template-columns:1fr 1fr; }
  .routine-columns-three .routine-column:last-child { grid-column:1/-1; }
  .gym-week { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

@media (max-width:680px) {
  .kids-toolbar .filter-row { justify-content:flex-start; }
  .kids-month-pill { width:100%; justify-content:center; }
  .task-item,.task-list.compact .task-item { grid-template-columns:34px minmax(0,1fr) auto; align-items:center; }
  .task-item > .task-check { grid-column:1; grid-row:1; }
  .task-item > .task-copy { grid-column:2; grid-row:1; }
  .task-item > .priority-pill { grid-column:3; grid-row:1; }
  .task-item > .task-timer { grid-column:2; grid-row:2; justify-self:start; min-height:34px; }
  .task-item > .row-actions,.task-list.compact .task-item > .row-actions { grid-column:3; grid-row:2; justify-self:end; }
  .subtask-list { margin-left:22px; padding-left:8px; }
  .routine-columns-three { grid-template-columns:1fr; }
  .routine-columns-three .routine-column:last-child { grid-column:auto; }
  .gym-week { grid-template-columns:1fr; }
  .expense-row { grid-template-columns:42px minmax(0,1fr); padding-block:14px; }
  .expense-icon { grid-column:1; grid-row:1; }
  .expense-copy { grid-column:2; grid-row:1; }
  .expense-due { grid-column:2; grid-row:2; min-width:0; text-align:left; }
  .expense-actions { grid-column:1/-1; grid-row:3; justify-content:flex-end; }
  .knowledge-grid,.library-folders { grid-template-columns:1fr; }
  .file-card { grid-template-columns:42px minmax(0,1fr) 34px; }
  .file-card > .btn { grid-column:2; justify-self:start; }
  .file-card > .row-action { grid-column:3; grid-row:1/3; }
  .payout-row .btn { width:100%; }
}

@media print {
  .sidebar,.topbar,.mobile-nav,.mobile-top,.report-list-card,.report-document-head .btn { display:none!important; }
  .app-layout { display:block; }
  .app-main { grid-column:auto; }
  .content { max-width:none; padding:0; }
  .reports-layout { display:block; }
  .report-document { border:0; box-shadow:none; }
}

/* 4.0 structured operations, recurring tasks and wellness */
.compact-manager-head{align-items:center;padding:8px 0 18px;background:none;border:0;box-shadow:none;color:var(--ink)}.compact-manager-head h2{font-size:clamp(1.6rem,3vw,2.35rem);color:var(--ink)}.compact-manager-head .eyebrow{color:#b86d00}

/* Folder names stay visible while protected content remains hidden until unlock. */
.security-pill{display:none!important}.library-folder header:has([data-action="unlock-folder"])+.folder-file-list{display:none}.library-folder header:has([data-action="unlock-folder"]){border-bottom:0}

.task-item.is-done{background:#eef0f4;opacity:.72}.task-item.is-done:hover{opacity:.9}.task-item.is-done .task-copy strong{text-decoration:line-through;color:#596173}
.dashboard-archive-center{margin:26px 0}.archive-center-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.archive-center-card{min-width:0;padding:0;overflow:hidden}.archive-center-card>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 18px 13px;border-bottom:1px solid var(--line)}.archive-center-card h4{margin:2px 0 0;font:800 17px/1.2 Manrope,sans-serif}.archive-center-card header small{color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.06em}.archive-center-list{max-height:340px;overflow:auto}.archive-center-row{display:grid;grid-template-columns:36px minmax(0,1fr) 34px;align-items:center;gap:10px;padding:12px 15px;border-bottom:1px solid var(--line)}.archive-center-row:last-child{border-bottom:0}.archive-center-row>div{min-width:0}.archive-center-row strong,.archive-center-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.archive-center-row small{margin-top:3px;color:var(--muted);font-size:11px}.archive-center-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#f0edff;color:#6657e8}.archive-center-icon svg{width:17px;height:17px}.archive-center-icon.blue{background:#eaf1ff;color:#356ee8}.archive-center-icon.orange{background:#fff0e8;color:#e66c37}.kids-archive-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.kids-archive-list{padding:0 18px 18px}.kids-archive-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.kids-archive-row>div{min-width:0}.kids-archive-row strong,.kids-archive-row small{display:block}.kids-archive-row small{margin-top:3px;color:var(--muted);font-size:11px}.kids-archive-total{text-align:right}.kids-archive-total b{white-space:nowrap}
@media(max-width:1050px){.archive-center-grid{grid-template-columns:1fr}.archive-center-list{max-height:280px}.kids-archive-grid{grid-template-columns:1fr}}
@media(max-width:620px){.archive-center-card>header{align-items:flex-start}.archive-center-row{padding:12px}.kids-archive-row{grid-template-columns:36px minmax(0,1fr) auto}.kids-archive-row>a{grid-column:2/-1;width:100%}.kids-archive-total b{font-size:12px}}
.staff-card,.leave-card,.protocol-card{padding:20px}.staff-card header,.leave-card header,.protocol-card header{display:flex;align-items:center;gap:12px}.staff-card header>div:nth-child(2),.leave-card header>div:first-child,.protocol-card header>div:first-child{flex:1}.staff-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:18px}.staff-metrics span,.exercise-targets span{padding:12px;border:1px solid var(--border);border-radius:14px;background:var(--surface-soft)}.staff-metrics small,.staff-metrics strong,.exercise-targets small,.exercise-targets b{display:block}.staff-metrics strong{margin-top:4px;font-size:1.05rem}.structured-list{display:grid;gap:10px}.operation-row{display:grid;grid-template-columns:120px minmax(180px,1fr) repeat(2,minmax(110px,auto)) auto;align-items:center;gap:18px;padding:16px 18px}.operation-row .operation-date{font-weight:800;color:var(--text)}.operation-row p{margin:4px 0 0;color:var(--muted)}.operation-row small,.operation-row b{display:block}.leave-balance{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;padding:14px;border-radius:14px;background:#f5f2ff}.leave-balance strong{font-size:1.2rem;color:var(--primary)}.protocol-card .knowledge-content{margin:16px 0;max-height:260px;overflow:auto}.cash-summary{display:flex;align-items:center;gap:18px;padding:22px;margin-bottom:16px}.cash-summary>span{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:#eaf8f2;color:#17825f}.cash-summary svg{width:25px}.cash-summary strong{display:block;font-size:1.8rem;margin:3px 0}.recipe-steps{display:grid;gap:9px;margin:18px 0 0;padding-left:24px}.recipe-steps li{padding:7px 10px;border-radius:10px;background:var(--surface-soft);line-height:1.45}.section-delivery{border-left:4px solid #2878ff}.section-delivery .manager-meta span:first-of-type{font-weight:800;color:#1d5ec2}
.recurring-panel{padding:20px;margin-bottom:18px}.recurring-list{display:grid;gap:10px}.recurring-task{display:grid;grid-template-columns:auto minmax(180px,1fr) minmax(120px,auto) auto;align-items:center;gap:14px;padding:15px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}.recurring-task svg{width:15px}.recurring-task.overdue{border-color:#ffc3bd;background:#fff6f4}.recurring-task.due-today{border-color:#f0c260;background:#fffaf0}.recurring-countdown{text-align:right}.recurring-countdown small,.recurring-countdown b{display:block}.recurring-countdown b{margin-top:4px}
.gym-head,.nutrition-profile{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px;margin-bottom:18px}.gym-day-tabs{display:flex;flex-wrap:wrap;gap:6px}.gym-day-tabs button{border:1px solid var(--border);background:var(--surface);padding:10px 13px;border-radius:12px;font-weight:750}.gym-day-tabs button.active{background:var(--text);color:#fff}.exercise-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.exercise-card{padding:20px}.exercise-card header{display:flex;align-items:start;justify-content:space-between}.exercise-card h3{font-size:1.18rem}.exercise-targets{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:16px 0}.gym-sets{display:grid;gap:8px}.gym-set{display:flex;align-items:center;gap:12px;border:1px solid var(--border);background:var(--surface);padding:10px 12px;border-radius:12px;text-align:left}.gym-set b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#f1efff;color:var(--primary)}.gym-set.complete{background:#edf9f4;border-color:#bce8d6}.gym-set.complete b{background:#2aa879;color:#fff}.exercise-card footer{display:flex;align-items:center;gap:10px;margin-top:14px}.exercise-card progress{flex:1}.supplement-panel{padding:20px;margin-top:18px}.supplement-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.supplement-list>div{display:grid;grid-template-columns:1fr auto;gap:3px;padding:14px;border:1px solid var(--border);border-radius:14px}.supplement-list span{grid-column:1;color:var(--muted)}
.macro-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.macro-card{padding:18px}.macro-card strong{display:block;font-size:1.6rem;margin:5px 0}.macro-card em{font-size:.75rem;color:var(--muted);font-style:normal}.macro-card progress{width:calc(100% - 48px)}.nutrition-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);gap:16px}.meal-list{display:grid}.meal-row{display:grid;grid-template-columns:55px 1fr auto auto;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--border)}.meal-row small{display:block;margin-top:4px;color:var(--muted)}.nutrition-chart{padding:20px}.bar-chart{display:flex;align-items:end;gap:10px;height:280px;padding-top:30px}.bar-chart>div{height:100%;flex:1;display:flex;flex-direction:column;justify-content:end;align-items:center;gap:5px}.bar-chart i{width:70%;min-height:4px;background:linear-gradient(#7968ee,#a495ff);border-radius:8px 8px 3px 3px}.bar-chart b{font-size:.72rem}.bar-chart span{font-size:.72rem;color:var(--muted)}
.client-gallery-cover{position:relative;width:100%;height:190px;margin:12px 0;border:0;border-radius:16px;overflow:hidden;background:#eef0f5;padding:0}.client-gallery-cover img{width:100%;height:100%;object-fit:cover}.client-gallery-cover span{position:absolute;right:10px;bottom:10px;display:flex;gap:7px;align-items:center;padding:8px 11px;border-radius:10px;background:rgba(20,22,31,.86);color:#fff;font-weight:750}.client-gallery-cover svg{width:16px}.client-lightbox{display:grid;place-items:center;gap:16px}.client-lightbox img{max-width:100%;max-height:68vh;border-radius:18px;object-fit:contain}.paid-expenses{margin-top:18px;padding:18px}.paid-expenses summary{font-weight:800;cursor:pointer}
@media(max-width:900px){.operation-row{grid-template-columns:90px 1fr auto}.operation-row>span:not(.operation-date){display:none}.exercise-grid,.nutrition-layout{grid-template-columns:1fr}.macro-grid{grid-template-columns:repeat(2,1fr)}.supplement-list{grid-template-columns:1fr 1fr}}
@media(max-width:620px){body{font-size:16px}.manager-segments{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}.manager-segments .segment{flex:0 0 auto}.operation-row{grid-template-columns:1fr auto;gap:8px}.operation-row .operation-date{grid-column:1/-1}.staff-metrics,.exercise-targets{grid-template-columns:repeat(2,1fr)}.exercise-grid{grid-template-columns:1fr}.gym-head,.nutrition-profile{align-items:flex-start;flex-direction:column}.gym-day-tabs{display:grid;grid-template-columns:repeat(5,1fr);width:100%}.gym-day-tabs button{padding:9px 4px;font-size:.72rem}.macro-grid{grid-template-columns:1fr 1fr}.macro-card strong{font-size:1.25rem}.recurring-task{grid-template-columns:auto 1fr auto}.recurring-countdown{grid-column:2;text-align:left}.supplement-list{grid-template-columns:1fr}.meal-row{grid-template-columns:45px 1fr auto}.meal-row .row-actions{grid-column:2/-1}.client-gallery-cover{height:165px}}
.client-lightbox-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;align-items:start}.client-lightbox-grid figure{margin:0;padding:10px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}.client-lightbox-grid figure img{width:100%;aspect-ratio:4/3;object-fit:contain;border-radius:12px;background:#f4f4f7}.client-lightbox-grid figcaption{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:10px 2px 2px;font-size:.82rem}.client-lightbox-grid figcaption span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* 4.1 monthly archives, protected folders and weekly operations */
.archive-month-list,.library-folder-groups,.wellness-stack{display:grid;gap:16px}.archive-month-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:15px 0;border-bottom:1px solid var(--border)}.archive-month-row:last-child{border-bottom:0}.archive-month-row>span{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:#f0edff;color:var(--primary)}.archive-month-row>span svg{width:18px}.archive-month-row p,.archive-month-row small{display:block;margin:4px 0 0;color:var(--muted)}.archive-month-row>div:nth-child(3){text-align:right}
.library-controls{display:flex;align-items:center;gap:12px;padding:14px;margin-bottom:16px}.library-controls label{display:flex;align-items:center;gap:9px;flex:1;min-width:0;padding:0 12px;border:1px solid var(--border);border-radius:13px;background:var(--surface)}.library-controls label svg{width:17px;color:var(--muted)}.library-controls input{width:100%;min-height:44px;border:0;background:transparent;outline:0}.library-controls select{min-height:44px;padding:0 38px 0 13px;border:1px solid var(--border);border-radius:13px;background:var(--surface)}.library-folder{overflow:hidden}.library-folder>header{display:flex;align-items:center;gap:13px;padding:18px;border-bottom:1px solid var(--border)}.library-folder>header>span{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:#eeecff;color:var(--primary)}.library-folder>header>span svg{width:20px}.library-folder>header>div{flex:1;min-width:0}.library-folder>header small,.library-folder>header p{display:block;margin:3px 0 0;color:var(--muted)}.folder-file-list{display:grid}.folder-file-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto 34px;align-items:center;gap:12px;padding:13px 18px;border-bottom:1px solid var(--border)}.folder-file-row:last-child{border-bottom:0}.folder-file-row>div small{display:block;margin-top:4px;color:var(--muted)}.file-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:var(--surface-soft);color:var(--muted)}.file-icon svg{width:17px}.locked-label,.security-pill{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;background:#fff3dc;color:#8b5c12;font-size:.75rem;font-weight:800}.security-pill svg{width:14px}
.schedule-guide{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px;margin-bottom:16px}.schedule-guide p{margin:5px 0 0;color:var(--muted)}.schedule-people{grid-template-columns:repeat(2,minmax(0,1fr))}.weekly-person{padding:19px}.weekly-person>header,.weekly-person>footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.weekly-person>header h3{margin-top:3px}.weekly-person>header>strong{color:var(--primary)}.weekly-days{display:grid;gap:7px;margin:16px 0}.weekly-day{display:grid;grid-template-columns:92px minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:10px 11px;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft)}.weekly-day.working{border-color:#d8d2ff;background:#faf9ff}.weekly-day em{grid-column:2/-1;color:var(--muted);font-style:normal}.weekly-day small{color:var(--muted)}.weekly-person>footer{padding-top:13px;border-top:1px solid var(--border);color:var(--muted);font-size:.82rem}
.wellness-overview{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;padding:22px}.wellness-overview-actions{display:flex;align-items:start;gap:8px}.wellness-metrics{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.wellness-metrics>span{padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--surface-soft)}.wellness-metrics small,.wellness-metrics strong{display:block}.wellness-metrics strong{margin-top:5px;font-size:1.16rem}.weekly-volume-chart{grid-column:1/-1;display:flex;align-items:end;gap:9px;height:145px;padding-top:18px}.weekly-volume-chart>span{display:flex;flex:1;height:100%;flex-direction:column;justify-content:end;align-items:center;gap:5px}.weekly-volume-chart i{width:min(42px,72%);min-height:6px;border-radius:8px 8px 3px 3px;background:linear-gradient(#6858e8,#9a8cff)}.weekly-volume-chart small{font-size:.68rem;color:var(--muted)}.paid-settlements{margin-top:14px}.paid-settlements summary{cursor:pointer;font-weight:800}.paid-settlements>div{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--border)}.paid-settlements>div>span{flex:1}.paid-settlements small{display:block;color:var(--muted)}
@media(max-width:900px){.schedule-people{grid-template-columns:1fr}.archive-month-row{grid-template-columns:38px minmax(0,1fr) auto}.archive-month-row>.btn{grid-column:2/-1;justify-self:start}.wellness-overview{grid-template-columns:1fr}.wellness-overview-actions,.wellness-metrics,.weekly-volume-chart{grid-column:1}.nutrition-layout{grid-template-columns:1fr}}
@media(max-width:620px){.library-controls,.schedule-guide{align-items:stretch;flex-direction:column}.library-controls select{width:100%}.library-folder>header{align-items:flex-start;flex-wrap:wrap}.library-folder>header>.btn{width:100%}.folder-file-row{grid-template-columns:34px minmax(0,1fr) 32px}.folder-file-row>.btn,.folder-file-row>.locked-label{grid-column:2;justify-self:start}.folder-file-row>.row-action{grid-column:3;grid-row:1/3}.weekly-day{grid-template-columns:76px 1fr auto}.weekly-day small{grid-column:2}.weekly-day .row-actions{grid-column:3;grid-row:1/3}.weekly-person>footer{align-items:flex-start;flex-direction:column}.wellness-overview-actions{flex-wrap:wrap}.wellness-metrics{grid-template-columns:1fr}.archive-month-row{grid-template-columns:34px 1fr}.archive-month-row>div:nth-child(3){grid-column:2;text-align:left}.archive-month-row>.btn{grid-column:2}}
@media(max-width:620px){.welcome-row{flex-wrap:wrap}.welcome-row>.btn{flex:1 0 100%;width:100%;min-height:44px;padding:0 16px;font-size:.86rem}.welcome-row>.btn svg{width:17px;height:17px}.archive-center-grid,.kids-archive-grid{gap:12px}.archive-center-card>header,.kids-archive-row{align-items:flex-start}.kids-archive-row{grid-template-columns:38px minmax(0,1fr) auto}.kids-archive-total{grid-column:2;text-align:left}.kids-archive-row>.btn{grid-column:2/4;justify-self:stretch}}
.payment-status{display:inline-flex;width:max-content;padding:4px 8px;border-radius:999px;font-size:.72rem;font-weight:800;line-height:1}.payment-status.is-paid{background:#e7f7f0;color:#08765c}.payment-status.is-unpaid{background:#fff0e7;color:#b64c22}

/* 4.3 configurable dashboard, explicit month closing and reusable project cycles */
.welcome-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}.dashboard-section-block{margin-bottom:16px}.dashboard-preference-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.dashboard-preference{position:relative;display:block}.dashboard-preference>input{position:absolute;opacity:0;pointer-events:none}.dashboard-preference>span{display:grid;grid-template-columns:24px 1fr;gap:2px 9px;min-height:86px;padding:15px;border:1px solid var(--border);border-radius:15px;background:var(--surface);cursor:pointer;transition:.18s ease}.dashboard-preference svg{grid-row:1/3;width:20px;color:#a6a9b2}.dashboard-preference b{font-size:14px}.dashboard-preference small{color:var(--muted);font-size:11px;line-height:1.4}.dashboard-preference>input:checked+span{border-color:#968bed;background:#f8f6ff;box-shadow:0 0 0 3px rgba(102,87,232,.08)}.dashboard-preference>input:checked+span svg{color:var(--primary)}
.project-flow{display:flex;align-items:center;justify-content:center;gap:13px;margin:0 0 18px;padding:14px 17px;overflow-x:auto}.project-flow>span{display:flex;align-items:center;gap:8px;min-width:max-content;color:#4f5360}.project-flow b{display:grid;place-items:center;width:27px;height:27px;border-radius:9px;background:var(--primary-soft);color:var(--primary);font-size:11px}.project-flow strong{font-size:12px}.project-flow>i{display:grid;color:#b6b8c0}.project-flow>i svg{width:15px}.archive-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.archive-row-actions .btn{white-space:nowrap}
.after-close-panel{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px;padding:17px 19px;border-color:#f1c8b6;background:linear-gradient(135deg,#fffaf6,#fff)}.after-close-panel>div{display:flex;align-items:center;gap:13px;min-width:0}.after-close-panel strong,.after-close-panel p{display:block}.after-close-panel p{margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.45}.after-close-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:13px;background:#fff0e8;color:#d85d2d}.after-close-icon svg{width:20px}.compact-manager-head,.compact-manager-head>div{min-width:0}.compact-manager-head h2{position:relative;z-index:1;margin:4px 0;color:#171923!important;text-shadow:none!important;opacity:1!important}.compact-manager-head .eyebrow{position:relative;z-index:1;color:#a75f00!important}

@media(max-width:900px){.project-flow{justify-content:flex-start}.archive-month-row{grid-template-columns:38px minmax(0,1fr) auto}.archive-row-actions{grid-column:2/-1;justify-content:flex-start}.after-close-panel{align-items:flex-start;flex-direction:column}.after-close-panel>.btn{width:100%}}
@media(max-width:620px){.welcome-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.welcome-actions .btn{width:100%;min-height:44px;padding-inline:10px;font-size:12px}.dashboard-preference-grid{grid-template-columns:1fr}.project-flow{margin-inline:-3px;padding:12px}.project-flow>i{display:none}.project-flow>span{min-width:170px}.archive-month-row{grid-template-columns:34px minmax(0,1fr)}.archive-row-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr;width:100%}.archive-row-actions .btn{width:100%}.after-close-panel{padding:15px}.after-close-panel>div{align-items:flex-start}.after-close-panel p{font-size:11px}}
