:root{--color-bg:#0f1d34;--color-surface:#1b2e4b;--color-surface-raised:#293e5b;--color-border:#3d506c;--color-border-strong:#8191a7;--color-border-subtle:#26374f;--color-text:#e8edf4;--color-text-muted:#afbaca;--color-accent:#43add0;--color-accent-hover:#74c2dc;--color-on-accent:#0f1d34;--color-accent-subtle:#43add024;--color-accent-ring:#43add059;--color-accent-shadow:#43add040;--color-blue:#309cc0;--color-blue-subtle:#309cc024;--color-success:#6fcb9b;--color-success-bg:#6fcb9b1f;--color-success-border:#6fcb9b59;--color-warning:#e8b75c;--color-warning-bg:#e8b75c1f;--color-warning-border:#e8b75c59;--color-danger:#f0958b;--color-danger-bg:#f0958b1f;--color-danger-border:#f0958b59;--color-danger-muted:#f6bdb6;--color-link:#74c2dc;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--shadow-sm:0 1px 3px #0000004d, 0 1px 2px #0003;--shadow-md:0 8px 32px #0006;--shadow-glow:0 0 20px #43add01f;--sidebar-width:16rem;--font-sans:"IBM Plex Sans Arabic", system-ui, -apple-system, sans-serif;--font-display:"Archivo", var(--font-sans);--space-page:clamp(1.25rem, 3vw, 2rem);font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);line-height:1.5}*{box-sizing:border-box}body{min-height:100vh;margin:0}a{color:var(--color-link);text-decoration:none}a:hover{color:var(--color-accent-hover)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}button:focus:not(:focus-visible),a:focus:not(:focus-visible){outline:none}button,input,select,textarea{font:inherit}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.015em}table,.tabular{font-variant-numeric:tabular-nums}.shell{flex-direction:column;min-height:100vh;display:flex}.shell--authed{flex-direction:row;align-items:stretch}.shell--guest .main-area{padding:var(--space-page);background:radial-gradient(at 30% 20%,#43add012 0%,#0000 60%),radial-gradient(at 70% 80%,#309cc00d 0%,#0000 60%);flex-direction:column;flex:1;justify-content:center;display:flex}.sidebar-backdrop{z-index:35;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:pointer;background:#0009;border:none;padding:0;display:none;position:fixed;inset:0}.sidebar-backdrop.is-visible{display:block}.sidebar{width:var(--sidebar-width);background:var(--color-surface);border-right:1px solid var(--color-border);z-index:40;flex-direction:column;flex-shrink:0;min-height:100vh;display:flex}.sidebar-brand{letter-spacing:-.02em;color:var(--color-text);border-bottom:1px solid var(--color-border-subtle);flex-direction:column;gap:.15rem;padding:1.5rem 1.25rem 1.25rem;font-size:1rem;font-weight:700;display:flex}.sidebar-logo{object-fit:contain;filter:brightness(0)invert();width:auto;height:2.5rem}.sidebar-brand span{color:var(--color-accent);text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;font-weight:500}.sidebar-nav{flex-direction:column;flex:1;gap:.25rem;padding:1rem .75rem;display:flex}.sidebar-nav a{border-radius:var(--radius-sm);color:var(--color-text-muted);align-items:center;gap:.75rem;padding:.6rem .85rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .15s;display:flex}.sidebar-nav a:hover{background:var(--color-surface-raised);color:var(--color-text)}.sidebar-nav a[aria-current=page]{background:var(--color-accent-subtle);color:var(--color-accent-hover);box-shadow:inset 3px 0 0 var(--color-accent)}.sidebar-nav a svg{opacity:.7;flex-shrink:0;width:1.15rem;height:1.15rem}.sidebar-nav a[aria-current=page] svg{opacity:1}.sidebar-footer{border-top:1px solid var(--color-border-subtle);padding:1rem 1rem 1.25rem}.sidebar-footer .btn-logout{justify-content:center;gap:.5rem;width:100%}.sidebar-footer .btn-logout svg{flex-shrink:0;width:1.05rem;height:1.05rem}.menu-toggle{z-index:50;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);width:2.5rem;height:2.5rem;color:var(--color-text);cursor:pointer;box-shadow:var(--shadow-sm);justify-content:center;align-items:center;display:none;position:fixed;top:.85rem;left:.85rem}.menu-toggle svg{width:1.25rem;height:1.25rem}.main-area{flex-direction:column;flex:1;min-width:0;display:flex}.main-area-inner{padding:var(--space-page);padding-top:calc(var(--space-page) + .25rem);width:100%;max-width:1200px;margin:0 auto}.shell--authed .main-area-inner{padding-top:var(--space-page)}@media (width<=768px){.shell--authed{flex-direction:column}.menu-toggle{display:flex}.sidebar{box-shadow:var(--shadow-md);transition:transform .25s cubic-bezier(.4,0,.2,1);position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar.is-open{transform:translate(0)}.shell--authed .main-area-inner{padding-top:4rem}}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.75rem;display:flex}.page-header h1{letter-spacing:-.025em;margin:0;font-size:clamp(1.35rem,2.5vw,1.6rem);font-weight:700}.page-header-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.page-header-desc{width:100%;color:var(--color-text-muted);margin:.35rem 0 0;font-size:.9rem}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.75rem;display:flex}.page-head h1{letter-spacing:-.025em;margin:0;font-size:clamp(1.35rem,2.5vw,1.6rem);font-weight:700}.alert{border-radius:var(--radius-md);margin-bottom:1rem;padding:.75rem 1rem;font-size:.9rem}.alert-error{background:var(--color-danger-bg);border:1px solid var(--color-danger-border);color:var(--color-danger-muted)}.alert-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.muted{color:var(--color-text-muted)}.small{font-size:.85rem}.error{color:var(--color-danger-muted)}.loading-block{color:var(--color-text-muted);flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:3rem 1.5rem;font-size:.9rem;display:flex}.spinner{border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;width:2rem;height:2rem;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.skeleton-table{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);overflow:hidden}.skeleton-row{border-bottom:1px solid var(--color-border-subtle);gap:1rem;padding:.85rem 1rem;display:flex}.skeleton-row:last-child{border-bottom:none}.skeleton-cell{background:linear-gradient(90deg, var(--color-surface-raised) 0%, var(--color-border-subtle) 50%, var(--color-surface-raised) 100%);background-size:200% 100%;border-radius:4px;flex:1;height:.85rem;animation:1.2s ease-in-out infinite shimmer}.skeleton-cell.short{flex:0 0 4rem}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.empty-state{text-align:center;border:1px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);padding:3rem 1.5rem}.empty-state p{color:var(--color-text-muted);max-width:28rem;margin:0 auto 1rem}.table-wrap{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm);overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.875rem}th,td{text-align:left;border-bottom:1px solid var(--color-border-subtle);vertical-align:middle;padding:.55rem .8rem}.table-wrap th:last-child,.table-wrap td:last-child{background:var(--color-surface);position:sticky;right:0;box-shadow:-10px 0 12px -10px #0009}.table-wrap th:last-child{background:var(--color-surface-raised);z-index:2}.table-wrap tbody tr:hover td:last-child{background:var(--color-surface-raised)}.cell-stack:not(.money-cell)>.pill{align-self:flex-start}th.num,td.num{text-align:right;font-variant-numeric:tabular-nums}.cell-stack{flex-direction:column;gap:.1rem;min-width:0;display:flex}.cell-stack .sub{color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;overflow:hidden}.cell-nowrap{white-space:nowrap}.route{white-space:nowrap;align-items:center;gap:.4rem;display:inline-flex}.route svg{width:.85rem;height:.85rem;color:var(--color-accent);flex:none}.mono{letter-spacing:.02em;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.8rem}tbody tr:last-child td{border-bottom:none}tbody tr{transition:background .12s}tbody tr:hover{background:var(--color-accent-subtle)}th{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;background:var(--color-surface-raised);white-space:nowrap;z-index:1;font-size:.72rem;font-weight:600;position:sticky;top:0}.actions{white-space:nowrap;justify-content:flex-end;align-items:center;gap:.3rem;display:flex}.btn{border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface-raised);color:var(--color-text);cursor:pointer;justify-content:center;align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .15s;display:inline-flex}.btn:hover{background:var(--color-surface-raised);border-color:var(--color-border-strong)}.btn.primary{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent);box-shadow:0 1px 3px var(--color-accent-shadow)}.btn.primary:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover);box-shadow:0 2px 8px var(--color-accent-ring)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.small{padding:.3rem .7rem;font-size:.8rem;font-weight:600}.btn.quiet{border-color:var(--color-border);color:var(--color-text-muted);box-shadow:none;background:0 0}.btn.quiet:hover:not(:disabled){color:var(--color-text);border-color:var(--color-border-strong);background:var(--color-surface-raised)}.btn.quiet.destructive:hover:not(:disabled){color:var(--color-danger);border-color:var(--color-danger-border);background:var(--color-danger-bg)}.btn.danger{background:var(--color-danger-bg);border-color:var(--color-danger-border);color:var(--color-danger-muted)}.btn.danger:hover{background:#f871712e}.btn-ghost{color:var(--color-link);cursor:pointer;font-size:inherit;background:0 0;border:none;padding:.35rem .5rem;font-weight:500}.btn-ghost:hover{color:var(--color-accent-hover);text-decoration:underline}button.ghost{color:var(--color-link);cursor:pointer;background:0 0;border:none;padding:.25rem .5rem}button{border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface-raised);color:var(--color-text);cursor:pointer;padding:.45rem .75rem;font-size:.85rem;transition:all .12s}button:hover{border-color:var(--color-accent-ring);background:var(--color-surface-raised)}button:disabled{opacity:.45;cursor:not-allowed}.pill{white-space:nowrap;letter-spacing:.02em;background:var(--color-surface-raised);color:var(--color-text-muted);border-radius:999px;align-items:center;gap:.35rem;padding:.2rem .65rem;font-size:.72rem;font-weight:600;display:inline-flex}.pill:before{content:"";background:currentColor;border-radius:50%;width:.4rem;height:.4rem;display:inline-block}.pill.published,.pill.confirmed{background:var(--color-success-bg);border:1px solid var(--color-success-border);color:var(--color-success)}.pill.pending{background:var(--color-warning-bg);border:1px solid var(--color-warning-border);color:var(--color-warning)}.pill.cancelled{background:var(--color-danger-bg);border:1px solid var(--color-danger-border);color:var(--color-danger)}.pill.draft{background:var(--color-surface-raised);border:1px solid var(--color-border);color:var(--color-text-muted)}.stack-form{flex-direction:column;gap:1.1rem;max-width:min(560px,100%);display:flex;overflow:visible}.stack-form label{color:var(--color-text-muted);flex-direction:column;gap:.45rem;font-size:.875rem;font-weight:500;display:flex}.stack-form input,.stack-form select,.stack-form textarea{border-radius:var(--radius-sm);border:1px solid var(--color-border-strong);background:var(--color-bg);color:var(--color-text);padding:.6rem .85rem;transition:border-color .15s,box-shadow .15s}.stack-form input:focus,.stack-form select:focus,.stack-form textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-ring);outline:none}.auth-wrap{width:100%;max-width:420px;margin:0 auto}.auth-card{border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-md), var(--shadow-glow);padding:2.25rem}.auth-brand{text-align:center;flex-direction:column;align-items:center;gap:.75rem;margin-bottom:1.75rem;display:flex}.auth-brand h1{letter-spacing:-.02em;margin:0;font-size:1.4rem}.auth-brand p{color:var(--color-text-muted);margin:0;font-size:.875rem}.auth-brand-img{object-fit:contain;filter:brightness(0)invert();width:auto;height:3.5rem}.auth-card h1{margin:0;font-size:1.35rem}.auth-card form{flex-direction:column;gap:1rem;display:flex}.auth-card label{color:var(--color-text-muted);flex-direction:column;gap:.45rem;font-size:.875rem;font-weight:500;display:flex}.auth-card input{border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);padding:.65rem .85rem;transition:border-color .15s,box-shadow .15s}.auth-card input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-ring);outline:none}.auth-card button[type=submit]{border-radius:var(--radius-sm);background:var(--color-accent);color:var(--color-on-accent);cursor:pointer;box-shadow:0 1px 3px var(--color-accent-shadow);border:none;margin-top:.5rem;padding:.7rem;font-size:.95rem;font-weight:600;transition:all .15s}.auth-card button[type=submit]:hover:not(:disabled){background:var(--color-accent-hover);box-shadow:0 2px 8px var(--color-accent-ring)}.confirm-dialog{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);max-width:min(400px,100vw - 2rem);color:var(--color-text);box-shadow:var(--shadow-md);padding:0}.confirm-dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009}.confirm-dialog-body{padding:1.5rem 1.5rem 0}.confirm-dialog-body h2{margin:0 0 .5rem;font-size:1.1rem}.confirm-dialog-body p{color:var(--color-text-muted);margin:0;font-size:.9rem;line-height:1.5}.confirm-dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;padding:1.25rem 1.5rem 1.5rem;display:flex}.dashboard-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;display:grid}.stat-card{border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);color:inherit;flex-direction:column;padding:1.35rem;text-decoration:none;transition:all .2s;display:flex;position:relative;overflow:hidden}.stat-card:before{content:"";background:var(--color-accent);opacity:0;height:3px;transition:opacity .2s;position:absolute;top:0;left:0;right:0}.stat-card:hover{border-color:var(--color-accent-ring);background:var(--color-surface-raised);box-shadow:var(--shadow-glow);transform:translateY(-1px)}.stat-card:hover:before{opacity:1}.stat-card-icon{border-radius:var(--radius-sm);background:var(--color-accent-subtle);width:2.5rem;height:2.5rem;color:var(--color-accent);justify-content:center;align-items:center;margin-bottom:.85rem;display:flex}.stat-card-icon svg{width:1.25rem;height:1.25rem}.stat-card-icon.blue{background:var(--color-blue-subtle);color:var(--color-blue)}.stat-card-icon.success{background:var(--color-success-bg);color:var(--color-success)}.stat-card-icon.warning{background:var(--color-warning-bg);color:var(--color-warning)}.stat-card-label{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:.35rem;font-size:.78rem;font-weight:600}.stat-card-value{letter-spacing:-.03em;font-size:2.25rem;font-weight:700;line-height:1.1}.stat-card-link{color:var(--color-link);margin-top:.85rem;font-size:.85rem;font-weight:600}.stat-card:hover .stat-card-link{color:var(--color-accent-hover)}.datetime-picker{color:var(--color-text-muted);flex-direction:column;gap:.45rem;font-size:.875rem;font-weight:500;display:flex}.datetime-picker-label{color:var(--color-text-muted)}.datetime-picker-required{color:var(--color-danger-muted)}.datetime-picker-control{position:relative;overflow:visible}.datetime-picker-trigger{border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg);width:100%;color:var(--color-text);cursor:pointer;text-align:left;justify-content:space-between;align-items:center;gap:.5rem;padding:.6rem .85rem;transition:border-color .15s,box-shadow .15s;display:flex}.datetime-picker-trigger:hover{border-color:#3a4a62}.datetime-picker-value{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.datetime-picker-placeholder{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--color-text-muted);flex:1;font-weight:400;overflow:hidden}.datetime-picker-chevron{opacity:.7;flex-shrink:0;font-size:.65rem}.datetime-picker-popover{box-sizing:border-box;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-md);max-width:calc(100vw - 1rem);padding:.85rem}.datetime-picker-month{justify-content:space-between;align-items:center;gap:.35rem;margin-bottom:.5rem;display:flex}.datetime-picker-month-label{text-align:center;text-transform:capitalize;color:var(--color-text);flex:1;font-size:.85rem;font-weight:600}.datetime-picker-nav{border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface-raised);width:2rem;height:2rem;color:var(--color-text);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;font-size:1.1rem;line-height:1;display:flex}.datetime-picker-nav:hover{background:var(--color-surface-raised);border-color:var(--color-border-strong)}.datetime-picker-weekdays{grid-template-columns:repeat(7,minmax(0,1fr));gap:.15rem;margin-bottom:.25rem;display:grid}.datetime-picker-wd{text-align:center;text-transform:lowercase;color:var(--color-text-muted);font-size:.65rem;font-weight:600}.datetime-picker-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.2rem;margin-bottom:.65rem;display:grid}.datetime-picker-cell{aspect-ratio:1;border-radius:var(--radius-sm);justify-content:center;align-items:center;font-size:.8rem;display:flex}.datetime-picker-cell.empty{pointer-events:none}.datetime-picker-cell.day{color:var(--color-text);cursor:pointer;background:0 0;border:1px solid #0000;padding:0}.datetime-picker-cell.day:hover{background:var(--color-surface-raised);border-color:var(--color-border)}.datetime-picker-cell.day.today:not(.selected){box-shadow:inset 0 0 0 1px var(--color-accent)}.datetime-picker-cell.day.selected{background:var(--color-accent);border-color:var(--color-accent);color:#fff;font-weight:600}.datetime-picker-time{border-top:1px solid var(--color-border-subtle);flex-wrap:wrap;align-items:center;gap:.35rem;padding-top:.5rem;display:flex}.datetime-picker-time-label{text-transform:uppercase;letter-spacing:.04em;width:100%;color:var(--color-text-muted);font-size:.72rem;font-weight:600}.datetime-picker-select{border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg);min-width:0;color:var(--color-text);flex:1;padding:.4rem .35rem;font-size:.8rem}.toolbar{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.toolbar-spacer{flex:auto}.toolbar-count{color:var(--color-text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.82rem}.segmented{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);gap:.15rem;padding:.2rem;display:inline-flex}.segmented button{border-radius:calc(var(--radius-sm) - 2px);color:var(--color-text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;align-items:center;gap:.4rem;padding:.35rem .7rem;font-size:.82rem;font-weight:600;transition:background .12s,color .12s;display:inline-flex}.segmented button:hover{color:var(--color-text);background:var(--color-surface-raised)}.segmented button[aria-pressed=true]{background:var(--color-accent);color:var(--color-on-accent)}.segmented .tally{font-variant-numeric:tabular-nums;background:#00000038;border-radius:999px;padding:.05rem .35rem;font-size:.75rem}.segmented button[aria-pressed=true] .tally{background:#00000029}.search-field{align-items:center;min-width:15rem;display:inline-flex;position:relative}.search-field svg{width:1rem;height:1rem;color:var(--color-text-muted);pointer-events:none;position:absolute;left:.65rem}.search-field input{border-radius:var(--radius-sm);border:1px solid var(--color-border-strong);background:var(--color-bg);width:100%;color:var(--color-text);padding:.45rem .7rem .45rem 2.1rem;font-size:.85rem}.search-field input::placeholder{color:var(--color-text-muted)}.search-field input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-ring);outline:none}.icon-btn{border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface-raised);width:2rem;height:2rem;color:var(--color-text);cursor:pointer;justify-content:center;align-items:center;padding:0;transition:color .12s,border-color .12s,background .12s;display:inline-flex}.icon-btn svg{width:1.05rem;height:1.05rem}.icon-btn:hover:not(:disabled){color:var(--color-accent);border-color:var(--color-accent)}.icon-btn:disabled{opacity:.4;cursor:not-allowed}.occupancy{align-items:center;gap:.55rem;min-width:8.5rem;max-width:11rem;display:flex}.occupancy-bar{background:var(--color-surface-raised);border-radius:999px;flex:auto;min-width:3.5rem;height:.35rem;position:relative;overflow:hidden}.occupancy-fill{inset-block:0;background:var(--color-accent);border-radius:999px;position:absolute;left:0}.occupancy-fill.is-high{background:var(--color-success)}.occupancy-fill.is-full{background:var(--color-warning)}.occupancy-text{font-variant-numeric:tabular-nums;color:var(--color-text-muted);white-space:nowrap;font-size:.8rem}.occupancy-text b{color:var(--color-text);font-weight:600}.topline{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.08em;flex-wrap:wrap;align-items:baseline;gap:.6rem;margin-bottom:.35rem;font-size:.8rem;display:flex}.action-banner{border-radius:var(--radius-md);border:1px solid var(--color-warning-border);background:var(--color-warning-bg);flex-wrap:wrap;align-items:center;gap:.85rem;margin-bottom:1.25rem;padding:.9rem 1.1rem;display:flex}.action-banner svg{width:1.15rem;height:1.15rem;color:var(--color-warning);flex:none}.action-banner p{color:var(--color-text);flex:16rem;margin:0;font-size:.92rem}.action-banner p b{font-weight:700}.action-banner.is-clear{border-color:var(--color-success-border);background:var(--color-success-bg)}.action-banner.is-clear svg{color:var(--color-success)}.kpi-row{background:var(--color-border);border:1px solid var(--color-border);border-radius:var(--radius-md);grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:1px;margin-bottom:1.25rem;display:grid;overflow:hidden}.kpi{background:var(--color-surface);flex-direction:column;gap:.3rem;padding:.95rem 1.1rem;display:flex}.kpi-label{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);align-items:center;gap:.4rem;font-size:.72rem;display:flex}.kpi-label svg{width:.85rem;height:.85rem}.kpi-value{font-family:var(--font-display);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:700;line-height:1.1}.kpi-value .unit{color:var(--color-text-muted);letter-spacing:0;font-size:.85rem;font-weight:500}.kpi-sub{color:var(--color-text-muted);font-variant-numeric:tabular-nums;font-size:.76rem}.console-grid{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);align-items:start;gap:1.25rem;display:grid}@media (width<=62rem){.console-grid{grid-template-columns:minmax(0,1fr)}}.panel{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);overflow:hidden}.panel-head{border-bottom:1px solid var(--color-border-subtle);justify-content:space-between;align-items:baseline;gap:.75rem;padding:.85rem 1.1rem;display:flex}.panel-head h2{letter-spacing:-.01em;margin:0;font-size:.95rem;font-weight:600}.panel-head a{white-space:nowrap;font-size:.8rem}.panel-empty{text-align:center;color:var(--color-text-muted);padding:1.6rem 1.1rem;font-size:.88rem}.departure{border-bottom:1px solid var(--color-border-subtle);color:inherit;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.4rem 1rem;padding:.8rem 1.1rem;text-decoration:none;transition:background .12s;display:grid}.departure:last-child{border-bottom:none}.departure:hover{background:var(--color-accent-subtle);color:inherit}.departure-time{font-family:var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:-.01em;min-width:3.2rem;font-size:1.05rem;font-weight:700}.departure-main{flex-direction:column;gap:.35rem;min-width:0;display:flex}.departure-main .occupancy{max-width:15rem}.departure-route{font-size:.9rem;font-weight:600}.departure-side{flex-direction:column;align-items:flex-end;gap:.3rem;display:flex}.departure-price{color:var(--color-text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.8rem}.feed-item{border-bottom:1px solid var(--color-border-subtle);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.5rem .9rem;padding:.7rem 1.1rem;display:grid}.feed-item:last-child{border-bottom:none}.feed-text{flex-direction:column;gap:.15rem;min-width:0;display:flex}.feed-name{white-space:nowrap;text-overflow:ellipsis;font-size:.87rem;font-weight:600;overflow:hidden}.feed-meta{color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;overflow:hidden}.sidebar-cta{padding:1rem .75rem 0}.sidebar-cta .btn{width:100%}.sidebar-cta svg,.page-header-actions .btn svg{flex:none;width:1rem;height:1rem}.pill.pay-paid{background:var(--color-success-bg);border:1px solid var(--color-success-border);color:var(--color-success)}.pill.pay-partial{background:var(--color-warning-bg);border:1px solid var(--color-warning-border);color:var(--color-warning)}.pill.pay-unpaid{border:1px solid var(--color-border-strong);color:var(--color-text-muted);background:0 0}.pill.pay-refund_due{background:var(--color-danger-bg);border:1px solid var(--color-danger-border);color:var(--color-danger)}.pill.pay-refunded{background:var(--color-surface-raised);border:1px solid var(--color-border);color:var(--color-text-muted)}.money-cell{align-items:flex-end}.amount{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.amount.is-negative{color:var(--color-danger)}.notice{border-radius:var(--radius-sm);border:1px solid var(--color-warning-border);background:var(--color-warning-bg);color:var(--color-text);margin:0;padding:.65rem .85rem;font-size:.87rem}.button-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.sheet-dialog{width:100%;max-width:min(520px,100vw - 2rem)}.sheet-dialog .confirm-dialog-body{max-height:calc(100vh - 11rem);overflow-y:auto}.money-summary{background:var(--color-border);border:1px solid var(--color-border);border-radius:var(--radius-sm);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:1rem 0 .75rem;display:grid;overflow:hidden}.money-summary div{background:var(--color-bg);padding:.55rem .7rem}.money-summary dt{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);font-size:.68rem}.money-summary dd{font-variant-numeric:tabular-nums;margin:0;font-weight:700}.stack-form.dialog-form{gap:.85rem;max-width:none;margin-top:1rem}.confirm-dialog-body p.dialog-note{margin-top:1rem}.field-grid{grid-template-columns:repeat(auto-fit,minmax(min(12rem,100%),1fr));gap:.85rem 1rem;display:grid}.stack-form label.check{color:var(--color-text);flex-direction:row;align-items:center;gap:.55rem}.stack-form label.check input{width:1rem;height:1rem;accent-color:var(--color-accent);padding:0}.payment-history{border-top:1px solid var(--color-border-subtle);margin-top:1.1rem;padding-top:.8rem}.payment-history h3{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin:0 0 .35rem;font-size:.72rem}.payment-history ul{margin:0;padding:0;list-style:none}.payment-history li{border-bottom:1px solid var(--color-border-subtle);justify-content:space-between;align-items:center;gap:.75rem;padding:.45rem 0;font-size:.85rem;display:flex}.payment-history li:last-child{border-bottom:none}.stack-form.sale-form{grid-template-columns:minmax(0,1fr) minmax(16rem,21rem);align-items:start;gap:1.25rem;max-width:none;display:grid}@media (width<=62rem){.stack-form.sale-form{grid-template-columns:minmax(0,1fr)}}.sale-steps{flex-direction:column;gap:1.25rem;min-width:0;display:flex}.panel-body{flex-direction:column;gap:.9rem;padding:1rem 1.1rem 1.15rem;display:flex}.panel-hint{color:var(--color-text-muted);font-variant-numeric:tabular-nums;font-size:.8rem}.step-num{background:var(--color-accent-subtle);width:1.35rem;height:1.35rem;color:var(--color-accent-hover);font-family:var(--font-sans);vertical-align:1px;border-radius:50%;justify-content:center;align-items:center;margin-right:.55rem;font-size:.72rem;font-weight:700;display:inline-flex}.sale-summary{position:sticky;top:1rem}.summary-list{flex-direction:column;gap:.5rem;margin:0;display:flex}.summary-list div{justify-content:space-between;gap:1rem;font-size:.87rem;display:flex}.summary-list dt{color:var(--color-text-muted);white-space:nowrap}.summary-list dd{text-align:right;font-variant-numeric:tabular-nums;margin:0}.summary-total{border-block:1px solid var(--color-border-subtle);justify-content:space-between;align-items:baseline;gap:1rem;padding-block:.75rem;display:flex}.summary-total span{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);font-size:.75rem}.summary-total strong{font-family:var(--font-display);font-size:1.6rem;font-weight:700}.sale-summary .btn.primary{width:100%;padding:.7rem;font-size:.95rem}.account-results{border:1px solid var(--color-border);border-radius:var(--radius-sm);margin:0;padding:0;list-style:none;overflow:hidden}.account-results li+li{border-top:1px solid var(--color-border-subtle)}.account-results button{text-align:left;background:0 0;border:none;border-radius:0;flex-direction:column;align-items:flex-start;gap:.1rem;width:100%;padding:.55rem .8rem;display:flex}.account-results button:hover{background:var(--color-accent-subtle)}.account-card{border:1px solid var(--color-accent-ring);border-radius:var(--radius-sm);background:var(--color-accent-subtle);justify-content:space-between;align-items:center;gap:.75rem;padding:.7rem .85rem;display:flex}.sale-done{max-width:42rem}.sale-done-ref{font-family:var(--font-display);letter-spacing:.05em;font-size:2rem;font-weight:700;line-height:1.1}.seat-picker{flex-wrap:wrap;align-items:flex-start;gap:1rem 1.75rem;display:flex}.seat-map{border:1px solid var(--color-border);border-radius:1.75rem 1.75rem var(--radius-md) var(--radius-md);background:var(--color-bg);flex-direction:column;gap:.3rem;max-width:100%;padding:.8rem 1rem 1rem;display:inline-flex;overflow-x:auto}.seat-front{border-bottom:1px solid var(--color-border);text-align:center;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);margin-bottom:.25rem;padding-bottom:.45rem;font-size:.66rem}.seat-row{grid-template-columns:1.4rem repeat(2,2.6rem) 1rem repeat(2,2.6rem);align-items:center;gap:.3rem;display:grid}.seat-row-label{text-align:right;color:var(--color-text-muted);font-variant-numeric:tabular-nums;padding-right:.2rem;font-size:.68rem}.seat{border:1px solid var(--color-border-strong);background:var(--color-surface);height:2.3rem;color:var(--color-text);font-variant-numeric:tabular-nums;border-radius:7px 7px 4px 4px;padding:0;font-size:.72rem;font-weight:600}.seat:hover:not(:disabled){border-color:var(--color-accent);background:var(--color-accent-subtle)}.seat[aria-pressed=true],.seat[aria-pressed=true]:hover:not(:disabled){border-color:var(--color-accent);background:var(--color-accent);color:var(--color-on-accent)}.seat.is-booked{opacity:1;background:var(--color-surface-raised);color:var(--color-text-muted);border-color:#0000;text-decoration:line-through}.seat.is-blocked{opacity:1;border-color:var(--color-border);background:repeating-linear-gradient(45deg, var(--color-surface-raised) 0 4px, transparent 4px 8px);color:var(--color-text-muted)}.seat-legend{color:var(--color-text-muted);flex-direction:column;gap:.45rem;margin:0;padding:0;font-size:.8rem;list-style:none;display:flex}.seat-legend li{align-items:center;gap:.5rem;display:flex}.seat-swatch{border:1px solid var(--color-border-strong);background:var(--color-surface);border-radius:4px;width:1rem;height:1rem}.seat-swatch.is-selected{border-color:var(--color-accent);background:var(--color-accent)}.seat-swatch.is-booked{background:var(--color-surface-raised);border-color:#0000}.seat-swatch.is-blocked{border-color:var(--color-border);background:repeating-linear-gradient(45deg, var(--color-surface-raised) 0 3px, transparent 3px 6px)}.period-inputs{align-items:center;gap:.4rem;display:inline-flex}.period-inputs input{border-radius:var(--radius-sm);border:1px solid var(--color-border-strong);background:var(--color-bg);color:var(--color-text);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;padding:.4rem .6rem;font-size:.85rem}.is-refreshing{opacity:.55;transition:opacity .15s}.delta{font-variant-numeric:tabular-nums;font-size:.76rem}.delta.is-up{color:var(--color-success)}.delta.is-down{color:var(--color-danger)}.delta.is-flat,.delta .muted{color:var(--color-text-muted)}.revenue-note{margin:-.5rem 0 1.25rem}.revenue-section{margin-bottom:1.25rem}.revenue-grid{grid-template-columns:repeat(auto-fit,minmax(min(26rem,100%),1fr));align-items:start;gap:1.25rem;margin-bottom:1.25rem;display:grid}.panel>.table-wrap{box-shadow:none;border:none;border-radius:0}:is(.table-wrap:not(:has(.actions)) th:last-child,.table-wrap:not(:has(.actions)) td:last-child){box-shadow:none;position:static}.panel-toolbar{border-bottom:1px solid var(--color-border-subtle);margin:0;padding:.75rem 1.1rem}.share{align-items:center;gap:.5rem;min-width:5.5rem;display:flex}.share-bar{background:var(--color-surface-raised);border-radius:999px;flex:auto;min-width:2rem;height:.35rem;position:relative;overflow:hidden}.share-fill{inset-block:0;background:var(--color-accent);border-radius:999px;position:absolute;left:0}.share-text{text-align:right;min-width:2.6rem;color:var(--color-text-muted);font-variant-numeric:tabular-nums;font-size:.76rem}.chart{padding:.75rem 1.1rem .25rem}.chart-canvas{position:relative}.chart svg{display:block;overflow:visible}.chart-grid{stroke:var(--color-border-subtle);stroke-width:1px;shape-rendering:crispedges}.chart-baseline{stroke:var(--color-border);stroke-width:1px;shape-rendering:crispedges}.chart-tick{fill:var(--color-text-muted);font-variant-numeric:tabular-nums;font-size:11px}.chart-bar{fill:var(--color-accent);transition:fill .1s}.chart-bar.is-active{fill:var(--color-accent-hover)}.chart rect:focus{outline:none}.chart rect:focus-visible{stroke:var(--color-accent);stroke-width:1px}.chart-tooltip{z-index:3;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface-raised);min-width:11rem;box-shadow:var(--shadow-md);pointer-events:none;flex-direction:column;gap:.2rem;padding:.55rem .7rem;font-size:.78rem;display:flex;position:absolute;transform:translate(-50%)}.chart-tooltip-title{color:var(--color-text-muted)}.chart-tooltip-value{font-variant-numeric:tabular-nums;font-size:.95rem;font-weight:700}.chart-tooltip-row{color:var(--color-text-muted);justify-content:space-between;gap:1rem;display:flex}.chart-tooltip-row b{color:var(--color-text);font-variant-numeric:tabular-nums;font-weight:600}.chart-table{padding:.25rem 1.1rem 1rem;font-size:.85rem}.chart-table summary{color:var(--color-link);cursor:pointer;margin-bottom:.5rem;font-size:.82rem}.chart-table .table-wrap{max-height:18rem;overflow:auto}.pill.parcel-registered{background:var(--color-surface-raised);border:1px solid var(--color-border);color:var(--color-text-muted)}.pill.parcel-in_transit{background:var(--color-warning-bg);border:1px solid var(--color-warning-border);color:var(--color-warning)}.pill.parcel-arrived,.pill.parcel-delivered{background:var(--color-success-bg);border:1px solid var(--color-success-border);color:var(--color-success)}.pill.parcel-delivered{background:var(--color-surface-raised);border:1px solid var(--color-border);color:var(--color-text-muted)}.pill.parcel-returned{background:var(--color-warning-bg);border:1px solid var(--color-warning-border);color:var(--color-warning)}.pill.parcel-cancelled{background:var(--color-danger-bg);border:1px solid var(--color-danger-border);color:var(--color-danger)}.history-panel{margin-top:1.5rem}.panel-head h2{align-items:center;gap:.45rem;display:flex}.panel-head h2 svg{width:1rem;height:1rem;color:var(--color-text-muted)}.history{counter-reset:none;margin:0;padding:.4rem 1.1rem 1.1rem 2rem;list-style:none}.history li{border-left:2px solid var(--color-border);flex-direction:column;gap:.1rem;padding:.7rem 0 .7rem 1.1rem;display:flex;position:relative}.history li:last-child{border-left-color:#0000;padding-bottom:.2rem}.history li:before{content:"";background:var(--color-accent);border-radius:50%;width:8px;height:8px;position:absolute;top:.95rem;left:-5px}.history-main{font-size:.9rem;font-weight:600}.parcel-summary{margin-bottom:1.25rem}.kpi-row--inset{border:0;border-bottom:1px solid var(--color-border);border-radius:0;margin:0}.status-split{flex-wrap:wrap;gap:.5rem;padding:.9rem 1.1rem;display:flex}.status-split-item{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-raised);color:inherit;align-items:center;gap:.45rem;padding:.3rem .6rem .3rem .35rem;text-decoration:none;transition:border-color .12s;display:inline-flex}.status-split-item:hover{border-color:var(--color-border-strong);color:inherit}.status-split-count{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-weight:700}.pill.driver-active{background:var(--color-success-bg);border:1px solid var(--color-success-border);color:var(--color-success)}.pill.driver-unavailable{background:var(--color-warning-bg);border:1px solid var(--color-warning-border);color:var(--color-warning)}.pill.driver-retired{background:var(--color-surface-raised);border:1px solid var(--color-border);color:var(--color-text-muted)}.role-pills{flex-wrap:wrap;gap:.3rem;display:flex}.pill.role-admin{background:var(--color-accent-subtle);border:1px solid var(--color-accent-ring);color:var(--color-accent)}.pill.role-agency_manager{background:var(--color-blue-subtle);border:1px solid var(--color-border-strong);color:var(--color-link)}.pill.role-ticket_agent,.pill.role-parcel_agent,.pill.role-planner{background:var(--color-surface-raised);border:1px solid var(--color-border);color:var(--color-text-muted)}.role-picker{flex-direction:column;gap:.15rem;display:flex}.role-option{border-radius:var(--radius-sm);align-items:flex-start;gap:.6rem;padding:.5rem .6rem}.role-option:hover{background:var(--color-surface-raised)}.role-option input{margin-top:.2rem}.pill.bus-active{background:var(--color-success-bg);border:1px solid var(--color-success-border);color:var(--color-success)}.pill.bus-maintenance,.pill.is-warning{background:var(--color-warning-bg);border:1px solid var(--color-warning-border);color:var(--color-warning)}.pill.bus-retired{background:var(--color-surface-raised);border:1px solid var(--color-border);color:var(--color-text-muted)}.stack-form fieldset{border:none;flex-direction:column;gap:.45rem;min-width:0;margin:0;padding:0;display:flex}.stack-form legend{color:var(--color-text-muted);margin-bottom:.45rem;padding:0;font-size:.875rem;font-weight:500}.toolbar-select{border-radius:var(--radius-sm);border:1px solid var(--color-border-strong);background:var(--color-bg);color:var(--color-text);padding:.45rem .7rem;font-size:.85rem}.toolbar-select:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-ring);outline:none}.link-button{color:var(--color-link);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:0;padding:0}.link-button:hover{color:var(--color-accent-hover);background:0 0;text-decoration:underline}
