:root{--ink:#172033;--muted:#687185;--brand:#3157d5;--surface:#f5f7fb;--line:#e2e6ef}*{box-sizing:border-box}html,body{max-width:100%;overflow-x:hidden}body{background:var(--surface);color:var(--ink);font-size:16px;padding-bottom:env(safe-area-inset-bottom)}.app-nav{background:#15254f;padding-top:max(.5rem,env(safe-area-inset-top))}.app-container{max-width:1600px;margin-inline:auto}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.page-head h1{font-size:clamp(1.65rem,2.2vw,2.35rem);margin-bottom:.25rem}.page-head p{color:var(--muted);margin:0}.auth-card{max-width:650px;margin:5vh auto}.state-icon{font-size:3rem}.form-control,.form-select,.btn{min-height:44px}.text-wrap-cell{max-width:280px;white-space:normal;overflow-wrap:anywhere}.table-wrap{overflow:visible}.mobile-cards,.mobile-filter{display:none}.status{display:inline-block;border-radius:999px;padding:.35rem .65rem;background:#e7eaf1;font-size:.82rem;font-weight:600;white-space:normal}.status-issued{background:#d9f4e8;color:#086044}.status-partially_issued,.status-deferred{background:#fff0c2;color:#765400}.status-rejected,.status-not_issued,.status-cancelled{background:#ffe0e3;color:#8d1421}.status-approved{background:#dce8ff;color:#1e4c9b}.card-grid,.detail-grid{display:grid;grid-template-columns:minmax(90px,160px) 1fr;gap:.5rem 1rem}.card-grid dt,.detail-grid dt{color:var(--muted);font-weight:500}.card-grid dd,.detail-grid dd{margin:0;overflow-wrap:anywhere}.text-prewrap{white-space:pre-wrap}.file-link{display:flex;align-items:center;gap:.5rem;padding:.75rem;border:1px solid var(--line);border-radius:.6rem;text-decoration:none;min-width:0}.file-link span{min-width:0;overflow-wrap:anywhere}.file-link small{margin-left:auto;color:var(--muted);white-space:nowrap}.timeline{border-left:2px solid #cad2e5;margin-left:.6rem;padding-left:1.4rem}.timeline-item{position:relative;background:#fff;border:1px solid var(--line);border-radius:.75rem;padding:1rem;margin-bottom:1rem;overflow-wrap:anywhere}.timeline-item:before{content:"";position:absolute;width:.75rem;height:.75rem;background:var(--brand);border-radius:50%;left:-1.85rem;top:1.2rem}.comment{background:#f1f3f7;padding:.75rem;border-radius:.5rem;white-space:pre-wrap}.comment.private{background:#fff4d5}.action-card{top:5.5rem}.action-buttons,.action-stack{display:flex;gap:.65rem;flex-wrap:wrap}.chart-card canvas{height:360px!important}.metric strong{font-size:1.7rem}.metric span{color:var(--muted)}
@media(max-width:767.98px){body{background:#f7f8fb}.app-container{padding-left:1rem;padding-right:1rem}.desktop-table{display:none!important}.mobile-cards,.mobile-filter{display:flex}.mobile-filter{display:block}.mobile-collapse-show:not(.show){display:none}.page-head{flex-direction:column}.page-head>.btn,.page-head>.action-stack{width:100%}.page-head>.action-stack>*{flex:1}.action-stack,.action-buttons{display:grid;grid-template-columns:1fr;width:100%}.action-stack>*{width:100%}.action-stack form .btn{width:100%}.card{max-width:100%;overflow:hidden}.card-grid,.detail-grid{grid-template-columns:95px minmax(0,1fr)}.chart-card canvas{height:280px!important}.filter-panel .row>*{min-width:0}.offcanvas{max-width:88vw}.file-link{align-items:flex-start}.file-link small{display:none}input,select,textarea{font-size:16px!important}.btn{white-space:normal}.auth-card{margin:1rem 0}.timeline{margin-left:.35rem;padding-left:1rem}.timeline-item:before{left:-1.45rem}.metric{padding:.75rem}.metric span{font-size:.75rem}.metric strong{font-size:1.2rem}}
@media(min-width:768px){.collapse.mobile-collapse-show{display:block!important}}
.navbar-toggler,.btn-close{min-width:44px;min-height:44px}

/* Rounded visual system */
:root{--radius-sm:.8rem;--radius:1.15rem;--radius-lg:1.65rem;--brand:#5568e8;--brand-soft:#eef0ff;--mint:#27a98f;--ink:#20263a;--muted:#737b91;--line:#e7e9f2;--surface:#f7f8fc}
body{background:radial-gradient(circle at 0 0,#f0f2ff 0,transparent 34rem),var(--surface);color:var(--ink)}
.topbar{background:rgba(255,255,255,.92);border-bottom:1px solid rgba(224,227,238,.8);box-shadow:0 8px 30px rgba(36,43,76,.06);backdrop-filter:blur(14px);padding:max(.65rem,env(safe-area-inset-top)) 0 .65rem}
.brand-lockup{display:flex;align-items:center;gap:.65rem;text-decoration:none;color:var(--ink);font-size:1.08rem;font-weight:750;white-space:nowrap}.brand-lockup img{width:42px;height:42px;border-radius:14px;box-shadow:0 7px 16px rgba(79,99,210,.22)}
.desktop-nav{display:flex;gap:.3rem;background:#f4f5fa;border:1px solid #eceef5;border-radius:1.2rem;padding:.32rem}.nav-pill{display:flex;align-items:center;gap:.38rem;padding:.65rem .78rem;border-radius:.92rem;text-decoration:none;color:#626b80;font-size:.88rem;font-weight:650;white-space:nowrap;transition:.18s ease}.nav-pill:hover,.nav-pill.active{background:#fff;color:var(--brand);box-shadow:0 5px 14px rgba(43,49,82,.09)}.nav-pill.nav-create{color:#fff;background:linear-gradient(135deg,#6575f1,#5263dd);box-shadow:0 7px 16px rgba(79,99,210,.24)}
.user-chip{display:flex;align-items:center;gap:.55rem;min-width:0}.avatar{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:14px;background:linear-gradient(135deg,#e7eaff,#dff7f0);color:#4557c9;font-size:.75rem;font-weight:800}.user-chip-name{max-width:150px;font-size:.82rem;line-height:1.15;overflow-wrap:anywhere}
.card{border:1px solid rgba(228,230,240,.9);border-radius:var(--radius-lg);box-shadow:0 12px 35px rgba(35,42,72,.065)!important}.card-body{border-radius:inherit}.btn{border-radius:.82rem;font-weight:650;padding-inline:1rem}.btn-primary{background:linear-gradient(135deg,#6575f1,#5263dd);border:0;box-shadow:0 7px 17px rgba(79,99,210,.2)}.btn-outline-primary{border-color:#cdd3fb;color:#4f61d6}.btn-soft-danger{background:#fff0f2;color:#a33a4b;border:1px solid #ffdce1}.form-control,.form-select{border-color:#dde1ed;border-radius:.85rem;background-color:#fbfcff;padding:.7rem .85rem}.form-control:focus,.form-select:focus{border-color:#8995ef;box-shadow:0 0 0 .22rem rgba(89,107,230,.13);background:#fff}.alert{border:0}.status{border-radius:999px;padding:.42rem .72rem}.table{--bs-table-bg:transparent}.table>thead th{color:#7b8294;font-size:.76rem;text-transform:uppercase;letter-spacing:.035em;border-bottom-color:#e9ebf2}.table>tbody td{border-bottom-color:#eff0f5}.timeline-item{border-radius:var(--radius);box-shadow:0 8px 20px rgba(35,42,72,.04)}.comment{border-radius:.9rem}.file-link{border-radius:1rem;background:#fafbff}.filter-trigger{display:inline-flex;align-items:center;gap:.5rem}.offcanvas{border:0!important}.mobile-nav-link{display:flex;align-items:center;min-height:48px;padding:.78rem 1rem;border-radius:1rem;background:#f6f7fb;color:#3f475c;text-decoration:none;font-weight:650}.mobile-nav-link.primary{background:linear-gradient(135deg,#6575f1,#5263dd);color:white}.page-head h1{font-weight:760;letter-spacing:-.025em}.page-head p{color:var(--muted)}.directory-tile{display:block;text-decoration:none;color:inherit;transition:transform .18s ease}.directory-tile:hover{transform:translateY(-3px)}
@media(max-width:1199.98px){.topbar .navbar{min-height:46px}.brand-lockup img{width:40px;height:40px}.user-chip-name{max-width:none}}
@media(max-width:767.98px){.topbar{padding-inline:.2rem}.card{border-radius:1.25rem}.page-head{margin-bottom:1.1rem}.offcanvas{max-width:90vw}.filter-offcanvas{width:100%!important;max-width:100%!important;border-radius:1.4rem 1.4rem 0 0!important}.action-card{position:static}.directory-tile:hover{transform:none}}
.min-w-0{min-width:0}.directory-icon{display:grid;place-items:center;flex:0 0 54px;width:54px;height:54px;border-radius:18px;background:var(--brand-soft);color:var(--brand);font-size:1.55rem}.profile-avatar{width:58px;height:58px;flex-basis:58px;border-radius:20px;font-size:1rem}.password-panel{padding:1.15rem;border-radius:1.15rem;background:#f7f8fd;border:1px solid #e8eaf4}.upload-zone{padding:1rem;border:1px dashed #cfd5eb;border-radius:1.15rem;background:#fafbff}.history-transition{display:inline-block;margin-top:.45rem;padding:.28rem .55rem;border-radius:.65rem;background:#f1f3f9;color:#626b80;font-size:.8rem}.filter-offcanvas{width:min(500px,100vw)}

/* Balanced content and monthly analytics */
.balanced-grid>*,.row>[class*="col-"]{min-width:0}.balanced-grid>*{display:flex}.balanced-grid>*>.card,.balanced-grid>*>form.card,.row>[class*="col-"]>.card,.row>[class*="col-"]>form.card{width:100%}.chart-controls,.analytics-main-chart{width:100%;margin-inline:auto}.series-switches{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.7rem}.series-switch{display:flex;align-items:center;gap:.65rem;min-height:48px;padding:.72rem .85rem;border:1px solid #e3e6f0;border-radius:1rem;background:#fafbff;cursor:pointer;overflow-wrap:anywhere}.series-switch:has(input:checked){border-color:#aeb7f4;background:#f0f2ff;color:#4557c9;box-shadow:inset 0 0 0 1px #d4d9fb}.series-switch .form-check-input{flex:0 0 auto;margin:0}.chart-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.chart-stage{position:relative;width:100%;height:460px}.analytics-main-chart canvas{width:100%!important;height:100%!important}
@media(min-width:768px){.app-container{width:calc(100% - 3rem);padding-left:0;padding-right:0}}
@media(max-width:767.98px){.series-switches{grid-template-columns:1fr}.chart-stage{height:340px}.chart-heading{flex-direction:column}.chart-controls .card-body,.analytics-main-chart .card-body{padding:1.15rem!important}}

/* Dark theme with calmer corners and safe text spacing */
:root{color-scheme:dark;--radius-sm:.5rem;--radius:.7rem;--radius-lg:.9rem;--brand:#8290ff;--brand-soft:#20294c;--mint:#43c9aa;--ink:#edf1f8;--muted:#9da7ba;--line:#2b3445;--surface:#0e121a;--bs-body-bg:#0e121a;--bs-body-color:#edf1f8;--bs-secondary-color:#9da7ba;--bs-border-color:#2b3445;--bs-tertiary-bg:#171d28}
body,body[data-bs-theme="dark"]{background:radial-gradient(circle at 8% 0,#1a2140 0,transparent 34rem),#0e121a;color:var(--ink)}
.topbar{background:rgba(15,19,28,.94);border-color:#252d3b;box-shadow:0 8px 28px rgba(0,0,0,.25)}.brand-lockup{color:#f4f6fb}.desktop-nav{background:#171d28;border-color:#293142;border-radius:.75rem}.nav-pill{color:#aab3c4;border-radius:.55rem}.nav-pill:hover,.nav-pill.active{background:#252d3d;color:#aeb7ff;box-shadow:none}.nav-pill.nav-create{color:#fff;background:linear-gradient(135deg,#6878ee,#5263d8)}
.card{background:#171d27;border-color:#2a3343;border-radius:.9rem;box-shadow:0 12px 30px rgba(0,0,0,.2)!important}.card-body{border-radius:.85rem}.card>.card-body:not([class*="p-"]){padding:1.35rem}.panel-padding{padding:1.5rem!important}.btn{border-radius:.55rem}.btn-primary{background:linear-gradient(135deg,#6f7ff2,#5364db);box-shadow:0 6px 14px rgba(67,82,190,.2)}.btn-outline-primary{border-color:#5967a4;color:#aeb7ff}.btn-outline-primary:hover{background:#303b70;border-color:#7787dc;color:#fff}.btn-outline-secondary{border-color:#495467;color:#c2c9d5}.btn-soft-danger{background:#3a2028;color:#ffb5c0;border-color:#65313d}
.form-control,.form-select{background-color:#10151e;border-color:#354052;color:#edf1f8;border-radius:.55rem}.form-control:focus,.form-select:focus{background:#121925;border-color:#7e8beb;color:#fff;box-shadow:0 0 0 .18rem rgba(111,127,242,.18)}.form-control::placeholder{color:#707b8e}.form-text{color:#8994a8}.form-check-input{background-color:#10151e;border-color:#536075}.form-check-input:checked{background-color:#6878ee;border-color:#6878ee}
.avatar{border-radius:.65rem;background:linear-gradient(135deg,#2b3563,#173e39);color:#c7ceff}.profile-avatar{border-radius:.8rem}.directory-icon{border-radius:.7rem;background:#222b4d;color:#aeb7ff}.directory-tile{color:#edf1f8}.directory-tile:hover{color:#fff}.mobile-nav-link{background:#171d28;color:#d2d8e3;border-radius:.65rem}.mobile-nav-link:hover{background:#222a39;color:#fff}.offcanvas{background:#111721;color:#edf1f8}.filter-offcanvas{border-radius:.8rem 0 0 .8rem!important}
.timeline{border-color:#39445a}.timeline-item{background:#171d27;border-color:#303a4b;border-radius:.7rem}.comment{background:#222a37;border-radius:.55rem}.comment.private{background:#382f1d;color:#f4d995}.history-transition{background:#242c39;color:#b6bfce;border-radius:.45rem}.file-link{background:#111720;border-color:#303a4b;border-radius:.65rem;color:#bfc8ff}.upload-zone{background:#111720;border-color:#44516a;border-radius:.7rem}.password-panel{background:#111720;border-color:#303a4b;border-radius:.7rem}
.table{--bs-table-bg:#171d27;--bs-table-color:#e7ebf2;--bs-table-hover-bg:#202837;--bs-table-hover-color:#fff}.table>thead th{color:#929caf;border-bottom-color:#30394a}.table>tbody td{border-bottom-color:#252d3b}.status{border:1px solid transparent;font-weight:700;line-height:1.25}.status-pending_approval{background:#27375b;color:#eef3ff;border-color:#526b9d}.status-issued{background:#15392f;color:#7ce1c1;border-color:#245647}.status-partially_issued,.status-deferred{background:#3a3019;color:#f0cd73;border-color:#5a4922}.status-rejected,.status-not_issued,.status-cancelled{background:#3b2028;color:#f2a4b2;border-color:#5a2c37}.status-approved{background:#202d50;color:#c7d5ff;border-color:#52689c}.alert-info{background:#1c2945;color:#b8c9ff}.alert-danger{background:#3a2028;color:#ffb5c0}.alert-success{background:#15392f;color:#8ce5c7}.alert-secondary{background:#222a36;color:#c2cad6}
.series-switch{background:#111720;border-color:#303a4b;border-radius:.65rem;padding:.8rem 1rem}.series-switch:has(input:checked){border-color:#6574ca;background:#222b50;color:#c2c9ff;box-shadow:inset 0 0 0 1px #3f4d91}.chart-controls,.analytics-main-chart{background:#171d27}.badge.rounded-pill{padding-inline:.75rem}.modal-content{background:#171d27;border-color:#303a4b}.btn-close{filter:invert(1) grayscale(1)}
@media(max-width:767.98px){body{background:radial-gradient(circle at 0 0,#19203b 0,transparent 24rem),#0e121a}.card{border-radius:.75rem}.card>.card-body:not([class*="p-"]){padding:1.2rem}.panel-padding{padding:1.25rem!important}.filter-offcanvas{border-radius:.75rem .75rem 0 0!important}.series-switch{padding:.8rem .9rem}.topbar{padding-inline:.2rem}}

/* Per-user theme selector */
.theme-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.theme-option{display:grid;grid-template-columns:auto 38px minmax(0,1fr);align-items:center;gap:.75rem;min-height:74px;padding:1rem;border:1px solid var(--line);border-radius:.7rem;background:rgba(127,140,165,.06);cursor:pointer}.theme-option:has(input:checked){border-color:#7887e1;box-shadow:inset 0 0 0 1px #5968bd}.theme-option strong,.theme-option small{display:block}.theme-option small{margin-top:.15rem;color:var(--muted);font-size:.75rem;line-height:1.25}.theme-swatch{width:38px;height:38px;border-radius:.5rem;border:1px solid #586276;box-shadow:inset 0 0 0 5px rgba(127,140,165,.08)}.theme-swatch-dark{background:#111722}.theme-swatch-light{background:#f5f7fb;border-color:#cfd5e1}

/* Light theme overrides the dark visual system above */
html[data-bs-theme="light"]{color-scheme:light;--brand:#5568e8;--brand-soft:#eef0ff;--mint:#27a98f;--ink:#20263a;--muted:#737b91;--line:#dfe3ec;--surface:#f6f7fb;--bs-body-bg:#f6f7fb;--bs-body-color:#20263a;--bs-secondary-color:#737b91;--bs-border-color:#dfe3ec;--bs-tertiary-bg:#f0f2f7}
html[data-bs-theme="light"] body{background:radial-gradient(circle at 8% 0,#eef0ff 0,transparent 34rem),#f6f7fb;color:#20263a}
html[data-bs-theme="light"] .topbar{background:rgba(255,255,255,.94);border-color:#e1e5ed;box-shadow:0 8px 28px rgba(36,43,76,.07)}html[data-bs-theme="light"] .brand-lockup{color:#20263a}html[data-bs-theme="light"] .desktop-nav{background:#f0f2f7;border-color:#e2e6ee}html[data-bs-theme="light"] .nav-pill{color:#626b80}html[data-bs-theme="light"] .nav-pill:hover,html[data-bs-theme="light"] .nav-pill.active{background:#fff;color:#4f61d6;box-shadow:0 4px 12px rgba(43,49,82,.08)}
html[data-bs-theme="light"] .card{background:#fff;border-color:#e2e5ed;box-shadow:0 12px 30px rgba(35,42,72,.07)!important}html[data-bs-theme="light"] .btn-outline-primary{border-color:#c6cdf4;color:#4f61d6}html[data-bs-theme="light"] .btn-outline-primary:hover{background:#eef0ff;border-color:#9aa5e8;color:#4051c5}html[data-bs-theme="light"] .btn-outline-secondary{border-color:#b8c0ce;color:#596274}html[data-bs-theme="light"] .btn-soft-danger{background:#fff0f2;color:#a33a4b;border-color:#ffd2d9}
html[data-bs-theme="light"] .form-control,html[data-bs-theme="light"] .form-select{background:#fbfcff;border-color:#d8dde8;color:#20263a}html[data-bs-theme="light"] .form-control:focus,html[data-bs-theme="light"] .form-select:focus{background:#fff;border-color:#8995ef;color:#20263a;box-shadow:0 0 0 .18rem rgba(89,107,230,.13)}html[data-bs-theme="light"] .form-control::placeholder{color:#8a93a4}html[data-bs-theme="light"] .form-text{color:#737b91}html[data-bs-theme="light"] .form-check-input{background-color:#fff;border-color:#adb6c6}html[data-bs-theme="light"] .form-check-input:checked{background-color:#6373eb;border-color:#6373eb}
html[data-bs-theme="light"] .avatar{background:linear-gradient(135deg,#e7eaff,#dff7f0);color:#4557c9}html[data-bs-theme="light"] .directory-icon{background:#eef0ff;color:#5568e8}html[data-bs-theme="light"] .directory-tile{color:#20263a}html[data-bs-theme="light"] .directory-tile:hover{color:#151a29}html[data-bs-theme="light"] .mobile-nav-link{background:#f0f2f7;color:#3f475c}html[data-bs-theme="light"] .mobile-nav-link:hover{background:#e7eaf2;color:#20263a}html[data-bs-theme="light"] .offcanvas{background:#fff;color:#20263a}
html[data-bs-theme="light"] .timeline{border-color:#cad2e5}html[data-bs-theme="light"] .timeline-item{background:#fff;border-color:#e1e5ed}html[data-bs-theme="light"] .comment{background:#f1f3f7}html[data-bs-theme="light"] .comment.private{background:#fff4d5;color:#5b4812}html[data-bs-theme="light"] .history-transition{background:#f1f3f9;color:#626b80}html[data-bs-theme="light"] .file-link{background:#fafbff;border-color:#dfe3ec;color:#4f61d6}html[data-bs-theme="light"] .upload-zone{background:#fafbff;border-color:#cfd5eb}html[data-bs-theme="light"] .password-panel{background:#f7f8fd;border-color:#e5e8f0}
html[data-bs-theme="light"] .table{--bs-table-bg:#fff;--bs-table-color:#20263a;--bs-table-hover-bg:#f5f6fa;--bs-table-hover-color:#20263a}html[data-bs-theme="light"] .table>thead th{color:#7b8294;border-bottom-color:#e3e6ed}html[data-bs-theme="light"] .table>tbody td{border-bottom-color:#edf0f4}html[data-bs-theme="light"] .status-pending_approval{background:#e5edfc;color:#173b70;border-color:#b5c7e9}html[data-bs-theme="light"] .status-issued{background:#d9f4e8;color:#086044;border-color:#bce8d7}html[data-bs-theme="light"] .status-partially_issued,html[data-bs-theme="light"] .status-deferred{background:#fff0c2;color:#765400;border-color:#f1dc9b}html[data-bs-theme="light"] .status-rejected,html[data-bs-theme="light"] .status-not_issued,html[data-bs-theme="light"] .status-cancelled{background:#ffe0e3;color:#8d1421;border-color:#f5c6cc}html[data-bs-theme="light"] .status-approved{background:#dce8ff;color:#173f83;border-color:#b8cff7}
html[data-bs-theme="light"] .alert-info{background:#e6edff;color:#244d9a}html[data-bs-theme="light"] .alert-danger{background:#ffe2e6;color:#8e2637}html[data-bs-theme="light"] .alert-success{background:#ddf5eb;color:#17634d}html[data-bs-theme="light"] .alert-secondary{background:#eceff4;color:#525c6d}html[data-bs-theme="light"] .series-switch{background:#fafbff;border-color:#e0e4ec}html[data-bs-theme="light"] .series-switch:has(input:checked){border-color:#aeb7f4;background:#f0f2ff;color:#4557c9;box-shadow:inset 0 0 0 1px #d4d9fb}html[data-bs-theme="light"] .chart-controls,html[data-bs-theme="light"] .analytics-main-chart{background:#fff}html[data-bs-theme="light"] .modal-content{background:#fff;border-color:#dfe3ec}html[data-bs-theme="light"] .btn-close{filter:none}
html[data-bs-theme="light"] .theme-option{background:#f8f9fc}html[data-bs-theme="light"] .theme-option:has(input:checked){background:#eef0ff;border-color:#8995e8}
@media(max-width:767.98px){html[data-bs-theme="light"] body{background:radial-gradient(circle at 0 0,#eef0ff 0,transparent 24rem),#f6f7fb}}
@media(max-width:575.98px){.theme-picker{grid-template-columns:1fr}.theme-option{min-height:68px}}

/* Directory tables and stronger light-theme readability */
.directory-table-shell{overflow:hidden}.directory-table th,.directory-table td{padding:1rem 1.2rem}.directory-table .directory-name{width:54%}.directory-table .directory-state{width:15%}.directory-table .directory-archive{width:16%}.directory-table .directory-action{width:15%}.directory-table .form-control{min-width:0}.directory-name-input{min-height:58px;resize:vertical;line-height:1.35}.empty-directory{padding-block:3rem!important}.form-label{font-weight:650;letter-spacing:.005em}
.project-directory-table .directory-name{width:25%}.project-directory-table .directory-objects{width:35%}.project-object-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));gap:.45rem .8rem;max-height:180px;overflow-y:auto;overflow-x:hidden;padding:.75rem;border:1px solid var(--line);border-radius:.7rem;background:var(--surface-soft)}.project-object-picker .form-check{display:flex;align-items:flex-start;gap:.45rem;min-width:0;margin:0}.project-object-picker .form-check-input{flex:0 0 auto;margin-top:.2rem}.project-object-picker span{min-width:0;line-height:1.25}
.object-multiselect{width:100%}.object-select-trigger{display:block;width:100%;min-height:48px;text-align:left;color:var(--bs-body-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.object-select-menu{width:100%;min-width:100%;max-width:100%;padding:0;border:1px solid var(--line);border-radius:.85rem;background:var(--surface);box-shadow:0 18px 45px rgba(0,0,0,.2);overflow:hidden}.object-select-options{display:grid;gap:.25rem;max-height:260px;overflow-y:auto;overflow-x:hidden;padding:.65rem}.object-select-options .form-check{display:flex;align-items:flex-start;gap:.55rem;min-width:0;min-height:44px;margin:0;padding:.65rem .7rem .65rem 2.15rem;border-radius:.65rem}.object-select-options .form-check:hover{background:var(--surface-soft)}.object-select-options .form-check-input{flex:0 0 auto;margin-top:.2rem}.object-select-options span{min-width:0;line-height:1.3}.object-select-footer{padding:.65rem;border-top:1px solid var(--line);background:var(--surface-soft)}.modal-content{border:1px solid var(--line);border-radius:1rem;background:var(--surface);box-shadow:0 24px 70px rgba(0,0,0,.28)}
html[data-bs-theme="light"]{--ink:#161d2d;--muted:#505b70;--bs-body-color:#161d2d;--bs-secondary-color:#505b70}html[data-bs-theme="light"] body{color:#161d2d}html[data-bs-theme="light"] .page-head p,html[data-bs-theme="light"] .text-secondary{color:#505b70!important}html[data-bs-theme="light"] .form-label,html[data-bs-theme="light"] .form-check{color:#252d3e}html[data-bs-theme="light"] .form-control,html[data-bs-theme="light"] .form-select{color:#161d2d;border-color:#cbd2df;background:#fff}html[data-bs-theme="light"] .form-control:disabled,html[data-bs-theme="light"] .form-select:disabled{color:#687286;background:#eef1f5}html[data-bs-theme="light"] .table>thead th{color:#596479;font-weight:750}html[data-bs-theme="light"] .table>tbody td{color:#1d2535}html[data-bs-theme="light"] .small,html[data-bs-theme="light"] small{line-height:1.4}
@media(max-width:767.98px){.page-head>form{width:100%}.page-head>form .btn{width:100%}.directory-table-shell .table-wrap{overflow:visible}.directory-table,.directory-table tbody{display:block;width:100%}.directory-table thead{display:none}.directory-table tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.7rem 1rem;width:100%;padding:1rem;border-bottom:1px solid var(--line)}.directory-table tr:last-child{border-bottom:0}.directory-table td{display:block;width:auto!important;padding:0;border:0}.directory-table .directory-name,.directory-table .directory-objects{grid-column:1/-1}.directory-table .directory-objects:before{content:'Объекты проекта';display:block;margin-bottom:.4rem;font-weight:650}.directory-table .directory-state{align-self:center}.directory-table .directory-archive{align-self:center}.directory-table .directory-action{grid-column:1/-1;text-align:start!important}.directory-table .directory-action .btn{width:100%;margin-top:.2rem}.directory-table .empty-directory{grid-column:1/-1;padding-block:2rem!important}.project-object-picker{grid-template-columns:1fr;max-height:220px}}
@media(max-width:767.98px){.object-select-menu{position:fixed!important;inset:auto max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))!important;width:auto!important;max-width:none!important;transform:none!important}.object-select-options{max-height:min(55vh,420px)}.modal-footer .btn{width:100%;min-height:44px}}
.topbar-logout{flex:0 0 auto}.topbar-logout .btn{min-height:38px;padding:.4rem .75rem;white-space:nowrap}

/* Informative monthly analytics */
.analytics-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.analytics-summary .card-body{display:flex;flex-direction:column;gap:.35rem;padding:1.2rem 1.35rem}.analytics-summary span{color:var(--muted);font-size:.82rem}.analytics-summary strong{font-size:clamp(1.15rem,1.6vw,1.55rem);overflow-wrap:anywhere}.analytics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.analytics-grid>*{min-width:0}.analytics-grid .chart-stage{height:360px}.analytics-details{overflow:hidden}.analytics-row-card{padding:1rem;border:1px solid var(--line);border-radius:.7rem;background:rgba(127,140,165,.06)}
@media(max-width:991.98px){.analytics-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-grid{grid-template-columns:1fr}}
@media(max-width:575.98px){.analytics-summary{grid-template-columns:1fr 1fr;gap:.65rem}.analytics-summary .card-body{padding:1rem}.analytics-summary strong{font-size:1.05rem}.analytics-grid .chart-stage{height:300px}.analytics-details>.card-body{padding:1rem!important}.analytics-row-card .d-flex{flex-direction:column}.analytics-row-card .card-grid{grid-template-columns:minmax(105px,42%) minmax(0,1fr)}}
