:root{color-scheme:light;--bg: #f2f2f7;--card: rgba(255, 255, 255, .88);--card-solid: #fff;--ink: #141414;--muted: #8e8e93;--muted-2: #aeaeb2;--line: #e5e5ea;--blue: #1677ff;--green: #2fbf71;--red: #ff3b30;--orange: #ff9500;--yellow: #ffcc00;--shadow: 0 16px 36px rgba(20, 20, 20, .07), 0 2px 8px rgba(20, 20, 20, .04);--radius-lg: 24px;--radius-md: 16px;--radius-sm: 12px;--mono: "SF Mono", SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,sans-serif;font-synthesis:none}*{box-sizing:border-box}html{min-width:320px;background:var(--bg)}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg);color:var(--ink)}button,input{font:inherit}button{border:0;cursor:pointer}button:focus-visible,input:focus-visible{outline:3px solid rgba(22,119,255,.3);outline-offset:3px}.app-shell{width:min(100%,760px);min-height:100vh;margin:0 auto;padding:calc(20px + env(safe-area-inset-top)) 20px calc(20px + env(safe-area-inset-bottom))}.topbar{display:flex;align-items:center;justify-content:space-between;min-height:42px;margin-bottom:20px}.brand-lockup{display:flex;align-items:center;gap:9px;font-size:15px;font-weight:760;letter-spacing:-.02em}.brand-mark{display:grid;width:28px;height:28px;place-items:center;border-radius:9px;background:var(--ink);color:#fff;font-size:13px;font-weight:800}.topbar-actions,.invite-meta,.admin-actions{display:flex;align-items:center;gap:12px}.product-badge{display:inline-flex;align-items:center;gap:6px;color:#6d6d73;font-size:10px;font-weight:750;letter-spacing:.06em;text-transform:uppercase}.product-dot{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px #2fbf7124}.round-button{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#ffffffb8;color:var(--ink);box-shadow:0 1px 3px #0000000a}.page-enter{animation:page-enter .42s cubic-bezier(.22,1,.36,1) both}@keyframes page-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.eyebrow{color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.12em}h1,h2,p{margin:0}h1{font-size:clamp(48px,10vw,82px);line-height:.95;letter-spacing:-.075em;font-weight:780}h1[tabindex="-1"]:focus{outline:none}h2{font-size:23px;line-height:1.1;letter-spacing:-.045em}.title-period{color:var(--orange)}.lede{max-width:430px;margin-top:14px;color:#6b6b70;font-size:16px;line-height:1.5}.invite-screen{display:grid;min-height:calc(100vh - 120px);align-content:center;padding:20px 0 60px}.invite-screen h1{margin-top:12px}.invite-form{width:min(100%,460px);margin-top:38px}.invite-form label{display:block;margin-bottom:9px;color:#55555a;font-size:13px;font-weight:700}.code-field{display:flex;align-items:center;height:62px;padding:0 18px;border:1px solid #d7d7dc;border-radius:17px;background:#fffc;box-shadow:inset 0 1px #fffc,0 7px 18px #00000009;transition:border-color .2s,box-shadow .2s}.code-field:focus-within{border-color:var(--blue);box-shadow:0 0 0 4px #1677ff1f}.code-field.has-error{border-color:var(--red)}.code-field input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--ink);font-family:var(--mono);font-size:21px;font-weight:500;letter-spacing:.12em;text-transform:uppercase}.code-field input::placeholder{color:#b8b8bd}.code-count{color:var(--muted-2);font-family:var(--mono);font-size:11px}.field-hint,.field-error{margin:9px 2px 0;font-size:12px;line-height:1.4}.field-hint{color:var(--muted)}.field-error{color:var(--red);font-weight:650}.primary-button,.secondary-button{min-height:52px;border-radius:15px;font-weight:760;transition:transform .18s,filter .18s,box-shadow .18s}.primary-button:hover,.secondary-button:hover{transform:translateY(-1px);filter:brightness(.985)}.primary-button{width:100%;margin-top:24px;padding:0 18px;background:var(--ink);color:#fff;box-shadow:0 8px 20px #14141429;text-align:left}.primary-button span{float:right;font-size:20px;line-height:1}.primary-button.compact{width:auto;min-height:42px;padding:0 16px;margin:0;font-size:13px}.primary-button:disabled,.secondary-button:disabled{cursor:wait;opacity:.56;transform:none}.text-button{padding:0;background:transparent;color:var(--blue);font-size:12px;font-weight:700}.invite-meta{flex-wrap:wrap;margin-top:24px;color:var(--muted);font-size:11px}.invite-meta>span{display:inline-flex;align-items:center;gap:5px}.invite-meta .status-icon{width:auto;height:auto;background:none;font-size:12px}.admin-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.admin-heading>div{min-width:0}.admin-heading h1{margin-top:10px;overflow-wrap:anywhere}.admin-heading .round-button{flex:0 0 auto;margin-top:4px;font-size:21px}.ios-card{overflow:hidden;border-radius:10px;background:var(--card-solid)}.dashboard-title{margin:2px 16px 18px;font-size:34px;line-height:1.05;letter-spacing:-.04em;font-weight:700}.group-heading{margin:0 16px 8px;color:var(--muted);font-size:13px;line-height:1.25;letter-spacing:0;font-weight:500}.group-heading span{font-size:inherit}.status-card{padding-top:10px}.status-card .group-heading{margin-bottom:10px}.status-row{position:relative;display:flex;align-items:center;min-height:48px;padding:10px 16px;font-size:17px}.status-row+.status-row:before{position:absolute;top:0;right:0;left:48px;height:1px;background:var(--line);content:""}.status-icon{display:grid;width:20px;height:20px;flex:0 0 auto;place-items:center;margin-right:12px;border-radius:0;background:transparent;color:#74747a;font-size:16px;font-weight:700}.status-icon.green{background:none;color:var(--green)}.status-icon.red{background:none;color:var(--red)}.status-icon.blue{background:none;color:var(--blue)}.status-icon.muted{background:none;color:#74747a}.status-title{min-width:0;font-size:17px;font-weight:400;letter-spacing:0}.file-section{margin-top:24px}.section-heading{display:block;margin:0 16px 8px}.file-card{border-radius:10px}.file-list{margin:0;padding:0;list-style:none}.file-row{position:relative;display:grid;grid-template-columns:20px minmax(0,1fr);gap:12px;align-items:start;min-height:44px;padding:10px 16px}.file-row+.file-row:before{position:absolute;top:0;right:0;left:48px;height:1px;background:var(--line);content:""}.file-index{width:20px;height:20px;margin-top:2px;border:1.5px solid #c7c7cc;border-radius:50%}.file-row code{overflow-wrap:anywhere;color:#000;font-family:var(--mono);font-size:13px;line-height:1.4}.action-section{margin-top:16px}.section-note{margin:0 16px 8px;color:var(--muted);font-size:13px;text-align:center}.action-group{overflow:hidden;border-radius:10px;background:#fff}.action-row{position:relative;display:flex;align-items:center;width:100%;min-height:48px;padding:10px 16px;background:transparent;text-align:left}.action-row+.action-row:before{position:absolute;top:0;right:0;left:48px;height:1px;background:var(--line);content:""}.action-row .status-icon{margin-right:12px}.action-row span:last-child{font-size:17px}.action-row-primary{color:var(--blue)}.action-row-destructive{color:#c92720}.action-row-success{color:#16814a}.action-row:hover{background:#00000006}.dashboard-logout{margin:18px 16px 8px}.secondary-button{padding:0 16px;background:#fff;color:var(--ink);box-shadow:0 2px 8px #0000000f}.removal-dialog{width:min(280px,calc(100vw - 40px));padding:0;overflow:hidden;border:0;border-radius:14px;background:#fffffff7;color:var(--ink);box-shadow:0 16px 42px #0000003d;text-align:center}.removal-dialog::backdrop{background:#0000005c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.removal-dialog-copy{padding:20px 20px 18px}.removal-dialog-copy h2{font-size:17px;line-height:1.25;letter-spacing:-.01em;font-weight:650}.removal-dialog-actions{display:flex;min-height:44px;border-top:1px solid var(--line)}.dialog-button{flex:1;min-height:44px;background:transparent;color:var(--blue);font-size:17px}.dialog-button+.dialog-button{border-left:1px solid var(--line)}.dialog-button-destructive{color:#c92720;font-weight:600}.removal-screen{display:grid;min-height:calc(100svh - 90px);place-items:center;align-content:center;padding:24px 0 32px;text-align:center}.removal-screen h1{margin-top:12px;font-size:clamp(42px,9vw,74px)}.progress-card{width:min(100%,420px);margin-top:24px;padding:20px;border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow);text-align:left}.progress-label{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;font-weight:700}.progress-label strong{color:var(--ink);font-family:var(--mono)}.progress-track{height:8px;margin-top:14px;overflow:hidden;border-radius:99px;background:#e5e5ea}.progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--orange),var(--green));transition:width .12s linear}.removal-screen>.text-button{min-height:20px;margin-top:20px}.removal-cancel.is-hidden{visibility:hidden}.admin-screen{padding-bottom:42px}.admin-heading .lede{max-width:390px}.admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:28px}.metric-card{display:grid;gap:8px;padding:16px;border:1px solid rgba(0,0,0,.04);border-radius:var(--radius-md);background:#fff;box-shadow:var(--shadow)}.metric-card span{color:var(--muted);font-size:11px}.metric-card strong{font-family:var(--mono);font-size:24px}.admin-panel{margin-top:20px;overflow:hidden;border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow)}.admin-login{display:grid;width:min(100%,460px);gap:9px;max-width:460px;margin:28px auto 0;padding:22px}.admin-login label{color:#4f4f54;font-size:12px;font-weight:700}.admin-login input{width:100%;min-height:48px;margin-bottom:5px;padding:0 13px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink)}.admin-login .primary-button{margin-top:8px;text-align:center}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px}.panel-heading h2{margin-top:7px}.panel-note{margin:-7px 20px 18px;color:var(--muted);font-size:11px;line-height:1.45}.recent-code{display:flex;align-items:center;gap:10px;margin:-4px 20px 18px;padding:10px 12px;border:1px solid rgba(47,191,113,.24);border-radius:12px;background:#2fbf7114}.recent-code span{color:#34744f;font-size:11px}.recent-code code{margin-left:auto;color:#155d35;font-family:var(--mono);font-size:13px;font-weight:700;letter-spacing:.08em}.recent-code .table-action{color:#155d35}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:11px}th,td{padding:12px 20px;border-top:1px solid var(--line);text-align:left;white-space:nowrap}th{color:var(--muted);font-size:9px;letter-spacing:.08em;text-transform:uppercase}td code{font-family:var(--mono)}.status-pill{display:inline-flex;padding:4px 7px;border-radius:99px;font-size:10px;font-weight:700}.status-pill.active,.status-pill.issued{background:#2fbf711f;color:#16814a}.status-pill.redeemed{background:#1677ff1c;color:#1460c7}.status-pill.revoked{background:#ff3b301a;color:#c92720}.status-pill.expired,.status-pill.ended{background:#8e8e931f;color:#66666b}.table-action{padding:0;background:transparent;color:var(--red);font-size:11px;font-weight:700}.admin-actions{justify-content:space-between;margin-top:20px}#toast-region{position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom));left:20px;z-index:10;display:grid;place-items:center;pointer-events:none}.toast{max-width:min(100%,440px);padding:11px 15px;border-radius:99px;background:#141414e6;color:#fff;font-size:12px;box-shadow:0 8px 20px #0003;animation:toast-in .25s ease both}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(min-width:700px){.app-shell{padding-right:32px;padding-left:32px}.invite-screen{min-height:calc(100vh - 150px)}.admin-heading h1{font-size:76px}.file-row{padding-right:22px;padding-left:22px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(max-width:420px){.app-shell{padding-right:16px;padding-left:16px}.product-badge{display:none}.topbar{margin-bottom:14px}h1{font-size:56px}.admin-heading h1{font-size:58px}.admin-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.metric-card{padding:13px 11px}.metric-card strong{font-size:20px}th,td{padding-right:12px;padding-left:12px}}
