:root{color-scheme:dark;--bg: #020617;--bg-elevated: #020617;--surface: #020617;--surface-soft: #030712;--accent: #3b82f6;--accent-soft: rgba(59, 130, 246, .12);--text: #e5e7eb;--muted: #9ca3af;--danger: #ef4444;--success: #22c55e;--border: rgba(148, 163, 184, .3);--radius-lg: 18px;--radius-md: 10px}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif;background:radial-gradient(circle at top,#020617 0,#020617 45%,#000);color:var(--text)}.app-root{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px}.login-root{width:100%;max-width:420px}.login-card{background:var(--surface-soft);border-radius:var(--radius-lg);padding:28px 24px 24px;box-shadow:0 22px 40px #0f172acc;border:1px solid rgba(31,41,55,.9)}.login-card h1{margin:0 0 4px;font-size:1.8rem;letter-spacing:.03em}.login-subtitle{margin:0 0 20px;color:var(--muted);font-size:.9rem}.login-form{display:flex;flex-direction:column;gap:14px}.login-form label{display:flex;flex-direction:column;gap:6px;font-size:.9rem}input{border-radius:999px;border:1px solid var(--border);padding:10px 14px;background:#0f172ae6;color:var(--text);outline:none;font-size:.9rem}input:focus{border-color:var(--accent);box-shadow:0 0 0 1px #38bdf899}button{border-radius:999px;border:none;padding:8px 16px;background:var(--accent);color:#020617;font-weight:600;cursor:pointer;margin-top:4px;font-size:.95rem;transition:background .1s ease-out,transform .06s ease-out,box-shadow .06s ease-out;box-shadow:0 8px 18px #0f172acc}button:hover{transform:translateY(-1px);filter:brightness(1.05)}button:active{transform:translateY(0);box-shadow:0 10px 24px #0f172ae6}button:disabled{opacity:.6;cursor:default;box-shadow:none}.error{color:var(--danger);font-size:.85rem}.dashboard-root{width:100%;max-width:1200px;min-height:80vh;border-radius:24px;padding:16px;background:var(--surface);border:1px solid rgba(31,41,55,.9);box-shadow:0 28px 60px #0f172af2;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.brand{font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.9rem;color:var(--accent)}.user-info{display:flex;align-items:center;gap:10px;font-size:.9rem}.user-info button{margin-top:0;padding-inline:12px;box-shadow:none}.dashboard-main{display:flex;flex-direction:column;gap:16px;flex:1}.balance-card{border-radius:18px;padding:16px 18px;background:#020617;border:1px solid rgba(55,65,81,.9);display:flex;flex-direction:column;gap:4px}.balance-card h2{margin:0;font-size:.9rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.balance-amount{font-size:2.1rem;font-weight:700;color:var(--accent)}.balance-meta{font-size:.8rem;color:var(--muted)}.bookings-panel{flex:1;border-radius:18px;padding:14px;border:1px solid rgba(31,41,55,.9);background:#020617;display:flex;flex-direction:column;gap:10px}.bookings-toolbar{display:flex;justify-content:space-between;align-items:center;gap:8px}.bookings-toolbar .filters{display:flex;gap:8px}.bookings-toolbar select{border-radius:999px;border:1px solid var(--border);background:#0f172ae6;color:var(--text);padding:6px 10px;font-size:.85rem}.bookings-toolbar input{max-width:220px}.bookings-layout{display:flex;flex-direction:column;gap:10px}.create-booking{margin-top:8px;padding:8px;border-radius:12px;background:#020617;border:1px solid rgba(55,65,81,.9);display:flex;flex-direction:column;gap:6px}.create-booking .create-row{display:flex;flex-wrap:wrap;gap:6px}.create-booking input,.create-booking select{flex:1;min-width:120px}.bookings-list{max-height:280px;overflow-y:auto;overflow-x:auto}.bookings-list table{width:100%;border-collapse:collapse;font-size:.85rem}.bookings-list th,.bookings-list td{padding:6px 8px;border-bottom:1px solid rgba(30,64,175,.6)}.bookings-list tbody tr{cursor:pointer}.bookings-list tbody tr:hover{background:#1f2937e6}.bookings-list tbody tr.selected{background:#1e40af99}.cat-color-dot{display:inline-block;width:10px;height:10px;border-radius:999px;margin-right:6px;border:1px solid rgba(15,23,42,.6);vertical-align:middle}.amount{font-variant-numeric:tabular-nums}.amount.income{color:var(--success)}.amount.expense{color:var(--danger)}.badge{border-radius:999px;padding:2px 8px;font-size:.7rem}.badge-draft{background:#94a3b83d;color:var(--muted)}.badge-pending{background:#facc1533;color:#eab308}.badge-approved{background:#16a34a33;color:#4ade80}.badge-rejected{background:#ef444433;color:#f87171}.empty{text-align:center;color:var(--muted)}.booking-detail{border-radius:14px;padding:10px;background:#020617;border:1px solid rgba(55,65,81,.9);min-height:120px;font-size:.85rem}.booking-detail-empty{color:var(--muted)}.files-section{margin-top:10px}.files-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.upload-button{font-size:.8rem;cursor:pointer;color:var(--accent)}.files-list{list-style:none;padding:0;margin:0}.files-list li{margin-bottom:4px}.files-list a{color:var(--accent);text-decoration:none}.files-list a:hover{text-decoration:underline}.approval-panel{margin-top:10px;border-top:1px solid rgba(30,64,175,.7);padding-top:8px}.approval-panel textarea{width:100%;min-height:60px;border-radius:12px;border:1px solid var(--border);background:#0f172ae6;color:var(--text);padding:8px;font-size:.8rem;resize:vertical}.approval-actions{display:flex;gap:8px;margin-top:6px}.users-panel{flex:1;border-radius:18px;padding:14px;border:1px solid rgba(31,41,55,.9);background:#020617;display:flex;flex-direction:column;gap:10px}.users-create{display:flex;flex-wrap:wrap;gap:8px}.users-create input,.users-create select{min-width:140px}.users-list{margin-top:8px;max-height:320px;overflow:auto}.users-list table{width:100%;border-collapse:collapse;font-size:.85rem}.users-list th,.users-list td{padding:6px 8px;border-bottom:1px solid rgba(30,64,175,.6)}.users-edit{margin-top:10px}.users-active{display:flex;align-items:center;gap:4px;font-size:.85rem}.muted{color:var(--muted);font-size:.85rem}@media (max-width: 640px){.app-root{padding:0}.dashboard-root{border-radius:0;max-width:100%;min-height:100vh;padding:12px;box-shadow:none}.topbar{flex-direction:column;align-items:flex-start;gap:6px}.user-info{width:100%;justify-content:space-between}.dashboard-main{gap:12px}.balance-card{padding:12px 14px}.bookings-panel,.users-panel{padding:10px}.bookings-list table,.users-list table{font-size:.8rem}.bookings-toolbar{flex-direction:column;align-items:stretch}.bookings-toolbar .filters{width:100%}.bookings-toolbar input{max-width:none;flex:1}.bookings-list{max-height:240px}.booking-detail{margin-top:6px}}@media (min-width: 768px){.app-root{padding:32px}.dashboard-main{flex-direction:row}.balance-card{flex:0 0 320px}}
