:root{--paper: #f5f1e6;--paper-raised: #fffdf9;--ink: #1c231d;--ink-soft: #55604f;--ink-faint: #8b8f7e;--line: #ddd3bd;--line-soft: #e9e1cd;--forest: #1f3b24;--forest-dark: #142718;--forest-soft: #e6ebe0;--terracotta: #bf5a3d;--terracotta-dark: #98432c;--terracotta-soft: #f4e1d6;--amber: #a9752b;--amber-soft: #f2e6cd;--stone: #8a8171;--stone-soft: #ece7da;--success: #3c6e42;--success-soft: #dfe9dd;--danger: #a8402c;--danger-soft: #f5ddd6;--font-display: "Fraunces", Georgia, "Times New Roman", serif;--font-body: "IBM Plex Sans", -apple-system, "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", "SF Mono", Consolas, monospace;--radius: 8px;--shadow: 0 1px 2px rgba(28, 35, 29, .06), 0 6px 20px -8px rgba(28, 35, 29, .18);color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-display);font-weight:600;color:var(--forest-dark);margin:0}h1{font-size:1.7rem;letter-spacing:-.01em}h2{font-size:1.25rem}h3{font-size:1.05rem}p{margin:0}code,.mono{font-family:var(--font-mono)}a{color:var(--forest)}button,input,select,textarea{font-family:inherit;font-size:inherit}.app-shell{display:flex;min-height:100%}.sidebar{width:232px;flex-shrink:0;background:var(--forest-dark);color:#e9ece5;display:flex;flex-direction:column;padding:22px 16px;background-image:radial-gradient(circle at 20% 15%,rgba(255,255,255,.05),transparent 40%),repeating-linear-gradient(115deg,rgba(255,255,255,.028) 0 1px,transparent 1px 34px)}.brand{display:flex;flex-direction:column;gap:2px;padding:4px 8px 24px}.brand-mark{font-family:var(--font-display);font-size:1.3rem;font-weight:700;color:#fff;letter-spacing:-.01em}.brand-sub{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#a9b8a0}.nav-group{margin-bottom:18px}.nav-group-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.09em;color:#829078;padding:0 8px 6px}.nav-link{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:6px;color:#d7ddcf;text-decoration:none;font-size:.92rem;font-weight:500;margin-bottom:2px;transition:background .12s ease,color .12s ease}.nav-link:hover{background:#ffffff12;color:#fff}.nav-link.active{background:var(--terracotta);color:#fff}.sidebar-footer{margin-top:auto;padding-top:14px;border-top:1px solid rgba(255,255,255,.1)}.sidebar-user{padding:6px 8px 10px}.sidebar-user-name{color:#fff;font-weight:600;font-size:.88rem}.sidebar-user-role{color:#a9b8a0;font-size:.76rem;text-transform:capitalize}.sidebar-logout{width:100%;text-align:left;background:none;border:1px solid rgba(255,255,255,.18);color:#d7ddcf;padding:8px 10px;border-radius:6px;cursor:pointer;font-size:.85rem}.sidebar-logout:hover{background:#ffffff14;color:#fff}.main{flex:1;min-width:0;display:flex;flex-direction:column}.support-banner{background:var(--terracotta);color:#fff;padding:10px 28px;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:.88rem}.support-banner strong{font-weight:700}.support-banner button{background:#ffffff26;border:1px solid rgba(255,255,255,.5);color:#fff;padding:6px 14px;border-radius:6px;cursor:pointer;font-weight:600;white-space:nowrap}.support-banner button:hover{background:#ffffff47}.page{padding:32px 40px;max-width:1080px;width:100%}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}.page-header p.lede{color:var(--ink-soft);margin-top:4px;max-width:60ch}.btn{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:6px;border:1px solid transparent;font-weight:600;font-size:.88rem;cursor:pointer;text-decoration:none;transition:transform .06s ease,background .12s ease,border-color .12s ease}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-primary{background:var(--forest);color:#fff}.btn-primary:hover:not(:disabled){background:var(--forest-dark)}.btn-accent{background:var(--terracotta);color:#fff}.btn-accent:hover:not(:disabled){background:var(--terracotta-dark)}.btn-ghost{background:transparent;color:var(--forest);border-color:var(--line)}.btn-ghost:hover:not(:disabled){background:var(--forest-soft)}.btn-danger{background:var(--paper-raised);color:var(--danger);border-color:var(--danger-soft)}.btn-danger:hover:not(:disabled){background:var(--danger-soft)}.btn-sm{padding:5px 11px;font-size:.8rem}.card{background:var(--paper-raised);border:1px solid var(--line-soft);border-radius:var(--radius);box-shadow:var(--shadow)}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);font-weight:600;padding:10px 16px;border-bottom:1px solid var(--line)}td{padding:12px 16px;border-bottom:1px solid var(--line-soft);font-size:.9rem;vertical-align:middle}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:var(--forest-soft)}td.num,td.plate{font-family:var(--font-mono)}.empty-state{padding:48px 24px;text-align:center;color:var(--ink-faint)}.empty-state h3{color:var(--ink-soft);margin-bottom:6px}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:100px;font-size:.74rem;font-weight:600}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.badge-available,.badge-active{background:var(--success-soft);color:var(--success)}.badge-maintenance{background:var(--amber-soft);color:var(--amber)}.badge-inactive,.badge-disabled{background:var(--stone-soft);color:var(--stone)}.badge-owner{background:var(--forest-soft);color:var(--forest)}.badge-manager{background:var(--terracotta-soft);color:var(--terracotta-dark)}.badge-operator{background:var(--stone-soft);color:var(--ink-soft)}.badge-platform_support{background:var(--amber-soft);color:var(--amber)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px 20px}.form-grid .span-2{grid-column:1 / -1}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:.8rem;font-weight:600;color:var(--ink-soft)}.field .hint{font-size:.76rem;color:var(--ink-faint)}input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=search],select,textarea{border:1px solid var(--line);background:var(--paper-raised);color:var(--ink);border-radius:6px;padding:9px 11px;width:100%}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--terracotta);box-shadow:0 0 0 3px var(--terracotta-soft)}textarea{resize:vertical;min-height:72px;font-family:inherit}.checkbox-row{display:flex;align-items:center;gap:8px}.checkbox-row input{width:auto}.form-actions{display:flex;gap:10px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line-soft)}.alert{padding:12px 14px;border-radius:6px;font-size:.87rem;margin-bottom:16px}.alert-error{background:var(--danger-soft);color:var(--danger);border:1px solid rgba(168,64,44,.25)}.alert-success{background:var(--success-soft);color:var(--success);border:1px solid rgba(60,110,66,.25)}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--paper);background-image:radial-gradient(circle at 15% 20%,rgba(31,59,36,.06),transparent 45%),radial-gradient(circle at 85% 80%,rgba(191,90,61,.08),transparent 45%),repeating-linear-gradient(100deg,rgba(31,59,36,.025) 0 1px,transparent 1px 46px);padding:24px}.login-card{width:100%;max-width:380px;padding:40px 36px}.login-brand{text-align:center;margin-bottom:6px}.login-brand .brand-mark{color:var(--forest-dark);font-size:1.6rem}.login-sub{text-align:center;color:var(--ink-soft);font-size:.88rem;margin-bottom:28px}.login-tenant-hint{text-align:center;font-size:.78rem;color:var(--terracotta-dark);background:var(--terracotta-soft);border-radius:6px;padding:6px 10px;margin-bottom:20px}.login-card .field{margin-bottom:16px}.login-card .btn{width:100%;justify-content:center;margin-top:6px}.muted{color:var(--ink-faint)}.stack{display:flex;flex-direction:column;gap:10px}.row{display:flex;align-items:center;gap:10px}.row-between{display:flex;align-items:center;justify-content:space-between;gap:14px}.section{margin-bottom:32px}.section-title{display:flex;align-items:baseline;gap:10px;margin-bottom:12px}.section-title .count{font-size:.8rem;color:var(--ink-faint);font-family:var(--font-mono)}.default-tag{font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-faint);border:1px dashed var(--line);border-radius:4px;padding:1px 6px;margin-left:8px}.calendar-scroll{overflow-x:auto;border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--paper-raised);box-shadow:var(--shadow)}.calendar-grid{display:grid;align-items:stretch;min-width:max-content}.calendar-corner{position:sticky;left:0;z-index:2;background:var(--paper-raised);border-bottom:1px solid var(--line);border-right:1px solid var(--line-soft)}.calendar-day-head{text-align:center;font-size:.68rem;padding:8px 2px;color:var(--ink-faint);border-bottom:1px solid var(--line);border-right:1px solid var(--line-soft)}.calendar-day-head.is-weekend{background:var(--forest-soft)}.calendar-day-head .dow{display:block;text-transform:uppercase;letter-spacing:.04em;font-size:.62rem}.calendar-day-head .num{display:block;font-family:var(--font-mono);font-weight:600;color:var(--ink-soft)}.calendar-vehicle-name{position:sticky;left:0;z-index:1;background:var(--paper-raised);padding:10px 14px;font-size:.85rem;font-weight:600;white-space:nowrap;border-bottom:1px solid var(--line-soft);border-right:1px solid var(--line-soft);display:flex;align-items:center}.calendar-vehicle-name .plate{font-family:var(--font-mono);font-weight:700}.calendar-vehicle-name .nickname{color:var(--ink-faint);font-weight:400;margin-left:6px}.calendar-row{position:relative;border-bottom:1px solid var(--line-soft);background-image:repeating-linear-gradient(to right,transparent 0,transparent calc(var(--day-w) - 1px),var(--line-soft) calc(var(--day-w) - 1px),var(--line-soft) var(--day-w));min-height:40px}.calendar-bar{position:absolute;top:6px;bottom:6px;border-radius:5px;font-size:.72rem;color:#fff;padding:0 8px;display:flex;align-items:center;overflow:hidden;white-space:nowrap;cursor:pointer;border:1px solid rgba(0,0,0,.12)}.calendar-bar:hover{filter:brightness(1.08)}.calendar-bar.occ-reserva{background:var(--forest)}.calendar-bar.occ-taller,.calendar-bar.occ-itv{background:var(--amber)}.calendar-bar.occ-uso_interno{background:var(--terracotta)}.calendar-bar.occ-limpieza{background:var(--stone)}.calendar-bar.occ-otro{background:var(--ink-faint)}.calendar-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:14px;font-size:.8rem;color:var(--ink-soft)}.calendar-legend .swatch{display:inline-block;width:11px;height:11px;border-radius:3px;margin-right:6px;vertical-align:-1px}.wizard-steps{display:flex;gap:8px;margin-bottom:24px;flex-wrap:wrap}.wizard-step{display:flex;align-items:center;gap:8px;padding:7px 14px;border-radius:100px;font-size:.82rem;font-weight:600;color:var(--ink-faint);background:var(--stone-soft)}.wizard-step .num{width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--paper-raised);font-size:.72rem}.wizard-step.active{background:var(--forest);color:#fff}.wizard-step.active .num{background:#ffffff40}.wizard-step.done{background:var(--forest-soft);color:var(--forest)}.vehicle-option{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-bottom:1px solid var(--line-soft)}.vehicle-option:last-child{border-bottom:none}.vehicle-option.unavailable{opacity:.6}.vehicle-option .name{font-weight:600}.vehicle-option .price{font-family:var(--font-mono);font-weight:700;color:var(--forest);font-size:1.05rem}.vehicle-option .motivo{font-size:.82rem;color:var(--danger);max-width:46ch}.breakdown-table{width:100%;font-size:.87rem}.breakdown-table td{padding:6px 4px;border:none}.breakdown-table td.amount{text-align:right;font-family:var(--font-mono)}.breakdown-table tr.total td{font-weight:700;font-size:1rem;border-top:1px solid var(--line);padding-top:10px}.breakdown-table tr.discount td{color:var(--terracotta-dark)}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:20px}.tab{padding:9px 16px;border:none;background:none;cursor:pointer;font-weight:600;font-size:.88rem;color:var(--ink-faint);border-bottom:2px solid transparent;margin-bottom:-1px}.tab.active{color:var(--forest);border-bottom-color:var(--terracotta)}.tab:hover:not(.active){color:var(--ink-soft)}.qty-input{width:64px;text-align:center}.search-box{position:relative;margin-bottom:16px}.customer-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border:1px solid var(--line);border-radius:6px;background:var(--forest-soft)}
