:root{--bg:#f6f7fb;--ink:#111827;--muted:#6b7280;--line:#e5e7eb;--surface:rgba(255,255,255,.86);--nav:#0f172a;--nav-soft:#1e293b;--blue:#2563eb;--cyan:#0891b2;--green:#059669;--amber:#d97706;--red:#dc2626;--shadow:0 18px 45px rgba(15,23,42,.08)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top left,#e0f2fe 0,#f6f7fb 34%,#f8fafc 100%);color:var(--ink);font:14px/1.5 Inter,Arial,sans-serif}.sidebar{position:fixed;left:18px;top:18px;bottom:18px;width:230px;background:linear-gradient(180deg,var(--nav),var(--nav-soft));border-radius:24px;padding:18px;box-shadow:var(--shadow);color:#e5eefb}.brand{display:flex;align-items:center;gap:12px;margin-bottom:28px}.brand-mark{width:38px;height:38px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,#38bdf8,#2563eb);font-weight:800;color:white}.brand-mark.big{width:58px;height:58px;border-radius:20px;font-size:26px}.brand strong{display:block;letter-spacing:.04em}.brand small{display:block;color:#9fb3ca;margin-top:2px}.sidebar nav{display:grid;gap:6px}.sidebar a{color:#cbd5e1;text-decoration:none;padding:11px 12px;border-radius:14px;font-weight:600}.sidebar a:hover{background:rgba(255,255,255,.09);color:white}.topbar{position:fixed;left:276px;right:24px;top:18px;height:64px;background:rgba(255,255,255,.72);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.7);border-radius:22px;display:flex;align-items:center;justify-content:space-between;padding:0 18px 0 24px;box-shadow:var(--shadow);z-index:5}.topbar strong{display:block}.topbar span{color:var(--muted);font-size:13px}.topbar form{display:flex;align-items:center;gap:14px;margin:0}.topbar button,.ghost{border:1px solid var(--line);background:white;color:var(--ink);border-radius:12px;padding:9px 13px;font-weight:700;text-decoration:none}.main{margin-left:276px;padding:112px 24px 40px}.login-main{margin:0;padding:24px;min-height:100vh;display:grid;place-items:center}.login-shell{width:min(440px,100%);display:grid;text-align:left}.login-brand h1{font-size:42px;margin:14px 0 4px}.login-brand p{margin:0;color:var(--muted)}.login-card-branded{padding:0;display:grid;gap:0}.login-logo-panel{display:grid;place-items:center;padding:26px 30px 20px;background:linear-gradient(180deg,var(--nav),var(--nav-soft));text-align:center}.login-logo-panel p{margin:12px 0 0;color:#cbd5e1;font-weight:600}.login-logo{display:block;width:min(300px,76vw);height:auto}.login-fields{display:grid;gap:14px;padding:22px}.login-fields .primary{margin-top:4px}.surface{background:var(--surface);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.75);border-radius:24px;box-shadow:var(--shadow);overflow:hidden}.page-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:22px}.page-head p{margin:0 0 4px;color:var(--blue);font-weight:800;text-transform:uppercase;font-size:12px;letter-spacing:.08em}.page-head h1{font-size:40px;line-height:1.05;margin:0}.stats{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:16px;margin-bottom:22px}.stats div{position:relative;overflow:hidden;border-radius:24px;padding:20px;background:white;border:1px solid var(--line);box-shadow:var(--shadow)}.stats div:before{content:"";position:absolute;right:-24px;top:-24px;width:92px;height:92px;border-radius:999px;background:rgba(37,99,235,.12)}.stats span{color:var(--muted);font-weight:700}.stats strong{display:block;margin-top:12px;font-size:38px}.section-title{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--line)}.section-title h2{font-size:16px;margin:0}.section-title span{color:var(--muted)}.table-wrap{overflow:auto}table{width:100%;border-collapse:separate;border-spacing:0}th,td{padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:11px;text-align:left;text-transform:uppercase;letter-spacing:.08em;color:#64748b;background:#f8fafc}td{background:rgba(255,255,255,.45)}tr:hover td{background:#eef6ff}.strong-cell{font-weight:700;color:#0f172a}.row-action{display:inline-flex;padding:7px 10px;border-radius:10px;background:#eff6ff;color:var(--blue);font-weight:800;text-decoration:none}.split{display:grid;grid-template-columns:360px 1fr;gap:20px}.form-card{padding:20px}.wide-card{margin-bottom:20px}.form-card h2{margin:0 0 18px}.form-grid{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:14px;padding:20px}.detail-form{margin-bottom:18px}.wide{grid-column:1/-1}label{display:grid;gap:7px;color:#475569;font-weight:700}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:14px;padding:11px 12px;background:white;color:var(--ink);font:inherit;outline:none}input:focus,select:focus,textarea:focus{border-color:#93c5fd;box-shadow:0 0 0 4px #dbeafe}textarea{min-height:92px;resize:vertical}.primary{border:0;border-radius:14px;background:linear-gradient(135deg,var(--blue),var(--cyan));color:white;padding:11px 16px;font-weight:800;cursor:pointer}.toolbar{display:flex;gap:10px;padding:16px;border-bottom:1px solid var(--line)}.toolbar input{max-width:420px}.toolbar button{border:0;border-radius:14px;background:#0f172a;color:white;padding:10px 14px;font-weight:800}.tag{display:inline-flex;border-radius:999px;padding:5px 10px;color:white;background:#64748b;font-size:12px;font-weight:800}.tag.pendiente{background:var(--amber)}.tag.cerrada{background:var(--green)}.tag.no_procede{background:var(--red)}.flash{border-radius:16px;padding:12px 14px;margin-bottom:14px;background:#ecfeff;border:1px solid #a5f3fc}.flash.error{background:#fef2f2;border-color:#fecaca}.flash.ok{background:#ecfdf5;border-color:#bbf7d0}.call-strip{display:flex;align-items:center;gap:14px;padding:18px}.call-strip span{color:var(--muted);font-weight:800}.call-strip em{font-style:normal;color:var(--blue);font-weight:800}.call-strip small{color:var(--muted)}@media(max-width:980px){.sidebar,.topbar{position:static;width:auto;margin:14px}.topbar{height:auto}.main{margin:0;padding:18px}.stats,.split,.form-grid{grid-template-columns:1fr}.sidebar nav{grid-template-columns:repeat(5,max-content);overflow:auto}.page-head{align-items:start;gap:14px;flex-direction:column}}.call-alert{position:fixed;left:276px;right:24px;top:92px;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border-radius:18px;background:#fff7ed;border:1px solid #fed7aa;box-shadow:var(--shadow)}.call-alert[hidden]{display:none}.call-alert div{display:flex;align-items:center;gap:12px;min-width:0}.call-alert span{color:var(--amber);font-weight:900;text-transform:uppercase;font-size:12px;letter-spacing:.08em}.call-alert strong{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.call-alert small{color:var(--muted);font-weight:800}@media(max-width:980px){.call-alert{position:sticky;left:auto;right:auto;top:0;margin:12px;flex-wrap:wrap}.call-alert div{flex-wrap:wrap}}
.has-call-alert .main{padding-top:184px}@media(max-width:980px){.has-call-alert .main{padding-top:18px}}.compact-head{margin-bottom:12px}.compact-head h1{font-size:26px;line-height:1.15}.compact-head p{font-size:11px;margin-bottom:2px}.compact-detail-form{grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px;padding:16px;margin-bottom:12px}.compact-detail-form label{gap:5px}.compact-detail-form input,.compact-detail-form select,.compact-detail-form textarea{border-radius:12px;padding:9px 11px}.compact-detail-form textarea{min-height:58px}.compact-textarea textarea{min-height:58px}.call-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 16px;margin-bottom:12px}.call-actions span{color:var(--muted);font-weight:900;margin-right:6px}.call-actions form{margin:0}.call-actions .ghost,.call-strip .ghost{padding:7px 10px;border-radius:10px}.danger-lite{border-color:#fecaca!important;color:#b91c1c!important;background:#fff7f7!important}.detail-form+.surface,.call-strip+.surface,.call-actions+.surface{margin-top:12px}.call-strip{padding:12px 16px;margin-bottom:12px}.call-strip form{margin:0}.detail-form .primary{min-height:42px}.detail-form label{font-size:13px}.detail-form{overflow:visible}@media(max-width:1180px){.compact-detail-form{grid-template-columns:repeat(2,minmax(150px,1fr))}}.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap;max-width:880px}.header-actions span{color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;margin-right:4px}.header-actions form{margin:0}.header-actions .ghost{padding:7px 9px;border-radius:10px;font-size:12px}.compact-head{align-items:center}.compact-head h1{max-width:720px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:1280px){.compact-head{align-items:flex-start}.header-actions{justify-content:flex-start;max-width:none}.compact-head h1{white-space:normal}}.minute-stepper{display:grid;grid-template-columns:38px 1fr 38px;gap:6px}.minute-stepper button{border:1px solid var(--line);background:white;border-radius:10px;font-weight:900;cursor:pointer}.minute-stepper input{text-align:center}.minute-stepper button:hover{background:#eff6ff;color:var(--blue)}.incident-detail-grid{grid-template-columns:1.1fr 1.35fr 1.05fr .8fr .95fr .75fr}.incident-detail-grid .wide{grid-column:1/-1}.incident-detail-grid .top-field{grid-column:auto}.incident-detail-grid label:not(.wide):not(.top-field){grid-column:span 2}.incident-detail-grid button.primary{grid-column:span 2}@media(max-width:1500px){.incident-detail-grid{grid-template-columns:repeat(4,minmax(150px,1fr))}.incident-detail-grid .top-field{grid-column:span 1}.incident-detail-grid .tech-field,.incident-detail-grid .type-field{grid-column:span 1}}@media(max-width:1180px){.incident-detail-grid{grid-template-columns:repeat(2,minmax(150px,1fr))}.incident-detail-grid .top-field{grid-column:span 1}.incident-detail-grid button.primary{grid-column:1/-1}}.incident-create-grid{grid-template-columns:1.1fr 1.35fr 1.05fr .8fr .95fr .75fr}.incident-create-grid .top-field{grid-column:auto}.incident-create-grid .wide{grid-column:1/-1}.incident-create-grid button.primary{grid-column:span 2}@media(max-width:1500px){.incident-create-grid{grid-template-columns:repeat(4,minmax(150px,1fr))}.incident-create-grid .top-field{grid-column:span 1}}@media(max-width:1180px){.incident-create-grid{grid-template-columns:repeat(2,minmax(150px,1fr))}.incident-create-grid button.primary{grid-column:1/-1}}.incident-create-grid label.top-field{grid-column:auto}.incident-create-grid label.wide{grid-column:1/-1}.incident-create-grid label:not(.wide):not(.top-field){grid-column:span 2}.incident-create-grid .minute-stepper{min-width:0}.incident-create-grid button.primary,.incident-detail-grid button.primary{grid-column:1/-1;justify-self:center;width:min(420px,100%);margin-top:2px}.incident-create-grid label:not(.wide):not(.top-field),.incident-detail-grid label:not(.wide):not(.top-field){grid-column:span 2}@media(max-width:1180px){.incident-create-grid button.primary,.incident-detail-grid button.primary{width:100%}}.table-wrap td input,.table-wrap td select{padding:8px 9px;border-radius:10px}.table-wrap td input[type="checkbox"]{width:auto;transform:scale(1.15)}.table-wrap td button.row-action{border:0;cursor:pointer}
.muted-cell{color:var(--muted);font-size:12px}.empty-cell{text-align:center;color:var(--muted);padding:28px}.tag.sonando{background:var(--amber)}.tag.contestada{background:var(--green)}.call-save-strip{align-items:flex-start}.call-save-strip form{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.call-save-strip input{width:160px;padding:8px 10px;border-radius:10px}.small-stat{font-size:18px!important;line-height:1.2;margin-top:16px!important}.client-summary strong{overflow:hidden;text-overflow:ellipsis}.inline-check{display:flex;grid-auto-flow:column;align-items:center;gap:8px;white-space:nowrap;font-weight:700;color:var(--muted)}.inline-check input{width:auto}
.login-main .flash{position:fixed;top:24px;left:50%;transform:translateX(-50%);z-index:40;margin:0;max-width:min(520px,calc(100vw - 32px));text-align:center}

.report-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}.report-card{display:grid;gap:10px;padding:22px;text-decoration:none;color:var(--ink)}.report-card span{color:var(--blue);font-weight:800;text-transform:uppercase;font-size:12px;letter-spacing:.08em}.report-card strong{font-size:20px}.report-card small{color:var(--muted);font-size:14px;line-height:1.5}

.billing-form{display:grid;gap:18px;margin-top:18px}.billing-client{overflow:hidden}.billing-actions{position:sticky;bottom:16px;display:flex;justify-content:center;z-index:10}.billing-actions .primary{min-width:min(460px,100%);box-shadow:var(--shadow)}

.history-line{margin:2px 0;color:#334155}.history-line strong{color:#0f172a}

.incident-activity{margin-top:18px}.activity-tools{display:grid;grid-template-columns:1.4fr 1fr;gap:14px;padding:18px;border-bottom:1px solid var(--line)}.activity-comment,.activity-upload{display:grid;gap:10px}.activity-comment textarea{min-height:76px}.timeline{display:grid;gap:0;padding:4px 18px 18px}.timeline-item{border-left:3px solid #dbeafe;padding:12px 0 12px 14px}.timeline-item span{display:block;color:#64748b;font-size:12px;font-weight:700}.timeline-item strong{display:block;margin-top:2px}.timeline-item p{margin:4px 0 0;color:#334155}.timeline-item b{color:#0f172a}@media(max-width:980px){.activity-tools{grid-template-columns:1fr}}
.client-profile{margin-bottom:18px;padding:18px}.client-profile div{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.client-profile strong{font-size:18px}.client-profile span,.client-profile small{color:#64748b;font-weight:700}
.client-profile{margin-bottom:18px;padding:18px}.client-profile div{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.client-profile strong{font-size:18px}.client-profile span,.client-profile small{color:#64748b;font-weight:700}

.locked-notice{display:flex;align-items:center;gap:14px;margin-bottom:18px;padding:14px 18px;border:1px solid #fed7aa;background:#fff7ed}.locked-notice strong{color:#c2410c}.locked-notice span{color:#64748b;font-weight:700}button:disabled,input:disabled,textarea:disabled{opacity:.72;cursor:not-allowed;background:#f8fafc}

.contract-section{grid-template-columns:minmax(420px,.72fr) 1fr;align-items:start}.contract-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:14px 16px}.contract-metrics div{border:1px solid var(--line);border-radius:14px;background:white;padding:12px;min-width:0}.contract-metrics span{display:block;color:var(--muted);font-weight:800;font-size:12px}.contract-metrics strong{display:block;margin-top:6px;font-size:22px;line-height:1.15;white-space:nowrap}.muted-line{color:var(--muted);padding:0 16px 16px;margin:0}.checkbox-row{display:flex;align-items:center;gap:8px;color:var(--muted);font-weight:700}.checkbox-row input{width:auto;box-shadow:none}@media(max-width:1400px){.contract-section{grid-template-columns:1fr}.contract-metrics{grid-template-columns:repeat(4,minmax(120px,1fr))}}@media(max-width:720px){.contract-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}

.call-alert{align-items:flex-start;flex-wrap:wrap}.call-alert>div:first-child{flex:1 1 360px}.call-alert-suggestions{flex:1 1 100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;border-top:1px solid #fed7aa;padding-top:10px}.call-alert-suggestions[hidden]{display:none}.call-alert-suggestions section{display:grid;gap:4px;min-width:0}.call-alert-suggestions b{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#9a3412}.call-alert-suggestions a,.call-alert-suggestions span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#334155;text-decoration:none;font-size:12px;font-weight:700}.call-alert-suggestions a:hover{color:var(--blue);text-decoration:underline}@media(max-width:1180px){.call-alert-suggestions{grid-template-columns:1fr}}

.flash.warning{background:#fff7ed;border-color:#fed7aa}.quality-notice{display:flex;align-items:center;gap:14px;margin-bottom:18px;padding:14px 18px;border:1px solid #fed7aa;background:#fff7ed}.quality-notice strong{color:#c2410c}.quality-notice span{color:#64748b;font-weight:700}

.material-lines{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:rgba(255,255,255,.65)}.compact-section-title{padding:12px 14px}.compact-section-title .ghost{padding:7px 10px;border-radius:10px}.material-lines table input{padding:8px 9px;border-radius:10px}.material-lines th:nth-child(2),.material-lines td:nth-child(2),.material-lines th:nth-child(3),.material-lines td:nth-child(3),.material-lines th:nth-child(4),.material-lines td:nth-child(4){width:130px}.material-lines th:last-child,.material-lines td:last-child{width:90px}.line-total{font-weight:800;white-space:nowrap}.material-total{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:12px 14px;border-top:1px solid var(--line);font-weight:800}.material-total span{color:var(--muted)}

.row-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.row-actions form{margin:0}.row-action.danger-action{border:0;cursor:pointer;background:#fff1f2;color:#be123c}


.signature-shell{max-width:980px;margin:0 auto 22px;overflow:hidden}.signature-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;padding:18px;border-bottom:1px solid var(--line)}.signature-summary div{display:grid;gap:3px}.signature-summary span,.signed-box span{color:var(--muted);font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.06em}.signature-summary strong,.signed-box strong{font-size:16px}.signature-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:18px}.signature-pad{border:1px solid var(--line);border-radius:16px;background:white;padding:8px}.signature-pad canvas{display:block;width:100%;height:260px;border-radius:12px;background:#fff;touch-action:none}.signature-actions{display:flex;justify-content:center;gap:10px}.signature-actions .primary{min-width:min(360px,100%)}.signed-box{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;border-bottom:1px solid var(--line);background:#f8fafc}.signed-box div{display:grid;gap:3px}.signed-box small{color:var(--muted);font-weight:700}.signed-box img{max-width:280px;max-height:100px;border:1px solid var(--line);border-radius:12px;background:white;padding:8px}@media(max-width:720px){.signature-form{grid-template-columns:1fr}.signature-pad canvas{height:220px}.signed-box{align-items:flex-start;flex-direction:column}.signed-box img{max-width:100%}}
.material-actions{flex-wrap:nowrap;white-space:nowrap}.material-actions form{display:inline-flex}.material-actions .row-action{white-space:nowrap}.material-form .primary{justify-self:center;width:min(420px,100%);grid-column:1/-1}.page-head .primary{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.material-item-list{display:grid;gap:5px}.material-item-list div{line-height:1.35}.material-item-list span{display:inline-block;margin-left:8px;color:var(--muted);font-weight:800;font-size:12px}
