@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{font-family:'DM Sans',Arial,sans-serif;color:#191919;background:#f4f5f7;font-size:16px;--red:#b50f26;--gold:#f0bd38;--line:#dfe2e7;--muted:#5d626e}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}a{color:var(--red)}h1,h2,h3,p{margin-top:0}h1,h2,h3,.number{font-family:Manrope,Arial,sans-serif}h1{font-size:clamp(1.7rem,3vw,2.25rem);letter-spacing:-.04em;margin-bottom:.4rem}h2{font-size:1.15rem}h3{font-size:1rem}small,.muted{color:var(--muted);font-size:.875rem}.boot{padding:3rem}.brand{font:800 1.9rem Manrope,Arial,sans-serif;letter-spacing:-.05em;color:var(--red);display:inline-block;border-bottom:4px solid var(--gold);line-height:1.35}.brand small{display:block;font:500 .75rem 'DM Sans',Arial;letter-spacing:.12em;color:inherit}.login{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:white}.login-story{background:#8e1020;color:white;padding:clamp(2rem,6vw,6rem);display:flex;flex-direction:column;justify-content:space-between;gap:3rem;position:relative;overflow:hidden}.login-story .brand{color:white;align-self:flex-start}.login-story h1{font-size:clamp(2.2rem,4vw,3.7rem);max-width:540px;line-height:1.1}.login-story p{color:#f5dfe2;max-width:420px;line-height:1.6}.login-story .stages{display:grid;gap:9px;max-width:380px}.stages span{display:block;background:#ffffff12;border-left:3px solid var(--gold);padding:.75rem 1rem;font-size:.875rem}.login-main{padding:3rem 1.5rem;display:flex;align-items:center;justify-content:center}.login-form{width:100%;max-width:420px}.login-form h1{margin-top:1rem}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:.75rem;font-weight:700;color:var(--muted)}.login-form .eyebrow{color:var(--red)}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field label{font-size:.875rem;font-weight:600}.field input,.field select,.field textarea{width:100%;padding:.72rem .8rem;border:1px solid #cbd0d8;border-radius:7px;background:white;color:#191919;min-height:44px}.field input:disabled,.field select:disabled,.field textarea:disabled{background:#eef0f3;color:#434750}.field textarea{resize:vertical;min-height:88px}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.full{grid-column:1/-1}.stack{display:grid;gap:1.2rem}.btn{border:1px solid var(--line);border-radius:7px;padding:.7rem 1rem;background:white;font-weight:600;min-height:44px;color:#191919;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}.btn.primary{background:var(--red);border-color:var(--red);color:white}.btn.small{font-size:.875rem;padding:.45rem .8rem}.btn.link{background:none;border:none;padding:.3rem;color:var(--red);font-size:.875rem}.btn.danger{color:var(--red)}.actions{display:flex;gap:.65rem;align-items:center;flex-wrap:wrap}.form-msg{background:#fff3d3;border-left:3px solid var(--gold);padding:1rem;font-size:.875rem;line-height:1.5}.form-msg:empty{display:none}.app-shell{display:grid;grid-template-columns:224px 1fr;min-height:100vh}.sidebar{background:#fff;border-right:1px solid var(--line);padding:1.7rem 1rem;display:flex;flex-direction:column;gap:2rem;position:sticky;top:0;height:100vh}.sidebar .brand{margin-left:.6rem;align-self:flex-start}.nav{display:grid;gap:6px}.nav button{display:flex;gap:.8rem;text-align:left;align-items:center;background:none;border:0;border-radius:7px;padding:.8rem;color:#50535b;font-size:.9rem;font-weight:600;min-height:46px}.nav button.active{background:#fceef0;color:#970c20;border-left:3px solid var(--red)}.nav-icon{width:20px;display:inline-flex}.nav-icon svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.7}.user{margin-top:auto;border-top:1px solid var(--line);padding-top:1rem;word-break:break-word}.avatar{width:36px;height:36px;border-radius:50%;background:#fae6e8;color:#9d1424;display:flex;align-items:center;justify-content:center;font-weight:700;margin-bottom:.7rem}.user strong{font-size:.9rem;display:block}.workspace{min-width:0}.topbar{height:72px;border-bottom:1px solid var(--line);background:white;display:flex;align-items:center;justify-content:space-between;padding:0 2rem;gap:1rem}.topbar small{font-size:.8rem}.page{padding:1.8rem 2rem;max-width:1700px;margin:auto}.page-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem}.page-head p{color:var(--muted);font-size:.9rem;margin:0}.filters{display:flex;gap:.8rem;align-items:end;flex-wrap:wrap;background:white;border:1px solid var(--line);border-radius:10px;padding:1rem;margin-bottom:1.2rem}.filters .field{flex:1;min-width:150px}.filters .field input,.filters .field select{font-size:.875rem;padding:.6rem}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1.25rem}.kpi{padding:1.25rem;background:white;border:1px solid var(--line);border-radius:10px;min-width:0}.kpi.accent{border-top:3px solid var(--red)}.kpi label{font-size:.85rem;color:var(--muted);display:block;margin-bottom:.7rem}.number{font-size:clamp(1.4rem,2.3vw,2rem);font-weight:800;letter-spacing:-.045em}.kpi small{display:block;margin-top:.5rem}.grid{display:grid;grid-template-columns:1.15fr 1fr;gap:1.25rem}.panel{background:white;border:1px solid var(--line);border-radius:10px;padding:1.3rem;margin-bottom:1.25rem;min-width:0}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.2rem}.panel-head h2{margin:0}.funnel{display:grid;gap:8px}.funnel-row{display:grid;grid-template-columns:1fr 140px 30px;align-items:center;gap:.8rem;font-size:.875rem}.funnel-shape{height:38px;clip-path:polygon(0 0,100% 0,94% 100%,6% 100%);margin:auto;background:var(--red);display:flex;align-items:center;justify-content:center;color:white;font-weight:700}.donut-wrap{display:flex;align-items:center;justify-content:space-around;gap:1.5rem;padding:1.2rem 0}.donut{width:160px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;flex-shrink:0}.donut-center{background:white;border-radius:50%;width:120px;height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center}.legend{display:grid;gap:1rem;font-size:.9rem}.legend i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:6px}.progress{height:8px;border-radius:10px;background:#e9ebef;overflow:hidden;margin-top:1rem}.progress span{display:block;height:100%;background:var(--red)}.chart{width:100%;height:auto;display:block}.chart text{font-family:Arial;font-size:12px;fill:#5d626e}.table-wrap{overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:.875rem;white-space:nowrap}.table th{font-weight:600;color:#5d626e;font-size:.8rem;text-align:left;background:#f7f8fa}.table th,.table td{padding:.9rem .75rem;border-bottom:1px solid #eceef1}.table td.wrap{white-space:normal;min-width:180px}.table tr:last-child td{border-bottom:0}.table tbody tr:hover{background:#fafbfc}.table .name{font-weight:600;color:#191919}.badge{display:inline-block;padding:.3rem .6rem;border-radius:5px;background:#edf0f4;font-size:.75rem;white-space:nowrap}.badge.red{background:#fce7e9;color:#970c20}.badge.gold{background:#fff2ca;color:#735315}.badge.green{background:#e5f3ec;color:#206442}.empty{text-align:center;padding:2.8rem 1rem;color:#626773;line-height:1.6}.empty strong{display:block;color:#191919;margin-bottom:.5rem}.tabs{display:flex;gap:.5rem;border-bottom:1px solid var(--line);margin-bottom:1rem;padding-bottom:.6rem;flex-wrap:wrap}.tabs .btn{border:none}.tabs .active{color:var(--red);background:#fceef0}.detail-head{display:flex;gap:1rem;justify-content:space-between;align-items:start}.timeline{border-left:2px solid #e4e6eb;padding-left:1rem;display:grid;gap:1.3rem}.timeline p{white-space:pre-wrap;margin:.4rem 0;font-size:.9rem}.help-step{display:flex;gap:1rem;margin-bottom:1.3rem;line-height:1.55}.stepnum{width:30px;height:30px;flex:0 0 30px;border-radius:6px;background:#fff0c7;font-weight:700;display:grid;place-items:center}.help-step p{font-size:.9rem;color:#444b55}.help-step h3{margin-bottom:.3rem}.footnote{font-size:.8rem;line-height:1.5;color:#626773}.status-line{padding:.8rem 1rem;background:#fff8e6;border-radius:7px;margin-bottom:1.2rem;font-size:.9rem}.busy{opacity:.6;pointer-events:none}#notice{position:fixed;right:1.2rem;bottom:1.2rem;max-width:min(440px,90vw);background:#202328;color:white;border-radius:8px;padding:1rem 1.2rem;box-shadow:0 4px 24px #0003;z-index:100;display:none}#notice.show{display:block}dialog{border:1px solid var(--line);border-radius:12px;padding:1.5rem;max-width:520px;width:calc(100% - 2rem)}dialog::backdrop{background:#0007}details{padding:.6rem 0}summary{cursor:pointer;font-weight:600}.pending{max-width:620px;margin:3rem auto;background:white;padding:2rem;border-radius:12px}.check-row{display:flex;align-items:center;gap:.6rem;font-size:.9rem}.check-row input{width:18px;height:18px}.mobile-brand{display:none}
@media(max-width:1100px){.app-shell{grid-template-columns:190px 1fr}.sidebar{padding:1.3rem .6rem}.page{padding:1.3rem}.topbar{padding:0 1.3rem}.grid{grid-template-columns:1fr}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.funnel-row{grid-template-columns:1fr 140px 30px}}@media(max-width:700px){.login{grid-template-columns:1fr}.login-story{padding:1.5rem;gap:1rem}.login-story h1{font-size:1.8rem;margin:0}.login-story .stages,.login-story>small,.login-story p{display:none}.login-story .brand{font-size:1.5rem}.login-main{padding:2rem 1.25rem}.app-shell{display:block}.sidebar{height:auto;position:static;padding:.8rem;border-right:0;border-bottom:1px solid var(--line);gap:.8rem}.sidebar .brand,.sidebar .user{display:none}.nav{display:flex;overflow-x:auto;gap:4px}.nav button{white-space:nowrap;padding:.6rem .7rem;font-size:.8rem}.nav-icon{display:none}.topbar{padding:.65rem 1rem;height:auto;min-height:62px}.mobile-brand{display:block;font-size:1.15rem;font-weight:800;color:var(--red)}.page{padding:1rem}.page-head{align-items:start}.page-head h1{font-size:1.55rem}.kpis{gap:.7rem}.kpi{padding:.9rem}.kpi label{font-size:.8rem}.number{font-size:1.55rem}.filters{padding:.8rem;gap:.7rem}.filters .field{min-width:125px}.fields{grid-template-columns:1fr}.full{grid-column:auto}.panel{padding:1rem}.funnel-row{grid-template-columns:1fr 125px 25px;font-size:.8rem}.donut{width:140px}.donut-center{width:105px;height:105px}.detail-head{flex-wrap:wrap}.page-head .btn{font-size:.8rem}.topbar .actions small{display:none}}@media(prefers-reduced-motion:no-preference){button{transition:background .15s,opacity .15s}.page{animation:enter .16s ease-out}@keyframes enter{from{opacity:.5;transform:translateY(3px)}to{opacity:1;transform:none}}}

/* Original logo supplied in the SIMSA workbook; display its central artwork. */
.brand{position:relative;width:180px;height:60px;flex-shrink:0;overflow:hidden;border:0;background:#fff;border-radius:3px;line-height:normal}.brand img{position:absolute;width:112.5%;max-width:none;height:auto;left:-6.25%;top:-115%}.login-story .brand{width:210px;height:70px}

.security-actions{display:flex;gap:.4rem;flex-wrap:wrap}.security-lock{background:#fff0ca;color:#191919;white-space:normal}#security-panel th,#security-panel td{color:#191919}.btn:disabled{opacity:.5;cursor:not-allowed}
.task-panel{border-top:4px solid var(--red);scroll-margin-top:1rem}.task-panel .panel-head{flex-wrap:wrap;gap:1rem}.task-panel h2,.task-panel h3,.task-metrics,.task-bars,.task-table,.task-client-list,.task-status{color:#191919}.task-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin:1.2rem 0}.task-metric{background:#f4f5f7;border-radius:8px;padding:1rem;display:grid;gap:.5rem}.task-metric.late{background:#fcebee;border-left:4px solid #b50f26}.task-metric.due{background:#fff5d6;border-left:4px solid #e5b021}.task-metric strong{font-size:2rem}.task-status-note{font-size:.875rem;color:#444;line-height:1.5}.task-chart-grid{gap:2rem;border-block:1px solid var(--line);padding:1.2rem 0;margin:1.2rem 0}.task-bars{display:grid;gap:1.2rem}.task-bar-title{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.9rem}.task-bar-track{display:flex;height:16px;background:#f1f2f5;border-radius:3px;overflow:hidden;margin-top:.5rem}.task-segment.late{background:#b50f26}.task-segment.due{background:#e5b021}.task-segment.future{background:#858b97}.task-bar-caption{font-size:.875rem;margin:.35rem 0 0;line-height:1.5}.task-description{white-space:pre-wrap;overflow-wrap:anywhere;max-width:42rem;margin:.4rem 0;line-height:1.5}.task-filter{max-width:200px}.task-status.task-late{background:#fcebee}.task-status.task-today{background:#fff0c7}.task-status.task-other{background:#eceef1}.task-pagination{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:1rem;font-size:.875rem}.task-table td{vertical-align:top;min-width:100px}.task-table td:nth-child(4){min-width:220px}.task-client-list{display:grid;gap:.8rem;margin-bottom:1.4rem}.task-client-row{display:flex;justify-content:space-between;gap:1rem;align-items:start;border-bottom:1px solid var(--line);padding:.8rem 0}.task-client-row>div{min-width:0}.task-client-row .btn{flex-shrink:0}.task-client-row small{font-size:.875rem}.task-alert{color:#191919;background:white;white-space:normal;padding:0;overflow:hidden}.task-traffic{display:inline-flex;align-items:center;gap:.55rem;min-height:42px;padding:.55rem .8rem;font-size:.875rem;font-weight:700;line-height:1.25}.task-traffic i{width:.8rem;height:.8rem;flex:0 0 .8rem;border-radius:50%;box-shadow:0 0 0 3px #ffffffa8}.task-traffic.red{color:#8f1024;background:#fcebee}.task-traffic.red i{background:#d6455d}.task-traffic.amber{color:#72500a;background:#fff3cd}.task-traffic.amber i{background:#e3a91f}.task-traffic.green{color:#126149;background:#e7f6f0}.task-traffic.green i{background:#10a37f}.topbar{gap:.8rem;flex-wrap:wrap;height:auto;min-height:70px;padding-block:.6rem}#tasks-dashboard:focus{outline:2px solid #b50f26}#client-agenda .fields{margin-top:1rem}
@media(max-width:700px){.task-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.task-metric strong{font-size:1.6rem}.task-client-row{flex-direction:column}.task-alert{font-size:.875rem}.task-chart-grid{gap:1rem}.task-panel .panel-head{align-items:start}.task-pagination{font-size:.875rem}}

.task-panel .link,#client-agenda .link{color:#191919}
.field-dialog{max-width:760px;max-height:92dvh;overflow-y:auto;color:#191919}.field-dialog .stack{gap:1rem}.field-location{background:#fff5d6;border-left:4px solid #e5b021;padding:1rem;border-radius:6px}.field-location p{overflow-wrap:anywhere;line-height:1.5}.field-photo-pickers{display:flex;gap:.75rem;flex-wrap:wrap}.field-photo-pickers label{position:relative;overflow:hidden;cursor:pointer;min-height:44px}.field-photo-pickers input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.field-photo-pickers label:focus-within{outline:2px solid #b50f26;outline-offset:3px}.field-previews,.field-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:1rem}.field-previews figure{margin:0;min-width:0}.field-previews img,.field-gallery img{width:100%;height:190px;object-fit:contain;background:#f1f2f4;border:1px solid var(--line);border-radius:6px}.field-previews figcaption{font-size:.875rem;line-height:1.5}.field-records{display:grid;gap:1rem}.field-record{border:1px solid var(--line);padding:1rem;border-radius:8px}.field-record .panel-head{align-items:start;flex-wrap:wrap;gap:.7rem}.field-record p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5}.field-record .btn,.field-dialog .link{color:#191919}.field-record .btn.primary{color:#fff}#field-evidence .panel-head{flex-wrap:wrap;gap:.8rem}#field-capture .form-msg{overflow-wrap:anywhere}#field-capture button{min-height:44px}
@media(max-width:600px){.field-dialog{width:calc(100% - 1rem);padding:1rem}.field-previews img,.field-gallery img{height:140px}.field-photo-pickers label{flex:1}.field-location{padding:.8rem}}

.form-msg{white-space:pre-line}.next-task-fields[hidden]{display:none}.next-task-fields{margin-top:16px}.capture-warning{padding:14px;border-left:4px solid #b50f26;background:#fff3d2;color:#111}.field-dialog{max-width:min(860px,95vw)}

.btn.danger{border-color:#b50f26;color:#a50e23;background:#fff}.admin-danger{border:2px solid #b50f26}.admin-danger h2{color:#a50e23}#admin-list{margin-top:20px}#admin-list .table td{max-width:420px;overflow-wrap:anywhere}

.task-selection{min-width:0;padding:1rem;background:#fafafa;border:1px solid var(--line,#dbe0e8);border-radius:12px}.task-selection .field{width:100%;min-width:0}.task-selection select{width:100%;max-width:100%}.task-selection select:disabled{opacity:1;color:#202020;background:#f1f2f4;cursor:default}.task-selection-hint{font-size:.875rem;line-height:1.5;margin:.65rem 0;color:#242424}.task-selected-detail{font-size:.875rem;line-height:1.5;overflow-wrap:anywhere;font-weight:600}.task-selected-detail:empty,[data-task-options-status]:empty{display:none}

.assignment-alerts[hidden]{display:none}.assignment-alerts{margin:1.5rem 2rem 0;padding:1.1rem 1.25rem;border:1px solid #e4c572;border-top:4px solid #e5b021;border-radius:10px;background:#fff;color:#191919}.assignment-alerts h2{font-size:1.1rem;margin:0}.assignment-alerts .panel-head{gap:1rem;flex-wrap:wrap}.assignment-alerts .panel-head p,.assignment-alert-note{font-size:.875rem;line-height:1.5;margin:.4rem 0}.assignment-alert-list{display:grid;gap:.7rem}.assignment-alert-card{display:flex;align-items:start;justify-content:space-between;gap:1rem;padding:1rem;border:1px solid #dfe2e8;border-left:4px solid #858b97;border-radius:6px;background:#fafafa}.assignment-alert-card.due{border-left-color:#e5b021;background:#fff8e5}.assignment-alert-card.late{border-left-color:#b50f26;background:#fff1f3}.assignment-alert-card>div{min-width:0}.assignment-alert-card h3{font-size:1rem;line-height:1.5;margin:.5rem 0;overflow-wrap:anywhere}.assignment-alert-card p{font-size:.9375rem;line-height:1.5;margin:.5rem 0}.assignment-alert-card .btn{flex-shrink:0}.task-assigned-by{display:block;font-size:.875rem;line-height:1.6;color:#191919}.assignment-alert-note{margin-top:.8rem}#assignment-expand{margin-top:.8rem}
@media(max-width:700px){.assignment-alerts{margin:1rem 1rem 0;padding:1rem}.assignment-alert-card{flex-direction:column}.assignment-alert-card .btn{width:100%}}

.password-warning[hidden]{display:none}.password-warning{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:1.5rem 2rem 0;padding:1rem 1.25rem;background:#fff5d6;border:1px solid #e4c572;border-left:4px solid #b50f26;border-radius:8px;color:#191919}.password-warning p{font-size:.9375rem;line-height:1.5;margin:.4rem 0 0}.password-warning .btn{flex-shrink:0}.password-dialog{max-width:580px;max-height:92dvh;overflow:auto;color:#191919}.password-dialog p{line-height:1.6}.password-dialog .panel-head{gap:1rem}.password-dialog [hidden]{display:none}.password-dialog [data-password-logout]{margin-top:1rem}#security-panel td{min-width:130px}
@media(max-width:700px){.password-warning{margin:1rem 1rem 0;align-items:start;flex-direction:column}.password-dialog{padding:1.2rem;width:calc(100% - 1rem)}}

.assignment-indicator{display:inline-flex;align-items:center;gap:.4rem;margin-left:.4rem;font-weight:700;color:#b50f26;font-size:.85rem}.assignment-indicator[hidden]{display:none}.assignment-lamp{display:inline-block;width:12px;height:12px;flex:0 0 12px;border-radius:50%;background:#df1732;box-shadow:0 0 0 3px #df173224;animation:assignment-pulse 1.6s ease-in-out infinite}@keyframes assignment-pulse{0%,100%{opacity:1;box-shadow:0 0 0 3px #df173230}50%{opacity:.3;box-shadow:0 0 0 5px #df173210}}@media(prefers-reduced-motion:reduce){.assignment-lamp{animation:none}}
/* Compact commercial dashboard; scoped to preserve all other pages. */
.dashboard-kpis{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.dashboard-kpis .kpi{min-width:0;padding:14px 12px}
.dashboard-kpis .kpi p{font-size:.8rem;line-height:1.3;margin:0 0 10px;min-height:2.1em}
.dashboard-kpis .number{font-size:clamp(1rem,1.7vw,1.65rem);line-height:1.2;letter-spacing:-.025em;overflow-wrap:anywhere;margin-bottom:8px}
.dashboard-kpis .number small{font-size:.7rem;display:inline}
.dashboard-kpis .kpi>small{font-size:.72rem;line-height:1.4;display:block}
.dashboard-kpis .progress{height:5px;margin-top:10px}
.dashboard-analysis{padding:0;margin:0 0 20px;border:1px solid var(--line);border-radius:12px;background:#fff}
.dashboard-analysis>summary{padding:15px 18px;font-size:.95rem;color:#8e1021;cursor:pointer}
.dashboard-analysis[open]>summary{border-bottom:1px solid var(--line)}
.dashboard-charts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:14px}
.dashboard-charts>.panel,.dashboard-charts>#monthly-progress-slot>.panel{padding:15px;margin:0;height:100%;min-width:0;box-sizing:border-box;box-shadow:none;background:#fff}
#monthly-progress-slot{min-width:0}
.dashboard-charts h2{font-size:.92rem;line-height:1.4;margin-bottom:14px}
.dashboard-charts .panel-head{gap:8px;align-items:flex-start;flex-wrap:wrap;margin-bottom:14px}
.dashboard-charts .panel-head h2{margin:0}
.dashboard-charts .badge{font-size:.65rem;padding:4px 6px}
.dashboard-charts .funnel{gap:7px}
.dashboard-charts .funnel-row{grid-template-columns:minmax(35px,1fr) 106px 22px;gap:7px;font-size:.73rem;min-height:30px}
.dashboard-charts .funnel-shape{height:28px}
.dashboard-charts .donut-wrap{padding:0;margin:6px 0 14px;display:flex;justify-content:center}
.dashboard-charts .donut{width:112px;height:112px}
.dashboard-charts .donut-center{width:84px;height:84px}
.dashboard-charts .donut-center strong{font-size:1.05rem}
.dashboard-charts .donut-center small{font-size:.65rem}
.dashboard-charts .legend p{display:flex;justify-content:space-between;gap:8px;margin:8px 0;font-size:.76rem}
.dashboard-charts .chart{width:100%;max-height:210px}
.dashboard-charts .chart text{font-size:12px}
.dashboard-charts .footnote{font-size:.7rem;line-height:1.45;margin-top:12px}
@media(max-width:999px){.dashboard-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-kpis .number{font-size:1.35rem}.dashboard-charts{grid-template-columns:1fr}.dashboard-charts .funnel-row{grid-template-columns:1fr 140px 30px}.dashboard-charts .chart{max-height:240px}.dashboard-charts .donut{width:130px;height:130px}.dashboard-charts .donut-center{width:98px;height:98px}}
@media(max-width:600px){.dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.dashboard-kpis .kpi{padding:12px}.dashboard-kpis .kpi p{min-height:0}.dashboard-charts{padding:10px;gap:10px}}

/* A single agenda keeps operational work separate from commercial results. */
.agenda-filters{grid-template-columns:repeat(2,minmax(0,1fr));max-width:720px}
.agenda-filters>p{align-self:center;margin:0}
.agenda-productivity{border-top:1px solid var(--line);margin-top:1.2rem;padding-top:1rem}
.agenda-productivity>summary{font-weight:600;color:var(--red);cursor:pointer}
.agenda-productivity .task-chart-grid{border:0;margin-bottom:0;padding-bottom:0}
.task-priority{display:block;max-width:150px;line-height:1.4;margin-top:6px;font-size:.8rem}
.deposit-summary{display:grid;gap:.6rem;margin:1rem 0}
.deposit-summary>div{display:flex;justify-content:space-between;gap:1rem;background:#f4f5f7;padding:.75rem;border-radius:6px;font-size:.85rem}
.deposit-summary strong{white-space:nowrap}
@media(max-width:600px){.agenda-filters{grid-template-columns:1fr}.deposit-summary>div{flex-wrap:wrap}}

/* The desktop menu can collapse so wide tables and reports use the full screen. */
@media(min-width:701px){
 .app-shell{--sidebar-width:224px;grid-template-columns:var(--sidebar-width) minmax(0,1fr);position:relative;transition:grid-template-columns .2s ease}
 .sidebar{min-width:0;transition:opacity .15s ease,visibility .15s ease}
 .sidebar-toggle{position:fixed;z-index:80;left:calc(var(--sidebar-width) - 15px);top:82px;width:31px;height:58px;border:1px solid #c7d6e6;border-radius:0 12px 12px 0;background:#fff;color:#1768e5;box-shadow:4px 5px 16px #0e2a4726;font:700 1.65rem/1 Manrope,Arial,sans-serif;display:grid;place-items:center;padding:0;transition:left .2s ease,background .15s ease}
 .sidebar-toggle:hover{background:#eaf2ff}
 .sidebar-toggle:focus-visible{outline:3px solid #6ed7b4;outline-offset:3px}
 .app-shell.sidebar-collapsed{grid-template-columns:0 minmax(0,1fr)}
 .app-shell.sidebar-collapsed .sidebar{opacity:0;visibility:hidden;pointer-events:none;padding-left:0;padding-right:0;border:0}
 .app-shell.sidebar-collapsed .sidebar-toggle{left:0}
}
@media(min-width:701px) and (max-width:1100px){.app-shell{--sidebar-width:190px}}
@media(max-width:700px){.sidebar-toggle{display:none}.app-shell.sidebar-collapsed{display:block}.app-shell.sidebar-collapsed .sidebar{display:flex}}

/* Client and date analysis for deposits and directly recorded loads. */
.consumption-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:1.25rem;align-items:start}
.consumption-layout>.panel{margin:0}
.consumption-history>.panel-head{align-items:flex-start}
.consumption-history>.panel-head p{margin:.35rem 0 0}
.consumption-filters{display:grid;grid-template-columns:minmax(210px,1.25fr) minmax(210px,1fr) minmax(170px,.8fr);gap:.85rem;align-items:end;background:#f5f8fc;border:1px solid #dbe4ee;border-radius:10px;padding:1rem;margin-bottom:1rem}
.consumption-filters .field>span{font-size:.875rem;font-weight:600}
.consumption-range{display:grid;grid-template-columns:repeat(2,minmax(135px,1fr));gap:.75rem}
.consumption-range[hidden],#consumption-month-field[hidden]{display:none}
.period-tabs{display:flex;gap:.45rem;flex-wrap:wrap}
.period-tabs .active{background:#1768e5;border-color:#1768e5;color:#fff}
.consumption-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}
.consumption-summary>div{display:block;min-width:0;border-left:3px solid #19af97;background:#f5f8fc}
.consumption-summary span{display:block;color:#5d626e;margin-bottom:.45rem}
.consumption-summary strong{display:block;font:750 1.05rem Manrope,Arial,sans-serif;overflow-wrap:anywhere}
.consumption-selection{margin:.8rem 0 .4rem;font-size:.9rem;color:#425165}
.consumption-filter-warning{margin-bottom:.8rem}
.executive-results>h2{margin-bottom:.4rem}
.executive-results>.footnote{margin-bottom:1rem}
.executive-objective strong,.executive-objective small{display:block}
.executive-objective small{margin-top:.2rem;color:#5d626e}
@media(max-width:1250px){.consumption-layout{grid-template-columns:1fr}.consumption-entry{max-width:none}.consumption-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){.consumption-filters{grid-template-columns:1fr 1fr}.consumption-client-field{grid-column:1/-1}.consumption-range{grid-column:1/-1}}
@media(max-width:600px){.consumption-filters{grid-template-columns:1fr}.consumption-client-field,.consumption-range{grid-column:auto}.consumption-range{grid-template-columns:1fr}.consumption-summary{grid-template-columns:1fr 1fr}}

/* Keep account actions reachable when the side menu exceeds the screen height. */
@media(min-width:701px){
 .sidebar{height:100dvh;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;scrollbar-color:#8b919b #f1f2f5;scroll-padding-block:1rem}
 .sidebar>*{flex-shrink:0}
 .sidebar .brand{max-width:100%;height:auto;aspect-ratio:3/1;margin-left:0}
 .sidebar::-webkit-scrollbar{width:10px}
 .sidebar::-webkit-scrollbar-track{background:#f1f2f5}
 .sidebar::-webkit-scrollbar-thumb{background:#8b919b;border:2px solid #f1f2f5;border-radius:8px}
}

.pdf-import{border:1px solid #d9dce5;border-left:3px solid #b50f26;border-radius:10px;padding:1rem;background:#fafbfc}.pdf-import h3,.pdf-import p{margin-top:0}.pdf-import .actions{margin:.75rem 0}.pdf-import input[type=file]{max-width:100%;background:white}.pdf-review-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:1rem;margin-top:1rem}.pdf-review-grid canvas{width:100%;height:auto;border:1px solid #d9dce5;background:white}.pdf-confirm{display:flex;gap:.65rem;align-items:flex-start;margin-top:1rem;font-size:.9rem}.pdf-confirm input{width:auto;margin-top:.25rem}.pdf-transcription{white-space:pre-wrap;overflow-wrap:anywhere;max-height:28rem;overflow:auto;background:#f7f8fa;padding:1rem;font:inherit}.client-pdf-panel details{margin-top:1rem}@media(max-width:700px){.pdf-review-grid{grid-template-columns:1fr}.pdf-review-grid canvas{max-height:22rem;object-fit:contain}.pdf-import .panel-head{align-items:flex-start}}

.pdf-import [hidden]{display:none!important}

.pdf-fill-summary{border:1px solid #d9dce5;border-radius:8px;background:#fff;padding:.85rem;margin:.75rem 0}.pdf-fill-summary p{margin:.5rem 0 0;font-size:.875rem}.fields .pdf-filled{border-color:#af1830;box-shadow:inset 3px 0 #af1830;background:#fff8f9}

.pdf-viewer{width:min(960px,94vw)}.pdf-viewer-controls{display:flex;align-items:center;justify-content:center;gap:1rem;margin:1rem 0;flex-wrap:wrap}.pdf-viewer-page{overflow:auto;background:#f3f4f6;border:1px solid #d9dce5}.pdf-viewer-page canvas{display:block;width:100%;height:auto;background:white}.client-pdf-panel .actions{display:flex;gap:.5rem;flex-wrap:wrap}

/* Prospecting origin and recorded field activity. */
.prospecting-effort{border-top:4px solid #8e1021}
.prospecting-effort>.panel-head{align-items:flex-start;gap:1rem;flex-wrap:wrap}
.prospecting-effort>.panel-head h2{margin-bottom:.35rem}
.prospecting-effort>.panel-head p{margin:0;max-width:780px;line-height:1.5}
.prospecting-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;margin:.85rem 0}
.prospecting-summary article{display:grid;gap:.2rem;align-content:start;padding:.68rem .8rem;border:1px solid var(--line);border-radius:8px;background:#f8f9fb;min-width:0}
.prospecting-summary span{font-size:.75rem;line-height:1.25;color:#4f5560}
.prospecting-summary strong{font-size:1.22rem;line-height:1.1;color:#15171a;overflow-wrap:anywhere}
.prospecting-summary small{font-size:.68rem;line-height:1.25;color:#5d6470}
.prospecting-compact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:.85rem 0}
.origin-chart{padding:.8rem;border:1px solid var(--line);border-radius:9px;background:#fff;min-width:0}
.origin-chart-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem;margin-bottom:.65rem}
.origin-chart-head h3{font-size:.88rem;margin:0 0 .15rem}
.origin-chart-head p{font-size:.68rem;line-height:1.3;color:#616875;margin:0}
.origin-chart-head>strong{font-size:.95rem;white-space:nowrap}
.origin-metric-row{display:grid;grid-template-columns:minmax(118px,145px) minmax(70px,1fr) 66px;align-items:center;gap:.5rem;margin:.42rem 0;min-width:0}
.origin-metric-row>span{display:flex;align-items:center;gap:.35rem;font-size:.7rem;line-height:1.2;min-width:0}
.origin-metric-row i{display:inline-block;width:.62rem;height:.62rem;flex:0 0 .62rem;border-radius:2px}
.origin-metric-row>strong{text-align:right;font-size:.72rem;white-space:nowrap}
.origin-metric-track{height:11px;background:#eceef2;border-radius:3px;overflow:hidden}
.origin-metric-track b{display:block;height:100%;min-width:0}
.origin-metric-row .cambaceo{background:#9d1027}
.origin-metric-row .station-capture{background:#e3a91f}
.origin-metric-row .station-referral{background:#4562a9}
.origin-metric-row .client-referral{background:#7a8596}
.prospecting-effort h3{font-size:1rem;margin:1.3rem 0 .75rem}
.prospecting-table th,.prospecting-table td{white-space:nowrap}
.prospecting-table td:first-child,.prospecting-table th:first-child{white-space:normal;min-width:160px}
.prospecting-table small{color:#5d6470}
@media(max-width:900px){
 .prospecting-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
 .prospecting-summary{gap:.55rem}
 .prospecting-summary article{padding:.65rem}
 .prospecting-summary strong{font-size:1.05rem}
 .prospecting-compact-grid{grid-template-columns:1fr}
 .origin-metric-row{grid-template-columns:minmax(105px,130px) minmax(55px,1fr) 62px}
}

/* Pulso de Campo: identidad comercial neutral y orientada a crecimiento. */
:root{
 --navy:#0e2a47;
 --primary:#1768e5;
 --primary-dark:#0f54c3;
 --growth:#10a37f;
 --growth-light:#6fe3c8;
 --warning:#f2b84b;
 --danger:#d6455d;
 --red:var(--primary);
 --gold:var(--growth);
 --line:#dbe4ee;
 --muted:#5d6b7b;
 color:#172433;
 background:#f4f7fa;
}
body{background:#f4f7fa;color:#172433}
a{color:var(--primary)}
.login-story{background:
 radial-gradient(circle at 82% 18%,#1b78e866 0 2%,transparent 27%),
 radial-gradient(circle at 18% 84%,#18b89455 0 3%,transparent 32%),
 linear-gradient(145deg,#0b2037,#0e2a47 58%,#123c62);}
.login-story p{color:#dce8f3}
.login-story .eyebrow{color:#86ead2}
.stages span{background:#ffffff0d;border-left-color:var(--growth-light)}
.brand{width:190px;height:58px;overflow:visible;border:0;background:transparent;border-radius:0}
.brand img{position:static;width:100%;height:100%;max-width:100%;object-fit:contain;object-position:left center}
.login-story .brand{width:min(340px,80vw);height:98px;padding:10px 14px;background:#fff;border-radius:14px;box-shadow:0 16px 40px #06182b42}
.login-form .eyebrow,.page-head .eyebrow{color:var(--primary)}
.btn{border-color:#cfdae6;color:#172433}
.btn:hover{background:#f0f5fb}
.btn.primary{background:linear-gradient(135deg,var(--primary),#2283e8);border-color:var(--primary);box-shadow:0 5px 15px #1768e52b}
.btn.primary:hover{background:linear-gradient(135deg,var(--primary-dark),var(--primary))}
.btn.link{color:var(--primary)}
.sidebar{background:#fff;box-shadow:8px 0 30px #0e2a4708}
.nav button{color:#4a5969}
.nav button.active{background:#eaf2ff;color:#0f54c3;border-left-color:var(--primary)}
.avatar{background:#e3f7f1;color:#087a60}
.topbar{border-color:#dbe4ee;box-shadow:0 4px 18px #0e2a4708}
.panel,.kpi,.filters{border-color:#dbe4ee;box-shadow:0 6px 24px #0e2a4708}
.kpi.accent{border-top-color:var(--growth)}
.progress span{background:linear-gradient(90deg,var(--primary),var(--growth))}
.tabs .active{color:#0f54c3;background:#eaf2ff}
.funnel-row:nth-child(1) .funnel-shape{background:#0e2a47!important}
.funnel-row:nth-child(2) .funnel-shape{background:#1768e5!important}
.funnel-row:nth-child(3) .funnel-shape{background:#1d8fca!important}
.funnel-row:nth-child(4) .funnel-shape{background:#19af97!important}
.funnel-row:nth-child(5) .funnel-shape{background:#6ed7b4!important;color:#0e2a47}
.stepnum{background:#e1f7f1;color:#087a60}
.form-msg,.status-line{background:#fff4d6;border-left-color:var(--warning)}
.task-panel{border-top-color:var(--primary)}
.prospecting-effort{border-top-color:var(--growth)}
.origin-metric-row .cambaceo{background:#1768e5}
.origin-metric-row .station-capture{background:#10a37f}
.origin-metric-row .station-referral{background:#405fb5}
.origin-metric-row .client-referral{background:#7a8596}
.report-executive-head{background:linear-gradient(115deg,#fff 0,#fff 63%,#eaf4ff 100%);border-top-color:var(--growth)}
.report-visual-panel,.report-direction-panel,.report-effort-panel{border-top-color:var(--primary)}
.report-executive-head>img{object-fit:contain;object-position:left center}
.report-executive-head>div:nth-child(2)>span,.report-clients>summary,.report-method>summary{color:var(--primary)}
.report-origin-row i{background:var(--growth)}
.report-pipeline b{background:linear-gradient(90deg,var(--navy),var(--primary),var(--growth))}
.direction-kpis .kpi{border-top-color:var(--growth)}
.direction-finance-strip small,.direction-catalog b{color:var(--primary)}
.direction-breadcrumb button{border-bottom-color:var(--growth)}
.direction-bar i{background:linear-gradient(90deg,var(--primary),var(--growth))}
@media(max-width:700px){
 .login-story .brand{width:255px;height:76px;padding:8px 11px}
 .sidebar{box-shadow:none}
}

/* Deposit capture above a full-width, wrapping movement history. */
.consumption-layout>.panel{min-width:0;width:100%}
.consumption-entry .fields{grid-template-columns:repeat(4,minmax(0,1fr))}
.consumption-history .table{table-layout:fixed;white-space:normal}
.consumption-history .table th,.consumption-history .table td{overflow-wrap:anywhere;vertical-align:top;padding:.85rem .6rem}
.consumption-history .table th:nth-child(2){width:24%}
.consumption-history .table td:last-child .btn{margin:0 0 .4rem;max-width:100%}
.consumption-history>.panel-head{flex-wrap:wrap;gap:.75rem}
@media(max-width:1000px){.consumption-entry .fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
 .consumption-entry .fields{grid-template-columns:minmax(0,1fr)}
 .consumption-history .table,.consumption-history .table tbody,.consumption-history .table tr,.consumption-history .table td{display:block;width:100%}
 .consumption-history .table thead{display:none}
 .consumption-history .table tr{border:1px solid #dfe2e7;border-radius:8px;padding:.7rem;margin-bottom:.85rem}
 .consumption-history .table td{border:0;padding:.4rem;white-space:normal}
 .consumption-history .table td[data-label]::before{content:attr(data-label);display:block;font-size:.75rem;font-weight:700;color:#5d626e;margin-bottom:.2rem}
}
