:root{--navy:#0e1b26;--navy-2:#152938;--teal:#14b8a6;--teal-d:#0d9488;--ink:#12212b;--muted:#5b7180;--line:#e2e9ec;--bg:#f4f7f8;--panel:#fff;--good:#0f8a6d;--good-bg:#dcf3ea;--warn:#b7791f;--warn-bg:#faf0da;--bad:#c2384a;--bad-bg:#fbe4e6;--radius:10px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.45}button{cursor:pointer;font-family:inherit}input,select,textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:8px;padding:.5rem .6rem;font-family:inherit;font-size:.9rem}input[type=checkbox]{width:auto}label{color:var(--muted);margin:.6rem 0 .25rem;font-size:.78rem;font-weight:600;display:block}code{font-family:ui-monospace,Menlo,monospace;font-size:.85em}a{color:var(--teal-d)}.btn{background:var(--teal);color:#fff;border:none;border-radius:8px;align-items:center;gap:.4rem;padding:.5rem .9rem;font-size:.85rem;font-weight:600;display:inline-flex}.btn:hover{background:var(--teal-d)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.ghost{color:var(--ink);border:1px solid var(--line);background:#fff}.btn.ghost:hover{background:#f1f5f6}.btn.danger{background:var(--bad-bg);color:var(--bad)}.btn.sm{padding:.3rem .55rem;font-size:.78rem}.login{background:radial-gradient(1200px 600px at 50% -10%,#17303f,var(--navy));place-items:center;min-height:100vh;display:grid}.login-card{background:#fff;border-radius:14px;width:340px;padding:2rem;box-shadow:0 20px 60px #00000059}.login-card h1{margin:.2rem 0 .1rem;font-size:1.15rem}.login-card p{color:var(--muted);margin:0 0 1rem;font-size:.85rem}.brand-dot{background:var(--teal);border-radius:3px;width:10px;height:10px;margin-right:.4rem;display:inline-block}.shell{grid-template-columns:220px 1fr;min-height:100vh;display:grid}aside{background:var(--navy);color:#cdd8de;flex-direction:column;gap:.2rem;padding:1.1rem .8rem;display:flex}aside .logo{color:#fff;letter-spacing:-.02em;padding:.4rem .6rem 1rem;font-size:1.05rem;font-weight:800}aside nav button{text-align:left;color:#a9bcc7;background:0 0;border:none;border-radius:8px;width:100%;padding:.55rem .6rem;font-size:.9rem;font-weight:600;display:block}aside nav button:hover{background:var(--navy-2);color:#fff}aside nav button.active{background:var(--teal);color:#fff}aside .spacer{flex:1}aside .who{color:#8aa0ad;border-top:1px solid #23394a;margin-top:.5rem;padding:.4rem .6rem;font-size:.78rem}main{padding:1.6rem 2rem;overflow:auto}.head{justify-content:space-between;align-items:center;margin-bottom:1.2rem;display:flex}.head h2{letter-spacing:-.02em;margin:0;font-size:1.3rem}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:1rem;padding:1.1rem 1.2rem}.grid2{grid-template-columns:1fr 1fr;gap:.8rem;display:grid}.row{flex-wrap:wrap;align-items:center;gap:.8rem;display:flex}table{border-collapse:collapse;width:100%;font-size:.88rem}th,td{text-align:left;border-bottom:1px solid var(--line);padding:.55rem .5rem}th{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:.72rem}.pill{border-radius:999px;padding:.15rem .5rem;font-size:.72rem;font-weight:700;display:inline-block}.pill.confirmed,.pill.paid{background:var(--good-bg);color:var(--good)}.pill.pending_payment{background:var(--warn-bg);color:var(--warn)}.pill.canceled{background:var(--bad-bg);color:var(--bad)}.thumbs{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.thumb{border:1px solid var(--line);border-radius:8px;width:80px;height:60px;position:relative;overflow:hidden}.thumb img{object-fit:cover;width:100%;height:100%}.thumb button{color:#fff;background:#0009;border:none;border-radius:6px;width:20px;height:20px;font-size:.8rem;line-height:1;position:absolute;top:2px;right:2px}.muted{color:var(--muted);font-size:.85rem}.toast{background:var(--navy);color:#fff;z-index:20;border-radius:10px;max-width:340px;padding:.7rem 1rem;font-size:.85rem;position:fixed;bottom:1.2rem;right:1.2rem;box-shadow:0 10px 30px #0000004d}.toast.err{background:var(--bad)}.av-row{grid-template-columns:1.2fr 1fr 1fr auto;align-items:center;gap:.5rem;margin-bottom:.5rem;display:grid}@media (max-width:720px){.shell,.grid2{grid-template-columns:1fr}}
