:root{--brand: #009444;--brand-hover: #007d3a;--brand-active: #006c32;--brand-soft: #e8f6ee;--coffee: #3b241b;--coffee-soft: #f3ece6;--bg: #faf8f4;--surface: #ffffff;--surface-2: #f5f3ef;--text: #171a18;--text-2: #5f6762;--text-3: #8a918d;--border: #dfe3e0;--success: #11864b;--success-bg: #e9f7ef;--warning: #b76a00;--warning-bg: #fff4de;--danger: #c43d3d;--danger-hover: #a93232;--danger-bg: #fdecec;--disabled: #c8ceca;--disabled-bg: #eef0ee;--focus: rgba(0, 148, 68, .22);--font: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;--fs-12: 12px;--fs-14: 14px;--fs-16: 16px;--fs-18: 18px;--fs-20: 20px;--fs-24: 24px;--fs-32: 32px;--lh-tight: 1.2;--lh-body: 1.5;--w-regular: 400;--w-medium: 500;--w-semibold: 600;--w-bold: 700;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 20px;--s-6: 24px;--s-8: 32px;--s-10: 40px;--s-12: 48px;--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--r-xl: 24px;--r-pill: 999px;--shadow-1: 0 1px 2px rgba(23, 26, 24, .06), 0 4px 16px rgba(23, 26, 24, .05);--shadow-2: 0 8px 30px rgba(23, 26, 24, .12);--control-h: 48px;--control-h-sm: 40px;--tap-min: 44px;--page-max: 1200px;--tabbar-h: 64px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:var(--fs-16);line-height:var(--lh-body);-webkit-font-smoothing:antialiased}h1{font-size:var(--fs-32);line-height:var(--lh-tight);font-weight:var(--w-bold);margin:0 0 var(--s-2)}h2{font-size:var(--fs-24);line-height:var(--lh-tight);margin:var(--s-6) 0 var(--s-3)}h3{font-size:var(--fs-18);line-height:var(--lh-tight);margin:0 0 var(--s-2)}p{margin:0 0 var(--s-3)}a{color:inherit}code{font:700 var(--fs-14) ui-monospace,SFMono-Regular,Menlo,monospace}.muted{color:var(--text-2);font-size:var(--fs-14)}:focus-visible{outline:none;box-shadow:0 0 0 4px var(--focus)}.shell{max-width:var(--page-max);margin:auto;padding:var(--s-6) var(--s-4)}.mobile{max-width:375px;margin:auto;padding:var(--s-4)}.container{max-width:var(--page-max);margin:0 auto;padding:var(--s-4)}.page-center{min-height:60vh;display:flex;align-items:center;justify-content:center;padding:var(--s-4)}.stack{display:grid;gap:var(--s-4)}.row{display:flex;gap:var(--s-3);align-items:center}.spread{display:flex;justify-content:space-between;gap:var(--s-3);align-items:center}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-4)}.desktop-only{display:none}@media (max-width: 767px){.grid2{grid-template-columns:1fr}h1{font-size:28px}}@media (min-width: 768px){.shell{padding:28px var(--s-6)}.container,.page-center{padding:var(--s-6)}}@media (min-width: 1024px){.shell{padding:var(--s-8) var(--s-6)}.desktop-only{display:initial}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s-5);box-shadow:var(--shadow-1);margin-bottom:var(--s-4)}.card-title{font-size:var(--fs-18);font-weight:var(--w-bold);margin:0 0 var(--s-3)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);height:var(--control-h);min-width:var(--tap-min);padding:0 18px;border:1px solid transparent;border-radius:var(--r-md);font:var(--w-semibold) var(--fs-16) var(--font);cursor:pointer;text-decoration:none;background:var(--brand);color:#fff;transition:background .15s ease}.btn:hover{background:var(--brand-hover)}.btn:active{background:var(--brand-active)}.btn:disabled,.btn[aria-busy=true]{background:var(--disabled-bg);color:var(--text-3);border-color:transparent;cursor:not-allowed}.btn-block{width:100%}.btn-big{height:52px;font-size:var(--fs-18)}.btn-outline{background:var(--surface);color:var(--brand-active);border-color:var(--border)}.btn-outline:hover{background:var(--brand-soft)}.btn-outline:active{background:var(--brand-soft);border-color:var(--brand)}.btn-secondary{background:var(--surface-2);color:var(--text);border-color:var(--border)}.btn-secondary:hover{background:var(--border)}.btn-danger{background:var(--danger)}.btn-danger:hover{background:var(--danger-hover)}.btn-small{height:var(--control-h-sm);min-width:var(--tap-min);padding:0 var(--s-3);font-size:var(--fs-14);border-radius:var(--r-md)}.btn-row{display:flex;gap:var(--s-3);flex-wrap:wrap}.input,.field input:not([type=checkbox]):not([type=file]),.field select,.invite-url-row input{width:100%;height:var(--control-h);min-height:var(--control-h);border:1px solid var(--border);border-radius:var(--r-md);padding:0 14px;font:var(--w-regular) var(--fs-16) var(--font);background:var(--surface);color:var(--text);outline:none;transition:border-color .15s ease,box-shadow .15s ease}.input::placeholder,.field input::placeholder{color:var(--text-3)}.input:focus,.field input:not([type=checkbox]):focus,.field select:focus,.invite-url-row input:focus{border-color:var(--brand);box-shadow:0 0 0 4px var(--focus)}.input:disabled,.field input:disabled,.field select:disabled{background:var(--disabled-bg);color:var(--text-3);cursor:not-allowed}.input[readonly],.field input[readonly]{background:var(--surface-2);color:var(--text-2)}.field{display:grid;gap:6px;margin-bottom:var(--s-4)}.field label,.label{font-size:var(--fs-14);font-weight:var(--w-semibold);color:var(--text)}.field-hint,.hint{font-size:var(--fs-12);color:var(--text-2)}.checkbox-field{display:flex;align-items:center;gap:var(--s-3);min-height:var(--tap-min);font-weight:var(--w-semibold)}.checkbox-field input{width:22px;height:22px;accent-color:var(--brand);flex-shrink:0}.alert{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--s-3);border-radius:var(--r-md);border:1px solid;padding:var(--s-3) 14px;margin-bottom:var(--s-4);font-size:var(--fs-14)}.alert-error{background:var(--danger-bg);border-color:#f1c1c1;color:#8c2525}.alert-success{background:var(--success-bg);border-color:#bce6cd;color:#075f32}.alert-warning{background:var(--warning-bg);border-color:#f1d7a5;color:#784600}.spinner-wrap{display:flex;flex-direction:column;align-items:center;gap:var(--s-3);padding:var(--s-6) 0}.spinner{width:34px;height:34px;border:4px solid var(--brand-soft);border-top-color:var(--brand);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{display:block;border-radius:var(--r-md);background:linear-gradient(90deg,var(--surface-2) 25%,var(--disabled-bg) 50%,var(--surface-2) 75%);background-size:200% 100%;animation:shimmer 1.4s ease infinite;min-height:var(--control-h)}@keyframes shimmer{to{background-position:-200% 0}}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s-3);text-align:center;padding:var(--s-8) var(--s-4);color:var(--text-2)}.empty svg,.empty img{width:40px;height:40px;color:var(--text-3)}.admin-header{background:var(--surface);border-bottom:1px solid var(--border)}.admin-header-inner{max-width:var(--page-max);margin:0 auto;padding:var(--s-3) var(--s-4);display:flex;align-items:center;justify-content:space-between;gap:var(--s-3)}.admin-brand{display:inline-flex;align-items:center;gap:var(--s-2);font-weight:var(--w-bold);color:var(--brand-active);font-size:var(--fs-18)}.admin-brand img{width:32px;height:32px;display:block}.admin-main{padding-bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + var(--s-6))}.tabbar{position:fixed;left:0;right:0;bottom:0;height:calc(var(--tabbar-h) + env(safe-area-inset-bottom));padding:6px 6px calc(6px + env(safe-area-inset-bottom));background:#fffffff5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--border);display:grid;grid-template-columns:repeat(7,1fr);z-index:20}.tabbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:var(--tap-min);padding:2px 1px;text-decoration:none;color:var(--text-2);font-size:11px;letter-spacing:-.2px;font-weight:var(--w-semibold);border-radius:var(--r-md)}.tabbar a img{width:20px;height:20px}.tabbar a svg{width:20px;height:20px}.tabbar a.active,.tab.active{color:var(--brand);font-weight:var(--w-bold)}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s-3);margin-bottom:var(--s-4)}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-1);padding:var(--s-4);min-height:96px}.stat-value{font-size:var(--fs-24);line-height:var(--lh-tight);font-weight:var(--w-bold);color:var(--text)}.stat-label{font-size:var(--fs-12);color:var(--text-2);margin-top:var(--s-1)}.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s-3)}.stat strong{font-size:var(--fs-24);line-height:var(--lh-tight);display:block}.stat span{font-size:var(--fs-12);color:var(--text-2)}.chart-wrap{overflow-x:auto}.chart{width:100%;min-width:480px;height:auto;display:block;min-height:260px}.chart-grid{stroke:var(--border);stroke-width:1}.chart-tick{font-size:10px;fill:var(--text-2)}.chart-bar{fill:var(--brand);opacity:.85}.chart-line{stroke:var(--warning);stroke-width:2.5}.chart-dot{fill:var(--warning)}.chart-legend{display:flex;gap:var(--s-5);margin-top:var(--s-2);font-size:var(--fs-14);color:var(--text-2)}.legend-swatch{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:6px;vertical-align:-1px}.legend-bar{background:var(--brand)}.legend-line{background:var(--warning)}.table{width:100%;border-collapse:collapse;background:var(--surface);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-1)}.table th,.table td{text-align:left;padding:var(--s-3);border-bottom:1px solid var(--border);font-size:var(--fs-14)}.list-row{display:flex;align-items:center;gap:var(--s-3);width:100%;min-height:56px;padding:var(--s-3) var(--s-1);border-bottom:1px solid var(--border);text-decoration:none;color:inherit;text-align:left;background:none;border-left:none;border-right:none;border-top:none;font-family:inherit;font-size:var(--fs-16);cursor:pointer}.list-row:last-child{border-bottom:none}@media (hover: hover){a.list-row:hover .list-row-title{color:var(--brand-active)}}.list-row-main{flex:1;min-width:0}.list-row-title{font-weight:var(--w-semibold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-row-sub{font-size:var(--fs-14);color:var(--text-2)}.list-row-aside{text-align:right;font-size:var(--fs-14);color:var(--text-2);flex-shrink:0}.pager{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:var(--s-3);margin-top:var(--s-3)}.cups-circles{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-bottom:var(--s-3)}.cup-dot{width:22px;height:22px;border-radius:var(--r-pill);border:2px solid var(--border);background:var(--surface)}.cup-dot-filled{background:var(--brand);border-color:var(--brand)}.cups-progress-big .cup-dot{width:30px;height:30px}.progress-track{height:var(--s-2);background:#ecefec;border-radius:var(--r-pill);overflow:hidden}.progress-fill{height:100%;background:var(--brand);border-radius:var(--r-pill);transition:width .3s ease}.cups-progress-label{margin-top:var(--s-2);font-size:var(--fs-14);color:var(--text-2)}.cups-progress-label strong{color:var(--text)}.cups-progress-big .cups-progress-label{font-size:var(--fs-18);text-align:center}.progress-cups{display:flex;gap:var(--s-2);flex-wrap:wrap}.cup{width:30px;height:24px;border:2px solid #c9cecb;border-radius:5px 5px 10px 10px;position:relative}.cup.on{background:var(--brand);border-color:var(--brand)}.bar{height:var(--s-2);background:#ecefec;border-radius:var(--r-pill);overflow:hidden}.bar>i{display:block;height:100%;background:var(--brand)}.stepper{display:flex;align-items:center;gap:var(--s-3)}.stepper-btn{width:var(--tap-min);height:var(--tap-min);min-width:var(--tap-min);border-radius:var(--r-md);border:1px solid var(--brand);background:var(--brand-soft);color:var(--brand-active);font-size:var(--fs-24);font-weight:var(--w-bold);cursor:pointer;transition:background .15s ease}.stepper-btn:hover:not(:disabled){background:var(--surface-2)}.stepper-btn:disabled{background:var(--disabled-bg);border-color:var(--disabled);color:var(--text-3);cursor:not-allowed}.stepper-value{min-width:var(--tap-min);text-align:center;font-size:var(--fs-18);font-weight:var(--w-semibold)}.reward-banner{background:linear-gradient(135deg,var(--brand),#00b353);color:#fff;border-radius:var(--r-lg);padding:var(--s-5);margin-bottom:var(--s-4);text-align:center}.reward-banner-title{font-size:var(--fs-20);font-weight:var(--w-bold);margin-bottom:var(--s-3)}.reward-banner .btn{background:var(--surface);color:var(--brand-active)}.reward-banner .btn:hover{background:var(--brand-soft)}.qr-img{display:block;width:280px;max-width:100%;height:auto;margin:0 auto var(--s-3);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);padding:var(--s-2)}.qr-url{word-break:break-all;text-align:center;font:var(--fs-14) ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--text-2);margin-bottom:var(--s-3)}.code{font:var(--w-bold) var(--fs-20) ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:1px}.auth-card{max-width:400px;margin:8vh auto 0}.auth-logo{display:flex;flex-direction:column;align-items:center;gap:var(--s-3);text-align:center;font-size:var(--fs-24);font-weight:var(--w-bold);color:var(--text);margin-bottom:var(--s-5)}.auth-logo img{width:56px;height:56px;display:block}.company-grid{display:grid;grid-template-columns:1fr;gap:var(--s-3)}.invite-url-row{display:flex;gap:var(--s-2);align-items:stretch;margin-top:var(--s-3)}.invite-url-row input{flex:1;min-width:0;height:var(--control-h-sm);font-size:var(--fs-14);background:var(--surface-2)}.public-hero{background:linear-gradient(135deg,var(--coffee),#72503f);color:#fff;border-radius:var(--r-xl);padding:var(--s-6) var(--s-5);margin-bottom:var(--s-4);text-align:center}.public-hero .muted{color:#ffffffbf}.public-hero img.public-hero-logo{width:52px;height:52px;display:block;margin:0 auto var(--s-3)}.public-company{font-size:var(--fs-24);line-height:var(--lh-tight);font-weight:var(--w-bold);color:#fff}.hero{background:linear-gradient(135deg,var(--coffee),#72503f);color:#fff;border-radius:var(--r-xl);padding:var(--s-6)}@media (max-width: 767px){.table{display:block;overflow-x:auto}.chart{min-height:260px}}@media (min-width: 768px){.stats-grid,.company-grid{grid-template-columns:repeat(2,1fr)}.card{padding:var(--s-5)}.chart{min-height:320px}.tabbar{position:static;height:auto;padding:var(--s-1) var(--s-4);border-top:none;border-bottom:1px solid var(--border);display:flex;justify-content:center;gap:var(--s-2);background:var(--surface);max-width:var(--page-max);margin:0 auto}.tabbar a{flex-direction:row;gap:var(--s-2);padding:var(--s-3) var(--s-4);font-size:var(--fs-14);border-bottom:3px solid transparent;border-radius:0}.tabbar a.active{border-bottom-color:var(--brand)}.admin-main{padding-bottom:var(--s-8)}}@media (min-width: 1024px){.stats-grid,.stats{grid-template-columns:repeat(4,1fr)}.company-grid{grid-template-columns:repeat(2,1fr)}.qr-img{width:400px}}.toggle-switch{position:relative;display:inline-block;width:48px;height:28px;flex-shrink:0}.toggle-switch input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;margin:0;cursor:pointer}.toggle-switch .toggle-track{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--r-pill);background:var(--border);transition:background .15s ease;pointer-events:none}.toggle-switch .toggle-thumb{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:var(--surface);box-shadow:var(--shadow-1);transition:transform .15s ease;pointer-events:none}.toggle-switch input:checked~.toggle-track{background:var(--brand)}.toggle-switch input:checked~.toggle-thumb{transform:translate(20px)}.toggle-switch input:disabled{cursor:not-allowed}.toggle-switch input:disabled~.toggle-track{background:var(--disabled-bg)}.automation-head{display:flex;align-items:center;gap:var(--s-3)}.automation-head-main{flex:1;min-width:0}.automation-stats{display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-5);margin-top:var(--s-3);padding-top:var(--s-3);border-top:1px solid var(--border);font-size:var(--fs-14);color:var(--text-2)}.automation-stats strong{color:var(--text)}.textarea{width:100%;min-height:88px;padding:10px 14px;border:1px solid var(--border);border-radius:var(--r-md);font:var(--w-regular) var(--fs-16) var(--font);line-height:var(--lh-body);background:var(--surface);color:var(--text);outline:none;resize:vertical;transition:border-color .15s ease,box-shadow .15s ease}.textarea:focus{border-color:var(--brand);box-shadow:0 0 0 4px var(--focus)}.stat-hint{font-size:var(--fs-12);color:var(--text-3);margin-top:var(--s-1)}.cohort-heatmap{width:100%;border-collapse:collapse;font-size:var(--fs-14)}.cohort-heatmap th{padding:var(--s-2) var(--s-1);border-bottom:1px solid var(--border);font-weight:var(--w-semibold);color:var(--text-2);text-align:center;white-space:nowrap}.cohort-heatmap td{padding:var(--s-2) var(--s-1);border-bottom:1px solid var(--border);text-align:center;white-space:nowrap}.cohort-heatmap th:first-child,.cohort-heatmap td:first-child{text-align:left}.cohort-heatmap tbody tr:last-child td{border-bottom:none}.link-like{border:none;background:none;padding:0;font:var(--w-semibold) var(--fs-14) var(--font);color:var(--text-2);text-decoration:underline;cursor:pointer}.link-like:hover{color:var(--brand-active)}
