.app-shell{min-height:100svh}.login-page{background:#f5f5f5;justify-content:flex-end;align-items:center;min-height:100svh;padding:34px clamp(18px,4vw,64px);display:flex;position:relative;overflow:hidden}.login-hero{background-position:50%;background-size:cover;min-height:100svh;position:absolute;inset:0;overflow:hidden}.login-hero:after{content:"";background:linear-gradient(90deg,#0000001f 0%,#0000000f 26%,#00000024 100%),linear-gradient(#ffffff05,#00000014);position:absolute;inset:0}.login-brand{z-index:1;color:#fff;align-items:center;display:inline-flex;position:absolute;top:26px;left:34px}.login-brand img{filter:drop-shadow(0 18px 32px #1c0a0a3d);width:clamp(132px,13vw,182px);height:auto}.login-panel-wrap{z-index:1;width:min(100%,392px);margin-right:clamp(0px,2vw,28px);position:relative}.login-panel{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffe0;border:1px solid #ffffff70;border-radius:24px;width:100%;padding:34px 32px 20px;box-shadow:0 24px 65px #00000024}.panel-kicker{letter-spacing:.16em;text-transform:uppercase;color:var(--muted-strong);margin-bottom:12px;font-size:13px;font-weight:700}.panel-heading{font-family:var(--heading);color:var(--brand);text-align:center;margin-bottom:10px;font-size:clamp(46px,5vw,60px);line-height:.96}.panel-subheading{color:#505050e6;text-align:center;margin-bottom:26px;font-size:16px}.login-form{gap:16px;display:grid}.form-field{gap:8px;display:grid}.form-field label{color:var(--text-h);font-size:14px;font-weight:600}.form-input-shell{background:#ffffffbd;border:1px solid #0000001a;border-radius:14px;align-items:center;display:flex;position:relative;box-shadow:0 10px 22px #0000000f}.form-input-shell:focus-within{border-color:#00000029;box-shadow:0 12px 24px #00000017}.form-input-icon{color:#505050e6;width:18px;height:18px;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.form-input-icon svg{width:100%;height:100%;display:block}.form-input-eye{cursor:pointer;color:#505050b3;background:0 0;border:none;align-items:center;padding:0;transition:color .15s;display:flex;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.form-input-eye:hover{color:var(--brand)}.form-field input{width:100%;font:inherit;color:var(--text-h);background:0 0;border:none;border-radius:14px;padding:14px 16px 14px 44px}.form-field input:focus{outline:none}.form-row{justify-content:space-between;align-items:center;gap:16px;font-size:13px;display:flex}.remember-check{color:var(--muted);align-items:center;gap:8px;display:inline-flex}.remember-check input{accent-color:var(--brand)}.form-helper{color:var(--brand);text-underline-offset:3px;opacity:.8;font-weight:600;text-decoration:underline}.primary-button{color:#fff;width:100%;font:inherit;cursor:pointer;background:#111;border:none;border-radius:14px;margin-top:4px;padding:16px 18px;font-weight:700;transition:transform .2s,box-shadow .2s;box-shadow:0 14px 24px #00000024}.primary-button:hover{transform:translateY(-1px)}.primary-button:disabled{cursor:wait;opacity:.7}.login-panel-footnote{color:#505050e6;text-align:center;border-top:1px solid #00000014;margin-top:20px;padding-top:16px;font-size:13px}.dashboard-layout{background:#f5f5f5;grid-template-columns:206px minmax(0,1fr);height:100svh;min-height:100svh;display:grid;position:relative;overflow:hidden}.dashboard-sidebar{z-index:30;background:#fffffffa;border-right:1px solid #00000012;flex-direction:column;gap:24px;height:100svh;padding:18px 16px;display:flex;position:sticky;top:0;overflow:hidden}.sidebar-backdrop,.sidebar-close-button,.sidebar-toggle-button{display:none}.sidebar-brand{justify-content:space-between;align-items:center;gap:16px;display:flex}.sidebar-brand img{filter:brightness(0)saturate();opacity:.9;width:94px;height:auto}.sidebar-search{font:inherit;background:#fff;border:1px solid #00000014;border-radius:14px;padding:12px 14px}.sidebar-search:focus{border-color:#00000024;outline:2px solid #0000001a}.sidebar-nav{flex:auto;align-content:start;gap:6px;padding-right:4px;display:grid;overflow-y:auto}.sidebar-nav-item{color:var(--muted);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:9px 12px;font-weight:600;display:flex}.sidebar-nav-label{min-width:0}.sidebar-nav-caption{color:var(--muted-strong);letter-spacing:.08em;text-transform:uppercase;background:#00000012;border-radius:999px;flex-shrink:0;padding:4px 8px;font-size:11px}.sidebar-nav-link{width:100%;text-decoration:none;transition:color .2s,background .2s}.sidebar-nav-item.active{color:var(--brand);box-shadow:inset 3px 0 0 var(--brand);background:0 0;border-radius:0 12px 12px 0;font-weight:700}.sidebar-nav-link:hover{color:var(--brand);background:#00000008}.sidebar-nav-item-muted{opacity:.64}.sidebar-nav-sub-item{color:var(--muted-strong);cursor:pointer;border-radius:0 10px 10px 0;align-items:center;padding:7px 14px 7px 32px;font-size:13px;text-decoration:none;transition:color .2s,background .2s;display:flex}.sidebar-nav-sub-item:hover{color:var(--brand);background:#00000008}.sidebar-nav-sub-item.active{color:var(--brand);box-shadow:inset 3px 0 0 var(--brand);font-weight:700}.sidebar-nav-item-locked{border:1px dashed #0000001a}.sidebar-nav-empty{color:var(--muted);background:#ffffff8f;border-radius:14px;padding:14px 16px;font-size:14px}.sidebar-footer{border-top:1px solid #00000012;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:20px;display:flex}.sidebar-user strong,.sidebar-user span,.sidebar-user small{display:block}.sidebar-user span,.sidebar-user small{color:var(--muted);font-size:14px}.sidebar-user small{margin-top:4px;font-size:12px}.ghost-button{color:var(--brand);font:inherit;cursor:pointer;background:#fff;border:1px solid #0000001f;border-radius:10px;align-items:center;gap:6px;width:fit-content;padding:7px 14px;font-weight:600;transition:background .15s;display:inline-flex}.ghost-button:hover{background:#0000000a}.ghost-button:disabled{cursor:not-allowed;opacity:.52}.dashboard-main{flex-direction:column;min-height:0;display:flex;overflow:hidden}.dashboard-content{flex:1;align-content:start;gap:20px;min-height:0;padding:20px 24px 32px;display:grid;overflow-y:auto}.route-fallback{background:#f5f5f5;place-items:center;padding:32px;display:grid}.route-fallback-panel{background:#ffffffd1;border:1px solid #00000012;border-radius:28px;width:min(100%,560px);padding:32px;box-shadow:0 18px 40px #00000014}.route-fallback-panel small{color:var(--muted-strong);letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px;font-weight:700;display:block}.route-fallback-panel h1{color:var(--brand);margin:0;font-size:clamp(30px,4vw,44px)}.route-fallback-panel p{color:var(--muted);margin-top:10px}.dashboard-topbar{-webkit-backdrop-filter:blur(12px);z-index:10;background:#f5f5f5eb;border-bottom:1px solid #00000012;flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:16px 24px;display:flex;position:sticky;top:0}.dashboard-topbar-end{flex-shrink:0;align-items:center;gap:12px;display:flex}.theme-toggle-button{cursor:pointer;background:#fff;border:1px solid #0000001f;border-radius:50%;place-items:center;width:40px;height:40px;font-size:18px;line-height:1;transition:background .2s,border-color .2s;display:grid}.theme-toggle-button:hover{background:#0000000d}[data-theme=dark] .theme-toggle-button{background:#ffffff0f;border-color:#ffffff1f}[data-theme=dark] .theme-toggle-button:hover{background:#ffffff1a}.sidebar-toggle-button,.sidebar-close-button{cursor:pointer;background:0 0;border:none;padding:0}.sidebar-toggle-button{background:#ffffffc7;border:1px solid #00000014;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;gap:5px;width:48px;height:48px;box-shadow:0 12px 24px #0000000f}.sidebar-toggle-button span,.sidebar-close-button span{background:var(--brand);border-radius:999px;width:18px;height:2px;display:block}.sidebar-close-button{background:#0000000d;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;position:relative}.sidebar-close-button span{position:absolute}.sidebar-close-button span:first-child{transform:rotate(45deg)}.sidebar-close-button span:last-child{transform:rotate(-45deg)}.sidebar-backdrop{opacity:0;pointer-events:none;z-index:20;background:#0000004d;border:none;transition:opacity .22s;position:fixed;inset:0}.sidebar-backdrop.open{opacity:1;pointer-events:auto}.dashboard-copy small{color:var(--muted-strong);letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px;font-weight:700;display:block}.dashboard-copy h1{color:var(--brand);margin:0;font-size:clamp(22px,3.5vw,36px)}.dashboard-copy p{color:var(--muted);margin-top:8px}.dashboard-avatar{width:52px;height:52px;color:var(--brand);background:#00000012;border-radius:50%;place-items:center;font-weight:800;display:grid}.dashboard-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.stat-card,.panel-card{background:#ffffffc7;border:1px solid #00000012;border-radius:18px;padding:14px 18px;box-shadow:0 14px 40px #0000000f}.stat-card span,.panel-card small{color:var(--muted);margin-bottom:8px;display:block}.stat-card strong{color:var(--text-h);font-size:28px;line-height:1}.dashboard-content-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:20px;display:grid}.project-list,.agenda-list,.timeline-list{gap:14px;display:grid}.project-item,.agenda-item,.timeline-item{background:#ffffffd1;border:1px solid #00000012;border-radius:18px;padding:16px}.project-top,.agenda-top,.timeline-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.badge{text-transform:uppercase;letter-spacing:.06em;border-radius:999px;align-items:center;padding:3px 7px;font-size:11px;font-weight:700;display:inline-flex}.badge.aceptado,.badge.en_proceso,.badge.activo,.badge.pagada,.badge.principal,.badge.confirmado,.badge.entregada{color:#1f7748;background:#268c561f}.badge.emitida,.badge.parcial,.badge.pendiente,.badge.recordatorio{color:#8a5d08;background:#d99b1429}.badge.cancelada,.badge.cancelado,.badge.inactivo,.badge.devuelto{color:#8d1328;background:#aa162c1f}.project-meta,.agenda-meta,.timeline-meta{color:var(--muted);margin-top:8px;font-size:14px}.progress-track{background:#00000012;border-radius:999px;height:10px;margin-top:14px;overflow:hidden}.progress-fill{border-radius:inherit;background:#111;height:100%}.dashboard-side-stack{gap:20px;display:grid}.dashboard-kpi-card p{color:var(--muted);margin-top:10px;font-size:13px}.dashboard-showcase-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:start;gap:14px;display:grid}.dashboard-projects-panel{grid-area:1/1/span 2;gap:18px;display:grid}.dashboard-timeline-panel,.dashboard-agenda-panel,.dashboard-photo-card,.projects-browser-panel,.projects-editor-panel,.projects-editor-stack{gap:18px;display:grid}.dashboard-timeline-panel{grid-area:1/2}.dashboard-agenda-panel{grid-area:2/2}.dashboard-photo-card{grid-area:3/1/auto/-1;padding:0;overflow:hidden}.dashboard-section-heading,.projects-browser-toolbar,.project-editor-header,.project-phase-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.dashboard-section-heading h2,.projects-browser-toolbar h2,.project-phase-header h3{color:var(--text-h);margin:6px 0 0;font-size:clamp(15px,2vw,19px)}.dashboard-section-caption{color:var(--muted-strong);letter-spacing:.06em;text-transform:uppercase;background:#00000012;border-radius:999px;align-items:center;padding:3px 9px;font-size:12px;font-weight:700;display:inline-flex}.dashboard-recent-list{gap:14px;display:grid}.dashboard-recent-item{background:#ffffffd6;border:1px solid #00000012;border-radius:16px;padding:10px 14px}.dashboard-recent-item-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.dashboard-recent-item-side{justify-items:end;gap:10px;display:grid}.dashboard-date-pill{color:var(--muted-strong);background:#0000000d;border-radius:10px;align-items:center;padding:3px 8px;font-size:11px;font-weight:700;display:inline-flex}.dashboard-recent-item-footer{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;margin-top:12px;font-size:13px;display:flex}.timeline-board{gap:14px;display:grid}.timeline-board-header,.timeline-board-row{grid-template-columns:198px minmax(0,1fr);gap:14px;display:grid}.timeline-board-corner{color:var(--muted);align-items:end;font-size:13px;font-weight:700;display:flex}.timeline-month-strip,.timeline-row-grid{display:grid}.timeline-month-strip span{text-align:center;color:var(--muted-strong);text-transform:capitalize;padding:0 0 10px;font-size:12px;font-weight:700}.timeline-board-body{gap:12px;display:grid}.timeline-row-label{align-content:center;gap:4px;display:grid}.timeline-row-label strong{color:var(--text-h);font-size:14px}.timeline-row-label span,.timeline-row-label small{color:var(--muted);font-size:12px}.timeline-row-track{background:#0000000a;border-radius:18px;min-height:58px;position:relative;overflow:hidden}.timeline-row-grid{position:absolute;inset:0}.timeline-row-grid span{border-left:1px solid #00000012}.timeline-row-grid span:first-child{border-left:none}.timeline-row-bar{color:#fff;background:#111;border-radius:999px;justify-content:center;align-items:center;min-width:48px;height:22px;padding:0 12px;font-size:11px;font-weight:700;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 10px 20px #00000024}.timeline-row-bar.entregada,.timeline-row-bar.pagada,.timeline-row-bar.facturada{background:linear-gradient(90deg,#2b7d53,#4ea878)}.timeline-row-bar.pendiente,.timeline-row-bar.propuesta{background:linear-gradient(90deg,#a27012,#c78f27)}.timeline-row-bar.cancelada,.timeline-row-bar.cancelado{background:linear-gradient(90deg,#8d1328,#b32943)}.dashboard-agenda-list{gap:12px;display:grid}.dashboard-agenda-item{padding:14px 16px}.dashboard-photo-card .dashboard-photo{height:100%;min-height:280px}.projects-shell{grid-template-columns:minmax(300px,360px) minmax(0,1fr);align-items:start;gap:20px;display:grid}.projects-page-stack,.projects-index-panel,.project-workspace-panel,.projects-empty-workspace{gap:18px;display:grid}.projects-index-header,.project-workspace-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.projects-index-title h2,.projects-empty-workspace h2,.project-workspace-header h2{color:var(--text-h);margin:4px 0 0;font-size:clamp(16px,2.5vw,22px)}.projects-index-title p,.projects-empty-workspace p,.project-workspace-header p{color:var(--muted);margin-top:10px}.projects-index-summary{color:var(--muted);justify-items:end;gap:4px;font-size:14px;display:grid}.projects-index-summary strong{color:var(--brand);font-size:20px}.projects-filter-bar{grid-template-columns:minmax(280px,1.4fr) repeat(2,minmax(0,180px)) auto;align-items:end;gap:12px;display:grid}.projects-filter-field{gap:8px;display:grid}.projects-filter-field span{color:var(--muted);font-size:13px;font-weight:600}.projects-filter-field input,.projects-filter-field select{width:100%;color:var(--text-h);font:inherit;background:#f8f8f8e6;border:1px solid #0000001a;border-radius:10px;padding:8px 10px}.projects-filter-field input:focus,.projects-filter-field select:focus{border-color:#0000002e;outline:2px solid #0000001a}.projects-filter-actions{justify-content:flex-end;align-items:end;display:flex}.projects-table-wrap{background:#ffffffd6;border:1px solid #00000012;border-radius:20px;overflow-x:auto}.projects-table{border-collapse:collapse;width:100%;min-width:940px}.projects-table th,.projects-table td{text-align:left;vertical-align:middle;padding:9px 12px}.projects-table thead th{color:var(--muted-strong);letter-spacing:.08em;text-transform:uppercase;background:#00000008;font-size:12px;font-weight:800}.projects-table tbody tr+tr td{border-top:1px solid #00000012}.projects-table-primary-cell{gap:6px;display:grid}.projects-table-primary-cell strong{color:var(--text-h)}.projects-table-primary-cell span{color:var(--muted);font-size:13px}.projects-table-actions,.projects-pagination-controls{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.project-workspace-actions{flex-wrap:nowrap;flex-shrink:0;align-items:center;gap:8px;display:flex}.table-action-button{color:#fff;font:inherit;cursor:pointer;background:#111;border:none;border-radius:10px;align-items:center;gap:6px;width:fit-content;padding:6px 12px;font-size:14px;font-weight:700;transition:opacity .15s;display:inline-flex}.table-action-button:hover{opacity:.82}.table-action-button.secondary{color:var(--brand);background:#0000000f;border:1px solid #0000001a;transition:background .15s}.table-action-button.secondary:hover{opacity:1;background:#0000001a}.projects-table-empty{color:var(--muted)}.projects-pagination{justify-content:space-between;align-items:center;gap:16px;display:flex}.projects-pagination-summary{color:var(--muted);font-size:14px}.projects-browser-summary{color:var(--muted);justify-items:end;gap:4px;font-size:14px;display:grid}.projects-browser-summary strong{color:var(--brand);font-size:18px}.projects-browser-actions{justify-content:flex-start;display:flex}.projects-browser-list{max-height:calc(100svh - 290px);padding-right:4px;overflow-y:auto}.projects-overview-strip,.project-form-grid,.project-proposals-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.projects-overview-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.project-editor-header h2{color:var(--brand);margin:6px 0 0;font-size:clamp(18px,3vw,26px)}.project-editor-header p{color:var(--muted);margin-top:10px}.project-tab-bar{border-bottom:1px solid #00000012;flex-wrap:wrap;gap:12px;padding-bottom:18px;display:flex}.project-tab-button{color:var(--muted-strong);font:inherit;cursor:pointer;background:#fff;border:1px solid #00000021;border-radius:10px;padding:7px 14px;font-weight:700;transition:border-color .2s,background .2s,color .2s}.project-tab-button:disabled{cursor:not-allowed;opacity:.55}.project-tab-button.active{color:var(--brand);background:#0000000d;border-color:#0003}.project-tab-stack{gap:20px;display:grid}.project-field-card{background:#ffffffd6;border:1px solid #00000012;border-radius:18px;align-content:start;gap:8px;padding:18px;display:grid}.project-field-card span{color:var(--muted);font-size:13px}.project-field-card strong{color:var(--text-h);font-size:18px}.project-field-card p{color:var(--muted);margin:0;font-size:14px}.project-field-card-wide{grid-column:1/-1}.project-sheet,.project-sheet-row{gap:14px;display:grid}.project-sheet-row-two{grid-template-columns:repeat(2,minmax(0,1fr))}.project-sheet-row-three{grid-template-columns:repeat(3,minmax(0,1fr))}.project-sheet-row-four{grid-template-columns:repeat(4,minmax(0,1fr))}.project-sheet-field{background:#ffffffd6;border:1px solid #00000012;border-radius:18px;align-content:start;gap:10px;padding:18px;display:grid}.project-sheet-field span{color:var(--muted);font-size:13px}.project-sheet-field strong{color:var(--text-h);font-size:18px}.project-sheet-field p{color:var(--muted);margin:0;font-size:14px}.project-sheet-field input,.project-sheet-field textarea{width:100%;color:var(--text-h);font:inherit;background:#f8f8f8e6;border:1px solid #0000001a;border-radius:10px;padding:8px 10px}.project-sheet-field textarea{resize:vertical;min-height:108px}.project-sheet-field input:focus,.project-sheet-field textarea:focus{border-color:#0000002e;outline:2px solid #0000001a}.project-sheet-field-full{grid-column:1/-1}.service-combobox{position:relative}.service-combobox-trigger{width:100%;color:var(--text);font:inherit;cursor:pointer;text-align:left;background:#ffffffe6;border:1px solid #0000001f;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;font-size:14px;transition:border-color .15s;display:flex}.service-combobox-trigger:focus{border-color:var(--brand);outline:none}.service-combobox-trigger .placeholder{color:var(--muted)}.service-combobox-trigger .arrow{color:var(--muted);flex-shrink:0;font-size:11px}.service-combobox-dropdown{z-index:50;background:#fff;border:1px solid #0000001a;border-radius:12px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:hidden;box-shadow:0 8px 24px #0000001f}.service-combobox-search{width:100%;font:inherit;color:var(--text);box-sizing:border-box;background:0 0;border:none;border-bottom:1px solid #00000012;padding:10px 14px;font-size:14px}.service-combobox-search:focus{outline:none}.service-combobox-list{max-height:220px;overflow-y:auto}.service-combobox-option{cursor:pointer;color:var(--text);padding:9px 14px;font-size:14px;transition:background .1s}.service-combobox-option:hover,.service-combobox-option.selected{background:#0000000a}.service-combobox-empty{color:var(--muted);text-align:center;padding:12px 14px;font-size:14px}[data-theme=dark] .service-combobox-trigger{background:#ffffff0f;border-color:#ffffff1f}[data-theme=dark] .service-combobox-dropdown{background:#1e1e1e;border-color:#ffffff1a;box-shadow:0 8px 24px #0006}[data-theme=dark] .service-combobox-search{border-bottom-color:#ffffff14}[data-theme=dark] .service-combobox-option:hover,[data-theme=dark] .service-combobox-option.selected{background:#ffffff0f}.project-form-grid-compact{grid-template-columns:repeat(3,minmax(0,1fr))}.project-phase-panel,.project-phase-table,.project-supplier-list,.project-proposal-list{gap:12px;display:grid}.project-phase-row,.project-supplier-row,.project-proposal-row{background:#ffffffd6;border:1px solid #00000012;border-radius:18px;justify-content:space-between;align-items:flex-start;gap:16px;padding:16px 18px;display:flex}.project-phase-main,.project-supplier-main,.project-proposal-main{gap:6px;min-width:0;display:grid}.project-phase-main strong,.project-supplier-main strong,.project-proposal-main strong{color:var(--text-h)}.project-phase-main span,.project-supplier-main span,.project-proposal-main span,.project-proposal-main small,.project-supplier-main small{color:var(--muted);font-size:14px}.project-phase-meta,.project-supplier-meta,.project-proposal-meta{color:var(--muted);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;font-size:14px;display:flex}.project-phase-total{color:var(--muted-strong);justify-content:flex-end;align-items:center;gap:12px;font-weight:700;display:flex}.project-phase-total strong{color:var(--brand);background:#00000012;border-radius:14px;padding:10px 14px}.project-action-row{justify-content:flex-end;gap:12px;display:flex}.project-sub-tab-bar{gap:6px;display:flex}.proposal-compare-section{gap:16px;display:grid}.proposal-compare-delta{background:#0000000a;border:1px solid #00000012;border-radius:14px;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 18px;display:flex}.proposal-compare-delta span{color:var(--muted);font-size:14px}.proposal-compare-delta strong{font-size:16px;font-weight:700}.proposal-compare-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (width<=700px){.proposal-compare-grid{grid-template-columns:1fr}}.proposal-compare-card{border:1px solid #00000017;border-radius:18px;overflow:hidden}.proposal-compare-card-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted-strong);background:#0000000d;padding:8px 16px;font-size:12px;font-weight:700}.proposal-compare-card-body{background:#ffffffd6;gap:12px;padding:16px;display:grid}.primary-inline-button{color:#fff;font:inherit;cursor:pointer;background:#111;border:none;border-radius:10px;align-items:center;gap:6px;width:fit-content;padding:8px 16px;font-weight:700;transition:opacity .15s;display:inline-flex}.primary-inline-button:hover{opacity:.82}.primary-inline-button:disabled{cursor:not-allowed;opacity:.52}.project-tab-note{color:var(--muted);background:#0000000a;border-radius:18px;padding:16px 18px;font-size:14px}.projects-workspace{grid-template-columns:minmax(300px,380px) minmax(0,1fr);gap:20px;display:grid}.projects-list-panel,.projects-detail-stack{gap:20px;display:grid}.projects-list-stack,.phase-list-stack,.mini-list-stack{gap:14px;display:grid}.project-row-card{text-align:left;cursor:pointer;background:#ffffffd1;border:1px solid #00000012;border-radius:18px;width:100%;padding:18px;transition:border-color .2s,transform .2s,box-shadow .2s}.project-row-card:hover,.project-row-card.selected{border-color:#0000002e;transform:translateY(-1px);box-shadow:0 18px 32px #00000012}.project-row-top,.phase-row-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.project-row-description{color:var(--muted);margin-top:12px;font-size:14px}.project-row-metrics{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;margin-top:14px;font-size:14px;display:flex}.project-detail-hero h2{color:var(--brand);margin:8px 0 0;font-size:clamp(28px,4vw,40px)}.project-detail-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.project-detail-heading p{color:var(--muted);margin-top:12px}.project-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:20px;display:grid}.project-detail-card{background:#ffffffd1;border:1px solid #00000012;border-radius:18px;padding:18px}.project-detail-card span{color:var(--muted);margin-bottom:8px;font-size:13px;display:block}.project-detail-card strong{font-size:20px}.project-detail-card p{color:var(--muted);margin-top:10px;font-size:14px}.projects-kpi-grid{margin-top:20px}.stat-card.compact strong{font-size:20px}.projects-detail-columns{grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr);gap:20px;display:grid}.access-panel{gap:20px;display:grid}.permission-chip-list{flex-wrap:wrap;gap:10px;display:flex}.permission-chip{color:var(--brand);background:#00000012;border-radius:999px;align-items:center;padding:8px 12px;font-size:13px;font-weight:600;display:inline-flex}.access-actions{justify-content:space-between;align-items:center;gap:16px;display:flex}.ghost-link{color:var(--brand);background:#fff;border:1px solid #0000001f;border-radius:12px;justify-content:center;align-items:center;padding:10px 14px;font-weight:600;text-decoration:none;display:inline-flex}.projects-detail-side{gap:20px;display:grid}.phase-row,.mini-row{background:#ffffffd1;border:1px solid #00000012;border-radius:18px;padding:16px}.dashboard-photo{background-position:50%;background-size:cover;border-radius:24px;min-height:220px;position:relative;overflow:hidden}.dashboard-photo:after{content:"";background:linear-gradient(#fff0,#0000001f);position:absolute;inset:0}.empty-state{color:var(--muted);border:1px dashed #00000021;border-radius:18px;padding:20px}@media (width<=1100px){.dashboard-layout{grid-template-columns:1fr;height:100svh;overflow:hidden}.dashboard-sidebar{border-right:1px solid #00000012;width:min(86vw,340px);max-width:340px;height:100svh;transition:transform .24s;position:fixed;top:0;left:0;overflow:hidden;transform:translate(-100%);box-shadow:0 24px 44px #0000001f}.dashboard-sidebar.open{transform:translate(0)}.dashboard-main{overflow:hidden}.dashboard-content{overflow-y:auto}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-content-grid,.dashboard-showcase-grid,.projects-shell,.projects-filter-bar,.projects-overview-strip,.project-proposals-summary,.project-form-grid,.project-form-grid-compact,.project-sheet-row-two,.project-sheet-row-three,.project-sheet-row-four{grid-template-columns:1fr}.dashboard-projects-panel,.dashboard-timeline-panel,.dashboard-agenda-panel,.dashboard-photo-card{grid-area:auto}.timeline-board-header,.timeline-board-row{grid-template-columns:1fr}.projects-browser-list{max-height:none}.projects-index-header,.project-workspace-header,.projects-pagination{flex-direction:column;align-items:flex-start}.projects-workspace,.projects-detail-columns,.project-detail-grid{grid-template-columns:1fr}.sidebar-backdrop,.sidebar-close-button,.sidebar-toggle-button{display:inline-flex}}@media (width<=900px){.login-page{justify-content:center;padding:24px 18px}.login-hero{min-height:100svh}.login-panel-wrap{width:min(100%,400px);margin-right:0}.sidebar-footer,.access-actions{flex-direction:column;align-items:flex-start}.dashboard-topbar{align-items:flex-start}}@media (width<=680px){.dashboard-topbar{padding:14px 18px}.dashboard-content{padding:16px 18px 28px}.dashboard-grid{grid-template-columns:1fr}.project-row-metrics,.dashboard-section-heading,.dashboard-recent-item-header,.dashboard-recent-item-footer,.projects-filter-actions,.projects-browser-toolbar,.project-editor-header,.project-phase-header,.project-phase-row,.project-supplier-row,.project-proposal-row,.project-phase-meta,.project-supplier-meta,.project-proposal-meta,.project-action-row,.project-detail-heading,.dashboard-topbar,.project-row-top,.phase-row-top,.sidebar-nav-item{flex-direction:column;align-items:flex-start}.projects-browser-summary,.dashboard-recent-item-side{justify-items:start}.timeline-row-track{min-height:68px}.sidebar-toggle-button{width:44px;height:44px}.login-brand{top:20px;left:20px}.login-brand img{width:112px}.panel-heading{font-size:40px}}.project-drawer-overlay{z-index:50;background:#00000075;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0;overflow-y:auto}.project-drawer-panel{background:#f5f5f5;border-radius:20px;align-content:start;gap:16px;width:min(900px,100%);max-height:min(92svh,820px);padding:24px 28px;display:grid;overflow-y:auto;box-shadow:0 32px 80px #00000038,0 0 0 1px #0000000f}[data-theme=dark] .project-drawer-panel{background:#181818;border:1px solid #ffffff14;box-shadow:0 32px 80px #0000008c,0 0 0 1px #ffffff0f}@media (width<=680px){.project-drawer-overlay{align-items:flex-end;padding:10px}.project-drawer-panel{border-radius:18px 18px 0 0;width:100%;max-height:96svh;padding:18px}}.loading-overlay-fullscreen{z-index:9999;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffffe0;place-items:center;gap:16px;display:grid;position:fixed;inset:0}.loading-overlay-fullscreen p{color:var(--muted);font-size:15px}.loading-overlay-inline{color:var(--muted);align-items:center;gap:12px;padding:12px 0;font-size:14px;display:flex}.loading-gif{object-fit:contain;width:64px;height:64px}.loading-overlay-inline .loading-gif{width:36px;height:36px}[data-theme=dark] .loading-overlay-fullscreen{background:#0a0a0ae0}[data-theme=dark] body,[data-theme=dark] .dashboard-layout{background:#0f0f0f}[data-theme=dark] .dashboard-sidebar{box-shadow:none;background:#101010fa;border-right-color:#ffffff0f}[data-theme=dark] .sidebar-brand img{filter:brightness(0)invert()saturate()}[data-theme=dark] .sidebar-search{color:var(--text-h);background:#1e1e1ee6;border-color:#ffffff17}[data-theme=dark] .sidebar-search:focus{border-color:#ffffff2e;outline-color:#ffffff14}[data-theme=dark] .sidebar-footer{border-top-color:#ffffff0f}[data-theme=dark] .sidebar-nav-caption{background:#ffffff0f}[data-theme=dark] .sidebar-nav-item-locked{border-color:#ffffff14}[data-theme=dark] .sidebar-nav-link:hover{color:var(--brand);background:#ffffff0d}[data-theme=dark] .sidebar-nav-empty{background:#ffffff0a}[data-theme=dark] .sidebar-toggle-button{background:#191919e6;border-color:#ffffff14}[data-theme=dark] .sidebar-toggle-button span,[data-theme=dark] .sidebar-close-button span{background:var(--brand)}[data-theme=dark] .sidebar-backdrop{background:#0009}[data-theme=dark] .dashboard-topbar{background:#0f0f0feb;border-bottom-color:#ffffff12}[data-theme=dark] .stat-card,[data-theme=dark] .panel-card{background:#161616e6;border-color:#ffffff0f;box-shadow:0 14px 40px #0000004d}[data-theme=dark] .project-item,[data-theme=dark] .agenda-item,[data-theme=dark] .timeline-item,[data-theme=dark] .dashboard-recent-item,[data-theme=dark] .project-row-card,[data-theme=dark] .project-phase-row,[data-theme=dark] .project-supplier-row,[data-theme=dark] .project-proposal-row,[data-theme=dark] .project-sheet-field,[data-theme=dark] .project-field-card,[data-theme=dark] .project-detail-card,[data-theme=dark] .phase-row,[data-theme=dark] .mini-row{background:#181818e6;border-color:#ffffff0f}[data-theme=dark] .project-row-card:hover,[data-theme=dark] .project-row-card.selected{border-color:#ffffff29;box-shadow:0 18px 32px #00000047}[data-theme=dark] .projects-table-wrap{background:#121212e6;border-color:#ffffff0f}[data-theme=dark] .projects-table thead th{background:#ffffff08}[data-theme=dark] .projects-table tbody tr+tr td{border-top-color:#ffffff0d}[data-theme=dark] .project-tab-button{background:#181818e6;border-color:#ffffff1a}[data-theme=dark] .project-tab-button.active{background:#ffffff14;border-color:#ffffff38}[data-theme=dark] .project-tab-bar{border-bottom-color:#ffffff0f}[data-theme=dark] .project-sheet-field input,[data-theme=dark] .project-sheet-field textarea,[data-theme=dark] .projects-filter-field input,[data-theme=dark] .projects-filter-field select{color:var(--text-h);background:#1e1e1ee6;border-color:#ffffff1a}[data-theme=dark] .project-sheet-field input:focus,[data-theme=dark] .project-sheet-field textarea:focus,[data-theme=dark] .projects-filter-field input:focus,[data-theme=dark] .projects-filter-field select:focus{border-color:#ffffff38;outline-color:#ffffff14}[data-theme=dark] .ghost-button,[data-theme=dark] .ghost-link{background:#181818e6;border-color:#ffffff1f}[data-theme=dark] .progress-track{background:#ffffff14}[data-theme=dark] .progress-fill{background:#ffffff8c}[data-theme=dark] .timeline-row-track{background:#ffffff0a}[data-theme=dark] .timeline-row-bar{background:#ffffff21;border:1px solid #ffffff2e}[data-theme=dark] .timeline-row-grid span{border-left-color:#ffffff0f}[data-theme=dark] .dashboard-section-caption,[data-theme=dark] .dashboard-date-pill{background:#ffffff0f}[data-theme=dark] .project-phase-total strong{background:#ffffff14}[data-theme=dark] .project-tab-note{background:#ffffff0a}[data-theme=dark] .empty-state{border-color:#ffffff14}[data-theme=dark] .table-action-button.secondary{background:#ffffff0f;border-color:#ffffff1f}[data-theme=dark] .table-action-button{color:var(--text-h);background:#ffffff1c;border:1px solid #ffffff29}[data-theme=dark] .primary-inline-button{color:var(--text-h);background:#ffffff1f}[data-theme=dark] .permission-chip{background:#ffffff0f}[data-theme=dark] .route-fallback{background:#0f0f0f}[data-theme=dark] .route-fallback-panel{background:#141414f2;border-color:#ffffff0f;box-shadow:0 18px 40px #0006}[data-theme=dark] .login-page{background:#111}[data-theme=dark] .login-panel{background:#121212e0;border-color:#ffffff1a;box-shadow:0 24px 65px #0006}[data-theme=dark] .login-panel-footnote{border-top-color:#ffffff14}[data-theme=dark] .form-input-shell{background:#1e1e1ebd;border-color:#ffffff1a}[data-theme=dark] .form-input-shell:focus-within{border-color:#ffffff38}[data-theme=dark] .dashboard-photo:after{background:linear-gradient(#0000,#00000052)}.modal-backdrop{z-index:200;background:#0000007a;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-content{background:#f5f5f5;border-radius:20px;align-content:start;gap:16px;width:min(520px,100%);max-height:min(92svh,780px);padding:28px;display:grid;overflow-y:auto;box-shadow:0 32px 80px #00000038,0 0 0 1px #0000000f}.modal-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.modal-header h2,.modal-header h3{color:var(--text-h);margin:0;font-size:18px;font-weight:700}.modal-close-btn{cursor:pointer;color:var(--muted);font:inherit;background:0 0;border:1px solid #00000026;border-radius:8px;padding:4px 8px;line-height:1;transition:background .15s}.modal-close-btn:hover{background:#0000000f}.modal-form{gap:14px;display:grid}.modal-title{color:var(--text-h);margin:0;font-size:18px;font-weight:700}.modal-field{gap:5px;display:grid}.modal-field span{color:var(--muted-strong);font-size:13px;font-weight:600}.modal-field input,.modal-field textarea,.modal-field select{width:100%;color:var(--text);font:inherit;background:#fff;border:1px solid #0000001f;border-radius:10px;padding:8px 12px;font-size:14px;transition:border-color .15s}.modal-field input:focus,.modal-field textarea:focus,.modal-field select:focus{border-color:var(--brand);outline:none}.modal-actions{justify-content:flex-end;gap:10px;padding-top:4px;display:flex}.btn-primary{color:#fff;font:inherit;cursor:pointer;background:#111;border:none;border-radius:10px;align-items:center;gap:6px;width:fit-content;padding:8px 18px;font-weight:700;transition:opacity .15s;display:inline-flex}.btn-primary:hover{opacity:.82}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{color:var(--muted-strong);font:inherit;cursor:pointer;background:#fff;border:1px solid #00000021;border-radius:10px;align-items:center;gap:6px;width:fit-content;padding:8px 18px;font-weight:600;transition:background .15s;display:inline-flex}.btn-secondary:hover{background:#0000000a}.alert-message{border-radius:10px;padding:10px 14px;font-size:14px}.alert-message.error{color:#c0392b;background:#dc262617;border:1px solid #dc262633}[data-theme=dark] .modal-content{background:#181818;border:1px solid #ffffff14;box-shadow:0 32px 80px #0000008c}[data-theme=dark] .modal-close-btn{color:var(--muted);border-color:#ffffff26}[data-theme=dark] .modal-close-btn:hover{background:#ffffff0f}[data-theme=dark] .modal-field input,[data-theme=dark] .modal-field textarea,[data-theme=dark] .modal-field select{color:var(--text);background:#ffffff0f;border-color:#ffffff1f}[data-theme=dark] .btn-primary{color:#111;background:#e0e0e0}[data-theme=dark] .btn-secondary{color:var(--muted-strong);background:0 0;border-color:#ffffff26}[data-theme=dark] .btn-secondary:hover{background:#ffffff0d}.btn-danger{color:#c0392b;font:inherit;cursor:pointer;background:#dc262612;border:1px solid #dc262659;border-radius:10px;align-items:center;gap:6px;width:fit-content;padding:8px 18px;font-weight:600;transition:background .15s;display:inline-flex}.btn-danger:hover{background:#dc262624}.btn-danger:disabled{opacity:.5;cursor:not-allowed}[data-theme=dark] .btn-danger{color:#e57373;background:#dc26261f;border-color:#dc262666}[data-theme=dark] .btn-danger:hover{background:#dc262638}.client-detail-modal{width:90vw;max-width:min(1100px,90vw)}.client-detail-body{grid-template-columns:340px 1fr;align-items:start;gap:24px;display:grid}.client-detail-left,.client-detail-right{flex-direction:column;gap:20px;display:flex}.client-info-grid{background:#00000006;border:1px solid #00000012;border-radius:12px;flex-direction:column;gap:10px;padding:16px;display:flex}[data-theme=dark] .client-info-grid{background:#ffffff08;border-color:#ffffff12}.client-info-row{grid-template-columns:130px 1fr;gap:8px;font-size:14px;line-height:1.4;display:grid}.client-info-row.client-info-notes{align-items:start}.client-info-label{color:var(--muted-strong);flex-shrink:0;font-weight:600}.client-kpi-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.client-section-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted-strong);margin:0 0 8px;font-size:12px;font-weight:700}.app-modal-content{padding:0;overflow:hidden}.app-modal-header{border-bottom:1px solid #00000012;align-items:center;gap:12px;padding:20px 24px 18px;display:flex}.app-modal-header--danger{background:#dc26260f;border-bottom-color:#dc26261f}.app-modal-header--warning{background:#eab30812;border-bottom-color:#eab30826}.app-modal-header--info{background:#3b82f60d;border-bottom-color:#3b82f61a}.app-modal-header--error{background:#dc26260f;border-bottom-color:#dc26261f}.app-modal-header--success{background:#22c55e12;border-bottom-color:#22c55e26}.app-modal-icon{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;font-weight:700;display:flex}.app-modal-header--danger .app-modal-icon,.app-modal-header--error .app-modal-icon{color:#c0392b;background:#dc26261a}.app-modal-header--warning .app-modal-icon{color:#92400e;background:#eab3081f}.app-modal-header--info .app-modal-icon{color:#1d4ed8;background:#3b82f61a}.app-modal-header--success .app-modal-icon{color:#15803d;background:#22c55e1a}.app-modal-message{color:var(--text);border-bottom:1px solid #0000000f;margin:0;padding:18px 24px;font-size:15px;line-height:1.5}.app-modal-content .modal-actions{justify-content:flex-end;gap:10px;margin:0;padding:16px 24px;display:flex}[data-theme=dark] .app-modal-header{border-bottom-color:#ffffff12}[data-theme=dark] .app-modal-header--danger,[data-theme=dark] .app-modal-header--error{background:#dc26261a;border-bottom-color:#dc26262e}[data-theme=dark] .app-modal-header--warning{background:#eab3081a;border-bottom-color:#eab30833}[data-theme=dark] .app-modal-header--info{background:#3b82f614;border-bottom-color:#3b82f626}[data-theme=dark] .app-modal-header--success{background:#22c55e17;border-bottom-color:#22c55e2e}[data-theme=dark] .app-modal-header--danger .app-modal-icon,[data-theme=dark] .app-modal-header--error .app-modal-icon{color:#e57373}[data-theme=dark] .app-modal-header--warning .app-modal-icon{color:#fbbf24}[data-theme=dark] .app-modal-header--info .app-modal-icon{color:#60a5fa}[data-theme=dark] .app-modal-header--success .app-modal-icon{color:#4ade80}[data-theme=dark] .app-modal-message{border-bottom-color:#ffffff12}[data-theme=dark] .app-modal-content .modal-actions{background:0 0}.page-toolbar{justify-content:flex-end;align-items:center;gap:10px;display:flex}.admin-page{gap:20px;display:grid}.admin-tab-bar{flex-wrap:wrap;gap:8px;display:flex}.admin-tab-content{gap:16px;display:grid}.import-section{background:var(--card-bg,#fff);border:1px solid var(--border-color,#e5e7eb);border-radius:8px;margin-bottom:20px;padding:20px}.import-section-title{color:var(--text-primary,#111);margin-bottom:16px;font-size:1rem;font-weight:600}.import-drop-zone{border:2px dashed var(--border-color,#d1d5db);cursor:pointer;border-radius:8px;transition:border-color .2s,background .2s;display:block}.import-drop-zone:hover,.import-drop-zone-active{border-color:var(--accent,#3b82f6);background:var(--hover-bg,#f0f9ff)}.import-drop-zone-active{background:#eff6ff;border-style:solid;border-color:#2563eb}.import-file-input{display:none}.import-drop-content{flex-direction:column;align-items:center;gap:8px;padding:32px 20px;display:flex}.import-drop-icon{font-size:2rem}.import-drop-label{color:var(--text-primary,#111);font-weight:500}.import-drop-hint{color:var(--text-muted,#6b7280);font-size:.8rem}.import-alert{border-radius:6px;margin-top:12px;padding:12px 16px;font-size:.875rem}.import-alert ul{margin:4px 0 0 16px;padding:0}.import-alert-error{color:#dc2626;background:#fef2f2;border:1px solid #fca5a5}.import-alert-warning{color:#92400e;background:#fffbeb;border:1px solid #fde68a}.import-alert-success{color:#16a34a;background:#f0fdf4;border:1px solid #86efac}.import-confirm-errors{margin:8px 0 0 16px;padding:0;font-size:.8rem;line-height:1.6}.import-summary{flex-wrap:wrap;gap:16px;margin-bottom:16px;display:flex}.import-summary-item{text-align:center;min-width:90px;color:var(--text-muted,#6b7280);flex-direction:column;align-items:center;gap:4px;font-size:.8rem;display:flex}.import-summary-num{font-size:1.75rem;font-weight:700;line-height:1}.import-summary-num-green{color:#16a34a}.import-summary-num-blue{color:#2563eb}.import-summary-num-muted{color:#9ca3af}.import-projects-list{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.import-project-row{border:1px solid var(--border-color,#e5e7eb);border-radius:6px;overflow:hidden}.import-project-header{background:var(--table-header-bg,#f9fafb);cursor:pointer;text-align:left;width:100%;color:var(--text-primary,#111);border:none;align-items:center;gap:10px;padding:10px 14px;font-size:.875rem;font-weight:500;transition:background .15s;display:flex}.import-project-header:hover{background:var(--hover-bg,#f3f4f6)}.import-project-name{flex:1}.import-project-meta{color:var(--text-muted,#6b7280);font-size:.8rem}.import-project-meta-old{color:var(--text-muted,#9ca3af)}.import-chevron{color:var(--text-muted,#9ca3af);font-size:.7rem}.import-project-detail{border-top:1px solid var(--border-color,#e5e7eb);background:var(--card-bg,#fff);padding:12px 14px}.import-error-msg{color:#dc2626;margin-bottom:8px;font-size:.875rem}.import-warnings{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:4px;margin-bottom:10px;padding:8px 8px 8px 20px;font-size:.8rem}.import-table{border-collapse:collapse;width:100%;font-size:.8rem}.import-table th,.import-table td{text-align:left;border-bottom:1px solid var(--border-color,#f3f4f6);padding:6px 10px}.import-table th{color:var(--text-muted,#6b7280);white-space:nowrap;font-weight:600}.import-row-insertar td:first-child{border-left:3px solid #16a34a}.import-row-actualizar td:first-child{border-left:3px solid #2563eb}.import-changes{color:var(--text-muted,#6b7280);font-style:italic}.import-count-new{color:#16a34a;font-size:.8rem}.import-count-update{color:#2563eb;font-size:.8rem}.import-count-skip{color:#9ca3af;font-size:.8rem}.import-badge{text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;border-radius:4px;padding:2px 6px;font-size:.7rem;font-weight:700;display:inline-block}.import-badge-crear{color:#16a34a;background:#dcfce7}.import-badge-actualizar{color:#2563eb;background:#dbeafe}.import-badge-insertar{color:#16a34a;background:#dcfce7}.import-badge-omitir{color:#9ca3af;background:#f3f4f6}.import-badge-error{color:#dc2626;background:#fef2f2}.import-badge-cancelled{color:#92400e;background:#fef9c3}.import-badge-registrar_pago{color:#16a34a;background:#dcfce7}.import-badge-marcar_cancelada{color:#dc2626;background:#fee2e2}.import-badge-sin_accion{color:#9ca3af;background:#f3f4f6}.import-summary-num-error{color:#dc2626;font-weight:700}.import-saldos-table-wrap{margin-top:12px;overflow-x:auto}.import-saldo-error-msg{color:#f59e0b;cursor:help;margin-left:4px}.import-row-registrar_pago td:first-child{border-left:3px solid #16a34a}.import-row-marcar_cancelada td:first-child{border-left:3px solid #dc2626}.import-row-error td:first-child{border-left:3px solid #f59e0b}.import-row-sin_accion td:first-child{border-left:3px solid #e5e7eb}.import-actions{justify-content:flex-end;gap:12px;margin-top:16px;display:flex}[data-theme=dark] .import-section{background:var(--card-bg-dark,#1e2330);border-color:var(--border-dark,#374151)}[data-theme=dark] .import-drop-zone:hover{background:#3b82f614}[data-theme=dark] .import-alert-error{color:#fca5a5;background:#dc26261f;border-color:#991b1b}[data-theme=dark] .import-alert-success{color:#86efac;background:#16a34a1f;border-color:#166534}[data-theme=dark] .import-table th,[data-theme=dark] .import-table td{border-color:var(--border-dark,#374151)}[data-theme=dark] .import-warnings{color:#fde68a;background:#92400e26;border-color:#78350f}.import-badge-ya_existe{color:#64748b;background:#f1f5f9}.import-badge-proyecto_no_encontrado{color:#92400e;background:#fef3c7}.import-badge-pagado{color:#16a34a;background:#dcfce7}.import-badge-pendiente{color:#854d0e;background:#fef9c3}.import-row-ya_existe{opacity:.55}.import-row-proyecto_no_encontrado{background:#fffbeb}.import-prov-group{border:1px solid var(--border,#e5e7eb);border-radius:8px;margin-bottom:1.25rem;overflow:hidden}.import-prov-group-header{background:var(--surface-secondary,#f8fafc);color:var(--text-secondary,#6b7280);border-bottom:1px solid var(--border,#e5e7eb);padding:.5rem 1rem;font-size:.875rem;font-weight:600}[data-theme=dark] .import-prov-group{border-color:var(--border-dark,#374151)}[data-theme=dark] .import-prov-group-header{border-color:var(--border-dark,#374151);color:var(--text-muted-dark,#9ca3af);background:#ffffff0a}:root{--text:#444;--text-h:#111;--bg:#f5f5f5;--brand:#111;--muted:#888;--muted-strong:#555;--sans:"Segoe UI", "Helvetica Neue", sans-serif;--heading:Georgia, "Times New Roman", serif;font:14px/1.5 var(--sans);color:var(--text);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f5f5}[data-theme=dark]{--text:#aaa;--text-h:#f0f0f0;--bg:#0f0f0f;--brand:#f0f0f0;--muted:#888;--muted-strong:#b0b0b0;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#0f0f0f}*{box-sizing:border-box}body{min-width:320px;margin:0}#root{min-height:100svh}h1{font-family:var(--heading);letter-spacing:-.04em;color:var(--text-h);margin:0 0 18px;font-size:clamp(42px,7vw,72px);line-height:.95}p{margin:0}
