:root,body[data-theme=dark]{--app-bg: #0b1220;--app-text: #e6eefc;--text-strong: #e8eef7;--text-muted: #a8bfdc;--text-soft: #dce9f8;--text-inverse: #f4f8ff;--text-danger: #ffb7b7;--text-danger-soft: #ff8e8e;--text-success: #c8ffe2;--text-warning: #fff1b8;--text-on-danger: #ffd0d8;--text-on-success: #b8ffd6;--table-border: rgba(230, 238, 252, .16);--table-header-bg: #1f3b5c;--table-header-text: #f8fbff;--table-row-hover-bg: rgba(230, 238, 252, .08);--link-color: #60a5fa;--surface-1: #0f1f35;--surface-2: #112742;--surface-3: #122944;--surface-4: #152a45;--surface-hover: #17365a;--surface-selected: #1b3a5f;--surface-subtle: #17365a;--surface-danger: #5b2430;--surface-success: #1f4d37;--surface-warning: #5b4f22;--surface-secondary-button: #1b2e47;--surface-secondary-button-hover: #243b59;--border-default: #2f4e73;--border-strong: #45658a;--border-accent: #5ea8f1;--border-accent-strong: #3a94e8;--border-danger: #8f3b4c;--border-success: #2d6d4f;--border-warning: #8c7b35;--border-light-separator: #ffffff;--focus-ring: rgba(94, 168, 241, .2);--btn-primary-bg: linear-gradient(180deg, #2a7dca, #1f64a5);--btn-primary-bg-hover: linear-gradient(180deg, #338cdc, #246eb4);--btn-primary-border: #2b7fce;--btn-primary-text: #f4f8ff;--btn-disabled-bg: #455f7f;--theme-switch-track: #111827;--theme-switch-track-border: rgba(255, 255, 255, .25);--theme-switch-thumb: #f8fafc;--theme-switch-track-light: #dbeafe;--theme-switch-track-light-border: rgba(30, 64, 175, .35);--theme-switch-thumb-light: #ffffff;--shadow-card: 0 10px 30px rgba(0, 0, 0, .35);--shadow-soft: 0 8px 20px rgba(0, 0, 0, .25);--shadow-table: 0 8px 24px rgba(0, 0, 0, .2);--shadow-drawer: -8px 0 24px rgba(0, 0, 0, .28);--overlay-backdrop: rgba(3, 8, 16, .55);--topbar-bg: #0f172a;--topbar-height: 54px;--topbar-text: #e6eefc;--topbar-border: rgba(230, 238, 252, .12);--topbar-active-bg: rgba(255, 255, 255, .08);--topbar-menu-bg: #020617;--topbar-menu-shadow: 0 12px 40px rgba(15, 23, 42, .9);--topbar-menu-hover-bg: rgba(148, 163, 184, .25);--topbar-button-border: rgba(230, 238, 252, .18);--topbar-button-bg: rgba(255, 255, 255, .06);--topbar-button-hover-bg: rgba(255, 255, 255, .1)}body[data-theme=light]{--app-bg: #f8fafc;--app-text: #0f172a;--text-strong: #0f172a;--text-muted: #475569;--text-soft: #1e293b;--text-inverse: #ffffff;--text-danger: #991b1b;--text-danger-soft: #b91c1c;--text-success: #065f46;--text-warning: #92400e;--text-on-danger: #991b1b;--text-on-success: #065f46;--table-border: rgba(15, 23, 42, .16);--table-header-bg: #dbeafe;--table-header-text: #1e3a8a;--table-row-hover-bg: #f1f5f9;--link-color: #2563eb;--surface-1: #ffffff;--surface-2: #f8fafc;--surface-3: #f1f5f9;--surface-4: #eef2ff;--surface-hover: #e2e8f0;--surface-selected: #dbeafe;--surface-subtle: #eff6ff;--surface-danger: #fee2e2;--surface-success: #dcfce7;--surface-warning: #fef3c7;--surface-secondary-button: #ffffff;--surface-secondary-button-hover: #f1f5f9;--border-default: #cbd5e1;--border-strong: #94a3b8;--border-accent: #2563eb;--border-accent-strong: #1d4ed8;--border-danger: #ef4444;--border-success: #10b981;--border-warning: #f59e0b;--border-light-separator: rgba(15, 23, 42, .15);--focus-ring: rgba(37, 99, 235, .2);--btn-primary-bg: linear-gradient(180deg, #3b82f6, #2563eb);--btn-primary-bg-hover: linear-gradient(180deg, #60a5fa, #3b82f6);--btn-primary-border: #2563eb;--btn-primary-text: #ffffff;--btn-disabled-bg: #94a3b8;--theme-switch-track: #cbd5e1;--theme-switch-track-border: rgba(15, 23, 42, .2);--theme-switch-thumb: #0f172a;--theme-switch-track-light: #bfdbfe;--theme-switch-track-light-border: rgba(30, 64, 175, .35);--theme-switch-thumb-light: #ffffff;--shadow-card: 0 10px 30px rgba(15, 23, 42, .12);--shadow-soft: 0 8px 20px rgba(15, 23, 42, .12);--shadow-table: 0 8px 24px rgba(15, 23, 42, .12);--shadow-drawer: -8px 0 24px rgba(15, 23, 42, .18);--overlay-backdrop: rgba(15, 23, 42, .35);--topbar-bg: #ffffff;--topbar-text: #0f172a;--topbar-border: rgba(15, 23, 42, .12);--topbar-active-bg: rgba(15, 23, 42, .08);--topbar-menu-bg: #ffffff;--topbar-menu-shadow: 0 12px 40px rgba(15, 23, 42, .18);--topbar-menu-hover-bg: rgba(59, 130, 246, .14);--topbar-button-border: rgba(15, 23, 42, .18);--topbar-button-bg: rgba(15, 23, 42, .03);--topbar-button-hover-bg: rgba(15, 23, 42, .08)}html,body{height:100%}body{margin:0;font-family:Roboto,Helvetica Neue,sans-serif;background-color:var(--app-bg);color:var(--app-text);transition:background-color .14s ease,color .14s ease}*{box-sizing:border-box}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:1rem;font-weight:500}p{margin-top:0;margin-bottom:1rem}table{border-collapse:collapse;margin-bottom:1rem}.data-scroll-x{display:block;max-width:100%;min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch}.scroll-hint-wrap{position:relative;display:block;max-width:100%;min-width:0}.scroll-hint-fade{position:absolute;top:0;bottom:var(--scroll-hint-scrollbar-size, 0px);width:40px;pointer-events:none;z-index:3;opacity:0;transition:opacity .15s ease}.scroll-hint-fade-left{left:0;background:linear-gradient(to right,var(--scroll-hint-fade-color, var(--surface-1)) 0%,transparent 100%)}.scroll-hint-fade-right{right:0;background:linear-gradient(to left,var(--scroll-hint-fade-color, var(--surface-1)) 0%,transparent 100%)}.scroll-hint-fade-right:after,.scroll-hint-fade-left:after{position:absolute;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:1.35rem;font-weight:700;line-height:1;opacity:.9}.scroll-hint-fade-right:after{content:"\203a";right:.35rem}.scroll-hint-fade-left:after{content:"\2039";left:.35rem}.scroll-hint-wrap.scroll-hint-left .scroll-hint-fade-left,.scroll-hint-wrap.scroll-hint-right .scroll-hint-fade-right{opacity:1}.data-scroll-x>table,table.data-table{width:max-content;min-width:100%;table-layout:auto;margin-bottom:0}.data-table-layout{display:table;width:max-content;min-width:100%;border-collapse:collapse}.data-table-layout>.data-table-row{display:table-row}.data-table-layout>.data-table-row>*{display:table-cell;white-space:nowrap;vertical-align:middle}th,td{text-align:left;padding:.75rem;border-bottom:1px solid var(--table-border)}th{background-color:var(--table-header-bg);color:var(--table-header-text);font-weight:600}tr:hover{background-color:var(--table-row-hover-bg)}a{color:var(--link-color);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:1200px;margin:0 auto;padding:0 1rem}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.35rem;font-weight:500;color:var(--text-soft)}.form-control{width:100%;padding:.55rem .65rem;border:1px solid var(--border-strong);border-radius:7px;font-size:.9rem;font-family:inherit;line-height:inherit;background:var(--surface-4);color:var(--app-text)}select.form-control{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--text-muted) 50%),linear-gradient(135deg,var(--text-muted) 50%,transparent 50%);background-position:calc(100% - 1.1rem) calc(50% - .15rem),calc(100% - .85rem) calc(50% - .15rem);background-size:.35rem .35rem,.35rem .35rem;background-repeat:no-repeat;padding-right:2rem}select.form-control:disabled{opacity:1;color:var(--app-text);-webkit-text-fill-color:var(--app-text);cursor:not-allowed}select.form-control option{background:var(--surface-4);color:var(--app-text)}.form-control:focus{outline:none;border-color:var(--border-accent);box-shadow:0 0 0 2px var(--focus-ring)}.btn-primary,.btn-secondary,.btn-danger,.btn-success{display:inline-flex;align-items:center;justify-content:center;min-height:32px;height:32px;padding:0 .65rem;border:1px solid transparent;border-radius:8px;cursor:pointer;font-size:.8rem;font-weight:600;line-height:1}.btn-primary{background:var(--btn-primary-bg);border-color:var(--btn-primary-border);color:var(--btn-primary-text)}.btn-primary:hover:not(:disabled){background:var(--btn-primary-bg-hover);border-color:var(--border-accent-strong)}.btn-primary:disabled{background:var(--btn-disabled-bg);cursor:not-allowed;opacity:.7}.btn-secondary{background:var(--surface-secondary-button);border-color:var(--border-strong);color:var(--app-text)}.btn-secondary:hover:not(:disabled){background:var(--surface-secondary-button-hover)}.btn-danger{background:var(--surface-danger);border-color:var(--border-danger);color:var(--text-on-danger)}.btn-danger:hover:not(:disabled){filter:brightness(.97)}.btn-success{background:var(--surface-success);border-color:var(--border-success);color:var(--text-success)}.btn-success:hover:not(:disabled){filter:brightness(.97)}.btn-sm{display:inline-flex;align-items:center;justify-content:center;min-height:32px;height:32px;padding:0 .65rem;border:1px solid transparent;border-radius:8px;font-size:.8rem;font-weight:600;line-height:1;cursor:pointer}.btn-sm.btn-primary{background:var(--btn-primary-bg);border-color:var(--btn-primary-border);color:var(--btn-primary-text)}.btn-sm.btn-primary:hover:not(:disabled){background:var(--btn-primary-bg-hover);border-color:var(--border-accent-strong)}.btn-sm.btn-secondary{background:var(--surface-secondary-button);border-color:var(--border-strong);color:var(--app-text)}.btn-sm.btn-secondary:hover:not(:disabled){background:var(--surface-secondary-button-hover)}.btn-sm.btn-danger{background:var(--surface-danger);border-color:var(--border-danger);color:var(--text-on-danger)}.btn-sm.btn-danger:hover:not(:disabled){filter:brightness(.97)}.btn-sm.btn-success{background:var(--surface-success);border-color:var(--border-success);color:var(--text-success)}.btn-sm.btn-success:hover:not(:disabled){filter:brightness(.97)}a.btn-primary,a.btn-secondary,a.btn-danger,a.btn-success{text-decoration:none;box-sizing:border-box}a.btn-primary:hover,a.btn-secondary:hover,a.btn-danger:hover,a.btn-success:hover{text-decoration:none}.status-badge{display:inline-block;padding:.2rem .55rem;border-radius:999px;font-size:.72rem;font-weight:600;white-space:nowrap}.status-badge.provisional{background:var(--surface-warning);color:var(--text-warning)}.status-badge.booked{background:var(--surface-selected);color:var(--link-color)}.status-badge.deposit-paid{background:var(--surface-subtle);color:var(--border-accent);border:1px solid var(--border-accent)}.status-badge.partially-paid{background:var(--surface-warning);color:var(--text-warning);border:1px solid var(--border-accent)}.status-badge.fully-paid{background:var(--surface-success);color:var(--text-on-success)}.status-badge.waiting-list{background:var(--surface-danger);color:var(--text-on-danger)}.status-badge.unknown,.status-badge.not-requested{background:var(--surface-3);color:var(--text-muted);border:1px solid var(--border-default)}.status-badge.requested{background:var(--surface-warning);color:var(--text-warning)}.status-badge.paid{background:var(--surface-success);color:var(--text-on-success)}.status-badge.cancelled{background:var(--surface-danger);color:var(--text-on-danger)}.status-badge.empty{background:var(--surface-success);color:var(--text-on-success)}.status-badge.full{background:var(--surface-danger);color:var(--text-on-danger)}.status-badge.partial{background:var(--surface-warning);color:var(--text-warning)}.form-actions{display:flex;align-items:center}.error{color:var(--text-danger);padding:.75rem;background:var(--surface-danger);border:1px solid var(--border-danger);border-radius:8px;margin:0 0 1rem}button:disabled{opacity:.7;cursor:not-allowed}input[type=checkbox]{accent-color:var(--border-accent)}
