:root{--brand-dark:#1a3530;--brand-mid:#2d5a50;--mint:#3dd68c;--charcoal:#dedad4;--light-surface:#f7f7f5;--white:#fff;--ink:#08060d;--ink-2:#4f4d57;--border:#e5e4e7;--danger:#cc2e2e;--sans:-apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;font-family:var(--sans);color:var(--ink);background:var(--white);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.5}*{box-sizing:border-box}body,html,#root{min-height:100svh;margin:0;padding:0}a{color:var(--brand-mid);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{letter-spacing:-.01em;color:var(--ink);margin:0;font-weight:600}h1{font-size:28px}h2{color:var(--brand-mid);font-size:20px}h3{font-size:16px}button,input,select,textarea{font:inherit}.pill{border:1px solid var(--border);background:var(--white);cursor:pointer;color:var(--ink);border-radius:99px;align-items:center;gap:6px;padding:8px 16px;font-weight:500;transition:background .12s,border-color .12s;display:inline-flex}.pill:hover{background:var(--light-surface)}.pill.primary{background:var(--brand-dark);color:var(--white);border-color:var(--brand-dark)}.pill.primary:hover{background:var(--brand-mid);border-color:var(--brand-mid)}.pill.mint{background:var(--mint);color:var(--brand-dark);border-color:var(--mint)}.pill.mint:hover{background:#2cc97c}.pill.ghost{background:0 0}.pill.danger{color:var(--danger);border-color:#cc2e2e66}.pill[disabled]{opacity:.5;cursor:not-allowed}.card{background:var(--light-surface);border-radius:14px;padding:20px}.field{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.field label{color:var(--ink-2);font-size:14px;font-weight:500}.field input,.field select,.field textarea{border:1px solid var(--border);background:var(--white);border-radius:10px;padding:10px 12px}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--mint);outline-offset:-1px;border-color:var(--mint)}.field .hint{color:var(--ink-2);font-size:13px}.field .error{color:var(--danger);font-size:13px}.app-shell{max-width:1200px;margin:0 auto;padding:32px 24px}.header-strip{background:var(--brand-dark);color:var(--white);border-radius:16px;justify-content:space-between;align-items:center;margin-bottom:24px;padding:24px 32px;display:flex}.header-strip h1{color:var(--white);font-size:24px}.muted{color:var(--ink-2)}.row{align-items:center;gap:12px;display:flex}.spacer{flex:1}table.data{border-collapse:collapse;background:var(--white);border:1px solid var(--border);border-radius:14px;width:100%;overflow:hidden}table.data th,table.data td{text-align:left;padding:12px 14px;font-size:14px}table.data thead{background:var(--brand-dark);color:var(--white)}table.data tbody tr:nth-child(2n){background:var(--light-surface)}.notice{background:var(--light-surface);text-align:center;color:var(--ink-2);border-radius:14px;padding:20px}.or-divider{color:var(--ink-2);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:12px;margin:12px 0 8px;font-size:13px;display:flex}.or-divider:before,.or-divider:after{content:"";background:var(--border);flex:1;height:1px}.private-notice{background:var(--white);border:1px solid var(--border);border-radius:12px;padding:14px 16px}.response-page{text-align:center;background:var(--white);flex-direction:column;justify-content:center;align-items:center;gap:24px;min-height:100svh;padding:32px 24px;display:flex}.response-page h1{letter-spacing:-.02em;font-size:32px}.response-page .prompt{max-width:460px;margin:0;font-size:22px;font-weight:500}.response-page p{color:var(--ink-2);max-width:460px;margin:0;font-size:17px}.response-page p.error{color:var(--danger)}.big-buttons{flex-direction:column;gap:16px;width:min(380px,100%);display:flex}.big-button{cursor:pointer;border:none;border-radius:99px;padding:22px 24px;font-size:22px;font-weight:600;transition:transform 50ms,filter .12s}.big-button:active{transform:scale(.98)}.big-button[disabled]{filter:brightness(.85);cursor:not-allowed}.big-button.nailed{background:var(--mint);color:var(--brand-dark)}.big-button.missed{background:var(--charcoal);color:var(--ink)}.dashboard-link{margin-top:8px;padding:14px 28px;font-size:16px;text-decoration:none}.dashboard-link:hover{text-decoration:none}.dashboard{max-width:1280px}.dash-header{background:var(--brand-dark);color:var(--white);border-radius:16px;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;margin-bottom:20px;padding:20px 28px;display:grid}.dash-logo{width:auto;height:44px}.dash-header-center{text-align:center}.dash-header-center .compliance{color:var(--mint);letter-spacing:-.01em;font-size:22px;font-weight:600}.dash-header-right{align-items:center;gap:12px;display:flex}.client-pill{color:var(--white);background:#ffffff1f;border-radius:99px;padding:6px 14px;font-size:14px;font-weight:500}.stat-cards{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px;display:grid}.stat-card{background:var(--light-surface);border-radius:14px;flex-direction:column;justify-content:space-between;min-height:110px;padding:20px;display:flex}.stat-card-dark{background:var(--brand-dark);color:var(--white)}.stat-card-dark .stat-label,.stat-card-dark .stat-sub,.stat-card-dark .stat-value{color:var(--white)}.stat-value{letter-spacing:-.02em;color:var(--ink);font-size:32px;font-weight:600}.stat-label{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2);margin-top:4px;font-size:13px;font-weight:500}.stat-sub{color:var(--ink-2);font-size:13px}.ticker{flex-direction:column;gap:4px;animation:.4s fadein;display:flex}@keyframes fadein{0%{opacity:.4}to{opacity:1}}.ticker-name{letter-spacing:-.01em;font-size:22px;font-weight:600}.ticker-streak{color:var(--mint);font-size:14px;font-weight:500}.filters{background:var(--light-surface);border-radius:14px;flex-wrap:wrap;align-items:center;gap:24px;margin-bottom:16px;padding:12px 16px;display:flex}.filter-group{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.filter-label{color:var(--ink-2);text-transform:uppercase;letter-spacing:.06em;margin-right:4px;font-size:13px;font-weight:500}.filter-search{border:1px solid var(--border);background:var(--white);border-radius:99px;min-width:200px;padding:6px 14px;font-size:13px}.table-wrap{background:var(--white);border:1px solid var(--border);border-radius:14px;overflow:auto hidden}.dash-table{border-collapse:collapse;width:100%;font-size:14px}.dash-table thead{background:var(--brand-dark);color:var(--white)}.dash-table th,.dash-table td{text-align:left;white-space:nowrap;padding:10px 14px}.dash-table th{text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:500}.dash-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.dash-table th.sortable:hover{color:var(--mint)}.dash-table tbody tr{border-top:1px solid var(--border)}.dash-table tbody tr:nth-child(2n){background:var(--light-surface)}.name-cell{font-weight:500}.goal-cell{text-overflow:ellipsis;white-space:nowrap;max-width:240px;color:var(--ink-2);overflow:hidden}.mobile-goal{display:none}.streak-col{font-variant-numeric:tabular-nums;width:80px;text-align:right!important}.streak-num{font-weight:500}.fire{width:22px;display:inline-block}.week-col{width:44px;text-align:center!important;padding:10px 4px!important}.cat-pill{border-radius:99px;padding:3px 10px;font-size:12px;font-weight:500;display:inline-block}.dot,.dot-empty{vertical-align:middle;border-radius:50%;width:14px;height:14px;display:inline-block}.dot-nailed{background:var(--mint)}.dot-grey{background:var(--charcoal)}.dot-empty{border:1px dashed var(--border);opacity:.5;background:0 0}@media (width<=900px){.stat-cards{grid-template-columns:repeat(2,1fr)}.dash-header{text-align:center;grid-template-columns:1fr}.dash-header-right{justify-content:center}}@media (width<=768px){.dash-table .dept-col,.dash-table .category-col,.dash-table .week-col:not(:last-child){display:none}.dash-table .week-col:last-child{width:48px;min-width:48px}.dash-table .streak-col{width:64px!important;padding-left:6px!important;padding-right:6px!important}.dash-table .name-cell{padding-left:10px;padding-right:6px}.dash-table .goal-cell,.dash-table th.goal-header{display:none}.mobile-goal{color:var(--ink-2);white-space:normal;margin-top:3px;font-size:12px;font-weight:400;display:block}.table-wrap{overflow-x:visible}.filter-label{font-size:12px}}
