:root{--font-display: "DM Serif Display", Georgia, serif;--font-body: "Outfit", system-ui, -apple-system, sans-serif;--space-xs: .25rem;--space-sm: .5rem;--space-md: .75rem;--space-base: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--radius: 10px;--radius-input: 8px;--radius-sm: 6px;--content-max: 1100px;--sidebar-width: 220px;--sidebar-width-tablet: 180px;--topbar-height: 56px;--demo-bar-height: 28px;--transition: .25s ease;--transition-fast: .15s ease;--transition-spring: .35s cubic-bezier(.34, 1.56, .64, 1);--color-primary: #e07a3a;--color-primary-dark: #c05e28;--color-primary-light: #f5e0d0;--color-bg: #faf7f2;--color-surface: #ffffff;--color-border: #e8e0d8;--color-text: #2c2420;--color-muted: #6b6258;--color-text-inverse: #f5f0ea;--color-success: #4a8c5c;--color-success-bg: #edf5ed;--color-danger: #b9423a;--color-danger-bg: #f8edec;--color-warning: #c4903a;--color-warning-bg: #faf3e5;--color-promo: #7a5a8c;--color-promo-bg: #f0ebf5;--color-promo-text: #5a3a6c;--color-promo-border: #ddd6e8;--color-accent: #5a7a4a;--color-accent-bg: #edf3ea;--color-backdrop: rgba(28, 22, 18, .45);--shadow: 0 1px 3px rgba(44, 36, 32, .06);--shadow-md: 0 4px 14px rgba(44, 36, 32, .08);--shadow-lg: 0 12px 40px rgba(44, 36, 32, .15);--shadow-primary: 0 2px 8px rgba(201, 90, 60, .25);--focus-ring: 0 0 0 3px rgba(201, 90, 60, .22);--focus-ring-danger: 0 0 0 2px rgba(185, 66, 58, .2);--gradient-primary: linear-gradient(135deg, #c95a3c 0%, #d4784a 100%);--gradient-primary-hover: linear-gradient(135deg, #a8472e 0%, #c95a3c 100%);--gradient-accent: linear-gradient(135deg, #c4903a 0%, #d4a84a 100%);--gradient-hero: linear-gradient(160deg, #fdf4ee 0%, #faf7f2 55%, #f5ede4 100%);--gradient-sidebar: linear-gradient(135deg, #c95a3c 0%, #a8472e 100%)}[data-theme=cool]{--color-primary: #d4884a;--color-primary-dark: #b8702e;--color-primary-light: #3d2a18;--color-bg: #1c1917;--color-surface: #28231e;--color-border: #3d3530;--color-text: #f5f0e8;--color-muted: #a09384;--color-text-inverse: #1c1917;--color-success: #4ade80;--color-success-bg: #0e2018;--color-danger: #f87171;--color-danger-bg: #2e1010;--color-warning: #fbbf24;--color-warning-bg: #2e200a;--color-promo: #c4a8e8;--color-promo-bg: #1e1428;--color-promo-text: #d4b8f8;--color-promo-border: #3a2a4a;--color-accent: #a16207;--color-accent-bg: #261a08;--color-backdrop: rgba(10, 8, 6, .65);--shadow: 0 1px 3px rgba(0, 0, 0, .35);--shadow-md: 0 4px 14px rgba(0, 0, 0, .5);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .65);--shadow-primary: 0 2px 8px rgba(212, 136, 74, .35);--focus-ring: 0 0 0 3px rgba(212, 136, 74, .3);--focus-ring-danger: 0 0 0 2px rgba(248, 113, 113, .3);--gradient-primary: linear-gradient(135deg, #d4884a 0%, #df9854 100%);--gradient-primary-hover: linear-gradient(135deg, #b8702e 0%, #d4884a 100%);--gradient-accent: linear-gradient(135deg, #c4903a 0%, #d4a84a 100%);--gradient-hero: linear-gradient(160deg, #28221a 0%, #1c1917 60%, #14110e 100%);--gradient-sidebar: linear-gradient(135deg, #d4884a 0%, #b8702e 100%);--color-status-open-bg: #2a1e14;--color-status-open-text: #e8a878;--color-status-open-border: #3d2a1a;--color-status-accepted-bg: #0e2018;--color-status-accepted-text: #4ade80;--color-status-accepted-border: #1a3020;--color-status-progress-bg: #241a08;--color-status-progress-text: #fbbf24;--color-status-progress-border: #382808;--color-status-completed-bg: #0e2018;--color-status-completed-text: #34d399;--color-status-completed-border: #1a3020;--color-status-paid-bg: #0e2018;--color-status-paid-text: #4ade80;--color-status-paid-border: #1a3020;--color-status-cancelled-bg: #2e1010;--color-status-cancelled-text: #f87171;--color-status-cancelled-border: #4e1a1a;--color-status-pending-bg: #241a08;--color-status-pending-text: #fbbf24;--color-status-pending-border: #382808}:root{--color-status-open-bg: #f0d6cc;--color-status-open-text: #a8472e;--color-status-open-border: #e3bfb3;--color-status-accepted-bg: #e0eef5;--color-status-accepted-text: #2a6b8c;--color-status-accepted-border: #c5dae6;--color-status-progress-bg: #faf0d1;--color-status-progress-text: #8c6a2a;--color-status-progress-border: #eddcae;--color-status-completed-bg: #dce8dc;--color-status-completed-text: #3a6c3a;--color-status-completed-border: #bcd0bc;--color-status-paid-bg: #e4f0e8;--color-status-paid-text: #2e7a42;--color-status-paid-border: #bcd5c0;--color-status-cancelled-bg: #f0dcdc;--color-status-cancelled-text: #8c2a2a;--color-status-cancelled-border: #e3bebe;--color-status-pending-bg: #f5ebd6;--color-status-pending-text: #8c702a;--color-status-pending-border: #e3d4ae}.func-warm-primary,[data-theme=cool] .func-warm-primary{--func-bg: #c95a3c;--func-text: #fff;--func-hover: #a8472e}.func-cool-surface{--func-bg: #eef1f5;--func-border: #d5dce4}[data-theme=cool] .func-cool-surface{--func-bg: #0d1117;--func-border: #262e3a}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;font-family:var(--font-body);font-weight:400;background:var(--color-bg);color:var(--color-text);scroll-behavior:smooth;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3{font-family:var(--font-display);font-weight:400;line-height:1.25;color:var(--color-text);margin:0 0 .6rem}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition),opacity var(--transition)}a:hover{color:var(--color-primary-dark)}button{font-family:var(--font-body);cursor:pointer;border:none;border-radius:var(--radius);padding:.6rem 1rem;font-size:.95rem;font-weight:500;transition:background var(--transition),color var(--transition),opacity var(--transition),box-shadow var(--transition),border-color var(--transition);background:transparent;color:var(--color-text)}.btn-primary{background:var(--color-primary);background:var(--gradient-primary);color:#fff;font-weight:600;border-radius:999px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.btn-primary:hover:not(:disabled){background:var(--gradient-primary-hover);box-shadow:var(--shadow-primary)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-ghost{background:transparent;border:1px solid var(--color-border);font-weight:500;color:var(--color-text);border-radius:999px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.btn-ghost:hover:not(:disabled){background:var(--color-bg);border-color:var(--color-muted)}.btn-ghost:disabled{opacity:.6;cursor:not-allowed}.btn-danger{background:var(--color-danger);color:#fff;font-weight:600}.btn-danger:hover:not(:disabled){background:var(--color-status-cancelled-text)}.btn-danger:disabled{opacity:.6;cursor:not-allowed}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem;transition:box-shadow var(--transition),border-color var(--transition)}.card-hover{cursor:pointer;transition:box-shadow var(--transition),transform var(--transition),border-color var(--transition)}.card-hover:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);border-color:var(--color-primary-light)}input,select,textarea{font-family:var(--font-body);font-size:.95rem;padding:.55rem .7rem;border:1px solid var(--color-border);border-radius:var(--radius-input);width:100%;background:var(--color-surface);color:var(--color-text);transition:border-color var(--transition),box-shadow var(--transition)}input:focus,select:focus,textarea:focus{border-color:var(--color-primary);box-shadow:var(--focus-ring);outline:none}input.input-error,select.input-error,textarea.input-error{border-color:var(--color-danger);box-shadow:var(--focus-ring-danger)}.muted{color:var(--color-muted)}.err{color:var(--color-danger);font-size:.88rem}.modal-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1rem}.badge{display:inline-flex;align-items:center;font-size:.7rem;font-weight:600;padding:.15rem .55rem;border-radius:999px;border:1px solid transparent;text-transform:capitalize;white-space:nowrap;letter-spacing:.02em}.badge-open{background:var(--color-status-open-bg);color:var(--color-status-open-text);border-color:var(--color-status-open-border)}.badge-accepted{background:var(--color-status-accepted-bg);color:var(--color-status-accepted-text);border-color:var(--color-status-accepted-border)}.badge-progress{background:var(--color-status-progress-bg);color:var(--color-status-progress-text);border-color:var(--color-status-progress-border)}.badge-completed{background:var(--color-status-completed-bg);color:var(--color-status-completed-text);border-color:var(--color-status-completed-border)}.badge-paid{background:var(--color-status-paid-bg);color:var(--color-status-paid-text);border-color:var(--color-status-paid-border)}.badge-cancelled{background:var(--color-status-cancelled-bg);color:var(--color-status-cancelled-text);border-color:var(--color-status-cancelled-border)}.badge-pending{background:var(--color-status-pending-bg);color:var(--color-status-pending-text);border-color:var(--color-status-pending-border)}.theme-toggle{display:inline-flex;align-items:center;gap:.35rem;background:transparent;border:1px solid var(--color-border);border-radius:999px;padding:.25rem .65rem;font-size:.75rem;font-weight:600;color:var(--color-muted);cursor:pointer;transition:all var(--transition);position:relative}.theme-toggle:after{content:"";position:absolute;inset:-6px;border-radius:999px}.theme-toggle:hover{border-color:var(--color-primary);color:var(--color-primary)}.theme-toggle .dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:currentColor}@keyframes page-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.page-enter,.page-child{animation:page-enter .4s ease-out both}.page-child:nth-child(1){animation-delay:.05s}.page-child:nth-child(2){animation-delay:.1s}.page-child:nth-child(3){animation-delay:.15s}.page-child:nth-child(4){animation-delay:.2s}.page-child:nth-child(5){animation-delay:.25s}.page-child:nth-child(6){animation-delay:.3s}.page-child:nth-child(7){animation-delay:.35s}.page-child:nth-child(8){animation-delay:.4s}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}@media(max-width:640px){table{display:block;overflow-x:auto;white-space:nowrap;font-size:.85rem}h1{font-size:1.4rem}}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}
