*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Arial,sans-serif;background:#f4f7fb;color:#172033}.topbar{background:#fff;border-bottom:1px solid #dfe6ef;padding:12px 4%;display:flex;align-items:center;justify-content:space-between;gap:20px;box-shadow:0 2px 12px #0f234110}.logos{display:flex;align-items:center;gap:15px}.logos img{object-fit:contain;width:240px;height:68px}.divider{height:58px;border-left:2px solid #cdd5df}.header-right{display:flex;align-items:center;gap:18px}.system-title{font-weight:800;color:#193e72;letter-spacing:.4px}.container{max-width:1550px;margin:26px auto;padding:0 20px}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px}.page-head h1{font-size:30px;margin:0 0 5px}.page-head p{color:#667085;margin:0}.stats{display:flex;gap:10px}.stats div{background:#fff;border:1px solid #dfe6ef;border-radius:10px;padding:9px 18px;text-align:center}.stats strong{display:block;font-size:21px;color:#14539b}.stats span{font-size:10px;color:#667085}.filters{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:10px;margin:18px 0}.filters input,.filters select,.toolbar select{padding:11px;border:1px solid #ccd6e3;border-radius:8px;background:#fff}.table-card{background:#fff;border:1px solid #dfe6ef;border-radius:12px;overflow:auto;box-shadow:0 5px 18px #0f23410a}table{width:100%;border-collapse:collapse;min-width:1150px}th{background:#1769aa;color:#fff;text-align:left;padding:13px;font-size:12px;white-space:nowrap}td{padding:10px 12px;border-bottom:1px solid #edf1f5;font-size:13px;vertical-align:middle}.area{font-weight:700}.muted{color:#929aaa}.btn{border:0;padding:10px 14px;border-radius:8px;font-weight:700;cursor:pointer}.orange{background:#f58220;color:#fff}.green-btn{background:#39a96b;color:#fff}.cancel-btn{background:#6b7280;color:#fff}.link,.edit,.trash{border:0;color:#fff;border-radius:7px;padding:7px 10px;cursor:pointer}.link{background:#6d4bc2}.edit{background:#1769aa}.trash{background:#c0392b}.hidden{display:none}.project-header{background:#fff;border:1px solid #dfe6ef;border-radius:12px;padding:18px;margin-bottom:16px}.back-btn{border:0;background:#1769aa;color:#fff;font-weight:800;cursor:pointer;padding:11px 18px;border-radius:8px;font-size:14px;box-shadow:0 2px 5px #1769aa33;margin-bottom:14px}.back-btn:hover{background:#0f568e}.project-meta{display:flex;justify-content:space-between;align-items:center;gap:20px}.eyebrow{font-size:12px;color:#1769aa;font-weight:800}.project-meta h1{margin:5px 0;font-size:28px}.project-meta p{margin:0;color:#667085}.leader-box{min-width:220px;text-align:right}.leader-box span{display:block;font-size:10px;color:#667085}.leader-box strong{display:block;margin-top:5px;color:#193e72}.summary{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:16px}.sum-card{background:#fff;border:1px solid #dfe6ef;border-radius:10px;padding:13px;text-align:center}.sum-card strong{display:block;font-size:22px;color:#344054}.sum-card span{font-size:10px;color:#667085}.sum-card.green{border-top:4px solid #53bf79}.sum-card.green strong{color:#16833b}.sum-card.blue{border-top:4px solid #4aa9e8}.sum-card.blue strong{color:#1769aa}.sum-card.gray{border-top:4px solid #b9c0c9}.sum-card.red{border-top:4px solid #ed4b58}.sum-card.red strong{color:#c0392b}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.toolbar-left{display:flex;gap:8px}.legend{display:flex;gap:12px;font-size:11px;color:#667085}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:4px}.dot.complete{background:#53bf79}.dot.progress{background:#4aa9e8}.dot.pending{background:#b9c0c9}.dot.late{background:#f58220}.inline-add{background:#eef7ff;border:1px solid #a8cae8;border-radius:10px;margin-bottom:12px;padding:12px}.add-title{font-size:11px;font-weight:800;color:#1769aa;margin-bottom:9px}.add-grid{display:grid;grid-template-columns:1.05fr 1.7fr 1fr .95fr 1.05fr 1.05fr 1.25fr .8fr 1.5fr auto auto;gap:7px;align-items:center}.add-grid input,.add-grid select{width:100%;min-width:0;padding:10px;border:1px solid #c7d3df;border-radius:7px;background:#fff;font-size:12px}.add-grid input[readonly]{background:#e9edf2;color:#4b5563}.date-help{font-size:10px;color:#667085;margin-top:8px}.project-table table{min-width:1450px}.status{display:inline-block;padding:5px 9px;border-radius:6px;font-weight:700;font-size:11px}.status-completado{background:#d9f3e1;color:#16763a}.status-en-progreso{background:#d8efff;color:#1769aa}.status-no-iniciado{background:#e9edf1;color:#586271}.status-retrasado{background:#ffe1b9;color:#a65300}.status-bloqueado{background:#d6d6d6;color:#333}.status-cancelado{background:#ffd8dc;color:#a61b2b}.priority{font-weight:700}.priority-urgente{color:#9c0006}.priority-critica{color:#e83d50}.priority-alta{color:#e47700}.priority-media{color:#1769aa}.priority-baja{color:#6d4bc2}.progress{min-width:90px}.progress-bar{height:7px;background:#e9edf2;border-radius:8px;overflow:hidden}.progress-bar span{display:block;height:100%;background:#43ad73}.progress-text{font-size:10px;color:#667085}.obs{max-width:180px}.task-actions{white-space:nowrap}dialog{border:0;border-radius:12px;padding:24px;min-width:min(94vw,480px);box-shadow:0 15px 45px #0003}dialog::backdrop{background:#0c193073}dialog label{display:block;font-weight:600;margin:11px 0;font-size:13px}dialog input,dialog select{display:block;width:100%;margin-top:6px;padding:10px;border:1px solid #ccd6e3;border-radius:8px;background:#fff}dialog footer{text-align:right;margin-top:18px}dialog footer button:not(.btn){padding:10px 14px;border:1px solid #ccd6e3;border-radius:8px;background:#fff;cursor:pointer}@media(max-width:1000px){.topbar{flex-direction:column;align-items:flex-start}.header-right{width:100%;justify-content:space-between}.logos img{width:170px;height:55px}.page-head,.project-meta,.toolbar{flex-direction:column;align-items:flex-start}.summary{grid-template-columns:repeat(2,1fr)}.filters{grid-template-columns:1fr}.add-grid{grid-template-columns:repeat(2,1fr)}.legend{flex-wrap:wrap}.leader-box{text-align:left}}
.add-row{background:#eef7ff;border:1px solid #a8cae8;border-radius:10px;margin-top:10px;padding:12px}
.add-row .add-title{margin-bottom:9px}
.user-badge{background:#edf4ff;color:#193e72;border:1px solid #cbdcf2;border-radius:20px;padding:8px 12px;font-size:11px;font-weight:800}.logout-btn{background:#eef1f5;color:#344054}.logout-btn:hover{background:#dfe5ec}

/* V6 PASO 2 - Panel de usuarios */
.users-btn{background:#183b68;color:#fff;border:none}
.users-btn:hover{background:#0f2d50}
.hidden{display:none!important}
.users-dialog{border:0;border-radius:18px;padding:0;width:min(1100px,94vw);max-width:1100px;box-shadow:0 25px 70px rgba(0,0,0,.25)}
.users-dialog::backdrop{background:rgba(15,31,50,.48)}
.users-panel{padding:28px;background:#f7f9fc}
.users-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px}
.users-head h2{margin:3px 0 4px;color:#173b67;font-size:30px}.users-head p{margin:0;color:#6d7890}
.close-x{border:0;background:#e9eef5;width:38px;height:38px;border-radius:50%;font-size:25px;cursor:pointer;color:#42536b}
.user-form{display:grid;grid-template-columns:1.2fr 1fr 1fr .8fr auto;gap:12px;align-items:end;background:#fff;border:1px solid #e1e7ef;border-radius:14px;padding:16px;margin-bottom:18px}
.user-form label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;color:#4b5c73}.user-form input,.user-form select{height:40px;border:1px solid #cbd6e5;border-radius:8px;padding:0 11px;background:#f9fbfe;box-sizing:border-box}.user-form-actions{display:flex;gap:8px}
.users-table-card{background:#fff}.users-table-card table{width:100%}.users-table-card td,.users-table-card th{padding:12px 10px}.role-pill,.state-pill{display:inline-block;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800}.role-admin{background:#e8eef9;color:#183b68}.role-gestor{background:#edf7f1;color:#22744a}.state-active{background:#e8f7ee;color:#177443}.state-inactive{background:#f3e9e9;color:#9a3434}.user-actions{display:flex;gap:7px;flex-wrap:wrap}.user-actions button{border:0;border-radius:7px;padding:7px 9px;cursor:pointer;font-weight:700}.user-actions .edit{background:#e9eff8;color:#1b4e82}.user-actions .toggle-user{background:#fff2d9;color:#855c0a}.user-actions .trash{background:#fbe8e8;color:#a02e2e}.user-actions .trash:disabled{opacity:.45;cursor:not-allowed}

.user-project-assignments{grid-column:1/-1;border:1px solid #dfe6ef;border-radius:12px;padding:14px;background:#fbfcfe;min-width:0}
.user-project-assignments.hidden,.admin-project-access-note.hidden{display:none!important}
.user-project-assignment-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.user-project-assignment-head strong{font-size:12px;color:#23486f}
.user-project-assignment-head p{margin:5px 0 0;color:#667085;font-size:12px;font-weight:400}
.assignment-buttons{display:flex;gap:6px;flex-wrap:wrap}
.assignment-mini-btn{border:1px solid #cbd6e5;border-radius:7px;background:#fff;color:#23486f;padding:7px 9px;font-size:11px;font-weight:700;cursor:pointer;white-space:nowrap}
.user-project-checkboxes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-height:220px;overflow:auto;padding:2px}
.user-project-option{display:flex;align-items:flex-start;gap:8px;padding:9px;border:1px solid #e1e7ef;border-radius:8px;background:#fff;cursor:pointer;min-width:0}
.user-project-option input{margin:3px 0 0;flex:0 0 auto;width:15px;height:15px;accent-color:#1769aa}
.user-project-option span{display:flex;flex-direction:column;gap:4px;min-width:0}
.user-project-option strong{font-size:12px;color:#263b53;overflow-wrap:anywhere}
.user-project-option small{font-size:10px;line-height:1.35;color:#667085;font-weight:400}
.admin-project-access-note{grid-column:1/-1;padding:10px 12px;border-radius:8px;background:#eaf2ff;color:#204e83;font-size:12px;font-weight:700}
@media(max-width:1000px){.user-project-checkboxes{grid-template-columns:repeat(2,minmax(0,1fr))}.user-project-assignment-head{flex-direction:column}}
@media(max-width:600px){.user-project-checkboxes{grid-template-columns:1fr}}
@media(max-width:900px){.user-form{grid-template-columns:1fr 1fr}.user-form-actions{grid-column:1/-1}.users-table-card{overflow:auto}}
@media(max-width:600px){.user-form{grid-template-columns:1fr}.user-form-actions{grid-column:auto}.users-head h2{font-size:24px}}
.users-btn{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}
.task-edit-dialog{border:0;border-radius:18px;padding:0;width:min(980px,94vw);max-width:980px;box-shadow:0 25px 70px rgba(0,0,0,.25)}
.task-edit-panel{padding:28px;background:#f7f9fc}.task-edit-panel h2{margin:3px 0 4px;color:#173b67;font-size:28px}.task-edit-panel p{margin:0;color:#6d7890;font-size:13px}.edit-task-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;background:#fff;border:1px solid #e1e7ef;border-radius:14px;padding:18px}.edit-task-grid label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;color:#4b5c73}.edit-task-grid input,.edit-task-grid select{height:40px;border:1px solid #cbd6e5;border-radius:8px;padding:0 11px;background:#f9fbfe;box-sizing:border-box}.edit-task-grid input:disabled,.edit-task-grid select:disabled{background:#edf1f5;color:#7a8492}.edit-obs{grid-column:span 2}.edit-task-actions{display:grid;grid-template-columns:auto 1fr auto auto;gap:8px;align-items:center;margin-top:16px}.edit-task-actions .trash{background:#c0392b;color:#fff}.edit-task-actions .trash.hidden{display:none!important}@media(max-width:800px){.edit-task-grid{grid-template-columns:1fr 1fr}.edit-obs{grid-column:span 2}}@media(max-width:560px){.edit-task-grid{grid-template-columns:1fr}.edit-obs{grid-column:auto}.edit-task-actions{grid-template-columns:1fr}.edit-task-actions span{display:none}}

/* V6 PASO 10 - Alertas de vencimiento: diseño visual mejorado */
.project-alerts{margin:0 0 18px;background:#fff;border:1px solid #dfe6ee;border-radius:18px;box-shadow:0 8px 24px rgba(15,35,65,.08);overflow:hidden}
.project-alerts.hidden{display:none!important}
.alert-head{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:18px 20px;background:linear-gradient(135deg,#fffaf2 0%,#fff5e7 100%);border-bottom:1px solid #f0dfc5}
.alert-eyebrow{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:900;color:#a65300;letter-spacing:.5px;text-transform:uppercase}.alert-head h3{margin:5px 0 3px;color:#173b67;font-size:20px;line-height:1.15}.alert-head p{margin:0;color:#667085;font-size:12px}
.alert-counts{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}.alert-count{display:flex;align-items:center;gap:6px;padding:9px 13px;border-radius:12px;font-size:11px;font-weight:900;white-space:nowrap;border:1px solid transparent}.alert-count.red{background:#fff0f1;color:#b42335;border-color:#f8cfd4}.alert-count.orange{background:#fff3df;color:#a65300;border-color:#f3d5a5}
.alert-list{display:flex;flex-direction:column;padding:8px 10px 10px;gap:7px}.alert-item{position:relative;display:flex;align-items:center;gap:13px;padding:12px 12px 12px 14px;border:1px solid #e7ecf2;border-radius:12px;transition:transform .15s ease,box-shadow .15s ease;background:#fff}.alert-item:hover{transform:translateY(-1px);box-shadow:0 5px 14px rgba(15,35,65,.07)}.alert-item:last-child{border-bottom:1px solid #e7ecf2}.alert-item.overdue{background:#fff8f9;border-left:5px solid #e11d2e}.alert-item.soon{background:#fffaf2;border-left:5px solid #f28a16}.alert-icon{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:15px;flex:0 0 30px}.alert-item.overdue .alert-icon{background:#ffe1e5}.alert-item.soon .alert-icon{background:#ffe9c9}.alert-main{flex:1;min-width:0}.alert-main strong{display:block;color:#173b67;font-size:13px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.alert-main span{display:flex;align-items:center;flex-wrap:wrap;gap:5px;color:#667085;font-size:11px;margin-top:5px}.alert-main b{color:#344054}.alert-go{border:1px solid #d8e5f2;background:#f3f8fd;color:#1769aa;padding:8px 12px;border-radius:9px;font-weight:900;font-size:11px;cursor:pointer;white-space:nowrap;transition:background .15s ease,border-color .15s ease}.alert-go:hover{background:#e5f0fa;border-color:#c5d9eb}
.due-badge{display:inline-flex;align-items:center;margin-top:5px;padding:4px 8px;border-radius:999px;font-size:9px;font-weight:900;letter-spacing:.2px}.due-badge.overdue{background:#fde4e6;color:#a61b2b}.due-badge.soon{background:#ffe9cc;color:#9a5200}
@media(max-width:700px){.alert-head{flex-direction:column;align-items:flex-start}.alert-counts{justify-content:flex-start}.alert-item{align-items:flex-start;flex-wrap:wrap}.alert-main{min-width:calc(100% - 43px)}.alert-go{margin-left:43px}}

/* V6 PASO 11 - Cumplimiento y resumen flotante por proyecto */
.project-progress-hover{min-width:155px;cursor:default;outline:none}.project-progress-hover small{display:block;margin-top:4px;color:#667085;font-size:10px}.project-progress-line{display:flex;align-items:center;gap:8px}.project-progress-line strong{min-width:38px;text-align:right;color:#193e72;font-size:12px}.project-progress-bar{height:10px;flex:1;background:#e9edf2;border-radius:999px;overflow:hidden;min-width:95px}.project-progress-bar span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#4aa9e8,#43ad73);transition:width .25s ease}.project-summary-tooltip{position:fixed;z-index:9999;width:min(430px,calc(100vw - 20px));background:#fff;border:1px solid #dbe3ec;border-radius:14px;box-shadow:0 18px 45px rgba(15,35,65,.22);padding:16px;color:#172033;pointer-events:none}.project-summary-tooltip.hidden{display:none}.project-tooltip-title{font-size:10px;text-transform:uppercase;letter-spacing:.6px;font-weight:900;color:#1769aa}.project-tooltip-project{font-size:17px;font-weight:900;color:#173b67;margin:3px 0 12px}.tooltip-progress{background:#f7f9fc;border:1px solid #e5eaf0;border-radius:10px;padding:10px;margin-bottom:12px}.tooltip-progress>div:first-child{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#667085;margin-bottom:7px}.tooltip-progress b{font-size:14px;color:#193e72}.tooltip-progress-bar{height:9px;background:#e7edf3;border-radius:999px;overflow:hidden}.tooltip-progress-bar span{display:block;height:100%;background:linear-gradient(90deg,#4aa9e8,#43ad73);border-radius:999px}.tooltip-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:13px}.tooltip-grid>div{background:#f8fafc;border:1px solid #e8edf2;border-radius:9px;padding:8px 5px;text-align:center}.tooltip-grid b{display:block;color:#173b67;font-size:16px;line-height:1}.tooltip-grid span{display:block;color:#667085;font-size:9px;margin-top:4px}.tooltip-section-title{font-size:11px;font-weight:900;color:#173b67;border-top:1px solid #e8edf2;padding-top:11px;margin-bottom:7px}.manager-summary{display:flex;flex-direction:column;gap:6px;max-height:170px;overflow:auto}.manager-summary-row{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#f8fafc;border:1px solid #e8edf2;border-radius:9px;padding:7px 9px}.manager-name{font-size:11px;font-weight:800;color:#344054;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.manager-metrics{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end;color:#667085;font-size:9px}.manager-metrics b{color:#173b67;font-size:11px}.manager-metrics .ok b{color:#16833b}.manager-metrics .pending b{color:#a65300}.summary-empty{font-size:10px;color:#667085;padding:8px}.tooltip-foot{font-size:9px;color:#667085;margin-top:8px}.project-progress-hover:focus-visible{outline:2px solid #1769aa;outline-offset:3px}
@media(max-width:700px){.project-summary-tooltip{width:calc(100vw - 20px)}.tooltip-grid{grid-template-columns:repeat(2,1fr)}.manager-summary-row{align-items:flex-start;flex-direction:column}.manager-metrics{justify-content:flex-start}}

/* V6 PASO 12 - control de proyectos y exportación a Excel */
.admin-only.hidden{display:none!important}
.excel-btn{background:#eaf6ee;color:#176b3a;border:1px solid #bfe0c9}.excel-btn:hover{background:#dff1e5}

/* V6 PASO 13 - Importación masiva de Excel */
.import-btn{background:#e9f7ef;color:#176b3a;border:1px solid #b9dfc7}.import-btn:hover{background:#ddf1e5}


/* V6 PASO 14 - Logos por proyecto y acabado visual */
.project-name-cell{display:flex;align-items:center;gap:12px;min-width:220px}.project-logo-thumb{width:52px;height:42px;object-fit:contain;border:1px solid #e1e7ef;border-radius:9px;background:#fff;padding:4px;box-sizing:border-box;flex:0 0 52px}.project-logo-thumb.empty{background:linear-gradient(135deg,#f4f7fb,#e8eef5);display:flex;align-items:center;justify-content:center;color:#8b98a9;font-size:18px}.project-title-text{min-width:0}.project-title-text strong{display:block;color:#173b67}.project-title-text small{display:block;color:#7a8798;font-size:10px;margin-top:2px}.project-header-title{display:flex;align-items:center;gap:14px}.project-header-logo{width:76px;height:58px;object-fit:contain;border:1px solid #dfe6ee;border-radius:12px;background:#fff;padding:6px;box-shadow:0 5px 14px rgba(15,35,65,.07)}.project-header-logo.empty{display:none}.project-logo-upload{display:grid;grid-template-columns:1fr 150px;gap:8px;align-items:center}.project-logo-upload input[type=file]{width:100%;box-sizing:border-box}.logo-preview{height:82px;border:1px dashed #b9c7d8;border-radius:10px;background:#f8fafc;display:flex;align-items:center;justify-content:center;overflow:hidden;grid-column:1/-1}.logo-preview img{max-width:90%;max-height:72px;object-fit:contain}.logo-preview span{color:#8a96a6;font-size:11px}.remove-logo-btn{justify-self:start;border:0;background:#fff0f1;color:#a61b2b;border-radius:7px;padding:8px 10px;font-size:11px;font-weight:800;cursor:pointer}.remove-logo-btn:hover{background:#ffe1e5}
@media(max-width:700px){.project-name-cell{min-width:170px}.project-logo-thumb{width:44px;height:36px;flex-basis:44px}.project-header-title{align-items:flex-start}.project-header-logo{width:62px;height:50px}.project-logo-upload{grid-template-columns:1fr}.remove-logo-btn{grid-column:auto}}

/* AJUSTE 2026-10: estado del cliente y dashboard consolidado */
.header-right{flex-wrap:wrap;gap:10px}.nav-btn{display:inline-flex;align-items:center;white-space:nowrap;background:#eef4fb;color:#173b67;border:1px solid #d7e3f0}.nav-btn-active{background:#1769aa;color:#fff;border-color:#1769aa}.client-view-switch{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:18px 0 8px}.client-view-btn{border:1px solid #d2dce8;background:#fff;color:#344054;border-radius:999px;padding:9px 15px;font-size:12px;font-weight:800;cursor:pointer}.client-view-btn.selected{background:#e6f2ff;border-color:#8fbfe9;color:#125b95}.client-view-note{font-size:11px;color:#667085;margin-left:6px}.client-toggle{border:0;border-radius:7px;padding:7px 9px;background:#fff1da;color:#8d5000;font-size:11px;font-weight:800;cursor:pointer;white-space:nowrap}.client-toggle.reactivate{background:#e4f5e9;color:#176b3a}.inactive-client-row{background:#fffaf1}.inactive-mini{display:inline-block;margin:4px 0 0;padding:3px 6px;background:#fff0d6;color:#935300;border-radius:999px;font-size:9px;font-weight:900}.empty-table-message{text-align:center;padding:22px;color:#667085}.project-active-toggle{border:1px solid #dbe5f0;border-radius:10px;padding:12px;background:#f6f9fc}.project-active-toggle span{display:flex;align-items:center;gap:9px;font-weight:800;color:#173b67}.project-active-toggle input[type=checkbox]{width:18px;height:18px;display:inline-block;margin:0}.project-active-toggle small{display:block;margin-top:7px;color:#667085;font-weight:400;font-size:11px;line-height:1.45}
.dashboard-view{display:flex;flex-direction:column;gap:16px}.dashboard-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;background:#fff;border:1px solid #dfe6ef;border-radius:16px;padding:23px;box-shadow:0 5px 18px #0f23410a}.dashboard-head h1{margin:4px 0 6px;font-size:29px;color:#173b67}.dashboard-head p{margin:0 0 8px;color:#667085;font-size:13px}.dashboard-head small{color:#768396;font-size:11px}.dashboard-filter-panel{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;background:#fff;border:1px solid #dfe6ef;border-radius:14px;padding:15px}.dashboard-filter-panel input:not([type=checkbox]),.dashboard-filter-panel select{width:100%;min-width:0;min-height:40px;padding:9px 10px;border:1px solid #ccd6e3;border-radius:8px;background:#fff;color:#344054;font-size:12px}.dashboard-check{display:flex;align-items:center;gap:7px;color:#344054;font-size:11px;font-weight:700}.dashboard-check input{width:16px;height:16px;margin:0}.dashboard-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.dashboard-kpi{background:#fff;border:1px solid #e0e6ed;border-radius:13px;padding:15px 16px;box-shadow:0 4px 14px #0f234108;border-top:4px solid #97a5b5}.dashboard-kpi span{display:block;color:#667085;font-size:10px;font-weight:900;letter-spacing:.35px}.dashboard-kpi strong{display:block;color:#243b53;font-size:29px;line-height:1.25;margin:5px 0}.dashboard-kpi small{display:block;color:#8a96a6;font-size:10px}.dashboard-kpi.kpi-blue{border-top-color:#2384cc}.dashboard-kpi.kpi-blue strong{color:#1769aa}.dashboard-kpi.kpi-green{border-top-color:#37a76f}.dashboard-kpi.kpi-green strong{color:#187444}.dashboard-kpi.kpi-orange{border-top-color:#e9a23b}.dashboard-kpi.kpi-orange strong{color:#a65300}.dashboard-kpi.kpi-red{border-top-color:#e0505f}.dashboard-kpi.kpi-red strong{color:#b42335}.dashboard-kpi.kpi-amber{border-top-color:#f1ba4b}.dashboard-kpi.kpi-amber strong{color:#9a6500}.dashboard-kpi.kpi-purple{border-top-color:#8663cd}.dashboard-kpi.kpi-purple strong{color:#6d4bc2}.dashboard-kpi.kpi-gray{border-top-color:#9aa5b1}.dashboard-grid-two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.dashboard-card{min-width:0;background:#fff;border:1px solid #dfe6ef;border-radius:14px;padding:18px;box-shadow:0 4px 16px #0f234108}.dashboard-card h2{font-size:17px;color:#173b67;margin:0 0 4px}.dashboard-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:13px}.dashboard-card-head p{margin:0;color:#7b8797;font-size:11px}.dashboard-status-breakdown{display:flex;flex-direction:column;gap:13px;padding:6px 0}.dash-status-row{display:grid;grid-template-columns:112px minmax(40px,1fr) 28px;align-items:center;gap:10px;font-size:11px;color:#475467}.dash-status-row b{text-align:right;color:#243b53}.dash-status-track{height:9px;border-radius:99px;background:#eef1f5;overflow:hidden}.dash-status-track i{display:block;height:100%;border-radius:99px;background:#99a4b2}.dash-status-track i.complete{background:#39a96b}.dash-status-track i.progress{background:#4aa9e8}.dash-status-track i.late{background:#f58220}.dash-status-track i.blocked{background:#8663cd}.dash-status-track i.cancelled{background:#b8c0cb}.dash-status-track i.pending{background:#8895a7}.dashboard-alert-list{display:grid;grid-template-columns:1fr 1fr;gap:9px}.dash-alert{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid #e3e8ef;border-radius:10px;padding:13px;background:#f8fafc;color:#344054;text-align:left;font-size:11px;font-weight:700}.dash-alert strong{font-size:22px}.dash-alert.alert-danger{background:#fff3f4;border-color:#f2cdd2;color:#a61b2b}.dash-alert.alert-warning{background:#fff8ed;border-color:#f2dfbd;color:#955500}.dash-alert.alert-purple{background:#f7f4ff;border-color:#e5dcf8;color:#6543ab}.dash-alert.alert-neutral{background:#f4f6f8;color:#475467}.dashboard-table-card{padding-bottom:14px}.dashboard-table{min-width:900px}.dashboard-commitments-table{min-width:1350px}.dashboard-table th{background:#173b67}.dash-progress{display:flex;align-items:center;gap:7px;min-width:95px}.dash-progress>div{background:#e8edf3;border-radius:99px;height:8px;flex:1;min-width:38px;overflow:hidden}.dash-progress i{display:block;height:100%;background:linear-gradient(90deg,#4aa9e8,#43ad73);border-radius:99px}.dash-progress strong{color:#173b67;font-size:11px;min-width:34px;text-align:right}.dashboard-table .status{white-space:nowrap}.dashboard-table .obs{min-width:130px;max-width:240px}.dashboard-table td{font-size:11px}.dashboard-view.hidden{display:none!important}
@media(max-width:1100px){.dashboard-filter-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.topbar{align-items:flex-start}.header-right{justify-content:flex-start}}
@media(max-width:720px){.dashboard-head{flex-direction:column}.dashboard-filter-panel{grid-template-columns:1fr}.dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid-two{grid-template-columns:1fr}.dashboard-alert-list{grid-template-columns:1fr}.dashboard-kpi{padding:12px}.dashboard-kpi strong{font-size:24px}.client-view-note{width:100%;margin-left:0}}
