
:root{--nav:#142132;--ink:#243247;--muted:#778294;--orange:#e9783c;--line:#e6eaf0;--background:#f5f7fa;--blue:#4c72aa}
*{box-sizing:border-box}body{margin:0;font-family:Inter,'Segoe UI',Arial,sans-serif;font-size:16px;color:var(--ink);background:var(--background);line-height:1.5}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit}button,a,input,select,textarea{outline-offset:4px}button:focus-visible,a:focus-visible{outline:2px solid var(--orange)}button{transition:background .15s,border-color .15s}button svg{flex-shrink:0}small{font-size:14px}h1,h2,h3,p{margin:0}h2{font-size:17px;font-weight:650;letter-spacing:-.2px}h3{font-size:16px}input,textarea,select{width:100%;min-width:0;border:1px solid #dce2ea;border-radius:7px;padding:10px 12px;background:white;color:var(--ink);font-size:14px}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid #e9783c55;border-color:var(--orange)}
.app{min-height:100vh}.sidebar{position:fixed;left:0;top:0;bottom:0;width:246px;background:var(--nav);color:#acb7c6;display:flex;flex-direction:column;z-index:30;padding:28px 17px 0}.brand{display:flex;align-items:center;gap:11px;padding:0 6px 24px;color:#fff;letter-spacing:.6px;font-size:18px;font-weight:650;white-space:nowrap}.brand b{font-weight:400;color:#e98d54}.brand small{font-size:12px;letter-spacing:1.3px;display:block;color:#8b9aad;margin-top:3px}.brand-icon{background:#e9783c;border-radius:10px;width:39px;height:43px;display:grid;place-items:center;flex-shrink:0}.workspace{border:1px solid #334052;border-radius:9px;padding:11px 9px;display:flex;gap:10px;align-items:center;color:#e3e8ee;font-size:14px;margin-bottom:16px}.workspace small{font-size:12px;display:block;color:#8595a9}.workspace-icon{color:#a0b0c4;display:grid;place-items:center}.sidebar nav{overflow-y:auto;flex:1;scrollbar-width:thin}.nav-group{margin-bottom:16px}.nav-group>p{font-size:12px;letter-spacing:1.4px;font-weight:650;color:#6e8097;margin:13px 11px 7px}.nav-group button{border:0;background:none;color:#a7b4c6;display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:10px 12px;border-radius:7px;font-size:14px;margin:2px 0}.nav-group button:hover{background:#253346;color:white}.nav-group button.selected{background:#e9783c;color:white;box-shadow:0 4px 10px #0001}.nav-count{font-size:12px;color:#f6b285;background:#ffffff12;padding:0 6px;border-radius:4px;margin-left:auto}.sidebar-foot{display:flex;align-items:center;gap:9px;padding:20px 2px;border-top:1px solid #2a384a;color:#e4e8ee;font-size:14px}.sidebar-foot>div:nth-child(2){min-width:0;overflow:hidden;text-overflow:ellipsis}.sidebar-foot small{display:block;color:#8898ae;font-size:12px}.sidebar-foot a{margin-left:auto;color:#8e9db1}.avatar{background:#31435c;color:#fff;border-radius:50%;width:34px;height:34px;font-size:12px;font-weight:600;display:grid;place-items:center;flex-shrink:0}.avatar.light{color:#6a7381;background:#e9edf3}.main{margin-left:246px}.topbar{height:73px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 36px}.breadcrumb{display:flex;align-items:center;gap:12px;font-size:14px;color:#94a0ae}.breadcrumb b{color:#5d697a;font-weight:500}.top-right{display:flex;gap:20px;align-items:center}.private{display:flex;gap:6px;align-items:center;font-size:12px;color:#6b7b8c}.demo-button{background:none;border:1px solid var(--line);border-radius:6px;padding:5px 10px;font-size:12px;color:#637184}.demo-button.on{color:#b76727;border-color:#eaba94;background:#fff7eb}main{padding:32px 36px 20px;max-width:1800px;margin:0 auto}.page-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:28px}.eyebrow{font-size:12px;letter-spacing:1.5px;color:#94a0ae;font-weight:600;margin-bottom:7px}h1{font-size:30px;line-height:1.25;font-weight:650;letter-spacing:-1px}.subtitle{font-size:14px;color:#8691a1;margin-top:8px}.heading-actions{display:flex;gap:10px;flex-shrink:0}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;border-radius:7px;padding:9px 14px;font-size:14px;font-weight:600;white-space:nowrap;border:1px solid transparent}.primary{background:var(--orange);color:#fff;box-shadow:0 2px 3px #e9783c12}.primary:hover:not(:disabled){background:#db6b30}.secondary{background:white;color:#596679;border-color:#dfe4eb}.secondary:hover:not(:disabled){background:#f7f8fa}.icon{background:none;border:0;display:grid;place-items:center;color:#7f8a9b;padding:7px}.mobile-toggle{display:none}.banner{display:flex;align-items:center;gap:10px;padding:13px 16px;border:1px solid #dce5ef;border-radius:8px;background:#eff4fb;color:#57708b;font-size:14px;margin:0 0 20px}.banner.demo{background:#fff8ed;border-color:#eddbc0;color:#9b6b32}.banner.error{color:#9a4545;background:#fff0f0;border-color:#efd2d2}.banner a{font-weight:600;margin-left:auto}.banner button{border:0;background:none;text-decoration:underline}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:19px;margin-bottom:26px}.stat{border:1px solid var(--line);background:#fff;border-radius:10px;box-shadow:0 3px 7px #23314503;padding:19px 20px;text-align:left;transition:transform .15s}.stat:hover{transform:translateY(-2px)}.stat-label{display:flex;align-items:center;justify-content:space-between;font-size:14px;color:#6e7b8e;gap:8px}.stat-icon{height:35px;width:35px;display:grid;place-items:center;border-radius:9px}.blue{background:#edf3fc;color:#5d80b7}.orange{background:#fff0e6;color:#df8547}.red{background:#fceded;color:#d87272}.green{background:#eaf6f0;color:#549582}.stat>strong{display:block;font-size:34px;font-weight:650;letter-spacing:-1.2px;margin:8px 0 8px;line-height:1.2}.stat>small{border-top:1px solid #f0f2f6;padding-top:10px;display:flex;justify-content:space-between;color:#95a0ae;font-size:12px}.panel{border:1px solid var(--line);background:white;border-radius:10px;box-shadow:0 3px 6px #23314502;overflow:hidden}.panel-heading{padding:21px 23px 20px;display:flex;align-items:center;justify-content:space-between;gap:15px}.panel-heading p{color:#99a3b0;font-size:12px;margin-top:3px}.text-button{display:inline-flex;align-items:center;gap:5px;background:none;border:0;color:#6f7f94;font-size:12px;padding:0}.text-button:hover{color:var(--orange)}.dashboard-grid{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(270px,1fr);gap:22px;margin-bottom:25px}.pipeline-row{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;padding:11px 25px 30px}.pipeline-row button{border:0;background:none;text-align:center;min-width:0;padding:0}.phase{display:flex;justify-content:center;position:relative;height:45px;align-items:center;margin-bottom:10px}.phase span{position:absolute;top:0;left:0;font-size:12px;color:#c2c8d1}.phase strong{font-size:27px;font-weight:550;color:#6b87b3}.phase-3 strong,.phase-4 strong{color:#e79a67}.phase-5 strong{color:#599c8a}.pipeline-row b{font-size:12px;color:#7a8799;font-weight:500;display:block;white-space:nowrap}.phase-bar{height:5px;margin-top:17px;background:#eef2f6;border-radius:5px;overflow:hidden}.phase-bar i{display:block;height:100%;background:#9ab0cb}.pipeline-row button:nth-child(5) i{background:#e2a16f}.pipeline-row button:last-child i{background:#80b4a5}.pipeline-foot{border-top:1px solid var(--line);padding:12px 24px;display:flex;justify-content:space-between;font-size:12px;color:#9ca7b5}.pipeline-foot span{display:flex;align-items:center;gap:7px}.pipeline-foot i{width:5px;height:5px;background:#6ea590;border-radius:50%}.attention-item{display:flex;align-items:center;gap:12px;padding:15px 20px;width:100%;border:0;border-top:1px solid #f0f2f5;background:white;text-align:left}.attention-item>svg{margin-left:auto;color:#a1adbb}.attention-item b{font-size:14px;font-weight:550}.attention-item small{display:block;font-size:12px;color:#99a4b1;margin-top:4px}.issue-icon{width:33px;height:33px;background:#fff0e8;color:#d48e63;border-radius:8px;display:grid;place-items:center}.issue-icon.blue{background:#edf3fc;color:#6288b6}.attention-clear{display:flex;flex-direction:column;align-items:center;gap:7px;padding:17px;color:#70a490}.attention-clear b{font-size:14px;font-weight:500;color:#82918f}.attention-clear small{font-size:12px;color:#9da9b2}.lower-grid{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(270px,1fr);gap:22px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{font-size:12px;font-weight:500;color:#8b97a6;background:#f9fafc;padding:12px 22px;border-top:1px solid #f0f2f6;border-bottom:1px solid #ecf0f4}td{font-size:14px;color:#7d8b9e;padding:17px 22px;border-bottom:1px solid #f0f3f6}td strong{font-size:14px;font-weight:550;color:#526176;display:block;max-width:360px;overflow:hidden;text-overflow:ellipsis}td small{display:block;font-size:12px;color:#9ca7b5;margin-top:3px}tbody tr{cursor:pointer}tbody tr:hover{background:#fcfcfd}.badge{display:inline-block;font-size:12px;border-radius:5px;padding:4px 8px;font-weight:500;white-space:nowrap}.badge.amber{background:#fff3e4;color:#be8c53}.badge.blue{background:#edf3fb;color:#6c8bbe}.badge.green{background:#eaf5ef;color:#649c86}.badge.red{background:#fdeeee;color:#bf7070}.activity-item{display:flex;gap:12px;padding:17px 22px;background:white;border:0;text-align:left;width:100%}.activity-item b{font-size:12px;font-weight:500;color:#657489}.activity-item small{display:block;font-size:12px;margin-top:6px;color:#a3acb8}.activity-mark{height:23px;width:23px;background:#f1f5f8;color:#8596a9;border-radius:50%;display:grid;place-items:center;flex-shrink:0}.trace-note{display:flex;align-items:center;gap:9px;padding:16px 22px;margin-top:12px;background:#f9fafc;border-top:1px solid var(--line);font-size:12px;color:#a1abba}.empty{text-align:center;color:#a0abb7;display:flex;flex-direction:column;align-items:center;gap:10px;padding:45px 20px}.empty h3{font-size:16px;color:#6e7e91;font-weight:500}.empty p{font-size:14px}.empty.small{padding:26px}.tabs{display:flex;gap:21px;overflow-x:auto;padding:0 22px;border-bottom:1px solid var(--line);scrollbar-width:thin}.tabs button{background:none;border:0;white-space:nowrap;padding:19px 0;font-size:14px;color:#8b96a4;border-bottom:2px solid transparent}.tabs button.active{color:#d9844a;border-bottom-color:#e9783c}.tabs button span{background:#f0f2f6;color:#8b97a8;padding:2px 5px;border-radius:4px;margin-left:6px;font-size:12px}.table-tools{display:flex;align-items:center;gap:15px;padding:19px 22px}.search{display:flex;align-items:center;gap:10px;border:1px solid #e6eaf0;border-radius:6px;padding:0 12px;width:430px;color:#9aa6b6}.search input{border:0;background:none;font-size:12px;padding:10px 0}.search input:focus{outline:none}.table-tools>span{margin-left:auto;font-size:12px;color:#a0aab6}.table-footer{display:flex;justify-content:space-between;padding:14px 23px;font-size:12px;color:#9ca7b5}.page-footer{display:flex;justify-content:space-between;font-size:12px;color:#a4aebc;margin-top:27px;padding:15px 0}.page-footer>span{display:flex;align-items:center;gap:7px}.page-footer i{height:3px;width:3px;background:#c0c8d1;border-radius:50%}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px}.setting{padding:25px;display:flex;flex-direction:column;gap:16px;align-items:flex-start}.setting>svg,.document-card>svg{color:#7d90a8}.setting p,.document-card p{font-size:14px;color:#8b97a7;line-height:1.6}.setting>small{font-size:12px;color:#9aa6b5;line-height:1.6}.setting .field{width:100%}.chips{display:flex;flex-wrap:wrap;gap:6px}.chips span{font-size:12px;padding:5px 9px;background:#f4f6f9;color:#8695a8;border-radius:5px}.field{font-size:14px;font-weight:500;display:flex;flex-direction:column;gap:6px;color:#718096}.field em{color:#e88951;font-style:normal;display:contents}.field input,.field textarea,.field select{font-weight:400}.documents-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:23px;margin-bottom:24px}.document-card{padding:28px;display:flex;flex-direction:column;gap:15px;align-items:flex-start}.print-options{display:flex;flex-wrap:wrap;padding:0 23px 23px;gap:12px}.upload{display:flex;flex-direction:column;gap:10px;border:1px dashed #cbd5e0;border-radius:7px;background:#f9fafc;padding:20px;width:100%;font-size:14px;color:#8090a3}.upload input{background:none;border:0;padding:0;font-size:12px}.import-preview{max-height:220px;overflow:auto;width:100%;background:#f7f8fa;padding:12px;font-size:12px}.error-text{color:#b65757!important}.history-row{display:flex;gap:15px;padding:20px 24px;border-bottom:1px solid var(--line);align-items:flex-start}.history-row>div{flex:1}.history-row strong{font-size:14px;color:#687a91}.history-row small{display:block;font-size:12px;color:#95a3b3;margin-top:5px}.history-row details{margin-top:10px;font-size:12px;color:#8b98aa}.change-diff{display:grid;grid-template-columns:1fr 1fr;gap:12px}.change-diff pre{font-size:12px;white-space:pre-wrap;overflow:auto;background:#f6f8fa;padding:12px}.overlay{position:fixed;inset:0;background:#12203575;backdrop-filter:blur(2px);z-index:50;display:flex;justify-content:flex-end}.drawer{background:#fff;width:min(720px,100%);display:flex;flex-direction:column;box-shadow:-10px 0 40px #0002}.drawer-head{padding:24px 27px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:10px}.drawer-head h2{font-size:20px}.drawer-content{overflow:auto;padding:24px 27px;flex:1}.record-actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field.full{grid-column:1/-1}.form-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:25px;border-top:1px solid var(--line);padding-top:20px}.form-help{font-size:12px;line-height:1.6;color:#8d99a7;margin-top:20px}.record-history{padding-top:25px;margin-top:25px;border-top:1px solid var(--line)}.record-history h3{display:flex;align-items:center;gap:8px;color:#7d8c9e;margin-bottom:20px;margin-top:15px}.record-history>div{padding:12px 0;border-bottom:1px solid #f0f3f5}.record-history b{font-size:14px;font-weight:500}.record-history small{display:block;font-size:12px;color:#9aa5b2;margin-top:5px}.related-job{display:block;font-size:12px;margin-top:10px;border:0;background:#f4f7fa;padding:9px 12px;text-align:left;border-radius:6px;color:#7b8ca0;width:100%}.toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:#27394e;color:white;border-radius:9px;padding:16px 20px;box-shadow:0 10px 30px #0003;display:flex;align-items:center;gap:12px;z-index:100;font-size:14px;max-width:90vw}.toast button{border:0;background:none;color:white}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.print-sheet{position:fixed;inset:0;background:white;z-index:100;padding:50px;overflow:auto;color:#243247}.print-sheet header{border-bottom:2px solid #243247;padding-bottom:20px;margin-bottom:20px}.print-sheet dl>div{display:grid;grid-template-columns:220px 1fr;padding:10px 0;border-bottom:1px solid #eee;break-inside:avoid;font-size:14px}.print-sheet dd{margin:0;white-space:pre-wrap}.print-controls{display:flex;gap:20px;justify-content:flex-end;margin-bottom:30px}.print-disclaimer{font-size:12px;margin-top:30px;color:#888}
@media(min-width:1600px){.topbar{padding:0 45px}main{padding:40px 45px}.sidebar{width:260px}.main{margin-left:260px}}
@media(max-width:1200px){.sidebar{width:220px}.main{margin-left:220px}main{padding:28px 24px}.topbar{padding:0 24px}.dashboard-grid,.lower-grid{grid-template-columns:1fr}.stats{gap:12px}.stat{padding:16px}.stat-label{font-size:12px}.page-heading{align-items:flex-start}.heading-actions{flex-wrap:wrap;justify-content:flex-end}.pipeline-row{padding-top:0}.panel-heading p{font-size:14px}.page-footer{font-size:12px}}
@media(max-width:900px){.stats{grid-template-columns:repeat(2,1fr)}.page-heading{flex-direction:column}.heading-actions{justify-content:flex-start}.documents-grid{grid-template-columns:1fr}.top-right{gap:10px}}
@media(max-width:700px){.sidebar{transform:translateX(-100%);transition:transform .2s;width:246px}.sidebar.shown{transform:translateX(0)}.main{margin-left:0}.mobile-toggle{display:grid}.topbar{padding:0 15px;height:64px}.breadcrumb{gap:5px;font-size:12px}.breadcrumb>b{display:none}.private{display:none}main{padding:23px 16px}.stats{gap:10px}.stat{padding:15px}.stat-icon{width:27px;height:27px}.stat-label{font-size:12px}.stat>strong{font-size:29px}.pipeline-row{gap:9px;grid-template-columns:repeat(3,1fr);padding:5px 20px 22px}.pipeline-row b{font-size:14px}.panel-heading{padding:18px}.table-tools{flex-wrap:wrap;padding:16px}.search{width:100%}.table-tools>span{margin-left:0}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.drawer-head,.drawer-content{padding:20px}.page-footer{display:block;font-size:12px}.page-footer span+span{margin-top:10px}.print-sheet{padding:25px}.print-sheet dl>div{grid-template-columns:1fr;gap:5px}.history-row{padding:16px}.change-diff{grid-template-columns:1fr}.subtitle{font-size:14px}.setting>small{font-size:14px}}
@media print{@page{size:A4;margin:16mm}body{background:white}.app>.sidebar,.app>.main,.overlay,.toast{display:none!important}.print-sheet{position:static;padding:0;overflow:visible}.print-controls{display:none}.print-sheet table{white-space:normal}.print-sheet td,.print-sheet th{font-size:12px;padding:9px}.print-sheet h1{font-size:24px}.print-sheet h2{font-size:18px}}

.badge,.pipeline-row b,.stat-label,.nav-group button,.tabs button,.field,.primary,.secondary,.search input{font-size:14px}td strong,td{font-size:14px}.subtitle,.setting p,.document-card p{font-size:16px}.panel-heading p{font-size:13px}

.record-fields{border:0;padding:0;margin:0;min-width:0}.danger{background:#fff0ef;color:#b3524f;border:1px solid #edc7c5;border-radius:7px;padding:9px 14px;font-size:14px}.delete-confirm{background:#fff7f6;border:1px solid #edd5d3;border-radius:8px;padding:18px;margin-bottom:22px;display:grid;gap:12px}.delete-confirm p{font-size:14px;color:#9a7775}.account-dialog{margin:auto;background:white;border-radius:12px;padding:28px;width:min(480px,95vw)}.account-dialog form{display:grid;gap:18px;margin-top:20px}.sidebar-foot .icon{margin-left:auto;color:#8e9db1}

.chips span{display:inline-flex;gap:6px;align-items:center}.chip-delete{padding:0;background:none;border:0;display:grid;place-items:center;color:#b67a67}

/* Identidad corporativa de Leo S.A.T. e Instalaciones */
.brand.brand-leo{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:0 0 24px;white-space:normal;letter-spacing:0}
.brand-logo{display:block;width:100%;height:auto;object-fit:contain;background:#fff;border-radius:4px;padding:6px}
.brand.brand-leo small{color:#c9d2df;font-size:12px;font-weight:400;letter-spacing:.2px;margin:0 0 0 6px;line-height:1.4}
.login-logo{display:block;width:100%;height:auto;margin-bottom:12px}
.login-card .login-brand{font-size:20px;letter-spacing:-.3px}

.inline-overlay{z-index:70}.inline-dialog{width:min(600px,100%)}.inline-create{justify-content:flex-start;margin-top:6px;font-size:12px}.inline-dialog .form-help{margin:0 0 20px}.inline-dialog input,.inline-dialog select,.inline-dialog textarea{min-width:0}
