:root{--color-bg:#f7f7f5;--color-surface:#fff;--color-border:#e2e2df;--color-text:#1f2320;--color-text-muted:#6b6f6b;--color-primary:#2f5233;--color-primary-dark:#21391f;--color-danger:#b3261e;--color-danger-bg:#fdecea;--color-success:#2f5233;--color-success-bg:#eaf3ea;--radius:6px;--shadow:0 1px 3px #00000014;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}body{background:var(--color-bg);color:var(--color-text);margin:0}a{color:var(--color-primary)}.app-shell{flex-direction:column;min-height:100vh;display:flex}.page-container{width:100%;max-width:1080px;margin:0 auto;padding:24px 20px 64px}.page-title{margin-bottom:4px;font-size:1.5rem}.page-subtitle{color:var(--color-text-muted);margin-top:0;margin-bottom:24px}.navbar{background:var(--color-surface);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:12px 24px;display:flex}.navbar-brand{color:var(--color-text);font-size:1.1rem;font-weight:700;text-decoration:none}.navbar-links{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.navbar-links a,.navbar-links button{color:var(--color-text);font-size:.95rem;text-decoration:none}.navbar-badge{background:var(--color-primary);color:#fff;text-transform:capitalize;border-radius:999px;padding:2px 10px;font-size:.75rem}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.card+.card{margin-top:16px}.form{flex-direction:column;gap:14px;max-width:420px;display:flex}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{color:var(--color-text-muted);font-size:.85rem;font-weight:600}.form-group input,.form-group select{border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);padding:10px 12px;font-size:.95rem}.form-group input:focus,.form-group select:focus{outline:2px solid var(--color-primary);outline-offset:1px}.form-row{gap:12px;display:flex}.form-row .form-group{flex:1}.btn{border-radius:var(--radius);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:10px 16px;font-size:.95rem;font-weight:600;transition:background-color .15s;display:inline-flex}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-dark)}.btn-outline{border-color:var(--color-border);color:var(--color-text);background:0 0}.btn-outline:hover:not(:disabled){background:var(--color-bg)}.btn-danger{background:var(--color-danger-bg);color:var(--color-danger);border-color:#f3c8c5}.btn-danger:hover:not(:disabled){background:#f9d9d6}.btn-sm{padding:6px 10px;font-size:.85rem}.alert{border-radius:var(--radius);margin-bottom:14px;padding:12px 14px;font-size:.9rem}.alert-error{background:var(--color-danger-bg);color:var(--color-danger);border:1px solid #f3c8c5}.alert-success{background:var(--color-success-bg);color:var(--color-success);border:1px solid #c9dfc9}.table-wrapper{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{text-align:left;border-bottom:1px solid var(--color-border);white-space:nowrap;padding:10px 12px}th{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:.8rem;font-weight:600}tr:last-child td{border-bottom:none}.badge{text-transform:capitalize;border-radius:999px;padding:3px 10px;font-size:.78rem;font-weight:600;display:inline-block}.badge-confirmed{background:var(--color-success-bg);color:var(--color-success)}.badge-cancelled{background:var(--color-danger-bg);color:var(--color-danger)}.empty-state{color:var(--color-text-muted);text-align:center;padding:40px 0}.section-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.auth-wrapper{justify-content:center;align-items:center;min-height:calc(100vh - 60px);padding:20px;display:flex}.auth-card{width:100%;max-width:400px}.auth-switch{color:var(--color-text-muted);margin-top:16px;font-size:.9rem}.filter-bar{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:20px;display:flex}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-bottom:24px;display:grid}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:16px}.stat-card .stat-value{font-size:1.6rem;font-weight:700}.stat-card .stat-label{color:var(--color-text-muted);font-size:.85rem}.not-found{text-align:center;padding:80px 20px}
