@font-face{font-family:Montserrat;src:url('fonts/Montserrat-Variable.ttf') format('truetype');font-weight:100 900;font-style:normal;font-display:swap}
:root{--brand:#b71414;--ink:#2e2e2e;--surface:#fff;--border:#ddd;--muted:#595959}
.account-chevron{display:block;width:9px;height:9px;flex:0 0 9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .15s ease}
.account-menu[open] .account-chevron{transform:translateY(2px) rotate(225deg)}
@media(prefers-reduced-motion:reduce){.account-chevron{transition:none}}
*{box-sizing:border-box}body{font:400 16px/1.5 Montserrat,Arial,sans-serif;margin:0;background:#f5f5f5;color:var(--ink)}[hidden]{display:none!important}
main{max-width:1280px;margin:30px auto;padding:0 24px;min-width:0}a{color:#a11111;text-underline-offset:3px}section,.card{background:var(--surface);border:1px solid #e0e0e0;border-radius:10px;padding:22px;margin:20px 0;min-width:0}
h1,h2,h3{font-weight:600;line-height:1.3;letter-spacing:-.02em;overflow-wrap:anywhere}h1{font-size:28px;margin:0 0 24px}h2{font-size:22px}h3{font-size:18px}p{overflow-wrap:anywhere}
table{border-collapse:collapse;width:100%;background:var(--surface)}td,th{text-align:left;padding:13px 12px;border-bottom:1px solid #e7e7e7;vertical-align:middle}th{font-size:14px;font-weight:600;background:#fafafa;color:#454545}td{font-size:15px;overflow-wrap:anywhere}form{margin:12px 0}label{display:block;margin:14px 0;font-weight:600}input,select,textarea{padding:11px;border:1px solid #bdbdbd;border-radius:6px;max-width:100%;font:400 16px/1.5 Montserrat,Arial,sans-serif;background:#fff;color:var(--ink)}label input,label select,label textarea{display:block;width:100%;max-width:580px;margin-top:7px}input[type=checkbox],input[type=radio]{width:auto;min-height:0}input[type=file]{width:100%;white-space:normal}textarea{min-height:90px}
button,.button{display:inline-block;background:var(--brand);color:#fff;padding:10px 16px;border:1px solid var(--brand);border-radius:6px;cursor:pointer;text-decoration:none;font:600 15px/1.4 Montserrat,Arial,sans-serif;min-height:44px;text-align:center;max-width:100%;overflow-wrap:anywhere}button:hover,.button:hover{background:#981010;border-color:#981010}.button-secondary{background:#fff;color:var(--ink);border-color:#d1d1d1}.button-secondary:hover{background:#f2f2f2;border-color:#aaa}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #891111;outline-offset:3px}
small{font-size:14px;color:var(--muted)}.flash{padding:14px;background:#fff0d2;border-radius:6px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));gap:18px}.inline{display:inline}.scroll{overflow-x:auto;max-width:100%}.badge{padding:4px 8px;background:#f0f0f0;border-radius:6px}details{margin:12px 0}summary{cursor:pointer;min-height:44px;padding:10px 0}
.site-header{background:var(--brand);color:#fff;padding:18px max(24px,calc((100% - 1232px)/2));display:flex;gap:28px;align-items:center;position:relative;z-index:10;min-width:0}.site-brand{font-size:22px;font-weight:600;white-space:nowrap}.site-header nav{display:flex;gap:24px;align-items:center}.site-header nav a{color:#fff;text-decoration:none;min-height:44px;padding:10px 0;font-size:15px}.nav-toggle{display:none}.account-menu{margin:0 0 0 auto;position:relative;max-width:45%}.account-menu summary{list-style:none;color:#fff;font-weight:600;font-size:15px;overflow-wrap:anywhere;display:flex;gap:12px;align-items:center}.account-menu summary::-webkit-details-marker{display:none}.account-options{position:absolute;right:0;top:100%;background:#fff;box-shadow:0 8px 24px #0002;border:1px solid #ddd;border-radius:8px;min-width:220px;max-width:calc(100vw - 28px);overflow:hidden}.account-options a,.account-options button{display:block;width:100%;color:var(--ink);background:#fff;text-align:left;padding:14px 18px;border:0;border-radius:0;text-decoration:none;font-size:15px;font-weight:400}.account-options a:hover,.account-options button:hover{background:#f4f4f4}.account-options form{margin:0;border-top:1px solid #eee}
.record-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:20px}.record-heading h1{margin:0;flex:1;min-width:0}.record-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-left:auto}.record-actions form{margin:0}.home-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:20px}.secondary-menu{position:relative;min-width:0}.secondary-toggle{display:none}.secondary-links{display:flex;gap:10px;flex-wrap:wrap}.client-name a{font-weight:600}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:20px}.section-heading h2{margin:0}.bulk-actions{margin-left:auto}
dialog{max-width:calc(100% - 28px);max-height:85dvh;overflow:auto;background:#fff;color:var(--ink)}dialog::backdrop{background:#0006}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.dialog-heading h2{margin:0}dialog table{font-size:15px}
@media(max-width:1024px){.site-header{gap:20px;padding:16px 24px}.site-header nav{gap:18px}main{padding:0 20px}td,th{padding:12px 10px}.responsive-table thead{font-size:14px}}
@media(max-width:767px){main{padding:0 14px;margin:22px auto}.site-header{padding:14px 18px;gap:12px;flex-wrap:wrap}.site-brand{font-size:20px}.account-menu{order:2;margin-left:auto;max-width:55%}.nav-toggle{display:block;order:3;background:transparent;border:0;padding:8px 4px;font-size:25px;width:44px}.site-header nav{display:none;order:4;flex-basis:100%;gap:12px;flex-wrap:wrap;border-top:1px solid #ffffff50;padding-top:8px}.site-header nav.is-open{display:flex}.account-options{right:-50px;min-width:210px}.site-header nav a{padding:10px 8px}h1{font-size:24px}h2{font-size:20px}section,.card{padding:16px;margin:16px 0}.section-heading{gap:10px;flex-wrap:nowrap;align-items:center}.section-heading h2{flex:1;min-width:0}.section-heading .button{font-size:14px;padding:10px 12px}.home-actions{gap:8px;margin-bottom:16px}.home-actions>.button{padding:10px 12px}.secondary-toggle{display:inline-block;padding:10px 12px}.secondary-links{display:none;position:absolute;top:calc(100% + 6px);right:0;min-width:210px;max-width:calc(100vw - 60px);background:#fff;border:1px solid #ddd;border-radius:8px;padding:6px;box-shadow:0 8px 24px #0002;z-index:5}.secondary-menu.is-open .secondary-links{display:flex;flex-direction:column}.secondary-links .button{border:0;text-align:left;white-space:normal;background:#fff}.secondary-links .button:hover{background:#f5f5f5}.record-actions{margin-left:0}.record-heading{gap:14px}.record-heading h1{flex-basis:100%}.grid{grid-template-columns:1fr}.dialog-heading{gap:10px}dialog{padding:16px!important}dialog .dialog-heading form{margin:0}input,select,textarea{width:100%}
.responsive-table{display:block;background:transparent}.responsive-table thead,.responsive-table>.table-heading{display:none}.responsive-table tbody{display:block}.responsive-table tr:not(.table-heading){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;background:#fff;border:1px solid #ddd;border-radius:8px;padding:14px;margin-bottom:10px}.responsive-table td{display:block;border:0;padding:0;min-width:0;font-size:15px}.responsive-table td[data-label]::before{content:attr(data-label);display:block;font-size:14px;font-weight:400;color:#595959;margin-bottom:3px}.responsive-table td[colspan]{grid-column:1/-1}.responsive-table td:last-child:has(.button){grid-column:1/-1}.responsive-table td .button{margin-top:6px}#active-clients td:first-child{grid-column:1/-1}#active-clients td:first-child::before{display:none}.equipment td:nth-child(3),.equipment td:nth-child(4),.equipment td:nth-child(9){grid-column:1/-1}.equipment td:last-child::before{display:none}.equipment td:last-child .button{margin-top:4px}.responsive-table tr[hidden]{display:none!important}}
@media(min-width:768px){#installed-equipment-table{min-width:1180px}.equipment td:first-child,.equipment td:nth-child(2),#active-clients td:nth-child(2){white-space:nowrap}.equipment td:last-child .button{white-space:nowrap;min-width:104px}}
@media(max-width:767px){.responsive-table .table-heading{display:none}.home-actions>.button,.secondary-toggle{font-size:14px;padding:10px}}
@media(max-width:380px){.account-menu{max-width:48%}.site-header{padding:12px 14px;gap:8px}.section-heading .button{font-size:13px;padding:10px}.section-heading h2{font-size:19px}}

/* Consistent chevrons for the mobile Home menus. */
.menu-chevron{display:inline-block;width:9px;height:9px;flex:0 0 9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .15s ease}
.secondary-toggle[aria-expanded="true"] .menu-chevron{transform:translateY(2px) rotate(225deg)}
@media(max-width:767px){.secondary-toggle{display:inline-flex;align-items:center;justify-content:center;gap:10px}}
@media(prefers-reduced-motion:reduce){.menu-chevron{transition:none}}

/* Compact installed-equipment details and spacing above the client site list. */
.installation-summary .record-heading{margin-bottom:18px}
.installation-fields{gap:14px 22px}
.installation-fields h2{font-size:16px;line-height:1.4;letter-spacing:0;margin:0 0 5px}
.installation-fields p{margin:0;line-height:1.5}
.site-list-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px}
@media(min-width:768px){.equipment td:nth-child(3),.equipment td:nth-child(9){overflow-wrap:normal;word-break:normal;white-space:nowrap}}
@media(max-width:767px){.installation-fields{gap:14px}.installation-summary .record-heading{margin-bottom:16px}}

/* Forms: readable measure and a consistent native file-picker button. */
.record-form{max-width:680px}
.record-form label input,.record-form label select,.record-form label textarea{max-width:none}
.import-form{max-width:900px}
.selected-client-name{font-size:14px;color:var(--muted);margin:-6px 0 16px;overflow-wrap:anywhere}
.selected-client-name:empty{display:none}
input[type=file]{padding:8px;color:var(--muted)}
input[type=file]::file-selector-button{font:600 15px/1.4 Montserrat,Arial,sans-serif;color:var(--ink);background:#f5f5f5;border:1px solid #d1d1d1;border-radius:6px;padding:10px 14px;min-height:44px;margin-right:12px;cursor:pointer}
input[type=file]::file-selector-button:hover{background:#eaeaea;border-color:#aaa}

/* Actions and visible status indicators. */
.button-danger{background:#fff3f3;border-color:#b71414;color:#a11111}
.button-danger:hover{background:#ffe1e1;border-color:#981010;color:#8c1010}
.badge{display:inline-block;font-size:14px;font-weight:600;line-height:1.4;border:1px solid transparent;vertical-align:middle}
.status-instalado,.status-active{background:#edf7f1;color:#235e3b;border-color:#c7e3d0}
.status-bodega{background:#edf7f1;color:#235e3b;border-color:#c7e3d0}
.status-pendiente{background:#fff4dc;color:#79530c;border-color:#efd698}
.status-reparacion{background:#edf2fb;color:#345983;border-color:#c9d8ee}
.status-baja,.status-inactive{background:#f0f0f0;color:#555;border-color:#d8d8d8}

/* Safari date controls must shrink to their container in narrow dialogs. */
input[type=date]{-webkit-appearance:none;appearance:none;display:block;min-width:0;width:100%;max-width:580px;min-height:48px;box-sizing:border-box}
input[type=date]::-webkit-date-and-time-value{min-height:1.5em;text-align:left}
input[type=date]::-webkit-datetime-edit{min-width:0;padding:0}
@media(max-width:767px){input[type=date]{max-width:100%}.card-dialog form,.card-dialog label{min-width:0;max-width:100%}}

/* Access denied: centered corporate card, with one return action. */
.denied-page{display:flex;align-items:center;justify-content:center;min-height:calc(100svh - 180px);padding:24px 0}
.denied-card{width:100%;max-width:460px;margin:0;text-align:center;padding:36px 30px;box-shadow:0 6px 24px rgba(0,0,0,.06)}
.denied-icon{display:flex;align-items:center;justify-content:center;width:80px;height:80px;margin:0 auto 22px;background:#fbeaea;border-radius:50%;color:var(--brand)}
.denied-icon svg{width:44px;height:44px;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.denied-card h1{font-size:26px;margin:0 0 12px}
.denied-message{margin:0;line-height:1.6}
.denied-code{margin:12px 0 22px;font-size:14px;color:var(--muted)}
.denied-back{width:100%;max-width:280px}
@media(max-width:767px){.denied-page{min-height:calc(100svh - 150px);padding:12px 0}.denied-card{padding:28px 20px}.denied-card h1{font-size:24px}.denied-icon{width:72px;height:72px;margin-bottom:18px}}

/* Equipment classification: separate controls and stack on tablets/phones. */
.classification-form{display:flex;align-items:center;flex-wrap:wrap;gap:14px;max-width:640px}
.classification-form select{flex:1 1 260px;min-width:0;max-width:420px}
.classification-form button{flex:0 0 auto}
@media(max-width:1024px){.classification-form{flex-direction:column;align-items:stretch;max-width:420px}.classification-form select{flex:0 0 auto;width:100%;max-width:none}.classification-form button{width:100%}}
