:root{--bg:#f5f7fb;--panel:#fff;--text:#172033;--muted:#6b7280;--border:#e5e7eb;--blue:#4285f4;--red:#ea4335;--yellow:#fbbc04;--green:#34a853;--shadow:0 10px 30px rgba(15,23,42,.08);--radius:16px}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}input,textarea,select,button{font:inherit}.installer{min-height:100vh;display:grid;place-items:center;padding:24px}.install-card{width:min(620px,100%);background:var(--panel);padding:32px;border:1px solid var(--border);border-radius:24px;box-shadow:var(--shadow)}.brand-mark{width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,var(--blue),var(--green));color:#fff;display:grid;place-items:center;font-weight:800;font-size:24px}.stack{display:grid;gap:16px}.stack label{display:grid;gap:7px;font-weight:600}.stack input,.stack textarea,.stack select{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--panel);color:var(--text)}.btn{border:0;border-radius:10px;padding:11px 16px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn.primary{background:var(--blue);color:#fff}.alert{padding:12px 14px;border-radius:10px;margin:14px 0}.alert.danger{background:#fef2f2;color:#991b1b}.requirements{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:22px 0}.status{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;margin-right:8px;font-weight:800}.status.ok{background:#dcfce7;color:#166534}.status.bad{background:#fee2e2;color:#991b1b}small{color:var(--muted);font-weight:400}@media(max-width:600px){.requirements{grid-template-columns:1fr}.install-card{padding:22px}}
.alert.success{background:#ecfdf3;color:#166534}.auth-card{max-width:460px}
[data-theme="dark"]{--bg:#0f172a;--panel:#172033;--text:#edf2f7;--muted:#9ca3af;--border:#2b3547;--shadow:0 10px 30px rgba(0,0,0,.25)}body{transition:background .2s,color .2s}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:260px;background:var(--panel);border-right:1px solid var(--border);padding:22px 16px;display:flex;flex-direction:column;z-index:30}.brand{display:flex;align-items:center;gap:12px;padding:0 8px 22px}.brand .small{width:38px;height:38px;border-radius:12px;font-size:18px}.brand span:last-child{display:grid}.brand small,.user-mini small{color:var(--muted)}.sidebar nav{display:grid;gap:6px}.nav-link{display:flex;gap:12px;align-items:center;padding:11px 12px;border-radius:10px;color:var(--muted);font-weight:600}.nav-link:hover,.nav-link.active{background:color-mix(in srgb,var(--blue) 10%,transparent);color:var(--blue)}.sidebar-footer{margin-top:auto;border-top:1px solid var(--border);padding-top:16px}.user-mini{display:grid;padding:8px 12px 12px}.main{margin-left:260px;min-height:100vh}.topbar{height:76px;background:color-mix(in srgb,var(--panel) 94%,transparent);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}.topbar h1{font-size:22px;margin:0}.topbar>div:first-child{display:flex;align-items:center;gap:12px}.top-actions{display:flex;align-items:center;gap:10px}.top-actions select{max-width:260px;padding:9px 12px;border:1px solid var(--border);border-radius:10px;background:var(--panel);color:var(--text)}.icon-btn,.mobile-menu{width:40px;height:40px;border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:10px;cursor:pointer}.mobile-menu{display:none}.content{padding:28px;max-width:1500px;margin:auto}.flash{margin:16px 28px 0;padding:12px 14px;border-radius:10px;background:#eef2ff;color:#3730a3}.flash.success{background:#ecfdf3;color:#166534}.flash.error{background:#fef2f2;color:#991b1b}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.grid{display:grid;gap:18px}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.section-head h2,.card h2,.card h3{margin-top:0}.muted{color:var(--muted)}.badge{display:inline-flex;padding:5px 9px;border-radius:999px;background:color-mix(in srgb,var(--blue) 12%,transparent);color:var(--blue);font-size:12px;font-weight:700}.btn.secondary{background:var(--panel);color:var(--text);border:1px solid var(--border)}.btn.danger{background:#fee2e2;color:#991b1b}.actions{display:flex;gap:8px;flex-wrap:wrap}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid .full{grid-column:1/-1}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--border);vertical-align:top}th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.empty{text-align:center;padding:44px 20px}.mobile-bottom{display:none}.nav-scrim{display:none}.kpi{font-size:28px;font-weight:800}.kpi-label{color:var(--muted);font-size:13px}.progress{height:9px;background:color-mix(in srgb,var(--muted) 18%,transparent);border-radius:99px;overflow:hidden}.progress>span{display:block;height:100%;background:var(--blue);border-radius:inherit}.alert.info{background:#eff6ff;color:#1d4ed8}@media(max-width:980px){.sidebar{transform:translateX(-105%);transition:transform .2s}.sidebar.open{transform:none}.nav-scrim.show{display:block;position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:25}.main{margin-left:0}.mobile-menu{display:inline-grid;place-items:center}.content{padding:20px}.grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.topbar{padding:0 14px;height:68px}.topbar h1{font-size:18px}.top-actions select{max-width:145px}.content{padding:14px 14px 82px}.grid.cols-2,.grid.cols-3,.grid.cols-4,.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.mobile-bottom{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;bottom:0;left:0;right:0;background:var(--panel);border-top:1px solid var(--border);z-index:22}.mobile-bottom a{padding:14px 6px;text-align:center;font-size:12px;color:var(--muted)}.sidebar{width:280px}.flash{margin:12px 14px 0}}
.audit-hero{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;background:linear-gradient(135deg,color-mix(in srgb,var(--blue) 8%,var(--panel)),var(--panel))}.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:800;color:var(--blue)}.audit-score{text-align:center;min-width:120px}.audit-score strong{display:block;font-size:34px;color:var(--blue)}.audit-score span{font-size:12px;color:var(--muted)}.audit-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.audit-list{display:grid;gap:12px;margin-top:16px}.audit-item{border:1px solid var(--border);border-radius:12px;padding:14px}.audit-item.done{border-color:color-mix(in srgb,var(--green) 45%,var(--border));background:color-mix(in srgb,var(--green) 5%,var(--panel))}.check-row{display:flex;gap:10px;cursor:pointer}.check-row input{position:absolute;opacity:0}.fake-check{width:22px;height:22px;border:2px solid var(--border);border-radius:6px;display:grid;place-items:center;color:transparent;flex:0 0 auto}.check-row input:checked+.fake-check{background:var(--green);border-color:var(--green);color:#fff}.check-row>span:last-child{display:grid;gap:4px}.check-row small{color:var(--muted);font-weight:400}.audit-item textarea{width:100%;margin-top:10px;padding:9px;border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:8px;resize:vertical}.save-state{color:var(--muted)}@media(max-width:1100px){.audit-grid{grid-template-columns:1fr}}@media(max-width:640px){.audit-hero{align-items:flex-start}.audit-score{min-width:auto}.audit-score strong{font-size:27px}}
.nap-preview{border:1px dashed var(--border);border-radius:14px;padding:20px;display:grid;gap:10px;margin:18px 0;background:color-mix(in srgb,var(--blue) 4%,var(--panel))}.nap-preview strong{font-size:20px}.checklist{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;color:var(--muted)}
.roadmap-intro{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px}.routine-mini{display:grid;grid-template-columns:repeat(4,auto);gap:8px}.routine-mini span{padding:10px 12px;border:1px solid var(--border);border-radius:10px;display:grid;font-size:12px;color:var(--muted)}.routine-mini b{color:var(--text)}.timeline{margin-bottom:18px}.timeline-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.timeline-node{position:relative;border-top:4px solid var(--border);padding:12px 8px;display:grid;gap:5px}.timeline-node.completed{border-color:var(--green)}.timeline-node.in_progress{border-color:var(--yellow)}.timeline-node span,.timeline-node small{color:var(--muted);font-size:12px}.kanban{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.kanban-col{background:color-mix(in srgb,var(--panel) 75%,var(--bg));border:1px solid var(--border);border-radius:var(--radius);padding:14px}.kanban-head{display:flex;justify-content:space-between;align-items:center}.kanban-head h2{font-size:16px}.kanban-list{display:grid;gap:12px}.task-card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:14px}.task-card h3{font-size:16px;margin:12px 0 8px}.task-card p{font-size:13px;color:var(--muted)}.task-top{display:flex;justify-content:space-between}.task-card label{font-size:12px;color:var(--muted);display:grid;gap:4px}.task-card select,.task-card textarea{width:100%;margin-top:7px;padding:8px;border:1px solid var(--border);border-radius:8px;background:var(--panel);color:var(--text)}@media(max-width:980px){.kanban{grid-template-columns:1fr}.timeline-row{grid-template-columns:repeat(2,1fr)}.roadmap-intro{align-items:flex-start;flex-direction:column}}@media(max-width:640px){.routine-mini{grid-template-columns:repeat(2,1fr);width:100%}.timeline-row{grid-template-columns:1fr}}
.delta{font-size:12px;font-weight:700}.delta.up{color:var(--green)}.delta.down{color:var(--red)}.goal-box{padding:14px;border-radius:12px;background:color-mix(in srgb,var(--green) 6%,var(--panel));border:1px solid color-mix(in srgb,var(--green) 25%,var(--border));margin-bottom:16px}.goal-numbers{display:flex;justify-content:space-between;align-items:end}.goal-numbers strong{font-size:28px}.progress.big{height:12px;margin:10px 0}.compact{border-top:1px solid var(--border);padding-top:16px}.charts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.charts-grid>div{min-width:0}.charts-grid canvas{width:100%;height:230px;border:1px solid var(--border);border-radius:10px}@media(max-width:900px){.charts-grid{grid-template-columns:1fr}}
.review-result{min-height:180px;padding:18px;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--blue) 4%,var(--panel));white-space:pre-wrap;line-height:1.65;margin-bottom:14px}.review-tips{margin-top:22px;border-top:1px solid var(--border);padding-top:16px;color:var(--muted);font-size:13px}.review-tips ul{padding-left:20px}.history-list{display:grid;gap:12px}.history-list article{border:1px solid var(--border);border-radius:12px;padding:14px}.history-list article>div{display:flex;justify-content:space-between;gap:12px}.history-list small{color:var(--muted)}.history-list p{line-height:1.55}.profile-lines{display:grid;gap:14px}.profile-lines span{display:grid;gap:4px}.profile-lines small{color:var(--muted)}.toggle-line{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center!important}.toggle-line input{width:auto!important}
.dashboard-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px;background:linear-gradient(135deg,color-mix(in srgb,var(--blue) 7%,var(--panel)),color-mix(in srgb,var(--green) 4%,var(--panel)))}.dashboard-hero h2{font-size:28px;margin:6px 0}.hero-actions{display:flex;gap:8px;flex-wrap:wrap}.dashboard-kpis{margin-bottom:18px}.dashboard-kpis .progress{margin-top:10px}.dashboard-main,.dashboard-bottom{margin-bottom:18px}.text-link{color:var(--blue);font-weight:700;font-size:13px}.dashboard-tasks{display:grid;gap:4px}.dashboard-tasks article{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--border)}.dashboard-tasks article:last-child{border-bottom:0}.dashboard-tasks article>div{display:grid;gap:3px}.dashboard-tasks small{color:var(--muted)}.task-dot{width:10px;height:10px;border-radius:50%;background:var(--border)}.task-dot.in_progress{background:var(--yellow)}.task-dot.completed{background:var(--green)}.level-row{display:grid;gap:7px;margin:17px 0}.level-row>div:first-child{display:flex;justify-content:space-between;font-size:13px}.alert-list{display:grid;gap:9px}.alert-list div{padding:12px;border-radius:10px;background:color-mix(in srgb,var(--yellow) 12%,var(--panel));border:1px solid color-mix(in srgb,var(--yellow) 35%,var(--border))}.nap-compact{display:grid;gap:9px;padding:14px;border-radius:12px;border:1px dashed var(--border)}.compact-empty{padding:18px}.welcome-empty{max-width:680px;margin:8vh auto}.welcome-empty .brand-mark{margin:0 auto 18px}@media(max-width:800px){.dashboard-hero{align-items:flex-start;flex-direction:column}}
.edit-business summary{list-style:none}.edit-business summary::-webkit-details-marker{display:none}.edit-business-form{min-width:320px;margin-top:10px;padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--panel)}@media(max-width:640px){.edit-business-form{min-width:240px}}
