/* CDInnov workspace — shared responsive foundations, inspired by the supplied dashboard reference. */
:root{--bg:#eef1f4;--panel:#fff;--panel-2:#f5f7f9;--ink:#233448;--navy:#233e58;--muted:#66778a;--muted-2:#8290a0;--line:#e0e6ec;--line-strong:#ced7e0;--accent:#2385a8;--accent-strong:#176787;--accent-soft:#e9f3f7;--ok:#327959;--ok-soft:#e9f5ee;--warn:#ae433d;--warn-soft:#fff0ee;--pending:#946722;--pending-soft:#fff6e5;--radius:16px;--shadow:0 2px 3px #20354c03,0 8px 25px #20354c04,inset 0 1px 0 #ffffff;--shadow-lg:0 24px 80px #1a30412b;--font:'Manrope','Segoe UI',system-ui,sans-serif;--font-head:var(--font)}
body{background:var(--bg);font-size:14px}.app{padding:12px;gap:12px;align-items:flex-start}.sidebar{width:242px;flex-basis:242px;height:calc(100dvh - 24px);top:12px;border:1px solid #fff;border-radius:19px;background:#f9fafb;box-shadow:var(--shadow);padding:19px 12px 12px;gap:4px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;z-index:10}.brand{gap:10px;padding:1px 10px 20px;border-bottom:1px solid var(--line);margin:0 8px 7px}.brand .brand-logo{width:83px}.brand-sub{font-size:10px!important;color:var(--muted);font-weight:500!important}.sidebar .nav-label{padding:12px 13px 5px;font-size:9px;font-weight:750;letter-spacing:1.4px;color:#7f8b98}.sidebar .applications-label{margin-top:16px;padding-top:18px;border-top:1px solid var(--line)}.sidebar .nav-item{min-height:43px;padding:11px 12px;gap:10px;border-radius:10px;font-size:11.5px;color:#526173;line-height:1.4}.sidebar .nav-item>svg{width:18px;height:18px;flex:0 0 18px}.sidebar .nav-item:hover{background:#edf1f4}.sidebar .nav-item.active{background:#e6edf2;color:#223e56;box-shadow:inset 0 1px 2px #253e5210;font-weight:700}.sidebar .nav-item.active svg{stroke:currentColor}.sidebar .nav-item.cdi-application{grid-template-columns:18px minmax(0,1fr) 31px;gap:10px}.sidebar .nav-item.cdi-application .cdi-beta{font-size:8px;padding:2px 5px;background:var(--app-soft);color:var(--app-color);border:1px solid color-mix(in srgb,var(--app-color) 17%,transparent);border-radius:5px}.sidebar .cdi-nav-name{font-size:11.5px}.sidebar .app-billing{--app-color:#a06b28;--app-soft:#fff1da}.sidebar .app-budgets{--app-color:#237da1;--app-soft:#e3f1f8}.sidebar .app-sheets{--app-color:#3d8162;--app-soft:#e7f4eb}.sidebar .nav-item.cdi-application.active{background:var(--app-soft);color:var(--app-color)}.sidebar .user-chip{border:1px solid var(--line);background:#fff;border-radius:12px;margin-top:16px;padding:12px 10px}.sidebar .user-chip button{min-height:32px}.main{width:0;min-height:calc(100dvh - 24px);align-self:stretch}.topbar{background:#f8fafbcf;backdrop-filter:blur(16px);border:1px solid #fff;border-radius:17px;padding:16px 24px;gap:14px;top:12px;box-shadow:var(--shadow)}.topbar h1{font-size:19px;letter-spacing:-.5px;font-weight:650;line-height:1.4}.topbar .sub{font-size:11px;max-width:440px}.topbar>div:has(>h1){min-width:0}.topbar .maj-pill{font-size:10px;padding:6px 10px;max-width:260px;white-space:normal;line-height:1.4}.topbar .sync-pill{font-size:10px;padding:7px 9px;white-space:nowrap;min-height:34px}.topbar .year-pick{padding:4px 4px 4px 9px;border-radius:9px;gap:4px}.topbar .year-pick select{font-size:12px;border-radius:6px}.topbar .year-pick label{font-size:10px}.portal-top-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px}.portal-top-actions .btn{font-size:11px;min-height:38px;white-space:normal;text-align:center;padding:9px 12px}.content,body:has(.agenda-shell) .content,body:has(.cdi-budget-frame) .content{max-width:none;width:100%;padding:28px 16px 48px;min-width:0}.content>.cdi-dashboard,.cdi-dashboard,.mk-root{max-width:none!important;width:100%;margin:0}.content>div,.content>section{min-width:0}.content:has(.cdi-budget-frame){padding:18px 0 0}.cdi-budget-frame{min-height:600px;border-radius:16px}.card,.stat,.cp-card{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card{overflow:hidden;margin-bottom:22px}.card-head{padding:20px 22px;background:#fcfdfd;gap:12px;flex-wrap:wrap}.card-head h2{font-size:16px;letter-spacing:-.3px;font-weight:650}.card-pad{padding:22px}.card-body{min-width:0}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:18px;margin-bottom:24px}.stat{padding:22px}.stat .k{font-size:12px;color:var(--muted);font-weight:600}.stat .v{font-size:clamp(26px,2.2vw,38px);letter-spacing:-1.2px;font-weight:650}.stat .sub{font-size:11px}.btn{border-radius:9px;font-family:var(--font);min-height:40px;font-size:12px;padding:9px 14px;line-height:1.4;box-shadow:none}.btn-primary{background:#29465e;border-color:#29465e;color:white;box-shadow:inset 0 1px 0 #ffffff1a,0 2px 3px #24384a13}.btn-primary:hover{background:#365d79;border-color:#365d79}.btn-ghost{background:#fff;border-color:var(--line)}.btn-ghost:hover{background:#f2f6f8}.btn-sm{min-height:34px;padding:7px 11px;font-size:11px}.icon-btn{width:38px;height:38px;min-width:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;font-size:23px}.inp{min-height:40px;border:1px solid var(--line-strong);border-radius:9px;font:500 13px var(--font);padding:9px 11px;background:#fff;color:var(--ink);max-width:100%}.inp:focus{border-color:#468bad;box-shadow:0 0 0 3px #2684a61a}.inp.slim{min-height:37px;font-size:12px}.form-grid{gap:20px}.form-row>label{font-size:12px;font-weight:600;margin-bottom:7px}.form-row{min-width:0}.form-row .inp{width:100%}.filters{gap:10px;flex-wrap:wrap;align-items:center}.filters .inp{min-width:0}.badge,.chip{border-radius:6px;line-height:1.4;white-space:normal}.help-banner{border-radius:12px;padding:15px 17px;font-size:12px;line-height:1.7}.table-wrap{max-width:100%;overflow:auto;scrollbar-width:thin}table{font-size:12px}th{font-weight:650;background:#f5f7f9;color:#66778a;font-size:10px;letter-spacing:.15px;padding:13px 16px}td{padding:15px 16px;border-color:#edf0f3;vertical-align:middle}tbody tr:hover{background:#f8fafc}td.num,th.num{font-variant-numeric:tabular-nums}.finance-actions,.personnel-actions{flex-wrap:wrap;gap:5px}.finance-actions{max-width:380px}.finance-search{flex:1;min-width:200px}.billing-nav{padding:5px;margin-bottom:24px;display:inline-flex;max-width:100%;border-radius:12px;background:#e4eaf0;box-shadow:inset 0 1px 2px #273e5210;border-color:#dce3ea}.billing-nav .btn{border:0;background:transparent;color:#627285;min-height:38px;box-shadow:none;padding:9px 17px}.billing-nav [aria-current=page]{background:#fff;color:#253f57;box-shadow:0 2px 5px #24364d0f}.modal{border-radius:20px;border:1px solid #fff;box-shadow:var(--shadow-lg);max-height:calc(100dvh - 40px)}.modal-head{padding:22px 24px;border-bottom:1px solid var(--line);background:#f7f9fb}.modal-head h3{font-size:19px;letter-spacing:-.5px;font-weight:650}.modal-body{padding:24px}.modal-foot{padding:17px 24px;border-top:1px solid var(--line);gap:9px}.overlay{padding:20px;background:#1f32464d;backdrop-filter:blur(4px)}.mk-root{--mk-line:var(--line);--mk-accent:var(--accent-strong)}.mk-root .mk-card{border-radius:var(--radius);box-shadow:var(--shadow)}.mk-root input,.mk-root select,.mk-root textarea{border-radius:9px}.mk-root button{min-height:38px}.mk-root .mk-head{flex-wrap:wrap}.mk-root .mk-tabs{flex-wrap:wrap;gap:6px}.mk-root .mk-grid{gap:18px}.mk-root .mk-field{min-width:0}.mk-root .mk-field input,.mk-root .mk-field select{max-width:100%}.menu-btn{width:42px;height:42px;border:1px solid var(--line);border-radius:10px;background:#fff;flex-shrink:0}button:focus-visible,a:focus-visible,[role=button]:focus-visible{outline:3px solid #3b89a8;outline-offset:3px}.sidebar-close{display:none}.sidebar .nav-item[aria-current=page]{font-weight:700}
@media(min-width:1800px){.sidebar{width:254px;flex-basis:254px}.content,body:has(.agenda-shell) .content{padding:32px 28px 56px}.topbar{padding:20px 28px}.sidebar .nav-item{font-size:12px}.sidebar .cdi-nav-name{font-size:12px}.topbar .sub{max-width:none}}
@media(max-width:1450px){.topbar .maj-pill{display:none}.topbar{padding:16px 20px}.topbar .sub{max-width:320px}.sidebar{width:232px;flex-basis:232px}.sidebar .nav-item{padding:11px 10px;gap:8px}.sidebar .nav-item.cdi-application{gap:8px}.content,body:has(.agenda-shell) .content{padding:25px 10px 40px}}
@media(min-width:881px) and (max-width:1100px){.topbar{flex-wrap:wrap;gap:10px}.portal-top-actions{margin-left:auto}.topbar .sub{max-width:260px}.sidebar{width:216px;flex-basis:216px}.sidebar .cdi-nav-name{font-size:10.5px}.sidebar .nav-item{font-size:11px}.sidebar .nav-item.cdi-application{gap:6px}.sidebar .nav-item.cdi-application .cdi-beta{font-size:7px}.card-head,.card-pad{padding:18px}}
@media(max-width:880px){.app{padding:10px;display:block}.main{width:100%;min-height:calc(100dvh - 20px)}.sidebar{position:fixed;left:10px;top:10px;bottom:10px;height:calc(100dvh - 20px);width:270px;max-width:calc(100vw - 34px);z-index:60;transform:translateX(calc(-100% - 20px));visibility:hidden;transition:transform .2s}.sidebar.open{transform:translateX(0);visibility:visible}.sidebar-close{display:inline-flex;align-self:flex-end;width:34px;height:34px;min-width:34px;margin:-9px -3px -28px 0;position:relative;z-index:1}.sidebar .nav-item{min-height:45px;font-size:12px}.sidebar .nav-item.cdi-application .cdi-nav-name{font-size:12px}.sidebar .nav-item.cdi-application .cdi-beta{font-size:9px}.sidebar .brand .brand-logo{width:68px}.sidebar-backdrop{z-index:50;background:#21384a57;backdrop-filter:blur(3px)}body:has(.sidebar.open){overflow:hidden}.topbar{top:10px;padding:12px 15px;border-radius:15px;gap:12px;flex-wrap:wrap}.topbar h1{font-size:18px}.topbar .sub{font-size:10px;max-width:none}.topbar .sync-pill{margin-left:auto}.topbar .grow{display:none}.topbar .year-pick{margin-left:auto}.portal-top-actions{margin-left:auto}.content,body:has(.agenda-shell) .content{padding:24px 4px 36px}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr))}.topbar .maj-pill{display:none}.menu-btn{display:inline-flex}.card-head,.card-pad{padding:18px}.sidebar .brand-sub{font-size:10px!important}}
@media(max-width:600px){.app{padding:6px}.topbar{top:6px;padding:11px 10px;gap:8px}.topbar>div:has(>h1){flex:1;min-width:0}.topbar h1{font-size:16px}.topbar .sub{font-size:10px;line-height:1.4}.topbar .sync-pill{display:none}.topbar .year-pick{min-height:36px}.topbar .year-pick label{display:none}.portal-top-actions{width:100%;display:flex;margin:2px 0 0}.portal-top-actions .btn{flex:1;min-height:42px}.portal-top-actions:has(#topAction[style*="none"]):not(:has(#agendaTopLeave[style*="inline"])){width:auto}.content,body:has(.agenda-shell) .content{padding:21px 6px 30px}.card{border-radius:13px;margin-bottom:16px}.card-head,.card-pad{padding:16px}.card-head h2{font-size:15px}.stat-grid,.cdi-finance .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat{padding:16px 13px}.stat .v{font-size:25px;overflow-wrap:anywhere}.stat .k,.stat .sub{font-size:10px}.stat-grid>.stat:last-child:nth-child(odd){grid-column:1/-1}.filters{gap:9px}.filters input.inp{flex-basis:100%;width:100%}.btn,.btn-sm,.icon-btn,.pg-btn{min-height:42px}.billing-nav{display:flex;gap:4px;padding:4px;margin-bottom:18px}.billing-nav .btn{padding:9px 10px;font-size:10px;flex:1;white-space:normal;min-height:44px}.form-grid{grid-template-columns:minmax(0,1fr);gap:16px}.form-row.full{grid-column:auto}.inp{font-size:16px;min-height:44px}.form-row>label{font-size:12px}.modal{max-height:calc(100dvh - 16px);max-width:100%;width:100%;border-radius:16px}.overlay{padding:8px}.modal-head,.modal-body,.modal-foot{padding:17px}.modal-head h3{font-size:17px}.modal-foot{flex-wrap:wrap}.modal-foot .btn{flex:1;white-space:normal}.personnel .table-wrap,.cdi-finance .table-wrap{overflow:visible}.responsive-table,.responsive-table tbody{display:block;width:100%}.responsive-table thead{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.responsive-table tbody tr{display:grid;grid-template-columns:minmax(0,1fr);gap:0;margin:0 12px 14px;border:1px solid var(--line);border-radius:12px;padding:6px 14px;background:#fff;box-shadow:0 2px 5px #21384a04}.responsive-table td{display:grid;grid-template-columns:96px minmax(0,1fr);align-items:center;gap:10px;padding:10px 0;min-width:0;white-space:normal!important;text-align:left;border:0;border-bottom:1px solid #f0f2f5;overflow-wrap:anywhere;font-size:12px}.responsive-table td:before{content:attr(data-label);font-size:10px;font-weight:600;color:var(--muted);line-height:1.5}.responsive-table td:last-child{border:0}.responsive-table td[data-label=Actions]{display:block;padding:12px 0}.responsive-table td[data-label=Actions]:before{display:none}.responsive-table .finance-actions,.responsive-table .personnel-actions{white-space:normal;flex-wrap:wrap;max-width:100%;gap:7px}.responsive-table .btn{font-size:10px;padding:7px 10px}.responsive-table .name-cell{min-width:0}.responsive-table .avatar{flex-shrink:0}.responsive-table .badge,.responsive-table .chip{width:fit-content}.responsive-table .cdi-client-identity{flex-wrap:wrap}.finance-pager{gap:8px}.finance-pager .pg-btn{padding:7px 8px}.finance-pager>span{font-size:11px}.mk-root .mk-grid,.mk-root .mk-cards{grid-template-columns:minmax(0,1fr)}.mk-root .mk-actions{flex-wrap:wrap}.mk-root .mk-tabs button{flex:1;white-space:normal}.cdi-budget-frame{min-height:calc(100dvh - 150px)}.help-banner{font-size:11px;padding:12px;overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{.app{padding:0;display:block}.sidebar,.topbar,.sidebar-backdrop{display:none!important}.main{width:100%}.content{padding:0!important}.card,.stat,.db-panel{box-shadow:none;break-inside:avoid}.responsive-table{display:table}.responsive-table thead{position:static;clip-path:none;display:table-header-group;width:auto;height:auto}.responsive-table tbody{display:table-row-group}.responsive-table tbody tr{display:table-row}.responsive-table td{display:table-cell}.responsive-table td:before{display:none}.db-mobile-planning{display:none!important}}
