:root{--primary:#4f46e5;--primary-dark:#4338ca;--primary-light:#e0e7ff;--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--bg:#f8fafc;--surface:#fff;--text:#1e293b;--text-secondary:#64748b;--border:#e2e8f0;--shadow:0 1px 3px #00000014, 0 1px 2px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;--radius:8px;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg);color:var(--text);line-height:1.6}.app{min-height:100vh;display:block}.demo-banner{color:#92400e;text-align:center;background:#fef3c7;border-bottom:1px solid #fde68a;padding:.45rem 1rem;font-size:.8rem;font-weight:700}.app-loading{height:100vh;color:var(--text-secondary);justify-content:center;align-items:center;font-size:1.25rem;display:flex}.app-login{text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100vh;display:flex}.app-login h1{margin-bottom:.5rem;font-size:2rem}.header{background-color:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;height:64px;padding:0 1.5rem;display:flex}.header-brand{align-items:center;gap:.5rem;display:flex}.brand-icon{font-size:1.75rem}.brand-name{color:var(--text);font-size:1.25rem;font-weight:600}.header-nav{gap:.25rem;display:flex}.nav-btn{color:var(--text-secondary);border-radius:var(--radius);cursor:pointer;background-color:#0000;border:none;align-items:center;gap:.375rem;padding:.625rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s;display:flex}.nav-btn:hover{background-color:var(--bg);color:var(--text)}.nav-btn.active{background-color:var(--primary-light);color:var(--primary-dark)}.nav-icon{font-size:1rem}.main-content{max-width:1240px;margin:0 auto;padding:2.25rem 1.5rem 7rem}.page-heading{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.page-heading h1{font-size:clamp(1.7rem,4vw,2.5rem);line-height:1.15}.eyebrow{color:var(--primary);letter-spacing:.1em;text-transform:uppercase;font-size:.75rem;font-weight:800}.subtle,.stat-detail,.count-card p,.hint{color:var(--text-secondary)}.total-pill{background:var(--primary);color:#fff;white-space:nowrap;border-radius:999px;padding:.65rem 1rem;font-size:1.1rem;font-weight:800}.section-heading{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.control-grid{grid-template-columns:2fr 1fr 1fr;gap:1rem;display:grid}.control-grid label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;gap:.4rem;font-size:.78rem;font-weight:700;display:grid}.section-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.count-card{background:var(--surface);box-shadow:var(--shadow);cursor:pointer;border:2px solid #0000;border-radius:14px;grid-template-columns:1fr auto;align-items:center;gap:1rem;padding:1.25rem;display:grid}.count-card.selected{border-color:var(--primary)}.count-number,.manual-count{color:var(--primary);text-align:right;font-size:3rem;font-weight:800}.manual-count{width:130px}.count-actions{grid-column:1/-1;grid-template-columns:1fr 2fr;gap:.75rem;display:grid}.count-button{color:#fff;cursor:pointer;border:0;border-radius:10px;min-height:62px;font-size:2rem;font-weight:800}.count-button.minus{background:#64748b}.count-button.plus{background:var(--primary)}.sticky-actions{z-index:10;border-top:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff5;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem max(1rem,50vw - 596px);display:flex;position:fixed;bottom:0;left:0;right:0}.sticky-actions div{gap:.5rem;display:flex}.sticky-actions p{color:var(--text-secondary)}.empty-state{text-align:center;color:var(--text-secondary);background:var(--bg);border:1px dashed var(--border);border-radius:10px;padding:2.5rem}.auth-card{width:min(420px,100vw - 2rem);box-shadow:var(--shadow-lg);background:#fff;border-radius:12px;gap:.85rem;margin-top:1.5rem;padding:1.5rem;display:grid}.form-message{color:var(--text-secondary);font-size:.9rem}.dashboard-stats{margin-bottom:1.25rem}.stat-detail{font-size:.8rem}.stat-card.positive{border-top:3px solid var(--success)}.stat-card.warning{border-top:3px solid var(--warning)}.trend-chart{align-items:end;gap:1rem;height:220px;padding-top:2rem;display:flex;overflow-x:auto}.trend-item{min-width:56px;height:100%;color:var(--text-secondary);flex-direction:column;justify-content:flex-end;align-items:center;font-size:.72rem;display:flex}.trend-bar{background:linear-gradient(180deg, #818cf8, var(--primary));border-radius:7px 7px 2px 2px;width:34px}.trend-value{color:var(--text);font-weight:700}.horizontal-stat{grid-template-columns:140px 1fr 60px;align-items:center;gap:.75rem;margin:.8rem 0;display:grid}.horizontal-stat div{background:var(--primary-light);border-radius:99px;height:12px;overflow:hidden}.horizontal-stat i{background:var(--primary);border-radius:inherit;height:100%;display:block}.card{background-color:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:1rem;padding:1.5rem}.card-title{margin-bottom:1rem;font-size:1.25rem;font-weight:600}.btn{border-radius:var(--radius);cursor:pointer;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s}.btn-primary{background-color:var(--primary);color:#fff;border:none}.btn-primary:hover{background-color:var(--primary-dark)}.btn-secondary{background-color:var(--bg);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{background-color:var(--bg)}.btn-success{background-color:var(--success);color:#fff;border:none}.btn-danger{background-color:var(--danger);color:#fff;border:none}input,select,textarea{border:1px solid var(--border);border-radius:var(--radius);padding:.5rem .75rem;font-family:inherit;font-size:.875rem}input:focus,select:focus,textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #4f46e51a}.table-container{overflow-x:auto}.table{border-collapse:collapse;width:100%}.th,td{text-align:left;padding:.75rem}.th{background-color:var(--bg);color:var(--text-secondary);font-size:.875rem;font-weight:600}.td{color:var(--text)}.grid-2{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.grid-4{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}.badge{border-radius:999px;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-block}.badge-active{color:#065f46;background-color:#d1fae5}.badge-inactive{color:#991b1b;background-color:#fee2e2}.stat-card{background-color:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem}.stat-value{color:var(--primary);font-size:2rem;font-weight:700}.stat-label{color:var(--text-secondary);font-size:.875rem}.counter-admin-grid{grid-template-columns:minmax(280px,.8fr) minmax(360px,1.2fr);gap:1rem;display:grid}.form-stack{flex-direction:column;gap:.85rem;display:flex}.form-stack label{gap:.35rem;font-size:.85rem;font-weight:650;display:grid}.form-stack fieldset{border:1px solid var(--border);border-radius:var(--radius);padding:.85rem}.form-stack legend{padding:0 .35rem;font-size:.85rem;font-weight:700}.form-stack .check-row{align-items:center;gap:.5rem;padding:.35rem 0;font-weight:500;display:flex}.counter-person{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0;display:flex}.counter-person:last-child{border-bottom:0}.counter-person p,.counter-person small{color:var(--text-secondary)}.person-actions{align-items:center;gap:.4rem;display:flex}.icon-danger{color:var(--danger);cursor:pointer;background:0 0;border:0;padding:.25rem;font-size:1.6rem}.toast-message{z-index:20;color:#fff;box-shadow:var(--shadow-lg);background:#1e293b;border-radius:9px;max-width:420px;padding:.8rem 1rem;position:fixed;bottom:5.5rem;right:1.25rem}.month-picker{color:var(--text-secondary);gap:.35rem;font-size:.8rem;font-weight:700;display:grid}.magic-count-shell{background:var(--bg);place-items:center;min-height:100vh;padding:1rem;display:grid}.success-panel{text-align:center;max-width:520px;padding:3rem}.pricing-strip{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;display:grid}.plan-card{text-align:left;border:2px solid var(--border);color:var(--text);cursor:pointer;background:#fff;border-radius:12px;flex-direction:column;gap:.2rem;padding:1rem 1.2rem;display:flex}.plan-card span{color:var(--text-secondary);font-size:.85rem}.plan-card.active{border-color:var(--primary);background:var(--primary-light)}.plan-card.pro strong{color:var(--primary-dark)}.assignment-chips{flex-wrap:wrap;gap:.35rem;display:flex}.assignment-chips span{background:var(--primary-light);color:var(--primary-dark);border-radius:999px;padding:.2rem .55rem;font-size:.78rem;font-weight:700}.assignment-chips em{color:var(--text-secondary)}.assignment-editor{border:2px solid var(--primary)}.add-assignment{grid-template-columns:1fr auto;gap:.5rem;margin-bottom:1rem;display:grid}.assignment-person{border-top:1px solid var(--border);padding:1rem 0}.assignment-person-head{justify-content:space-between;align-items:center;gap:1rem;display:flex}.assignment-person-head div:last-child{gap:.4rem;display:flex}.assignment-person p{color:var(--text-secondary)}.assignment-person fieldset{border:1px solid var(--border);border-radius:8px;margin-top:.75rem;padding:.75rem}.assignment-person legend{padding:0 .35rem;font-size:.8rem;font-weight:700}.assignment-person .check-row{align-items:center;gap:.35rem;margin:.3rem .9rem .3rem 0;display:inline-flex}.upgrade-note{color:var(--primary-dark);background:var(--primary-light);border-radius:8px;padding:.75rem;font-size:.85rem}@media (width<=768px){.header-nav{gap:.125rem}.nav-label{display:none}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.main-content{padding:.75rem .75rem 8rem}.brand-name{display:none}.header{padding:0 .5rem}.nav-btn{padding:.625rem}.control-grid,.section-grid,.counter-admin-grid{grid-template-columns:1fr}.counter-person{flex-direction:column;align-items:flex-start}.pricing-strip{grid-template-columns:1fr}.assignment-person-head{flex-direction:column;align-items:flex-start}.sticky-actions{flex-direction:column;align-items:stretch}.sticky-actions div{grid-template-columns:1fr 1fr;display:grid}.horizontal-stat{grid-template-columns:90px 1fr 42px}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background-color:var(--bg)}::-webkit-scrollbar-thumb{background-color:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background-color:var(--text-secondary)}
