.sp-toolbar{display:flex;align-items:end;justify-content:space-between;gap:14px}.sp-toolbar form{display:flex;align-items:end;gap:10px}.sp-toolbar label{min-width:150px}.sp-tabs{margin:16px 0}.sp-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}.sp-kpis article,.sp-quarter-grid article{padding:18px;border:1px solid #dfe4e1;border-radius:13px;background:#fff}.sp-kpis span,.sp-kpis small,.sp-quarter-grid span,.sp-quarter-grid small{display:block;color:#68736e;font-size:11px}.sp-kpis strong,.sp-quarter-grid strong{display:block;margin:7px 0;font-size:22px;overflow-wrap:anywhere}.sp-overview-grid,.sp-scenario-layout,.sp-actions-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:16px}.sp-month-bars>div{display:grid;grid-template-columns:35px minmax(100px,1fr) minmax(100px,1fr) 110px;align-items:center;gap:8px;padding:8px 0}.sp-month-bars span{height:9px;border-radius:99px;background:#edf0ee;overflow:hidden}.sp-month-bars i{display:block;height:100%;background:#ffc107;border-radius:99px}.sp-month-bars span.actual i{background:#16865c}.sp-month-bars small{text-align:right}.sp-legend{display:flex;gap:16px;margin-top:12px}.sp-legend span{display:flex;align-items:center;gap:6px;font-size:12px}.sp-legend i{width:10px;height:10px;background:#ffc107;border-radius:50%}.sp-legend span:last-child i{background:#16865c}.sp-alert{display:grid;gap:3px;padding:12px;margin-top:8px;border-left:4px solid #25864b;background:#eff8f1;border-radius:8px}.sp-alert.is-danger{border-color:#c5362c;background:#fff1ef}.sp-alert.is-warning{border-color:#d49300;background:#fff8df}.sp-budget-scroll,.sp-forecast{overflow-x:auto}.sp-budget table{min-width:1500px;border-collapse:collapse}.sp-budget th,.sp-budget td{padding:7px;border:1px solid #e2e6e3}.sp-budget thead th{position:sticky;top:0;background:#14283d;color:#fff}.sp-budget tbody th{position:sticky;left:0;background:#fff;min-width:150px;z-index:1}.sp-budget .sp-area th{position:static;background:#fff2bd;text-align:left}.sp-budget input{min-width:92px;padding:9px}.sp-budget button{margin-top:16px}.sp-quarter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px}.sp-delta{font-weight:800;color:#a72d22}.sp-delta.up{color:#17743b}.sp-scenario-layout>section>form:not(.sp-simulation-filter){display:grid;gap:12px}.sp-scenario-layout fieldset{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;padding:12px;border:1px solid #dfe4e1;border-radius:10px}.sp-scenario-layout legend{font-weight:900}.sp-simulation-filter{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:10px}.sp-simulation{display:grid;gap:7px;margin-top:15px}.sp-simulation>div{display:grid;grid-template-columns:40px 1fr 1fr;gap:8px;padding:10px;background:#f4f6f5;border-radius:8px}.sp-simulation span,.sp-simulation strong{display:block}.sp-actions-layout{grid-template-columns:360px minmax(0,1fr)}.sp-actions-layout>section:first-child form{display:grid;gap:10px}.sp-row-actions{display:flex;gap:7px;align-items:center}.sp-row-actions form{margin:0}.sp-status{display:inline-block;padding:6px 9px;border-radius:99px;background:#eee;font-size:11px;font-weight:800;white-space:nowrap}.sp-status.is-done{background:#dcf3e2;color:#176430}.sp-status.is-progress{background:#e4efff;color:#215b9e}.sp-status.is-blocked{background:#fae0dc;color:#8e2b21}@media(max-width:1100px){.sp-kpis,.sp-quarter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sp-overview-grid,.sp-scenario-layout,.sp-actions-layout{grid-template-columns:1fr}.sp-actions-layout .report-table{overflow-x:auto}.sp-actions-layout table{min-width:900px}}@media(max-width:700px){.sp-toolbar,.sp-toolbar form{display:grid;align-items:stretch}.sp-toolbar label,.sp-toolbar button,.sp-toolbar a{width:100%}.sp-kpis,.sp-quarter-grid{grid-template-columns:1fr}.sp-month-bars>div{grid-template-columns:32px 1fr}.sp-month-bars span.actual{grid-column:2}.sp-month-bars small{grid-column:2;text-align:left}.sp-scenario-layout fieldset,.sp-simulation-filter{grid-template-columns:1fr}.sp-simulation>div{grid-template-columns:1fr}.sp-tabs{overflow-x:auto;flex-wrap:nowrap}.sp-tabs a{white-space:nowrap}}
