:root{--color-bg:#0a0a0e;--color-bg-alt:#131318;--color-card:#17171d;--color-border:#2a2a33;--color-text:#f2f0e8;--color-text-muted:#a6a6ad;--color-green:#2ecc71;--color-blue:#3a8de0;--color-primary:#2ecc71;--color-primary-hover:#27ae60;--color-primary-active:#219150;--gradient:linear-gradient(90deg, var(--color-green), var(--color-blue))}*{box-sizing:border-box}body{background:var(--color-bg);min-height:100vh;color:var(--color-text);flex-direction:column;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;display:flex}a{color:var(--color-blue);text-decoration:none}a:hover{text-decoration:underline}.site-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:1.25rem 2rem;display:flex}.brand{align-items:center;gap:.75rem;display:flex}.brand img{width:auto;height:36px}.brand span{letter-spacing:.02em;font-size:1.15rem;font-weight:700}.site-nav{align-items:center;gap:1.25rem;font-size:.9rem;display:flex}.site-nav .lang-switch a{color:var(--color-text-muted)}.site-nav .lang-switch a.active{color:var(--color-text);font-weight:700}.tab-bar{border-bottom:1px solid var(--color-border);gap:.5rem;padding:0 2rem;display:flex}.tab-bar a{color:var(--color-text-muted);border-bottom:2px solid #0000;margin-right:1.25rem;padding:.85rem .25rem;font-size:.9rem}.tab-bar a:hover{color:var(--color-text);text-decoration:none}.tab-bar a.active{color:var(--color-text);border-bottom-color:var(--color-green);font-weight:600}.link-button{color:var(--color-text-muted);cursor:pointer;font:inherit;background:0 0;border:none;padding:0}.link-button:hover{text-decoration:underline}main{flex-direction:column;flex:1;display:flex}.site-footer{border-top:1px solid var(--color-border);color:var(--color-text-muted);text-align:center;padding:1.5rem 2rem;font-size:.8rem}.hero{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1.25rem;padding:4rem 1.5rem;display:flex}.hero img.logo-mark{width:min(320px,70vw);height:auto;margin-bottom:.5rem}.hero h1{background:var(--gradient);color:#0000;-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(1.5rem,3vw,2.25rem)}.hero p{max-width:42rem;color:var(--color-text-muted);font-size:1.05rem;line-height:1.6}.hero .actions{margin-top:1rem}.btn{cursor:pointer;background:var(--color-primary);color:#06110b;border:none;border-radius:999px;align-items:center;gap:.45rem;padding:.75rem 1.75rem;font-size:.95rem;font-weight:600;text-decoration:none;transition:background-color .15s;display:inline-flex}.btn:hover{background:var(--color-primary-hover);text-decoration:none}.btn:active{background:var(--color-primary-active)}.btn:disabled,.btn[disabled]{background:var(--color-border);color:var(--color-text-muted);cursor:not-allowed}.btn-secondary{border:1px solid var(--color-border);color:var(--color-text);background:0 0}.btn-secondary:hover{background:var(--color-bg-alt)}.login-wrap{flex:1;justify-content:center;align-items:center;padding:2rem 1.5rem;display:flex}.login-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:1rem;width:100%;max-width:22rem;padding:2.25rem}.login-card h1{text-align:center;margin:0 0 1.5rem;font-size:1.35rem}.field{margin-bottom:1.1rem}.field label{color:var(--color-text-muted);margin-bottom:.4rem;font-size:.85rem;display:block}.field input,.field select{border:1px solid var(--color-border);background:var(--color-bg-alt);width:100%;color:var(--color-text);border-radius:.5rem;padding:.65rem .8rem;font-size:.95rem}.field input:focus,.field select:focus{border-color:var(--color-blue);outline:none}.or-divider{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:.75rem;margin:1.25rem 0;font-size:.8rem;display:flex}.or-divider:before,.or-divider:after{content:"";background:var(--color-border);flex:1;height:1px}.login-card .btn{text-align:center;width:100%;margin-top:.5rem}.alert{border-radius:.5rem;margin-bottom:1.1rem;padding:.7rem .9rem;font-size:.85rem}.alert-error{color:#ff8a80;background:#e74c3c1f;border:1px solid #e74c3c66}.alert-success{color:var(--color-green);background:#2ecc711a;border:1px solid #2ecc7166}.login-back{text-align:center;color:var(--color-text-muted);margin-top:1.25rem;font-size:.85rem;display:block}.dashboard{flex:1;width:100%;max-width:56rem;margin:0 auto;padding:2.5rem 2rem}.dashboard h1{margin-top:0}.dashboard-section{margin-top:2rem}.dashboard-section h2{margin-bottom:1rem;font-size:1.05rem}.metric-grid{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:1rem;display:grid}.metric-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:.75rem;padding:1.25rem 1.5rem}.metric-value{font-size:2rem;font-weight:700;line-height:1.1}.metric-label{color:var(--color-text-muted);margin-top:.35rem;font-size:.85rem}.admin-page{flex:1;width:100%;max-width:64rem;margin:0 auto;padding:2.5rem 2rem}.admin-page h1{margin-top:0}.admin-page-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.admin-page-header-actions{align-items:center;gap:.75rem;display:flex}.status-filter-bar{flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;display:flex}.status-filter-btn{border:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;opacity:.5;background:0 0;border-radius:999px;align-items:center;gap:.35rem;padding:.35rem .8rem;font-size:.8rem;font-weight:600;transition:opacity .15s,background-color .15s,border-color .15s;display:inline-flex}.status-filter-btn:hover{opacity:.85}.status-filter-btn.active{opacity:1;border-color:#0000}.status-filter-btn.active.status-filter-AVAILABLE{color:var(--color-green);background:#2ecc711f}.status-filter-btn.active.status-filter-MAINTENANCE{color:#e6a23c;background:#e6a23c26}.status-filter-btn.active.status-filter-RETIRED{color:var(--color-text-muted);background:#a6a6ad1f}.card{background:var(--color-card);border:1px solid var(--color-border);border-radius:.75rem;margin-bottom:1.5rem;padding:1.5rem}.card h2{margin-top:0;font-size:1.05rem}.badge{border-radius:999px;padding:.2rem .7rem;font-size:.75rem;font-weight:600;display:inline-block}.badge-pending{color:#ff8a80;background:#e74c3c1f}.badge-complete{color:var(--color-green);background:#2ecc711a}table.data-table{border-collapse:collapse;width:100%}table.data-table th,table.data-table td{text-align:left;border-bottom:1px solid var(--color-border);padding:.6rem .5rem;font-size:.9rem}.field-error{color:#ff8a80;margin:.2rem 0 .6rem;font-size:.8rem}.form-page{flex:1;width:100%;max-width:34rem;margin:0 auto;padding:2.5rem 1.5rem}.form-page label{color:var(--color-text-muted);margin:.9rem 0 .3rem;font-size:.85rem;font-weight:600;display:block}.form-page input:not([type=radio]):not([type=checkbox]),.form-page textarea,.form-page select,.card input:not([type=radio]):not([type=checkbox]),.card textarea,.card select{border:1px solid var(--color-border);background:var(--color-bg-alt);width:100%;color:var(--color-text);border-radius:.5rem;padding:.65rem .8rem;font-size:.95rem}.form-page input:not([type=radio]):not([type=checkbox]):focus,.form-page textarea:focus,.form-page select:focus,.card input:not([type=radio]):not([type=checkbox]):focus,.card textarea:focus,.card select:focus{border-color:var(--color-blue);outline:none;box-shadow:0 0 0 3px #3a8de040}.form-page input:disabled,.card input:disabled{opacity:.6;cursor:not-allowed}.form-page fieldset{border:1px solid var(--color-border);border-radius:.5rem;margin-top:1rem}.form-page button.btn{margin-top:1.5rem}.field-hint{color:var(--color-text-muted);margin:.5rem 0 0;font-size:.85rem}.photo-grid{flex-wrap:wrap;gap:.75rem;margin:.5rem 0;display:flex}.photo-thumb{width:6rem;height:6rem;position:relative}.photo-thumb img{object-fit:cover;border:1px solid var(--color-border);border-radius:.5rem;width:100%;height:100%}.photo-thumb .icon-btn{background:#0a0a0cb3;position:absolute;top:.25rem;right:.25rem}.phone-row{gap:.5rem;display:flex}.phone-row select{flex:none;width:auto;max-width:12rem}.phone-row input{flex:1}.date-range-picker{border:1px solid var(--color-border);background:var(--color-bg-alt);border-radius:.5rem;margin-top:.4rem;padding:1rem}.date-range-display{justify-content:center;align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:.9rem;display:flex}.date-range-sep{color:var(--color-text-muted)}.date-range-calendar-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.date-range-calendar-header button{border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;background:0 0;border-radius:.4rem;width:2rem;height:2rem}.date-range-month-label{text-transform:capitalize;font-weight:600}.date-range-grid{grid-template-columns:repeat(7,1fr);gap:.2rem;display:grid}.date-range-weekday{text-align:center;color:var(--color-text-muted);text-transform:capitalize;padding:.2rem 0;font-size:.75rem}.date-range-day{color:var(--color-text);cursor:pointer;background:0 0;border:none;border-radius:.4rem;padding:.5rem 0;font-size:.85rem}.date-range-day:hover{background:var(--color-border)}.date-range-day.range-start,.date-range-day.range-end{background:var(--gradient);color:#06110b;font-weight:600}.date-range-day.in-range{background:#2ecc7126}.icon-btn{border:1px solid var(--color-border);background:var(--color-bg-alt);width:2.25rem;height:2.25rem;color:var(--color-text-muted);cursor:pointer;border-radius:.5rem;justify-content:center;align-items:center;display:inline-flex}.icon-btn-add{color:var(--color-primary)}.icon-btn-add:hover{border-color:var(--color-primary);background:#2ecc711f}.icon-btn-remove{color:#ff8a80}.icon-btn-remove:hover{background:#e74c3c1f;border-color:#ff8a80}.icon-btn-add-warning{color:#e6a23c}.icon-btn-add-warning:hover{background:#e6a23c1f;border-color:#e6a23c}.row-actions{align-items:center;gap:.5rem;display:flex;position:relative}.search-input{border:1px solid var(--color-border);background:var(--color-bg-alt);width:100%;max-width:22rem;color:var(--color-text);border-radius:.5rem;margin-bottom:1.5rem;padding:.65rem .8rem;font-size:.95rem;display:block}.search-input:focus{border-color:var(--color-blue);outline:none;box-shadow:0 0 0 3px #3a8de040}th.sortable-column{cursor:pointer;-webkit-user-select:none;user-select:none}th.sortable-column:hover{color:var(--color-text)}.inventory-tabs{border-bottom:1px solid var(--color-border);gap:.5rem;margin-top:1rem;display:flex}.inventory-tab{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-right:1.25rem;padding:.7rem .25rem;font-family:inherit;font-size:.9rem}.inventory-tab:hover{color:var(--color-text)}.inventory-tab.active{color:var(--color-text);border-bottom-color:var(--color-green);font-weight:600}.inventory-columns{grid-template-columns:1fr 1fr;gap:2rem;margin-top:1rem;display:grid}.inventory-columns h3{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;margin:0 0 .6rem;font-size:.9rem}.inventory-selected-table tbody td:first-child{border-left:3px solid var(--color-primary)}.inventory-selected-table tbody tr{background:#2ecc710d}.inventory-selected-table tbody tr.row-near-conflict{background:#e6a23c14}.inventory-selected-table tbody tr.row-near-conflict td:first-child{border-left-color:#e6a23c}dialog.accessories-dialog,dialog.customer-detail-dialog{background:var(--color-card);color:var(--color-text);border:1px solid var(--color-border);border-radius:.75rem;min-width:16rem;padding:1.25rem 1.5rem}dialog.customer-detail-dialog{min-width:22rem}dialog.accessories-dialog h4,dialog.customer-detail-dialog h4{margin-top:0}dialog.accessories-dialog ul{padding-left:1.2rem}dialog.accessories-dialog::backdrop,dialog.customer-detail-dialog::backdrop{background:#0009}.pricing-summary{border-bottom:1px solid var(--color-border);margin-bottom:1.25rem;padding-bottom:1rem}.pricing-summary-list{margin:0}.pricing-summary-row{justify-content:space-between;padding:.3rem 0;font-size:.9rem;display:flex}.pricing-summary-row dt{color:var(--color-text-muted)}.pricing-summary-row dd{margin:0;font-weight:600}.pricing-summary-row-total dd{color:var(--color-green);font-size:1.05rem}.client-summary-lang-toggle{gap:.75rem;margin-bottom:1rem;font-size:.85rem;display:flex}.client-summary-lang-toggle a{color:var(--color-text-muted)}.client-summary-lang-toggle a.active{color:var(--color-text);font-weight:700}.card-heading-row{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.copy-button-wrap{display:inline-flex;position:relative}.copy-button-feedback{white-space:nowrap;z-index:5;border-radius:.4rem;margin-top:.4rem;padding:.25rem .6rem;font-size:.75rem;position:absolute;top:100%;left:50%;transform:translate(-50%)}.link-display{align-items:center;gap:.5rem;display:flex}.pricing-controls{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end;gap:1rem;margin-top:1.25rem;display:grid}.pricing-controls .field{margin-bottom:0}.pricing-controls .field-full,.pricing-controls>.btn{grid-column:1/-1}.pricing-controls>.btn{justify-self:start}.field-with-action{align-items:center;gap:.5rem;display:flex}.field-with-action input{flex:1}.toggle-group{border:1px solid var(--color-border);border-radius:999px;display:inline-flex;overflow:hidden}.toggle-option{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;padding:.65rem 1.1rem;font-size:.9rem;font-weight:600;transition:background-color .15s}.toggle-option.active{background:var(--color-primary);color:#06110b}.toggle-option:not(.active):hover{background:var(--color-bg-alt)}.agreement-existing{justify-content:space-between;align-items:center;gap:1rem;display:flex}.agreement-existing p{margin:0}.agreement-actions{margin-top:1rem}.card-actions{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:1rem;display:flex}.status-badge{border-radius:999px;align-items:center;gap:.35rem;padding:.2rem .7rem;font-size:.75rem;font-weight:600;display:inline-flex}.status-badge.status-DRAFT{color:var(--color-text-muted);background:#a6a6ad1f}.status-badge.status-CONFIRMED{color:var(--color-blue);background:#3a8de01f}.status-badge.status-ACTIVE{color:var(--color-green);background:#2ecc711f}.status-badge.status-COMPLETED{color:var(--color-green);background:#2ecc711a}.status-badge.status-CANCELLED{color:#ff8a80;background:#e74c3c1f}.status-badge.status-AVAILABLE{color:var(--color-green);background:#2ecc711f}.status-badge.status-MAINTENANCE{color:#e6a23c;background:#e6a23c26}.status-badge.status-RETIRED{color:var(--color-text-muted);background:#a6a6ad1f}.icon-btn-danger{color:#ff8a80}.icon-btn-danger:hover{background:#e74c3c1f;border-color:#ff8a80}
