:root{--bg: #0f0f0f;--surface: #1a1a1a;--border: #2b2b2b;--red: #c62828;--red-text: #e5484d;--red-tint-bg: #3a1214;--red-tint-border: #5a1c1f;--red-tint-text: #f0595e;--text: #f5f5f5;--muted: #a3a3a3;--dim: #8a8a8a;--heading: "Bebas Neue", sans-serif}*,*:before,*:after{box-sizing:border-box}html{background:var(--bg);color-scheme:dark}body{margin:0;min-height:100svh;background:var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif;-webkit-tap-highlight-color:transparent}a{color:var(--red-text)}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}h1,h2,h3{margin:0;font-family:var(--heading);font-weight:400;letter-spacing:.01em}.screen{display:flex;flex-direction:column;gap:20px;width:min(430px,100%);min-height:100svh;margin:0 auto;padding:44px 20px max(24px,env(safe-area-inset-bottom))}.screen.wide{width:min(980px,100%)}.screen.center{align-items:center;text-align:center}.label{margin:0;color:var(--red-text);font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase}.bar{width:48px;height:3px;background:var(--red)}.lead{margin:0;color:var(--muted);font-size:16px;line-height:1.55}.card{padding:16px;border-radius:18px;background:var(--surface);border:1px solid var(--border)}.field{display:flex;flex-direction:column;gap:8px}.field label{font-size:14px;font-weight:600}.field .hint{color:var(--dim);font-size:13px}.input{width:100%;height:52px;padding:0 16px;border-radius:12px;border:1px solid var(--border);background:var(--surface);font-size:16px}.input,.input[type=datetime-local],.input[type=date],.input[type=time]{min-width:0;max-width:100%}.input[type=datetime-local],.input[type=date],.input[type=time]{display:block;-webkit-appearance:none;appearance:none;text-align:left}.input[type=datetime-local]::-webkit-date-and-time-value{display:flex;align-items:center;min-height:50px;text-align:left}.input::placeholder{color:#7a7a7a}.input:focus-visible{outline:2px solid var(--red-text);outline-offset:1px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:54px;padding:0 24px;border:0;border-radius:999px;background:var(--red);color:#fff;font-size:16px;font-weight:600;text-decoration:none;box-shadow:0 6px 20px #c6282859;transition:background-color .12s,box-shadow .12s,border-color .12s}@media(hover:hover){.btn:not(:disabled):not(.loading):hover{background:#d32f2f;box-shadow:0 6px 20px #c6282880}}.btn:not(:disabled):active{background:#a61f1f;box-shadow:none;transform:translateY(1px)}.btn:disabled{background:#2b2b2b;color:var(--dim);box-shadow:none;cursor:not-allowed}.btn.loading{opacity:.85;pointer-events:none}.btn .spin{width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;animation:spin .8s linear infinite}a:focus-visible,button:focus-visible,.btn:focus-visible{outline:2px solid var(--text);outline-offset:2px}.btn.secondary,.btn.ghost{background:transparent;border:1px solid #3a3a3a;box-shadow:none;color:var(--text)}@media(hover:hover){.btn.secondary:not(:disabled):not(.loading):hover,.btn.ghost:not(:disabled):not(.loading):hover{background:var(--surface);border-color:#5a5a5a;box-shadow:none}}.btn.secondary:not(:disabled):active,.btn.ghost:not(:disabled):active{background:#262626;box-shadow:none}.btn.secondary:disabled,.btn.ghost:disabled{background:transparent;border-color:var(--border);color:#6a6a6a}.btn.compact{min-height:44px;padding:0 18px;font-size:14px}.pill{display:inline-block;padding:4px 10px;border-radius:999px;background:#262626;color:#e5e5e5;font-size:12px;font-weight:600;white-space:nowrap}.pill.red{background:var(--red-tint-bg);border:1px solid var(--red-tint-border);color:var(--red-tint-text)}.pill.dim{background:#141414;color:var(--dim)}.notice{display:flex;align-items:flex-start;gap:12px;padding:16px;border-radius:14px;background:var(--surface);border:1px solid var(--border);color:#c4c4c4;font-size:14px;line-height:1.45}.notice p{margin:0}.notice svg{flex:none;margin-top:1px}.error{margin:0;padding:12px 14px;border-radius:12px;background:var(--red-tint-bg);border:1px solid var(--red-tint-border);color:var(--red-tint-text);font-size:14px;line-height:1.4}.spinner{width:40px;height:40px;border-radius:50%;border:3px solid var(--border);border-top-color:var(--red-text);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.icon{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.visually-hidden{position:absolute;left:-9999px}
