:root{--teal: #17706E;--teal-dark: #115452;--teal-tint: #e6f1f0;--bg: #f5f7f7;--card: #ffffff;--text: #2b2f31;--muted: #6b7275;--border: #e2e6e6;--danger: #c0392b;--good: #1e8a5a;--radius: 14px;--shadow: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased}body[data-theme=black]{--bg: #16181a;--card: #22262a;--text: #f0f2f3;--muted: #9aa1a6;--border: #33383d}body[data-theme=red]{--bg: #fbeceb}body[data-theme=blue]{--bg: #eaf1fb}body[data-theme=teal]{--bg: var(--teal-tint)}body[data-theme=white]{--bg: #ffffff}a{color:var(--teal);text-decoration:none}.app{max-width:560px;margin:0 auto;min-height:100%;padding-bottom:40px}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--teal);color:#fff}.topbar .brand{font-weight:700;font-size:18px;color:#fff;letter-spacing:.2px}.topbar .actions{display:flex;align-items:center;gap:6px}.iconbtn{position:relative;background:#ffffff24;color:#fff;border:none;border-radius:10px;padding:8px 10px;font-size:14px;cursor:pointer}.iconbtn:hover{background:#ffffff3d}.badge{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;background:#ff5a4d;color:#fff;border-radius:9px;font-size:11px;display:flex;align-items:center;justify-content:center;padding:0 5px;font-weight:700}.page{padding:16px}.page h1{font-size:22px;margin:4px 0 16px}.page h2{font-size:17px;margin:22px 0 10px}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px;margin-bottom:14px}.card h3{margin:0 0 6px;font-size:16px}.muted{color:var(--muted);font-size:14px}.row{display:flex;gap:8px;align-items:center}.spread{display:flex;justify-content:space-between;align-items:center;gap:8px}.wrap{flex-wrap:wrap}.stack>*+*{margin-top:10px}label{display:block;font-size:14px;font-weight:600;margin-bottom:6px}input,select,textarea{width:100%;padding:11px 12px;border:1px solid var(--border);border-radius:10px;font-size:16px;background:var(--card);color:var(--text)}input:focus,select:focus,textarea:focus{outline:2px solid var(--teal);border-color:var(--teal)}.field{margin-bottom:14px}button{font-family:inherit}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--teal);color:#fff;border:none;border-radius:10px;padding:11px 16px;font-size:15px;font-weight:600;cursor:pointer}.btn:hover{background:var(--teal-dark)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.block{width:100%}.btn.ghost{background:transparent;color:var(--teal);border:1px solid var(--teal)}.btn.ghost:hover{background:var(--teal-tint)}.btn.small{padding:7px 11px;font-size:13px}.btn.danger{background:var(--danger)}.btn.grey{background:#eceeee;color:var(--text)}.btn.grey:hover{background:#e0e3e3}.pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;background:var(--teal-tint);color:var(--teal-dark)}.pill.going{background:#e3f5ec;color:var(--good)}.pill.maybe{background:#fdf2dd;color:#a9781a}.pill.no{background:#fbe6e4;color:var(--danger)}.pill.pending{background:#eef0f1;color:var(--muted)}.segment{display:flex;gap:8px;flex-wrap:wrap}.segment button{flex:1;min-width:84px;padding:9px;border:1px solid var(--border);background:var(--card);color:var(--text);border-radius:10px;font-weight:600;cursor:pointer}.segment button.active{background:var(--teal);color:#fff;border-color:var(--teal)}.center{text-align:center}.notice{background:var(--teal-tint);color:var(--teal-dark);padding:10px 12px;border-radius:10px;font-size:14px}.error{background:#fbe6e4;color:var(--danger);padding:10px 12px;border-radius:10px;font-size:14px}.divider{height:1px;background:var(--border);margin:16px 0;border:0}.list-item{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--border)}.list-item:last-child{border-bottom:0}.auth-wrap{max-width:420px;margin:0 auto;padding:32px 16px}.auth-wrap .logo{text-align:center;margin-bottom:22px}.auth-wrap .logo .name{font-size:28px;font-weight:800;color:var(--teal)}.auth-wrap .logo .tag{color:var(--muted);font-size:14px}.spinner-wrap{display:flex;justify-content:center;padding:40px}.spinner{width:28px;height:28px;border:3px solid var(--teal-tint);border-top-color:var(--teal);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
