:root{color-scheme:light;--nav:#152c30;--ink:#19373c;--muted:#607577;--accent:#0b7467;--line:#dce5e3;--paper:#f4f7f5;--panel:#fff;--positive:#076b54;--negative:#a44131;--warm:#fff4dd;--soft:#eaf5ef;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:15px}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button,a{cursor:pointer}button:disabled{cursor:default;opacity:.5}button{border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);padding:10px 14px;white-space:nowrap}button:hover:not(:disabled){background:#eef3f1}a{color:var(--accent)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #90c6b5;outline-offset:2px}.primary{background:var(--accent);color:white;border-color:var(--accent);font-weight:600}.primary:hover:not(:disabled){background:#085e53}.quiet{background:transparent;border-color:transparent}.small-button{padding:6px 10px;font-size:13px}.danger{color:var(--negative)}.negative{color:var(--negative)}.positive{color:var(--positive)}.muted{color:var(--muted)}.money{font-variant-numeric:tabular-nums;white-space:nowrap}.shell{display:grid;grid-template-columns:238px 1fr;min-height:100vh}.sidebar{background:var(--nav);color:#d4e4df;padding:32px 20px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:white;font-size:19px;font-weight:650;letter-spacing:-.6px;margin:0 8px 52px}.brand small{display:block;font-size:10px;font-weight:400;letter-spacing:.3px;color:#b7d0c7;margin-top:5px}.monogram{font-size:34px;line-height:1;font-weight:700;letter-spacing:-3px}.monogram span{color:#95d6b5}.nav-caption{font-size:10px;letter-spacing:1.6px;margin:0 14px 14px;color:#94b3aa}nav{display:grid;gap:5px}nav a{color:#c7d9d4;text-decoration:none;padding:12px 14px;border-radius:8px;font-size:14px}nav a:hover{background:#203e40}nav a.active{background:#31514d;color:#fff;font-weight:600;box-shadow:inset 3px 0 #a5d8b9}.sidebar-bottom{margin-top:auto;padding:30px 14px 0;font-size:12px}.sidebar-bottom small{display:block;color:#89aaa0;margin-top:8px;font-size:11px}.local-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#a5d8b9;margin-right:6px}.topbar{height:74px;background:var(--panel);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 38px;gap:16px}.breadcrumb{font-size:13px;font-weight:550}.breadcrumb span:first-child{padding:0 10px;color:#a8bbb4}.breadcrumb span:last-child{color:var(--muted);font-weight:400}.top-actions{display:flex;gap:6px}.top-actions button{font-size:13px}.workspace{padding:36px 38px;max-width:1450px;margin:auto}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:14px}.eyebrow{font-size:10px;letter-spacing:1.8px;color:var(--muted);font-weight:650}h1{font-size:32px;letter-spacing:-1.2px;margin:9px 0 8px;font-weight:650}h2{font-size:18px;letter-spacing:-.3px;margin:0 0 8px}h3{font-size:16px;margin:0 0 10px}p{line-height:1.65;margin:6px 0}.page-heading p{color:var(--muted);font-size:14px}.page-actions{display:flex;gap:12px;align-items:flex-end}.period-picker{display:grid;gap:5px;font-size:11px;color:var(--muted)}select,input,textarea{color:var(--ink);background:#fff;border:1px solid #cbdad3;border-radius:7px;padding:10px 11px;min-width:0}select{padding-right:26px}textarea{min-height:85px;resize:vertical}.save-status{font-size:12px;color:var(--muted);margin:14px 0 24px;min-height:18px}.save-status.error{color:var(--negative)}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:24px}.metric{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:21px 20px;min-height:135px}.metric .label{font-size:12px;color:var(--muted);margin-bottom:15px}.metric .value{font-size:25px;font-weight:650;letter-spacing:-.7px;font-variant-numeric:tabular-nums}.metric .detail{font-size:11px;color:var(--muted);margin-top:10px;line-height:1.5}.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:24px;margin-bottom:22px;min-width:0}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:16px}.panel-head h2{margin:0}.panel-subtitle{font-size:12px;color:var(--muted);margin:0 0 18px}.columns{display:grid;grid-template-columns:1.2fr 1fr;gap:22px;align-items:start}.callout{background:var(--warm);border-radius:9px;padding:13px 17px;font-size:13px;line-height:1.6;margin-bottom:24px}.callout.soft{background:var(--soft)}.status{display:inline-block;font-size:11px;padding:5px 9px;border-radius:99px;background:#eef3f0;white-space:nowrap;color:var(--muted)}.status.warn{background:#fff1d5;color:#815c13}.status.ok{background:#e4f3e9;color:#1c6c4d}.status.bad{background:#fbe8e2;color:var(--negative)}.table-wrap{overflow:auto;max-width:100%}table{border-collapse:collapse;width:100%;font-size:13px;text-align:left}th{font-size:10px;text-transform:uppercase;letter-spacing:1px;font-weight:550;color:var(--muted);padding:12px 10px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:14px 10px;border-bottom:1px solid #eaf0ec;vertical-align:middle}tbody tr:last-child td{border-bottom:0}td small{display:block;font-size:11px;color:var(--muted);margin-top:5px;line-height:1.4}.amount{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.total-row{font-weight:650;background:#f4f8f5}.total-row td{border-top:1px solid var(--line)}.row-actions{display:flex;gap:3px;justify-content:flex-end}.empty{padding:40px 18px;text-align:center;color:var(--muted);font-size:14px;line-height:1.7}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.toolbar input{flex:1;min-width:180px}.toolbar label{font-size:12px;display:flex;gap:7px;align-items:center}.list{display:grid;gap:14px}.list-item{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;border-bottom:1px solid #eaf0ec}.list-item:last-child{border-bottom:0}.list-item strong{font-size:13px;font-weight:550}.list-item p{font-size:12px;color:var(--muted);line-height:1.5}.bar-line{display:grid;grid-template-columns:120px 1fr 100px;gap:12px;align-items:center;font-size:12px;margin:20px 0}.bar-track{height:7px;background:#eef4f0;border-radius:99px;overflow:hidden}.bar-track span{display:block;height:100%;background:#4b8a70;border-radius:99px}.bar-track span.cost{background:#bba57d}.bar-line .amount{font-size:12px}.page-footer{font-size:11px;color:var(--muted);display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding-top:20px;margin-top:20px}.section-spacer{margin-top:24px}dialog{border:0;border-radius:14px;padding:0;max-width:760px;width:calc(100% - 30px);max-height:90vh;color:var(--ink);box-shadow:0 20px 80px #12342e40}dialog::backdrop{background:#132e3870}.modal-head{padding:22px 25px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:14px;position:sticky;top:0;background:white;z-index:1}.modal-head h2{margin:0}.modal-head button{font-size:12px}.modal-body{padding:24px 25px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field{display:grid;gap:7px;font-size:12px;font-weight:550}.field.wide{grid-column:1/-1}.field small{font-size:11px;font-weight:400;color:var(--muted);line-height:1.5}.form-note{font-size:12px;color:var(--muted);line-height:1.6;padding:12px 0}.form-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:23px;padding-top:19px;border-top:1px solid var(--line)}.form-error{font-size:13px;color:var(--negative);min-height:19px;margin-top:16px}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--nav);color:#fff;border-radius:9px;padding:13px 22px;font-size:13px;box-shadow:0 6px 25px #153f3625;z-index:10}.actions-stack{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.checkbox-field{display:flex;align-items:center;gap:10px;font-size:13px;margin:10px 0}.checkbox-field input{width:17px;height:17px}.people{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.person{border:1px solid var(--line);padding:20px;border-radius:10px}.person h3{margin:0 0 6px}.person p{font-size:13px;color:var(--muted)}.person-footer{display:flex;align-items:center;justify-content:space-between;margin-top:17px}.person-footer strong{font-size:18px}.legend-inline{font-size:12px;color:var(--muted);display:flex;gap:14px;flex-wrap:wrap}.tabs-inline{display:flex;gap:7px;flex-wrap:wrap}.tabs-inline button.active{color:var(--accent);background:var(--soft);border-color:#bcd8c9}.close-checks{display:grid;gap:13px;margin:18px 0;padding:0;list-style:none}.close-checks li{display:flex;gap:12px;font-size:13px;line-height:1.6}.close-checks span{color:var(--muted)}.help-steps{line-height:1.8;font-size:14px;padding-left:20px}.search-empty{padding:25px;text-align:center;color:var(--muted)}.file-note{font-size:12px;color:var(--muted);word-break:break-word}.pill{font-size:11px;background:var(--soft);padding:5px 9px;border-radius:5px}.inline-metric{display:flex;gap:15px;align-items:baseline;margin-bottom:20px}.inline-metric strong{font-size:24px}.note-area{font-size:12px;line-height:1.65;color:var(--muted);margin-top:15px}
@media(min-width:1600px){.workspace{padding-top:45px}.cards{gap:22px}}
@media(max-width:1150px){.shell{grid-template-columns:200px 1fr}.sidebar{padding:30px 12px}.workspace{padding:30px 25px}.topbar{padding:0 25px}.page-heading{align-items:flex-start}.page-actions{flex-wrap:wrap;justify-content:flex-end}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.columns{grid-template-columns:1fr}}
@media(max-width:760px){.shell{display:block}.sidebar{position:relative;height:auto;padding:18px}.brand{margin:0 0 17px;font-size:18px}.brand small{display:none}.nav-caption,.sidebar-bottom{display:none}nav{display:flex;overflow:auto;padding-bottom:3px}nav a{white-space:nowrap;font-size:12px;padding:9px 12px}nav a.active{box-shadow:none}.topbar{height:58px;padding:0 18px}.breadcrumb{font-size:12px}.top-actions{gap:0}.top-actions button{font-size:11px;padding:7px}.workspace{padding:23px 18px}.page-heading{display:block}h1{font-size:28px}.page-actions{justify-content:space-between;margin-top:20px;flex-wrap:nowrap}.page-actions button{font-size:12px;padding:11px}.page-actions select{max-width:160px;font-size:12px}.metric{padding:17px 14px;min-height:135px}.metric .value{font-size:21px}.metric .label{font-size:11px}.cards{gap:11px}.panel{padding:18px}.people{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.field.wide{grid-column:auto}.modal-body{padding:20px}.page-footer{display:block;line-height:1.8}.page-footer span{display:block}.bar-line{grid-template-columns:95px 1fr 90px;gap:8px}.panel-head{gap:8px}.panel-head h2{font-size:16px}.eyebrow{font-size:9px}}

.task-filters{align-items:flex-end}.task-filters label{display:grid;gap:7px;flex:1;min-width:160px}.task-filters select{width:100%}

.brand{display:flex;flex-direction:column;align-items:flex-start;gap:9px}.brand-logo{display:block;width:100%;max-width:182px;height:auto}.brand small{margin:0;letter-spacing:.3px}@media(max-width:760px){.brand-logo{width:150px;max-width:100%}}
/* BH Admin local: navigation, projects and appearance. */
:root{color-scheme:light}.sidebar{overflow-y:auto}.brand{margin-bottom:30px}.sidebar nav details{border:1px solid #36544f;border-radius:8px;padding:4px}.sidebar nav summary{padding:10px 12px;cursor:pointer;color:#d5e6df;font-size:14px}.sidebar nav details a{display:block;font-size:12px;padding:9px 12px}.theme-control{display:flex;align-items:center;gap:8px;margin-right:12px}.theme-control span{font-size:11px;color:var(--muted);white-space:nowrap}#theme-toggle.theme-switch{position:relative;width:51px;min-width:51px;height:31px;padding:0;border:0;border-radius:999px;background:#c9cecb;transition:background .22s ease}#theme-toggle.theme-switch[aria-checked=true]{background:#34c759}#theme-toggle .theme-thumb{position:absolute;top:2px;left:2px;width:27px;height:27px;border-radius:50%;background:#fff;box-shadow:0 2px 5px #0003;transition:transform .22s ease}#theme-toggle[aria-checked=true] .theme-thumb{transform:translateX(20px)}.project-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.project-card{border:1px solid var(--line);border-radius:10px;padding:20px;min-width:0}.project-card h3{margin-top:14px}.project-card p{font-size:12px;overflow-wrap:anywhere}.table-wrap th:first-child{min-width:140px}.toolbar .task-filters{gap:12px}.tabs-inline{margin-bottom:20px}
:root[data-theme=dark]{color-scheme:dark;--ink:#e4ede8;--muted:#a9bbb2;--paper:#101b1e;--line:#34494a;--negative:#ff8594;--positive:#89d9b5;--accent:#89d9b5;--panel:#1b2b2e;--soft:#233e34;--warm:#342d1f}
[data-theme=dark] button,[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea{background:#203438;color:var(--ink);border-color:#48605e}[data-theme=dark] button:hover:not(:disabled){background:#2d4544}[data-theme=dark] .primary{background:#96d8ba;color:#132c24;border-color:#96d8ba}[data-theme=dark] .modal-head{background:var(--panel)}[data-theme=dark] dialog{background:var(--panel)}[data-theme=dark] .total-row{background:#263f37}[data-theme=dark] td{border-bottom-color:var(--line)}[data-theme=dark] .list-item{border-bottom-color:var(--line)}[data-theme=dark] .status{background:#2c4140;color:#c1d7cc}[data-theme=dark] .status.warn{background:#473a23;color:#f4d08b}[data-theme=dark] .status.ok{background:#224639;color:#a1e5bf}[data-theme=dark] .status.bad{background:#4b2b34;color:#ffacb7}[data-theme=dark] .quiet{background:transparent}[data-theme=dark] .bar-track{background:#354746}[data-theme=dark] .toast{border:1px solid var(--line)}
@media(prefers-reduced-motion:reduce){#theme-toggle.theme-switch,#theme-toggle .theme-thumb{transition:none}}
@media(max-width:760px){.sidebar nav details{min-width:185px}.topbar{height:auto;min-height:65px;flex-wrap:wrap;padding:12px 18px}.top-actions{flex-wrap:wrap}.theme-control{margin-right:7px}.project-cards{grid-template-columns:1fr}.sidebar nav{align-items:flex-start}.sidebar nav details:not([open]){min-width:100px}}
/* Finanzas uses the same navigation row as the other modules. */
#finance-navigation{display:flex;align-items:center;justify-content:space-between}.nav-chevron{font-size:15px;transition:transform .18s}#finance-navigation[aria-expanded=true] .nav-chevron{transform:rotate(180deg)}.finance-links{display:grid;gap:3px;padding-left:14px;margin:0 0 8px 12px;border-left:1px solid #42615a}.finance-links a{font-size:12px;padding:9px 12px}.sidebar nav{gap:5px}.sidebar nav .finance-links[hidden]{display:none}
@media(max-width:760px){.finance-links{min-width:185px;margin-left:0;padding-left:8px}#finance-navigation{gap:12px;white-space:nowrap}.sidebar nav .finance-links{max-height:260px;overflow:auto}}
.entity-heading{display:flex;align-items:center;gap:15px;min-width:0}.entity-heading h3{margin:8px 0}.entity-logo,.entity-initials{width:64px;height:64px;min-width:64px;border-radius:12px;object-fit:contain;background:#fff;border:1px solid var(--line);padding:7px}.entity-initials{display:inline-flex;align-items:center;justify-content:center;background:var(--soft);font-weight:650;font-size:20px;color:var(--accent)}.entity-logo.small,.entity-initials.small{width:36px;height:36px;min-width:36px;border-radius:7px;font-size:12px;padding:4px}.client-profile-intro{padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid var(--line)}.contact-row{padding:16px;border:1px solid var(--line);border-radius:9px;margin-bottom:14px}.contact-row .small-button{margin-top:10px}.contact-summary{padding:15px 0;border-bottom:1px solid var(--line);margin-bottom:18px}.contact-summary p{font-size:12px;overflow-wrap:anywhere}.logo-field{justify-items:start}.logo-field input{max-width:100%}.project-tabs{margin-bottom:18px}[data-theme=dark] .entity-initials{background:#244436;color:#a1e5bf}#modal h3{margin-top:20px}#modal .entity-heading h2{overflow-wrap:anywhere}
#projects-navigation{display:flex;align-items:center;justify-content:space-between}#projects-navigation[aria-expanded=true] .nav-chevron{transform:rotate(180deg)}.project-title-link{border:0;background:transparent;padding:0;text-align:left;font:inherit;color:var(--ink);white-space:normal}.project-title-link:hover{text-decoration:underline}.project-people{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin:17px 0}.member-avatar{position:relative;border:2px solid var(--panel);padding:0;width:38px;height:38px;min-width:38px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--soft);color:var(--ink);font-size:11px;font-weight:650;box-shadow:0 0 0 1px var(--line)}.member-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.member-avatar i{position:absolute;right:-4px;bottom:-3px;border-radius:50%;background:#bc9353;color:#fff;font-size:9px;font-style:normal;width:15px;height:15px;display:grid;place-items:center}.project-progress{display:block;width:100%;height:6px;border:0;border-radius:10px;overflow:hidden;background:var(--line);margin-top:15px;accent-color:var(--accent)}.project-progress::-webkit-progress-bar{background:var(--line)}.project-progress::-webkit-progress-value{background:var(--accent)}.project-progress::-moz-progress-bar{background:var(--accent)}.project-detail-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:22px;background:var(--panel);border:1px solid var(--line);border-radius:12px;margin-bottom:20px}.project-detail-heading .project-people{margin:0}[data-theme=dark] .project-title-link{background:transparent;color:var(--ink)}[data-theme=dark] .member-avatar{background:#29453b;color:#d4efdf}@media(max-width:760px){.project-detail-heading{flex-wrap:wrap}.sidebar nav #projects-links{max-height:260px;overflow:auto}}.auth-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--paper)}.auth-card{width:min(100%,430px);background:var(--panel);padding:34px;border:1px solid var(--line);border-radius:20px;box-shadow:0 20px 70px #092f1810}.auth-brand{background:#133c31;border-radius:12px;padding:22px;margin-bottom:28px}.auth-brand img{display:block;width:190px;max-width:100%;height:65px;object-fit:contain;margin:auto}.auth-card h1{font-size:27px}.auth-card p{font-size:13px;color:var(--muted)}.auth-card form{display:grid;gap:16px;margin-top:24px}.auth-card label{display:grid;gap:7px;font-size:13px}.auth-card input{width:100%}.auth-card .form-error{color:var(--negative);margin:0}.auth-local{text-align:center;margin-top:24px!important;font-size:11px!important}.profile-control{position:relative;margin-left:8px}.profile-toggle{display:flex;align-items:center;gap:9px;background:transparent;border:1px solid var(--line);border-radius:30px;padding:4px 10px 4px 4px;color:var(--ink)}.profile-avatar{display:inline-flex;width:34px;height:34px;flex-shrink:0;align-items:center;justify-content:center;border-radius:50%;background:var(--soft);font-size:11px;font-weight:650;color:var(--ink);overflow:hidden}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:210px;z-index:30;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 35px #0002;padding:8px;display:grid;gap:4px}.profile-menu>span{font-size:11px;color:var(--muted);padding:10px}.profile-menu button{border:0;text-align:left;background:transparent;color:var(--ink);border-radius:7px;padding:11px}.profile-menu button:hover{background:var(--soft)}@media(max-width:760px){#profile-name{display:none}.auth-card{padding:25px}.profile-control{margin-left:0}}

.person-footer{flex-wrap:wrap;gap:10px}
/* Tasks grouped by project and monthly team follow-up. */
.task-project-group{border:1px solid var(--line);border-radius:11px;margin:12px 0;background:var(--panel);overflow:hidden}.task-project-group>summary{display:flex;align-items:center;gap:12px;padding:16px;cursor:pointer;list-style:none}.task-project-group>summary::-webkit-details-marker{display:none}.task-project-group>summary:hover{background:var(--soft)}.task-project-group>summary:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.task-group-arrow{font-size:25px;transition:transform .15s;color:var(--muted)}.task-project-group[open] .task-group-arrow{transform:rotate(90deg)}.task-group-title{flex:1;min-width:0;display:grid;gap:5px}.task-group-title strong{font-size:14px;overflow-wrap:anywhere}.task-group-title small,.task-group-counts{font-size:11px;color:var(--muted)}.task-group-body{padding:0 12px 8px;border-top:1px solid var(--line)}.team-person-heading{display:flex;gap:13px;align-items:center;min-width:0}.team-person-heading h3{margin:0 0 5px;overflow-wrap:anywhere}.team-person-heading p{margin:0;font-size:12px;color:var(--muted)}.team-person-avatar{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;min-width:48px;border:1px solid var(--line);border-radius:50%;overflow:hidden;background:var(--soft);color:var(--ink);font-size:14px;font-weight:650}.team-person-avatar img{width:100%;height:100%;object-fit:cover}.team-tracking-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.team-tracking-card{border:1px solid var(--line);padding:21px;border-radius:12px;min-width:0}.team-person-stats{display:flex;gap:18px;flex-wrap:wrap;margin:20px 0 14px;font-size:11px;color:var(--muted)}.team-person-stats strong{display:block;font-size:21px;color:var(--ink);margin-bottom:5px}.team-person-stats .negative strong{color:var(--negative)}.team-progress-label{font-size:12px;color:var(--muted)}.team-projects{margin:18px 0}.team-project-row{display:grid;grid-template-columns:1fr auto;gap:7px;align-items:center;border-top:1px solid var(--line);padding:13px 0}.team-project-row strong{font-size:12px}.team-project-row small{display:block;margin-top:5px;line-height:1.5;font-size:11px;color:var(--muted)}.team-project-row .project-progress{grid-column:1/-1;margin:0}.team-project-percent{font-size:13px;font-weight:600}.person>.team-person-heading{margin-bottom:16px}@media(max-width:760px){.team-tracking-grid{grid-template-columns:1fr}.task-project-group>summary{flex-wrap:wrap;padding:12px}.task-group-counts{padding-left:30px;width:100%;line-height:1.6}}
/* Compact team dashboard and task rows. */
.team-dashboard-compact .panel{padding:19px}.team-dashboard-compact .toolbar{margin-bottom:12px}.team-dashboard-compact .toolbar .note-area{margin:0}.team-dashboard-compact .cards{gap:8px;margin-bottom:14px}.team-dashboard-compact .metric{padding:12px 14px;min-height:80px;border-radius:8px}.team-dashboard-compact .metric .label{margin-bottom:7px;font-size:11px}.team-dashboard-compact .metric .value{font-size:21px}.team-dashboard-compact .metric .detail{margin-top:4px;font-size:10px}.team-dashboard-compact .team-tracking-grid{grid-template-columns:1fr;gap:0;border:1px solid var(--line);border-radius:10px;padding:0 14px}.team-dashboard-compact .team-tracking-card{display:grid;grid-template-columns:minmax(200px,1fr) minmax(200px,1.3fr) 175px;gap:20px;align-items:center;padding:13px 0;border:0;border-bottom:1px solid var(--line);border-radius:0}.team-dashboard-compact .team-tracking-card:last-child{border-bottom:0}.team-dashboard-compact .team-person-heading{gap:10px}.team-dashboard-compact .team-person-heading h3{font-size:13px;margin-bottom:3px}.team-dashboard-compact .team-person-heading p{font-size:11px}.team-dashboard-compact .team-person-avatar{width:36px;height:36px;min-width:36px;font-size:11px}.team-dashboard-compact .team-person-stats{gap:9px;margin:9px 0 0;font-size:10px}.team-dashboard-compact .team-person-stats strong{display:inline;font-size:12px;margin:0 2px 0 0}.team-dashboard-compact .team-projects{margin:0}.team-dashboard-compact .team-project-row{padding:7px 0;gap:8px}.team-dashboard-compact .team-project-row:first-child{border-top:0}.team-dashboard-compact .team-project-row small{margin-top:2px;font-size:10px}.team-dashboard-compact .team-progress-label{font-size:11px;line-height:1.4;margin:0}.team-dashboard-compact .team-person-result .project-progress{margin:7px 0;height:4px}.team-dashboard-compact .team-person-result button{margin-top:7px;font-size:11px;padding:6px 9px}.team-dashboard-compact .empty{padding:10px 0;font-size:12px;text-align:left}.team-dashboard-compact>.panel>.note-area{font-size:10px;margin-top:10px;line-height:1.4}.task-project-group{margin:7px 0;border-radius:8px}.task-project-group>summary{padding:10px 12px;gap:9px}.task-group-title{gap:2px}.task-group-title strong{font-size:13px}.task-group-body{padding:0 7px 3px}.task-group-body td{padding:7px 8px;font-size:12px}.task-group-body th{padding:9px 8px}.task-group-body td small{font-size:10px;margin-top:2px;line-height:1.3}.task-group-body .status{padding:4px 7px;font-size:10px}.task-group-body .small-button{padding:5px 8px;font-size:11px}.task-assignees{display:flex;flex-wrap:wrap;gap:5px 9px;min-width:135px}.task-assignee{display:inline-flex;align-items:center;gap:6px;font-size:11px;line-height:1.3}.task-assignee-avatar{width:25px;height:25px;min-width:25px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--soft);border:1px solid var(--line);font-size:9px;font-weight:600;overflow:hidden}.task-assignee-avatar img{width:100%;height:100%;object-fit:cover}@media(max-width:1100px){.team-dashboard-compact .team-tracking-card{grid-template-columns:minmax(170px,1fr) minmax(180px,1.2fr);gap:8px 16px}.team-dashboard-compact .team-person-result{grid-column:1/-1;display:flex;align-items:center;gap:12px}.team-dashboard-compact .team-person-result .project-progress{width:100px}.team-dashboard-compact .team-person-result button{margin:0 0 0 auto}}@media(max-width:760px){.team-dashboard-compact .team-tracking-card{grid-template-columns:1fr;gap:7px}.team-dashboard-compact .team-person-result{flex-wrap:wrap}.team-dashboard-compact .team-person-result .project-progress{width:70px}.team-dashboard-compact .team-person-result button{margin-left:0}.task-group-counts{padding-left:20px}}
/* Essential task filters and balanced task spacing. */
.task-quick-filters{display:grid;gap:12px;padding:12px 0 15px;border-bottom:1px solid var(--line)}.task-filter-controls{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap}.task-filter-controls label{display:grid;gap:5px;font-size:11px;color:var(--muted)}.task-filter-controls input,.task-filter-controls select{padding:8px 10px}.task-filter-icons{display:flex;align-items:center;gap:13px}.task-filter-label{font-size:11px;color:var(--muted);width:80px;flex-shrink:0}.task-filter-buttons{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.task-filter-buttons button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:var(--panel);color:var(--muted);height:35px;min-width:35px;padding:6px 9px;border-radius:8px}.task-filter-buttons button[aria-pressed=true]{background:var(--soft);border-color:var(--accent);color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.task-filter-buttons .person-filter{padding:2px;border-radius:50%;width:36px;height:36px}.person-filter .task-assignees{min-width:0}.person-filter .task-assignee>span:last-child{display:none}.person-filter .task-assignee-avatar{width:29px;height:29px;min-width:29px}.task-filter-buttons .type-filter{gap:6px;font-size:10px}.task-filter-all{font-size:11px}.task-results-summary{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap;margin:13px 0 10px}.task-results-summary p{font-size:11px;color:var(--muted)}.task-group-controls{display:flex;gap:5px}.task-group-controls button,.task-results-summary .quiet{padding:5px 7px;font-size:11px}.task-group-body table{min-width:710px;table-layout:fixed}.task-group-body th:first-child{width:40%}.task-group-body th:nth-child(2){width:22%}.task-group-body th:nth-child(3){width:15%}.task-group-body th:last-child{width:10%}.task-group-body td{padding:11px 9px;line-height:1.5;overflow-wrap:anywhere}.task-group-body td:first-child{font-size:13px;font-weight:500}.task-group-body td small{font-size:10px;font-weight:400;line-height:1.4;margin-top:4px}.task-group-body .task-assignees{min-width:0}.task-group-body .task-assignee{font-size:11px}.task-group-body .task-assignee-avatar{width:28px;height:28px;min-width:28px}.task-group-body .small-button{white-space:normal}
/* Uniform team cards, including the lower personnel fiches. */
.people{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.people .person{padding:16px;min-width:0}.people .person .team-person-heading h3{font-size:14px}.people .person .team-person-avatar{width:40px;height:40px;min-width:40px}.people .person-footer{gap:8px}.people .person-footer strong{width:100%;font-size:17px}.people .person-footer button{font-size:11px;padding:7px 9px}.team-dashboard .toolbar{margin-bottom:14px}.team-dashboard .toolbar .note-area{margin:0}.team-dashboard .cards{gap:10px;margin-bottom:18px}.team-dashboard .metric{min-height:82px;padding:13px;border-radius:9px}.team-dashboard .metric .label{font-size:11px;margin-bottom:7px}.team-dashboard .metric .value{font-size:22px}.team-dashboard .metric .detail{font-size:10px;margin-top:4px}.team-dashboard .team-tracking-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start}.team-dashboard .team-tracking-card{height:256px;display:grid;grid-template-rows:56px 24px 48px 28px 30px;gap:5px;padding:16px;border:1px solid var(--line);border-radius:11px;min-width:0}.team-dashboard .team-person-heading{gap:9px;min-width:0;align-items:center}.team-dashboard .team-person-heading h3{font-size:13px;margin:0 0 4px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.team-dashboard .team-person-heading p{font-size:10px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.team-dashboard .team-person-avatar{width:36px;height:36px;min-width:36px;font-size:11px}.team-dashboard .team-person-stats{margin:0;gap:8px;font-size:10px;align-items:center;flex-wrap:nowrap}.team-dashboard .team-person-stats strong{display:inline;font-size:12px;margin:0 2px 0 0}.team-card-progress strong{display:block;font-size:13px}.team-card-progress small{display:block;font-size:10px;color:var(--muted);margin:3px 0}.team-card-progress .project-progress{margin:7px 0 0;height:4px}.team-project-dropdown{position:relative;min-width:0}.team-project-dropdown>summary{cursor:pointer;font-size:11px;color:var(--muted);padding:5px 0}.team-project-dropdown>summary span{float:right}.team-project-popup{position:absolute;top:100%;left:-8px;right:-8px;z-index:8;max-height:230px;overflow-y:auto;padding:8px 12px;border:1px solid var(--line);border-radius:9px;background:var(--panel);box-shadow:0 8px 24px #0002}.team-project-popup .team-project-row{padding:9px 0;gap:8px;font-size:11px}.team-project-popup .team-project-row:first-child{border-top:0}.team-project-popup .team-project-row strong{font-size:11px}.team-project-popup .team-project-row small{font-size:10px;margin-top:3px}.team-project-popup .empty{padding:12px 0;font-size:11px}.team-dashboard .team-tracking-card>button{font-size:11px;padding:6px 9px;align-self:end}
/* SVG stacked bars use a shared count scale and remain keyboard accessible. */
.team-workload{border:1px solid var(--line);border-radius:11px;padding:16px;margin-bottom:18px}.team-chart-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.team-chart-heading h3{font-size:14px;margin:0}.team-chart-heading .note-area{margin:0;font-size:10px}.team-chart-legend{display:flex;gap:14px;flex-wrap:wrap;margin:13px 0;font-size:10px;color:var(--muted)}.team-chart-legend>span{display:inline-flex;align-items:center;gap:5px}.state-dot{width:8px;height:8px;border-radius:3px}.state-working{background:#357ec7}.state-review{background:#b98416}.state-pending{background:#bec9ce}.state-blocked{background:#c14c54}.bar-working{fill:#357ec7}.bar-review{fill:#b98416}.bar-pending{fill:#bec9ce}.bar-blocked{fill:#c14c54}.bar-track-bg{fill:var(--soft)}.bar-label{fill:white;font-size:11px;font-weight:600;pointer-events:none}.bar-label-dark{fill:#20383e}.team-chart-rows{display:grid;gap:9px}.team-chart-row{display:grid;grid-template-columns:165px minmax(100px,1fr) 83px;gap:14px;align-items:center;min-height:36px}.team-chart-person .task-assignees{min-width:0}.team-chart-person .task-assignee{font-size:11px}.team-chart-bar{border:0;background:transparent;padding:5px 0;display:block;width:100%;border-radius:5px}.team-chart-bar svg{display:block;width:100%;height:24px}.team-chart-bar:hover:not(:disabled){background:transparent}.team-chart-bar:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.team-chart-result{display:grid;grid-template-columns:auto auto;align-items:baseline;gap:2px 6px}.team-chart-result strong{font-size:12px}.team-chart-result span{font-size:10px;color:var(--muted)}.team-chart-result small{grid-column:1/-1;font-size:10px}.chart-footnote{font-size:10px;color:var(--muted);line-height:1.5;margin:12px 0 0}@media(max-width:1100px){.people,.team-dashboard .team-tracking-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.people,.team-dashboard .team-tracking-grid{grid-template-columns:1fr}.task-filter-icons{align-items:flex-start;gap:8px}.task-filter-label{width:66px;padding-top:11px}.type-filter span{display:none}.team-chart-row{grid-template-columns:100px minmax(80px,1fr) 65px;gap:8px}.team-chart-person .task-assignee{font-size:10px}.team-chart-person .task-assignee-avatar{display:none}.team-workload{padding:12px}.team-chart-result{grid-template-columns:1fr}.team-chart-result small{grid-column:auto}.team-chart-legend{gap:8px}.task-filter-controls{gap:9px}.task-filter-controls input{max-width:160px}}
/* Clients contain their projects; internal work has its own two containers. */
.client-containers-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}.client-containers-grid.two-clients{grid-template-columns:repeat(2,minmax(0,1fr))}.client-container{border:1px solid var(--line);border-radius:12px;background:var(--panel);min-width:0;overflow:hidden}.client-container-heading{padding:17px;background:var(--soft);border-bottom:1px solid var(--line)}.client-container-heading .entity-heading{gap:10px;align-items:center}.client-container-heading h3{font-size:15px;margin:0 0 4px}.client-container-heading small{font-size:11px;color:var(--muted)}.client-description{font-size:11px;line-height:1.5;margin:10px 0 0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.client-container-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}.client-container-actions button{font-size:10px;padding:6px 8px}.client-contained-projects{display:grid;gap:11px;padding:12px}.client-contained-projects .project-card{margin:0;min-width:0;padding:15px;border-radius:8px}.client-contained-projects .project-card h3{font-size:14px}.client-contained-projects .project-card .entity-logo,.client-contained-projects .project-card .entity-initials{width:40px;height:40px;min-width:40px;font-size:12px}.client-contained-projects .project-card p{font-size:11px}.client-contained-projects .project-card .actions-stack{margin:10px 0 0;gap:6px}.client-contained-projects .project-card .actions-stack button{font-size:10px;padding:6px 8px}.client-contained-projects .project-people{margin:10px 0}.client-contained-projects .member-avatar{width:29px;height:29px;min-width:29px;font-size:9px}.client-contained-projects .project-progress{margin-top:11px}.client-contained-projects .empty{padding:22px 8px;font-size:12px}.internal-containers-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.internal-container{border:1px solid var(--line);border-radius:12px;min-width:0;padding:16px}.internal-container>header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px}.internal-container>header h3{font-size:16px;margin:0}.internal-container>header>span{font-size:11px;color:var(--muted)}.internal-container>.project-cards{grid-template-columns:1fr;gap:12px;margin:0}
/* All four team members, including the owner, fit on a desktop row. */
.people,.team-dashboard .team-tracking-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.team-dashboard .team-tracking-card{padding:13px;height:256px}.team-dashboard .team-person-stats{font-size:9px;gap:6px}.team-dashboard .team-person-stats strong{font-size:11px}.team-dashboard .team-card-progress strong{font-size:12px}.people .person{padding:14px}.people .person .team-person-heading{gap:8px}.people .person .team-person-heading h3{font-size:13px}.people .person .team-person-heading p{font-size:11px}.people .person .team-person-avatar{width:34px;height:34px;min-width:34px;font-size:10px}.owner-person .person-footer strong{font-size:14px}.page-actions{flex-wrap:wrap}.page-actions>#new-client-action{white-space:nowrap}
/* Three compact filter groups in one desktop row. */
.task-quick-filters{grid-template-columns:auto minmax(175px,1fr) minmax(210px,1.2fr);gap:14px;align-items:start}.task-filter-controls{gap:7px;flex-wrap:nowrap;align-items:flex-end}.task-filter-controls input{width:133px;min-width:0}.task-filter-controls select{width:110px;min-width:0}.task-filter-controls .task-reset{font-size:20px;height:35px;min-width:30px;padding:3px 6px}.task-filter-icons{display:grid;gap:7px;min-width:0;align-items:start}.task-filter-label{width:auto;line-height:1;font-size:11px;padding:0}.task-filter-buttons{flex-wrap:nowrap;overflow-x:auto;padding:2px 2px 5px;min-width:0;gap:6px}.task-filter-buttons>button{flex-shrink:0}.task-filter-buttons .type-filter{width:34px;padding:6px}.task-filter-buttons .type-filter>span{display:none}.task-filter-buttons .task-filter-all{padding:6px;font-size:10px}
@media(max-width:1350px){.client-containers-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1200px){.people,.team-dashboard .team-tracking-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.task-quick-filters{grid-template-columns:1fr 1fr}.task-filter-controls{grid-column:1/-1}}@media(max-width:1000px){.people,.team-dashboard .team-tracking-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.client-containers-grid,.client-containers-grid.two-clients,.internal-containers-grid,.people,.team-dashboard .team-tracking-grid{grid-template-columns:1fr}.task-quick-filters{grid-template-columns:1fr;gap:10px}.task-filter-icons{align-items:start}.task-filter-label{padding:0}.task-filter-controls{flex-wrap:wrap}.client-container-heading{padding:14px}.page-actions>#new-client-action,.page-actions>#primary-action{font-size:12px}}

.creation-actions{display:flex;align-items:center;gap:8px;flex-wrap:nowrap}.creation-actions>button{white-space:nowrap}@media(max-width:760px){.creation-actions>button{font-size:12px;padding:8px 10px}}
/* One visual language for clients and internal project containers. */
:root{--project-container:#f1f2f4}[data-theme=dark]{--project-container:#263237}.client-containers-grid,.client-containers-grid.two-clients{grid-template-columns:1fr;gap:18px}.client-container,.internal-container{background:var(--project-container);border:1px solid var(--line);border-radius:12px;overflow:visible;padding:0}.client-container-heading,.internal-container>header{background:transparent;padding:17px 18px 14px;border:0;border-bottom:1px solid var(--line);border-radius:12px 12px 0 0;margin:0}.client-container-heading .entity-heading h3,.internal-container>header h3{font-size:16px}.client-description{max-width:850px;margin:10px 0 0}.client-container-actions{margin-top:11px}.client-contained-projects,.internal-container>.project-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:14px;margin:0}.client-contained-projects .project-card,.internal-container .project-card{padding:14px;background:var(--panel);border:1px solid var(--line);border-radius:9px;min-width:0}.internal-containers-grid{grid-template-columns:1fr;gap:18px}.internal-container .project-card .entity-logo,.internal-container .project-card .entity-initials{width:40px;height:40px;min-width:40px;font-size:12px}.internal-container .project-card h3{font-size:14px}.internal-container .project-card p{font-size:11px}.internal-container .project-card .actions-stack{gap:6px;margin:10px 0 0}.internal-container .project-card .actions-stack button{font-size:10px;padding:6px 8px}.internal-container .project-people{margin:10px 0}.internal-container .member-avatar{width:29px;height:29px;min-width:29px;font-size:9px}.following-tabs{display:flex;gap:7px;margin-bottom:18px}.following-tabs button{padding:9px 15px;font-size:12px;background:var(--panel);color:var(--muted)}.following-tabs button[aria-pressed=true]{background:var(--soft);border-color:var(--accent);color:var(--accent)}#admin-navigation{border-top:1px solid #42615a;margin-top:10px;padding-top:8px}#admin-navigation .nav-caption{display:block;padding:13px 14px 7px}.brand small{line-height:1.5}@media(max-width:1200px){.client-contained-projects,.internal-container>.project-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.client-containers-grid,.client-containers-grid.two-clients,.internal-containers-grid,.client-contained-projects,.internal-container>.project-cards{grid-template-columns:1fr}.client-container-heading,.internal-container>header{padding:14px}.following-tabs button{padding:8px 12px}}
/* Four equal project slots; each client occupies as many slots as its projects. */
.client-containers-grid,.client-containers-grid.two-clients,.internal-containers-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;align-items:start}.project-slots-1{grid-column:span 1}.project-slots-2{grid-column:span 2}.project-slots-3{grid-column:span 3}.project-slots-4{grid-column:span 4}.client-contained-projects,.internal-container>.project-cards{padding:6px;gap:8px;grid-template-columns:1fr}.project-slots-3>.client-contained-projects,.project-slots-3>.project-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.project-slots-4>.client-contained-projects,.project-slots-4>.project-cards{grid-template-columns:repeat(4,minmax(0,1fr))}.client-container-heading,.internal-container>header{padding:13px 11px}.client-container-heading h3,.internal-container>header h3{font-size:14px}.client-container-heading .entity-heading{align-items:flex-start}.client-description{-webkit-line-clamp:2;font-size:10px}.client-container-actions{gap:5px}.client-container-actions button{font-size:9px;padding:5px 7px}.client-contained-projects .project-card,.internal-container .project-card{height:286px;display:flex;flex-direction:column;padding:12px;overflow:hidden}.client-contained-projects .project-card>.entity-heading,.internal-container .project-card>.entity-heading{min-height:57px;align-items:flex-start;gap:8px}.client-contained-projects .project-card h3,.internal-container .project-card h3{font-size:13px}.client-contained-projects .project-card .project-title-link,.internal-container .project-card .project-title-link{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.client-contained-projects .project-card>p,.internal-container .project-card>p{font-size:10px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:5px 0}.client-contained-projects .project-card>.project-progress,.internal-container .project-card>.project-progress{margin-top:auto;flex-shrink:0}.client-contained-projects .project-card>.project-people,.internal-container .project-card>.project-people{flex-wrap:nowrap;overflow-x:auto;min-height:31px;flex-shrink:0;margin:8px 0}.client-contained-projects .project-card .member-avatar,.internal-container .project-card .member-avatar{flex-shrink:0}.client-contained-projects .project-card>.actions-stack,.internal-container .project-card>.actions-stack{flex-wrap:nowrap;gap:5px;margin:5px 0 0}.client-contained-projects .project-card>.actions-stack button,.internal-container .project-card>.actions-stack button{font-size:9px;padding:5px 6px;min-width:0}.creation-actions>.primary{background:var(--accent);border-color:var(--accent);color:#fff}[data-theme=dark] .creation-actions>.primary{background:#96d8ba;border-color:#96d8ba;color:#132c24}.budget-scope-tabs{margin:12px 0 16px}.budget-subtotals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}.budget-subtotals .metric{min-height:105px}.budget-subtotals .metric .value{font-size:21px}.budget-subtotals .metric .label{margin-bottom:10px}@media(max-width:1200px){.client-containers-grid,.client-containers-grid.two-clients,.internal-containers-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.project-slots-4{grid-column:span 3}.project-slots-4>.client-contained-projects,.project-slots-4>.project-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1000px){.client-containers-grid,.client-containers-grid.two-clients,.internal-containers-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-slots-3,.project-slots-4{grid-column:span 2}.project-slots-3>.client-contained-projects,.project-slots-3>.project-cards,.project-slots-4>.client-contained-projects,.project-slots-4>.project-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.client-containers-grid,.client-containers-grid.two-clients,.internal-containers-grid,.budget-subtotals{grid-template-columns:1fr}.project-slots-1,.project-slots-2,.project-slots-3,.project-slots-4{grid-column:span 1}.project-slots-2>.client-contained-projects,.project-slots-2>.project-cards,.project-slots-3>.client-contained-projects,.project-slots-3>.project-cards,.project-slots-4>.client-contained-projects,.project-slots-4>.project-cards{grid-template-columns:1fr}.client-contained-projects,.internal-container>.project-cards{gap:12px}}

/* Uniform client insets and project widths, regardless of project count.
   Widths include 13px padding + 1px border per side. Four single-project
   clients fit in a row; grouped clients share those insets, saving space. */
.client-containers-grid,.client-containers-grid.two-clients,.internal-containers-grid{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px}
.client-container,.internal-container{flex-grow:0;flex-shrink:0;min-width:0}
.project-slots-1{flex-basis:calc(25% - 9px)}
.project-slots-2{flex-basis:calc(50% - 38px)}
.project-slots-3{flex-basis:calc(75% - 67px)}
.project-slots-4{flex-basis:calc(100% - 96px)}
.client-contained-projects,.internal-container>.project-cards,
.project-slots-2>.client-contained-projects,.project-slots-2>.project-cards,
.project-slots-3>.client-contained-projects,.project-slots-3>.project-cards,
.project-slots-4>.client-contained-projects,.project-slots-4>.project-cards{padding:13px;gap:8px}
@media(max-width:1200px){
.project-slots-1{flex-basis:calc((100% - 24px) / 3)}
.project-slots-2{flex-basis:calc((200% - 108px) / 3)}
.project-slots-3,.project-slots-4{flex-basis:calc(100% - 64px)}
}
@media(max-width:1000px){
.project-slots-1{flex-basis:calc(50% - 6px)}
.project-slots-2,.project-slots-3,.project-slots-4{flex-basis:calc(100% - 32px)}
}
@media(max-width:760px){
.project-slots-1,.project-slots-2,.project-slots-3,.project-slots-4{flex-basis:100%}
}
/* Reserve room around avatars so the champion ring and star are never clipped. */
.project-people{padding:6px;min-height:50px;gap:8px}.client-contained-projects .project-card,.internal-container .project-card{height:308px}.client-contained-projects .project-card>.project-people,.internal-container .project-card>.project-people{min-height:50px;padding:6px;margin:6px 0;overflow-y:hidden}.client-contained-projects .member-avatar,.internal-container .member-avatar{width:38px;height:38px;min-width:38px;font-size:11px}.client-contained-projects .project-card .entity-logo,.client-contained-projects .project-card .entity-initials,.internal-container .project-card .entity-logo,.internal-container .project-card .entity-initials{width:48px;height:48px;min-width:48px;padding:4px}.member-avatar i{right:-3px;bottom:-3px}.image-editor{max-width:520px}.image-editor-body{padding:18px 24px}.image-editor-body>p{font-size:12px;color:var(--muted)}.image-canvas-wrap{width:min(100%,300px);aspect-ratio:1;margin:16px auto;border:1px solid var(--line);border-radius:10px;background:repeating-conic-gradient(#dfe4e3 0 25%,#fff 0 50%) 0/18px 18px;overflow:hidden}.image-canvas-wrap.round-preview{border-radius:50%}.image-canvas-wrap canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}.image-canvas-wrap canvas:active{cursor:grabbing}.image-fit-controls{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:12px 0}.image-fit-controls button{font-size:11px;padding:7px 9px}.image-fit-controls button[aria-pressed=true]{background:var(--soft);color:var(--accent);border-color:var(--accent)}.image-slider{display:flex;align-items:center;gap:10px;font-size:12px;margin:14px 0}.image-slider input{min-width:0;flex:1;padding:0;accent-color:var(--accent)}.image-slider output{width:40px;font-size:11px}.image-position-controls{display:grid;grid-template-columns:1fr 1fr;gap:14px}.image-position-controls .image-slider{margin:0}.image-editor-body>small{font-size:10px;line-height:1.5;color:var(--muted);display:block;margin-top:10px}.image-editor-error{margin:8px 0;min-height:0}.image-editor .form-actions{margin-top:15px;padding-top:13px}@media(max-width:520px){.image-editor-body{padding:14px 16px}.image-position-controls{grid-template-columns:1fr;gap:8px}}

.form-actions .task-delete{margin-right:auto;color:var(--negative);border-color:var(--negative)}.task-delete-confirm{color:#fff;background:var(--negative);border-color:var(--negative)}.task-delete-confirm:hover:not(:disabled){filter:brightness(.9);background:var(--negative)}[data-theme=dark] .task-delete-confirm{color:#fff;background:#a44131;border-color:#a44131}

/* Direct task edits, with a lighter project surface. */
.task-inline-date,.task-inline-state{width:100%;min-width:0;font-size:11px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--ink);padding:6px 4px}.task-inline-date:hover,.task-inline-state:hover{border-color:var(--line);background:var(--panel)}.task-inline-date:focus,.task-inline-state:focus{background:var(--panel);border-color:var(--accent);outline:2px solid var(--soft)}.task-inline-state{padding:6px 3px;cursor:pointer}.task-status-done{color:var(--positive);font-weight:600}.task-inline-date:disabled,.task-inline-state:disabled{opacity:.55;cursor:wait}.task-group-body th:first-child{width:34%}.task-group-body th:nth-child(2){width:19%}.task-group-body th:nth-child(3){width:18%}.task-group-body th:nth-child(4){width:17%}.task-group-body th:last-child{width:12%}.client-contained-projects .project-card,.internal-container .project-card{background:transparent;border:0;box-shadow:none}.client-contained-projects .project-card .entity-logo,.internal-container .project-card .entity-logo{background:transparent;border:0;padding:0}.client-contained-projects .member-avatar,.internal-container .member-avatar{border-color:var(--project-container)}[data-theme=dark] .task-inline-date,[data-theme=dark] .task-inline-state{background:transparent;border-color:transparent}[data-theme=dark] .task-inline-date:focus,[data-theme=dark] .task-inline-state:focus{background:var(--panel);border-color:var(--accent)}

/* Keep the full year and all three subtotals on a desktop viewport. */
.annual-budget-view>.panel{padding:18px}.annual-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:13px 0}.annual-toolbar>label{display:flex;align-items:center;gap:7px;font-size:11px}.annual-toolbar input{width:85px;padding:7px}.annual-toolbar>span{font-size:11px;color:var(--muted)}.annual-toolbar .budget-scope-tabs{margin:0 0 0 auto}.annual-toolbar .budget-scope-tabs button{font-size:11px;padding:7px 9px}.annual-subtotals{gap:9px;margin:10px 0}.annual-subtotals .metric{padding:10px 12px;min-height:73px}.annual-subtotals .metric .label{font-size:10px;margin-bottom:5px}.annual-subtotals .metric .value{font-size:20px}.annual-subtotals .metric .detail{font-size:10px;margin-top:4px}.annual-key{font-size:10px;color:var(--muted);line-height:1.5;margin:10px 0}.annual-table-wrap{width:100%;overflow:visible}.annual-budget-table{width:100%;table-layout:fixed;font-size:10px}.annual-budget-table .budget-concept-col{width:13%}.annual-budget-table .budget-month-col{width:5.4%}.annual-budget-table .budget-summary-col{width:7.4%}.annual-budget-table th,.annual-budget-table td{padding:10px 3px;letter-spacing:0;font-variant-numeric:tabular-nums;border-bottom:1px solid var(--line);line-height:1.4}.annual-budget-table thead th{font-size:10px;text-transform:none;white-space:normal;text-align:right;font-weight:650}.annual-budget-table thead th.budget-fixed-concept{text-align:left}.annual-budget-table th small{display:block;font-size:8px;font-weight:400;color:var(--muted);margin-top:3px;line-height:1.3}.annual-budget-table tbody th{font-size:10px;font-weight:500;text-transform:none;text-align:left;overflow-wrap:anywhere}.annual-budget-table td{font-size:clamp(8px,.76vw,11px);text-align:right;white-space:nowrap}.annual-budget-table .budget-ytd{background:var(--soft)}.annual-budget-table .budget-ytg{background:var(--panel)}.annual-budget-table .budget-fy{background:var(--project-container);font-weight:650}.annual-budget-table .budget-total{border-left:1px solid var(--line)}.annual-budget-table tbody td:nth-last-child(-n+3){border-left:1px solid var(--line);font-weight:650}.annual-table-wrap[data-budget-scope=YTD] .budget-ytg,.annual-table-wrap[data-budget-scope=YTG] .budget-ytd{color:var(--muted)}.annual-table-wrap[data-budget-scope=YTD] th.budget-total.budget-ytd,.annual-table-wrap[data-budget-scope=YTG] th.budget-total.budget-ytg,.annual-table-wrap[data-budget-scope=FY] th.budget-total.budget-fy{box-shadow:inset 0 3px var(--accent);color:var(--ink)}.annual-budget-table .budget-edit-row th,.annual-budget-table .budget-edit-row td{font-size:9px;padding:6px 3px;color:var(--muted)}.annual-budget-table .budget-edit-row button{font-size:9px;padding:3px 4px;background:transparent;border:0;color:var(--accent)}.annual-method{font-size:10px;color:var(--muted);margin-top:13px}.annual-method summary{cursor:pointer}.annual-method p{line-height:1.6}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:900px){.annual-table-wrap{overflow-x:auto}.annual-budget-table{min-width:820px}.annual-budget-table td{font-size:10px}}@media(max-width:760px){.annual-toolbar .budget-scope-tabs{margin-left:0}.annual-subtotals{grid-template-columns:1fr}.annual-budget-view>.panel{padding:14px}}
.annual-table-wrap[data-budget-scope] .annual-budget-table td.negative{color:var(--negative)}

/* Collapsible annual blocks with a sticky concept column. */
.budget-fold-scroll{overflow-x:auto;position:relative;max-width:100%;isolation:isolate;overscroll-behavior-x:contain}.annual-budget-table.budget-fold-table{width:100%;min-width:0;table-layout:auto;border-collapse:separate;border-spacing:0}.budget-fold-table th.budget-fixed-concept{position:sticky;left:0;z-index:2;background:var(--panel);min-width:170px;width:170px;max-width:190px;text-align:left;white-space:normal;box-shadow:1px 0 0 var(--line)}.budget-fold-table thead th.budget-fixed-concept{z-index:3}.budget-fold-table .total-row th.budget-fixed-concept{background:var(--project-container);font-weight:650}.budget-fold-table th,.budget-fold-table td{padding:11px 10px}.budget-fold-table .budget-number{min-width:98px;font-size:12px}.budget-fold-table .budget-subtotal-cell{min-width:132px;font-weight:650;border-left:1px solid var(--line)}.budget-fold-table thead th{min-width:98px;font-size:12px;text-align:right;vertical-align:middle}.budget-fold-table thead th.budget-total{min-width:132px}.budget-fold-table .budget-fixed-concept{font-size:12px}.budget-fold-table .budget-month-heading small{font-size:10px}.budget-fold-toggle{display:grid;gap:3px;text-align:right;width:100%;padding:2px 0;background:transparent;border:0;white-space:normal;color:var(--ink)}.budget-fold-toggle>span{font-size:13px;font-weight:650}.budget-fold-toggle small{font-size:10px;line-height:1.4}.budget-fold-toggle:hover:not(:disabled){background:transparent;color:var(--accent)}.budget-fold-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.annual-fold-actions{display:flex;gap:6px;margin-left:auto}.annual-fold-actions button{font-size:11px;padding:6px 9px}.budget-fold-table .budget-edit-row td{font-size:10px;white-space:normal;min-width:98px}.budget-fold-table .budget-edit-row th{font-size:11px}.budget-fold-table .budget-edit-row button{font-size:11px}.budget-fold-table .budget-fy{border-left:2px solid var(--line)}@media(max-width:760px){.budget-fold-table th.budget-fixed-concept{min-width:135px;width:135px;max-width:135px}.budget-fold-table .budget-number{font-size:11px;min-width:93px}.budget-fold-table .budget-subtotal-cell,.budget-fold-table thead th.budget-total{min-width:110px}.annual-fold-actions{margin-left:0;flex-wrap:wrap}}
.annual-budget-table.budget-fold-table tbody td{font-weight:400;border-left:0}.annual-budget-table.budget-fold-table tbody td.budget-subtotal-cell{font-weight:650;border-left:1px solid var(--line)}.annual-budget-table.budget-fold-table tbody td.budget-fy{border-left:2px solid var(--line)}
.shell>main,.annual-budget-view{min-width:0}

/* Green actual and blue forecast headers; numeric cells stay neutral. */
.budget-fold-table thead th.budget-band-real{background:#247451;color:#fff;text-align:center}.budget-fold-table thead th.budget-band-projection{background:#2e6dad;color:#fff;text-align:center}.budget-fold-table .budget-color-bands th{padding:11px 9px}.budget-fold-table .budget-color-bands small{display:inline;font-size:10px;margin-left:7px;color:inherit;opacity:.9}.budget-fold-table thead .budget-head-real{background:#e6f2eb;color:#245c43}.budget-fold-table thead .budget-head-projection{background:#e7f0fc;color:#245b91}.budget-fold-table .budget-band-real .budget-fold-toggle,.budget-fold-table .budget-band-projection .budget-fold-toggle{color:#fff;text-align:center}.budget-fold-table .budget-band-real small,.budget-fold-table .budget-band-projection small{color:inherit}.annual-budget-table.budget-fold-table tbody td.budget-ytd,.annual-budget-table.budget-fold-table tbody td.budget-ytg,.annual-budget-table.budget-fold-table tbody td.budget-fy{background:var(--panel)}.annual-budget-table.budget-fold-table .total-row td{background:var(--project-container)}.budget-month-view .budget-number,.budget-month-view thead .budget-month-heading{min-width:76px}.budget-month-view .budget-number{font-size:11px}.budget-month-view th,.budget-month-view td{padding-left:7px;padding-right:7px}.budget-month-view .budget-fixed-concept{min-width:155px;width:155px}.annual-fold-actions button[aria-pressed=true]{background:var(--soft);border-color:var(--accent);color:var(--accent)}[data-theme=dark] .budget-fold-table thead .budget-band-real{background:#215d43}[data-theme=dark] .budget-fold-table thead .budget-band-projection{background:#285887}[data-theme=dark] .budget-fold-table thead .budget-head-real{background:#253e33;color:#b7e6ce}[data-theme=dark] .budget-fold-table thead .budget-head-projection{background:#253950;color:#bfddfa}@media(max-width:760px){.budget-month-view .budget-fixed-concept{min-width:135px;width:135px}.budget-fold-table .budget-color-bands small{display:block;margin-left:0;margin-top:4px}}
.budget-month-view .budget-edit-row td{min-width:76px;font-size:9px}

/* Same outline treatment for collapsed and expanded financial blocks. */
:root{--budget-real:#247451;--budget-projection:#2e6dad}[data-theme=dark]{--budget-real:#91d9b6;--budget-projection:#9bc8f7}.annual-budget-table.budget-fold-table thead th.budget-band-real{background:var(--panel);color:var(--budget-real);border:1px solid var(--budget-real);border-top-width:3px;border-radius:7px 7px 0 0}.annual-budget-table.budget-fold-table thead th.budget-band-projection{background:var(--panel);color:var(--budget-projection);border:1px solid var(--budget-projection);border-top-width:3px;border-radius:7px 7px 0 0}.annual-budget-table.budget-fold-table .budget-band-real .budget-fold-toggle,.annual-budget-table.budget-fold-table .budget-band-projection .budget-fold-toggle{background:transparent;color:inherit;text-align:center}.annual-budget-table.budget-fold-table .budget-fold-toggle:hover:not(:disabled){background:transparent;color:inherit}.annual-budget-table.budget-fold-table thead .budget-head-real{background:var(--panel);color:var(--ink);border-bottom:2px solid var(--budget-real)}.annual-budget-table.budget-fold-table thead .budget-head-projection{background:var(--panel);color:var(--ink);border-bottom:2px solid var(--budget-projection)}.annual-budget-table.budget-fold-table .budget-color-bands small{display:block;margin:4px 0 0;color:inherit;opacity:1}.annual-budget-table.budget-fold-table thead .budget-fy{background:var(--panel);color:var(--ink)}
.annual-subtotals>.metric:first-child{border-color:var(--budget-real)}.annual-subtotals>.metric:first-child .label{color:var(--budget-real)}.annual-subtotals>.metric:nth-child(2){border-color:var(--budget-projection)}.annual-subtotals>.metric:nth-child(2) .label{color:var(--budget-projection)}
/* Solid financial block titles in both expanded and collapsed views. */
.annual-budget-table.budget-fold-table thead th.budget-band-real{background:#247451;color:#fff;border-color:#247451}.annual-budget-table.budget-fold-table thead th.budget-band-projection{background:#2e6dad;color:#fff;border-color:#2e6dad}.annual-budget-table.budget-fold-table .budget-band-real .budget-fold-toggle,.annual-budget-table.budget-fold-table .budget-band-projection .budget-fold-toggle,.annual-budget-table.budget-fold-table thead .budget-band-real small,.annual-budget-table.budget-fold-table thead .budget-band-projection small{color:#fff}[data-theme=dark] .annual-budget-table.budget-fold-table thead th.budget-band-real{background:#215d43;border-color:#215d43}[data-theme=dark] .annual-budget-table.budget-fold-table thead th.budget-band-projection{background:#285887;border-color:#285887}
/* Compact subtotals should not stretch across the whole panel. */
.annual-budget-table.budget-fold-table.budget-summary-view{width:590px;min-width:0;table-layout:fixed}.budget-summary-view th.budget-fixed-concept{width:170px;min-width:170px;max-width:170px}.budget-summary-view thead th.budget-total,.budget-summary-view .budget-subtotal-cell{width:140px;min-width:0}.budget-summary-view th,.budget-summary-view td{padding:9px 10px}.budget-summary-view .budget-number{min-width:0;font-size:12px}.budget-summary-view .budget-fold-toggle{gap:2px}.budget-summary-view .budget-edit-row td{min-width:0;font-size:10px}@media(max-width:760px){.annual-budget-table.budget-fold-table.budget-summary-view{width:500px}.budget-summary-view th.budget-fixed-concept{width:140px;min-width:140px;max-width:140px}.budget-summary-view thead th.budget-total,.budget-summary-view .budget-subtotal-cell{width:120px}}

/* Explicit column widths prevent January from absorbing grouped-header space. */
.budget-month-count-0{--annual-month-count:0}.budget-month-count-1{--annual-month-count:1}.budget-month-count-2{--annual-month-count:2}.budget-month-count-3{--annual-month-count:3}.budget-month-count-4{--annual-month-count:4}.budget-month-count-5{--annual-month-count:5}.budget-month-count-6{--annual-month-count:6}.budget-month-count-7{--annual-month-count:7}.budget-month-count-8{--annual-month-count:8}.budget-month-count-9{--annual-month-count:9}.budget-month-count-10{--annual-month-count:10}.budget-month-count-11{--annual-month-count:11}.budget-month-count-12{--annual-month-count:12}.budget-total-count-1{--annual-total-count:1}.budget-total-count-2{--annual-total-count:2}.budget-total-count-3{--annual-total-count:3}
.annual-budget-table.budget-fold-table.budget-month-view{--annual-concept-width:170px;table-layout:fixed;min-width:0;width:calc(var(--annual-concept-width) + var(--annual-month-count)*104px + var(--annual-total-count)*140px)}.budget-month-view col.budget-stable-concept{width:var(--annual-concept-width)}.budget-month-view col.budget-stable-month{width:104px}.budget-month-view col.budget-stable-total{width:140px}.budget-month-view th.budget-fixed-concept{width:var(--annual-concept-width);min-width:var(--annual-concept-width);max-width:var(--annual-concept-width)}

/* The first month is a header-row first child, but is not the concept column. */
.annual-budget-table.budget-fold-table thead th.budget-month-heading{text-align:center;vertical-align:middle;min-width:104px;max-width:104px;width:104px}.annual-budget-table.budget-fold-table thead th.budget-fy{text-align:center;vertical-align:middle}.annual-budget-table.budget-fold-table thead th.budget-fy small{text-align:center}
/* Denser expanded year: keep currency readable without oversized column gaps. */
.annual-budget-table.budget-fold-table.budget-month-view{--annual-concept-width:150px;width:calc(var(--annual-concept-width) + var(--annual-month-count)*68px + var(--annual-total-count)*110px)}.budget-month-view col.budget-stable-month{width:68px}.budget-month-view col.budget-stable-total{width:110px}.annual-budget-table.budget-fold-table.budget-month-view thead th.budget-month-heading{width:68px;min-width:68px;max-width:68px}.annual-budget-table.budget-fold-table.budget-month-view td.budget-number{min-width:68px;font-size:10px;padding:9px 4px}.annual-budget-table.budget-fold-table.budget-month-view td.budget-subtotal-cell,.annual-budget-table.budget-fold-table.budget-month-view thead th[scope=col].budget-total{width:110px;min-width:110px;max-width:110px}.budget-month-view th,.budget-month-view td{padding-left:4px;padding-right:4px}.budget-month-view .budget-edit-row td{min-width:68px;font-size:9px;padding-left:4px;padding-right:4px}.budget-month-view .budget-month-heading small{font-size:8px}.budget-month-view .budget-fold-toggle small{font-size:9px}@media(max-width:760px){.annual-budget-table.budget-fold-table.budget-month-view{--annual-concept-width:135px}}
/* Financial values use regular weight; emphasize only the final managerial result. */
.annual-budget-table.budget-fold-table tbody td.budget-number,.annual-budget-table.budget-fold-table tbody td.budget-subtotal-cell,.annual-budget-table.budget-fold-table tbody td.budget-fy{font-weight:400}.annual-budget-table.budget-fold-table tbody tr.total-row:not(:nth-last-child(2)) th.budget-fixed-concept,.annual-budget-table.budget-fold-table tbody tr.total-row:not(:nth-last-child(2)) td{font-weight:400;background:var(--panel)}.annual-budget-table.budget-fold-table tbody tr.budget-result-row th.budget-fixed-concept,.annual-budget-table.budget-fold-table tbody tr.budget-result-row td.budget-number{font-weight:650;background:var(--soft);border-top:2px solid var(--accent)}

/* Shared task status palette for charts, legends and list controls. */
.state-pending{background:#c64545}.state-working{background:#e8c34d}.state-review{background:#e79535}.state-done{background:#25805e}.bar-pending{fill:#c64545}.bar-working{fill:#e8c34d}.bar-review{fill:#e79535}.bar-done{fill:#25805e}.bar-working+.bar-label,.bar-review+.bar-label{fill:#2d291b}.bar-pending+.bar-label{fill:#fff}.task-status-pending{--task-bg:#fdeaea;--task-ink:#a32828;--task-border:#edc1c1}.task-status-working{--task-bg:#fff4c7;--task-ink:#715800;--task-border:#e6d58d}.task-status-review{--task-bg:#fff0df;--task-ink:#96470b;--task-border:#e9c398}.task-status-done{--task-bg:#e4f3e9;--task-ink:#166441;--task-border:#b1d6bc}.task-inline-state[class*=task-status-],.task-status-badge[class*=task-status-]>.status{color:var(--task-ink,var(--ink));background:var(--task-bg,var(--soft));border-color:var(--task-border,var(--line))}.task-inline-state[class*=task-status-]{font-weight:550;border-width:1px}.task-status-badge>.status{font-weight:550}[data-theme=dark] .task-status-pending{--task-bg:#4b2d33;--task-ink:#ffb9bd;--task-border:#835057}[data-theme=dark] .task-status-working{--task-bg:#4c4322;--task-ink:#ffe08a;--task-border:#877434}[data-theme=dark] .task-status-review{--task-bg:#513822;--task-ink:#ffc589;--task-border:#936435}[data-theme=dark] .task-status-done{--task-bg:#244738;--task-ink:#9fe0b7;--task-border:#4d8566}
/* Restore project cards and image backgrounds; omit only their border. */
.client-contained-projects .project-card,.internal-container .project-card{background:var(--panel);border:0;box-shadow:none}.client-contained-projects .project-card .entity-logo,.internal-container .project-card .entity-logo{background:#fff;border:0;padding:4px;border-radius:9px}

/* Keep the avatar visible beside a compact assignee dropdown. */
.task-assignee-control{position:relative;min-width:110px}.task-assignee-control>.task-assignees{pointer-events:none;position:absolute;left:4px;top:50%;transform:translateY(-50%)}.task-assignee-control>.task-assignees .task-assignee>span:last-child{display:none}.task-inline-assignee{width:100%;min-width:0;padding:7px 20px 7px 36px;font-size:11px;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--ink);cursor:pointer}.task-inline-assignee:focus{outline:2px solid var(--soft);border-color:var(--accent)}.task-inline-assignee:disabled{opacity:.55;cursor:wait}

.task-title-order{display:flex;align-items:center;gap:7px}.task-order-buttons{display:flex;flex-direction:column;flex-shrink:0;gap:2px}.task-order-buttons button{font-size:13px;line-height:15px;padding:0 4px;border:1px solid var(--line);border-radius:4px;background:var(--panel);color:var(--ink);cursor:pointer}.task-order-buttons button:disabled{opacity:.25;cursor:default}.task-completed-group{border-top:1px solid var(--line);margin-top:5px}.task-completed-group>summary{cursor:pointer;padding:10px 12px;color:var(--positive);font-size:12px;font-weight:600}.task-completed-group .table-wrap{margin-top:0}

.task-window-modes{display:flex;align-items:center;gap:0;align-self:end;border:1px solid var(--line);border-radius:7px;overflow:hidden;flex-shrink:0}.task-window-modes button{padding:7px 10px;border:0;border-radius:0;font-size:12px;min-height:34px}.task-window-modes button[aria-pressed=true]{background:var(--accent);color:var(--panel)}[data-theme=dark] .task-window-modes button[aria-pressed=true]{color:#132c24;background:var(--accent)}

.task-recurrence{display:block;margin:8px 0 0;padding:16px;border:1px solid var(--line);border-radius:9px;min-width:0}.task-recurrence legend{padding:0 6px;font-weight:600}.task-recurrence .form-grid{margin-top:12px}.task-recurrence .note-area{margin:12px 0}.task-recurrence small{display:block;line-height:1.5;color:var(--muted)}

.work-month-year{display:flex;gap:8px;align-items:center;min-height:28px}.work-month-year>span{font-weight:600}.work-month-year>button{font-size:11px;padding:3px 6px}.work-month-year>input{width:90px;padding:4px 6px}.work-month-field>select{text-transform:capitalize}

.task-project-kind{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:16px}.task-project-kind>span{font-size:12px;color:var(--muted);margin-right:3px}.task-project-kind>button{padding:6px 13px;font-size:12px;border-radius:18px}.task-project-kind>button[aria-pressed=true]{background:var(--accent);color:var(--panel);border-color:var(--accent)}.task-project-kind>small{font-size:11px;color:var(--muted)}[data-theme=dark] .task-project-kind>button[aria-pressed=true]{color:#132c24}.project-period-toolbar{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px;margin:14px 0 18px}.project-period-toolbar>label{display:grid;gap:5px;font-size:11px;color:var(--muted)}.project-period-toolbar>label>select{min-height:36px;font-size:12px}.project-period-toolbar>.note-area{padding-bottom:8px}.deliverable-timelines{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:18px;align-items:start}.deliverable-month{border:1px solid var(--line);border-radius:10px;min-width:0;overflow:hidden}.deliverable-month>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;border-bottom:1px solid var(--line);background:var(--soft)}.deliverable-month>header h3{margin:0;font-size:14px;text-transform:capitalize}.deliverable-month>header>span{font-size:11px;color:var(--muted);white-space:nowrap}.deliverable-steps{list-style:none;margin:0;padding:16px}.deliverable-step{position:relative;padding:0 0 18px 30px;min-width:0}.deliverable-step:before{content:'';position:absolute;left:9px;top:20px;bottom:0;width:2px;background:var(--line)}.deliverable-step:last-child{padding-bottom:0}.deliverable-step:last-child:before{display:none}.deliverable-node{position:absolute;left:0;top:0;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:var(--task-bg,var(--soft));border:1px solid var(--task-border,var(--line));color:var(--task-ink,var(--ink));font-size:11px;font-weight:650}.deliverable-step.is-complete:before{background:#25805e}.deliverable-step.is-complete .deliverable-node{background:#25805e;color:#fff;border-color:#25805e}.deliverable-step.is-complete .deliverable-step-body{background:var(--task-bg);border-color:var(--task-border)}.deliverable-step-body{padding:11px;border:1px solid var(--line);border-radius:8px;min-width:0}.deliverable-step-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.deliverable-step-heading>strong{font-size:12px;overflow-wrap:anywhere}.deliverable-step-heading .status{font-size:10px;white-space:nowrap}.deliverable-date{font-size:11px;color:var(--muted);margin:7px 0}.deliverable-date.negative{color:var(--negative)}.deliverable-step-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.deliverable-step-footer .small-button{font-size:11px;padding:4px 8px}.deliverable-note{font-size:11px;color:var(--muted);margin:8px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}

/* Compact task distribution and horizontal monthly milestones. */
.task-pie-summary{display:flex;align-items:center;gap:16px;padding:10px 14px;margin:14px 0;border:1px solid var(--line);border-radius:9px;background:var(--panel)}.task-pie-chart{width:110px;flex:0 0 110px}.task-pie-chart svg{display:block;width:100%;height:auto}.pie-empty{fill:var(--line)}.task-pie-content{min-width:0}.task-pie-content h3{margin:0 0 10px;font-size:13px}.task-pie-content h3>span{color:var(--muted);font-weight:400;margin-left:6px}.task-pie-legend{display:grid;grid-template-columns:repeat(2,minmax(110px,1fr));gap:7px 22px}.task-pie-legend>span{display:flex;align-items:center;gap:6px;font-size:11px}.task-pie-legend strong{margin-left:auto}.task-pie-legend small{color:var(--muted);min-width:30px;text-align:right}.task-pie-caption{display:block;font-size:10px;color:var(--muted);margin-top:9px}.horizontal-timelines{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.horizontal-timelines .deliverable-month{border:0;border-radius:0;overflow:visible}.horizontal-timelines .deliverable-month>header{padding:9px 0;background:transparent;border-bottom:1px solid var(--line)}.deliverable-track{overflow-x:auto;padding:12px 0 8px;overscroll-behavior-x:contain}.horizontal-timelines .deliverable-steps{display:flex;list-style:none;margin:0;padding:0;width:max-content;min-width:100%;gap:0}.horizontal-timelines .deliverable-step{position:relative;flex:1 0 168px;width:168px;padding:0 16px 0 0;max-width:210px}.horizontal-timelines .deliverable-step:before{display:none}.horizontal-timelines .deliverable-date{min-height:18px;margin:0 0 7px;font-size:10px}.deliverable-rail{position:relative;height:23px;margin-bottom:9px}.deliverable-rail:after{content:'';position:absolute;height:2px;left:19px;right:-16px;top:9px;background:var(--line)}.horizontal-timelines .deliverable-step:last-child .deliverable-rail:after{display:none}.horizontal-timelines .deliverable-node{z-index:1}.horizontal-timelines .is-complete .deliverable-rail:after{background:#25805e}.horizontal-timelines .deliverable-step-body,.horizontal-timelines .is-complete .deliverable-step-body{padding:0;border:0;background:transparent;border-radius:0}.deliverable-task-link,.deliverable-task-name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:34px;font-size:12px;line-height:17px;font-weight:550;white-space:normal;text-align:left;overflow-wrap:anywhere}.deliverable-task-link{border:0;padding:0;border-radius:0;background:transparent;color:var(--ink)}.deliverable-task-link:hover{background:transparent!important;text-decoration:underline}.deliverable-state{display:block;margin:4px 0 7px;font-size:10px;color:var(--task-ink,var(--muted))}.horizontal-timelines .deliverable-step-footer .task-assignees{gap:3px}.horizontal-timelines .task-assignee>span:last-child{font-size:10px}.horizontal-timelines .task-assignee-avatar{width:24px;height:24px;min-width:24px}.horizontal-timelines .is-complete .deliverable-task-link,.horizontal-timelines .is-complete .deliverable-task-name{color:var(--positive)}[data-theme=dark] .deliverable-task-link{background:transparent;border:0;color:var(--ink)}@media(max-width:500px){.task-pie-summary{gap:8px;padding:8px}.task-pie-chart{width:85px;flex-basis:85px}.task-pie-legend{grid-template-columns:1fr;gap:4px}.horizontal-timelines .deliverable-step{flex-basis:156px;width:156px}}

.tasks-with-chart{display:grid;grid-template-columns:minmax(0,1fr) 225px;gap:18px;align-items:start}.tasks-main-list{min-width:0}.tasks-chart-sidebar{min-width:0;padding-top:12px;position:sticky;top:12px}.tasks-chart-sidebar .task-pie-summary{flex-direction:column;align-items:stretch;margin:0;padding:14px 12px;gap:10px}.tasks-chart-sidebar .task-pie-chart{flex:0 0 auto;width:140px;align-self:center}.tasks-chart-sidebar .task-pie-content h3{font-size:12px}.tasks-chart-sidebar .task-pie-legend{grid-template-columns:1fr;gap:10px}.tasks-main-list .task-group-counts{font-size:10px}.tasks-main-list .task-group-title{min-width:0}.project-period-toolbar{align-items:center}.task-filter-controls .task-window-modes{align-self:center}@media(max-width:1050px){.tasks-with-chart{grid-template-columns:minmax(0,1fr)}.tasks-chart-sidebar{position:static;padding-top:0}.tasks-chart-sidebar .task-pie-summary{flex-direction:row;align-items:center}.tasks-chart-sidebar .task-pie-chart{width:100px;flex:0 0 100px}.tasks-chart-sidebar .task-pie-legend{grid-template-columns:repeat(2,minmax(110px,1fr))}}@media(max-width:500px){.tasks-chart-sidebar .task-pie-legend{grid-template-columns:1fr}}

/* Home projects: four full cards and an expandable current-month progress bar. */
.home-project-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:start}.home-project-card{min-width:0;border:1px solid var(--line);border-radius:10px;padding:14px;background:var(--panel)}.home-project-heading{display:flex;align-items:center;gap:10px;min-width:0;min-height:86px}.home-project-heading>div{min-width:0;flex:1}.home-project-heading .entity-logo,.home-project-heading .entity-initials{width:52px;height:52px;min-width:52px;padding:4px;border:0;border-radius:10px}.home-project-heading .entity-logo{background:#fff}.home-project-type{font-size:10px;color:var(--muted)}.home-project-heading h3{font-size:14px;line-height:1.3;margin:4px 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.home-project-heading small{display:block;font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-project-card .project-people{margin:12px 0;min-height:44px;padding:4px;gap:4px;flex-wrap:nowrap;overflow-x:auto}.home-project-card .member-avatar{width:30px;height:30px;min-width:30px;font-size:10px}.home-project-tasks>summary{display:block;cursor:pointer;list-style:none;padding:9px 0;border-radius:5px}.home-project-tasks>summary::-webkit-details-marker{display:none}.home-progress-heading{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--muted)}.home-progress-heading strong{font-size:12px;color:var(--ink)}.home-project-tasks .project-progress{margin:9px 0;height:9px;pointer-events:none}.home-progress-description{display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}.home-progress-arrow{transition:transform .15s}.home-project-tasks[open] .home-progress-arrow{transform:rotate(180deg)}.home-open-project{width:100%;margin-top:10px}.home-month-tasks{border-top:1px solid var(--line);padding-top:6px}.home-month-tasks ul{list-style:none;margin:0;padding:0}.home-month-tasks li{padding:10px 0;border-bottom:1px solid var(--line)}.home-month-tasks li:last-child{border-bottom:0}.home-task-heading small{display:block;font-size:10px;color:var(--muted);margin:5px 0}.home-task-title{border:0;padding:0;background:transparent;border-radius:0;color:var(--ink);font-size:12px;text-align:left;white-space:normal;overflow-wrap:anywhere;line-height:1.4;font-weight:550}.home-task-title:hover{background:transparent!important;text-decoration:underline}.home-month-tasks .task-assignees{margin:4px 0;font-size:10px}.home-month-tasks .task-assignee-avatar{width:23px;height:23px;min-width:23px}.home-month-tasks .task-inline-state{margin-top:5px}.home-month-tasks .empty{padding:14px 0;font-size:12px}[data-theme=dark] .home-task-title{background:transparent;border:0;color:var(--ink)}@media(max-width:1150px){.home-project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:950px){.home-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:540px){.home-project-grid{grid-template-columns:minmax(0,1fr)}}

/* Home: three financial blocks, followed by separate project groups. */
.home-finance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start;margin-bottom:20px}.home-finance-grid>.panel{padding:16px;margin:0}.home-finance-grid .panel-head{gap:8px;margin-bottom:10px}.home-finance-grid .panel-head button{font-size:11px;padding:4px}.home-finance-grid .panel-subtitle{font-size:10px;line-height:1.5;margin-bottom:12px}.home-finance-grid th{font-size:9px;letter-spacing:0;padding:7px 5px;white-space:normal}.home-finance-grid th:first-child{min-width:90px}.home-finance-grid td{padding:9px 5px;line-height:1.45;overflow-wrap:anywhere}.home-finance-grid .amount{font-size:10px;letter-spacing:-.2px}.home-finance-grid .note-area{font-size:10px;line-height:1.5;margin-top:10px}.home-result-highlights{display:flex;justify-content:space-between;gap:10px;padding:10px 0 13px;border-bottom:1px solid var(--line);margin-bottom:7px}.home-result-highlights>span{display:flex;flex-direction:column;gap:5px;font-size:10px;color:var(--muted)}.home-result-highlights strong{font-size:16px;font-weight:600;color:var(--ink)}.home-result-highlights strong.negative{color:var(--negative)}.home-close-status{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted);margin:0 0 16px;flex-wrap:wrap}.home-close-status>span:last-child{flex:1;min-width:180px}.home-pending-accounts{margin-top:16px;padding-top:13px;border-top:1px solid var(--line)}.home-pending-accounts>header{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:10px}.home-pending-accounts h3{font-size:13px;margin:0}.home-pending-accounts>header button{font-size:10px;padding:3px}.home-pending-totals{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}.home-pending-totals>span{display:flex;flex-direction:column;gap:4px;font-size:10px;color:var(--muted)}.home-pending-totals strong{font-size:12px}.home-pending-accounts ul{margin:0;padding:0;list-style:none;max-height:260px;overflow-y:auto;scrollbar-gutter:stable}.home-pending-accounts li{display:flex;justify-content:space-between;align-items:start;gap:8px;padding:9px 0;border-bottom:1px solid var(--line)}.home-pending-accounts li:last-child{border-bottom:0}.home-pending-accounts li>div{min-width:0}.home-pending-accounts li strong{display:block;font-size:11px;margin:3px 0;overflow-wrap:anywhere}.home-pending-accounts li small{display:block;font-size:10px;color:var(--muted);overflow-wrap:anywhere}.home-pending-accounts time{display:block;font-size:10px;color:var(--muted);margin-top:3px}.home-pending-accounts time.negative{color:var(--negative)}.home-pending-accounts .money{font-size:11px;margin-top:16px;white-space:nowrap}.home-due-kind{font-size:9px}.home-pending-caption{display:block;font-size:9px;color:var(--muted);margin-top:9px;line-height:1.5}.home-pending-accounts .empty{padding:14px 0;font-size:11px}.home-project-progress-toggle{display:block;width:100%;padding:9px 0;border:0;background:transparent;border-radius:5px;white-space:normal;text-align:left}.home-project-progress-toggle:hover{background:var(--soft)}.home-project-progress-toggle .project-progress{height:9px;margin:9px 0;pointer-events:none}.home-project-selected{border-color:var(--accent)}.home-expanded-project{margin-top:15px;border:1px solid var(--line);border-radius:9px;overflow:hidden}.home-expanded-project>header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 13px;background:var(--soft)}.home-expanded-project>header h3{font-size:13px;margin:0}.home-expanded-project>header button{font-size:11px;padding:3px 6px}.home-expanded-project table{font-size:12px;table-layout:fixed}.home-expanded-project th:first-child{width:40%;min-width:120px}.home-expanded-project th:nth-child(2){width:24%}.home-expanded-project th:nth-child(3){width:18%}.home-expanded-project th:nth-child(4){width:18%}.home-expanded-project td{padding:7px 10px}.home-expanded-project th{padding:8px 10px;font-size:9px;white-space:normal}.home-expanded-project .task-assignee{font-size:11px}.home-expanded-project .task-assignee-avatar{width:24px;height:24px;min-width:24px}.home-expanded-project .task-inline-state,.home-expanded-project .task-inline-date{font-size:11px;padding:5px 4px}.home-expanded-project .home-task-title{font-size:12px}.home-expanded-project .empty{padding:18px;font-size:12px}[data-theme=dark] .home-project-progress-toggle{background:transparent;border:0;color:var(--ink)}[data-theme=dark] .home-project-progress-toggle:hover{background:var(--soft)}@media(max-width:1200px){.home-finance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-finance-grid>.panel:last-child{grid-column:1/-1}}@media(max-width:760px){.home-finance-grid{grid-template-columns:minmax(0,1fr)}.home-finance-grid>.panel:last-child{grid-column:auto}.home-expanded-project table{min-width:580px}.home-expanded-project>header h3{font-size:12px}}

.home-business-indicators{gap:12px;margin-bottom:18px}.home-business-indicators .metric{padding:15px;min-height:108px}.home-business-indicators .metric .label{margin-bottom:10px;font-size:11px}.home-business-indicators .metric .value{font-size:23px}.home-business-indicators .metric .detail{font-size:10px;margin-top:7px}.business-chart-legend{display:flex;align-items:center;gap:18px;flex-wrap:wrap;font-size:11px;margin:6px 0 8px}.business-chart-legend>span{display:flex;gap:6px;align-items:center}.business-chart-legend i{display:inline-block;width:9px;height:9px;border-radius:3px}.business-sales-dot{background:#4389cf}.business-profit-dot{background:#25805e}.business-loss-dot{background:#c64545}.business-chart-legend>small{margin-left:auto;color:var(--muted)}.business-chart-scroll{overflow-x:auto}.business-chart-scroll svg{display:block;width:100%;min-width:660px;height:auto}.business-chart-grid{stroke:var(--line);stroke-width:1;stroke-dasharray:3 4}.business-chart-baseline{stroke:var(--muted);stroke-width:1}.business-chart-axis{fill:var(--muted);font-size:9px;font-variant-numeric:tabular-nums}.business-chart-missing{fill:var(--muted);font-size:12px}.business-sales{fill:#4389cf;stroke:#4389cf}.business-profit{fill:#25805e;stroke:#25805e}.business-loss{fill:#c64545;stroke:#c64545}.business-zero{stroke-width:2}.business-month-hit{fill:transparent;stroke:transparent}.business-chart-month{cursor:pointer}.business-chart-month:hover .business-month-hit,.business-chart-month:focus .business-month-hit{fill:var(--soft);stroke:var(--line)}.business-chart-month.selected .business-month-hit{stroke:var(--accent);stroke-width:1}.business-chart-month:focus{outline:none}.business-chart-month:focus-visible .business-month-hit{stroke:var(--accent);stroke-width:2}.business-chart-month.selected .business-chart-axis{fill:var(--ink);font-weight:650}.business-chart-scroll+.note-area{font-size:10px;line-height:1.5;margin-top:10px}

/* Financial overview: eight indicators in two rows, 40% / 60% split. */
.home-business-top{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:16px;align-items:stretch;margin-bottom:20px}.home-business-kpis,.home-business-chart{min-width:0}.home-business-kpis .home-business-indicators{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,minmax(130px,1fr));gap:8px;margin:0;height:100%}.home-business-kpis .metric{padding:12px 9px;min-width:0;min-height:0;border-radius:9px;display:flex;flex-direction:column}.home-business-kpis .metric .label{font-size:10px;line-height:1.4;min-height:28px;margin-bottom:9px;overflow-wrap:anywhere}.home-business-kpis .metric .value{font-size:17px;letter-spacing:-.5px;line-height:1.25;overflow-wrap:anywhere}.home-business-kpis .metric .detail{font-size:9px;line-height:1.4;margin-top:8px;overflow-wrap:anywhere}.home-business-chart>.panel{height:100%;margin:0;padding:17px}.home-business-chart .panel-head h2{font-size:16px}.home-business-chart .panel-subtitle{font-size:11px;margin-bottom:10px}.home-business-chart .business-chart-scroll svg{min-width:0}.home-business-chart .business-chart-legend{gap:11px;font-size:10px}.home-business-chart .business-chart-scroll{margin-top:14px}.home-business-chart .business-chart-scroll+.note-area{font-size:9px}@media(min-width:1201px){.home-business-chart .business-chart-scroll svg{min-height:190px}}@media(max-width:1200px){.home-business-top{grid-template-columns:minmax(0,1fr)}.home-business-kpis .home-business-indicators{grid-template-rows:repeat(2,minmax(110px,1fr))}.home-business-kpis .metric .value{font-size:21px}.home-business-chart .business-chart-scroll svg{min-width:600px}}@media(max-width:540px){.home-business-kpis .home-business-indicators{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto}.home-business-kpis .metric{min-height:115px}.home-business-chart .business-chart-scroll svg{min-width:580px}}

.contract-collection-totals{display:flex;gap:25px;flex-wrap:wrap;margin:10px 0 18px}.contract-collection-totals>span{display:flex;flex-direction:column;gap:6px;font-size:11px;color:var(--muted)}.contract-collection-totals strong{font-size:19px;color:var(--ink)}

/* Simplified dual-scale chart with direct values, and three financial rows. */
.home-finance-grid{grid-template-columns:minmax(0,1fr);gap:20px}.home-finance-grid>.panel:last-child{grid-column:auto}.home-finance-grid>.panel{padding:20px}.home-finance-grid .panel-head h2{font-size:17px}.home-finance-grid th{font-size:10px;padding:8px 9px}.home-finance-grid td{padding:9px}.home-finance-grid .amount{font-size:12px;letter-spacing:0}.home-pending-accounts ul{max-height:230px}.home-finance-grid .home-pending-accounts{max-width:none}.business-chart-value{fill:var(--ink);font-size:13px;font-weight:550;font-variant-numeric:tabular-nums}.business-chart-value.is-loss{fill:var(--negative)}.business-chart-month-label{fill:var(--muted);font-size:12px}.business-chart-month.selected .business-chart-month-label{fill:var(--ink);font-weight:650}.home-business-chart .business-chart-scroll+.note-area{font-size:10px;line-height:1.5}

/* Unified home range, 3x3 indicators and three equal-width financial reports. */
.home-period-controls{display:flex;align-items:center;gap:0;flex-wrap:wrap;margin:0 0 16px}.home-period-controls>button{font-size:12px;padding:7px 15px;border-radius:0}.home-period-controls>button:first-child{border-radius:7px 0 0 7px}.home-period-controls>button:nth-child(4){border-radius:0 7px 7px 0}.home-period-controls>button[aria-pressed=true]{background:var(--accent);color:var(--panel);border-color:var(--accent)}.home-period-controls>span{margin-left:12px;font-size:12px;color:var(--muted)}.home-business-kpis .home-business-indicators{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,minmax(122px,1fr))}.home-business-kpis .metric .label{min-height:26px;margin-bottom:7px}.home-business-kpis .metric .value{font-size:18px}.home-business-kpis .metric .detail{font-size:9px;margin-top:7px}.home-finance-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:18px}.home-finance-grid>.panel,.home-finance-grid>.panel:last-child{grid-column:auto;padding:15px;height:100%;margin:0}.home-finance-grid .panel-head{min-height:28px;gap:6px}.home-finance-grid .panel-head h2{font-size:16px}.home-finance-grid table{font-size:11px}.home-finance-grid th{font-size:9px;letter-spacing:0;padding:7px 4px}.home-finance-grid th:first-child{min-width:80px}.home-finance-grid td{padding:8px 4px}.home-finance-grid .amount{font-size:10px}.home-basis-note{font-size:11px;color:var(--muted);margin:0 0 18px;line-height:1.5}.home-chart-navigation{display:flex;align-items:center;gap:6px;white-space:nowrap}.home-chart-navigation>button{font-size:14px;padding:3px 7px}.home-chart-navigation>span{font-size:10px;color:var(--muted)}.home-business-chart .panel-head{flex-wrap:wrap}.business-projected-sales{fill:#8462c6;stroke:#8462c6}.business-projected-profit{fill:#bea8e9;stroke:#bea8e9}.business-projected-sales-dot{background:#8462c6}.business-projected-profit-dot{background:#bea8e9}.home-business-chart .business-chart-legend{gap:8px;font-size:10px}[data-theme=dark] .home-period-controls>button[aria-pressed=true]{color:#132c24;background:var(--accent)}@media(max-width:1000px){.home-finance-grid{grid-template-columns:minmax(0,1fr)}.home-finance-grid>.panel:last-child{grid-column:auto}.home-business-kpis .home-business-indicators{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,minmax(110px,1fr))}}@media(max-width:500px){.home-business-kpis .home-business-indicators{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto}.home-period-controls>span{flex-basis:100%;margin:8px 0 0}.home-chart-navigation>span{font-size:9px}}

/* User photos fill their circles, without a decorative white rim. */
.member-avatar,.team-person-avatar,.task-assignee-avatar,.profile-avatar{border:0;box-shadow:none;padding:0}.member-avatar.champion{box-shadow:0 0 0 2px #bc9353}.task-filter-buttons .person-filter{border:0;padding:0;background:transparent}.person-filter .task-assignee-avatar{width:36px;height:36px;min-width:36px}.task-filter-buttons .person-filter[aria-pressed=true]{box-shadow:0 0 0 2px var(--accent)}

/* More room for the monthly chart, with two columns of indicators. */
.home-business-top{grid-template-columns:minmax(260px,1fr) minmax(0,2fr);gap:22px}.home-business-kpis .home-business-indicators{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(5,minmax(96px,1fr));gap:10px}.home-business-kpis .metric{padding:12px}.home-business-kpis .metric .label{font-size:11px;min-height:0;margin-bottom:8px}.home-business-kpis .metric .value{font-size:21px;letter-spacing:-.4px}.home-business-chart>.panel{padding:22px}.home-business-chart .business-chart-scroll{margin-top:20px}.home-business-chart .business-chart-scroll svg{min-height:270px}.finance-cash-indicators{grid-template-columns:repeat(3,minmax(0,1fr))}.finance-service-ledger{margin:16px 0 20px;padding:15px;border:1px solid var(--line);border-radius:9px;background:var(--panel)}.finance-service-ledger>summary{font-size:12px;color:var(--muted);cursor:pointer}.finance-service-ledger>.table-wrap{margin-top:15px}.finance-service-ledger>.note-area{font-size:11px;color:var(--muted);margin-top:12px}@media(max-width:950px){.home-business-top{grid-template-columns:minmax(0,1fr)}.home-business-kpis .home-business-indicators{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto}.home-business-kpis .metric{min-height:105px}.home-business-chart .business-chart-scroll svg{min-width:600px}}@media(max-width:600px){.finance-cash-indicators{grid-template-columns:repeat(2,minmax(0,1fr))}.home-business-chart>.panel{padding:15px}}

.finance-module-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 20px}.finance-module-tabs>button{font-size:12px;padding:8px 11px}.finance-task-page [data-task-project-reset]{display:none}.finance-task-page .tasks-chart-sidebar{top:10px}@media(max-width:760px){.finance-module-tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px}.finance-module-tabs>button{flex-shrink:0}}

/* Projection rows unfold into customer/service or provider/concept trees. */
.budget-node-toggle{display:flex;align-items:flex-start;gap:5px;width:100%;border:0;border-radius:3px;background:transparent;color:var(--ink);padding:2px 0;font:inherit;font-weight:inherit;text-align:left;white-space:normal;line-height:1.4}.budget-node-toggle>span:first-child{flex:0 0 10px;font-size:13px;color:var(--muted);line-height:1.1}.budget-node-toggle>span:last-child,.budget-node-leaf{overflow-wrap:anywhere;text-transform:none;letter-spacing:0}.budget-node-toggle:hover{background:var(--soft)}.budget-node-leaf{display:block;padding-left:15px;font-weight:400}.budget-hierarchy-row.budget-depth-1>th{padding-left:11px}.budget-hierarchy-row.budget-depth-2>th{padding-left:20px}.budget-hierarchy-row.budget-depth-3>th{padding-left:29px}.budget-hierarchy-row.budget-depth-4>th{padding-left:38px}.budget-hierarchy-row.budget-depth-5>th{padding-left:47px}.annual-budget-table .budget-hierarchy-row td{font-weight:400}.annual-budget-table .budget-result-row td{font-weight:650}.budget-detail-monthly{width:100%;font-size:12px}.budget-detail-monthly th:first-child{width:42%;min-width:180px}.budget-detail-monthly td{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.budget-detail-monthly thead th{text-align:right}.budget-detail-monthly thead th:first-child{text-align:left}.budget-detail-monthly tbody th{text-transform:none;letter-spacing:0;font-size:12px;font-weight:500}.budget-detail-monthly .budget-hierarchy-row td,.budget-detail-monthly .budget-hierarchy-row th{padding-top:8px;padding-bottom:8px}.budget-detail-monthly .budget-result-row{font-weight:650;background:var(--soft)}[data-theme=dark] .budget-node-toggle{background:transparent;color:var(--ink);border:0}[data-theme=dark] .budget-node-toggle:hover{background:var(--soft)}

.home-period-controls>button:nth-child(4){border-radius:0}.home-period-controls>button:nth-child(5){border-radius:0 7px 7px 0}

/* Two rows of business indicators; full-width monthly chart underneath. */
.home-business-top{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}.home-business-kpis .home-business-indicators{display:grid;grid-template-columns:repeat(20,minmax(0,1fr));grid-template-rows:repeat(2,minmax(125px,auto));height:auto;gap:12px}.home-business-kpis .home-business-indicators>.metric{grid-column:span 4;min-height:125px;padding:15px}.home-business-kpis .home-business-indicators>.metric:nth-child(n+6){grid-column:span 5}.home-business-kpis .metric .label{font-size:12px;line-height:1.4;min-height:18px}.home-business-kpis .metric .value{font-size:24px;line-height:1.25}.home-business-kpis .metric .detail{font-size:10px;line-height:1.45}.home-business-chart>.panel{height:auto}.home-business-chart .business-chart-scroll svg{min-height:0;min-width:660px}.home-business-chart .business-chart-legend{font-size:12px;gap:16px}.home-business-chart .business-chart-scroll+.note-area{font-size:11px}@media(max-width:950px){.home-business-kpis .home-business-indicators{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto}.home-business-kpis .home-business-indicators>.metric,.home-business-kpis .home-business-indicators>.metric:nth-child(n+6){grid-column:auto;min-height:120px}}@media(max-width:600px){.home-business-kpis .home-business-indicators{grid-template-columns:repeat(2,minmax(0,1fr))}.home-business-kpis .metric .value{font-size:21px}}

/* Consistent headings and centered controls in the task filter row. */
.task-quick-filters{grid-template-columns:auto minmax(160px,1fr) minmax(230px,1.2fr);align-items:start;gap:16px}.task-period-filter,.task-quick-filters .task-filter-controls>label,.task-quick-filters .task-filter-icons{display:grid;grid-template-rows:14px 44px;row-gap:7px;align-items:start;min-width:0}.task-quick-filters .task-filter-label,.task-quick-filters .task-filter-controls>label{font-size:11px;line-height:14px;color:var(--muted)}.task-quick-filters .task-filter-label{padding:0;min-height:14px;text-align:center}.task-quick-filters .task-filter-controls{gap:10px;align-items:start;flex-wrap:nowrap}.task-period-filter .task-window-modes{height:40px;align-self:center;margin:0}.task-period-filter .task-window-modes>button{height:38px;min-height:38px;display:flex;align-items:center;justify-content:center}.task-quick-filters .task-filter-controls>label{text-align:center}.task-quick-filters .task-filter-controls select{height:40px;margin:2px 0;padding-top:7px;padding-bottom:7px}.task-quick-filters .task-filter-controls>.task-reset{height:40px;margin:23px 0 2px;align-self:start}.task-quick-filters .task-filter-buttons{display:flex;align-items:center;justify-content:flex-start;gap:7px;height:44px;padding:3px;min-width:0;flex-wrap:nowrap}.task-quick-filters .task-filter-buttons>button{margin-top:0;margin-bottom:0;align-self:center;height:36px;flex-shrink:0}.task-quick-filters .task-filter-buttons>button:first-child{margin-left:auto}.task-quick-filters .task-filter-buttons>button:last-child{margin-right:auto}.task-quick-filters .person-filter,.task-quick-filters .type-filter{display:inline-flex;align-items:center;justify-content:center}.task-quick-filters .person-filter .task-assignees,.task-quick-filters .person-filter .task-assignee{display:flex;align-items:center;justify-content:center;gap:0}.task-quick-filters .type-filter svg{display:block;flex-shrink:0}@media(max-width:1100px){.task-quick-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.task-quick-filters .task-filter-controls{grid-column:1/-1;justify-content:center}}@media(max-width:650px){.task-quick-filters{grid-template-columns:minmax(0,1fr);gap:13px}.task-quick-filters .task-filter-controls{gap:8px;flex-wrap:wrap;justify-content:center}}

/* Ten business indicators: two equal rows of five on desktop. */
.home-business-kpis .home-business-indicators>.metric:nth-child(n+6){grid-column:span 4}@media(max-width:950px){.home-business-kpis .home-business-indicators>.metric:nth-child(n+6){grid-column:auto}}

/* Paired rows: real figures followed by the same five projected figures. */
.home-indicator-section+.home-indicator-section{margin-top:18px}.home-indicator-section>header{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-bottom:10px}.home-indicator-section>header h2{font-size:15px;margin:0}.home-indicator-section>header>span{font-size:11px;color:var(--muted)}.home-indicator-section-projected>header h2{color:#8462c6}.home-business-kpis .home-business-indicators{grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:auto;height:auto;margin:0;gap:12px}.home-business-kpis .home-business-indicators>.metric,.home-business-kpis .home-business-indicators>.metric:nth-child(n+6){grid-column:auto;min-height:130px}.home-indicator-section-projected .metric{border-top:2px solid #ad94d7}.home-indicator-section-real .metric{border-top:2px solid var(--accent)}[data-theme=dark] .home-indicator-section-projected>header h2{color:#c5aff0}@media(max-width:950px){.home-business-kpis .home-business-indicators{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){.home-business-kpis .home-business-indicators{grid-template-columns:repeat(2,minmax(0,1fr))}.home-indicator-section>header{gap:5px}.home-indicator-section>header>span{flex-basis:100%}}

/* Six matching indicators per row, including the expense total and exclusions. */
.home-business-kpis .home-business-indicators{grid-template-columns:repeat(6,minmax(0,1fr))}.home-business-kpis .metric .value{font-size:clamp(18px,1.6vw,24px)}.home-business-kpis .home-business-indicators>.metric{min-height:145px}.home-business-kpis .metric .detail{line-height:1.5}@media(max-width:1100px){.home-business-kpis .home-business-indicators{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Hierarchy inside home KPI amounts: smaller currency and decimal digits. */
.home-business-kpis .indicator-number{display:inline-flex;align-items:baseline;gap:0;white-space:nowrap;line-height:1.2;font-variant-numeric:tabular-nums}.home-business-kpis .indicator-currency{font-size:.48em;font-weight:500;letter-spacing:0;margin-right:4px}.home-business-kpis .indicator-integer{font-size:1em;letter-spacing:inherit}.home-business-kpis .indicator-decimal{font-size:.55em;font-weight:500;letter-spacing:0;margin-left:1px}.home-business-kpis .indicator-unit{font-size:.58em;font-weight:500;margin-left:2px}

/* Two financial panels, then full-width real/projected contribution by client. */
.home-finance-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.home-finance-grid>.panel:last-child{grid-column:1/-1}.home-finance-grid .client-contribution-table{font-size:12px;min-width:880px}.home-finance-grid .client-contribution-table th{padding:9px 7px;font-size:10px;text-align:right;white-space:normal}.home-finance-grid .client-contribution-table td{padding:10px 7px}.home-finance-grid .client-contribution-table th:first-child,.home-finance-grid .client-contribution-table td:first-child{text-align:left;min-width:155px}.home-finance-grid .client-contribution-table .amount{font-size:12px}.client-contribution-table .contribution-bands th{text-align:center;font-size:12px}.client-contribution-table .contribution-bands th:first-child{text-align:left}.contribution-real{background:var(--soft);color:var(--positive)}.contribution-projected{background:#f0ebf9;color:#6e4fa6}.client-contribution-table tbody td:nth-child(6),.client-contribution-table thead tr:nth-child(2) th:nth-child(5){border-left:2px solid var(--line)}.client-contribution-table .contribution-unassigned td:first-child{color:var(--muted)}.client-contribution-table td small{font-size:10px;max-width:220px}.client-contribution-table .contribution-percent{font-variant-numeric:tabular-nums}[data-theme=dark] .contribution-projected{background:#352c46;color:#d1b8ff}@media(max-width:900px){.home-finance-grid{grid-template-columns:minmax(0,1fr)}.home-finance-grid>.panel:last-child{grid-column:auto}}

/* Center statement/flow titles and numeric headings over their figures. */
.home-finance-grid>.panel:nth-child(-n+2)>.panel-head{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center}.home-finance-grid>.panel:nth-child(-n+2)>.panel-head>h2{grid-column:2;text-align:center}.home-finance-grid>.panel:nth-child(-n+2)>.panel-head>button{grid-column:3;justify-self:end}.home-finance-grid>.panel:nth-child(-n+2)>.panel-subtitle{text-align:center}.home-finance-grid>.panel:nth-child(-n+2) table thead th:not(:first-child),.home-finance-grid>.panel:nth-child(-n+2) table td.amount{text-align:center}

/* Client contribution on the left: real above projected; pending accounts right. */
.home-contribution-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:22px;align-items:start}.home-contribution-clients,.home-contribution-pending{min-width:0}.client-contribution-sections{display:grid;gap:20px}.contribution-block>h3{margin:0;padding:9px 12px;font-size:13px;border-radius:7px 7px 0 0}.home-finance-grid .contribution-split-table{min-width:520px;width:100%;table-layout:fixed}.home-finance-grid .contribution-split-table th:first-child,.home-finance-grid .contribution-split-table td:first-child{width:34%;min-width:140px}.home-finance-grid .contribution-split-table th,.home-finance-grid .contribution-split-table td{padding:9px 6px}.home-finance-grid .contribution-split-table th:not(:first-child){width:16.5%}.home-contribution-pending{border-left:1px solid var(--line);padding-left:20px}.home-contribution-pending .home-pending-accounts{margin:0;padding:0;border:0}.home-contribution-pending .home-pending-accounts>header{min-height:32px;margin-bottom:8px}.home-contribution-pending .home-pending-accounts ul{max-height:430px}.home-contribution-pending .home-pending-accounts h3{font-size:14px}@media(max-width:1050px){.home-contribution-layout{grid-template-columns:minmax(0,1fr)}.home-contribution-pending{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:18px}}

.client-cost-row{border:1px solid var(--line);border-radius:9px;padding:14px;margin:12px 0}.client-cost-row>small{display:block;font-size:11px;line-height:1.5;color:var(--muted);margin-top:12px}.client-cost-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.client-cost-row .form-grid{gap:12px}.client-cost-row input,.client-cost-row select{max-width:100%}

/* Private independent monthly calculation sheet. */
.financial-sheet-row{display:grid;grid-template-columns:minmax(130px,1fr) minmax(180px,2fr) minmax(125px,1fr) auto;gap:10px;align-items:end;margin-bottom:12px}
.financial-sheet-row .small-button{margin-bottom:2px}
.financial-sheet-result{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-top:20px;padding:16px;border:1px solid var(--border);border-radius:12px}
.financial-sheet-result small,.financial-sheet-result strong{display:block}
.financial-sheet-result strong{font-size:1.2rem;margin-top:6px}
@media(max-width:650px){.financial-sheet-row{grid-template-columns:1fr 1fr}.financial-sheet-row .field:nth-child(2){grid-column:1/-1;grid-row:1}}

.financial-sheet-row{grid-template-columns:minmax(115px,1fr) minmax(130px,1fr) minmax(150px,1.5fr) minmax(110px,1fr) auto}
@media(max-width:900px){.financial-sheet-row{grid-template-columns:1fr 1fr}.financial-sheet-row .field:nth-child(3){grid-column:1/-1}.financial-sheet-row .field:nth-child(2){grid-column:auto;grid-row:auto}}

.agreement-edit-actions{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.monthly-agreements-table thead th{vertical-align:middle;text-align:left}.monthly-agreements-table thead th:not(:first-child){min-width:150px}.monthly-agreements-table th small{display:block;font-size:.72rem;font-weight:400;margin-top:4px}.monthly-agreements-table .agreement-detail th{padding-left:24px;font-weight:400}.monthly-agreements-table .agreement-subtotal th{font-weight:600}.monthly-agreements-table .agreement-profit th,.monthly-agreements-table .agreement-profit td{border-top:2px solid var(--border);font-weight:700}.agreement-notes{margin-top:12px}.agreement-notes p{white-space:pre-wrap}

.monthly-agreements-table .agreement-reference{border-left:1px solid var(--border);border-right:1px solid var(--border);background:var(--surface-soft,var(--surface))}.monthly-agreements-table td.agreement-reference small{display:block;white-space:normal;font-size:.72rem;font-weight:400;color:var(--muted);margin-top:3px}

.eerr-table thead th{vertical-align:middle;text-align:left}.eerr-table th:first-child{width:60%}.eerr-table td{white-space:nowrap}.eerr-table .eerr-group th{padding-left:24px;font-weight:500}.eerr-table .eerr-concept th{padding-left:44px;font-weight:400}

.home-business-kpis .home-business-indicators{grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:auto}.contributions-detail{margin-top:14px}.contributions-detail>summary{cursor:pointer;font-size:13px;font-weight:600}.contributions-detail .table-wrap{margin-top:12px}@media(max-width:1000px){.home-business-kpis .home-business-indicators{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){.home-business-kpis .home-business-indicators{grid-template-columns:repeat(2,minmax(0,1fr))}}

.finance-summary-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.balance-control{margin:18px 0;padding:14px 0;border-top:1px solid var(--line)}.balance-control>summary{cursor:pointer;font-weight:600}.balance-control .table-wrap{margin-top:14px}

.cashless-activity{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.cashless-activity p strong{font-size:13px}.cashless-activity .note-area{font-size:11px}.cashless-activity table{font-size:12px}

.bank-flow-detail{margin-top:14px}.bank-flow-detail>summary{cursor:pointer;font-size:12px;font-weight:600}.bank-flow-detail .table-wrap{margin-top:12px}

.financial-period-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}.financial-period-toolbar>.home-period-controls{margin:0;flex:1 1 auto}.financial-view-switch{margin-left:auto;flex:0 0 auto}.financial-view-switch>.tabs-inline{margin:0;flex-wrap:nowrap}.financial-view-switch button{font-size:12px;padding:7px 12px}

.statements-tabs{margin-bottom:14px}.statements-period-caption{font-size:12px;color:var(--muted);margin:0 0 15px}.financial-period-toolbar{align-items:center}.financial-period-toolbar .home-period-controls{min-width:0}.financial-period-toolbar .home-period-controls>span{font-size:11px}

/* Keep the three stacked statements on the same column axes. */
.income-settlement-note{font-size:12px;line-height:1.6;padding:10px 0;margin:10px 0 14px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted)}.income-settlement-note strong{font-weight:600;color:var(--ink)}

/* Una operación por fila; pagos vinculados dentro de su concepto. */
.unified-movements table{font-size:12px}.unified-movements th,.unified-movements td{vertical-align:top}.unified-movements td:nth-child(2){min-width:210px}.unified-movements td:last-child{min-width:155px}.unified-movements .row-actions{display:flex;flex-wrap:wrap;gap:5px}.movement-payment-detail{margin-top:7px;font-size:11px}.movement-payment-detail summary{cursor:pointer;color:var(--accent)}.movement-payment-entry{padding:7px 0;border-bottom:1px solid var(--line);display:flex;gap:8px;flex-wrap:wrap}.movement-payment-entry small{display:block}.movement-payment-entry .row-actions{margin-top:4px}

.accounts-state-guide{padding:10px 14px;margin:12px 0;border:1px solid var(--line);border-radius:10px;background:var(--panel);font-size:12px}.accounts-state-guide summary{cursor:pointer;font-weight:600}.accounts-state-guide dl{display:grid;grid-template-columns:145px 1fr;gap:8px 14px;margin:12px 0}.accounts-state-guide dt{font-weight:600}.accounts-state-guide dd{margin:0}.accounts-state-guide p{margin:8px 0 0;line-height:1.5}@media(max-width:600px){.accounts-state-guide dl{grid-template-columns:1fr;gap:4px}.accounts-state-guide dd{margin-bottom:8px}}

.accounts-overview{display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,1fr);gap:18px;align-items:start;margin:12px 0 18px}.accounts-overview>.cards{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.accounts-filter-panel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.accounts-filter-panel label{display:flex;flex-direction:column;gap:7px;font-size:12px;min-width:0}.accounts-filter-panel select{width:100%;min-width:0}.account-state{display:inline-block;border-radius:999px;padding:4px 9px;font-size:11px;font-weight:600;white-space:nowrap}.account-state-ok{color:#17613d;background:#e2f3e9}.account-state-pending{color:#a12626;background:#fde8e8}.account-state-scheduled{color:#225c9b;background:#e6effb}.account-state-enable{color:#975214;background:#fff0dd}.accounts-state-guide{margin-top:18px}.accounts-state-guide h3{margin:0 0 10px;font-size:13px}[data-theme=dark] .account-state-ok{color:#9ce3b8;background:#1b3e2c}[data-theme=dark] .account-state-pending{color:#ffb0b0;background:#512b2b}[data-theme=dark] .account-state-scheduled{color:#a9d0ff;background:#233d5a}[data-theme=dark] .account-state-enable{color:#ffd09c;background:#51391f}@media(max-width:1050px){.accounts-overview{grid-template-columns:1fr}.accounts-filter-panel{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){.accounts-filter-panel{grid-template-columns:1fr}.accounts-overview>.cards{grid-template-columns:1fr}}

.service-agreements-client{margin:16px 0}.service-agreements-client>header{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.service-agreements-client h3{font-size:14px}.service-agreement-fields{border:1px solid var(--line);border-radius:10px;padding:14px;min-width:0}.service-agreement-fields legend{font-size:13px;font-weight:600}

#service-agreement-rows>.service-agreement-fields{margin:0 0 14px}#add-service-agreement{margin:4px 0 12px}

.contract-editor-row{display:flex;align-items:center;gap:12px;margin:10px 0}.contract-editor-row>.field{flex:1}.contract-account-tree{border:1px solid var(--line);padding:12px;border-radius:10px;margin:12px 0}.contract-account-tree>summary{cursor:pointer;display:flex;gap:12px;align-items:center}.contract-project-tree{margin:10px 0 10px 10px;padding:10px;border-left:2px solid var(--accent)}.contract-project-tree>summary{font-weight:600;cursor:pointer}.contract-project-tree>details{margin:12px 0}.contract-project-tree>details>summary{cursor:pointer;font-weight:600;margin-bottom:8px}.contract-contribution{font-weight:600}.contract-contribution small{display:block;font-weight:400;margin-top:5px}

.contract-client-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:6px 0 18px}.contract-client-card{display:flex;align-items:center;gap:13px;text-align:left;min-width:0;padding:17px;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--ink);cursor:pointer}.contract-client-card:hover,.contract-client-card.is-open{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.contract-client-card-text{display:flex;flex-direction:column;gap:6px;min-width:0}.contract-client-card-text>strong{font-size:14px}.contract-client-card-text>span,.contract-client-card-text>small{font-size:11px;color:var(--muted)}.contracts-client-detail{margin-top:16px}.contracts-client-detail>header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.contracts-client-detail>header h3{font-size:16px}.contract-simulator{margin-top:20px}.contract-simulator>summary{font-size:14px;font-weight:600;padding:13px 0;cursor:pointer}@media(max-width:1050px){.contract-client-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.contract-client-grid{grid-template-columns:1fr}}

/* Cliente completo como caja; ramas financieras y detalles compactos. */
.compact-contract-clients{display:flex;flex-direction:column;gap:12px}.contract-client-box{border:1px solid var(--line);border-radius:12px;background:var(--panel);overflow:hidden}.contract-client-box>summary{display:flex;align-items:center;gap:12px;padding:13px 15px;cursor:pointer;list-style:none}.contract-client-box>summary::-webkit-details-marker{display:none}.contract-client-box>summary::after{content:'›';margin-left:auto;font-size:19px}.contract-client-box[open]>summary::after{content:'⌄'}.contract-client-box>summary>strong{font-size:14px}.compact-client-count{font-size:11px;color:var(--muted)}.contract-client-body{padding:0 14px 12px}.compact-client-actions{display:flex;justify-content:flex-end;margin:0 0 5px}.compact-contract-group{margin:3px 0}.compact-contract-group>summary{cursor:pointer;padding:7px 4px;font-size:13px;font-weight:600}.compact-contract-group>summary>span{font-weight:400;font-size:11px;color:var(--muted);margin-left:6px}.compact-contract-group table{font-size:11px;min-width:620px}.compact-contract-group th,.compact-contract-group td{padding:5px 7px;vertical-align:middle}.compact-contract-group tbody td,.compact-contract-group tbody th,.compact-simulator-table tbody td,.compact-simulator-table tbody th{border:0!important}.compact-contract-group .table-wrap{margin:0}.compact-row-project{color:var(--muted);font-size:10px}.compact-row-person{font-size:10px;color:var(--muted)}.compact-contract-scope{display:inline-block;font-size:10px;margin-left:5px}.compact-contract-scope>summary{cursor:pointer;color:var(--accent);display:inline}.compact-contract-scope>p{font-size:11px;font-weight:400;white-space:normal;max-width:620px;margin:4px 0;line-height:1.4}.compact-contract-group td>.status{padding:2px 6px;font-size:10px}.compact-contract-management,.compact-contract-review{margin:8px 4px 0;font-size:11px}.compact-contract-management>summary,.compact-contract-review>summary{cursor:pointer;color:var(--muted)}.compact-contract-control{display:flex;gap:9px;align-items:center;flex-wrap:wrap;padding:4px 0}.compact-contract-control>span:first-child{flex:1;min-width:160px}.compact-contract-footnote{font-size:11px;color:var(--muted);margin:10px 0 0}.compact-simulator-table th,.compact-simulator-table td{padding:5px 8px;vertical-align:middle;font-size:11px}.compact-simulator-table small{font-size:10px;margin-top:1px}.compact-simulator-table .agreement-detail th{font-weight:400}.simulator-category-toggle{padding:2px 0;background:none;border:0;color:inherit;display:inline-flex;align-items:center;gap:6px;font:inherit;font-weight:600;cursor:pointer}.compact-simulator-table .agreement-detail td,.compact-simulator-table .agreement-detail th{padding-top:4px;padding-bottom:4px}.compact-simulator-table .agreement-subtotal th,.compact-simulator-table .agreement-subtotal td{padding-top:7px;padding-bottom:7px}@media(max-width:600px){.compact-client-count{display:none}.contract-client-box>summary{padding:11px}.contract-client-body{padding-left:8px;padding-right:8px}}

.compact-contract-group td:nth-last-child(2),.compact-contract-group td:last-child{white-space:nowrap}.compact-contract-state-action{font-size:10px;padding:4px 7px}.compact-contract-group table{min-width:740px}

.contract-client-box>summary>.contract-header-edit{margin-left:auto;flex-shrink:0;white-space:nowrap;font-size:11px;padding:5px 9px}.contract-client-box>summary::after{margin-left:0;flex-shrink:0}.contract-client-box>summary>strong{min-width:0;overflow-wrap:anywhere}

.simulator-edit-value{border:0;background:transparent;color:inherit;font:inherit;cursor:text;padding:2px 4px;margin:-2px -4px;text-align:right;white-space:nowrap;border-radius:4px}.simulator-edit-value:hover,.simulator-edit-value:focus-visible{background:var(--soft);outline:1px solid var(--accent)}.simulator-inline-input{width:104px;max-width:100%;min-width:75px;padding:3px 5px!important;margin:-2px 0;text-align:right;font:inherit;border:1px solid var(--accent);border-radius:4px;color:var(--ink);background:var(--panel)}.simulator-inline-input:invalid{outline:1px solid #bb3030}.simulator-inline-help{font-size:11px;color:var(--muted);margin:7px 0 12px}.simulator-cell-parts>summary{cursor:pointer}.simulator-cell-part{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:10px}.compact-simulator-table td[data-simulator-total],.compact-simulator-table td[data-simulator-row-total]{cursor:default}

.compact-contract-group>summary{position:relative;padding-right:240px}.contract-branch-total{position:absolute;right:6px;top:7px;font-size:12px;white-space:nowrap}.contract-branch-total>span{font-weight:600}.contract-budget-separator{font-weight:400;color:var(--muted)}.contract-budget-balance{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px;padding:9px 5px 3px}.contract-budget-basis{font-size:10px;color:var(--muted);margin:3px 5px 8px}.contract-budget-basis .positive,.contract-budget-basis .negative{font-weight:600}@media(max-width:700px){.compact-contract-group>summary{padding-right:0}.contract-branch-total{position:static;display:block;padding:3px 0 0 15px;white-space:normal}.contract-budget-balance{align-items:flex-start}.contract-budget-balance>strong:last-child{text-align:right}}

.unified-period-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.period-month-navigation{display:inline-flex;align-items:center;gap:5px;padding:2px 0}.period-month-navigation>input[type=month]{width:180px;max-width:100%;padding:7px 9px;font-size:12px;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:7px}.period-month-navigation>button{padding:7px 10px;min-width:32px;font-size:15px}.period-range-options{display:inline-flex;gap:5px;align-items:center}.period-range-caption{font-size:11px;color:var(--muted)}.task-window-modes{display:none}.task-period-filter .unified-period-controls{margin:0}.task-filter-controls .task-period-filter{min-width:0;flex:1 1 auto}.task-filter-controls .period-range-caption{display:none}.project-period-toolbar>.unified-period-controls{margin:0}.team-dashboard .team-chart-heading{margin-top:10px}@media(max-width:700px){.unified-period-controls{gap:7px}.period-month-navigation>input[type=month]{width:155px}.period-range-options{flex-wrap:wrap}.period-range-caption{flex-basis:100%}}

/* Controles de período: altura común y rangos unidos. */
.unified-period-controls{--period-height:36px;gap:12px}.period-month-navigation{gap:4px;padding:0}.period-month-navigation>button,.period-month-field,.period-range-options>button{height:var(--period-height,36px);box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;margin:0;font-size:12px;line-height:1;padding:0 12px}.period-month-navigation>button{min-width:36px;font-size:16px}.period-month-field{position:relative;min-width:174px;border:1px solid var(--line);border-radius:7px;background:var(--panel);color:var(--ink);overflow:hidden;cursor:pointer;font-weight:400}.period-month-field>span{pointer-events:none;white-space:nowrap}.period-month-field>input[type=month]{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;opacity:0;cursor:pointer;box-sizing:border-box}.period-month-field input::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;cursor:pointer}.period-month-field:focus-within{outline:2px solid var(--accent);outline-offset:2px}.period-range-options{gap:0;flex-wrap:nowrap;border-radius:8px;isolation:isolate}.period-range-options>button{border-radius:0;min-width:54px;white-space:nowrap}.period-range-options>button+button{margin-left:-1px}.period-range-options>button:first-child{border-radius:8px 0 0 8px}.period-range-options>button:last-child{border-radius:0 8px 8px 0}.period-range-options>button[aria-pressed=true]{position:relative;z-index:1;background:var(--accent);border-color:var(--accent);color:var(--panel)}[data-theme=dark] .period-range-options>button[aria-pressed=true]{color:#132c24}.recovery-plan{border:1px solid var(--line);border-radius:10px;background:var(--panel);margin:10px 0;overflow:hidden}.recovery-plan>summary{display:flex;align-items:center;gap:12px;padding:15px;cursor:pointer;font-weight:600}.recovery-plan>summary::before{content:'›';font-size:20px;line-height:1}.recovery-plan[open]>summary::before{transform:rotate(90deg)}.recovery-plan-total{margin-left:auto;font-size:13px;white-space:nowrap}.recovery-plan-body{padding:0 15px 15px}.recovery-plan-body>.panel{border:0;padding:0;margin:0;box-shadow:none}@media(max-width:700px){.period-month-field{min-width:155px}.period-range-options>button{padding:0 10px;min-width:48px}}

/* Ingresos y costos comparten la misma cuadrícula de columnas. */
.compact-contract-group table{table-layout:fixed;width:100%;min-width:780px}.compact-contract-group th,.compact-contract-group td{vertical-align:middle;text-align:left;overflow-wrap:anywhere}.compact-contract-group th:nth-child(1){width:36%}.compact-contract-group th:nth-child(2){width:10%;text-align:right}.compact-contract-group th:nth-child(3){width:9%}.compact-contract-group th:nth-child(4){width:16%}.compact-contract-group th:nth-child(5){width:11%}.compact-contract-group th:nth-child(6){width:18%}.compact-contract-group td:nth-child(2){text-align:right}.compact-contract-group td:nth-child(4){white-space:nowrap;overflow-wrap:normal}

.contract-header-income{display:inline-flex;align-items:center;gap:7px;margin-left:auto;font-size:12px;white-space:nowrap}.contract-header-income>span{font-size:11px;color:var(--muted)}.contract-header-income>strong{font-size:13px;font-weight:600}.contract-client-box>summary>.contract-header-edit{margin-left:8px}@media(max-width:700px){.contract-client-box>summary{flex-wrap:wrap}.contract-header-income{margin-left:0}.contract-client-box>summary>.contract-header-edit{margin-left:auto}}

.contract-header-balance{display:inline-flex;align-items:center;gap:7px;font-size:12px;white-space:nowrap}.contract-header-balance>span{font-size:11px;color:var(--muted)}.contract-header-balance>strong{font-size:13px;font-weight:600}.contracts-grand-total{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:15px;margin-top:14px;border-top:1px solid var(--line);background:var(--panel);border-radius:8px}.contracts-grand-total>span{display:flex;align-items:center;gap:9px;font-size:12px}.contracts-total-note{font-size:11px;color:var(--muted);margin:7px 0}

.contract-client-subtotal{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 4px;margin-top:5px;border-top:1px solid var(--line);font-size:12px}

.account-state-expected{color:#975214;background:#fff0dd}[data-theme=dark] .account-state-expected{color:#ffd09c;background:#51391f}

.statement-display-controls{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.statement-display-controls>.tabs-inline{margin:0;flex-wrap:nowrap}.statement-display-controls button{min-height:36px}.financial-view-switch .statement-display-controls{justify-content:flex-end}

.compact-statement-table th,.compact-statement-table td{vertical-align:middle;padding-top:8px;padding-bottom:8px}.statement-summary-row>th{font-weight:600}.statement-extra-notes{margin-top:12px;font-size:11px;color:var(--muted)}.statement-extra-notes>summary{cursor:pointer;padding:5px 0}.statement-extra-notes>.note-area{margin:7px 0}.compact-statement-table .budget-depth-1>th{font-weight:400}

/* Presentación uniforme de los tres estados financieros. */
.financial-statement-panel{padding:20px 22px!important;margin-bottom:20px!important}.financial-statement-panel>.panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:12px}.financial-statement-panel>.panel-head h2{font-size:17px;font-weight:600;letter-spacing:-.2px;text-transform:none;margin:0}.statement-heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-left:auto}.statement-heading-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.statement-period{font-size:11px;color:var(--muted);margin-right:4px}.statement-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:6px;font-size:10px;font-weight:600;line-height:1.2;white-space:nowrap}.statement-badge-real,.statement-badge-closed{background:#e7f3ec;color:#246b49}.statement-badge-projection{background:#e8effc;color:#315f9c}.statement-badge-preliminary{background:#fff1da;color:#8b5b16}[data-theme=dark] .statement-badge-real,[data-theme=dark] .statement-badge-closed{background:#233e32;color:#a3dab8}[data-theme=dark] .statement-badge-projection{background:#253b57;color:#aecdf4}[data-theme=dark] .statement-badge-preliminary{background:#49391e;color:#efd09a}
.financial-statement-panel table{font-variant-numeric:tabular-nums}.financial-statement-panel .eerr-table{width:100%;table-layout:fixed;font-size:12px}.financial-statement-panel .eerr-table thead th:first-child{width:64%;text-align:left}.financial-statement-panel .eerr-table thead th:not(:first-child){text-align:right}.financial-statement-panel .eerr-table th,.financial-statement-panel .eerr-table td{padding:9px 10px;vertical-align:middle;line-height:1.4;font-size:12px;text-transform:none;letter-spacing:0}.financial-statement-panel .eerr-table tbody th{font-weight:400;text-align:left}.financial-statement-panel .eerr-table td{text-align:right;font-weight:400;white-space:nowrap}.financial-statement-panel .eerr-table .total-row th,.financial-statement-panel .eerr-table .total-row td{font-weight:400;background:transparent;border-top:1px solid var(--line)}.financial-statement-panel .eerr-table .total-row th{font-weight:600}.financial-statement-panel .eerr-table .statement-result-row th,.financial-statement-panel .eerr-table .statement-result-row td,.financial-statement-panel .annual-budget-table .statement-result-row th,.financial-statement-panel .annual-budget-table .statement-result-row td{background:var(--paper);font-weight:650;border-top:2px solid var(--line);padding-top:11px;padding-bottom:11px}.financial-statement-panel .statement-result-positive td{color:var(--positive)}.financial-statement-panel table .negative{color:var(--negative)!important}.financial-statement-panel table .positive{color:var(--positive)!important}.financial-statement-panel .statement-balance-total th,.financial-statement-panel .statement-balance-total td{background:var(--paper)!important;border-top:1px solid var(--line)}
.financial-statement-panel .budget-node-toggle{align-items:center;gap:7px;min-height:24px;border-radius:5px;padding:3px 0}.financial-statement-panel .budget-node-toggle>span:first-child{display:inline-flex;align-items:center;justify-content:center;flex-basis:14px;width:14px;height:16px;font-size:16px;line-height:1}.financial-statement-panel .budget-node-leaf{padding-left:21px}.financial-statement-panel .budget-depth-4>th{padding-left:82px}.financial-statement-panel .budget-depth-5>th{padding-left:100px}.financial-statement-panel .note-area{font-size:11px;line-height:1.5;color:var(--muted);margin:8px 0}.financial-statement-panel .income-settlement-note{padding:9px 11px;border:1px solid var(--line);border-radius:8px;background:transparent;font-size:11px;line-height:1.5;margin:10px 0 14px}.financial-statement-panel .statement-extra-notes{border-top:1px solid var(--line);padding-top:7px;margin-top:13px}.financial-statement-panel .statement-extra-notes>summary{color:var(--muted);font-size:11px}.statement-alert{border-left:3px solid #bf852e;background:var(--warm);padding:9px 11px;border-radius:4px;font-size:12px;margin:8px 0 12px;color:var(--ink)}
.financial-statement-panel .annual-budget-table tbody th,.financial-statement-panel .annual-budget-table tbody td{font-size:11px;vertical-align:middle;padding-top:8px;padding-bottom:8px;font-weight:400}.financial-statement-panel .annual-budget-table .total-row th{font-weight:600}.financial-statement-panel .annual-budget-table .total-row td{font-weight:400}.financial-statement-panel .annual-budget-table.budget-month-view{--annual-concept-width:200px;width:max(100%,calc(200px + var(--statement-month-count)*76px + var(--statement-total-count)*100px));min-width:0;table-layout:fixed}.financial-statement-panel .budget-month-view col.budget-stable-concept{width:200px}.financial-statement-panel .budget-month-view col.budget-stable-month{width:76px}.financial-statement-panel .budget-month-view col.budget-stable-total{width:100px}.financial-statement-panel .budget-month-view thead th.budget-month-heading{width:76px;min-width:76px;max-width:76px;padding-left:4px;padding-right:4px}.financial-statement-panel .budget-month-view td.budget-number{font-size:10px;min-width:76px;padding-left:4px;padding-right:4px}.financial-statement-panel .budget-month-view th.budget-fixed-concept{min-width:200px;max-width:200px;width:200px}.financial-statement-panel .budget-fixed-concept{position:sticky;left:0;background:var(--panel);z-index:1}.financial-statement-panel thead .budget-fixed-concept{z-index:3}.financial-statement-panel .budget-band-real,.financial-statement-panel .budget-band-projection{border-bottom:0}.financial-statement-panel .annual-toolbar{margin-bottom:9px}.financial-statement-panel .annual-toolbar>span{display:none}@media(max-width:700px){.financial-statement-panel{padding:15px!important}.statement-heading-actions{margin-left:0;justify-content:flex-start;flex-basis:100%}.statement-period{font-size:10px}.financial-statement-panel .eerr-table thead th:first-child{width:65%}.financial-statement-panel .eerr-table th,.financial-statement-panel .eerr-table td{padding-left:6px;padding-right:6px;font-size:11px}}

/* BHMS: ritmo compacto, lectura y navegación comunes. */
:root{--text-body:14px;--text-table:13px;--text-label:12px;--text-note:12px}body{font-size:var(--text-body)}[hidden]{display:none!important}.shell{grid-template-columns:220px minmax(0,1fr)}.workspace{padding:22px 26px;max-width:1500px}.topbar{height:62px;padding:0 26px}.breadcrumb{font-size:13px}.top-actions{gap:5px;align-items:center}.top-actions>button{font-size:12px;padding:7px 9px}.sidebar{padding:25px 14px}.brand{margin:0 8px 28px}.brand small{font-size:10px}.nav-caption{font-size:10px;letter-spacing:1px}nav a{padding:9px 12px;font-size:13px}.finance-links a{font-size:13px}.page-heading{margin:0 0 14px;min-height:40px;align-items:center;gap:14px}.page-heading h1{margin:0;font-size:27px;line-height:1.25;letter-spacing:-.7px}.page-actions{display:flex;align-items:center;gap:12px;min-width:0}.page-actions .save-status{margin:0;min-height:0;font-size:11px;color:var(--muted);white-space:nowrap}.page-actions .save-status:not(.error)::before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--positive);margin-right:5px}.page-actions .save-status.error{color:var(--negative);white-space:normal;max-width:260px}.page-footer{margin-top:20px;padding-top:12px;font-size:11px;color:var(--muted)}
button,.small-button{min-height:34px;border-radius:7px;font-size:13px;line-height:1.25;padding:7px 11px}.creation-actions{gap:7px;align-items:center}.creation-actions>button{font-size:13px;min-height:36px;padding:8px 12px}.toolbar{gap:9px;margin-bottom:12px;align-items:end}.toolbar input,.toolbar select,select,input:not([type=checkbox]):not([type=radio]):not([type=range]),textarea{font-size:13px;padding:8px 10px}.toolbar label,.field,.form-grid>label{font-size:12px;line-height:1.4}.form-grid{gap:13px}.form-note,.form-grid small{font-size:12px;line-height:1.5}.panel{padding:17px 18px;margin-bottom:16px;border-radius:10px}.panel-head{align-items:center;gap:12px;margin-bottom:10px}.panel-head h2{font-size:17px;font-weight:600;letter-spacing:-.2px;margin:0;text-transform:none}.panel-subtitle{font-size:12px;line-height:1.5;margin:4px 0 12px}.panel h3{font-size:15px}.panel .note-area,.chart-footnote,.compact-contract-footnote,.contracts-total-note,.contracts-client-detail small{font-size:12px;line-height:1.5}.compact-explanation{margin:9px 0 15px;padding-top:7px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}.compact-explanation>summary{cursor:pointer;font-size:12px}.compact-explanation>p{margin:7px 0 0;font-size:12px;line-height:1.5}
.tabs-inline,.following-tabs,.task-project-kind{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin:0 0 13px}.tabs-inline>button,.following-tabs>button,.task-project-kind>button{font-size:13px;min-height:35px;padding:7px 11px;border-radius:7px}.finance-module-tabs{gap:4px;padding-bottom:10px;margin-bottom:14px;border-bottom:1px solid var(--line)}.finance-module-tabs>button{background:transparent;border-color:transparent;color:var(--muted)}.finance-module-tabs>button.active{background:var(--soft);border-color:var(--line);color:var(--accent);font-weight:600}.unified-period-controls{gap:9px;margin-bottom:13px}.period-range-caption{font-size:12px}.period-month-field{font-size:13px}.period-range-options>button{font-size:13px}.statement-display-controls{gap:9px}.financial-period-toolbar{gap:10px;margin-bottom:13px}.project-period-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}.project-period-toolbar .home-period-controls{margin:0}.project-period-toolbar>.note-area{margin:0}.project-detail-heading{padding:12px 0;margin:0 0 12px}.project-detail-heading h2{font-size:21px}.project-detail-heading p{font-size:13px}.actions-stack{gap:7px;margin:9px 0 12px}.actions-stack>button{font-size:12px;padding:7px 10px}
/* Los encabezados numéricos comparten el mismo borde de alineación que sus datos. */
table{font-size:var(--text-table)}th,td{vertical-align:middle;padding:9px 10px}thead th{font-size:12px;line-height:1.35;text-transform:none;letter-spacing:0;font-weight:600}tbody th{font-size:13px;text-transform:none;letter-spacing:0}td small{font-size:12px;line-height:1.45}th.numeric-column,td.numeric-column,table th.numeric-column,table td.numeric-column,.financial-statement-panel table th.numeric-column{vertical-align:middle;text-align:right!important;font-variant-numeric:tabular-nums}.numeric-column-group{text-align:center!important;vertical-align:middle}.accounting-cell{font-variant-numeric:tabular-nums;white-space:nowrap}.accounting-money{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:baseline;column-gap:10px;width:100%;font-variant-numeric:tabular-nums;white-space:nowrap;line-height:inherit}.accounting-currency{text-align:left;font-weight:400;color:inherit}.accounting-number{text-align:right;padding-right:.65ch;white-space:nowrap}.negative .accounting-number{padding-right:0}.accounting-cell .simulator-edit-value{display:block;width:100%;font:inherit;padding:5px 0;min-height:30px}.accounting-cell .simulator-cell-parts>summary{width:100%}td:has(>.accounting-money){min-width:100px}.budget-month-view td:has(>.accounting-money){min-width:76px}.numeric-column:not(.accounting-cell){font-variant-numeric:tabular-nums}.compact-simulator-table th,.compact-simulator-table td,.compact-contract-group th,.compact-contract-group td{font-size:12px;padding:7px 8px;vertical-align:middle}.compact-simulator-table small,.compact-row-project,.compact-row-person,.compact-contract-scope,.compact-contract-scope>p{font-size:12px}.compact-contract-group table{min-width:880px}.compact-contract-state-action,.contract-header-edit{font-size:12px!important}.compact-contract-group td:nth-child(4){font-size:12px}.contract-header-income>strong,.contract-header-balance>strong{font-size:14px}.contract-client-subtotal{font-size:13px;padding:12px 6px}.contract-client-box>summary>strong{font-size:15px}.contracts-grand-total{font-size:14px}.contracts-grand-total>span{font-size:13px}
/* Un solo estilo de indicadores; la comparación real/proyectada conserva su distribución. */
.metric,.home-business-kpis .metric{padding:14px 15px;min-height:108px}.metric .label,.home-business-kpis .metric .label{font-size:12px;line-height:1.35;min-height:0;margin-bottom:9px}.metric .value,.home-business-kpis .metric .value,.budget-subtotals .metric .value{font-size:clamp(21px,1.8vw,26px);line-height:1.2;font-weight:600;letter-spacing:-.5px;font-variant-numeric:tabular-nums}.metric .detail,.home-business-kpis .metric .detail{font-size:12px;line-height:1.4;margin-top:8px}.home-business-kpis .home-business-indicators>.metric{min-height:125px}.home-indicator-section>header h2{font-size:15px}.home-indicator-section>header>span{font-size:12px}.home-indicator-section+.home-indicator-section{margin-top:13px}.home-finance-grid{gap:15px}.home-finance-grid table{font-size:12px}.home-finance-grid th{font-size:12px}.home-finance-grid .amount{font-size:12px}.home-finance-grid td{padding:8px 7px}.home-indicator-section-projected>header h2{color:#315f9c}.home-indicator-section-projected .metric{border-top-color:#80a4d4}[data-theme=dark] .home-indicator-section-projected>header h2{color:#aecdf4}
/* Proyectos y equipo: texto legible sin hacer crecer los espacios vacíos. */
.client-description{font-size:12px;line-height:1.45}.client-container-heading h3,.internal-container>header h3{font-size:15px}.client-container-actions button,.client-contained-projects .project-card>.actions-stack button,.internal-container .project-card>.actions-stack button{font-size:12px;min-height:32px;padding:6px 8px}.client-contained-projects .project-card,.internal-container .project-card{height:auto;min-height:300px}.client-contained-projects .project-card h3,.internal-container .project-card h3{font-size:15px}.client-contained-projects .project-card>p,.internal-container .project-card>p{font-size:12px;line-height:1.45;margin:6px 0}.client-contained-projects .project-card>.entity-heading,.internal-container .project-card>.entity-heading{min-height:60px}.client-contained-projects .project-card>.actions-stack,.internal-container .project-card>.actions-stack{flex-wrap:wrap}.people .person .team-person-heading h3{font-size:15px}.people .person .team-person-heading p,.people .person>p,.person .note-area{font-size:12px;line-height:1.45}.team-dashboard .team-tracking-card{height:auto;min-height:250px}.team-dashboard .team-person-stats{font-size:12px}.team-dashboard .team-person-stats strong,.team-dashboard .team-card-progress strong{font-size:14px}.team-card-progress small,.team-project-row small,.team-chart-person .task-assignee,.team-chart-result span,.team-chart-result small{font-size:12px}.task-filter-label{font-size:12px;line-height:1.3}.task-filter-controls{align-items:end;gap:8px}.task-filter-buttons>button{min-height:34px}.task-group-body table{font-size:13px}.task-group-body th,.task-group-body td{padding:8px 9px;vertical-align:middle}.task-group-body th{font-size:12px}.task-assignee,.task-title,.task-inline-date,.task-inline-state{font-size:13px}.task-status-badge,.task-status-badge .status{font-size:12px}.account-state,.status{font-size:12px}.task-group-body .task-title{line-height:1.4}.task-group-body .task-title small{font-size:12px}.project-title-link{font-size:inherit}.task-project-group>summary{font-size:14px;padding:11px 12px}.task-period-filter .period-month-field{min-width:160px}.task-quick-filters{gap:12px}.accounts-filter-panel{padding:12px;gap:10px}.accounts-filter-panel label{font-size:12px}.accounts-state-guide{font-size:12px}.statement-extra-notes>summary,.financial-statement-panel .statement-extra-notes>summary{font-size:12px}.financial-statement-panel .note-area,.financial-statement-panel .income-settlement-note{font-size:12px}.financial-statement-panel .eerr-table th,.financial-statement-panel .eerr-table td{font-size:13px}.financial-statement-panel .annual-budget-table tbody th,.financial-statement-panel .annual-budget-table tbody td{font-size:12px}.financial-statement-panel .budget-month-view td.budget-number{font-size:12px;min-width:92px}.financial-statement-panel .annual-budget-table.budget-month-view{width:max(100%,calc(200px + var(--statement-month-count)*92px + var(--statement-total-count)*112px))}.financial-statement-panel .budget-month-view col.budget-stable-month{width:92px}.financial-statement-panel .budget-month-view col.budget-stable-total{width:112px}.financial-statement-panel .budget-month-view thead th.budget-month-heading{width:92px;min-width:92px;max-width:92px}.financial-statement-panel .budget-month-view .accounting-money{column-gap:3px}.financial-statement-panel .budget-depth-1>th{padding-left:28px}.financial-statement-panel .budget-depth-2>th{padding-left:46px}.financial-statement-panel .budget-depth-3>th{padding-left:64px}
@media(max-width:1100px){.shell{grid-template-columns:198px minmax(0,1fr)}.workspace{padding:20px}.topbar{padding:0 20px}.page-actions .save-status{display:none}.page-actions .save-status.error{display:block}.home-business-kpis .metric .value{font-size:22px}.task-filter-controls{flex-wrap:wrap}.task-quick-filters{grid-template-columns:1fr 1fr}.task-filter-controls{grid-column:1/-1}.creation-actions{flex-wrap:wrap}.top-actions .theme-control>span{font-size:12px}}
@media(max-width:760px){.shell{display:block}.sidebar{position:static;height:auto;padding:13px 16px}.brand{margin:0 0 12px}.sidebar-bottom,.sidebar>.nav-caption{display:none}.workspace{padding:17px 14px}.topbar{height:auto;min-height:58px;padding:10px 14px;flex-wrap:wrap;gap:8px}.top-actions{flex-wrap:wrap}.breadcrumb{font-size:12px}.page-heading{align-items:flex-start;flex-wrap:wrap;gap:10px}.page-heading h1{font-size:24px}.page-actions{margin-left:auto}.finance-module-tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px}.finance-module-tabs>button{flex-shrink:0}.panel{padding:14px}.task-quick-filters{grid-template-columns:1fr}.task-filter-icons{min-width:0}.project-detail-heading{gap:12px;flex-wrap:wrap}.home-business-kpis .metric .detail{font-size:12px}.home-business-kpis .home-business-indicators>.metric{min-height:125px}.table-wrap{overflow-x:auto}.creation-actions>button{font-size:12px}.financial-view-switch{margin-left:0}.task-filter-controls .period-range-options{flex-wrap:nowrap}.financial-statement-panel .eerr-table th,.financial-statement-panel .eerr-table td{font-size:12px}.people .person{padding:13px}}

.finance-summary-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:15px}.finance-summary-toolbar>.home-period-controls{margin:0}.finance-summary-toolbar>.finance-summary-actions{margin:0;display:flex;align-items:center;gap:7px;flex-wrap:wrap}.project-query-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:15px}.project-query-controls>.home-period-controls,.project-query-controls>.toolbar{margin:0}.task-view-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px}.task-view-toolbar>.task-project-kind,.task-view-toolbar>.following-tabs{margin:0}.financial-statements-stack .financial-statement-panel .eerr-table thead th{height:auto;padding:9px 10px;font-size:12px;text-transform:none;letter-spacing:0;line-height:1.4;font-weight:600}.financial-statements-stack .financial-statement-panel .eerr-table tbody th,.financial-statements-stack .financial-statement-panel .eerr-table tbody td{padding-top:8px;padding-bottom:8px;font-size:13px;line-height:1.4;font-weight:400}.financial-statements-stack .financial-statement-panel .eerr-table .total-row th{font-weight:600}.financial-statements-stack .financial-statement-panel .eerr-table .total-row td{font-weight:400}.financial-statements-stack .financial-statement-panel .eerr-table .statement-result-row th,.financial-statements-stack .financial-statement-panel .eerr-table .statement-result-row td{font-weight:650;padding-top:10px;padding-bottom:10px}.financial-statements-stack .financial-statement-panel .eerr-table th:first-child{width:64%}.financial-statements-stack .financial-statement-panel .eerr-table th:not(:first-child){text-align:right}.home-chart-navigation{font-size:12px}.home-business-chart .business-chart-legend{font-size:12px}

.client-container-heading{min-height:154px;display:flex;flex-direction:column}.client-container-heading>.entity-heading{min-height:43px}.client-container-heading>.client-container-actions{margin-top:auto;padding-top:8px;flex-wrap:nowrap}.client-container-heading>.client-description{min-height:34px}.client-contained-projects .project-card .entity-heading .status{display:none}.task-quick-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 16px;align-items:end}.task-filter-controls{grid-column:1/-1;display:flex;align-items:end;flex-wrap:wrap;gap:10px}.task-filter-controls .task-period-filter{flex:1 1 auto;min-width:0}.task-filter-controls>label{display:grid;gap:5px;font-size:12px;min-width:120px}.task-filter-controls>label>select{height:36px;min-width:120px;width:100%}.task-filter-controls .task-reset{height:36px;min-height:36px;width:36px;margin:0;padding:4px}.task-filter-icons{min-width:0}.task-filter-buttons{padding-bottom:3px;overflow-x:auto;gap:7px}.task-filter-buttons>button{min-height:36px}.task-results-summary p,.task-pie-caption,.task-pie-content>small{font-size:12px;line-height:1.4}.task-pie-legend>span,.task-pie-legend strong,.task-pie-legend small{font-size:12px}.task-pie-content h3{font-size:14px}.task-results-summary{gap:10px}.task-group-controls{gap:3px}.task-group-controls button{font-size:12px;min-height:32px}@media(max-width:760px){.task-quick-filters{grid-template-columns:minmax(0,1fr)}.client-container-heading{min-height:0}.client-container-heading>.client-description{min-height:0}.task-filter-controls .task-period-filter{flex-basis:100%}.task-filter-controls>label{flex:1}.task-filter-buttons{padding-bottom:5px}}

.task-quick-filters .task-filter-controls{align-items:end;flex-wrap:wrap}.task-quick-filters .task-period-filter{display:block;grid-template-rows:none;min-height:36px}.task-quick-filters .task-filter-controls>label,.task-quick-filters .task-filter-icons{grid-template-rows:auto auto;row-gap:5px;align-items:start}.task-filter-label{width:auto;min-height:16px}.task-quick-filters .task-filter-buttons{min-height:39px}.unified-movements th,.unified-movements td{vertical-align:middle}.unified-movements .row-actions{gap:5px}.unified-movements .row-actions button{font-size:12px;min-height:30px}.home-contribution-layout .note-area{font-size:12px}.home-project-overview .home-project-card p{font-size:12px}.home-project-task-list td,.home-project-task-list th{font-size:13px}

.contract-client-box>summary{display:grid;grid-template-columns:38px minmax(120px,1fr) minmax(170px,auto) 150px auto 12px;align-items:center;gap:10px}.contract-client-box>summary>.contract-header-income{margin:0;justify-content:flex-end}.contract-client-box>summary>.compact-client-count{font-size:12px;white-space:normal}.contract-client-box>summary>.contract-header-edit{margin:0}.contract-client-box>summary::after{margin:0;justify-self:end}.contracts-grand-total{display:grid;grid-template-columns:minmax(100px,.75fr) repeat(3,minmax(0,1fr));gap:15px;align-items:start}.contracts-grand-total>span{display:grid;gap:5px;align-items:baseline;justify-items:end;text-align:right}.contracts-grand-total>strong{padding-top:2px}.contracts-grand-total>span>strong{font-variant-numeric:tabular-nums;line-height:1.5}@media(max-width:1100px){.contract-client-box>summary{grid-template-columns:34px minmax(110px,1fr) minmax(150px,auto) auto 12px}.contract-client-box>summary>.compact-client-count{display:none}}@media(max-width:760px){.contract-client-box>summary{display:flex;flex-wrap:wrap}.contract-client-box>summary>.contract-header-income{margin-left:auto}.contract-client-box>summary>.contract-header-edit{margin-left:auto}.contracts-grand-total{grid-template-columns:1fr}.contracts-grand-total>span{display:flex;justify-content:space-between;gap:10px;text-align:right}}

@media(max-width:760px){.sidebar{padding:8px 12px}.sidebar>.brand{display:none}.sidebar nav{position:relative;display:flex;align-items:center;flex-wrap:wrap;gap:3px;margin:0}.sidebar nav>a,.sidebar nav #admin-navigation>a{padding:7px 9px;min-height:32px;font-size:12px;white-space:nowrap}.sidebar nav #admin-navigation{display:contents}.sidebar nav #admin-navigation .nav-caption{display:none}.sidebar nav .finance-links{order:10;flex-basis:100%;display:flex;flex-wrap:nowrap;overflow-x:auto;max-width:100%;margin:0;padding:4px 0 2px;gap:3px;border:0}.sidebar nav .finance-links>a{flex-shrink:0;padding:7px 9px;font-size:12px;white-space:nowrap}.sidebar nav .finance-links[hidden]{display:none!important}.sidebar nav .nav-chevron{margin-left:5px}.topbar{min-height:52px}.topbar .breadcrumb{line-height:1.4}.top-actions .profile-toggle{min-height:34px}.workspace{padding-top:15px}}

@media(max-width:760px){body:has(#finance-links:not([hidden])) .finance-module-tabs{display:none}}

/* Movimientos: seis columnas y detalle del cobro/pago bajo el estado. */
.unified-movements table{width:100%;min-width:920px;table-layout:fixed}.unified-movements th:nth-child(3){width:17%}.unified-movements th:nth-child(5){width:170px}.unified-movements th:nth-child(6){width:120px}.unified-movements td:nth-child(2){min-width:0}.unified-movements td:last-child{min-width:0}.unified-movements th,.unified-movements td{padding:10px 9px;vertical-align:top}.unified-movements .movement-date{white-space:nowrap;font-size:12px}.movement-concept-title{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap;line-height:1.4}.movement-concept-title>strong{font-size:13px;font-weight:600}.movement-kind{font-size:11px;color:var(--muted);white-space:nowrap}.movement-description{font-size:12px;line-height:1.45;margin-top:3px;overflow-wrap:anywhere}.movement-third{font-size:13px;line-height:1.45}.movement-third small{margin-top:3px}.movement-state>.account-state{margin-bottom:4px}.movement-state .movement-payment-detail{margin-top:3px;font-size:12px}.movement-state .movement-payment-detail>summary{font-size:12px;line-height:1.4;white-space:normal}.movement-state .movement-payment-entry{font-size:12px;line-height:1.45;gap:7px}.movement-state .movement-payment-entry>span{min-width:0;overflow-wrap:anywhere}.movement-state .movement-payment-entry .row-actions{gap:4px}.movement-state .movement-payment-entry button{font-size:11px;min-height:28px;padding:5px 6px}.movement-partial{display:block;font-size:11px;line-height:1.4;margin:2px 0 5px}.unified-movements .row-actions{align-items:flex-start}.unified-movements .row-actions button{padding:6px 8px;min-height:31px;font-size:12px}.unified-movements .movement-review{font-size:11px}
/* Clientes abiertos inicialmente; total del encabezado solo al contraer. */
.contract-disclosure-controls{display:flex;align-items:center;justify-content:flex-end;gap:6px;margin:0 0 10px}.contract-client-box>summary{grid-template-columns:38px minmax(120px,1fr) minmax(180px,auto) auto 12px}.contract-client-box>summary>.contract-header-income{grid-column:3}.contract-client-box>summary>.contract-header-edit{grid-column:4}.contract-client-box>summary::after{grid-column:5}.contract-client-box[open]>summary{grid-template-columns:38px minmax(120px,1fr) auto 12px}.contract-client-box[open]>summary>.contract-header-income{display:none}.contract-client-box[open]>summary>.contract-header-edit{grid-column:3}.contract-client-box[open]>summary::after{grid-column:4}.compact-contract-group>summary{display:flex;align-items:center;gap:6px;list-style:none}.compact-contract-group>summary::before{content:'›';font-size:17px;width:12px;line-height:1}.compact-contract-group[open]>summary::before{transform:rotate(90deg)}.compact-contract-group>summary::-webkit-details-marker{display:none}.compact-contract-group .contract-branch-total{margin-left:auto;font-variant-numeric:tabular-nums;white-space:nowrap}.contract-client-subtotal{margin-top:8px}.contract-client-body{padding-top:3px}
/* Administración permanece al pie; solo el área de navegación desplaza. */
.sidebar{display:flex;flex-direction:column}.sidebar #navigation{display:flex;flex-direction:column;align-items:stretch;gap:4px;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden}.sidebar>#admin-navigation{flex-shrink:0;margin-top:12px;padding-top:10px;border-top:1px solid #42615a;display:flex;flex-direction:column}.sidebar>#admin-navigation .nav-caption{padding:3px 12px 7px;margin:0;font-size:10px;letter-spacing:1px}.sidebar>#admin-navigation>a{display:block;padding:9px 12px;font-size:13px;color:#c7d9d4;text-decoration:none;border-radius:7px}.sidebar>#admin-navigation>a.active{background:#31514d;color:#fff;font-weight:600;box-shadow:inset 3px 0 #a5d8b9}.sidebar>.sidebar-bottom{margin-top:0;flex-shrink:0;padding:13px 12px 0;font-size:11px}
/* Pestañas de agenda: la seleccionada se une al panel mediante el borde. */
.finance-module-tabs,.following-tabs,.tabs-inline[aria-label="Contenido del proyecto"],.tabs-inline[aria-label="Tipo de cuentas"]{display:flex;align-items:flex-end;gap:4px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding:0 4px;margin-bottom:15px;min-height:40px}.finance-module-tabs>button,.following-tabs>button,.tabs-inline[aria-label="Contenido del proyecto"]>button,.tabs-inline[aria-label="Tipo de cuentas"]>button{position:relative;border:1px solid var(--line);border-bottom:0;border-radius:9px 9px 0 0;background:var(--paper);color:var(--muted);min-height:36px;padding:9px 13px;margin:3px 0 0;font-size:13px}.finance-module-tabs>button.active,.following-tabs>button[aria-pressed=true],.tabs-inline[aria-label="Contenido del proyecto"]>button.active,.tabs-inline[aria-label="Tipo de cuentas"]>button.active{background:var(--panel);color:var(--ink);font-weight:650;min-height:40px;margin-top:0;box-shadow:0 -2px 0 var(--accent)}.finance-module-tabs>button.active::after,.following-tabs>button[aria-pressed=true]::after,.tabs-inline[aria-label="Contenido del proyecto"]>button.active::after,.tabs-inline[aria-label="Tipo de cuentas"]>button.active::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--panel)}.finance-module-tabs>button:hover,.following-tabs>button:hover{background:var(--panel)}
@media(max-width:760px){.sidebar #navigation{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;overflow:visible;flex:0 0 auto}.sidebar>#admin-navigation{margin:0;padding:0;border:0;position:absolute;right:12px;top:8px}.sidebar>#admin-navigation .nav-caption{display:none}.sidebar>#admin-navigation>a{padding:7px 9px;font-size:12px;min-height:32px}.sidebar{position:relative;padding-right:146px}.sidebar #navigation>.finance-links{flex-basis:100%;width:calc(100vw - 24px);max-width:calc(100vw - 24px);margin-right:-134px}.sidebar>.sidebar-bottom{display:none}.contract-client-box>summary,.contract-client-box[open]>summary{display:flex}.contract-header-income{flex-wrap:wrap}.contract-disclosure-controls{justify-content:flex-start}.finance-module-tabs,.following-tabs{flex-wrap:nowrap;overflow-x:auto}.finance-module-tabs>button,.following-tabs>button{flex-shrink:0;padding:8px 10px}.unified-movements table{min-width:900px}}@media(max-width:450px){.sidebar{padding-right:12px}.sidebar>#admin-navigation{position:static;align-self:flex-start;margin-top:2px}.sidebar #navigation>.finance-links{margin-right:0;width:100%;max-width:100%}}

/* Dos bases reales en EE.RR.; resumen y estados usan la misma jerarquía. */
.home-business-chart .business-chart-value{font-size:10px}.home-business-chart .business-chart-month-label{font-size:10px}.home-business-chart .business-chart-missing{font-size:11px}.real-income-comparison{table-layout:fixed;width:100%;min-width:440px}.real-income-comparison th:first-child{width:48%!important}.real-income-comparison thead th:not(:first-child){width:26%!important;text-align:right}.real-income-comparison th,.real-income-comparison td{vertical-align:middle;padding:8px 9px;font-size:13px}.real-income-comparison thead th{font-size:12px;line-height:1.4;white-space:normal}.real-income-comparison .budget-depth-1>th{padding-left:26px}.real-income-comparison .budget-depth-2>th{padding-left:44px}.real-income-comparison .statement-result-row th,.real-income-comparison .statement-result-row td{font-weight:650;background:var(--paper)}.home-finance-grid .eerr-table{font-size:12px}.home-finance-grid .real-income-comparison th,.home-finance-grid .real-income-comparison td{font-size:12px}.home-finance-grid .budget-node-toggle{font-size:inherit}.financial-statements-stack .financial-statement-panel .real-income-comparison th:first-child{width:48%}.financial-statements-stack .financial-statement-panel .real-income-comparison th:not(:first-child){width:26%}.tasks-list-only,.tasks-list-only>.tasks-main-list{width:100%;min-width:0}.performance-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.performance-project-card{border:1px solid var(--line);border-radius:9px;padding:14px;background:var(--panel);font-size:12px}.performance-project-card .entity-heading{gap:9px;align-items:center}.performance-project-card .entity-heading>strong{font-size:14px}.performance-project-result{display:flex;align-items:baseline;gap:10px;margin:14px 0 8px}.performance-project-result>strong{font-size:22px}.performance-project-result>span{font-size:12px;color:var(--muted)}.performance-project-card>progress{width:100%;margin-bottom:7px}.project-module-tabs{display:flex;align-items:flex-end;gap:4px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding:0 4px;margin-bottom:15px;min-height:40px}.project-module-tabs>button{position:relative;border:1px solid var(--line);border-bottom:0;border-radius:9px 9px 0 0;background:var(--paper);color:var(--muted);min-height:36px;padding:9px 13px;margin:3px 0 0;font-size:13px}.project-module-tabs>button.active{background:var(--panel);color:var(--ink);font-weight:650;min-height:40px;margin-top:0;box-shadow:0 -2px 0 var(--accent)}.project-module-tabs>button.active::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--panel)}@media(max-width:1000px){.performance-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.performance-project-grid{grid-template-columns:1fr}.project-module-tabs{flex-wrap:nowrap;overflow-x:auto}.project-module-tabs>button{flex-shrink:0}.real-income-comparison{min-width:440px}}

.project-period-toolbar:empty{display:none}.task-period-filter:empty{display:none!important}.task-quick-filters:has(.task-period-filter:empty){grid-template-columns:170px minmax(0,1fr) minmax(0,1fr)}.task-quick-filters:has(.task-period-filter:empty) .task-filter-controls{grid-column:auto;flex-wrap:nowrap;gap:7px}.task-quick-filters:has(.task-period-filter:empty) .task-filter-controls>label{min-width:120px}.task-quick-filters:has(.task-period-filter:empty) .task-filter-controls .task-reset{align-self:end}@media(max-width:1000px){.task-quick-filters:has(.task-period-filter:empty){grid-template-columns:170px minmax(0,1fr)}.task-quick-filters:has(.task-period-filter:empty)>.task-filter-icons:last-child{grid-column:1/-1}}@media(max-width:760px){.task-quick-filters:has(.task-period-filter:empty){grid-template-columns:minmax(0,1fr)}.task-quick-filters:has(.task-period-filter:empty) .task-filter-controls{grid-column:1/-1}}

@media(max-width:760px){body:has(#projects-links:not([hidden])) .project-module-tabs{display:none}}

.accounts-period-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 13px}.accounts-period-toolbar>.home-period-controls{margin:0;flex:1 1 auto}.accounts-period-toolbar>.tabs-inline[aria-label="Tipo de cuentas"]{margin:0 0 0 auto;flex:0 0 auto;align-self:center;flex-wrap:nowrap}.accounts-period-toolbar>.tabs-inline[aria-label="Tipo de cuentas"]>button{white-space:nowrap}@media(max-width:760px){.accounts-period-toolbar{gap:10px}.accounts-period-toolbar>.home-period-controls{flex-basis:100%}.accounts-period-toolbar>.tabs-inline[aria-label="Tipo de cuentas"]{margin-left:auto}}

/* El detalle tiene columna propia; el estado conserva su etiqueta limpia. */
.unified-movements table{min-width:1040px}.unified-movements th:nth-child(1){width:100px}.unified-movements th:nth-child(2){width:auto}.unified-movements th:nth-child(3){width:16%}.unified-movements th:nth-child(4){width:112px}.unified-movements th:nth-child(5){width:100px}.unified-movements th:nth-child(6){width:145px}.unified-movements th:nth-child(7){width:112px}.movement-payment-column .movement-payment-detail{margin:0;font-size:12px}.movement-payment-column .movement-payment-detail>summary{font-size:12px;line-height:1.4;white-space:normal}.movement-payment-column .movement-payment-entry{font-size:12px;line-height:1.45;gap:7px}.movement-payment-column .movement-payment-entry>span{min-width:0;overflow-wrap:anywhere}.movement-payment-column .movement-payment-entry button{font-size:11px;min-height:28px;padding:5px 6px}@media(max-width:760px){.unified-movements table{min-width:1040px}}

/* Filas uniformes: acciones principales en una línea y detalle breve. */
.unified-movements th:nth-child(6){width:104px}.unified-movements th:nth-child(7){width:152px}.unified-movements th,.unified-movements td{vertical-align:middle;padding-top:10px;padding-bottom:10px}.unified-movements td:last-child>.row-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:nowrap;gap:6px}.unified-movements td:last-child>.row-actions>button{flex:0 0 auto;min-width:62px;height:32px;min-height:32px;padding:6px 9px;font-size:12px;font-weight:500;line-height:1;white-space:nowrap}.movement-payment-column .movement-payment-detail>summary{display:inline-flex;align-items:center;gap:5px;min-height:32px;font-size:12px;font-weight:500;line-height:1;white-space:nowrap;list-style:none}.movement-payment-column .movement-payment-detail>summary::-webkit-details-marker{display:none}.movement-payment-column .movement-payment-detail>summary::before{content:'›';font-size:16px;line-height:1}.movement-payment-column .movement-payment-detail[open]>summary::before{transform:rotate(90deg)}

/* Cobros y pagos desplegados a todo el ancho del movimiento. */
.movement-payment-toggle{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;font-weight:500}.unified-movements .movement-payment-expanded>td{padding:0 9px 12px;background:var(--paper)}.movement-payment-expanded .movement-payment-detail{padding:12px 14px;border:1px solid var(--line);border-radius:8px;margin:0}.movement-payment-heading{display:block;font-size:12px;font-weight:600;margin-bottom:5px}.movement-payment-expanded .movement-payment-entry{display:grid;grid-template-columns:110px 120px minmax(120px,1fr) minmax(160px,1.4fr) auto;align-items:center;gap:18px;padding:9px 0;font-size:13px;border-bottom:1px solid var(--line)}.movement-payment-expanded .movement-payment-entry:last-child{border-bottom:0;padding-bottom:0}.movement-payment-expanded .movement-payment-entry small{display:block;font-size:11px;color:var(--muted);margin:0 0 3px}.movement-payment-expanded .movement-payment-entry>div{min-width:0;overflow-wrap:anywhere}.movement-payment-expanded .movement-payment-amount{text-align:right;font-variant-numeric:tabular-nums}.movement-payment-expanded .movement-payment-entry>.row-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:nowrap;gap:6px}

/* Período a la izquierda y subpestañas a la derecha, en ambos módulos. */
.project-workspace-period-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 13px}.project-workspace-period-toolbar>.home-period-controls{margin:0;flex:1 1 auto}.project-workspace-period-toolbar>.task-project-kind{margin:0 0 0 auto;flex:0 0 auto;display:flex;align-items:flex-end;gap:4px;border-bottom:1px solid var(--line);padding:0 4px;min-height:40px}.project-workspace-period-toolbar .task-project-kind>button{position:relative;border:1px solid var(--line);border-bottom:0;border-radius:9px 9px 0 0;background:var(--paper);color:var(--muted);min-height:36px;padding:9px 13px;margin:3px 0 0;font-size:13px}.project-workspace-period-toolbar .task-project-kind>button[aria-pressed=true]{background:var(--panel);color:var(--ink);font-weight:650;min-height:40px;margin-top:0;box-shadow:0 -2px 0 var(--accent)}.project-workspace-period-toolbar .task-project-kind>button[aria-pressed=true]::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--panel)}
/* Resumen breve y filtros sin un recuadro adicional. */
.accounts-overview{grid-template-columns:minmax(320px,2fr) minmax(420px,3fr);gap:20px;align-items:center;margin:0 0 14px}.accounts-overview>.cards{gap:10px}.accounts-overview .metric{min-height:0;padding:12px 14px;border-radius:9px}.accounts-overview .metric .label{font-size:12px;margin-bottom:6px}.accounts-overview .metric .value{font-size:24px;line-height:1.2;margin:0;font-variant-numeric:tabular-nums}.accounts-overview .metric .detail{font-size:11px;line-height:1.4;margin-top:5px}.accounts-overview>.accounts-filter-panel{padding:0;background:transparent;border:0;border-radius:0;gap:10px;align-items:end}.accounts-filter-panel label{gap:5px}.accounts-filter-panel select{height:36px;padding:6px 9px;font-size:13px}.accounts-overview>.cards:has(>.metric:nth-child(3)){grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1100px){.accounts-overview{grid-template-columns:1fr;gap:12px}.accounts-overview>.accounts-filter-panel{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.project-workspace-period-toolbar{gap:10px}.project-workspace-period-toolbar>.home-period-controls{flex-basis:100%}.project-workspace-period-toolbar>.task-project-kind{margin-left:auto}.accounts-overview>.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.accounts-overview>.accounts-filter-panel{grid-template-columns:1fr}.accounts-overview>.cards:has(>.metric:nth-child(3)){grid-template-columns:repeat(2,minmax(0,1fr))}.accounts-overview .metric .value{font-size:22px}}

.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Comprobante en ventana emergente y acción pendiente destacada. */
.unified-movements .movement-payment-toggle{width:36px;height:32px;min-height:32px;display:inline-flex;align-items:center;justify-content:center;padding:5px;color:var(--accent)}.unified-movements .row-actions>.movement-payment-due{background:#a82f27;color:#fff;border-color:#a82f27;font-weight:650;box-shadow:0 1px 3px #8b201a25}.unified-movements .row-actions>.movement-payment-due:hover{background:#87251f;border-color:#87251f}[data-theme=dark] .unified-movements .row-actions>.movement-payment-due{background:#b83d33;color:#fff;border-color:#d4675e}[data-theme=dark] .unified-movements .row-actions>.movement-payment-due:hover{background:#ce493e}#modal:has(.movement-payment-dialog){width:960px;max-width:calc(100vw - 32px)}.movement-payment-dialog .movement-payment-heading{font-size:14px;margin-bottom:14px}.movement-payment-dialog .movement-payment-entry{display:grid;grid-template-columns:110px 120px minmax(100px,1fr) minmax(140px,1.4fr);gap:12px 18px;padding:14px 0;border-bottom:1px solid var(--line);font-size:13px;align-items:start}.movement-payment-dialog .movement-payment-entry:last-child{border-bottom:0}.movement-payment-dialog .movement-payment-entry>div{min-width:0;overflow-wrap:anywhere}.movement-payment-dialog .movement-payment-entry small{display:block;color:var(--muted);font-size:12px;margin:0 0 5px}.movement-payment-dialog .movement-payment-amount{text-align:right;font-variant-numeric:tabular-nums}.movement-payment-dialog .movement-payment-entry>.row-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:7px;margin:0}.movement-payment-dialog .movement-payment-entry time{white-space:nowrap}@media(max-width:620px){.movement-payment-dialog .movement-payment-entry{grid-template-columns:1fr 1fr}.movement-payment-dialog .movement-payment-entry>.row-actions{flex-wrap:wrap}#modal:has(.movement-payment-dialog){max-width:calc(100vw - 16px)}}

/* Filas de tareas compactas; el título conserva el espacio principal. */
.task-group-body table{table-layout:fixed;width:100%;min-width:790px}.task-group-body th:first-child{width:auto}.task-group-body th:nth-child(2){width:190px}.task-group-body th:nth-child(3){width:138px}.task-group-body th:nth-child(4){width:120px}.task-group-body th:last-child{width:68px}.task-group-body th,.task-group-body td{padding:5px 7px;vertical-align:middle}.task-title-order{gap:5px;min-width:0}.task-order-buttons{gap:0;width:20px}.task-order-buttons button{width:20px;min-height:16px;height:16px;line-height:14px;padding:0;font-size:12px;border:0;background:transparent}.task-row-title{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;line-height:1.4}.task-assignee-control{display:flex;align-items:center;gap:7px;min-width:0}.task-assignee-control>.task-assignees{position:static;transform:none;flex:0 0 34px;min-width:0;pointer-events:none}.task-assignee-control .task-assignee-avatar{width:34px;height:34px;min-width:34px;border:0;font-size:11px}.task-assignee-control .task-assignee{gap:0}.task-assignee-control .task-inline-assignee{padding:5px 20px 5px 7px;height:32px;font-size:12px;min-width:0;flex:1}.task-date-field{position:relative;display:flex;align-items:center;justify-content:center;min-height:32px;border:1px solid var(--line);border-radius:6px;background:var(--panel);padding:5px 7px;white-space:nowrap;font-size:12px}.task-date-label{pointer-events:none;line-height:20px}.task-date-field>.task-inline-date{position:absolute;inset:0;width:100%;height:100%;padding:0;margin:0;opacity:0;cursor:pointer}.task-date-field:focus-within{outline:2px solid var(--accent);outline-offset:2px}.task-date-field:hover{border-color:var(--accent)}.task-date-field>.task-inline-date::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;cursor:pointer}.task-group-body .task-inline-state{min-height:32px;padding:4px 5px;font-size:12px}.task-group-body td:last-child .small-button{min-height:30px;padding:5px 7px}

/* Carga por persona y distribución de estados comparten una fila. */
.team-performance-charts{display:grid;grid-template-columns:minmax(0,1fr) 270px;align-items:stretch;gap:16px;margin:14px 0 18px}.team-performance-charts>.team-workload{min-width:0;margin:0;padding:14px}.team-performance-charts>.task-pie-summary{margin:0;padding:14px;flex-direction:column;align-items:stretch;gap:12px;min-width:0}.team-performance-charts .task-pie-chart{width:138px;flex:0 0 auto;align-self:center}.team-performance-charts .task-pie-legend{grid-template-columns:1fr;gap:9px}.team-performance-charts .task-pie-legend>span{font-size:12px}.team-performance-charts .task-pie-content h3{font-size:13px}.team-performance-charts .team-chart-heading{margin-top:0;display:block}.team-performance-charts .team-chart-heading>.note-area{display:block;margin-top:5px}.team-performance-charts .team-chart-row{grid-template-columns:140px minmax(80px,1fr) 92px;gap:12px}.team-chart-person{min-width:0}.team-chart-person .task-assignee>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-chart-person .task-assignee{max-width:100%;font-size:12px}.team-chart-person .task-assignee-avatar{flex-shrink:0}.team-chart-bar .team-bar-track{display:flex;height:22px;width:100%;border-radius:5px;overflow:hidden;background:transparent}.team-bar-segment{display:flex;align-items:center;justify-content:center;flex-shrink:0;min-width:0;overflow:hidden;color:white;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;line-height:22px}.team-bar-segment>span{flex:0 0 auto}.team-bar-segment.bar-label-dark{color:#20383e}.team-bar-segment.bar-pending{background:#c74646}.team-bar-segment.bar-working{background:#e4bd36}.team-bar-segment.bar-review{background:#e38b2c}.team-bar-segment.bar-done{background:#25805e}.team-performance-charts .team-chart-result{display:flex;flex-direction:column;align-items:flex-end;gap:2px;white-space:nowrap;min-width:92px;font-variant-numeric:tabular-nums}.team-performance-charts .team-chart-result strong{font-size:14px}.team-performance-charts .team-chart-result span,.team-performance-charts .team-chart-result small{font-size:12px}@media(max-width:1100px){.team-performance-charts{grid-template-columns:minmax(0,1fr)}.team-performance-charts>.task-pie-summary{flex-direction:row;align-items:center}.team-performance-charts .task-pie-chart{width:110px;flex:0 0 110px}.team-performance-charts .task-pie-content{flex:1}.team-performance-charts .task-pie-legend{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.team-performance-charts .team-chart-row{grid-template-columns:95px minmax(45px,1fr) 78px;gap:8px}.team-performance-charts .team-chart-result{min-width:78px}.team-performance-charts .task-pie-legend{grid-template-columns:1fr}.team-performance-charts .team-chart-person .task-assignee-avatar{display:inline-flex;width:25px;height:25px;min-width:25px}.team-performance-charts .team-chart-person .task-assignee{gap:5px;font-size:11px}}

/* El nombre abre la ficha; el listado conserva solo cliente y proyectos. */
.client-container-heading .client-name-link{font:inherit;font-weight:inherit;color:inherit;text-align:left;white-space:normal;background:transparent;border:0;padding:0;border-radius:3px;line-height:1.4}.client-container-heading .client-name-link:hover{background:transparent;color:var(--accent);text-decoration:underline;text-underline-offset:3px}.client-container-heading .entity-heading h3{margin:0 0 4px}.client-container-heading{padding-top:13px;padding-bottom:13px}

/* Resumen usa las mismas alturas, separación y tarjetas breves de pendientes. */
.finance-summary-toolbar.accounts-period-toolbar{margin:0 0 14px;gap:12px}.finance-summary-toolbar>.finance-summary-actions{margin-left:auto}.summary-compact{gap:14px;margin-bottom:14px}.summary-compact .home-business-indicators{gap:10px;grid-template-rows:auto}.summary-compact .home-business-kpis .metric{min-height:0;padding:12px 14px;border-radius:9px}.summary-compact .home-business-kpis .metric .label{font-size:12px;min-height:0;margin-bottom:6px}.summary-compact .home-business-kpis .metric .value{font-size:24px;line-height:1.2;margin:0}.summary-compact .home-business-kpis .metric .detail{font-size:11px;line-height:1.4;margin-top:5px}.summary-compact .home-business-chart>.panel{padding:14px;border-radius:9px}.home-finance-grid>.panel{border-radius:9px;padding:16px}
.project-task-add{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;padding:8px 12px;margin:7px 0 2px;border:1px dashed var(--line);background:transparent;color:var(--accent);font-size:13px;min-height:36px}.project-task-add>span{font-size:20px;line-height:1}.project-task-add:hover{border-color:var(--accent);background:var(--soft)}.project-overview-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}.project-overview-grid>.panel{margin:0 0 14px}.project-assigned-people{display:grid;gap:10px}.project-assigned-person{display:flex;align-items:center;justify-content:space-between;gap:10px}.project-assigned-person .team-person-heading{min-width:0}.project-assigned-person .team-person-heading h3{font-size:14px;margin:0 0 3px}.project-assigned-person .team-person-heading p{margin:0;font-size:12px;color:var(--muted)}.project-overview-performance{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}.project-overview-performance .task-pie-summary{margin:0;flex-wrap:wrap}.project-next-tasks h3{font-size:14px;margin:0 0 8px}.project-next-tasks ul{list-style:none;margin:0;padding:0}.project-next-tasks li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}.project-next-tasks li>div{min-width:0}.project-next-tasks li strong{display:block;font-size:13px;margin-bottom:5px}.project-next-tasks li time{white-space:nowrap;font-size:12px}.project-next-tasks .task-assignee{font-size:12px}.project-next-tasks .task-assignee-avatar{width:24px;height:24px;min-width:24px}@media(max-width:850px){.project-overview-grid,.project-overview-performance{grid-template-columns:minmax(0,1fr)}.project-overview-grid{gap:0}.summary-compact .home-business-kpis .metric .value{font-size:22px}} 

/* Mismo tamaño y distribución para proyectos de clientes e internos. */
.client-container>.client-container-heading,.internal-container>.client-container-heading{height:80px;min-height:80px;display:flex;flex-direction:row;align-items:center;padding:13px;margin:0;border-bottom:1px solid var(--line)}.client-container-heading>.entity-heading{min-height:0;gap:10px}.internal-category-icon{font-size:12px!important;background:var(--soft);color:var(--accent)}.client-contained-projects>.project-card,.internal-container .project-cards>.project-card{display:grid;grid-template-rows:minmax(56px,1fr) 34px 6px 34px 50px 34px;gap:8px;height:310px;min-height:310px;max-height:310px;padding:14px;overflow:visible;align-content:stretch}.client-contained-projects>.project-card>.entity-heading,.internal-container .project-cards>.project-card>.entity-heading{margin:0;min-height:0;gap:9px;align-items:center}.client-contained-projects>.project-card>p,.internal-container .project-cards>.project-card>p{margin:0;padding:0;font-size:12px;line-height:17px;min-height:0}.client-contained-projects>.project-card>.project-card-subtitle,.internal-container .project-cards>.project-card>.project-card-subtitle{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--muted)}.client-contained-projects>.project-card>.project-progress,.internal-container .project-cards>.project-card>.project-progress{margin:0;width:100%;height:6px;align-self:center}.client-contained-projects>.project-card>.project-people,.internal-container .project-cards>.project-card>.project-people{margin:0;padding:6px;min-height:50px;align-self:center}.client-contained-projects>.project-card>.actions-stack,.internal-container .project-cards>.project-card>.actions-stack{margin:0;gap:6px;flex-wrap:nowrap;align-self:end}.client-contained-projects>.project-card>.actions-stack button,.internal-container .project-cards>.project-card>.actions-stack button{font-size:12px;padding:6px 8px;min-height:32px}.client-contained-projects>.project-card h3,.internal-container .project-cards>.project-card h3{font-size:15px;margin:0}.client-contained-projects>.project-card .entity-logo,.client-contained-projects>.project-card .entity-initials,.internal-container .project-cards>.project-card .entity-logo,.internal-container .project-cards>.project-card .entity-initials{width:48px;height:48px;min-width:48px}

.client-contained-projects>.project-card .entity-heading .status,.internal-container .project-cards>.project-card .entity-heading .status{display:none}

/* Acciones y estados uniformes; espacio equilibrado para cada columna. */
.task-group-body table{min-width:980px}.task-group-body th:first-child{width:36%}.task-group-body th:nth-child(2){width:20%}.task-group-body th:nth-child(3){width:14%}.task-group-body th:nth-child(4){width:13%}.task-group-body th:last-child{width:17%}.task-row-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:nowrap;gap:6px;white-space:nowrap}.task-row-actions>.small-button{min-height:30px;font-size:12px;padding:5px 8px;flex-shrink:0}.task-order-buttons button{font-size:18px;font-weight:600;line-height:13px;display:flex;align-items:center;justify-content:center;height:16px;min-height:16px}.task-inline-state:disabled{opacity:1;cursor:default;appearance:none;padding-right:6px}.task-inline-state.task-status-done{color:var(--positive);background:var(--panel);font-weight:600}.task-inline-state.task-status-pending{color:var(--negative)}.task-inline-state.task-status-working{color:#8c6b00}.task-inline-state.task-status-review{color:#b55b12}[data-theme=dark] .task-inline-state.task-status-working{color:#edcf68}[data-theme=dark] .task-inline-state.task-status-review{color:#ffb26b}
/* Clientes y proyectos conservan el logo con fondo blanco, sin marco exterior. */
.entity-logo{border:0!important;box-shadow:none!important;background:#fff}.entity-initials{border:0!important;box-shadow:none!important}.client-container-heading .entity-logo,.project-card .entity-logo,.home-project-heading .entity-logo,.project-detail-heading .entity-logo{padding:4px;border-radius:9px;background:#fff}

/* Jerarquía ligera y compacta en controles y tareas. */
.task-group-body .task-row-title,.tasks-main-list .task-row-title,.project-next-tasks li strong{font-weight:400}.task-order-buttons{width:16px;gap:0}.task-order-buttons button{width:16px;height:14px;min-height:14px;font-size:13px;line-height:12px;font-weight:400;color:var(--muted);opacity:.65;padding:0;background:transparent;border:0;box-shadow:none}.task-order-buttons button:hover:not(:disabled){color:var(--ink);opacity:1;background:var(--soft)}.task-order-buttons button:disabled{opacity:.18}.task-title-order{gap:5px}.task-state-field{display:flex;flex-direction:column;gap:1px;min-width:0}.task-state-field>.task-inline-state{width:100%;min-height:28px;height:28px;padding-top:3px;padding-bottom:3px;font-weight:400}.task-origin{display:block;font-size:10px;line-height:12px;letter-spacing:0;font-weight:400;padding-left:5px;white-space:nowrap}.task-origin-auto{color:#426d98}.task-origin-manual{color:var(--muted)}[data-theme=dark] .task-origin-auto{color:#a6c8ea}
.workspace .small-button,.workspace .quiet,.workspace button.primary,.top-actions button,.workspace .page-actions>button{font-size:12px;font-weight:400;line-height:1.25}.workspace .task-row-actions>.small-button,.workspace .row-actions>.small-button,.workspace .actions-stack>.small-button{font-size:12px;font-weight:400;min-height:29px;height:29px;padding:5px 8px}.workspace .creation-actions>button,.workspace .page-actions>button{padding:7px 11px;min-height:32px}.workspace .task-group-controls>button{font-size:12px;font-weight:400;padding:4px 7px;min-height:28px}.workspace .tabs-inline>button,.workspace .following-tabs>button,.workspace .task-project-kind>button{font-weight:400}.workspace .tabs-inline>button.active,.workspace .following-tabs>button[aria-pressed=true],.workspace .task-project-kind>button[aria-pressed=true]{font-weight:500}
.task-quick-filters,.task-quick-filters:has(.task-period-filter:empty){display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px 16px;margin-bottom:10px}.task-quick-filters .task-filter-controls,.task-quick-filters:has(.task-period-filter:empty) .task-filter-controls{display:flex;flex:0 0 auto;align-items:flex-end;flex-wrap:nowrap;gap:6px;grid-column:auto}.task-quick-filters .task-filter-icons{display:flex;flex-direction:column;gap:4px;flex:0 1 auto;min-width:0;max-width:100%;align-items:flex-start}.task-quick-filters .task-filter-label{min-height:14px;font-size:11px;padding:0;line-height:14px}.task-quick-filters .task-filter-buttons{min-height:32px;padding:0;gap:5px;align-items:center}.task-quick-filters .task-filter-buttons>button{height:30px;min-height:30px;font-weight:400;font-size:11px;padding:4px 6px}.task-quick-filters .task-filter-buttons>.person-filter,.task-quick-filters .task-filter-buttons>.type-filter{width:30px;padding:2px}.task-quick-filters .task-filter-controls>label{min-width:112px;gap:4px;font-size:11px}.task-quick-filters .task-filter-controls>label>select{height:30px;min-height:30px;min-width:112px;font-size:12px;padding:4px 8px}.task-quick-filters .task-filter-controls .task-reset{height:30px;min-height:30px;width:30px}.task-quick-filters .task-period-filter:empty{display:none!important}.task-quick-filters .person-filter .task-assignee-avatar{width:25px;height:25px;min-width:25px}@media(max-width:760px){.task-quick-filters,.task-quick-filters:has(.task-period-filter:empty){gap:8px 12px}.task-quick-filters .task-filter-icons{max-width:100%}.task-quick-filters .task-filter-controls{max-width:100%;flex-wrap:wrap}}

/* Una sola lista de tareas en proyectos, internos y la vista general de Tareas. */
.unified-task-list table{table-layout:fixed;width:100%;min-width:980px;font-size:13px}.unified-task-list th:first-child{width:auto}.unified-task-list th:nth-child(2){width:190px}.unified-task-list th:nth-child(3){width:138px}.unified-task-list th:nth-child(4){width:120px}.unified-task-list th:last-child{width:170px}.unified-task-list th,.unified-task-list td{padding:8px 9px;vertical-align:middle;font-size:13px}.unified-task-list th{font-size:12px}.unified-task-list .task-title-order{display:flex;gap:7px;align-items:center;min-width:0}.task-description-cell{min-width:0;flex:1;font-weight:400}.unified-task-list .task-row-title{font-size:13px;font-weight:400;line-height:1.4;white-space:normal;overflow-wrap:anywhere;overflow:visible;text-overflow:clip}.task-row-meta{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;margin-top:3px;color:var(--muted);font-size:11px;line-height:15px;font-weight:400}.task-row-meta>.task-origin{display:inline;font-size:11px;line-height:15px;padding:0}.task-row-meta>span+span{border-left:1px solid var(--line);padding-left:8px}.unified-task-list .task-row-description{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin:3px 0 0;font-size:12px;line-height:17px;color:var(--muted);font-weight:400;white-space:normal;overflow-wrap:anywhere}.unified-task-list .task-state-field{display:block}.unified-task-list .task-inline-state{width:100%;font-size:12px;min-height:30px;height:30px;font-weight:400}.unified-task-list .task-row-actions{display:flex;justify-content:flex-end;align-items:center;gap:6px;flex-wrap:nowrap}.unified-task-list .task-row-actions>.small-button{font-size:12px;font-weight:400;height:29px;min-height:29px;padding:5px 8px}.unified-task-list .task-order-buttons{flex:0 0 16px}.unified-task-list .task-order-buttons button{font-weight:400;color:var(--muted);font-size:13px;opacity:.65}.unified-task-list .task-order-buttons button:disabled{opacity:.18}

/* Encabezado: proyecto, cliente y descripción breve; equipo en Vista general. */
.project-client-caption{display:block;color:var(--muted);font-size:11px;line-height:1.4;font-weight:400;margin-top:4px}.project-detail-heading .entity-heading{align-items:center;gap:14px}.project-detail-heading .project-client-caption{font-size:12px;margin:3px 0 0}.project-detail-heading .project-express-description{margin:6px 0 0;font-size:14px;line-height:1.45;color:var(--ink);font-weight:400}.project-card .entity-heading>div{min-width:0}.project-card .project-client-caption{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}

/* Vista general: gráfico amplio y alineado con la altura de próximas entregas. */
.project-overview-performance{align-items:stretch}.project-overview-performance>.task-pie-summary{display:grid;grid-template-columns:minmax(140px,1fr) minmax(160px,1.1fr);align-items:center;gap:18px;min-height:260px;margin:0;padding:20px;box-sizing:border-box}.project-overview-performance .task-pie-chart{width:100%;max-width:220px;min-width:0;justify-self:center;flex:none}.project-overview-performance .task-pie-chart svg{width:100%;height:auto;aspect-ratio:1}.project-overview-performance .task-pie-content{min-width:0}.project-overview-performance .task-pie-content h3{font-size:14px;margin-bottom:14px}.project-overview-performance .task-pie-legend{grid-template-columns:1fr;gap:12px}.project-overview-performance .task-pie-legend>span{font-size:12px}.project-overview-performance .task-pie-caption{font-size:11px;line-height:1.4;margin-top:14px}.project-overview-performance>.project-next-tasks{min-width:0;align-self:stretch}@media(max-width:600px){.project-overview-performance>.task-pie-summary{grid-template-columns:minmax(110px,.9fr) minmax(140px,1fr);gap:12px;padding:16px;min-height:230px}.project-overview-performance .task-pie-chart{max-width:180px}}@media(max-width:380px){.project-overview-performance>.task-pie-summary{grid-template-columns:1fr}.project-overview-performance .task-pie-chart{max-width:190px}}

/* Ficha y equipo pertenecen a Vista general, debajo de sus pestañas. */
.project-overview-grid{grid-template-columns:minmax(0,2fr) minmax(260px,1fr);align-items:stretch;gap:14px}.project-overview-info{min-width:0}.project-overview-identity{align-items:center;gap:14px}.project-overview-identity>div{min-width:0}.project-overview-identity h2{font-size:21px;line-height:1.3;margin:0 0 5px;font-weight:600}.project-overview-identity .entity-logo,.project-overview-identity .entity-initials{width:64px;height:64px;min-width:64px}.project-overview-identity .project-client-caption{margin:0;font-size:12px}.project-overview-identity .project-express-description{margin:6px 0 0;font-size:14px;line-height:1.4}.project-full-description{font-size:13px;line-height:1.6;margin:16px 0 12px}.project-overview-info-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.project-overview-info-footer .note-area{font-size:12px}.project-overview-grid .project-assigned-person{gap:7px}.project-overview-grid .project-assigned-person .team-person-heading{gap:8px}.project-overview-grid .project-assigned-person .team-person-avatar{width:32px;height:32px;min-width:32px}.project-overview-grid .project-assigned-person .team-person-heading h3{font-size:13px}.project-overview-grid .project-assigned-person .team-person-heading p{font-size:11px}.project-overview-grid .project-assigned-person .status{font-size:10px;padding:3px 6px}@media(max-width:850px){.project-overview-grid{grid-template-columns:minmax(0,1fr)}}

.projects-summary-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.projects-summary-kpis>.metric{min-width:0;min-height:100px;padding:14px}.projects-summary-kpis .detail{font-size:12px;line-height:1.4}@media(max-width:1000px){.projects-summary-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:500px){.projects-summary-kpis{grid-template-columns:minmax(0,1fr)}}

/* Seis indicadores de proyectos en una sola fila de escritorio. */
.projects-summary-kpis{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.projects-summary-kpis>.metric{padding:12px 10px;min-height:104px}.projects-summary-kpis .label{font-size:12px;line-height:1.35}.projects-summary-kpis .value{font-size:23px;line-height:1.2}.projects-summary-kpis .detail{font-size:11px;line-height:1.35}@media(max-width:900px){.projects-summary-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:500px){.projects-summary-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Prueba de tres proyectos por fila, compartiendo el espacio de cada cliente. */
.client-containers-grid>.project-slots-1,.internal-containers-grid>.project-slots-1{flex-basis:calc((100% - 24px)/3)}.client-containers-grid>.project-slots-2,.internal-containers-grid>.project-slots-2{flex-basis:calc((200% - 12px)/3)}.client-containers-grid>.project-slots-3,.client-containers-grid>.project-slots-4,.internal-containers-grid>.project-slots-3,.internal-containers-grid>.project-slots-4{flex-basis:100%}.project-slots-1>.client-contained-projects,.project-slots-1>.project-cards{grid-template-columns:minmax(0,1fr)}.project-slots-2>.client-contained-projects,.project-slots-2>.project-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.project-slots-3>.client-contained-projects,.project-slots-3>.project-cards,.project-slots-4>.client-contained-projects,.project-slots-4>.project-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.client-containers-grid:has(>.project-slots-1):has(>.project-slots-2)>.project-slots-1,.internal-containers-grid:has(>.project-slots-1):has(>.project-slots-2)>.project-slots-1{flex-basis:calc((100% + 8px)/3)}.client-containers-grid:has(>.project-slots-1):has(>.project-slots-2)>.project-slots-2,.internal-containers-grid:has(>.project-slots-1):has(>.project-slots-2)>.project-slots-2{flex-basis:calc((200% - 44px)/3)}
.client-contained-projects>.project-card,.internal-container .project-cards>.project-card{grid-template-rows:minmax(56px,1fr) 34px 6px 34px 50px;height:260px;min-height:260px;max-height:260px;cursor:pointer;transition:box-shadow .15s ease,background-color .15s ease}.project-card[data-project-card]:hover{box-shadow:0 0 0 1px var(--accent),0 3px 12px #153b3312}.project-card[data-project-card]:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.project-card[data-project-card]>.entity-heading h3{line-height:1.35;font-weight:500}.project-overview-info-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.project-overview-info-top>.project-overview-identity{min-width:0;flex:1}.project-overview-info-top>button{flex:0 0 auto;align-self:flex-start}@media(max-width:760px){.client-containers-grid>.client-container,.internal-containers-grid>.internal-container{flex-basis:100%!important}.client-contained-projects,.internal-container>.project-cards{grid-template-columns:minmax(0,1fr)!important}.project-overview-info-top{flex-wrap:wrap}.project-overview-info-top>button{margin-left:auto}}

/* Cada tarea ocupa dos líneas: título y metadatos con descripción al lado. */
.unified-task-list .task-row-title{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:19px}.unified-task-list .task-row-meta{display:flex;flex-wrap:nowrap;align-items:center;gap:7px;margin-top:3px;height:17px;min-width:0;overflow:hidden;white-space:nowrap;line-height:17px}.unified-task-list .task-row-meta>span{flex:0 0 auto}.unified-task-list .task-row-meta>.task-row-description{display:block;flex:1 1 auto;min-width:0;margin:0;padding-top:0;padding-bottom:0;font-size:11px;line-height:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:unset}.unified-task-list .task-row-meta>.task-origin{line-height:17px}.task-completed-group>.unified-task-list{margin-top:6px}

/* Resúmenes: mismas separaciones y tipografía que los demás paneles. */
.summary-compact.home-business-top{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin-bottom:18px}
.summary-compact .home-business-kpis{display:grid;gap:16px}
.summary-compact .home-indicator-section{display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;margin:0}
.summary-compact .home-indicator-section+.home-indicator-section{margin-top:0}
.summary-compact .home-indicator-section>header{display:flex;align-items:center;justify-content:center;flex-wrap:nowrap;margin:0;border-radius:8px;background:var(--soft);padding:10px 0}
.summary-compact .home-indicator-section>header h2{writing-mode:vertical-rl;transform:rotate(180deg);margin:0;font-size:12px;line-height:1.2;letter-spacing:.3px;font-weight:500}
.summary-compact .home-indicator-section-projected>header{background:#edf3fa}
[data-theme=dark] .summary-compact .home-indicator-section-projected>header{background:#243a4c}
.summary-compact .home-business-kpis .home-business-indicators{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:auto;gap:16px;margin:0;height:auto}
.summary-compact .home-business-kpis .home-business-indicators>.metric{padding:14px 15px;min-height:96px;border-radius:9px;display:flex;flex-direction:column;justify-content:center}
.summary-compact .home-business-kpis .metric .label{font-size:12px;font-weight:400;line-height:1.35;min-height:0;margin:0 0 8px}
.summary-compact .home-business-kpis .metric .value{font-size:24px;font-weight:600;line-height:1.2;letter-spacing:-.3px;margin:0}
.summary-compact .home-business-kpis .metric .value *{font-weight:inherit}
.summary-compact .home-business-chart>.panel{height:auto;padding:14px 16px;margin:0;border-radius:9px}
.summary-compact .home-business-chart .panel-head{min-height:0;margin-bottom:8px;gap:12px}
.summary-compact .home-business-chart .panel-head h2{font-size:16px;font-weight:500}
.summary-compact .home-business-chart .business-chart-legend{font-size:12px;line-height:1.35;gap:8px 16px}
.summary-compact .home-business-chart .business-chart-scroll{margin-top:8px}
.summary-compact .home-business-chart .business-chart-scroll svg{display:block;width:100%;min-width:0;min-height:0;height:auto;max-height:260px}
.summary-compact .home-business-chart .business-chart-value,.summary-compact .home-business-chart .business-chart-month-label{font-size:10px;font-weight:400}
.summary-compact .home-business-chart .business-chart-month.selected .business-chart-month-label{font-weight:500}
.summary-compact .home-business-chart .home-chart-navigation{font-size:12px;gap:8px}
.summary-compact .home-chart-navigation>button{min-height:28px;height:28px;padding:3px 7px;font-size:12px}
.finance-summary-toolbar.accounts-period-toolbar{margin-bottom:14px;gap:12px}
@media(max-width:650px){.summary-compact .home-indicator-section{grid-template-columns:24px minmax(0,1fr);gap:10px}.summary-compact .home-business-kpis .home-business-indicators{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.summary-compact .home-business-kpis .metric .value{font-size:21px}.summary-compact .home-business-kpis .home-business-indicators>.metric{padding:12px;min-height:90px}.summary-compact .home-business-chart .business-chart-scroll svg{min-width:620px;max-height:none}.summary-compact .home-business-chart .business-chart-scroll{overflow-x:auto}}
@media(max-width:420px){.summary-compact .home-business-kpis .home-business-indicators{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Leyenda lateral para liberar altura en el gráfico del resumen. */
.summary-compact .business-chart-layout{display:grid;grid-template-columns:minmax(0,1fr) 160px;gap:16px;align-items:center}.summary-compact .business-chart-layout>.business-chart-scroll{margin-top:0;min-width:0}.summary-compact .business-chart-layout>.business-chart-legend{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:14px;font-size:11px;line-height:1.4}.summary-compact .business-chart-layout>.business-chart-legend>span{display:flex;align-items:center;gap:6px;white-space:normal}.summary-compact .business-chart-layout .business-chart-legend i{flex-shrink:0}@media(max-width:650px){.summary-compact .business-chart-layout{grid-template-columns:minmax(0,1fr);gap:12px}.summary-compact .business-chart-layout>.business-chart-legend{flex-direction:row;flex-wrap:wrap;gap:8px 16px}}

/* Moneda junto al importe, con cifras y decimales alineados a la derecha. */
.accounting-money{display:inline-grid;grid-template-columns:max-content max-content;align-items:baseline;column-gap:5px;width:max-content;max-width:100%;margin-left:auto;vertical-align:baseline}.accounting-currency{text-align:left}.accounting-number{text-align:right}.accounting-cell .simulator-edit-value{text-align:right}.contract-period-unit{display:inline;font-size:11px;font-weight:400;margin-left:4px;white-space:nowrap}.contract-branch-total .accounting-money,.contract-header-income .accounting-money,.contract-client-subtotal .accounting-money,.contracts-grand-total .accounting-money{column-gap:5px}.contract-client-subtotal>strong:last-child,.contracts-grand-total>span>strong{text-align:right;font-variant-numeric:tabular-nums}

/* Más ancho útil para barras e importes, con leyenda lateral compacta. */
.summary-compact .business-chart-layout{grid-template-columns:minmax(0,1fr) 126px;gap:10px}.summary-compact .business-chart-layout>.business-chart-legend{font-size:11px;gap:12px}.summary-compact .home-business-chart .business-chart-scroll svg{max-height:300px}.summary-compact .home-business-chart .business-chart-value{font-size:12px;font-weight:400}.summary-compact .home-business-chart .business-chart-month-label{font-size:11px;font-weight:400}@media(max-width:650px){.summary-compact .business-chart-layout{grid-template-columns:minmax(0,1fr);gap:12px}.summary-compact .home-business-chart .business-chart-scroll svg{max-height:none}}

/* El logo ocupa su marco completo, sin relleno blanco alrededor. */
.project-card .entity-logo,.home-project-card .entity-logo,.project-overview-identity .entity-logo{padding:0!important;border:0!important;box-shadow:none!important;object-fit:contain}

/* Compact task tools and project overview; navigation and Inicio retain their layout. */
.period-close-status,.period-close-status:hover:not(:disabled),[data-theme=dark] .period-close-status{display:inline-flex;align-items:center;padding:0;border:0;border-radius:99px;background:transparent;color:inherit;line-height:1;white-space:nowrap}

.home-indicator-section header{display:flex;align-items:center;justify-content:center;gap:4px}
.estimate-details-button{background:transparent;border:0;padding:4px;font-size:15px;color:inherit;line-height:1}.task-filters-compact .task-filter-controls{display:flex!important;align-items:flex-end;gap:12px;flex-wrap:wrap}.task-filters-compact .task-filter-icons{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin:0}.task-filters-compact .task-period-filter:empty{display:none}.task-filters-compact .task-search-label{min-width:170px;flex:1;max-width:270px}.task-filters-compact input[type="search"]{min-height:34px;width:100%;padding:6px 10px}.task-extra-filters{position:relative}.task-extra-filters summary{cursor:pointer;font-size:13px;min-height:34px;padding:7px 10px;border:1px solid var(--line);border-radius:7px;box-sizing:border-box}.task-extra-filters[open]>.task-filter-buttons{position:absolute;top:100%;right:0;z-index:5;min-width:250px;padding:12px;background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:0 4px 16px #0002}.task-title-link{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:transparent;border:0;padding:0;color:inherit;font-size:inherit;font-weight:400;text-align:left;cursor:pointer}.task-title-link:hover{text-decoration:underline}.project-description-details{margin-top:12px;font-size:13px}.project-description-details summary{cursor:pointer;color:var(--muted)}.project-description-details p{line-height:1.5}.project-overview-kpis{grid-template-columns:repeat(3,minmax(0,1fr))!important}.project-assigned-people{gap:8px!important}.project-assigned-person{padding:4px 0!important}.finance-task-steps{padding-left:22px;line-height:1.8}.finance-task-steps .quiet{padding:2px 0;text-align:left}
@media(max-width:650px){.project-overview-kpis{grid-template-columns:1fr!important}.task-extra-filters[open]>.task-filter-buttons{right:auto;left:0}.task-filters-compact .task-search-label{max-width:none}}
.unified-task-list table{min-width:780px}.unified-task-list th:nth-child(2){width:170px}.unified-task-list th:nth-child(3){width:130px}.unified-task-list th:nth-child(4){width:115px}.unified-task-list th:last-child{width:105px}.unified-task-list .task-title-link{font-size:13px;line-height:19px;min-height:19px}.task-extra-filters .task-filter-buttons{height:auto;flex-wrap:wrap;max-width:320px;overflow:visible}.task-extra-filters .task-filter-buttons>.type-filter{width:auto;gap:5px;padding:4px 7px}.task-extra-filters .type-filter>span{display:inline}.task-filters-compact .task-filter-controls>label{grid-template-rows:14px 34px}.task-filters-compact .task-filter-controls>label>select{height:34px;margin:0}.task-filters-compact .task-filter-buttons{height:34px}.task-filters-compact .task-filter-controls>.task-reset{margin:0;align-self:flex-end}

/* Inicio shares the project-card click and keyboard behavior. */
.home-project-card[data-project-card]{cursor:pointer;transition:box-shadow .15s ease,border-color .15s ease}.home-project-card[data-project-card]:hover{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 3px 12px #153b3312}.home-project-card[data-project-card]:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

/* Keep the estimate label within its vertical rail; the label itself opens the calculation. */
.summary-compact .home-indicator-section>header{padding:4px 0;gap:0;min-width:0}
.summary-compact .home-indicator-section>header h2{font-size:11px;line-height:1.1;letter-spacing:0;max-inline-size:88px}
.summary-compact .home-indicator-section>header .estimate-details-button{font:inherit;writing-mode:inherit;padding:0;border:0;max-inline-size:88px;white-space:normal;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px}

/* Performance: no button background masquerading as remaining work, including dark mode. */
.team-workload .team-chart-bar,.team-workload .team-chart-bar:hover:not(:disabled),[data-theme=dark] .team-workload .team-chart-bar,[data-theme=dark] .team-workload .team-chart-bar:hover:not(:disabled){background:transparent}
.performance-project-card .entity-logo{padding:0!important;border:0!important;box-shadow:none!important;background:transparent!important}

/* Shared financial register: column order and state position in both views. */
.unified-movements.finance-register-table table{width:100%;min-width:1120px;table-layout:fixed}
.unified-movements.finance-register-table th:nth-child(1){width:78px}
.unified-movements.finance-register-table th:nth-child(2){width:100px}
.unified-movements.finance-register-table th:nth-child(3){width:17%}
.unified-movements.finance-register-table th:nth-child(4){width:auto}
.unified-movements.finance-register-table th:nth-child(5){width:130px}
.unified-movements.finance-register-table th:nth-child(6){width:105px}
.unified-movements.finance-register-table th:nth-child(7){width:120px}
.unified-movements.finance-register-table th:nth-child(8){width:155px}
.unified-movements.finance-register-table th,.unified-movements.finance-register-table td{vertical-align:middle;padding:14px 9px}
.finance-concept-label{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.finance-description{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.45;max-height:2.9em;white-space:normal}
.finance-third-label,.finance-account-label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.finance-concept>.movement-kind{display:block;font-size:11px;color:var(--muted);margin-top:2px}
.finance-register-table .movement-state>.account-state{margin:0;white-space:nowrap}
.finance-register-table .finance-balance{display:block;white-space:nowrap;font-size:11px;font-weight:400;color:var(--muted);margin-top:6px}
.unified-movements.finance-register-table .finance-detail-toggle{width:auto;min-width:52px}
.finance-register-table [data-action=payment]{background:#a82f27;color:#fff;border-color:#a82f27}
.finance-detail-description p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.55}
.finance-detail-totals{display:flex;flex-wrap:wrap;gap:24px;margin:20px 0;padding:16px 0;border-block:1px solid var(--line)}
.finance-detail-totals dt{font-size:12px;color:var(--muted)}
.finance-detail-totals dd{margin:5px 0 0;font-weight:650;font-variant-numeric:tabular-nums}

.unified-movements.finance-register-table td:last-child>.row-actions{justify-content:flex-start;align-items:flex-start;flex-wrap:wrap}

/* Keep every financial row to two concept lines and center its controls. */
.unified-movements.finance-register-table tbody td{vertical-align:middle}
.finance-register-table .movement-state>.account-state{display:block;width:max-content;line-height:16px;margin:0}
.unified-movements.finance-register-table td:last-child>.row-actions{align-items:center}
.finance-concept-heading{display:flex;align-items:baseline;gap:7px;min-width:0}
.finance-concept-heading>.finance-concept-label{min-width:0}
.finance-concept-heading>.movement-kind{flex-shrink:0;margin:0}
.finance-register-table .finance-description{-webkit-line-clamp:1;max-height:1.45em}

.auth-card .password-visibility{justify-self:start;width:auto;padding:5px 0;border:0;background:transparent;color:var(--accent);font-size:13px;text-decoration:underline}

/* Phone task cards reuse the same authorized controls and save handlers. */
@media(max-width:600px){
 .unified-task-list,.unified-task-list>.table-wrap{min-width:0;max-width:100%;overflow:visible}
 .unified-task-list table{display:block;width:100%;min-width:0!important;table-layout:auto}
 .unified-task-list thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .unified-task-list tbody{display:grid;gap:12px;width:100%}
 .unified-task-list tr.task-mobile-card{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;border:1px solid var(--line);border-radius:12px;padding:14px;background:var(--panel);min-width:0}
 .unified-task-list tr.task-mobile-card>td{display:block;width:auto;min-width:0;border:0;padding:0;text-align:left;white-space:normal;overflow-wrap:anywhere}
 .unified-task-list tr.task-mobile-card>td[data-mobile-label]:not(:first-child)::before{content:attr(data-mobile-label);display:block;font-size:12px;line-height:1.4;color:var(--muted);margin-bottom:5px;font-weight:500}
 .unified-task-list .task-title-order{align-items:flex-start}
 .unified-task-list .task-row-title{font-size:15px;line-height:1.45}
 .unified-task-list .task-row-description{font-size:13px;line-height:1.5}
 .unified-task-list .task-inline-state,.unified-task-list .task-inline-assignee,.unified-task-list .task-date-field{min-height:44px;height:auto;font-size:16px;line-height:1.4;width:100%;max-width:100%}
 .unified-task-list .task-date-field{justify-content:flex-start;padding:10px}
 .unified-task-list .task-date-field>.task-inline-date{font-size:16px}
 .unified-task-list .task-assignee-control{width:100%;flex-wrap:wrap}
 .unified-task-list .task-assignee-control>select{flex:1 1 150px;min-width:0}
 .unified-task-list .task-row-actions{justify-content:flex-start;flex-wrap:wrap}
 .unified-task-list .task-row-actions>.small-button,.unified-task-list .task-row-title button{min-height:44px;height:auto}
 .unified-task-list .task-order-buttons{flex-basis:32px}
 .unified-task-list .task-order-buttons button{width:32px;min-height:32px;height:32px}
 .task-project-group>summary{flex-wrap:wrap;gap:8px}
 .task-group-counts{margin-left:25px;white-space:normal}
 .task-group-body{padding:12px 8px}
 .task-quick-filters .task-filter-controls{flex-wrap:wrap!important;max-width:100%}
 .task-filter-controls select,.task-filter-controls input,.modal-body input:not([type=checkbox]):not([type=radio]),.modal-body select,.modal-body textarea{font-size:16px;min-height:44px;max-width:100%}
 .modal-head{padding:16px;gap:8px}.modal-head h2{font-size:18px;overflow-wrap:anywhere}.modal-body{padding:16px}
 .modal-body .form-actions{flex-wrap:wrap}.modal-body .form-actions>button{min-height:44px}
}

/* Contract editing: clear sections and compact guidance. */
#modal.contract-edit-modal{width:920px;max-width:calc(100vw - 24px)}
.contract-edit-section{display:block;border:1px solid var(--line);border-radius:12px;padding:18px;margin:0;background:var(--panel);min-width:0}
.contract-edit-heading{display:flex;align-items:flex-start;gap:11px;padding-bottom:14px;margin-bottom:16px;border-bottom:1px solid var(--line)}
.contract-edit-heading>span{display:grid;place-items:center;flex:0 0 28px;height:28px;border-radius:8px;background:var(--soft);color:var(--accent);font-size:13px;font-weight:650}
.contract-edit-heading h3{margin:0 0 3px;font-size:16px}.contract-edit-heading p{margin:0;color:var(--muted);font-size:12px;line-height:1.4}
.contract-edit-section #service-contract-rows,.contract-edit-section #service-agreement-rows{display:grid;gap:16px;margin-bottom:14px}
.contract-edit-section .contract-editor-row{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:8px;margin:0}.contract-edit-section .contract-editor-row>.field{flex:1;min-width:0}
.contract-edit-section .service-agreement-fields{min-width:0;margin:0;padding:16px;border:1px solid var(--line);border-radius:10px;background:var(--paper)}
.contract-edit-section .service-agreement-fields+ .service-agreement-fields{margin-top:16px}
.contract-edit-section .service-agreement-fields legend{max-width:100%;white-space:normal;overflow-wrap:anywhere;padding:0 7px;font-size:13px;font-weight:600;color:var(--ink)}
.contract-edit-section .service-agreement-fields>small{display:block;margin-top:12px;color:var(--muted);font-size:11px;line-height:1.4}
.contract-edit-section .form-grid{gap:14px 18px}.contract-edit-empty{color:var(--muted);font-size:13px;margin:0}
@media(max-width:600px){.contract-edit-section{padding:12px}.contract-edit-section .service-agreement-fields{padding:12px}.contract-edit-section .contract-editor-row{flex-wrap:wrap}.contract-edit-section .contract-editor-row>.field{flex-basis:100%}.contract-edit-heading{gap:8px}.contract-edit-section>button{min-height:44px}}

.contract-overview-list{display:grid;gap:8px;margin:0 0 18px}.contract-overview-item{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:var(--paper)}.contract-overview-item>div{flex:1;min-width:0}.contract-overview-item strong{display:block;font-size:13px;overflow-wrap:anywhere}.contract-overview-item small{display:block;margin-top:4px;font-size:11px;color:var(--muted)}@media(max-width:600px){.contract-overview-item{flex-wrap:wrap}.contract-overview-item>div{flex-basis:100%}.contract-overview-item>button{min-height:44px;margin-left:auto}}

/* Keep section numbers aligned with titles, independently of help text. */
.contract-edit-heading{display:grid;grid-template-columns:28px minmax(0,1fr);column-gap:11px;row-gap:3px;align-items:center}
.contract-edit-heading>div{display:contents}.contract-edit-heading>span{grid-column:1;grid-row:1;align-self:center}.contract-edit-heading h3{grid-column:2;grid-row:1;margin:0;line-height:28px}.contract-edit-heading p{grid-column:2;grid-row:2;margin:0}
.contract-edit-disclosure{border:1px solid var(--line);border-radius:9px;background:var(--paper);min-width:0;overflow:clip}.contract-edit-disclosure+ .contract-edit-disclosure{margin-top:12px}
.contract-edit-disclosure>summary{display:flex;align-items:center;gap:10px;cursor:pointer;list-style:none;min-height:48px;padding:12px 14px;font-size:13px;font-weight:550;color:var(--ink)}.contract-edit-disclosure>summary::-webkit-details-marker{display:none}.contract-edit-disclosure>summary::before{content:'›';font-size:20px;line-height:1;flex:0 0 12px;transition:transform .15s}.contract-edit-disclosure[open]>summary::before{transform:rotate(90deg)}.contract-edit-disclosure>summary>span{min-width:0;overflow-wrap:anywhere}.contract-edit-disclosure>summary:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.contract-edit-disclosure[open]>summary{border-bottom:1px solid var(--line)}
.contract-edit-section .contract-edit-disclosure>.service-agreement-fields{border:0;border-radius:0;margin:0;background:transparent}.contract-edit-sr-only{position:absolute;width:1px;height:1px;padding:0!important;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

/* Each contract owns its income, costs and profit columns. */
.contract-financial-list{display:grid;gap:10px}.contract-financial-card{border:1px solid var(--line);border-radius:10px;background:var(--panel);min-width:0;overflow:hidden}
.contract-financial-card>summary{display:grid;grid-template-columns:minmax(150px,1fr) 100px 64px repeat(3,minmax(100px,135px));align-items:center;gap:12px;padding:15px;list-style:none;cursor:pointer}
.contract-financial-card>summary::-webkit-details-marker{display:none}.contract-financial-name{position:relative;padding-left:18px;min-width:0}.contract-financial-name::before{content:'›';position:absolute;left:0;top:0;font-size:20px;line-height:20px}.contract-financial-card[open]>summary .contract-financial-name::before{transform:rotate(90deg)}
.contract-financial-name>strong{display:block;font-size:13px;overflow-wrap:anywhere}.contract-financial-name>small{display:block;margin-top:5px;font-size:11px;color:var(--muted)}
.contract-financial-card>summary>.status{justify-self:start;margin:0;white-space:nowrap}.contract-financial-card>summary>button{justify-self:start;min-height:32px}
.contract-financial-metric{display:block;min-width:0;text-align:right;font-variant-numeric:tabular-nums}.contract-financial-metric>small{display:block;font-size:11px;color:var(--muted);margin-bottom:5px}.contract-financial-metric>strong{display:block;font-size:13px}.contract-financial-metric>strong>.contract-budget-separator{display:none}.contract-financial-metric>strong>span:not(.contract-budget-separator){display:block;line-height:1.6}.contract-financial-metric .contract-period-unit{font-size:10px;margin-left:3px}
.contract-financial-card[open]>summary{border-bottom:1px solid var(--line)}.contract-financial-card>summary:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.contract-financial-body{padding:16px}.contract-line-group+.contract-line-group{border-top:1px solid var(--line);padding-top:16px;margin-top:18px}.contract-line-group h4{margin:0 0 10px;font-size:13px}.contract-line-group td strong{font-size:12px}.contract-financial-actions{display:flex;justify-content:flex-end;border-top:1px solid var(--line);padding-top:14px;margin-top:16px}
.contract-grouped-client>summary{display:flex;align-items:center}.contract-grouped-client>summary>.compact-client-count{display:block!important;margin-left:auto;color:var(--muted);font-size:12px}
@media(max-width:1100px){.contract-financial-card>summary{grid-template-columns:minmax(120px,1fr) 90px 60px repeat(3,minmax(85px,110px));gap:8px;padding:12px}}
@media(max-width:760px){.contract-financial-card>summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 8px}.contract-financial-name{grid-column:1/-1}.contract-financial-card>summary>.status{grid-column:1/3}.contract-financial-card>summary>button{grid-column:3;justify-self:end;min-height:44px}.contract-financial-metric{text-align:left;border-top:1px solid var(--line);padding-top:10px}.contract-financial-metric>strong{font-size:12px}.contract-financial-body{padding:12px}.contract-line-group table{min-width:520px}}

/* Monthly income in closed headers; financial balance inside each contract. */
.contract-financial-card>summary{grid-template-columns:minmax(170px,1fr) 100px 64px minmax(130px,170px)}
.contract-monthly-balance{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;border-top:2px solid var(--line);padding:16px 0 0;margin-top:18px}.contract-monthly-balance>.contract-financial-metric{text-align:right}.contract-monthly-balance>.contract-financial-metric:last-child{border-left:1px solid var(--line);padding-left:14px}
.contract-client-monthly-income{margin-left:16px;text-align:right;font-variant-numeric:tabular-nums}.contract-client-monthly-income>small{display:block;font-size:11px;color:var(--muted);margin-bottom:4px}.contract-client-monthly-income>strong{font-size:14px}.contract-client-monthly-income .contract-period-unit{font-size:10px}
@media(max-width:760px){.contract-financial-card>summary{grid-template-columns:repeat(3,minmax(0,1fr))}.contract-financial-card>summary>.contract-financial-name{grid-column:1/-1}.contract-financial-card>summary>.status{grid-column:1}.contract-financial-card>summary>button{grid-column:2;justify-self:start}.contract-financial-card>summary>.contract-financial-metric{grid-column:3;border:0;padding-top:0;text-align:right}.contract-monthly-balance{gap:10px}.contract-monthly-balance>.contract-financial-metric{font-size:12px}.contract-client-monthly-income{margin-left:auto}}

/* Compact contract concepts: plain type text, consistent row alignment. */
.contract-compact-lines table{width:100%;table-layout:fixed;min-width:620px}.contract-compact-lines th,.contract-compact-lines td{vertical-align:middle;padding:9px 8px;font-size:12px}.contract-compact-lines th{font-size:11px;text-transform:none;letter-spacing:0}.contract-compact-lines th:first-child{width:75px}.contract-compact-lines th:nth-child(3){width:24%}.contract-compact-lines th:nth-child(4){width:140px;text-align:right}.contract-compact-lines th:last-child{width:65px}.contract-compact-lines td{overflow-wrap:anywhere}.contract-compact-lines td small{margin-top:3px;font-size:11px}.contract-entry-type{display:inline;padding:0;border:0;border-radius:0;background:none;font-size:12px;font-weight:500;white-space:nowrap}.contract-entry-type.income{color:var(--positive)}.contract-entry-type.expense{color:var(--negative)}.contract-entry-concept{font-weight:500}
.contract-row-detail>summary{cursor:pointer;color:var(--accent);font-size:12px;padding:6px 0;list-style:none}.contract-row-detail>summary::-webkit-details-marker{display:none}.contract-row-detail[open]{min-width:0}.contract-row-detail>div{font-size:12px;line-height:1.5}.contract-row-detail>div strong{display:block;font-size:11px;margin-top:8px}.contract-row-detail>div p{margin:3px 0;font-size:12px;white-space:pre-wrap}.contract-compact-lines:has(.contract-row-detail[open]) table{table-layout:auto}.contract-compact-lines:has(.contract-row-detail[open]) th:last-child{width:28%}.contract-financial-body .contract-monthly-balance{padding-top:12px;margin-top:10px}
@media(max-width:600px){.contract-row-detail>summary{min-height:44px;display:flex;align-items:center}.contract-compact-lines th,.contract-compact-lines td{padding:8px}}
