:root{--accent: #1d6ae5;--accent-dark: #144ea8;--ink: #1c2430;--muted: #66707d;--bg: #f2f5f9;--panel: #ffffff;--line: #dde3ea;--danger: #c62f2f;--ok: #1f8a4c;--warn: #b97708;--radius: 10px;--shadow: 0 1px 3px rgba(20, 30, 45, .08), 0 4px 16px rgba(20, 30, 45, .06)}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--ink);font-size:15px;line-height:1.45}.card{max-width:420px;margin:12vh auto 0;background:var(--panel);border-radius:var(--radius);box-shadow:var(--shadow);padding:2rem;text-align:center;display:flex;flex-direction:column;gap:.9rem}.card-wide{max-width:640px;text-align:left}.brand{font-size:1.6rem;margin:0;letter-spacing:-.02em}.brand:before{content:"⛰ "}.shell{min-height:100vh;display:flex;flex-direction:column}.topbar{background:var(--panel);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:1rem;padding:.55rem 1.1rem;position:sticky;top:0;z-index:20}.topbar .brand{font-size:1.1rem}.topbar nav{display:flex;gap:.15rem;flex-wrap:wrap}.topbar nav a{color:var(--muted);text-decoration:none;padding:.35rem .6rem;border-radius:6px;font-weight:500}.topbar nav a:hover{background:var(--bg);color:var(--ink)}.topbar nav a[data-status=active]{color:var(--accent);background:#e8f0fd}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:.6rem}.content{width:min(1080px,100% - 2.2rem);margin:1.2rem auto 3rem;display:flex;flex-direction:column;gap:1rem}.page-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.page-header h1{margin:0;font-size:1.35rem}.page-actions{display:flex;gap:.5rem}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.1rem}.panel h2{margin:0 0 .6rem;font-size:1.02rem}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1rem}.owed-banner{background:linear-gradient(90deg,#b3261e,#d64541);color:#fff;border-radius:var(--radius);padding:.8rem 1.1rem;display:flex;flex-direction:column;gap:.5rem;box-shadow:var(--shadow)}.owed-banner strong{font-size:1.05rem}.owed-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;background:#ffffff1f;border-radius:8px;padding:.45rem .7rem;flex-wrap:wrap}.btn-venmo{background:#008cff;color:#fff;border:0;border-radius:8px;padding:.45rem .9rem;font-weight:700;cursor:pointer;text-decoration:none;display:inline-block}.btn-venmo:hover{background:#0074d4}.btn,.btn-primary,.btn-danger{border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:8px;padding:.45rem .9rem;font-weight:600;cursor:pointer;font-size:.92rem}.btn:hover{border-color:var(--accent);color:var(--accent)}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-dark)}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn-link{background:none;border:none;color:var(--accent);cursor:pointer;font-size:.92rem;padding:.2rem}button:disabled{opacity:.55;cursor:not-allowed}.field{display:flex;flex-direction:column;gap:.25rem;text-align:left}.field-label{font-weight:600;font-size:.85rem}.field-hint{color:var(--muted);font-size:.8rem}.input{border:1px solid var(--line);border-radius:8px;padding:.45rem .6rem;font:inherit;background:#fff;color:var(--ink)}.input:focus{outline:2px solid #bcd4f8;border-color:var(--accent)}.form-row{display:flex;gap:.75rem;flex-wrap:wrap}.form-row>.field{flex:1 1 140px}.form-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.8rem}.table{width:100%;border-collapse:collapse;font-size:.92rem}.table th{text-align:left;color:var(--muted);font-weight:600;padding:.4rem .55rem;border-bottom:1px solid var(--line)}.table td{padding:.5rem .55rem;border-bottom:1px solid var(--line);vertical-align:middle}.row-list{display:flex;flex-direction:column;gap:.5rem}.row-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;border:1px solid var(--line);border-radius:8px;padding:.55rem .75rem;flex-wrap:wrap}.chip{display:inline-block;border-radius:999px;padding:.12rem .6rem;font-size:.78rem;font-weight:700;background:var(--bg);color:var(--muted)}.chip-ok{background:#e3f4ea;color:var(--ok)}.chip-wait{background:#fdf3e1;color:var(--warn)}.chip-due{background:#fde8e8;color:var(--danger)}.chip-role{background:#e8f0fd;color:var(--accent)}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal-cell{border:1px solid var(--line);border-radius:8px;min-height:74px;padding:.3rem .4rem;background:#fff;cursor:pointer;font-size:.8rem;position:relative}.cal-cell:hover{border-color:var(--accent)}.cal-cell.cal-out{background:var(--bg);color:var(--muted);cursor:default}.cal-cell.cal-selected{outline:2px solid var(--accent)}.cal-daynum{font-weight:700}.cal-dots{position:absolute;bottom:.35rem;left:.4rem;right:.4rem;display:flex;gap:3px;align-items:center;flex-wrap:wrap}.cal-dot{width:8px;height:8px;border-radius:50%;background:var(--accent)}.cal-count{font-size:.72rem;color:var(--muted)}.board{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}.car-card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:.8rem;display:flex;flex-direction:column;gap:.5rem}.car-card.drop-target{outline:2px dashed var(--accent);cursor:pointer}.rider{display:flex;align-items:center;justify-content:space-between;background:var(--bg);border-radius:6px;padding:.3rem .55rem}.rider.selected{outline:2px solid var(--accent)}.modal-backdrop{position:fixed;inset:0;background:#0f162073;display:flex;align-items:flex-start;justify-content:center;padding:6vh 1rem;z-index:50;overflow-y:auto}.modal{background:var(--panel);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.1rem 1.3rem;width:min(480px,100%)}.modal-wide{width:min(680px,100%)}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.6rem}.modal-head h2{margin:0;font-size:1.1rem}.muted{color:var(--muted)}.error{color:var(--danger);font-weight:600}.money{font-variant-numeric:tabular-nums;font-weight:700}.empty{text-align:center;padding:2.2rem 1rem;color:var(--muted)}.empty-title{font-weight:700;color:var(--ink)}.loading{display:flex;flex-direction:column;align-items:center;gap:.6rem;padding:2rem}.spinner{width:26px;height:26px;margin:0 auto;border:3px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}pre{text-align:left;background:#10151d;color:#d7e3f4;border-radius:8px;padding:.8rem;overflow-x:auto;font-size:.8rem}.prose{max-width:720px}.prose h2{margin-top:1.4rem}.markdown p{margin:.4rem 0}a.btn,a.btn-primary{text-decoration:none;display:inline-block}.quick-actions{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.stack{display:flex;flex-direction:column;gap:.75rem}.charge-main{background:none;border:0;padding:0;font:inherit;color:inherit;text-align:left;display:flex;flex-direction:column;gap:.15rem;flex:1 1 200px;min-width:0;cursor:pointer}.charge-title{font-weight:600}.charge-meta{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;font-size:.84rem;color:var(--muted)}.charge-actions{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.charge-sub{flex-basis:100%;font-size:.84rem;margin-top:-.2rem}.method-rows{display:flex;flex-direction:column;gap:.5rem}.method-row{display:flex;align-items:center;gap:.6rem;border:1px solid var(--line);border-radius:8px;padding:.65rem .8rem;cursor:pointer;font-weight:600}.method-row.selected{border-color:var(--accent);background:#e8f0fd}.copy-row{display:flex;align-items:center;justify-content:space-between;gap:.6rem;background:var(--bg);border-radius:6px;padding:.4rem .6rem;font-size:.9rem}.copy-row code{word-break:break-all}.fact-row{display:flex;gap:.6rem}.fact-label{flex:0 0 90px;color:var(--muted);font-weight:600;font-size:.85rem}.section-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.row-link{text-decoration:none;color:inherit}.row-link:hover{border-color:var(--accent)}.profile-head{display:flex;align-items:center;gap:.8rem}.avatar{width:56px;height:56px;border-radius:50%;object-fit:cover;border:1px solid var(--line)}.avatar-fallback{display:flex;align-items:center;justify-content:center;background:var(--bg);font-weight:700;color:var(--muted);font-size:1.3rem}.chip-cell{display:flex;flex-wrap:wrap;gap:.3rem}.check-item{justify-content:flex-start;cursor:pointer}.check-item input{accent-color:var(--accent);width:1.05rem;height:1.05rem;flex-shrink:0}.check-done{text-decoration:line-through;color:var(--muted)}
