
/* Servo Power · Repair ERP 2.0 — adaptable a escritorio, tablet y móvil */
:root{--bg:#f3f6f9;--panel:#fff;--panel2:#f5f8fb;--text:#172b40;--muted:#65788e;--line:#dce5ed;--blue:#087a86;--green:#14865d;--red:#c8494b;--yellow:#b78021;--field:#fff;--focus:rgba(62,161,165,.2);--cyan:#3ea1a5;--shadow:0 2px 10px rgba(15,43,62,.045)}
html{scroll-behavior:smooth}body{background:var(--bg)!important;color:var(--text)!important;font-family:Inter,'Segoe UI',system-ui,Arial,sans-serif!important;font-size:14px}
body.erp{padding-left:232px}body.erp .shell{max-width:none;margin:0; padding:24px 30px 54px}
.erp-sidebar{position:fixed;z-index:200;inset:0 auto 0 0;width:232px;background:#112b3b;color:#d1e0e9;display:flex;flex-direction:column;border-right:1px solid #1f4051}
.erp-brand{padding:26px 19px 22px;border-bottom:1px solid #254355;display:flex;align-items:center;gap:11px;font-weight:750;letter-spacing:.01em;color:#fff}
.erp-brand-symbol{width:37px;height:37px;border-radius:10px;background:#3ea1a5;display:grid;place-items:center;font-size:23px;font-weight:800;color:#fff}
.erp-brand small{display:block;font-weight:500;font-size:10px;letter-spacing:.15em;color:#89acbf;margin-top:3px}
.erp-group{padding:20px 14px 8px;font-size:10px;font-weight:700;color:#7897aa;letter-spacing:.13em}
.erp-link{margin:3px 10px;border-radius:9px;padding:12px 13px;display:flex;align-items:center;gap:11px;font-size:13px;text-decoration:none;color:#c8d9e4}
.erp-link:hover,.erp-link:focus-visible{background:#203f50;color:#fff}.erp-link.current{background:#1c5961;color:#fff;box-shadow:inset 3px 0 0 #58d3ca}
.erp-link svg{width:17px;height:17px;flex:none}.erp-foot{margin-top:auto;border-top:1px solid #284656;padding:18px;color:#89a6b6;font-size:11px}
.erp-mobilebar{display:none}.erp-overlay{display:none}
.topbar{align-items:center!important;padding-bottom:22px!important;border-color:var(--line)!important}
h1,.brand h1{font-weight:760!important;letter-spacing:-.035em!important;font-size:clamp(22px,2.2vw,29px)!important;color:var(--text)!important;line-height:1.2!important}
.subtitle,.brand p{font-size:13px!important;color:var(--muted)!important}.panel,.quick-action,.stat,.card,.kpi{background:#fff!important;color:var(--text)!important;border:1px solid var(--line)!important;border-radius:12px!important;box-shadow:var(--shadow)!important}
.quick-actions{gap:12px!important;margin-top:16px!important}.quick-action{transition:transform .15s,box-shadow .15s}.quick-action:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(22,56,79,.09)!important}.quick-action strong{color:#16354a!important}.quick-action span{color:#76889a!important}
.button,button:not(.erp-menu-button){border-radius:8px!important}.button.primary,.button.good,.button.active,.view-button.active{background:#087a86!important;color:white!important;border-color:#087a86!important}.button:hover{filter:brightness(.97)}
button,input,select,textarea{font-family:inherit!important}input,select,textarea{color:#20384c!important;background:white!important;border:1px solid #d2dfe8!important;border-radius:7px!important;min-height:38px}input:focus,select:focus,textarea:focus{outline:2px solid #7cc8ca!important;outline-offset:0}
input::placeholder,textarea::placeholder{color:#8b9eae!important}label,.field label{color:#607487!important;font-weight:650!important;letter-spacing:.018em}table{border-collapse:collapse}th{background:#eef4f8!important;color:#496579!important;font-size:11px!important;letter-spacing:.03em}td{color:#284053!important}tr:hover td{background:#f0f8f9!important}tr.active td{background:#e1f2f3!important}
.panel-header{border-bottom:1px solid var(--line)!important}.panel-title{color:var(--text)!important}.count,.muted,.clock span{color:var(--muted)!important}
.status-line.ok{color:#08734d!important}.status-line.error{color:#b42336!important}.status-line{font-weight:600}
#qrBox{background:#fff!important}.linkbox,.mailbox{background:#f7fafc!important;color:#223e51!important;overflow-wrap:anywhere}
.tabs{gap:8px}.tab{background:#f4f8fb!important}.tab.active{background:#e1f4f4!important;color:#076b74!important;border-color:#70bdc1!important}
.shell .layout>aside.panel{max-height:calc(100vh - 110px)}
/* Workshop follows existing layout */
body.erp .screen{padding:24px 30px!important;max-width:none}
body.erp .topbar .brand{min-width:0}
.erp-pill{background:#e5f4f3;color:#096b72;border-radius:999px;padding:5px 11px;font-size:11px;font-weight:700;display:inline-block}
@media(max-width:1100px){body.erp{padding-left:204px}.erp-sidebar{width:204px}body.erp .shell,body.erp .screen{padding:22px 18px!important}.layout{grid-template-columns:minmax(0,1fr)!important}.layout>aside.panel{position:static!important;max-height:none!important}.erp-sidebar .erp-brand{font-size:12px}}
@media(max-width:760px){body.erp{padding:0 0 65px!important}.erp-sidebar{transform:translateX(-100%);transition:transform .2s;width:250px;box-shadow:12px 0 30px rgba(2,19,32,.16)}body.menu-open .erp-sidebar{transform:translateX(0)}body.menu-open .erp-overlay{display:block;position:fixed;inset:0;background:rgba(5,20,31,.48);z-index:199}.erp-mobilebar{position:sticky;top:0;z-index:190;display:flex;align-items:center;gap:12px;height:59px;background:#112b3b;color:#fff;padding:0 16px;box-shadow:0 2px 12px #15334425}.erp-mobilebar strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.erp-menu-button{border:0!important;background:#255468!important;color:#fff!important;display:grid;place-items:center;min-width:38px;height:38px;border-radius:9px;cursor:pointer}.erp-mobilebar .erp-mobile-label{margin-left:auto;font-size:10px;color:#abd6d5}body.erp .shell,body.erp .screen{padding:15px 12px 40px!important}.topbar{display:block!important}.top-actions{margin-top:15px;justify-content:flex-start!important;flex-wrap:wrap}.top-actions .button{width:auto!important;font-size:12px}.quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.quick-action{min-width:0;padding:12px!important;font-size:12px!important}.quick-action span{font-size:11px!important}.toolbar,.client-toolbar{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}.toolbar .input-wrap,.client-toolbar .input-wrap{grid-column:1/-1}.toolbar .button,.client-toolbar .button{width:100%!important}.layout,.social-layout,.grid{grid-template-columns:1fr!important;gap:12px!important}.layout>aside.panel{position:static;max-height:none;overflow:visible}.panel{min-width:0}.topbar .subtitle{line-height:1.5}.tabs{flex-direction:row!important;flex-wrap:wrap}.tabs .tab{width:auto!important;flex:1;font-size:12px!important}.side-tools{grid-template-columns:1fr!important}.small-actions{flex-wrap:wrap}.actions{flex-wrap:wrap}.actions .button{width:auto!important;flex:1;min-width:125px}.field{min-width:0}.grid{display:grid!important}.screen{display:block!important}.clock{text-align:left!important;margin-top:12px}.clock strong{font-size:22px!important}.stats,.kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}.panel-header{flex-wrap:wrap}.erp-mobile-card{display:block!important}body.erp table{min-width:0!important;width:100%!important}body.erp .table-panel table thead{display:none}body.erp .table-panel table tbody{display:grid;gap:8px;padding:8px}body.erp .table-panel table tr{display:block;background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px 11px;box-shadow:var(--shadow)}body.erp .table-panel table td{display:flex;justify-content:space-between;gap:12px;padding:6px 2px!important;border:0!important;font-size:12px}body.erp .table-panel table td:before{content:attr(data-label);font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#74889a;font-weight:700;flex:0 0 40%}body.erp .table-panel table td>span{overflow-wrap:anywhere}body.erp .table-panel table tr.active{border-color:#3ea1a5;background:#eff9f9}}
@media(max-width:400px){.quick-actions{grid-template-columns:1fr!important}.toolbar,.client-toolbar{grid-template-columns:1fr!important}.top-actions{display:grid!important;grid-template-columns:1fr 1fr}.top-actions .button{width:100%!important}.erp-mobilebar .erp-mobile-label{display:none}}

/* Repair ERP 4.0 */
body:not(.auth-ready) .shell, body:not(.auth-ready) .screen, body:not(.auth-ready) .erp-sidebar, body:not(.auth-ready) .erp-mobilebar, body:not(.auth-ready) .erp-overlay{visibility:hidden!important}
body:not(.auth-ready){background:#102b3b!important}
body.erp{background:#eff3f6!important}
body.erp .panel{box-shadow:0 3px 16px rgba(21,51,72,.05)!important}
body.erp .quick-actions{grid-template-columns:repeat(4,minmax(0,1fr))!important}
body.erp .quick-action strong{font-size:13px!important}
body.erp .topbar .subtitle,body.erp .quick-action span{display:none!important}
body.erp #repairsSection .layout{grid-template-columns:minmax(0,1fr) minmax(430px,.87fr)!important}
body.erp #repairsSection .layout>aside.panel{position:sticky;top:20px;max-height:calc(100vh - 30px);overflow:auto}
body.erp .urgent-pill{display:inline-flex;padding:3px 7px;border-radius:6px;background:#ffe5e5;color:#a11a27;font-weight:850;font-size:11px;white-space:nowrap}
body.erp .modal-backdrop{position:fixed;inset:0;z-index:800;background:rgba(9,27,39,.65);display:grid;place-items:center;padding:12px;overflow:auto}
body.erp .modal-backdrop[hidden]{display:none!important}
body.erp .modal-window{background:#fff;color:#18364a;border-radius:16px;width:min(1100px,100%);max-height:94dvh;overflow:auto;box-shadow:0 24px 80px #0004;display:flex;flex-direction:column}
body.erp .modal-header{position:sticky;top:0;background:#fff;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid #dce5ec}
body.erp .modal-header h2{margin:0;font-size:20px;color:#18364a}
body.erp .modal-content{padding:18px 22px;overflow-y:auto}
body.erp .modal-section{padding:14px;border:1px solid #e1e9ed;background:#f9fbfc;border-radius:12px;margin-bottom:14px}
body.erp .modal-section h3{margin:0 0 12px;font-size:15px;color:#21455b}
body.erp .modal-section .grid{gap:12px}
body.erp .modal-window .field label{color:#536b7e!important}
body.erp .modal-footer{position:sticky;bottom:0;background:#fff;border-top:1px solid #dce5ec;display:flex;gap:12px;justify-content:flex-end;padding:14px 22px}
body.erp .modal-footer .button{width:auto!important}
body.erp .photo-grid{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
body.erp .photo-grid img{width:94px;height:94px;object-fit:cover;border:1px solid #ccd9e3;border-radius:9px}
body.erp .photo-grid .photo-item{position:relative}
body.erp .photo-grid button{position:absolute;top:-6px;right:-6px;border:0;border-radius:50%;background:#b42338;color:white;width:23px;height:23px}
body.erp .photo-error{color:#bc283c;font-weight:600;font-size:13px;margin-top:8px}
body.erp .priority-switch{display:flex;align-items:center;gap:10px;background:#fff2f2;border:1px solid #f1c1c4;padding:12px;border-radius:9px;font-weight:750;color:#a51c2a}
body.erp .priority-switch input{width:19px;min-height:19px;accent-color:#bb2434}
body.erp .email-confirm{color:#08734d!important}
body.erp .modal-backdrop .button.primary{background:#087a86!important}
body.erp .photo-thumb{display:block;width:100px;height:80px;object-fit:cover;border-radius:8px;border:1px solid #d5e2e9}
@media(max-width:1100px){body.erp #repairsSection .layout{grid-template-columns:1fr!important}body.erp #repairsSection .layout>aside.panel{position:static!important;max-height:none!important}}
@media(max-width:760px){body.erp .quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}body.erp .modal-window{max-height:100dvh;border-radius:0}body.erp .modal-backdrop{padding:0}body.erp .modal-content{padding:12px}body.erp .modal-footer{padding:10px 12px}body.erp .modal-section .grid{grid-template-columns:1fr!important}body.erp .modal-header{padding:12px} }

/* Buscador de clientes en la ventana de nueva reparación */
.modal-client-search{position:relative;width:100%}
.modal-client-search input{width:100%}
.modal-client-search .client-suggestions{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:10000;max-height:260px;overflow:auto;background:#fff;border:1px solid #bfd4dc;border-radius:10px;box-shadow:0 14px 35px #12354830}
.modal-client-search .client-option{width:100%;display:block;text-align:left;padding:11px 13px;color:#183648;background:#fff;border:0;border-bottom:1px solid #e5edf1;cursor:pointer}
.modal-client-search .client-option:hover,.modal-client-search .client-option:focus{background:#e9f8f8}
.modal-client-search .client-option strong,.modal-client-search .client-option span{display:block}
.modal-client-search .client-option span{color:#637e8d;font-size:12px;margin-top:3px}
.modal-client-search .client-suggestions[hidden]{display:none!important}

/* V6: tabla de gestión a pantalla completa y edición en modal */
body.erp .repairs-full-layout{display:block!important;width:100%!important;max-width:none!important}
body.erp .repairs-full-layout>.table-panel{width:100%!important;max-width:none!important;overflow-x:auto}
body.erp .repairs-full-layout .table-panel table{min-width:1000px}
body.erp .repair-edit-panel[hidden],.photo-viewer[hidden]{display:none!important}
body.erp .repair-edit-panel{position:fixed!important;z-index:500!important;inset:3vh 4vw!important;width:auto!important;max-width:none!important;height:94vh!important;max-height:none!important;overflow-y:auto!important;background:#fff!important;box-shadow:0 0 0 200vmax rgba(4,20,30,.7),0 25px 85px rgba(0,0,0,.3)!important;border-radius:15px!important}
body.edit-open{overflow:hidden}
body.erp .repair-edit-panel .form{padding:20px!important}
body.erp .repair-edit-panel .panel-header{position:sticky;top:0;z-index:1;background:white!important}
.edit-heading-actions{display:flex;gap:12px;align-items:center}
.edit-col{position:sticky;right:0;background:#fff!important;z-index:1;min-width:100px}
.edit-col-head{position:sticky;right:0;z-index:2;background:#edf4f7!important}
.edit-row-button{height:34px!important;min-height:34px!important;padding:0 13px!important;background:#147b82!important;color:#fff!important;border-color:#147b82!important}
.photo-preview-button{border:0;background:none;padding:0;cursor:zoom-in}
.photo-viewer{position:fixed;z-index:9000;inset:0;background:rgba(3,12,20,.9);display:grid;place-items:center;padding:24px}
.photo-viewer-body{position:relative;display:flex;align-items:center;justify-content:center;max-width:96vw;max-height:94vh}
.photo-viewer-body img{max-width:94vw;max-height:88vh;object-fit:contain;border-radius:10px}
.photo-viewer-close{position:absolute;top:-22px;right:-15px;background:white!important;color:#102d3b!important;border:0;border-radius:999px;width:43px;height:43px;font-size:23px;z-index:1;cursor:pointer}
@media(max-width:760px){body.erp .repair-edit-panel{inset:1vh 2vw!important;height:98vh!important}body.erp .repair-edit-panel .form{padding:12px!important}body.erp .repairs-full-layout .table-panel table{min-width:1050px!important}}
