:root{--bg:#f4f6f9;--card:#fff;--text:#13233a;--muted:#718096;--line:#e5eaf0;--blue:#173d6b;--blue2:#24588f;--green:#129b73;--amber:#d69324;--shadow:0 8px 28px rgba(19,35,58,.06)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:DM Sans,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.sidebar{position:fixed;inset:0 auto 0 0;width:242px;background:#102c4d;color:#dce8f4;padding:30px 18px;display:flex;flex-direction:column;z-index:5}.brand{display:flex;align-items:center;gap:10px;font:800 21px Manrope;margin:0 10px 42px;color:#fff}.brand span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#fff;color:#16375e;font-size:24px}.sidebar nav{display:grid;gap:7px}.sidebar nav button{border:0;background:transparent;color:#aebed0;display:flex;align-items:center;gap:13px;padding:12px 14px;border-radius:9px;text-align:left}.sidebar nav button.active{background:#21466e;color:#fff}.sidebar nav b{margin-left:auto;background:#2d5279;padding:2px 7px;border-radius:10px;font-size:11px}.sidebar-foot{margin-top:auto}.help{position:relative;background:#183a61;border:1px solid #2c5278;border-radius:12px;padding:15px;margin-bottom:20px}.help small,.profile small{display:block;color:#91a8c0;font-size:11px}.help strong{display:block;font-size:13px;margin-top:4px}.help span{position:absolute;right:14px;bottom:15px}.profile{display:flex;align-items:center;gap:10px;border-top:1px solid #2a4665;padding-top:18px}.profile strong{font-size:13px}.profile button,.panel button{border:0;background:none;color:var(--muted);margin-left:auto}.avatar{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#d9e6f3;color:#1a436f;font-weight:700;font-size:12px}main{margin-left:242px;min-height:100vh}main>header{height:76px;background:var(--card);border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 38px;position:sticky;top:0;z-index:4}.search{display:flex;align-items:center;gap:10px;color:var(--muted)}.search input{border:0;outline:0;background:transparent;width:290px;color:var(--text)}.header-actions{margin-left:auto;display:flex;align-items:center;gap:10px}.header-actions>button:not(.btn),.mobile-menu{border:0;background:none;color:var(--muted);padding:8px}.mobile-menu{display:none}.notification{position:relative}.notification i{position:absolute;width:7px;height:7px;background:#ef6b64;border-radius:50%;right:7px;top:6px;border:2px solid var(--card)}.btn{border:1px solid transparent;border-radius:8px;padding:10px 16px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn svg{width:17px}.btn.primary{background:var(--blue);color:#fff}.btn.secondary{background:var(--card);border-color:var(--line);color:var(--text)}.content{padding:37px 40px 70px;max-width:1500px;margin:auto}.page-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:30px}.eyebrow{color:#7890a8;font-size:11px;font-weight:700;letter-spacing:1.5px;margin:0 0 8px}.page-head h1,.project-hero h1{font:800 28px Manrope;margin:0 0 7px;letter-spacing:-.7px}.page-head h1 span{font-size:24px}.page-head p,.project-hero p{margin:0;color:var(--muted);font-size:14px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:38px}.metrics article{position:relative;background:var(--card);border:1px solid var(--line);border-radius:13px;padding:21px;display:flex;align-items:center;gap:16px;box-shadow:var(--shadow)}.metric-icon{width:47px;height:47px;border-radius:11px;display:grid;place-items:center;font-weight:800}.metric-icon.blue{background:#e7eff9;color:#25558d}.metric-icon.amber{background:#fff3dd;color:var(--amber)}.metric-icon.green{background:#dff5ed;color:var(--green)}.metrics small{color:var(--muted);font-size:10px;font-weight:700;letter-spacing:1px}.metrics h2{font:800 25px Manrope;margin:3px 0}.metrics p{font-size:11px;color:var(--muted);margin:0}.metrics p b{color:var(--green)}.trend{position:absolute;right:18px;top:19px;background:#e2f5ee;color:var(--green);border-radius:12px;padding:4px 7px;font-size:10px}.trend.warning{background:#fff1dc;color:var(--amber);border-radius:50%}.ring{margin-left:auto;width:49px;height:49px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--green) 72%,#e8edf1 0);position:relative;font-size:11px;color:var(--green);font-weight:700}.ring:after{content:"";position:absolute;inset:5px;background:var(--card);border-radius:50%}.ring>*,.ring{isolation:isolate}.ring small{color:inherit}.section-title{display:flex;justify-content:space-between;align-items:end;margin:25px 0 15px}.section-title h2{font:700 18px Manrope;margin:0 0 4px}.section-title p{font-size:12px;color:var(--muted);margin:0}.text-btn{border:0;background:none;color:var(--blue2);font-size:12px;font-weight:700;display:flex;gap:6px;align-items:center}.text-btn svg{width:14px}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.project-grid.wide{grid-template-columns:repeat(3,1fr)}.project-card{background:var(--card);border:1px solid var(--line);border-radius:13px;padding:19px;box-shadow:var(--shadow);cursor:pointer;transition:.2s}.project-card:hover{transform:translateY(-2px);border-color:#b8c9db}.card-top{display:flex;align-items:center;gap:10px}.company-logo{width:38px;height:38px;border-radius:9px;background:#e5edf6;display:grid;place-items:center;color:#234b77;font:700 15px Manrope}.company-logo.c2{background:#ece8fa;color:#634fa3}.company-logo.c3{background:#e2f3ea;color:#21805d}.card-top button{margin-left:auto;border:0;background:none;color:var(--muted)}.project-card h3{font:700 15px Manrope;margin:17px 0 5px}.project-card>p{color:var(--muted);font-size:11px;margin:0 0 20px}.pill{display:inline-flex;align-items:center;gap:6px;border-radius:12px;padding:5px 8px;font-size:10px;font-weight:700;background:#e9f1fa;color:#34618f}.pill i{width:5px;height:5px;border-radius:50%;background:currentColor}.pill.en-progreso{color:#34618f}.pill.en-revision,.pill.lista-para-aprobacion{background:#fff1dc;color:#b57517}.pill.borrador,.pill.pendiente{background:#edf0f3;color:#697b8e}.pill.aprobada,.pill.aprobado-totalmente{background:#e0f5ed;color:#12805f}.pill.en-desarrollo{background:#e9effa;color:#315e95}.progress-label{font-size:10px;display:flex;justify-content:space-between;margin-bottom:7px}.progress-label span{color:var(--muted)}.bar{height:5px;background:#e9edf2;border-radius:10px;overflow:hidden}.bar i{display:block;height:100%;background:var(--green);border-radius:10px}.project-card footer{border-top:1px solid var(--line);margin-top:18px;padding-top:14px;display:flex;justify-content:space-between;color:var(--muted);font-size:10px}.project-card footer span{display:flex;align-items:center;gap:4px}.project-card footer svg{width:12px}.bottom-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:16px;margin-top:30px}.panel{background:var(--card);border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow)}.panel-head{display:flex;padding:20px;border-bottom:1px solid var(--line)}.panel-head h3{font:700 15px Manrope;margin:0 0 4px}.panel-head p{font-size:11px;color:var(--muted);margin:0}.event{display:flex;align-items:center;gap:12px;padding:15px 20px}.event+.event{border-top:1px solid var(--line)}.event-icon{width:34px;height:34px;border-radius:50%;display:grid;place-items:center}.event-icon svg{width:16px}.event-icon.success{background:#e0f5ed;color:var(--green)}.event-icon.blue{background:#e8f0f8;color:var(--blue2)}.event p{font-size:12px;margin:0 0 3px}.event small,.approval-row small{color:var(--muted);font-size:10px}.count{margin-left:auto;background:#fff0db;color:var(--amber);height:22px;min-width:22px;border-radius:11px;display:grid;place-items:center;font-size:10px}.approval-row{display:flex;align-items:center;gap:11px;padding:13px 20px}.approval-row+.approval-row{border-top:1px solid var(--line)}.approval-row strong,.approval-row small{display:block;font-size:11px}.toolbar{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);margin-bottom:24px}.tabs{display:flex;gap:25px}.tabs button{border:0;background:none;padding:10px 0;border-bottom:2px solid transparent;color:var(--muted)}.tabs button.active{border-color:var(--blue);color:var(--text);font-weight:700}.tabs b{font-size:9px;background:#e5ebf1;padding:2px 6px;border-radius:8px}.toolbar select{border:1px solid var(--line);background:var(--card);color:var(--text);padding:8px;border-radius:7px}.table-wrap{overflow:hidden}table{width:100%;border-collapse:collapse;text-align:left}th{background:#f8fafb;color:var(--muted);font-size:10px;letter-spacing:.8px;padding:13px 20px}td{padding:16px 20px;border-top:1px solid var(--line);font-size:12px}td small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.client-cell{display:flex;align-items:center;gap:11px}.back{border:0;background:none;color:var(--muted);margin-bottom:23px}.project-hero{display:flex;justify-content:space-between;align-items:end;margin-bottom:27px}.hero-line{display:flex;align-items:center;gap:9px;margin-bottom:10px}.hero-line>span{font-size:10px;color:var(--muted)}.hero-actions{display:flex;gap:8px}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:22px}.project-summary{padding:20px}.project-summary>div:first-child{display:flex;justify-content:space-between;align-items:end}.project-summary small{color:var(--muted);font-size:9px;font-weight:700;letter-spacing:.8px}.project-summary h2{font:800 22px Manrope;margin:0}.project-summary>.bar{height:7px;margin:8px 0 20px}.summary-meta{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);padding-top:16px}.summary-meta span+span{border-left:1px solid var(--line);padding-left:20px}.summary-meta strong{display:block;font-size:11px;margin-top:4px}.phases{display:grid;gap:12px}.phase{padding:20px}.phase-head{display:grid;grid-template-columns:36px 1fr auto;gap:12px;align-items:start}.phase-num{width:32px;height:32px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700}.phase-num.done{background:var(--green);color:#fff;border-color:var(--green)}.phase-num svg{width:16px}.phase-head small{font-size:9px;color:var(--muted);letter-spacing:1px}.phase-head h3{font:700 14px Manrope;margin:3px 0}.phase-head p{font-size:11px;color:var(--muted);margin:0}.task-list{margin:17px 0 0 48px;border-top:1px solid var(--line);padding-top:11px;display:grid;gap:7px}.task-list label{font-size:11px;display:flex;align-items:center;gap:8px;color:var(--text)}.task-list input{display:none}.task-list label>span{width:17px;height:17px;border:1px solid #cbd4de;border-radius:4px;display:grid;place-items:center}.task-list input:checked+span{background:var(--green);color:#fff;border-color:var(--green)}.task-list svg{width:12px}.phase footer{margin:16px 0 0 48px;display:grid;grid-template-columns:1fr 2fr auto;align-items:center;gap:10px}.phase footer div:first-child{display:flex;justify-content:space-between;font-size:9px}.phase footer div:first-child strong{margin-left:10px}.btn.small{font-size:10px;padding:7px 10px}.side-info{display:grid;align-content:start;gap:14px}.side-info .panel{padding:18px}.side-info h3{font:700 13px Manrope;margin:0 0 16px}.contact{display:flex;align-items:center;gap:10px;padding-bottom:15px;border-bottom:1px solid var(--line)}.contact strong,.contact small{display:block;font-size:11px}.contact small{color:var(--muted);margin-top:2px}.side-info>article>p{font-size:10px;color:var(--muted);margin:12px 0}.side-info .next{border-left:3px solid var(--amber)}.next span{font-size:9px;color:var(--amber);font-weight:700}.next h3{margin:8px 0}.empty{text-align:center;padding:60px 20px}.empty .metric-icon{margin:auto}.empty h2{font:700 18px Manrope}.empty p{color:var(--muted)}.approval-record{max-width:600px;margin:10px auto;padding:13px;border-top:1px solid var(--line);display:flex;justify-content:space-between}.public{min-height:100vh;background:#f4f6f9}.public>header{height:70px;background:#102c4d;color:#fff;display:flex;justify-content:space-between;align-items:center;padding:0 max(30px,calc((100% - 1120px)/2))}.public>header .brand{margin:0}.public>header>span{font-size:11px;color:#b9c8d8}.public>main{margin:0;max-width:1120px;padding:45px 24px 70px}.public-intro{text-align:center;margin-bottom:28px}.public-intro h1{font:800 29px Manrope;margin:7px}.public-intro>p:last-child{color:var(--muted);font-size:13px}.public-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:20px}.public-grid>.panel{padding:26px}.doc-head{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:18px}.doc-head small{display:block;color:var(--muted);font-size:9px}.doc-head strong{font-size:11px}.public-grid h2{font:700 17px Manrope;margin:24px 0 18px}.deliverable{display:flex;gap:12px;border:1px solid var(--line);border-radius:9px;padding:14px;margin-bottom:10px}.deliverable>span{color:var(--green);font-weight:700}.deliverable strong{font-size:12px}.deliverable p,.deliverable small{color:var(--muted);font-size:10px;margin:5px 0}.approval-form>h2{margin:0 0 7px}.approval-form>p{font-size:11px;color:var(--muted);margin-bottom:20px}.approval-form form,.modal{display:grid;gap:13px}.approval-form label,.modal label{font-size:10px;font-weight:700}.approval-form input,.approval-form textarea,.modal input,.modal select{display:block;width:100%;margin-top:6px;border:1px solid var(--line);border-radius:7px;padding:10px;background:var(--card);color:var(--text);outline:none}.approval-form textarea{height:65px;resize:none}.canvas-wrap{position:relative;border:1px dashed #b8c4d0;border-radius:7px;margin-top:6px;height:120px;background:#fbfcfd}.canvas-wrap canvas{width:100%;height:100%;touch-action:none}.canvas-wrap button{position:absolute;right:7px;top:7px;border:0;background:none;color:var(--muted);font-size:9px}.legal{display:flex!important;align-items:start;gap:8px;font-weight:400!important;line-height:1.5}.legal input{width:auto;margin:2px 0}.submit{width:100%}.audit{text-align:center;color:var(--muted);font-size:8px!important}.success-screen{grid-column:1/-1;text-align:center;padding:80px!important}.success-mark{width:50px;height:50px;background:#e1f5ed;color:var(--green);border-radius:50%;display:grid;place-items:center;margin:0 auto 15px}.success-screen p{color:var(--muted);max-width:520px;margin:0 auto 20px}.modal-bg{position:fixed;z-index:20;inset:0;background:#08182a94;display:grid;place-items:center;padding:20px}.modal{position:relative;background:var(--card);width:min(520px,100%);border-radius:14px;padding:28px;box-shadow:0 20px 60px #08182a55}.modal h2{font:800 23px Manrope;margin:0}.modal>p:not(.eyebrow){color:var(--muted);font-size:12px;margin:0 0 8px}.modal-close{position:absolute;right:16px;top:16px;border:0;background:none;color:var(--muted)}.modal-close svg{width:17px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.small-modal{text-align:center}.small-modal>.modal-close:last-child{position:static;width:100%}[data-theme=dark]{--bg:#0d1724;--card:#142233;--text:#edf3f8;--muted:#90a0b1;--line:#26384a;--shadow:0 8px 28px #02070d33}.dark .sidebar{background:#091b2e}[data-theme=dark] .ring:after{background:var(--card)}[data-theme=dark] th{background:#101e2e}[data-theme=dark] .canvas-wrap{background:#f7fafc}[data-theme=dark] .public{background:var(--bg)}@media(max-width:1050px){.metrics{grid-template-columns:1fr 1fr}.metrics article:last-child{grid-column:1/-1}.project-grid{grid-template-columns:1fr 1fr}.detail-grid{grid-template-columns:1fr}.side-info{grid-template-columns:1fr 1fr}.public-grid{grid-template-columns:1fr}}@media(max-width:760px){.sidebar{display:none}main{margin-left:0}main>header{padding:0 16px;height:65px}.mobile-menu{display:block}.search input{width:120px}.header-actions .primary{font-size:0;padding:9px}.header-actions .primary svg{margin:0}.content{padding:25px 17px 60px}.page-head,.project-hero{align-items:start;gap:20px}.metrics,.project-grid,.project-grid.wide,.bottom-grid{grid-template-columns:1fr}.metrics article:last-child{grid-column:auto}.side-info{grid-template-columns:1fr}.toolbar{overflow:auto}.tabs{gap:16px;white-space:nowrap}.toolbar select{display:none}.table-wrap{overflow:auto}table{min-width:650px}.hero-actions{flex-direction:column}.phase{padding:15px}.phase-head{grid-template-columns:32px 1fr}.phase-head>.pill{grid-column:2}.task-list,.phase footer{margin-left:0}.phase footer{grid-template-columns:1fr}.public>header{padding:0 18px}.public>header>span{display:none}.public>main{padding:28px 14px}.public-grid>.panel{padding:18px}.form-row{grid-template-columns:1fr}.page-head .secondary{white-space:nowrap}}.finance-card{margin-top:14px;padding:20px}.finance-head{display:flex;align-items:center;justify-content:space-between}.finance-head small,.finance-stats small{display:block;color:var(--muted);font-size:9px;letter-spacing:.8px}.finance-head h2{font:700 17px Manrope;margin:4px 0}.finance-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:18px 0}.finance-stats span{padding:13px;background:var(--bg);border-radius:8px}.finance-stats strong{display:block;margin-top:5px}.finance-stats span:nth-child(2) strong{color:var(--green)}.payment-progress{display:flex;align-items:center;gap:12px}.payment-progress .bar{flex:1}.payment-progress small,.no-payments{font-size:10px;color:var(--muted)}.payment-list{margin-top:14px;border-top:1px solid var(--line)}.payment-list>div{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line);font-size:11px}.payment-list small{display:block;color:var(--muted);margin-top:2px}.payment-list time{color:var(--muted);font-size:10px}@media(max-width:600px){.finance-stats{grid-template-columns:1fr}}.login-page{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr;background:var(--card)}.login-copy{background:linear-gradient(145deg,#0e2948,#173f6b);color:#fff;padding:55px 8vw;display:flex;flex-direction:column;justify-content:space-between}.login-copy .brand{margin:0}.login-copy h1{font:800 clamp(32px,4vw,57px)/1.08 Manrope;margin:15px 0}.login-copy h1 em{font-style:normal;color:#70d3b3}.login-copy>div>p:last-child{color:#b7c8da;max-width:510px;line-height:1.7}.login-copy>small{color:#7992ad}.login-panel{display:grid;place-items:center;padding:35px}.login-panel form{width:min(390px,100%);display:grid;gap:17px}.login-mark{width:48px;height:48px;display:grid;place-items:center;background:var(--blue);color:#fff;border-radius:13px;font:800 30px Manrope}.login-panel h2{font:800 28px Manrope;margin:8px 0 -10px}.login-panel form>p{color:var(--muted);margin:0 0 12px}.login-panel label{font-size:12px;font-weight:700}.login-panel input{display:block;width:100%;margin-top:7px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--text)}.login-panel form>small{text-align:center;color:var(--muted)}.login-error{padding:10px 12px;border-radius:7px;background:#fff0ef;color:#b54640;font-size:12px}@media(max-width:760px){.login-page{grid-template-columns:1fr}.login-copy{display:none}.login-panel{min-height:100vh}}.project-info{margin-top:14px;padding:20px}.project-info>p{color:var(--muted);font-size:12px;line-height:1.65;white-space:pre-wrap}.project-dates{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}.project-dates span{background:var(--bg);padding:12px;border-radius:8px}.project-dates small{display:block;color:var(--muted);font-size:9px}.project-dates strong{display:block;font-size:12px;margin-top:4px}.management-actions{display:flex;gap:8px}.activity-log{border-top:1px solid var(--line);margin-top:18px;padding-top:14px}.activity-log h3{font:700 13px Manrope}.activity-log>div{display:grid;grid-template-columns:1fr auto auto;gap:15px;padding:10px 0;border-top:1px solid var(--line);align-items:center}.activity-log small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.activity-log b{color:var(--green)}.activity-log time{font-size:10px;color:var(--muted)}.project-modal{width:min(650px,100%);max-height:90vh;overflow:auto}.modal textarea{display:block;width:100%;margin-top:6px;border:1px solid var(--line);border-radius:7px;padding:10px;background:var(--card);color:var(--text);resize:vertical}.empty-projects{grid-column:1/-1;text-align:center;padding:45px}@media(max-width:600px){.project-dates{grid-template-columns:1fr}.management-actions{flex-direction:column}.activity-log>div{grid-template-columns:1fr auto}.activity-log time{grid-column:1/-1}}.form-section-title{font:700 14px Manrope;margin:12px 0 -4px;padding-top:15px;border-top:1px solid var(--line)}.logistics-card{margin-top:14px;padding:20px}.logistics-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}.logistics-grid span{background:var(--bg);padding:12px;border-radius:8px}.logistics-grid small{display:block;color:var(--muted);font-size:9px}.logistics-grid strong{display:block;font-size:11px;line-height:1.45;margin-top:4px}.logistics-card>p{font-size:11px;color:var(--muted);line-height:1.5}@media(max-width:600px){.logistics-grid{grid-template-columns:1fr}}.planning-grid{margin-top:14px;padding:20px}.planning-table{margin-top:16px;overflow:auto}.planning-row{display:grid;grid-template-columns:minmax(190px,2fr) 1fr 110px 60px 120px 90px;gap:12px;align-items:center;min-width:760px;padding:11px 8px;border-top:1px solid var(--line);font-size:11px}.planning-row.heading{color:var(--muted);font-size:9px;font-weight:700;background:var(--bg);border-radius:7px;border:0}.planning-row strong,.planning-row small{display:block}.planning-row small{color:var(--muted);margin-top:3px}.planning-row .late{color:#c94c46;font-weight:700}.planning-row b{font-size:10px}.mini-bar{display:block;width:80px;height:4px;background:var(--line);border-radius:4px;margin-top:5px}.mini-bar em{display:block;height:100%;background:var(--green);border-radius:4px}.planning-row .text-btn{font-size:10px}.task-maintenance{margin-top:14px;padding:20px}.task-count{font-size:10px;color:var(--muted);background:var(--bg);padding:6px 9px;border-radius:12px}.task-table{margin-top:16px;overflow:auto}.task-row{display:grid;grid-template-columns:minmax(180px,2fr) minmax(130px,1.3fr) 110px 90px 90px 120px;min-width:780px;gap:10px;padding:11px 8px;border-top:1px solid var(--line);align-items:center;font-size:10px}.task-row.heading{background:var(--bg);color:var(--muted);font-weight:700;border:0;border-radius:7px}.task-row strong,.task-row small{display:block}.task-row small{color:var(--muted);margin-top:3px}.task-done{color:var(--green)}.task-pending{color:var(--amber)}.row-actions{display:flex;gap:5px}.row-actions button{border:1px solid var(--line);background:var(--card);color:var(--blue2);border-radius:5px;padding:5px 7px;font-size:9px}.row-actions button.danger{color:#bb4b45}.danger-btn{background:#bd4842;color:#fff}.confirm-actions{display:flex;gap:8px}.confirm-actions .btn{position:static;flex:1}.task-empty{text-align:center;padding:25px;color:var(--muted)}.project-visual{margin-top:14px;padding:20px}.visual-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.visual-head small{color:var(--muted);font-size:9px;letter-spacing:.9px}.visual-head h2{font:700 17px Manrope;margin:4px 0}.visual-tabs{display:flex;background:var(--bg);padding:3px;border-radius:8px}.visual-tabs button{border:0;background:transparent;color:var(--muted);padding:7px 14px;border-radius:6px;font-size:10px;font-weight:700}.visual-tabs button.active{background:var(--card);color:var(--blue);box-shadow:0 2px 7px #102c4d18}.gantt{overflow:auto}.gantt-axis,.gantt-row{display:grid;grid-template-columns:190px minmax(480px,1fr);min-width:700px}.gantt-axis>span{font-size:9px;color:var(--muted);padding:8px}.gantt-axis>div{position:relative;height:32px;border-bottom:1px solid var(--line)}.gantt-axis time{position:absolute;transform:translate(-50%);font-size:9px;color:var(--muted);bottom:8px}.gantt-row>span{font-size:10px;padding:9px 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-bottom:1px solid var(--line)}.gantt-row.phase>span{font-weight:700}.gantt-row.task>span{padding-left:20px;color:var(--muted)}.gantt-track{position:relative;min-height:35px;border-bottom:1px solid var(--line);background:repeating-linear-gradient(90deg,transparent 0,transparent calc(25% - 1px),var(--line) 25%)}.gantt-track>small{display:block;padding:10px;color:var(--muted);font-size:9px}.gantt-bar{position:absolute;top:9px;height:17px;border-radius:4px;background:#d9e5f1;overflow:visible;min-width:8px}.gantt-row.task .gantt-bar{height:11px;top:12px;background:#e9edf2}.gantt-bar em{display:block;height:100%;background:var(--blue2);border-radius:4px}.gantt-row.task .gantt-bar em{background:var(--green)}.gantt-bar b{position:absolute;left:calc(100% + 5px);top:1px;font-size:8px;color:var(--muted);font-style:normal}.kanban{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:10px;overflow:auto}.kanban-column{background:var(--bg);border:1px solid var(--line);border-radius:9px;padding:10px;min-height:180px;transition:.2s}.kanban-column.drag-over{border-color:var(--blue2);background:#e8f0f8}.kanban-column>header{display:flex;justify-content:space-between;font-size:10px;font-weight:700;margin-bottom:10px}.kanban-column>header b{background:var(--card);border-radius:10px;padding:2px 7px}.kanban-column article{background:var(--card);border:1px solid var(--line);border-radius:7px;padding:10px;margin-bottom:8px;cursor:grab;box-shadow:0 3px 10px #102c4d0a}.kanban-column article strong,.kanban-column article small{display:block}.kanban-column article strong{font-size:10px}.kanban-column article small{font-size:9px;color:var(--muted);margin-top:4px}.kanban-column article footer{display:flex;justify-content:space-between;margin-top:10px;font-size:8px;color:var(--muted)}.kanban-hint{text-align:center;color:var(--muted);font-size:9px;margin:12px 0 0}@media(max-width:760px){.visual-head{align-items:flex-start;gap:10px}.kanban{grid-template-columns:repeat(4,210px)}}.dual-visuals{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:14px;margin-top:14px}.visual-window{padding:18px;min-width:0}.window-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.window-head small{color:var(--muted);font-size:9px;letter-spacing:.9px}.window-head h2{font:700 16px Manrope;margin:4px 0}.window-head>span{font-size:9px;color:var(--muted);background:var(--bg);padding:6px 8px;border-radius:10px}.visual-window .gantt{max-height:420px;overflow:auto}.visual-window .gantt-axis,.visual-window .gantt-row{grid-template-columns:145px minmax(380px,1fr);min-width:540px}.visual-window .kanban{grid-template-columns:repeat(4,190px);max-height:420px;overflow:auto;padding-bottom:6px}.gantt-row.color-0 .gantt-bar em,.kanban article.color-0 small i{background:#356fa9}.gantt-row.color-1 .gantt-bar em,.kanban article.color-1 small i{background:#8a62b7}.gantt-row.color-2 .gantt-bar em,.kanban article.color-2 small i{background:#d78b2f}.gantt-row.color-3 .gantt-bar em,.kanban article.color-3 small i{background:#168c6b}.gantt-row.color-4 .gantt-bar em,.kanban article.color-4 small i{background:#c65757}.gantt-row.task .gantt-bar.status-bloqueada{background:#f6dada}.gantt-row.task .gantt-bar.status-completada{background:#d8f1e8}.kanban-column{border-top:3px solid var(--line)}.kanban-column.column-pendiente{border-top-color:#8998a8}.kanban-column.column-en-curso{border-top-color:#3b78b4}.kanban-column.column-bloqueada{border-top-color:#c65757}.kanban-column.column-completada{border-top-color:#168c6b}.kanban-column article{border-left:3px solid var(--line)}.kanban-column article.color-0{border-left-color:#356fa9}.kanban-column article.color-1{border-left-color:#8a62b7}.kanban-column article.color-2{border-left-color:#d78b2f}.kanban-column article.color-3{border-left-color:#168c6b}.kanban-column article.color-4{border-left-color:#c65757}.kanban-column article small{display:flex;align-items:center;gap:5px}.kanban-column article small i{width:6px;height:6px;border-radius:50%;flex:0 0 auto}@media(max-width:1180px){.dual-visuals{grid-template-columns:1fr}.visual-window .kanban{grid-template-columns:repeat(4,minmax(200px,1fr))}}@media(max-width:760px){.window-head{align-items:flex-start;gap:8px}.dual-visuals{grid-template-columns:1fr}}.visual-launcher{margin-top:14px;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:20px}.visual-launcher small{color:var(--muted);font-size:9px;letter-spacing:.9px}.visual-launcher h2{font:700 16px Manrope;margin:4px 0}.visual-launcher p{color:var(--muted);font-size:11px;margin:0}.visual-launcher>div:last-child{display:flex;gap:8px}.visual-modal-bg{padding:24px}.visual-modal{width:min(1180px,96vw);height:min(760px,90vh);padding:0;display:flex;grid-template:none;flex-direction:column;overflow:hidden}.visual-modal>header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--line)}.visual-modal>header h2{margin:2px 0}.visual-modal>header small{color:var(--muted);font-size:10px}.visual-modal>header .modal-close{position:static}.visual-modal-body{padding:20px;overflow:auto;flex:1}.visual-modal-body .gantt{min-width:760px}.visual-modal-body .kanban{grid-template-columns:repeat(4,minmax(230px,1fr));min-width:1000px;min-height:520px}.visual-modal-body .kanban-column{min-height:500px}.visual-modal-body .gantt-axis,.visual-modal-body .gantt-row{grid-template-columns:210px minmax(620px,1fr);min-width:850px}@media(max-width:760px){.visual-launcher{align-items:flex-start;flex-direction:column}.visual-launcher>div:last-child{width:100%}.visual-launcher .btn{flex:1}.visual-modal-bg{padding:8px}.visual-modal{width:98vw;height:94vh}.visual-modal>header{padding:15px}.visual-modal-body{padding:12px}}.gantt-row.color-0{--activity-color:#2878d0}.gantt-row.color-1{--activity-color:#8b5bd6}.gantt-row.color-2{--activity-color:#e68a22}.gantt-row.color-3{--activity-color:#16a07a}.gantt-row.color-4{--activity-color:#df5364}.gantt-row>span{position:relative}.gantt-row.phase>span{color:var(--activity-color);background:color-mix(in srgb,var(--activity-color) 8%,var(--card));border-left:4px solid var(--activity-color)}.gantt-row.task>span:before{content:"";display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;background:var(--activity-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--activity-color) 15%,transparent)}.gantt-row .gantt-bar{background:color-mix(in srgb,var(--activity-color) 24%,var(--card));border:1px solid color-mix(in srgb,var(--activity-color) 48%,transparent);box-shadow:0 2px 7px color-mix(in srgb,var(--activity-color) 18%,transparent)}.gantt-row .gantt-bar em{background:linear-gradient(90deg,color-mix(in srgb,var(--activity-color) 76%,#fff),var(--activity-color))}.gantt-row.phase .gantt-bar{height:19px;top:8px}.gantt-row.task .gantt-bar{height:13px;top:11px}.gantt-row .gantt-bar b{font-weight:700;color:var(--activity-color)}.kanban-column{--status-color:#77889b;--status-soft:color-mix(in srgb,var(--status-color) 10%,var(--card));background:var(--status-soft);border:1px solid color-mix(in srgb,var(--status-color) 28%,var(--line));border-top:0;padding:0 10px 12px;overflow:hidden}.kanban-column.column-pendiente{--status-color:#64748b}.kanban-column.column-en-curso{--status-color:#1976d2}.kanban-column.column-bloqueada{--status-color:#e34f5f}.kanban-column.column-completada{--status-color:#07966f}.kanban-column>header{margin:0 -10px 12px;padding:11px 12px;color:#fff;background:linear-gradient(135deg,color-mix(in srgb,var(--status-color) 82%,#fff),var(--status-color));box-shadow:0 3px 9px color-mix(in srgb,var(--status-color) 22%,transparent)}.kanban-column>header span{letter-spacing:.2px}.kanban-column>header b{color:var(--status-color);background:#fff;min-width:22px;text-align:center;box-shadow:0 1px 4px #00000018}.kanban-column article{border:1px solid color-mix(in srgb,var(--status-color) 16%,var(--line));border-left:4px solid var(--status-color);border-radius:9px;padding:12px;background:var(--card);box-shadow:0 3px 10px color-mix(in srgb,var(--status-color) 10%,transparent);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.kanban-column article:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--status-color) 45%,var(--line));box-shadow:0 7px 18px color-mix(in srgb,var(--status-color) 18%,transparent)}.kanban-column article:active{cursor:grabbing}.kanban-column article strong{font-size:11px;line-height:1.35}.kanban-column article footer{border-top:1px solid var(--line);padding-top:8px}.kanban-column.drag-over{outline:3px solid color-mix(in srgb,var(--status-color) 35%,transparent);background:color-mix(in srgb,var(--status-color) 18%,var(--card))}[data-theme=dark] .kanban-column>header{color:#fff}[data-theme=dark] .kanban-column>header b{background:#f8fafc}[data-theme=dark] .gantt-row.phase>span{background:color-mix(in srgb,var(--activity-color) 13%,var(--card))}.approval-draft-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:4px}.approval-draft-actions .btn{width:100%;font-size:10px}.cancel-approval{background:#fff3f1;color:#b84a43;border:1px solid #f0cbc7}.draft-status{display:none;text-align:center;padding:8px;border-radius:7px;background:#e8f5f0;color:#18795e;font-size:9px}.draft-status.visible{display:block}[data-theme=dark] .cancel-approval{background:#3a2528;color:#ffaaa3;border-color:#63383b}@media(max-width:520px){.approval-draft-actions{grid-template-columns:1fr}}.otp-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}.otp-row input{letter-spacing:.25em}.approval-form .otp-row .btn{margin-top:6px;white-space:nowrap;background:#173d6b;color:#fff;border:1px solid #173d6b;padding:10px 16px;border-radius:8px;font-weight:700}@media(max-width:520px){.otp-row{grid-template-columns:1fr}.otp-row .btn{width:100%}}.client-actions .btn{width:100%;margin:4px 0}.intake-form{max-width:900px;margin:0 auto;padding:28px;display:grid;gap:16px}.intake-form label{font-size:11px;font-weight:700}.intake-form input,.intake-form textarea{display:block;width:100%;margin-top:6px;border:1px solid var(--line);border-radius:8px;padding:11px;background:var(--card);color:var(--text)}.intake-form textarea{resize:vertical}.intake-form .submit{width:100%}.client-menu-btn{padding:8px;border-radius:8px}.client-menu-btn:hover{background:var(--line)}.intake-builder{width:min(1000px,96vw);max-height:92vh;overflow:auto}.builder-layout{display:grid;grid-template-columns:1.3fr .7fr;gap:18px}.question-picker{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:10px 0 16px}.question-picker label{display:flex;gap:9px;align-items:start;border:1px solid var(--line);padding:9px;border-radius:8px}.question-picker input{width:auto;margin:2px 0}.question-picker strong,.question-picker small{display:block}.question-picker small{color:var(--muted);margin-top:2px}.builder-preview{background:var(--bg);border:1px solid var(--line);padding:18px;border-radius:10px;align-self:start;position:sticky;top:0}.builder-preview ol{padding-left:18px;font-size:11px;line-height:1.55}.intake-progress{height:28px;background:var(--bg);border-radius:8px;position:relative;overflow:hidden}.intake-progress i{display:block;width:0;height:100%;background:#dff5ed;transition:.2s}.intake-progress span{position:absolute;inset:0;display:grid;place-items:center;font-size:10px;font-weight:700}.intake-form label>small{display:block;color:var(--muted);margin-top:3px;font-weight:400}@media(max-width:760px){.builder-layout,.question-picker{grid-template-columns:1fr}.builder-preview{position:static}}.intake-submit-actions,.confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.intake-submit-actions .btn,.confirm-actions .btn{width:100%}@media(max-width:520px){.intake-submit-actions,.confirm-actions{grid-template-columns:1fr}}.delivery-status{margin:18px auto 0!important;padding:10px 14px;border-radius:8px;font-weight:700}.delivery-status.delivered{background:#dff5ed;color:#12805f}.delivery-status.warning{background:#fff1dc;color:#9a6418}.client-actions button:disabled{opacity:.5;cursor:not-allowed}.intake-review{width:min(850px,96vw);max-height:92vh;overflow:auto;text-align:left}.review-lock{background:#eef3f8;color:#49627d;padding:9px 12px;border-radius:8px;font-size:11px;font-weight:700}.review-meta{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:15px 0}.review-meta span{background:var(--bg);padding:12px;border-radius:8px}.review-meta small,.review-meta strong{display:block}.response-list{display:grid;gap:10px}.response-list article{border:1px solid var(--line);border-radius:9px;padding:14px}.response-list h3{font-size:12px;margin:4px 0 8px}.response-list p{white-space:pre-wrap;margin:0;color:var(--text);font-size:12px}.response-list small{color:var(--muted);font-size:9px}.evidence-footer{margin-top:16px;border-top:1px solid var(--line);padding-top:12px}.evidence-footer span,.evidence-footer code{display:block}.evidence-footer code{font-size:9px;overflow-wrap:anywhere;color:var(--muted);margin-top:4px}.intake-review-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;position:static;margin-top:18px;padding-top:14px;border-top:1px solid var(--line);background:var(--card)}.intake-review-actions .btn{width:100%;margin:0}.intake-review .top-close{z-index:2}[data-theme=dark]{--bg:#26384b;--card:#344b62;--text:#f5f8fb;--muted:#c0cedb;--line:#526a80;--shadow:0 8px 28px #14233344}[data-theme=dark] .sidebar{background:#1d3852}[data-theme=dark] .review-lock{background:#405b73;color:#eef5fb}@media(max-width:520px){.intake-review-actions{grid-template-columns:1fr}}.received-summary{width:100%;border:1px solid #b8e1d2;background:#edf9f4;color:#173d35;border-radius:12px;padding:14px 18px;margin:0 0 18px;display:flex;align-items:center;justify-content:space-between;text-align:left}.received-summary span{font-size:14px}.received-summary b{font-size:20px;margin-right:6px}.received-summary small{color:#31745f}.response-count{border:0;background:#e6f5ef;color:#137255;border-radius:999px;padding:7px 10px;font-weight:700}.muted-cell{color:var(--muted);font-size:11px}.repository-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:0 0 18px}.repository-metrics article{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px;box-shadow:var(--shadow)}.repository-metrics b,.repository-metrics span{display:block}.repository-metrics b{font-size:26px;color:#173d6b}.repository-metrics span{font-size:11px;color:var(--muted);margin-top:4px}.received-row{background:#f6fcf9}.refresh-client-list,.received-client-list{display:grid;gap:8px;margin:16px 0}.refresh-client-list button,.received-client-list button{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;border:1px solid var(--line);background:var(--card);border-radius:9px;padding:12px;text-align:left;color:var(--text)}.refresh-client-list span,.refresh-client-list strong,.refresh-client-list small,.received-client-list span,.received-client-list strong,.received-client-list small{display:block}.refresh-client-list small,.received-client-list small{color:var(--muted);margin-top:3px}.refresh-client-list b,.received-client-list b{color:#173d6b;font-size:11px}.refresh-results{text-align:left}.refresh-results>.success-mark{margin-left:auto;margin-right:auto}.refresh-results>.btn{width:100%}.prospect-public{min-height:100vh;background:#f7f4ef;color:#201b17}.prospect-public>header{height:66px;padding:0 max(24px,calc((100% - 1000px)/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d8d0c7;background:#fbfaf8}.prospect-public>header>span{font:10px/1.2 ui-monospace,monospace;letter-spacing:.16em;color:#756b62}.prospect-public .brand strong{color:#201b17}.prospect-letter,.prospect-explainer,.prospect-form{width:min(860px,calc(100% - 32px));margin:38px auto;background:#fff;border:1px solid #d9d1c8;box-shadow:0 16px 50px #442a1812}.prospect-letter{padding:64px 72px}.prospect-letter h1,.prospect-explainer h1,.prospect-form h1{font-family:Georgia,serif;font-size:42px;line-height:1.08;margin:12px 0 30px;color:#211a16}.prospect-letter>p{font:17px/1.8 Georgia,serif}.prospect-letter blockquote{margin:30px 0;padding:22px 26px;border-left:3px solid #b84624;background:#faf5f0;font:italic 22px/1.45 Georgia,serif}.prospect-salute{margin-top:35px}.prospect-letter-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:30px}.prospect-cta{background:#b84624!important;color:#fff!important;border:1px solid #b84624!important;font-weight:800;letter-spacing:.03em}.prospect-explainer{padding:54px}.prospect-explainer>section:first-child{text-align:center;max-width:700px;margin:auto}.prospect-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:40px 0}.prospect-benefits article{border:1px solid #ded6cd;padding:22px}.prospect-benefits b{color:#b84624}.prospect-benefits h3{font-family:Georgia,serif;font-size:20px}.prospect-benefits p,.prospect-steps li{color:#625a53;line-height:1.6}.prospect-steps{padding:28px;background:#faf7f3}.prospect-steps li{margin:12px 0}.prospect-form{padding:48px}.prospect-form-title{text-align:center;border-bottom:2px solid #241d18;padding-bottom:26px;margin-bottom:32px}.prospect-form-title h1{margin:8px 0}.prospect-form fieldset{border:0;border-bottom:1px solid #b9afa5;padding:18px 0 30px;margin:0 0 20px}.prospect-form legend{font:700 18px Georgia,serif;color:#9e3d21;text-transform:uppercase;letter-spacing:.06em}.prospect-form label{font:700 10px ui-monospace,monospace;letter-spacing:.1em;text-transform:uppercase;color:#51473f}.prospect-form input,.prospect-form select,.prospect-form textarea{display:block;width:100%;margin-top:8px;border:0;border-bottom:1px dotted #5f554d;border-radius:0;background:#fff;padding:10px 4px;color:#201b17;font:16px Georgia,serif}.prospect-form textarea{border:1px dotted #5f554d}.form-three{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:16px}.prospect-consent{display:flex!important;align-items:center;gap:10px;background:#211a16;color:#fff!important;padding:20px}.prospect-consent input{width:auto;margin:0}.prospect-confirm-summary{padding-left:18px;text-align:left}.prospect-confirm-summary li{margin:8px 0}.prospect-goodbye{width:min(720px,calc(100% - 32px));margin:90px auto;background:#fff;border:1px solid #d9d1c8;padding:60px;text-align:center}.prospect-goodbye h1{font:38px Georgia,serif}.pill.solicitud-recibida i,.pill.interesado i{background:#16a078}@media(max-width:760px){.repository-metrics,.prospect-benefits,.form-three{grid-template-columns:1fr}.received-summary{align-items:flex-start;gap:8px;flex-direction:column}.prospect-letter,.prospect-explainer,.prospect-form{padding:28px 22px}.prospect-letter h1,.prospect-explainer h1,.prospect-form h1{font-size:31px}.prospect-public>header>span{display:none}.prospect-letter-actions{flex-direction:column-reverse}.prospect-letter-actions .btn{width:100%}}@media print{.prospect-public>header,.intake-review-actions{display:none!important}.prospect-public,.prospect-form{background:#fff!important}.prospect-form{box-shadow:none;border:0;margin:0;width:100%;padding:0}}.service-catalog{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:38px 0}.service-catalog article{border:1px solid #ded6cd;padding:20px;background:#fff}.service-catalog b{color:#b84624}.service-catalog h3{font:19px Georgia,serif}.service-catalog p,.commitment-grid li{color:#625a53;line-height:1.55}.commitment-grid{display:grid!important;grid-template-columns:1fr 1fr;gap:18px;margin:28px 0!important;text-align:left!important;max-width:none!important}.commitment-grid article{padding:24px;border:1px solid #d9d1c8;background:#faf7f3}.commitment-grid h2{font:24px Georgia,serif}.commitment-grid li{margin:10px 0}.commitment-grid article:last-child{border-top:3px solid #b84624}@media(max-width:760px){.service-catalog,.commitment-grid{grid-template-columns:1fr}}.modal-form-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:5px}.receipt-modal{width:min(850px,96vw);max-height:92vh;overflow:auto}.receipt-bg{align-items:start;overflow:auto}.receipt-copy{border:1px solid var(--line);padding:24px;margin-bottom:14px;background:var(--card);page-break-inside:avoid}.receipt-copy>header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:13px}.receipt-copy .brand{margin:0;color:var(--text)}.receipt-copy>header>b,.receipt-copy dt{font-size:9px;color:var(--muted);letter-spacing:.7px}.receipt-copy h2{font:700 20px Manrope}.receipt-number{float:right;text-align:right}.receipt-number span{display:block;color:var(--muted);font-size:9px}.receipt-copy dl{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:28px}.receipt-copy dl>div{padding:9px;border-bottom:1px solid var(--line)}.receipt-copy dt{margin-bottom:4px}.receipt-copy dd{margin:0;font-size:11px}.receipt-copy .receipt-amount{font-size:17px;color:var(--green);font-weight:700}.receipt-copy>footer{font-size:9px;color:var(--muted);padding-top:16px}.receipt-actions{display:flex;justify-content:flex-end;gap:8px;position:sticky;bottom:0;background:var(--card);padding:12px 0}.closure-document{width:min(760px,96vw);max-height:92vh;overflow:auto}.closure-document>#printable-closure{padding:25px}.closure-document h1{font:800 25px Manrope}.closure-document h3{font:700 13px Manrope;border-bottom:1px solid var(--line);padding-bottom:7px;margin-top:22px}.closure-document p{font-size:11px;line-height:1.6}.preline{white-space:pre-line}.closure-balance{display:flex;justify-content:space-between;background:var(--bg);padding:14px;margin:20px 0}.closure-balance strong{color:var(--green)}.closure-document footer{font-size:9px;color:var(--muted)}.gantt-row.task .gantt-bar.status-pendiente{background:#e5e9ee;border-color:#aab4bf}.gantt-row.task .gantt-bar.status-en-curso{background:#d7eaff;border-color:#438bd2}.gantt-row.task .gantt-bar.status-bloqueada{background:#ffe0e3;border-color:#dc5664}.gantt-row.task .gantt-bar.status-completada{background:#d8f4e9;border-color:#15966f}@media print{body *{visibility:hidden!important}#printable-receipt,#printable-receipt *,#printable-closure,#printable-closure *{visibility:visible!important}#printable-receipt,#printable-closure{position:absolute;left:0;top:0;width:100%;color:#111}.receipt-copy{border:1px solid #bbb}.receipt-actions{display:none!important}}@media(max-width:600px){.modal-form-actions,.receipt-copy dl{grid-template-columns:1fr}.receipt-actions{flex-direction:column}}.closure-lock{grid-column:1/-1;margin:10px 0 0;color:#9a5b13;font-size:12px}.visual-launcher button:disabled{opacity:.5;cursor:not-allowed}.closure-financial-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0;padding:15px;background:var(--bg);border:1px solid var(--line);border-radius:10px}.closure-financial-summary span{display:grid;gap:4px}.closure-financial-summary small{color:var(--muted);font-size:9px}.closure-financial-summary strong{font-size:15px}.final-closure-form textarea[name=activities]{font-family:ui-monospace,Consolas,monospace;font-size:12px}.final-document{max-width:920px}.final-document #printable-closure{line-height:1.55}@media(max-width:650px){.closure-financial-summary{grid-template-columns:1fr}}.closure-locked-final{grid-column:1/-1;color:#18795e;font-size:12px;font-weight:700}.receipt-actions{flex-wrap:wrap}.receipt-actions .danger-btn{margin-left:auto}.field-help{display:block;color:var(--muted);font-size:8px;margin-top:5px;font-weight:400}.field-error{min-height:14px;color:#c74640;font-size:10px;margin-top:-7px}.modal input.invalid{border-color:#c74640;box-shadow:0 0 0 3px #c7464015}.receipt-copy dl>div.receipt-notes{grid-column:1/-1;background:var(--bg);border:1px solid var(--line);border-radius:7px;margin-top:14px;padding:18px}.receipt-notes dd{white-space:pre-wrap;line-height:1.65;min-height:52px;font-size:14px}.receipt-copy dd.receipt-date{font-size:15px;font-weight:700}.receipt-copy dl>div:not(.receipt-notes) dd{font-size:13px}.receipt-provider{display:grid;margin-right:auto;margin-left:12px}.receipt-provider strong{font-size:11px}.receipt-provider small{font-size:9px;color:var(--muted);margin-top:2px}@media(max-width:600px){.receipt-copy dl>div.receipt-notes{grid-column:auto}}@page{size:A4;margin:14mm}@media print{html,body{margin:0!important;padding:0!important;background:#fff!important;overflow:visible!important;height:auto!important}#app>aside,#app>main,#app>.public{display:none!important}#modal{display:block!important;position:static!important;width:100%!important;height:auto!important}#modal .modal-bg{display:block!important;position:static!important;inset:auto!important;width:100%!important;height:auto!important;min-height:0!important;padding:0!important;margin:0!important;background:#fff!important;overflow:visible!important}#modal .receipt-modal,#modal .intake-review{display:block!important;position:static!important;width:100%!important;max-width:none!important;max-height:none!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important;background:#fff!important}#modal .modal-close,#modal .receipt-actions,#modal .intake-review-actions{display:none!important}#printable-receipt{display:block!important;position:static!important;width:100%!important;margin:0!important;padding:0!important}#printable-intake,#printable-intake *{visibility:visible!important}#printable-intake{display:block!important;position:static!important;width:100%!important;margin:0!important;padding:8mm!important;color:#172234!important;background:#fff!important}#printable-intake .review-lock{border:1px solid #cbd5df!important;background:#eef3f8!important}#printable-intake .review-meta{display:grid!important;grid-template-columns:1fr 1fr!important}#printable-intake .response-list article{break-inside:avoid!important;page-break-inside:avoid!important;border-color:#cbd5df!important}#printable-receipt .receipt-copy{display:block!important;position:relative!important;width:100%!important;min-height:245mm!important;margin:0!important;padding:12mm!important;box-sizing:border-box!important;border:1px solid #cbd5df!important;border-radius:0!important;background:#fff!important;color:#172234!important;break-inside:avoid!important;page-break-inside:avoid!important;break-after:page!important;page-break-after:always!important}#printable-receipt .receipt-copy:last-child{break-after:auto!important;page-break-after:auto!important}#printable-receipt .receipt-copy *{visibility:visible!important;color:inherit}#printable-receipt .receipt-copy .receipt-amount{color:#087a5b!important}#printable-receipt .receipt-copy dl{display:grid!important;grid-template-columns:1fr 1fr!important;gap:0!important}#printable-receipt .receipt-copy .receipt-notes{grid-column:1/-1!important;background:#f5f7f9!important;border-color:#dce2e8!important}#printable-receipt .receipt-copy header{border-bottom-color:#dce2e8!important}#printable-receipt .receipt-copy footer{position:absolute!important;left:12mm!important;right:12mm!important;bottom:12mm!important;border-top:1px solid #dce2e8!important;padding-top:5mm!important}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}}.brand img{width:36px;height:36px;object-fit:contain;border-radius:9px;background:#fff}.brand strong{font:700 21px Manrope}.provider-logo-preview{display:flex;align-items:center;gap:14px;padding:12px;border:1px dashed var(--line);border-radius:9px}.provider-logo-preview img{width:64px;height:64px;object-fit:contain;border-radius:10px;background:#fff;border:1px solid var(--line)}.provider-logo-preview small{display:block;color:var(--muted);font-weight:400;line-height:1.5}.payment-confirm-summary{display:grid;gap:8px;background:var(--bg);border:1px solid var(--line);border-radius:9px;padding:15px}.payment-confirm-summary div{display:flex;justify-content:space-between;gap:15px;font-size:12px}.payment-confirm-summary span{color:var(--muted)}.payment-confirm-summary strong{text-align:right}.payment-confirm-warning{font-size:11px!important;color:var(--text)!important;line-height:1.5}:root{--bg:#f8fafc;--card:#ffffff;--text:#10243d;--muted:#5f748b;--line:#dce5ee;--blue:#1d4f82;--blue2:#2c6ba7;--shadow:0 10px 30px rgba(29,63,98,.09)}html{font-size:17px}body{background:linear-gradient(145deg,#fff 0,#f7faff 48%,#f3f8fc);font-size:1rem;line-height:1.55;letter-spacing:.005em}.sidebar{background:#173f69;color:#f5f9fd;width:258px;padding:30px 20px;box-shadow:8px 0 28px #1336581c}main{margin-left:258px}.sidebar nav button{font-size:.9rem;color:#d1dfec;padding:13px 15px;border-radius:11px}.sidebar nav button.active{background:#2b6092;color:#fff;box-shadow:0 7px 18px #051e372e}.sidebar nav b{font-size:.72rem}.brand{font-size:1.3rem}.help strong,.profile strong{font-size:.85rem}.help small,.profile small{font-size:.72rem;color:#bdd0e1}main>header{height:82px;background:#fff;padding-inline:42px;box-shadow:0 3px 16px #2242620a}.search input{font-size:.92rem}.content{padding-top:40px}.page-head h1,.project-hero h1{font-size:2rem;letter-spacing:-.03em}.page-head p,.project-hero p{font-size:.94rem;color:var(--muted)}.eyebrow{font-size:.72rem;color:#637f9d}.section-title h2{font-size:1.25rem}.section-title p{font-size:.82rem}.panel,.project-card,.metrics article{background:#fff;border-color:#d9e4ee;border-radius:16px;box-shadow:var(--shadow)}.project-card{padding:22px}.project-card h3{font-size:1.02rem}.project-card>p{font-size:.78rem}.project-card footer{font-size:.72rem}.metrics small{font-size:.7rem}.metrics h2{font-size:1.7rem}.metrics p{font-size:.76rem}.trend{font-size:.7rem}.btn{min-height:43px;padding:11px 18px;border-radius:10px;font-size:.88rem;letter-spacing:.005em;box-shadow:0 4px 12px #1a3c5e0d}.btn.small{font-size:.76rem;padding:8px 12px;min-height:36px}.btn.primary{background:#1d4f82}.btn.primary:hover{background:#28649e}.btn.secondary{background:#fff;border-color:#cfdae5}th{background:#f4f8fb;color:#536d87;font-size:.72rem;padding:15px 20px}td{font-size:.88rem;padding:18px 20px}td small{font-size:.74rem;margin-top:5px}.client-cell strong,td>strong{font-size:.92rem}.pill{font-size:.7rem;padding:6px 9px}.text-btn,.tabs button,.toolbar select{font-size:.82rem}.panel-head h3,.side-info h3{font-size:1rem}.panel-head p,.event p,.approval-row strong{font-size:.8rem}.event small,.approval-row small{font-size:.72rem}.phase-head h3{font-size:.96rem}.phase-head p,.task-list label{font-size:.79rem}.phase-head small,.project-summary small{font-size:.66rem}.summary-meta strong{font-size:.78rem}.side-info>article>p,.contact strong,.contact small{font-size:.76rem}.next span{font-size:.68rem}.modal{border-radius:18px;padding:32px;gap:16px}.modal h2{font-size:1.55rem}.modal>p:not(.eyebrow){font-size:.86rem;line-height:1.6}.approval-form label,.modal label,.intake-form label{font-size:.78rem;line-height:1.45}.approval-form input,.approval-form textarea,.modal input,.modal select,.modal textarea,.intake-form input,.intake-form textarea,.intake-form select{font-size:.9rem;min-height:45px;padding:11px 12px;border-color:#cfdbe7;background:#fff}.legal{font-size:.82rem!important}.audit{font-size:.68rem!important}.review-lock{font-size:.76rem}.response-list h3{font-size:.88rem}.response-list p{font-size:.86rem}.response-list small{font-size:.68rem}.public-intro h1{font-size:2rem}.public-intro>p:last-child{font-size:.88rem}.public-grid h2{font-size:1.15rem}.deliverable strong{font-size:.86rem}.deliverable p,.deliverable small,.approval-form>p{font-size:.76rem}.received-summary span{font-size:.95rem}.received-summary small,.repository-metrics span{font-size:.76rem}.response-count{font-size:.78rem}.prospect-public{background:linear-gradient(145deg,#fff 0,#fbf8f4 52%,#f8f3ec)}.prospect-form label{font-size:.72rem}.prospect-form input,.prospect-form select,.prospect-form textarea{font-size:1rem}.prospect-consent{font-size:.78rem!important;line-height:1.55}[data-theme=dark]{--bg:#253a4e;--card:#304b63;--text:#f8fbff;--muted:#c9d7e3;--line:#506a80;--shadow:0 10px 30px rgba(12,28,42,.2)}[data-theme=dark] body{background:linear-gradient(145deg,#263e54,#324d65)}[data-theme=dark] .sidebar{background:#1d3e5c}[data-theme=dark] main>header,[data-theme=dark] .panel,[data-theme=dark] .project-card,[data-theme=dark] .metrics article,[data-theme=dark] .btn.secondary,[data-theme=dark] .modal{background:var(--card)}[data-theme=dark] th{background:#294258}.mobile-nav-overlay,.mobile-bottom-nav,.mobile-projects-shortcut{display:none}@media(max-width:760px),(max-width:1180px)and (hover:none)and (pointer:coarse){html{font-size:16px}.sidebar{display:flex;width:min(290px,84vw);transform:translate(-105%);transition:transform .24s ease;box-shadow:12px 0 35px #081d3047;z-index:1002}.mobile-nav-open .sidebar{transform:translate(0)}.mobile-nav-overlay{display:block;position:fixed;inset:0;border:0;background:#0a1f3375;opacity:0;visibility:hidden;transition:.24s;z-index:1001}.mobile-nav-open .mobile-nav-overlay{opacity:1;visibility:visible}.mobile-nav-open body{overflow:hidden}.mobile-bottom-nav{display:grid!important;grid-template-columns:repeat(4,1fr);position:fixed;left:10px;right:10px;bottom:max(8px,env(safe-area-inset-bottom));height:66px;padding:6px;background:#fff;border:1px solid #c6d5e3;border-radius:18px;box-shadow:0 10px 34px #0d2c484d;z-index:1000}.mobile-bottom-nav button{border:0;background:transparent;color:#62788d;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:11px;font-weight:700}.mobile-bottom-nav button svg{width:21px;height:21px}.mobile-bottom-nav button.active{background:#e7f1fa;color:#1d4f82}.mobile-bottom-nav .mobile-more{color:#1d4f82}main{margin-left:0!important;padding-bottom:82px}main>header{height:70px;padding-inline:10px}.mobile-menu{display:grid!important;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:10px!important;background:#eaf2f9!important;color:#1d4f82!important}.mobile-projects-shortcut{display:inline-flex;align-items:center;gap:5px;min-height:42px;padding:0 11px;border:1px solid #cbdbe8;border-radius:10px;background:#fff;color:#1d4f82;font-weight:800}.mobile-projects-shortcut svg{width:18px}.search{display:none}.header-actions{gap:3px}.content{padding-top:28px;padding-bottom:105px}.page-head h1,.project-hero h1{font-size:1.72rem}.modal{padding:26px 22px}[data-theme=dark] .mobile-bottom-nav{background:#304b63;border-color:#5e768a}[data-theme=dark] .mobile-bottom-nav button{color:#d7e2eb}[data-theme=dark] .mobile-bottom-nav button.active{background:#3e6381;color:#fff}[data-theme=dark] .mobile-projects-shortcut{background:#3e6381;color:#fff;border-color:#67839a}}
