/*
 * AsanaClone / Starkwood PMS - AdminLTE v4 inspired theme layer
 * This file is intentionally local/offline. It keeps existing PHP routes and classes,
 * while giving the app an AdminLTE-style sidebar, navbar, cards, tables and forms.
 */
:root{
  --adminlte-sidebar-width:270px;
  --adminlte-sidebar-mini-width:76px;
  --adminlte-topbar-height:64px;
  --lte-primary:#0d6efd;
  --lte-secondary:#6c757d;
  --lte-success:#198754;
  --lte-info:#0dcaf0;
  --lte-warning:#ffc107;
  --lte-danger:#dc3545;
  --lte-indigo:#6610f2;
  --lte-purple:#6f42c1;
  --lte-pink:#d63384;
  --lte-light:#f8f9fa;
  --lte-dark:#212529;
  --lte-body-bg:#f4f6f9;
  --lte-body-color:#1f2937;
  --lte-border:#dee2e6;
  --lte-border-soft:#edf1f5;
  --lte-card-bg:#fff;
  --lte-sidebar-bg:#343a40;
  --lte-sidebar-dark:#2f343a;
  --lte-sidebar-text:#c2c7d0;
  --lte-sidebar-hover:#494e53;
  --lte-sidebar-active:#0d6efd;
  --lte-shadow:0 .125rem .25rem rgba(0,0,0,.075);
  --lte-shadow-lg:0 .5rem 1rem rgba(0,0,0,.12);
  --lte-radius:.5rem;
  --lte-radius-lg:.75rem;
}
*{box-sizing:border-box}
html{height:100%}
body.adminlte-compat,
body{background:var(--lte-body-bg);color:var(--lte-body-color);font-family:"Source Sans 3","Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:var(--lte-primary)}
a:hover{color:#0a58ca}

/* App shell */
.app-layout{min-height:100vh;background:var(--lte-body-bg)}
.app-body{display:flex;min-height:100vh;background:var(--lte-body-bg)}
.main-content{margin-left:var(--adminlte-sidebar-width);width:calc(100% - var(--adminlte-sidebar-width));min-height:100vh;background:var(--lte-body-bg);transition:margin-left .2s ease,width .2s ease}
.page-body{padding:1rem 1.25rem 1.75rem;background:var(--lte-body-bg)}

/* AdminLTE-like sidebar */
.sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--adminlte-sidebar-width);z-index:1040;background:linear-gradient(180deg,var(--lte-sidebar-bg),var(--lte-sidebar-dark));color:var(--lte-sidebar-text);box-shadow:0 0 1px rgba(0,0,0,.125),0 2px 8px rgba(0,0,0,.18);display:flex;flex-direction:column;transition:transform .22s ease,width .2s ease;overflow:hidden}
.sidebar-logo{height:var(--adminlte-topbar-height);display:flex;align-items:center;gap:.75rem;padding:0 1rem;color:#fff;border-bottom:1px solid rgba(255,255,255,.12);letter-spacing:.1px;text-decoration:none;background:rgba(0,0,0,.12)}
.sidebar-logo:hover{color:#fff;text-decoration:none;background:rgba(0,0,0,.2)}
.logo-badge,.brand-mark{width:34px;height:34px;min-width:34px;border-radius:.45rem;background:linear-gradient(135deg,#f59e0b,#f97316);display:grid;place-items:center;color:#fff;font-weight:900;font-size:.9rem;box-shadow:inset 0 1px 0 rgba(255,255,255,.25)}
.sidebar-logo b{display:block;line-height:1.1;font-size:1.02rem;font-weight:700;color:#fff;white-space:nowrap}
.sidebar-logo small{display:block;font-size:.72rem;line-height:1.1;color:#ced4da;white-space:nowrap}
.sidebar-nav{flex:1;overflow-y:auto;overflow-x:hidden;padding:.75rem .65rem 1rem;scrollbar-width:thin;scrollbar-color:#6c757d transparent}
.sidebar-nav::-webkit-scrollbar{width:7px}.sidebar-nav::-webkit-scrollbar-thumb{background:#6c757d;border-radius:6px}
.nav-section-label{padding:1rem .75rem .35rem;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:#adb5bd;font-weight:700;white-space:nowrap}
.nav-item{position:relative;display:flex;align-items:center;gap:.65rem;width:100%;padding:.55rem .75rem;margin:.08rem 0;border-radius:.38rem;color:var(--lte-sidebar-text);font-size:.92rem;line-height:1.25;text-decoration:none;transition:background .12s ease,color .12s ease,transform .12s ease}
.nav-item:hover{background:var(--lte-sidebar-hover);color:#fff;text-decoration:none}
.nav-item.active{background:var(--lte-sidebar-active);color:#fff;box-shadow:inset 3px 0 0 rgba(255,255,255,.45)}
.nav-item .nav-emoji,.nav-item>span:first-child{width:1.35rem;min-width:1.35rem;text-align:center;font-size:1rem;filter:saturate(1.15)}
.nav-item .nav-text,.nav-item>span:nth-child(2){white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}
.nav-item em{margin-left:auto;min-width:1.25rem;height:1.25rem;padding:0 .34rem;border-radius:999px;background:var(--lte-danger);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:.68rem;font-style:normal;font-weight:800;box-shadow:0 0 0 2px rgba(255,255,255,.08)}
.sidebar-user{border-top:1px solid rgba(255,255,255,.12);padding:.75rem;display:flex;align-items:center;gap:.65rem;background:rgba(0,0,0,.14)}
.sidebar-user>div{min-width:0;flex:1}.sidebar-user b{display:block;color:#fff;font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user .badge{margin-top:.2rem}
.sidebar-user form{margin:0}.sidebar-user button{width:32px;height:32px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.07);border-radius:.38rem;color:#fff;cursor:pointer}.sidebar-user button:hover{background:rgba(255,255,255,.16)}

/* Top navbar */
.topbar{height:var(--adminlte-topbar-height);position:sticky;top:0;z-index:1030;background:#fff;border-bottom:1px solid var(--lte-border);box-shadow:0 1px 2px rgba(0,0,0,.03);display:flex;align-items:center;justify-content:space-between;padding:0 1rem;gap:1rem}
.topbar-title-block{display:flex;flex-direction:column;min-width:0}.topbar h2{font-size:1.1rem;line-height:1.1;margin:0;color:#212529;font-weight:700}.topbar p{margin:.2rem 0 0;color:#6c757d;font-size:.76rem}
.mobile-menu{width:38px;height:38px;border:1px solid var(--lte-border);background:#fff;border-radius:.38rem;color:#495057;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.mobile-menu:hover{background:#f8f9fa;color:#212529}
.topbar-left{display:flex;align-items:center;gap:.75rem;min-width:0}.topbar-actions{display:flex;align-items:center;gap:.5rem;margin-left:auto}
.top-icon{position:relative;width:38px;height:38px;border:1px solid var(--lte-border);border-radius:.45rem;background:#fff;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:#495057;box-shadow:none}.top-icon:hover{background:#f8f9fa;color:#212529}.top-icon b{position:absolute;top:-7px;right:-7px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--lte-danger);color:#fff;font-size:.68rem;display:flex;align-items:center;justify-content:center;border:2px solid #fff}
.notification-menu-wrap{position:relative}
.notification-dropdown{display:none;position:absolute;right:0;top:calc(100% + 8px);width:min(360px,92vw);background:#fff;border:1px solid var(--lte-border);border-radius:.65rem;box-shadow:var(--lte-shadow-lg);z-index:1046;overflow:hidden}
.notification-menu-wrap:hover .notification-dropdown,.notification-menu-wrap:focus-within .notification-dropdown{display:block}
.notification-dropdown-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem .9rem;border-bottom:1px solid #edf1f5;background:#f8f9fa}.notification-dropdown-head strong{color:#212529}.notification-dropdown-head span{color:#6c757d;font-size:.78rem}
.notification-dropdown-item{display:grid;grid-template-columns:.55rem minmax(0,1fr);gap:.65rem;padding:.75rem .9rem;color:#343a40;text-decoration:none;border-bottom:1px solid #f1f3f5}.notification-dropdown-item:hover{background:#f8fbff;color:#0d6efd;text-decoration:none}.notification-dropdown-item>span{width:.55rem;height:.55rem;border-radius:999px;background:#cbd5e1;margin-top:.35rem}.notification-dropdown-item.is-unread>span{background:#0d6efd}.notification-dropdown-item b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.86rem}.notification-dropdown-item small{display:block;color:#6c757d;font-size:.74rem;margin-top:.1rem}.notification-dropdown-empty{padding:1rem;text-align:center;color:#6c757d}.notification-dropdown-all{display:block;padding:.75rem .9rem;text-align:center;font-weight:700;text-decoration:none;background:#fff;color:#0d6efd}
.top-user{position:relative;min-height:38px;display:flex;align-items:center;gap:.5rem;background:#fff;border:1px solid var(--lte-border);border-radius:999px;padding:.24rem .75rem .24rem .25rem;color:#212529;cursor:pointer}.top-user:hover{background:#f8f9fa}.top-user span{font-weight:600;white-space:nowrap}.user-menu{display:none;position:absolute;right:0;top:calc(100% + 8px);min-width:220px;background:#fff;border:1px solid var(--lte-border);border-radius:.5rem;box-shadow:var(--lte-shadow-lg);overflow:hidden;z-index:1045}.user-menu.open{display:block}.user-menu:before{content:"";position:absolute;top:-7px;right:25px;width:12px;height:12px;background:#fff;border-left:1px solid var(--lte-border);border-top:1px solid var(--lte-border);transform:rotate(45deg)}.user-menu a,.user-menu button{position:relative;display:block;width:100%;padding:.72rem 1rem;border:0;background:#fff;color:#343a40;text-align:left;text-decoration:none;font:inherit;cursor:pointer}.user-menu a:hover,.user-menu button:hover{background:#f8f9fa;color:#0d6efd}

/* Collapse behavior */
.hierarchy-hidden{display:none!important}
.mh-recurrence-field{border:1px solid #dbe4ef;border-radius:10px;padding:10px 12px;background:#f8fafc}
.mh-recurrence-field>label{display:block;margin-bottom:7px;font-weight:700;color:#334155}
.mh-recurrence-control{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.mh-recurrence-control [data-recurring-summary]{color:#64748b;font-size:.85rem;font-weight:700}
.mh-recurrence-control [data-recurring-summary].is-active{color:#1d4ed8}
.mh-recurring-badge{display:inline-flex;align-items:center;gap:4px;margin-right:6px;padding:2px 7px;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.02em;vertical-align:middle}
.mh-weekday-picker{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.mh-weekday-picker .btn{min-width:40px;border-color:#dbe4ef;background:#fff}
.mh-weekday-picker .btn.is-active{background:#2563eb;border-color:#2563eb;color:#fff}
.mh-recurrence-preview{display:grid;gap:8px;padding:10px 12px;border:1px dashed #cbd5e1;border-radius:10px;background:#f8fafc}
.mh-recurrence-preview>div{display:flex;gap:6px;flex-wrap:wrap;color:#64748b}
.mh-recurrence-preview span{display:inline-flex;padding:4px 8px;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:.8rem;font-weight:700}
.mh-toggle-row{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:#334155}
body.sidebar-collapse .sidebar{width:var(--adminlte-sidebar-mini-width)}
body.sidebar-collapse .main-content{margin-left:var(--adminlte-sidebar-mini-width);width:calc(100% - var(--adminlte-sidebar-mini-width))}
body.sidebar-collapse .sidebar-logo span:not(.logo-badge),body.sidebar-collapse .nav-item .nav-text,body.sidebar-collapse .nav-section-label,body.sidebar-collapse .sidebar-user>div,body.sidebar-collapse .nav-item em{display:none}
body.sidebar-collapse .sidebar-logo{justify-content:center;padding:0}.sidebar-collapse .nav-item{justify-content:center;padding:.65rem .25rem}.sidebar-collapse .nav-item .nav-emoji,.sidebar-collapse .nav-item>span:first-child{width:auto;min-width:auto}

/* Cards, boxes, dashboard */
.card,.form-card,.filter-card,.dash-card,.stat-card,.dept-card,.kanban-card,.kanban-col{background:#fff;border:1px solid var(--lte-border-soft);border-radius:.6rem;box-shadow:var(--lte-shadow);margin-bottom:1rem}.card-pad,.form-card,.filter-card{padding:1rem}.card:hover,.form-card:hover,.dash-card:hover{box-shadow:0 .25rem .65rem rgba(0,0,0,.06)}.card-title,.form-section-title,.dash-card-head h3{font-weight:700;color:#212529;letter-spacing:0}.card-title-row,.card-head,.page-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.page-header{margin-bottom:1rem;padding:.2rem 0}.page-title{font-size:1.55rem;font-weight:700;margin:0;color:#212529}.page-subtitle{font-size:.9rem;color:#6c757d;margin:.15rem 0 0}.dash-hero{border-radius:.8rem;background:linear-gradient(135deg,#0d6efd 0%,#6610f2 105%);box-shadow:var(--lte-shadow-lg);border:0}.dash-metric-card{border-radius:.6rem;border:0;box-shadow:var(--lte-shadow);position:relative;overflow:hidden}.dash-metric-card:after{content:"";position:absolute;right:-20px;top:-20px;width:84px;height:84px;background:rgba(0,0,0,.05);border-radius:50%}.metric-icon{border:0;border-radius:.55rem}.dash-card-head p{color:#6c757d}.dash-main-grid{gap:1rem}.dash-grade{border-radius:.45rem}

/* AdminLTE small boxes compatibility */
.stats-grid,.dash-metrics-grid{gap:1rem}.stat-card{border-left:4px solid var(--lte-primary);border-radius:.6rem;box-shadow:var(--lte-shadow);transition:transform .15s ease,box-shadow .15s ease}.stat-card:hover,.dash-metric-card:hover{transform:translateY(-2px);box-shadow:var(--lte-shadow-lg)}.stat-card b,.metric-body strong{font-weight:800;color:#212529}.stat-card small,.metric-body small{color:#6c757d}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;border-radius:.375rem;border:1px solid var(--lte-border);background:#fff;color:#212529;padding:.45rem .75rem;font-weight:600;font-size:.9rem;line-height:1.25;text-decoration:none;box-shadow:none;cursor:pointer;transition:background .12s ease,border-color .12s ease,box-shadow .12s ease,transform .12s ease}.btn:hover{background:#f8f9fa;color:#212529;text-decoration:none}.btn-primary,.dash-action.primary{background:var(--lte-primary);border-color:var(--lte-primary);color:#fff}.btn-primary:hover,.dash-action.primary:hover{background:#0b5ed7;border-color:#0a58ca;color:#fff}.btn-secondary{background:#6c757d;border-color:#6c757d;color:#fff}.btn-secondary:hover{background:#5c636a;color:#fff}.btn-danger{background:var(--lte-danger);border-color:var(--lte-danger);color:#fff}.btn-outline,.btn-outline-primary{background:#fff;border-color:var(--lte-primary);color:var(--lte-primary)}.btn-outline:hover,.btn-outline-primary:hover{background:var(--lte-primary);color:#fff}.btn-outline-danger{background:#fff;border-color:var(--lte-danger);color:var(--lte-danger)}.btn-outline-danger:hover{background:var(--lte-danger);color:#fff}.btn-sm{padding:.35rem .6rem;font-size:.82rem}.btn-xs{padding:.2rem .45rem;font-size:.74rem;border-radius:.3rem}.btn-full{width:100%}.dash-action{border-radius:.45rem}

/* Tables */
.table-wrap{overflow:auto;border-radius:.55rem}.data-table{width:100%;border-collapse:collapse;background:#fff}.data-table th{background:#f8f9fa;color:#495057;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;padding:.72rem;border-bottom:1px solid var(--lte-border);white-space:nowrap}.data-table td{padding:.72rem;border-bottom:1px solid #edf1f5;vertical-align:middle}.data-table tbody tr:hover td{background:#fbfcfd}.row-overdue td{background:#fff5f5!important}.empty,.empty-cell{color:#6c757d;text-align:center}

/* Forms */
.form-label,label{font-weight:700;color:#495057;font-size:.75rem;text-transform:none;letter-spacing:0}.form-group{margin-bottom:1rem}.form-input,.form-select,.form-textarea,input[type="text"],input[type="email"],input[type="password"],input[type="number"],input[type="date"],select,textarea{border:1px solid #ced4da;border-radius:.375rem;background:#fff;color:#212529;padding:.5rem .75rem;font:inherit;transition:border-color .15s ease,box-shadow .15s ease}.form-input:focus,.form-select:focus,.form-textarea:focus,input:focus,select:focus,textarea:focus{outline:0;border-color:#86b7fe;box-shadow:0 0 0 .2rem rgba(13,110,253,.15)}.filter-form{gap:.65rem}.filter-card{background:#fff}.checkbox-item,.perm-item{border:1px solid #e9ecef;border-radius:.45rem;background:#fff}.checkbox-item:hover,.perm-item:hover{background:#f8f9fa;border-color:#ced4da}.form-actions{border-top:1px solid #edf1f5;padding-top:1rem}

/* Badges and avatars */
.badge{border-radius:999px;font-weight:700;font-size:.72rem;padding:.22rem .48rem;line-height:1}.badge-executive{background:#e7d6ff;color:#4b168f}.badge-head{background:#d1e7dd;color:#0f5132}.badge-member{background:#cff4fc;color:#055160}.badge-admin{background:#fff3cd;color:#664d03}.badge-not-started{background:#e9ecef;color:#495057}.badge-ongoing{background:#cfe2ff;color:#084298}.badge-completed{background:#d1e7dd;color:#0f5132}.badge-on-hold,.badge-pending{background:#fff3cd;color:#664d03}.badge-cancelled,.badge-high{background:#f8d7da;color:#842029}.badge-medium{background:#fff3cd;color:#664d03}.badge-low{background:#d1e7dd;color:#0f5132}.dept-badge{border-radius:999px;color:#fff;font-size:.72rem;padding:.25rem .5rem;font-weight:700}.avatar{box-shadow:0 0 0 2px #fff}.avatar-sm{width:32px;height:32px}.avatar-lg{width:68px;height:68px}.progress{height:.5rem;background:#e9ecef;border-radius:999px;overflow:hidden}.progress-fill{background:var(--lte-primary);height:100%}.progress-green{background:var(--lte-success)!important}.progress-red{background:var(--lte-danger)!important}.progress-yellow{background:#ffc107!important}.text-muted{color:#6c757d!important}.text-danger{color:#dc3545!important}.text-success{color:#198754!important}.font-semibold{font-weight:700!important}

/* Alerts */
.alert{border-radius:.45rem;border:1px solid transparent;padding:.75rem 1rem;font-weight:600}.alert-success{color:#0f5132;background:#d1e7dd;border-color:#badbcc}.alert-danger{color:#842029;background:#f8d7da;border-color:#f5c2c7}.alert-warning{color:#664d03;background:#fff3cd;border-color:#ffecb5}.alert-info{color:#055160;background:#cff4fc;border-color:#b6effb}

/* Notifications */
.notification-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,180px));gap:.75rem;margin-bottom:1rem}.notification-summary-card{background:#fff;border:1px solid var(--lte-border-soft);border-radius:.6rem;box-shadow:var(--lte-shadow);padding:.85rem 1rem}.notification-summary-card span{display:block;color:#6c757d;font-size:.75rem;text-transform:uppercase;font-weight:800;letter-spacing:.04em}.notification-summary-card strong{display:block;color:#212529;font-size:1.55rem;line-height:1.1;margin-top:.15rem}
.notification-list-card{display:grid;gap:.65rem}.notification-item{display:grid;grid-template-columns:2.6rem minmax(0,1fr) auto;gap:.8rem;align-items:flex-start;background:#fff;border:1px solid var(--lte-border-soft);border-radius:.7rem;box-shadow:var(--lte-shadow);padding:.9rem}.notification-item.is-unread{background:#f8fbff;border-color:#bfdbfe}.notification-item.is-read{opacity:.72}.notification-type{width:2.6rem;height:2.6rem;border-radius:.65rem;display:grid;place-items:center;background:#e7f1ff;color:#0d6efd;font-size:1.1rem}.notification-type-success{background:#d1e7dd;color:#0f5132}.notification-type-warning{background:#fff3cd;color:#997404}.notification-type-danger{background:#f8d7da;color:#842029}.notification-type-task{background:#e7f1ff;color:#0d6efd}.notification-type-approval{background:#ede9fe;color:#5b21b6}.notification-type-file{background:#e0f2fe;color:#075985}.notification-content{min-width:0}.notification-title-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.notification-title-row h3{margin:0;color:#212529;font-size:.98rem;font-weight:800}.notification-content p{margin:.35rem 0 0;color:#495057;line-height:1.45}.notification-meta{display:flex;gap:.65rem;align-items:center;flex-wrap:wrap;margin-top:.45rem;color:#6c757d;font-size:.78rem}.notification-actions{display:flex;gap:.4rem;align-items:center;justify-content:flex-end;flex-wrap:wrap}.notification-actions form{margin:0}

/* My Tasks hierarchy */
.mytasks-page{--mytasks-cols:minmax(360px,1.6fr) 110px 120px 120px 180px 180px 180px 80px 150px;max-width:1360px;width:100%;margin:0 auto}
.mytasks-header{align-items:flex-start}.mytasks-legend{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:flex-end}
.mytasks-summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:#fff;border:1px solid var(--lte-border-soft);border-radius:.8rem;box-shadow:var(--lte-shadow);padding:.85rem 1rem;margin-bottom:.8rem}.mytasks-summary span{display:block;color:#667085;font-size:.78rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.mytasks-summary strong{display:block;font-size:1.28rem;color:#20262e}.mytasks-summary small{color:#667085}
.mytasks-filter-bar{display:grid;grid-template-columns:minmax(220px,1.2fr) repeat(6,minmax(112px,.7fr)) auto;gap:.5rem;align-items:center;background:#fff;border:1px solid var(--lte-border-soft);border-radius:.8rem;box-shadow:var(--lte-shadow);padding:.65rem;margin-bottom:.85rem}.mytasks-filter-bar .form-input,.mytasks-filter-bar .form-select{margin:0;min-height:36px}
.mytasks-completed-note{display:block;margin-top:.16rem;color:#15803d;font-size:.72rem;font-weight:850}
.mytasks-board{display:grid;gap:.65rem;overflow-x:auto;padding-bottom:.25rem}.mytasks-grid-head{display:grid;grid-template-columns:var(--mytasks-cols);gap:.5rem;min-width:1560px;padding:.55rem .75rem;color:#667085;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.mytasks-milestone{background:#fff;border:1px solid #dbe7f5;border-radius:.85rem;box-shadow:var(--lte-shadow);overflow:hidden;min-width:1560px}.mytasks-milestone-row{width:100%;display:grid;grid-template-columns:var(--mytasks-cols);gap:.5rem;align-items:center;border:0;background:#eef6ff;color:#20262e;padding:.74rem .75rem;text-align:left;cursor:pointer}.mytasks-milestone-row:hover{background:#e7f1ff}.mytasks-milestone-title{display:flex;align-items:center;gap:.55rem;min-width:0}.mytasks-milestone-row b{font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mytasks-milestone-row small{color:#64748b;font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mytasks-milestone-row em{font-style:normal;font-weight:900;color:#1d4ed8;white-space:nowrap;text-align:center}.mytasks-milestone-action{justify-self:end;color:#64748b;font-size:.72rem;font-weight:900;text-transform:uppercase}.mytasks-milestone-progress{display:grid!important;grid-template-columns:120px 42px;gap:.45rem;align-items:center}.mytasks-milestone-progress strong{font-size:.78rem;text-align:right;color:#475467}
.mytasks-milestone-body{display:grid;gap:.35rem;padding:.5rem;background:#f8fafc}.mytasks-row{display:grid;grid-template-columns:var(--mytasks-cols);gap:.5rem;align-items:center;min-width:1560px;border:1px solid #edf1f5;border-radius:.68rem;background:#fff;padding:.56rem .75rem}.mytasks-row.is-subtask{background:#fbfcfe;color:#475467}.mytasks-row.is-overdue{border-color:#fecdd3;background:#fff7f7}.mytasks-child-group{display:grid;gap:.35rem}.mytasks-cell{min-width:0}.mytasks-title-cell{display:grid;grid-template-columns:auto auto auto minmax(0,1fr);gap:.42rem;align-items:flex-start}.mytasks-indent{width:calc(var(--mytask-level,0) * 20px);height:1px}.mytasks-caret,.mytasks-caret-spacer{width:1.65rem;height:1.65rem;display:grid;place-items:center;flex:0 0 auto}.mytasks-caret{border:1px solid #d8e0eb;border-radius:.45rem;background:#fff;color:#475467;cursor:pointer}.mytasks-caret-spacer{display:block}.mytasks-type-icon{width:1.65rem;height:1.65rem;display:grid;place-items:center;border-radius:.5rem;background:#eef4ff;color:#2563eb}.mytasks-row.is-subtask .mytasks-type-icon{background:#f1f5f9;color:#64748b}.mytasks-title-cell a{display:inline-block;max-width:100%;color:#20262e;font-weight:900;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mytasks-title-cell a:hover{color:#2563eb;text-decoration:underline;text-underline-offset:3px}.mytasks-title-cell small,.mytasks-title-cell em{display:block;color:#667085;font-size:.75rem;line-height:1.35;margin-top:.1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mytasks-title-cell em{font-style:normal;color:#94a3b8}
.mytasks-group-tools{display:flex;justify-content:flex-end;gap:.45rem;min-width:1560px}.my-task-group-header{cursor:default!important;background:#eff6ff!important;border-bottom:1px solid #dbeafe}.my-task-group-header:hover{background:#eaf3ff!important}.mytasks-group-mark{width:24px;height:24px;border-radius:6px;background:#dbeafe}.my-task-toggle,.hierarchy-toggle{width:24px;height:24px;min-width:24px;border:1px solid #bfdbfe;background:#fff;color:#2563eb;border-radius:6px;font-size:16px;font-weight:900;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.my-task-toggle:hover,.my-task-toggle:focus-visible,.hierarchy-toggle:hover,.hierarchy-toggle:focus-visible{background:#2563eb;color:#fff;outline:0}.hierarchy-toggle-spacer{width:24px;height:24px;min-width:24px;border-color:transparent!important;background:transparent!important;cursor:default}.mytasks-milestone-row{grid-template-columns:28px minmax(320px,1.6fr) minmax(150px,.7fr) minmax(100px,.45fr) minmax(70px,.35fr);min-width:1560px}.mytasks-milestone-title{display:grid!important;grid-template-columns:minmax(0,auto) minmax(120px,1fr);align-items:center}.mytasks-milestone-title b,.mytasks-milestone-title small{min-width:0}.mytasks-milestone-body.is-hidden,.mytasks-child-group.is-hidden,.mytasks-milestone-children.is-hidden{display:none!important}.mytasks-milestone-children{display:grid;gap:.35rem}.mytasks-row.is-milestone{--mytask-indent:8px}.mytasks-row.is-task{--mytask-indent:30px}.mytasks-row.is-subtask{--mytask-indent:54px}.mytasks-indent{width:var(--mytask-indent,calc(var(--mytask-level,0) * 20px))}
.mytasks-type-pill{display:inline-flex;align-items:center;width:max-content;border-radius:999px;padding:.16rem .45rem;font-size:.66rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.mytasks-type-pill.milestone{background:#dbeafe;color:#1d4ed8}.mytasks-type-pill.task{background:#dcfce7;color:#166534}.mytasks-type-pill.subtask{background:#f1f5f9;color:#475467}.mytasks-alert{display:inline-flex;align-items:center;gap:.2rem;margin-left:.35rem;color:#dc2626;font-size:.72rem;font-weight:900}
.mytasks-row.is-milestone .mytasks-type-icon{background:#dbeafe;color:#1d4ed8}.mytasks-row.is-milestone{border-color:#dbeafe;background:#fbfdff}
.mytasks-assignees{display:flex;align-items:center;gap:.3rem;flex-wrap:wrap}.mytasks-person{display:inline-flex;align-items:center;gap:.25rem;max-width:105px}.mytasks-person b{font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mytasks-more{display:inline-grid;place-items:center;height:26px;min-width:26px;border-radius:999px;background:#e9ecef;color:#475467;font-size:.72rem;font-weight:900}.mytasks-party{display:block;color:#20262e;font-weight:850;font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mytasks-party small{display:block;color:#667085;font-size:.7rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mytasks-progress-cell{display:grid;grid-template-columns:120px 38px;gap:.4rem;align-items:center}.mytasks-progress-cell span{font-size:.74rem;font-weight:900;text-align:right;color:#475467}.mytasks-updates-cell{display:flex;align-items:center;justify-content:center;gap:.35rem}.mytasks-updates-cell>span{display:inline-flex;align-items:center;gap:.18rem;color:#64748b;font-size:.72rem;font-weight:850}.mytasks-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:.3rem;flex-wrap:nowrap}.mytasks-row-actions .btn{padding:.28rem .45rem;min-height:28px;white-space:nowrap}.mytasks-row-actions>span{display:inline-flex;align-items:center;gap:.18rem;color:#64748b;font-size:.72rem;font-weight:850}
.mytasks-empty{display:grid;place-items:center;gap:.2rem;background:#fff;border:1px dashed #cfd8e3;border-radius:.85rem;padding:2rem;color:#667085;text-align:center}.mytasks-empty strong{color:#20262e}
.mytasks-progress-form{display:grid;grid-template-columns:minmax(220px,1fr) auto;align-items:end;gap:.6rem;margin-top:.75rem;padding:.7rem;border:1px solid #dbeafe;border-radius:.68rem;background:#eff6ff}.mytasks-progress-form label{display:grid;grid-template-columns:auto minmax(120px,1fr) 44px;align-items:center;gap:.55rem;margin:0;color:#1d4ed8;font-weight:900}.mytasks-progress-form input[type=range]{width:100%;accent-color:#2563eb}.mytasks-progress-form strong{font-size:.8rem;text-align:right;color:#20262e}
.badge-overdue{background:#fee2e2;color:#b91c1c}

/* Activity & Updates */
.activity-updates-page{display:grid;gap:1rem}.activity-updates-header{margin-bottom:0}.activity-tabs{display:flex;gap:.45rem;overflow-x:auto;padding:.35rem;background:#fff;border:1px solid var(--lte-border-soft);border-radius:.85rem;box-shadow:var(--lte-shadow)}.activity-tabs a{display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap;border-radius:.65rem;padding:.55rem .75rem;color:#475467;text-decoration:none;font-weight:850;font-size:.84rem}.activity-tabs a:hover{background:#f3f6fa;color:#2563eb}.activity-tabs a.is-active{background:#2563eb;color:#fff}
.activity-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.activity-summary-grid>div{background:#fff;border:1px solid var(--lte-border-soft);border-radius:.8rem;box-shadow:var(--lte-shadow);padding:.85rem 1rem}.activity-summary-grid span{display:block;color:#667085;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.activity-summary-grid strong{display:block;margin-top:.25rem;font-size:1.45rem;color:#20262e}
.activity-filter-bar{display:grid;grid-template-columns:minmax(220px,1.35fr) repeat(5,minmax(135px,.75fr)) auto auto;gap:.55rem;align-items:center;background:#fff;border:1px solid var(--lte-border-soft);border-radius:.85rem;box-shadow:var(--lte-shadow);padding:.75rem}.activity-filter-bar .form-input,.activity-filter-bar .form-select{margin:0;min-height:38px}
.activity-feed{display:grid;gap:.55rem}.activity-date-label{display:flex;align-items:center;gap:.45rem;margin:.35rem 0 0;color:#20262e;font-size:.82rem;font-weight:950;text-transform:uppercase;letter-spacing:.04em}.activity-date-label span{color:#94a3b8;font-size:.72rem}.activity-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.75rem;background:#fff;border:1px solid #e5eaf0;border-radius:.85rem;box-shadow:var(--lte-shadow);padding:.85rem;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.activity-card.js-open-activity-related{cursor:pointer}.activity-card.js-open-activity-related:hover,.activity-card.js-open-activity-related:focus{background:#f8fbff;border-color:#2563eb;box-shadow:0 10px 24px rgba(37,99,235,.12);outline:0}.activity-card-top{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start}.activity-card-top p{margin:0;color:#475467;line-height:1.45}.activity-card-top strong{color:#20262e}.activity-card-top a,.activity-card-top .related-title{color:#1d4ed8;font-weight:900;text-decoration:none}.activity-card-top a:hover{text-decoration:underline;text-underline-offset:3px}.activity-card-top time{white-space:nowrap;color:#94a3b8;font-size:.78rem;font-weight:800}.activity-card-body{margin-top:.5rem;background:#f8fafc;border:1px solid #edf1f5;border-radius:.65rem;padding:.65rem;color:#475467;line-height:1.45;white-space:pre-line}.activity-card-comment{background:#f0f7ff;border-color:#dbeafe}.activity-comment-quote{margin:0;padding:.5rem .75rem;border-left:3px solid #2563eb;background:transparent;color:#374151;font-style:italic;line-height:1.55;white-space:pre-wrap;word-break:break-word}.activity-card-file{display:flex;align-items:center;gap:.45rem;color:#475467}.activity-card-file i{color:#2563eb;font-size:.95rem;flex-shrink:0}.activity-card-change{display:flex;align-items:center;gap:.45rem;color:#475467}.activity-card-change i{color:#7c3aed;font-size:.9rem;flex-shrink:0}.activity-empty{display:grid;place-items:center;background:#fff;border:1px dashed #cbd5e1;border-radius:.85rem;padding:1.5rem;color:#667085;text-align:center}.activity-empty.compact{padding:.85rem;font-size:.82rem}.activity-load-more{display:flex;align-items:center;justify-content:center;gap:.75rem;flex-wrap:wrap;background:#fff;border:1px solid #e5eaf0;border-radius:.85rem;padding:.85rem;color:#667085;font-size:.82rem;font-weight:800}
.activity-detail-open{overflow:hidden}.activity-detail-modal[hidden]{display:none!important}.activity-detail-modal{position:fixed;inset:0;z-index:1060;display:grid;place-items:center;padding:1rem}.activity-detail-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.46);backdrop-filter:blur(2px)}.activity-detail-dialog{position:relative;z-index:1;width:min(920px,calc(100vw - 2rem));max-height:calc(100vh - 2rem);display:grid;grid-template-rows:auto minmax(0,1fr);background:#fff;border:1px solid #dbe3ec;border-radius:1rem;box-shadow:0 24px 70px rgba(15,23,42,.28);overflow:hidden}.activity-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;border-bottom:1px solid #edf1f5;background:#f8fafc}.activity-detail-kicker{display:inline-flex;margin-bottom:.2rem;color:#2563eb;font-size:.72rem;font-weight:950;text-transform:uppercase;letter-spacing:.05em}.activity-detail-head h2{margin:0;color:#20262e;font-size:1.12rem;line-height:1.25;overflow-wrap:anywhere}.activity-detail-head p{margin:.18rem 0 0;color:#667085}.activity-detail-close{border:0;background:#e8edf3;color:#475467;border-radius:.65rem;width:2.1rem;height:2.1rem;font-size:1.35rem;line-height:1;cursor:pointer}.activity-detail-close:hover{background:#dbeafe;color:#1d4ed8}.activity-detail-body{overflow:auto;padding:1rem;display:grid;gap:.8rem}.activity-detail-loading,.activity-detail-section{border:1px solid #e5eaf0;border-radius:.85rem;background:#fff;padding:.9rem}.activity-detail-section-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.45rem}.activity-detail-section h3{margin:0 0 .55rem;color:#20262e;font-size:.95rem}.activity-detail-section-head h3{margin:0}.activity-detail-description{margin:.2rem 0 .75rem;color:#475467;line-height:1.5;white-space:pre-line}.activity-detail-grid,.activity-detail-change{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.activity-detail-grid>div,.activity-detail-change>div{min-width:0;border:1px solid #edf1f5;border-radius:.7rem;background:#fbfcfe;padding:.65rem}.activity-detail-grid span,.activity-detail-change span{display:block;color:#667085;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.activity-detail-grid strong,.activity-detail-change strong{display:block;margin-top:.18rem;color:#20262e;overflow-wrap:anywhere}.activity-detail-progress{display:flex;align-items:center;gap:.6rem;margin:.35rem 0 .75rem}.activity-detail-progress .progress{flex:1;min-width:120px}.activity-detail-progress strong{font-weight:900;color:#20262e}.activity-detail-people{display:flex;flex-wrap:wrap;gap:.45rem}.activity-detail-person{display:inline-flex;align-items:center;gap:.45rem;border:1px solid #edf1f5;border-radius:999px;padding:.25rem .55rem;background:#fbfcfe}.activity-detail-person small{display:block;color:#667085;font-size:.7rem;line-height:1}.activity-detail-remark{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.6rem;border:1px solid #edf1f5;border-radius:.75rem;padding:.65rem;background:#fbfcfe}.activity-detail-remark+.activity-detail-remark{margin-top:.45rem}.activity-detail-remark strong{display:block;color:#20262e}.activity-detail-remark small{display:block;color:#94a3b8;font-size:.74rem}.activity-detail-remark p{margin:.25rem 0 0;color:#475467;line-height:1.45}.activity-detail-files{display:grid;gap:.45rem}.activity-detail-file{display:flex;align-items:center;gap:.55rem;border:1px solid #edf1f5;border-radius:.75rem;padding:.65rem;background:#fbfcfe;text-decoration:none;color:#475467}.activity-detail-file:hover{border-color:#bfdbfe;background:#f8fbff}.activity-detail-file i{color:#2563eb;font-size:1.1rem}.activity-detail-file strong{display:block;color:#1d4ed8}.activity-detail-file small{display:block;color:#667085}.activity-detail-empty{display:grid;place-items:center;min-height:3.25rem;color:#667085;border:1px dashed #cbd5e1;border-radius:.75rem;background:#fbfcfe;text-align:center;padding:.75rem}.activity-detail-metadata{margin-top:.75rem;border:1px solid #edf1f5;border-radius:.75rem;padding:.65rem;background:#fbfcfe}.activity-detail-metadata summary{cursor:pointer;font-weight:900;color:#475467}.activity-detail-metadata pre{white-space:pre-wrap;overflow:auto;margin:.55rem 0 0;font-size:.78rem;color:#334155}
.activity-detail-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:.75rem 0}.activity-detail-controls label{display:grid;gap:.3rem;margin:0}.activity-detail-controls label>span{color:#667085;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.activity-detail-controls small{color:#6b7a90;font-size:.72rem}.activity-detail-controls input[type=range]{width:100%;accent-color:#2563eb}.activity-detail-controls .activity-detail-progress{margin:0}.activity-detail-remark-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.activity-detail-remark-actions{display:flex;gap:.25rem;flex-wrap:wrap}.activity-detail-remark-actions button{border:1px solid #d8e0eb;background:#fff;color:#475467;border-radius:.45rem;padding:.18rem .42rem;font-size:.7rem;font-weight:850;cursor:pointer}.activity-detail-remark-actions button:hover{border-color:#2563eb;color:#2563eb;background:#eff6ff}.activity-detail-remark-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem;margin-top:.65rem}.activity-detail-remark-form .form-input{margin:0}.activity-detail-upload-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem;margin-top:.65rem;border-top:1px solid #edf1f5;padding-top:.65rem}.activity-detail-upload-form .form-input{margin:0}
.activity-panel{background:#fff;border:1px solid var(--lte-border-soft);border-radius:.85rem;box-shadow:var(--lte-shadow);padding:1rem}.activity-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.85rem}.activity-panel-head h2,.activity-due-card h2,.activity-cta-panel h2{margin:0;color:#20262e;font-size:1rem}.activity-panel-head p,.activity-cta-panel p{margin:.2rem 0 0;color:#667085}.activity-due-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.activity-due-card{background:#fff;border:1px solid var(--lte-border-soft);border-radius:.85rem;box-shadow:var(--lte-shadow);padding:.85rem;display:grid;gap:.55rem;align-content:start}.activity-due-item{display:grid;gap:.18rem;border:1px solid #edf1f5;border-radius:.7rem;padding:.65rem;text-decoration:none;color:#475467;background:#fbfcfe}.activity-due-item:hover{border-color:#bfdbfe;background:#f8fbff}.activity-due-item strong{color:#20262e}.activity-due-item span,.activity-due-item small{font-size:.78rem;color:#667085}.activity-due-item em{font-style:normal;display:flex;gap:.25rem;flex-wrap:wrap;margin-top:.2rem}.activity-settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.activity-settings-grid>div{border:1px solid #edf1f5;border-radius:.75rem;padding:.8rem;background:#fbfcfe}.activity-settings-grid span{display:block;color:#667085;font-size:.8rem;font-weight:800}.activity-settings-grid strong{display:block;margin-top:.25rem;color:#20262e}.activity-cta-panel{text-align:center;display:grid;place-items:center;gap:.55rem;padding:2rem}.activity-cta-panel>i{display:grid;place-items:center;width:3rem;height:3rem;border-radius:999px;background:#eff6ff;color:#2563eb;font-size:1.35rem}
.activity-approval-actions{display:flex;gap:.35rem;align-items:center;justify-content:flex-end}
.activity-subsection-title{font-size:.95rem;font-weight:800;margin:1rem 0 .5rem;color:#334155}
.epm-kanban-responsible{display:block;color:#64748b;font-size:.74rem;font-weight:750;margin-top:.2rem}
.kanban-debug-panel ul{margin:.6rem 0 0;padding-left:1.1rem}
.kanban-debug-panel summary{cursor:pointer;font-weight:800}
.mytasks-type-tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin:.75rem 0 1rem}
.mytasks-type-tabs a{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:.42rem .75rem;border:1px solid var(--ui-border,#dfe5ee);border-radius:.55rem;background:#fff;color:#334155;font-size:.82rem;font-weight:800;text-decoration:none}
.mytasks-type-tabs a.is-active,.mytasks-type-tabs a:hover{background:#2563eb;border-color:#2563eb;color:#fff}
@media(max-width:576px){.mytasks-type-tabs{display:grid;grid-template-columns:1fr 1fr}.mytasks-type-tabs a{width:100%}}

/* My Tasks compact alignment override */
.mytasks-page{
  --mytasks-cols:430px 110px 120px 120px 190px 170px 160px 110px 210px;
  --mytasks-table-width:1700px;
}
.mytasks-board{
  width:100%;
  max-width:100%;
  overflow-x:auto;
  overflow-y:visible;
  gap:.45rem;
  -webkit-overflow-scrolling:touch;
}
.mytasks-grid-head,
.mytasks-milestone,
.mytasks-group-tools{
  min-width:var(--mytasks-table-width);
}
.mytasks-grid-head{
  grid-template-columns:var(--mytasks-cols);
  gap:.5rem;
  align-items:center;
  padding:.5rem .65rem;
  width:var(--mytasks-table-width);
  box-sizing:border-box;
}
.mytasks-grid-head span{
  min-width:0;
  overflow:visible;
  white-space:nowrap;
}
.mytasks-milestone-row,
.mytasks-row{
  grid-template-columns:var(--mytasks-cols);
  gap:.5rem;
  min-width:var(--mytasks-table-width);
  width:var(--mytasks-table-width);
  box-sizing:border-box;
}
.mytasks-milestone-row{
  min-height:42px;
  padding:.48rem .65rem;
}
.mytasks-row{
  min-height:46px;
  padding:.4rem .65rem;
}
.mytasks-milestone-body,
.mytasks-milestone-children,
.mytasks-child-group{
  gap:.28rem;
}
.mytasks-cell{
  min-width:0;
  overflow:hidden;
}
.mytasks-title-cell{
  grid-template-columns:auto 24px 26px minmax(0,1fr);
  align-items:center;
  gap:.35rem;
}
.mytasks-title-cell>div{
  min-width:0;
  display:block;
  overflow:hidden;
}
.mytasks-title-cell a,
.mytasks-title-cell small,
.mytasks-title-cell em,
.mytasks-party,
.mytasks-party small,
.mytasks-person b{
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.mytasks-title-cell a{
  vertical-align:middle;
  line-height:1.2;
}
.mytasks-title-cell small,
.mytasks-title-cell em{
  line-height:1.15;
  margin-top:.08rem;
}
.mytasks-title-cell em{
  display:none;
}
.mytasks-type-pill,
.mh-recurring-badge,
.badge,
.mytasks-alert{
  white-space:nowrap;
  flex:0 0 auto;
}
.mytasks-caret,
.mytasks-caret-spacer,
.hierarchy-toggle,
.hierarchy-toggle-spacer,
.mytasks-type-icon{
  width:24px;
  height:24px;
  min-width:24px;
}
.mytasks-assignees{
  flex-wrap:nowrap;
  overflow:hidden;
}
.mytasks-person{
  max-width:132px;
  min-width:0;
}
.mytasks-progress-cell{
  grid-template-columns:minmax(100px,1fr) 40px;
  gap:.38rem;
}
.mytasks-progress-cell .progress,
.mytasks-milestone-progress .progress{
  min-width:0;
}
.mytasks-updates-cell{
  justify-content:center;
  white-space:nowrap;
  overflow:hidden;
}
.mytasks-row-actions{
  justify-content:flex-end;
  flex-wrap:nowrap;
  overflow:visible;
  white-space:nowrap;
}
.mytasks-row-actions .btn{
  min-height:26px;
  padding:.22rem .36rem;
  font-size:.72rem;
  line-height:1;
  flex:0 0 auto;
}
.mytasks-more-actions{
  position:relative;
  flex:0 0 auto;
}
.mytasks-more-actions summary{
  list-style:none;
  cursor:pointer;
}
.mytasks-more-actions summary::-webkit-details-marker{
  display:none;
}
.mytasks-more-actions summary:after{
  content:" \25BE";
  font-size:.68rem;
}
.mytasks-more-actions>div{
  position:absolute;
  right:0;
  top:calc(100% + 5px);
  z-index:80;
  min-width:120px;
  display:grid;
  gap:0;
  padding:.25rem;
  border:1px solid #e5e7eb;
  border-radius:.55rem;
  background:#fff;
  box-shadow:0 12px 26px rgba(15,23,42,.16);
}
.mytasks-more-actions:not([open])>div{
  display:none;
}
.mytasks-more-actions a{
  display:block;
  padding:.45rem .55rem;
  border-radius:.4rem;
  color:#334155;
  font-size:.78rem;
  font-weight:800;
  text-decoration:none;
}
.mytasks-more-actions a:hover{
  background:#eff6ff;
  color:#1d4ed8;
}
.mytasks-milestone-progress{
  grid-template-columns:minmax(86px,1fr) 40px;
}
.mytasks-milestone-row em,
.mytasks-milestone-action{
  text-align:center;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* My Tasks final table alignment */
.mytasks-page{
  max-width:100%;
  overflow-x:hidden;
}
.mytasks-board{
  max-width:100%;
  overflow-x:auto;
}
.mytasks-milestone{
  width:var(--mytasks-table-width);
  max-width:none;
}
.my-task-group-header{
  grid-template-columns:24px minmax(0,1fr) 170px 120px !important;
  align-items:center;
  min-height:40px;
  width:var(--mytasks-table-width);
  min-width:var(--mytasks-table-width);
  padding:.46rem .65rem;
  cursor:default!important;
}
.my-task-group-header .mytasks-milestone-title{
  display:grid!important;
  grid-template-columns:minmax(0,1fr);
  gap:.05rem;
}
.my-task-group-header .mytasks-milestone-title b,
.my-task-group-header .mytasks-milestone-title small{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.my-task-group-header .mytasks-milestone-progress{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 42px;
  gap:.42rem;
  align-items:center;
  min-width:0;
}
.my-task-group-header em{
  justify-self:end;
  max-width:120px;
  color:#1d4ed8;
  font-size:.76rem;
  font-weight:900;
  white-space:nowrap;
}
.my-task-group-header .mytasks-milestone-action{
  display:none;
}
.mytasks-row>.mytasks-cell{
  align-self:center;
}
.mytasks-row .badge,
.mytasks-row .mytasks-type-pill,
.mytasks-row .mh-recurring-badge{
  line-height:1.1;
}
.mytasks-progress-cell{
  min-width:0;
  overflow:visible;
}
.mytasks-progress-cell .progress{
  width:100%;
}
.mytasks-progress-cell>span{
  width:40px;
  text-align:right;
}
.mytasks-updates-cell{
  min-width:0;
  justify-content:center;
}
.mytasks-row-actions{
  min-width:0;
  justify-content:flex-end;
}
.mytasks-row-actions .btn{
  max-width:86px;
  overflow:hidden;
  text-overflow:ellipsis;
}
.mytasks-more-actions summary.btn{
  max-width:none;
}

/* Grouped module landing pages */
.module-hub-page{display:grid;gap:1rem}.module-hub-tabs{display:flex;gap:.5rem;overflow-x:auto;padding:.35rem;background:#fff;border:1px solid var(--lte-border-soft);border-radius:.85rem;box-shadow:var(--lte-shadow)}.module-hub-tabs a{display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap;border-radius:.65rem;padding:.55rem .75rem;color:#475467;text-decoration:none;font-weight:850;font-size:.84rem}.module-hub-tabs a:hover{background:#f3f6fa;color:#2563eb}.module-hub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.module-hub-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.75rem;align-items:start;background:#fff;border:1px solid var(--lte-border-soft);border-radius:.9rem;box-shadow:var(--lte-shadow);padding:1rem;text-decoration:none;color:#475467}.module-hub-card:hover{border-color:#bfdbfe;transform:translateY(-1px)}.module-hub-card>i{display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:.75rem;background:#eff6ff;color:#2563eb;font-size:1.15rem}.module-hub-card strong{display:block;color:#20262e;font-size:.98rem}.module-hub-card span{display:block;margin-top:.2rem;color:#667085;line-height:1.45}

/* Risks & Issues landing */
.risks-issues-page{display:grid;gap:1rem;width:100%;max-width:100%;min-width:0;overflow-x:hidden}.risks-issues-header{margin-bottom:0}.risks-issues-tabs{display:flex;gap:.5rem;overflow-x:auto;max-width:100%;padding:.35rem;background:#fff;border:1px solid var(--lte-border-soft);border-radius:.85rem;box-shadow:var(--lte-shadow)}.risks-issues-tabs a{display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap;border-radius:.65rem;padding:.55rem .8rem;color:#475467;text-decoration:none;font-weight:850;font-size:.84rem}.risks-issues-tabs a:hover{background:#f3f6fa;color:#2563eb}.risks-issues-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;width:100%;max-width:100%;min-width:0}.risks-issues-card{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:.85rem;min-width:0;max-width:100%;min-height:220px;overflow:hidden;background:#fff;border:1px solid var(--lte-border-soft);border-radius:.9rem;box-shadow:var(--lte-shadow);padding:1.15rem}.risks-issues-card:hover{border-color:#bfdbfe;box-shadow:var(--ui-shadow-hover,0 .7rem 1.65rem rgba(16,24,40,.1));transform:translateY(-1px)}.risks-issues-card-icon{display:grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:.8rem;background:#eff6ff;color:#2563eb;font-size:1.25rem}.risks-issues-card-body{min-width:0}.risks-issues-card h2{margin:0;color:#20262e;font-size:1.08rem;line-height:1.3;font-weight:900;overflow-wrap:anywhere}.risks-issues-card p{margin:.4rem 0 0;color:#667085;line-height:1.5;overflow-wrap:anywhere}.risks-issues-card .btn{justify-self:start;min-width:0;white-space:normal}@media(max-width:768px){.risks-issues-grid{grid-template-columns:1fr}.risks-issues-card{min-height:auto}.risks-issues-card .btn{width:100%;justify-content:center}}

/* People & Departments landing */
.people-page{display:grid;gap:1rem;width:100%;max-width:100%;min-width:0;overflow-x:hidden}.people-header{margin-bottom:0}.people-tabs{display:flex;gap:.5rem;overflow-x:auto;max-width:100%;padding:.35rem;background:#fff;border:1px solid var(--lte-border-soft);border-radius:.85rem;box-shadow:var(--lte-shadow)}.people-tabs a{display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap;border-radius:.65rem;padding:.55rem .8rem;color:#475467;text-decoration:none;font-weight:850;font-size:.84rem}.people-tabs a:hover{background:#f3f6fa;color:#2563eb}.people-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;width:100%;max-width:100%;min-width:0}.people-card{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:.85rem;min-width:0;max-width:100%;min-height:220px;overflow:hidden;background:#fff;border:1px solid var(--lte-border-soft);border-radius:.9rem;box-shadow:var(--lte-shadow);padding:1.15rem}.people-card:hover{border-color:#bfdbfe;box-shadow:var(--ui-shadow-hover,0 .7rem 1.65rem rgba(16,24,40,.1));transform:translateY(-1px)}.people-card-icon{display:grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:.8rem;background:#eff6ff;color:#2563eb;font-size:1.25rem}.people-card-body{min-width:0}.people-card h2{margin:0;color:#20262e;font-size:1.08rem;line-height:1.3;font-weight:900;overflow-wrap:anywhere}.people-card p{margin:.4rem 0 0;color:#667085;line-height:1.5;overflow-wrap:anywhere}.people-card .btn{justify-self:start;min-width:0;white-space:normal}@media(max-width:768px){.people-grid{grid-template-columns:1fr}.people-card{min-height:auto}.people-card .btn{width:100%;justify-content:center}}

/* Access Control landing */
.access-control-page{display:grid;gap:1rem;width:100%;max-width:100%;min-width:0;overflow-x:hidden}.access-control-header{margin-bottom:0}.access-control-tabs{display:flex;gap:.5rem;overflow-x:auto;max-width:100%;padding:.35rem;background:#fff;border:1px solid var(--lte-border-soft);border-radius:.85rem;box-shadow:var(--lte-shadow)}.access-control-tabs a{display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap;border-radius:.65rem;padding:.55rem .8rem;color:#475467;text-decoration:none;font-weight:850;font-size:.84rem}.access-control-tabs a:hover{background:#f3f6fa;color:#2563eb}.access-control-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;width:100%;max-width:100%;min-width:0}.access-control-card{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:.85rem;min-width:0;max-width:100%;min-height:220px;overflow:hidden;background:#fff;border:1px solid var(--lte-border-soft);border-radius:.9rem;box-shadow:var(--lte-shadow);padding:1.15rem}.access-control-card:hover{border-color:#bfdbfe;box-shadow:var(--ui-shadow-hover,0 .7rem 1.65rem rgba(16,24,40,.1));transform:translateY(-1px)}.access-control-card-icon{display:grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:.8rem;background:#eff6ff;color:#2563eb;font-size:1.25rem}.access-control-card-body{min-width:0}.access-control-card h2{margin:0;color:#20262e;font-size:1.08rem;line-height:1.3;font-weight:900;overflow-wrap:anywhere}.access-control-card p{margin:.4rem 0 0;color:#667085;line-height:1.5;overflow-wrap:anywhere}.access-control-card .btn{justify-self:start;min-width:0;white-space:normal}@media(max-width:768px){.access-control-grid{grid-template-columns:1fr}.access-control-card{min-height:auto}.access-control-card .btn{width:100%;justify-content:center}}

/* Departments module */
.departments-page{width:100%;max-width:100%;min-width:0;overflow-x:hidden}.departments-header{align-items:flex-start}.departments-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.department-card{position:relative;display:grid;gap:.9rem;min-width:0;overflow:hidden;background:#fff;border:1px solid var(--lte-border-soft);border-top:4px solid var(--dept-color,#2563eb);border-radius:.9rem;box-shadow:var(--lte-shadow);padding:1rem}.department-card:before{content:"";position:absolute;right:-2.5rem;top:-2.8rem;width:8rem;height:8rem;border-radius:999px;background:color-mix(in srgb,var(--dept-color,#2563eb) 12%,transparent);pointer-events:none}.department-card-head{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.75rem;align-items:start}.department-mark{display:grid;place-items:center;width:2.65rem;height:2.65rem;border-radius:.78rem;background:var(--dept-color,#2563eb);color:#fff;font-weight:950;letter-spacing:.02em}.department-title{min-width:0}.department-title h2{margin:0;color:#20262e;font-size:1.08rem;line-height:1.25;font-weight:950;overflow-wrap:anywhere}.department-title .badge{margin-top:.35rem}.department-actions{display:flex;align-items:center;justify-content:flex-end;gap:.35rem;flex-wrap:wrap}.department-description{position:relative;margin:0;color:#667085;line-height:1.5;overflow-wrap:anywhere}.department-meta-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.department-meta-grid>div{border:1px solid #edf1f5;border-radius:.65rem;background:#f8fafc;padding:.65rem;min-width:0}.department-meta-grid span{display:block;color:#667085;font-size:.66rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.department-meta-grid strong{display:block;margin-top:.18rem;color:#20262e;font-size:.86rem;line-height:1.35;overflow-wrap:anywhere}.departments-empty{grid-column:1/-1;background:#fff;border:1px dashed #cfd6df;border-radius:.8rem;padding:1.25rem;text-align:center;color:#667085;font-weight:800}.department-modal[hidden]{display:none!important}.department-modal-open{overflow:hidden}.department-modal{position:fixed;inset:0;z-index:1085;display:grid;place-items:center;padding:1rem}.department-modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.52)}.department-modal-dialog{position:relative;z-index:1;width:min(600px,96vw);max-height:90vh;overflow:auto;background:#fff;border:1px solid #dfe5ee;border-radius:.85rem;box-shadow:0 1.25rem 3rem rgba(15,23,42,.28)}.department-delete-dialog{width:min(540px,94vw)}.department-modal-dialog>header{position:sticky;top:0;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem;border-bottom:1px solid #edf1f5;background:#fff}.department-modal-dialog h3{margin:0;color:#20262e;font-size:1.08rem;font-weight:950}.department-modal-dialog p{margin:.15rem 0 0;color:#667085;font-size:.82rem;font-weight:800}.department-modal-dialog>header button{display:grid;place-items:center;width:2.1rem;height:2.1rem;border:1px solid #d8e0eb;border-radius:.45rem;background:#fff;color:#475467;font-size:1.3rem;cursor:pointer}.department-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;padding:1rem}.department-form-grid label{display:grid;gap:.3rem;margin:0}.department-form-grid .span-2{grid-column:1/-1}.department-form-grid .form-input,.department-form-grid .form-select,.department-form-grid .form-textarea{width:100%;margin:0}.department-color-input{height:42px;padding:.25rem}.department-active-toggle{display:flex!important;align-items:center;gap:.5rem;border:1px solid #edf1f5;border-radius:.65rem;background:#f8fafc;padding:.65rem}.department-active-toggle input{width:1rem;height:1rem}.department-delete-body{padding:1rem}.department-delete-warning{border:1px solid #bbf7d0;background:#f0fdf4;color:#166534;border-radius:.65rem;padding:.85rem;font-weight:850;line-height:1.45}.department-delete-warning.is-blocked{border-color:#fed7aa;background:#fff7ed;color:#9a3412}.department-modal-dialog>footer{position:sticky;bottom:0;display:flex;align-items:center;justify-content:flex-end;gap:.5rem;padding:1rem;border-top:1px solid #edf1f5;background:#fbfcfe}.department-modal-dialog button:disabled{opacity:.6;cursor:not-allowed}@media(max-width:991.98px){.departments-grid{grid-template-columns:1fr}.department-meta-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:575.98px){.departments-header{display:grid}.departments-header .btn{width:100%;justify-content:center}.department-card-head{grid-template-columns:auto minmax(0,1fr)}.department-actions{grid-column:1/-1;justify-content:flex-start}.department-meta-grid,.department-form-grid{grid-template-columns:1fr}.department-form-grid .span-2{grid-column:auto}.department-modal{padding:.65rem}.department-modal-dialog{width:100%;max-height:92vh}.department-modal-dialog>footer{display:grid;grid-template-columns:1fr}.department-modal-dialog>footer .btn{width:100%}}

/* Reports & Performance landing */
.reports-performance-page{display:grid;gap:1rem;max-width:1180px;width:100%;margin:0 auto;min-width:0}.reports-performance-header{margin-bottom:0}.reports-performance-tabs{display:flex;gap:.5rem;overflow-x:auto;max-width:100%;padding:.35rem;background:#fff;border:1px solid var(--lte-border-soft);border-radius:.85rem;box-shadow:var(--lte-shadow)}.reports-performance-tabs a{display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap;border-radius:.65rem;padding:.55rem .8rem;color:#475467;text-decoration:none;font-weight:850;font-size:.84rem}.reports-performance-tabs a:hover{background:#f3f6fa;color:#2563eb}.reports-performance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;width:100%;min-width:0}.reports-performance-card{display:grid;grid-template-rows:auto 1fr auto;align-items:start;gap:.85rem;min-width:0;min-height:220px;background:#fff;border:1px solid var(--lte-border-soft);border-radius:.9rem;box-shadow:var(--lte-shadow);padding:1.1rem;overflow:hidden}.reports-performance-card-icon{display:grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:.8rem;background:#eff6ff;color:#2563eb;font-size:1.25rem}.reports-performance-card-body{min-width:0}.reports-performance-card h2{margin:0;color:#20262e;font-size:1.05rem;line-height:1.3;overflow-wrap:break-word}.reports-performance-card p{margin:.4rem 0 0;color:#667085;line-height:1.5;overflow-wrap:break-word}.reports-performance-card .btn{justify-self:start}

/* Login AdminLTE style */
.login-body.login-page-v2{background:linear-gradient(135deg,#343a40,#212529);display:flex;align-items:center;justify-content:center;padding:2rem}.login-v2-wrap{width:min(1040px,96vw)}.login-v2-card{display:grid;grid-template-columns:1.08fr .92fr;background:#fff;border-radius:.9rem;box-shadow:0 1rem 3rem rgba(0,0,0,.28);overflow:hidden}.login-v2-hero{background:linear-gradient(135deg,#0d6efd,#343a40 80%);color:#fff;padding:2.5rem;position:relative;overflow:hidden}.login-v2-hero:after{content:"";position:absolute;right:-80px;bottom:-120px;width:260px;height:260px;background:rgba(255,255,255,.12);border-radius:50%}.login-v2-brand .brand-mark{background:#ffc107;color:#212529}.login-v2-brand h1,.login-v2-brand p{color:#fff}.hero-copy{position:relative;z-index:1;margin-top:3rem}.hero-copy .eyebrow,.login-pill{display:inline-flex;border-radius:999px;padding:.32rem .65rem;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.hero-copy h2{font-size:2rem;line-height:1.12;margin:1rem 0}.hero-copy p{color:#e9ecef}.hero-metrics{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-top:2.2rem}.hero-metrics div{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);border-radius:.55rem;padding:.9rem}.hero-metrics b{display:block;font-size:1.35rem}.hero-metrics span{color:#dee2e6;font-size:.78rem}.login-v2-form-panel{padding:2.25rem}.login-v2-mobile-brand{display:none}.login-form-header h2{font-size:1.65rem;margin:.75rem 0 .2rem}.login-form-header p{color:#6c757d;margin:0 0 1.25rem}.login-pill{background:#e7f1ff;border-color:#cfe2ff;color:#084298}.login-field>span{display:block;margin-bottom:.35rem}.login-input-icon{position:relative}.login-input-icon i{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:#6c757d;font-style:normal}.login-input-icon .form-input{padding-left:2.25rem}.password-toggle-v2{position:absolute;right:.35rem;top:50%;transform:translateY(-50%);border:0;background:#f8f9fa;border-radius:.3rem;padding:.25rem .55rem;color:#0d6efd;font-weight:700}.login-helper-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:.5rem 0 1rem;color:#6c757d;font-size:.85rem}.remember-label{display:flex!important;align-items:center;gap:.35rem;margin:0;text-transform:none}.login-submit-btn{height:42px}.demo-box-v2{margin-top:1rem;background:#f8f9fa;border:1px dashed #ced4da;border-radius:.55rem;padding:1rem}.demo-box-head{display:flex;justify-content:space-between;gap:.5rem;margin-bottom:.75rem}.demo-box-head small{color:#6c757d}.demo-account-grid{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}.demo-account-btn{border:1px solid #dee2e6;background:#fff;border-radius:.45rem;padding:.65rem;text-align:left;cursor:pointer}.demo-account-btn:hover{border-color:#0d6efd;background:#f8fbff}.demo-account-btn strong{display:block}.demo-account-btn span{font-size:.78rem;color:#6c757d}.login-v2-footer{margin-top:1rem;color:#6c757d;font-size:.8rem;text-align:center}.login-bg-shape,.login-bg-grid{display:none}

/* Modal */
.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:1060;display:none;align-items:center;justify-content:center;padding:1rem}.modal{background:#fff;border-radius:.55rem;width:min(520px,94vw);box-shadow:0 1rem 3rem rgba(0,0,0,.25);padding:1.25rem;position:relative}.modal h3{margin-top:0}.modal-close{position:absolute;right:.75rem;top:.6rem;border:0;background:transparent;font-size:1.6rem;cursor:pointer;color:#6c757d}

/* Kanban/details/gantt compatibility */
.detail-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(320px,1fr);gap:1rem}.kanban-board{display:grid;grid-template-columns:repeat(5,minmax(260px,1fr));gap:1rem;overflow:auto}.kanban-col{background:#f8f9fa;padding:.8rem}.kanban-card{border-left:3px solid var(--lte-primary);padding:.8rem}.epm-gantt-filter-card,.epm-gantt-toolbar,.epm-gantt-summary-card,.epm-gantt-scroll{border-radius:.6rem!important;box-shadow:var(--lte-shadow)!important;border:1px solid var(--lte-border-soft)!important}.epm-gantt-zoom-btn.active,.epm-gantt-zoom-btn:hover{background:var(--lte-primary)!important;border-color:var(--lte-primary)!important;color:#fff!important}

/* Responsive */
@media(max-width:991.98px){
  .sidebar{transform:translateX(-100%)}.sidebar.open{transform:translateX(0)}.main-content{margin-left:0;width:100%}body.sidebar-collapse .main-content{margin-left:0;width:100%}body.sidebar-collapse .sidebar{width:var(--adminlte-sidebar-width)}body.sidebar-collapse .sidebar-logo span:not(.logo-badge),body.sidebar-collapse .nav-item .nav-text,body.sidebar-collapse .nav-section-label,body.sidebar-collapse .sidebar-user>div,body.sidebar-collapse .nav-item em{display:initial}.page-body{padding:.85rem}.topbar{padding:0 .75rem}.top-user span{display:none}.detail-grid,.grid-2,.form-grid-2,.form-grid-3{grid-template-columns:1fr}.stats-grid,.dash-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.login-v2-card{grid-template-columns:1fr}.login-v2-hero{display:none}.login-v2-mobile-brand{display:flex;gap:.75rem;align-items:center;margin-bottom:1.25rem}.login-v2-mobile-brand h1{margin:0;font-size:1.05rem}.login-v2-mobile-brand p{margin:0;color:#6c757d}.login-v2-form-panel{padding:1.5rem}.demo-account-grid{grid-template-columns:1fr}
}
@media(max-width:575.98px){.stats-grid,.dash-metrics-grid{grid-template-columns:1fr}.topbar h2{font-size:1rem}.topbar p{display:none}.topbar-actions{gap:.35rem}.top-icon{width:34px;height:34px}.page-title{font-size:1.25rem}.filter-form .form-input{width:100%}.filter-form{display:grid;grid-template-columns:1fr;width:100%}.hero-metrics{grid-template-columns:1fr}.login-body.login-page-v2{padding:1rem}.login-v2-form-panel{padding:1.1rem}.login-form-header h2{font-size:1.35rem}}

@media print{.sidebar,.topbar,.btn,.action-btns,.filter-card{display:none!important}.main-content{margin-left:0!important;width:100%!important}.page-body{padding:0!important;background:#fff!important}.card,.dash-card,.form-card{box-shadow:none!important;border:1px solid #ddd!important}}

/* Enterprise Kanban Board Improvements */
.epm-kanban-page-header{align-items:flex-start;margin-bottom:1.05rem}.epm-kanban-header-actions{display:flex;gap:.5rem;flex-wrap:wrap}.epm-kanban-filter-card{background:#fff;border:1px solid var(--lte-border-soft);border-radius:.75rem;box-shadow:var(--lte-shadow);padding:1rem;margin-bottom:1rem}.epm-kanban-filter-form{display:flex;gap:.75rem;align-items:flex-end;justify-content:space-between;flex-wrap:wrap}.epm-kanban-filter-main{display:grid;grid-template-columns:minmax(240px,1.35fr) repeat(5,minmax(140px,.85fr));gap:.65rem;flex:1;min-width:0}.epm-kanban-filter-main .form-input,.epm-kanban-filter-main .form-select{margin-top:0}.epm-kanban-filter-actions{display:flex;gap:.5rem;flex-wrap:wrap}.epm-kanban-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:.75rem;margin-bottom:1rem}.epm-kanban-summary-card{background:#fff;border:1px solid var(--lte-border-soft);border-radius:.7rem;box-shadow:var(--lte-shadow);padding:1rem;position:relative;overflow:hidden}.epm-kanban-summary-card:before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:#0d6efd}.epm-kanban-summary-card.warning:before{background:#ffc107}.epm-kanban-summary-card.danger:before{background:#dc3545}.epm-kanban-summary-card span{display:block;color:#6c757d;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.epm-kanban-summary-card strong{display:block;color:#212529;font-size:1.35rem;margin-top:.3rem}.epm-kanban-board-wrap{position:relative;overflow:auto;padding-bottom:.85rem}.epm-kanban-board-wrap.is-updating{opacity:.72;pointer-events:none}.epm-kanban-board{display:grid;grid-template-columns:repeat(5,minmax(290px,1fr));gap:1rem;min-width:1480px}.epm-kanban-column{background:#f8f9fa;border:1px solid #dee2e6;border-radius:.85rem;box-shadow:var(--lte-shadow);padding:.85rem;min-height:560px;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.epm-kanban-column.is-drag-over{background:#eef6ff;border-color:#0d6efd;box-shadow:0 .65rem 1.25rem rgba(13,110,253,.12)}.epm-kanban-column-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid #e9ecef}.epm-kanban-column-head h3{margin:0;font-size:1rem;font-weight:800;color:#212529}.epm-kanban-column-head p{margin:.15rem 0 0;color:#6c757d;font-size:.78rem}.epm-kanban-count{display:inline-grid;place-items:center;min-width:2rem;height:2rem;border-radius:999px;background:#e9ecef;color:#495057;font-weight:800}.epm-kanban-column-not-started .epm-kanban-count{background:#e9ecef;color:#495057}.epm-kanban-column-ongoing .epm-kanban-count{background:#cfe2ff;color:#084298}.epm-kanban-column-completed .epm-kanban-count{background:#d1e7dd;color:#0f5132}.epm-kanban-column-on-hold .epm-kanban-count{background:#fff3cd;color:#664d03}.epm-kanban-column-cancelled .epm-kanban-count{background:#f8d7da;color:#842029}.epm-kanban-dropzone{min-height:490px}.epm-kanban-empty{display:grid;place-items:center;min-height:7rem;border:1px dashed #ced4da;border-radius:.75rem;color:#6c757d;background:rgba(255,255,255,.55);font-size:.85rem}.epm-kanban-card{background:#fff;border:1px solid #e9ecef;border-left:4px solid #0d6efd;border-radius:.78rem;box-shadow:0 .25rem .75rem rgba(0,0,0,.045);padding:.9rem;margin-bottom:.85rem;cursor:grab;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.epm-kanban-card:hover{transform:translateY(-2px);box-shadow:0 .65rem 1.2rem rgba(33,37,41,.1)}.epm-kanban-card:active{cursor:grabbing}.epm-kanban-card.is-dragging{opacity:.55;transform:rotate(1deg) scale(.98)}.epm-kanban-card.is-overdue{border-left-color:#dc3545;background:linear-gradient(90deg,rgba(220,53,69,.055),#fff 34%)}.epm-kanban-card-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.55rem}.epm-kanban-type{display:inline-flex;align-items:center;border-radius:999px;background:#eef2ff;color:#3730a3;padding:.2rem .48rem;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.epm-kanban-card-title{font-size:.95rem;line-height:1.3;margin:0;color:#212529;font-weight:800}.epm-kanban-card-path{color:#6c757d;font-size:.76rem;margin-top:.35rem;line-height:1.35}.epm-kanban-meta-row{display:flex;align-items:center;gap:.5rem;justify-content:space-between;margin-top:.75rem;flex-wrap:wrap}.epm-kanban-due{font-size:.75rem;color:#6c757d;font-weight:600}.epm-kanban-progress-row{display:grid;grid-template-columns:1fr auto;gap:.55rem;align-items:center;margin-top:.75rem}.epm-kanban-progress-row span{font-size:.75rem;color:#495057;font-weight:800}.epm-kanban-assignees{margin-top:.75rem;padding-top:.75rem;border-top:1px solid #f1f3f5;display:grid;gap:.35rem}.epm-kanban-assignee-label{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#6c757d}.epm-kanban-avatar-stack{display:flex;align-items:center}.epm-kanban-avatar-stack .avatar{border:2px solid #fff;margin-left:-.35rem;box-shadow:0 .12rem .35rem rgba(0,0,0,.12)}.epm-kanban-avatar-stack .avatar:first-child{margin-left:0}.epm-kanban-more{display:inline-grid;place-items:center;width:32px;height:32px;margin-left:-.35rem;border:2px solid #fff;border-radius:999px;background:#e9ecef;color:#495057;font-size:.72rem;font-weight:800}.epm-kanban-assignee-names{font-size:.78rem;color:#343a40;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.epm-kanban-unassigned{font-size:.78rem;color:#dc3545;font-weight:800}.epm-kanban-card-actions{display:flex;gap:.5rem;align-items:center;justify-content:space-between;margin-top:.85rem}.epm-kanban-move-select{border:1px solid #dee2e6;border-radius:.45rem;background:#fff;color:#212529;font-size:.75rem;font-weight:700;padding:.42rem .55rem;max-width:145px}.epm-kanban-notice{position:fixed;right:1.25rem;bottom:1.25rem;z-index:2000;background:#212529;color:#fff;border-radius:.65rem;box-shadow:0 .75rem 1.75rem rgba(0,0,0,.18);padding:.75rem 1rem;font-weight:800;opacity:0;transform:translateY(.6rem);transition:opacity .2s ease,transform .2s ease}.epm-kanban-notice.show{opacity:1;transform:translateY(0)}.epm-kanban-notice-success{background:#198754}.epm-kanban-notice-danger{background:#dc3545}.epm-kanban-notice-info{background:#0d6efd}@media(max-width:1200px){.epm-kanban-filter-main{grid-template-columns:1fr 1fr}.epm-kanban-summary-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.epm-kanban-header-actions,.epm-kanban-filter-actions{width:100%}.epm-kanban-header-actions .btn,.epm-kanban-filter-actions .btn{flex:1;justify-content:center}.epm-kanban-filter-main{grid-template-columns:1fr}.epm-kanban-summary-grid{grid-template-columns:1fr 1fr}.epm-kanban-board{grid-template-columns:repeat(5,285px);min-width:1425px}.epm-kanban-column{min-height:480px}}

/* Kanban drag-and-drop reliability fix */
.epm-kanban-board-wrap.js-kanban-ready .epm-kanban-summary-card:last-child strong::after{content:" Ready";font-size:.7rem;font-weight:800;color:#198754;margin-left:.25rem}.epm-kanban-dnd-help{border-left:4px solid #0d6efd}.epm-kanban-card{touch-action:none;user-select:none}.epm-kanban-card a,.epm-kanban-card button,.epm-kanban-card select,.epm-kanban-card input{touch-action:auto;user-select:auto}.epm-kanban-drag-handle{display:inline-flex;align-items:center;justify-content:center;width:1.45rem;height:1.45rem;border-radius:.35rem;background:#f1f3f5;color:#6c757d;font-weight:900;cursor:grab;letter-spacing:-.18rem;padding-right:.14rem;margin-right:.25rem}.epm-kanban-card:hover .epm-kanban-drag-handle{background:#e7f1ff;color:#0d6efd}.epm-kanban-card.is-pointer-dragging{opacity:.35}.epm-kanban-drag-ghost{position:fixed;z-index:5000;pointer-events:none;margin:0;opacity:.94;box-shadow:0 1.25rem 2.5rem rgba(13,110,253,.24);transform:translate(0,0);transition:none!important}.epm-kanban-drag-active{cursor:grabbing!important}.epm-kanban-column.is-drag-over .epm-kanban-dropzone{background:rgba(13,110,253,.055);border-radius:.75rem;outline:2px dashed rgba(13,110,253,.45);outline-offset:.35rem}.epm-kanban-column.is-drag-over .epm-kanban-empty{background:#e7f1ff;color:#084298;border-color:#0d6efd}
.epm-kanban-filter-status{display:none;align-items:center;color:#6c757d;font-size:.78rem;font-weight:800;min-height:2.4rem}.epm-kanban-filter-form.is-filtering .epm-kanban-filter-status{display:inline-flex}.epm-kanban-filter-form.is-filtering .epm-kanban-filter-status:before{content:"";width:.7rem;height:.7rem;border:2px solid #cfe2ff;border-top-color:#0d6efd;border-radius:999px;margin-right:.45rem;animation:epmKanbanFilterSpin .75s linear infinite}@keyframes epmKanbanFilterSpin{to{transform:rotate(360deg)}}@media(max-width:768px){.epm-kanban-filter-status{width:100%;justify-content:center;min-height:1.5rem}}

/* Work Items polished enterprise page */
.work-items-page .wi-repair-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:#fff7ed;border:1px solid #fed7aa;border-left:4px solid #f97316;border-radius:.75rem;padding:1rem;margin-bottom:1rem;box-shadow:0 .25rem .75rem rgba(15,23,42,.04)}
.work-items-page .wi-repair-banner strong{display:block;color:#9a3412;font-weight:850;margin-bottom:.15rem}.work-items-page .wi-repair-banner span{color:#7c2d12;font-size:.86rem}.wi-page-header{align-items:flex-start}.wi-header-actions{display:flex;gap:.5rem;flex-wrap:wrap}.wi-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:1rem;margin-bottom:1rem}.wi-summary-card{position:relative;overflow:hidden;background:#fff;border:1px solid #e9ecef;border-radius:.85rem;box-shadow:0 .25rem .75rem rgba(15,23,42,.045);padding:1.05rem 1.1rem}.wi-summary-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#0d6efd}.wi-summary-card.success:before{background:#198754}.wi-summary-card.danger:before{background:#dc3545}.wi-summary-card.purple:before{background:#6f42c1}.wi-summary-card span{display:block;color:#6c757d;font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.035em}.wi-summary-card strong{display:block;color:#212529;font-size:1.75rem;line-height:1.1;margin:.38rem 0 .18rem;font-weight:900}.wi-summary-card small{color:#6c757d;font-weight:600}.wi-filter-card{background:#fff;border:1px solid #e9ecef;border-radius:.85rem;box-shadow:0 .25rem .75rem rgba(15,23,42,.045);padding:1rem;margin-bottom:1rem}.wi-filter-form{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap}.wi-filter-main{display:grid;grid-template-columns:minmax(260px,1.2fr) minmax(180px,.55fr);gap:.75rem;flex:1;min-width:280px}.wi-filter-main label{margin:0}.wi-filter-main label span{display:block;color:#495057;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.035em;margin-bottom:.35rem}.wi-filter-main .form-input,.wi-filter-main .form-select{margin-top:0}.wi-filter-actions{display:flex;gap:.5rem;flex-wrap:wrap}.wi-table-card{background:#fff;border:1px solid #e9ecef;border-radius:.85rem;box-shadow:0 .25rem .75rem rgba(15,23,42,.045);overflow:hidden}.wi-table-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1rem .75rem;border-bottom:1px solid #edf1f5}.wi-table-head h3{margin:0;font-size:1rem;font-weight:850;color:#212529}.wi-table-head p{margin:.12rem 0 0;color:#6c757d;font-size:.82rem}.wi-table th{white-space:nowrap}.wi-title-cell{display:flex;align-items:flex-start;gap:.7rem;min-width:240px}.wi-title-cell strong{display:block;color:#212529;line-height:1.25}.wi-title-cell small{display:block;margin-top:.25rem;line-height:1.35}.wi-type-dot{width:.7rem;height:.7rem;border-radius:999px;background:#0d6efd;box-shadow:0 0 0 4px #cfe2ff;margin-top:.25rem;flex:0 0 auto}.wi-assignee-cell{display:flex;align-items:center;gap:.5rem;max-width:240px}.wi-assignee-cell>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#343a40;font-weight:650;font-size:.82rem}.wi-avatar-stack{display:flex;align-items:center;flex:0 0 auto}.wi-avatar-stack .avatar{border:2px solid #fff;margin-left:-.42rem;box-shadow:0 .12rem .35rem rgba(0,0,0,.12);width:30px;height:30px;font-size:.68rem}.wi-avatar-stack .avatar:first-child{margin-left:0}.wi-more-avatar{display:grid;place-items:center;width:30px;height:30px;margin-left:-.42rem;border:2px solid #fff;border-radius:999px;background:#e9ecef;color:#495057;font-size:.68rem;font-weight:850}.wi-progress-cell{display:grid;grid-template-columns:minmax(92px,1fr) auto;align-items:center;gap:.45rem;min-width:130px}.wi-progress-cell span{font-size:.75rem;font-weight:800;color:#495057}.wi-empty-state{display:grid;place-items:center;padding:2.25rem 1rem;color:#6c757d;text-align:center}.wi-empty-state div{font-size:2rem;margin-bottom:.35rem}.wi-empty-state strong{color:#343a40}.wi-empty-state span{font-size:.88rem;margin-top:.15rem}.work-items-page .action-btns{display:flex;gap:.4rem;flex-wrap:wrap}.btn-warning{background:#ffc107;border-color:#ffc107;color:#212529}.btn-warning:hover{background:#ffca2c;border-color:#ffc720;color:#212529}
@media(max-width:991.98px){.wi-summary-grid{grid-template-columns:repeat(2,minmax(160px,1fr))}.wi-filter-main{grid-template-columns:1fr}.wi-filter-form{align-items:stretch}.wi-filter-actions{width:100%}.wi-filter-actions .btn{flex:1;justify-content:center}}
@media(max-width:575.98px){.wi-summary-grid{grid-template-columns:1fr}.work-items-page .wi-repair-banner{align-items:flex-start;flex-direction:column}.wi-table-head{align-items:flex-start;flex-direction:column}.wi-header-actions{width:100%}.wi-header-actions .btn{flex:1;justify-content:center}}

/* Enterprise UI polish layer */
:root{
  --ui-bg:#f5f7fb;
  --ui-surface:#fff;
  --ui-surface-soft:#f8fafc;
  --ui-border:#e5e7eb;
  --ui-border-strong:#d6dbe3;
  --ui-text:#1f2937;
  --ui-muted:#667085;
  --ui-primary:#2563eb;
  --ui-primary-dark:#1d4ed8;
  --ui-success:#15985e;
  --ui-warning:#d08a00;
  --ui-danger:#dc3545;
  --ui-purple:#6f42c1;
  --ui-shadow:0 .35rem 1.1rem rgba(16,24,40,.06);
  --ui-shadow-hover:0 .7rem 1.65rem rgba(16,24,40,.1);
}
html,body{font-family:"Inter","Segoe UI",Roboto,Arial,sans-serif;font-size:14px;background:var(--ui-bg);color:var(--ui-text);letter-spacing:0}
body.adminlte-compat{background:var(--ui-bg)}
a,.btn,.nav-item,.card,.dash-card,.stat-card,.top-icon,.top-user,.data-table tbody tr,.epm-kanban-card,.epm-gantt-row{transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease}
:focus-visible{outline:3px solid rgba(37,99,235,.28);outline-offset:2px}
.page-body{padding:1.2rem;background:linear-gradient(180deg,#f7f9fc 0,#f4f6fa 36%,#f5f7fb 100%)}
.page-header{align-items:flex-start;margin-bottom:1.05rem}
.page-title{display:flex;align-items:center;gap:.55rem;font-size:1.5rem;line-height:1.15;font-weight:750;color:#20262e;letter-spacing:-.01em}
.page-title-icon{display:inline-grid;place-items:center;width:2rem;height:2rem;border-radius:.6rem;background:#eef4ff;color:var(--ui-primary);font-size:1.05rem;box-shadow:inset 0 0 0 1px #dbe7ff}
.page-subtitle{font-size:.88rem;color:var(--ui-muted);line-height:1.45}

/* Shell */
.sidebar{background:#262d35;color:#e9edf2;border-right:1px solid rgba(255,255,255,.08);box-shadow:.4rem 0 1.2rem rgba(16,24,40,.12)}
.sidebar-logo{min-height:64px;padding:1rem 1rem;border-bottom:1px solid rgba(255,255,255,.08)}
.logo-badge,.brand-mark{border-radius:.55rem;background:#f59e0b;color:#fff;box-shadow:0 .45rem 1rem rgba(245,158,11,.25)}
.sidebar-logo b{font-size:.95rem;letter-spacing:-.01em}.sidebar-logo small{font-size:.72rem;color:#b9c0ca}
.sidebar-nav{padding:.8rem .75rem}
.nav-section-label{margin:1rem .45rem .42rem;color:#aab3bf;font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.075em}
.nav-item{height:38px;gap:.7rem;border-radius:.55rem;color:#d6dce5;font-size:.88rem;font-weight:600;margin-bottom:.18rem;padding:.55rem .65rem}
.nav-icon{width:1.12rem;font-size:1rem;color:#adb7c4;text-align:center}
.nav-item:hover{background:rgba(255,255,255,.075);color:#fff;transform:translateX(2px)}
.nav-item:hover .nav-icon,.nav-item.active .nav-icon{color:#fff}
.nav-item.active{background:#2f6fed;color:#fff;box-shadow:0 .45rem 1rem rgba(37,99,235,.28)}
.nav-item em,.top-icon b{background:#ef4444;color:#fff;border:2px solid #fff;min-width:1.25rem;height:1.25rem;display:inline-grid;place-items:center;padding:0 .28rem;font-size:.68rem;line-height:1}
.sidebar-user{border-top:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.08);padding:.85rem .8rem}.sidebar-user button{width:34px;height:34px;border-radius:.5rem;color:#d6dce5}.sidebar-user button:hover{background:rgba(255,255,255,.1);color:#fff}
.topbar{height:64px;background:rgba(255,255,255,.92);backdrop-filter:saturate(1.25) blur(10px);border-bottom:1px solid rgba(213,219,228,.85);box-shadow:0 .2rem .75rem rgba(16,24,40,.045);padding:0 1.1rem}
.topbar-left{display:flex;align-items:center;gap:.75rem}.topbar h2{font-size:1rem;font-weight:750;color:#20262e}.topbar p{font-size:.74rem;color:var(--ui-muted)}
.mobile-menu,.top-icon{border-radius:.55rem;background:#fff;border:1px solid var(--ui-border);color:#475467}
.mobile-menu{width:38px;height:38px;display:inline-grid;place-items:center}.top-icon{width:38px;height:38px}.top-icon:hover,.mobile-menu:hover{border-color:#bfdbfe;background:#eff6ff;color:var(--ui-primary)}
.top-user{min-height:40px;border-radius:999px;background:#fff;border:1px solid var(--ui-border);padding:.3rem .45rem .3rem .35rem;gap:.45rem;box-shadow:0 .15rem .5rem rgba(16,24,40,.035)}
.top-user:hover{border-color:#bfdbfe;box-shadow:var(--ui-shadow)}.top-user-caret{font-size:.72rem;color:#98a2b3;margin-right:.15rem}
.user-menu{border:1px solid var(--ui-border);border-radius:.7rem;box-shadow:0 1rem 2rem rgba(16,24,40,.14);min-width:210px}.user-menu a,.user-menu button{display:flex;align-items:center;gap:.55rem;font-size:.88rem}.user-menu i{color:var(--ui-muted)}

/* Cards, buttons, forms */
.card,.form-card,.filter-card,.dash-card,.stat-card,.dept-card,.wi-summary-card,.wi-filter-card,.wi-table-card,.epm-kanban-filter-card,.epm-kanban-summary-card,.epm-kanban-column,.epm-gantt-filter-card,.epm-gantt-toolbar,.epm-gantt-summary-card,.epm-gantt-scroll{border:1px solid var(--ui-border)!important;border-radius:.8rem!important;box-shadow:var(--ui-shadow)!important;background:var(--ui-surface)}
.card:hover,.dash-card:hover,.stat-card:hover,.wi-summary-card:hover,.epm-kanban-summary-card:hover,.epm-gantt-summary-card:hover{box-shadow:var(--ui-shadow-hover)!important;transform:translateY(-1px)}
.card-title,.dash-card-head h3,.wi-table-head h3{font-size:1rem;font-weight:750;color:#20262e}
.btn{min-height:36px;border-radius:.5rem;border-color:var(--ui-border-strong);font-size:.84rem;font-weight:700;padding:.48rem .8rem;box-shadow:0 .08rem .2rem rgba(16,24,40,.04)}
.btn i{font-size:.95em}.btn:hover{transform:translateY(-1px);box-shadow:0 .35rem .75rem rgba(16,24,40,.08)}
.btn-primary{background:var(--ui-primary)!important;border-color:var(--ui-primary)!important;color:#fff!important}.btn-primary:hover{background:var(--ui-primary-dark)!important;border-color:var(--ui-primary-dark)!important}
.btn-secondary{background:#f3f4f6!important;border-color:#d9dee6!important;color:#374151!important}.btn-secondary:hover{background:#e9edf3!important}
.btn-outline,.btn-outline-danger{background:#fff!important}.btn-outline-danger{border-color:#f3b7bd!important;color:#b42318!important}.btn-outline-danger:hover{background:#dc3545!important;border-color:#dc3545!important;color:#fff!important}
.btn-sm{min-height:32px;padding:.38rem .65rem;font-size:.78rem}.btn-xs{min-height:28px;padding:.28rem .5rem;font-size:.75rem;border-radius:.42rem}
.form-input,.form-select,.form-textarea,input[type="text"],input[type="email"],input[type="password"],input[type="number"],input[type="date"],select,textarea{min-height:38px;border-radius:.5rem;border-color:#cfd6df;background:#fff;color:#20262e;font-size:.88rem}
.form-input:hover,.form-select:hover,.form-textarea:hover,input:hover,select:hover,textarea:hover{border-color:#aeb8c6}
.form-input:focus,.form-select:focus,.form-textarea:focus,input:focus,select:focus,textarea:focus{border-color:#6ea8fe;box-shadow:0 0 0 .22rem rgba(37,99,235,.13)}
.filter-form,.epm-kanban-filter-form,.epm-gantt-filter-grid{align-items:end}.filter-card{padding:1rem}
.filter-scope-note{display:flex;align-items:center;min-height:36px;padding:.48rem .72rem;border:1px solid #bfdbfe;border-radius:.55rem;background:#eff6ff;color:#1d4ed8;font-size:.78rem;font-weight:850;line-height:1.25;min-width:0}

/* Tables and status language */
.table-wrap{border-radius:.75rem;overflow:auto}.data-table{font-size:.82rem}.data-table th{position:sticky;top:0;z-index:1;background:#f8fafc;color:#475467;font-size:.71rem;font-weight:800;letter-spacing:.04em;padding:.78rem .85rem;border-bottom:1px solid var(--ui-border)}.data-table td{padding:.82rem .85rem;border-bottom:1px solid #edf1f5;line-height:1.42}.data-table tbody tr:hover td{background:#f8fbff}.data-table td b{font-weight:700;color:#20262e}.empty{background:#f8fafc;border-radius:.65rem;color:var(--ui-muted);font-weight:600}
.badge{min-height:22px;border-radius:999px;padding:.22rem .55rem;font-size:.68rem;font-weight:800;letter-spacing:0}
.badge-not-started,.badge-secondary{background:#eef1f5;color:#475467}.badge-ongoing,.badge-in-progress,.badge-monitoring{background:#dbeafe;color:#1d4ed8}.badge-completed,.badge-resolved,.badge-mitigated{background:#dcfce7;color:#15803d}.badge-on-hold,.badge-pending{background:#fef3c7;color:#b45309}.badge-cancelled,.badge-closed{background:#f1f3f5;color:#667085}.badge-high,.badge-risk.high,.badge-severity.high,.badge-risk.critical,.badge-severity.critical{background:#fee2e2;color:#b91c1c}.badge-medium{background:#fef3c7;color:#b45309}.badge-low{background:#dcfce7;color:#15803d}
.dept-badge{border-radius:999px;padding:.2rem .55rem;font-size:.68rem;font-weight:800;box-shadow:inset 0 0 0 1px rgba(255,255,255,.24)}
.progress{height:7px;background:#e9eef5;border-radius:999px;overflow:hidden}.progress-fill{border-radius:999px}.progress-blue{background:#2563eb}.progress-green{background:#16a34a}.progress-yellow{background:#f59e0b}.progress-red{background:#dc3545}

/* Dashboard */
.dash-hero{border-radius:1rem!important;background:linear-gradient(135deg,#1f4fd8 0%,#475569 100%)!important;box-shadow:0 .9rem 2rem rgba(37,99,235,.16)!important;padding:1.35rem!important}
.dash-hero h1{font-size:1.65rem;letter-spacing:-.02em}.dash-eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.08em}.dash-hero-meta{display:flex;gap:.55rem;flex-wrap:wrap}.dash-hero-meta>span{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:.32rem .6rem}
.dash-quick-actions{align-self:stretch;display:grid;gap:.55rem}.dash-action{display:flex;align-items:center;justify-content:center;gap:.45rem;border-radius:.6rem;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);color:#fff;font-weight:750}.dash-action:hover{background:#fff;color:var(--ui-primary);transform:translateY(-1px)}.dash-action.primary{background:#fff;color:var(--ui-primary)}
.dash-metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem}.dash-metric-card{min-height:112px;border:1px solid var(--ui-border);border-radius:.85rem;background:#fff;box-shadow:var(--ui-shadow);padding:1rem;display:flex;align-items:flex-start;gap:.85rem;text-decoration:none;cursor:pointer}.dash-metric-card:hover,.dash-metric-card:focus-visible{box-shadow:var(--ui-shadow-hover);transform:translateY(-2px);border-color:#bfdbfe;text-decoration:none}.dash-metric-card:focus-visible{outline:3px solid rgba(37,99,235,.22);outline-offset:2px}.metric-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:.7rem;background:#eef4ff;color:var(--ui-primary);font-size:1.1rem}.metric-body strong{font-size:1.55rem;line-height:1;font-weight:800}.metric-body span{font-weight:750}.metric-body small{font-size:.78rem;color:var(--ui-muted)}
.tone-green .metric-icon{background:#e8f7ef;color:#15985e}.tone-red .metric-icon,.tone-rose .metric-icon{background:#fdecef;color:#dc3545}.tone-amber .metric-icon,.tone-orange .metric-icon{background:#fff6df;color:#b77900}.tone-purple .metric-icon,.tone-indigo .metric-icon{background:#f0edff;color:#6f42c1}
.activity-item-v2{border-radius:.65rem;padding:.65rem;border:1px solid transparent}.activity-item-v2:hover{background:#f8fbff;border-color:#e6edf7}.watch-item{border-radius:.7rem}
.dashboard-enhanced .dash-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,330px);gap:1rem;align-items:stretch;margin-bottom:1rem}
.dashboard-enhanced .dash-pending-pill{display:flex;align-items:center;justify-content:center;min-height:36px;border-radius:.6rem;background:#fff3cd;color:#7a4d00;border:1px solid rgba(255,255,255,.35);font-weight:850;text-decoration:none}
.dashboard-enhanced .dash-pending-pill:hover{background:#fff;color:#7a4d00}
.dashboard-enhanced .dash-card{padding:1rem}
.dashboard-enhanced .dash-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.8rem}
.dashboard-enhanced .dash-card-head h3{margin:0}.dashboard-enhanced .dash-card-head p{margin:.15rem 0 0}
.dashboard-enhanced .dash-grade{display:inline-grid;place-items:center;min-width:2rem;height:2rem;border-radius:.5rem;color:#fff;font-style:normal;font-weight:900}.dashboard-enhanced .dash-grade.mini{min-width:1.65rem;height:1.65rem;font-size:.75rem}.dashboard-enhanced .dash-grade.grade-a{background:#16a34a}.dashboard-enhanced .dash-grade.grade-b{background:#2563eb}.dashboard-enhanced .dash-grade.grade-c{background:#d97706}.dashboard-enhanced .dash-grade.grade-d{background:#dc2626}
.dashboard-enhanced .dash-empty{padding:.8rem;border:1px dashed #d8e0eb;border-radius:.65rem;color:#667085;text-align:center;background:#fff}
.dash-overview-grid{display:grid;grid-template-columns:1fr 1fr 1.15fr;gap:1rem;margin-bottom:1rem}
.dash-chart-card canvas{display:block;width:100%;max-width:100%}
.dash-chart-wrap{display:grid;grid-template-columns:220px minmax(0,1fr);gap:.85rem;align-items:center}
.dash-chart-legend{display:grid;gap:.45rem}.dash-chart-legend div{display:grid;grid-template-columns:.7rem minmax(0,1fr) auto;gap:.45rem;align-items:center}.dash-chart-legend span{width:.7rem;height:.7rem;border-radius:999px;background:#2563eb}.dash-chart-legend b{font-size:.82rem;color:#20262e}.dash-chart-legend em{font-style:normal;color:#667085;font-weight:850}
.dash-progress-list,.dash-project-list{display:grid;gap:.58rem}.dash-progress-row,.dash-project-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,.7fr);gap:.75rem;align-items:center;padding:.62rem;border:1px solid #edf1f5;border-radius:.65rem;text-decoration:none;color:#20262e;background:#fff}.dash-progress-row:hover,.dash-project-row:hover{background:#f8fbff;border-color:#dbeafe;text-decoration:none}.dash-progress-row b,.dash-project-row b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-progress-row small,.dash-project-row small{display:block;color:#667085;font-size:.76rem;margin-top:.12rem}.dash-progress-row>div:last-child,.dash-project-row>div:last-child{display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:.45rem;align-items:center}.dash-progress-row span,.dash-project-row span{font-weight:850;color:#475467;font-size:.78rem;text-align:right}
.dash-kpi-engine{padding:1rem}.dash-kpi-tabs{display:flex;gap:.4rem;flex-wrap:wrap}.dash-kpi-tabs button{border:1px solid #d8e0eb;background:#fff;border-radius:.5rem;padding:.4rem .7rem;font-weight:800;color:#475467;cursor:pointer}.dash-kpi-tabs button.active{background:var(--ui-primary,#2563eb);border-color:var(--ui-primary,#2563eb);color:#fff}.dash-kpi-panel{display:none;grid-template-columns:repeat(4,minmax(180px,1fr));gap:.75rem}.dash-kpi-panel.active{display:grid}.dash-kpi-card{border:1px solid #edf1f5;border-radius:.72rem;background:#fff;padding:.8rem;display:grid;gap:.65rem}.dash-kpi-card-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.5rem;align-items:center}.dash-kpi-card-head b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-kpi-meter{display:grid;gap:.35rem}.dash-kpi-meter span{font-size:.78rem;color:#667085;font-weight:800}.dash-kpi-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.35rem}.dash-kpi-stats span{background:#f8fafc;border:1px solid #edf1f5;border-radius:.5rem;padding:.38rem;text-align:center;font-size:.74rem;font-weight:850;color:#475467}
.dash-person-kpi{display:grid;grid-template-columns:auto minmax(160px,1.2fr) repeat(3,auto) minmax(100px,.7fr) auto;gap:.65rem;align-items:center;border:1px solid #edf1f5;border-radius:.72rem;background:#fff;padding:.65rem}.dash-person-kpi b{display:block;color:#20262e}.dash-person-kpi small{display:block;color:#667085;font-size:.74rem}.dash-person-kpi>span{font-weight:850;color:#475467;white-space:nowrap}.dash-person-rate{display:grid;grid-template-columns:minmax(0,1fr) 38px;gap:.4rem;align-items:center}.dash-person-rate small{font-weight:850;text-align:right;color:#475467}
.dash-two-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.85fr);gap:1rem}.dash-scroll-feed{max-height:360px;overflow:auto;padding-right:.25rem}.dashboard-enhanced .activity-v2{display:grid;gap:.5rem}.activity-v2 a.activity-item-v2{display:flex;align-items:flex-start;gap:.65rem;color:inherit;text-decoration:none}.activity-item-v2 p{margin:0}.activity-item-v2 small{display:block;color:#667085;margin-top:.15rem}
.dash-avatar-stack{display:flex;align-items:center}.dash-avatar-stack .avatar{margin-left:-.35rem;border:2px solid #fff}.dash-avatar-stack .avatar:first-child{margin-left:0}.dash-more{display:inline-grid;place-items:center;width:32px;height:32px;margin-left:-.35rem;border:2px solid #fff;border-radius:999px;background:#e9ecef;color:#495057;font-size:.72rem;font-weight:800}
.dash-member-cell{display:flex;align-items:center;gap:.55rem}.dash-member-cell b{display:block;color:#20262e}.dash-member-cell small{display:block;color:#667085;font-size:.74rem}.dash-rate-cell{display:grid;grid-template-columns:minmax(90px,1fr) 42px;gap:.45rem;align-items:center}.dash-rate-cell span{font-weight:850;color:#475467;text-align:right}.dash-task-table .task-title-cell a{color:#20262e;text-decoration:none}.dash-task-table .task-title-cell a:hover{color:var(--ui-primary,#2563eb);text-decoration:underline;text-underline-offset:3px}

/* Dashboard overflow hardening */
.main-content{max-width:100%;min-width:0;overflow-x:hidden}.dashboard-v2{width:100%;max-width:1360px;margin:0 auto;box-sizing:border-box;min-width:0;overflow-x:hidden}.dashboard-v2 *{box-sizing:border-box}.dashboard-v2 .dash-hero,.dashboard-v2 .dash-metrics-grid,.dashboard-v2 .dash-overview-grid,.dashboard-v2 .dash-two-col,.dashboard-v2 .dash-kpi-panel,.dashboard-v2 .dash-card,.dashboard-v2 .dash-card-head,.dashboard-v2 .dash-chart-wrap,.dashboard-v2 .dash-progress-row,.dashboard-v2 .dash-project-row,.dashboard-v2 .activity-item-v2,.dashboard-v2 .dash-member-cell{min-width:0;max-width:100%}.dashboard-v2 .dash-card{overflow:hidden}.dashboard-v2 .dash-card-head>div,.dashboard-v2 .metric-body,.dashboard-v2 .dash-kpi-card,.dashboard-v2 .dash-kpi-card *,.dashboard-v2 .dash-person-kpi,.dashboard-v2 .dash-person-kpi *,.dashboard-v2 .activity-item-v2>div,.dashboard-v2 .dash-member-cell>div{min-width:0}.dashboard-v2 h1,.dashboard-v2 h2,.dashboard-v2 h3,.dashboard-v2 p,.dashboard-v2 small,.dashboard-v2 span,.dashboard-v2 a{overflow-wrap:anywhere}.dashboard-v2 .dash-quick-actions{grid-template-columns:repeat(auto-fit,minmax(135px,1fr));min-width:0}.dashboard-v2 .dash-action,.dashboard-v2 .dash-pending-pill{min-width:0;white-space:normal;text-align:center}.dashboard-v2 .dash-metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.85rem}.dashboard-v2 .dash-metric-card{min-width:0}.dashboard-v2 .dash-overview-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.dashboard-v2 .dash-chart-wrap{grid-template-columns:minmax(180px,220px) minmax(0,1fr)}.dashboard-v2 .dash-kpi-engine{max-width:100%;overflow:hidden}.dashboard-v2 .dash-kpi-tabs{max-width:100%;justify-content:flex-end}.dashboard-v2 .dash-kpi-tabs button{min-width:0;white-space:normal}.dashboard-v2 .dash-kpi-panel.active{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem}.dashboard-v2 .dash-person-kpi{grid-template-columns:auto minmax(0,1fr);align-items:start}.dashboard-v2 .dash-person-kpi>span,.dashboard-v2 .dash-person-rate,.dashboard-v2 .dash-person-kpi .dash-grade{grid-column:2}.dashboard-v2 .dash-person-kpi>span{white-space:normal}.dashboard-v2 .dash-two-col{grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr)}.dashboard-v2 .activity-v2,.dashboard-v2 .activity-item-v2{min-width:0}.dashboard-v2 .activity-item-v2 p,.dashboard-v2 .activity-item-v2 span{overflow-wrap:anywhere;word-break:break-word}.dashboard-v2 .table-wrap{width:100%;max-width:100%;overflow-x:auto}.dashboard-v2 .data-table{max-width:100%}

/* Kanban and Gantt */
.epm-kanban-filter-card{padding:.85rem}.epm-kanban-filter-main{gap:.55rem}.epm-kanban-summary-card{min-height:84px}.epm-kanban-board-wrap{scrollbar-color:#aab4c2 #eef2f7}.epm-kanban-column{background:#f7f9fc}.epm-kanban-column-head h3{font-size:.95rem}.epm-kanban-card{border-radius:.75rem}.epm-kanban-card-title{font-weight:750}.epm-kanban-move-select{min-height:30px}
.epm-gantt-zoom-btn{border-radius:.48rem;border:1px solid var(--ui-border-strong);background:#fff;color:#344054;font-weight:750}.epm-gantt-scale,.epm-gantt-row{font-size:.82rem}.epm-gantt-type-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:.55rem;background:#eef4ff;color:var(--ui-primary);font-size:.95rem;flex:0 0 auto}.epm-gantt-bar{box-shadow:0 .35rem .8rem rgba(37,99,235,.16)}

/* Login */
.login-body.login-page-v2{font-family:"Inter","Segoe UI",Roboto,Arial,sans-serif;background:linear-gradient(135deg,#eef2f7 0,#dbe5f0 100%)}.login-v2-card{border-radius:1rem;box-shadow:0 1.2rem 3rem rgba(16,24,40,.18);border:1px solid rgba(255,255,255,.55)}.login-v2-hero{background:linear-gradient(135deg,#2454d6 0%,#334155 100%)}.hero-copy h2{font-size:1.85rem}.login-v2-form-panel{background:#fff}.login-pill{background:#eff6ff;border-color:#bfdbfe}.login-input-icon i{font-size:.95rem}.password-toggle-v2{min-height:30px}.demo-account-btn:hover{box-shadow:0 .35rem .85rem rgba(37,99,235,.09)}

/* Responsive finishing */
@media(max-width:1200px){.dash-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-hero{grid-template-columns:1fr}.dash-quick-actions{grid-template-columns:repeat(4,minmax(0,1fr))}}
.dashboard-enhanced{}
@media(max-width:1200px){.dash-overview-grid{grid-template-columns:1fr 1fr}.dash-overview-grid>.dash-card:last-child{grid-column:1/-1}.dash-kpi-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-person-kpi{grid-template-columns:auto minmax(180px,1fr) repeat(3,auto);}.dash-person-rate,.dash-person-kpi .dash-grade{grid-column:auto}}
@media(max-width:1200px){.dashboard-v2 .dash-kpi-panel.active{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important}.dashboard-v2 .dash-person-kpi{grid-template-columns:auto minmax(0,1fr)!important}.dashboard-v2 .dash-person-kpi>span,.dashboard-v2 .dash-person-rate,.dashboard-v2 .dash-person-kpi .dash-grade{grid-column:2!important}.dashboard-v2 .dash-two-col{grid-template-columns:1fr!important}.dashboard-v2 .dash-chart-wrap{grid-template-columns:1fr}.dashboard-v2 .dash-chart-wrap canvas{justify-self:center;max-width:240px}}
@media(max-width:991.98px){.sidebar{z-index:1050}.main-content{margin-left:0}.page-body{padding:.9rem}.topbar{height:60px}.topbar-actions .btn span,.top-user span{display:none}.dash-quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:575.98px){.page-title{font-size:1.25rem}.page-title-icon{width:1.75rem;height:1.75rem}.topbar-actions{gap:.4rem}.top-icon{width:36px;height:36px}.dash-metrics-grid,.stats-grid,.epm-kanban-summary-grid{grid-template-columns:1fr}.dash-quick-actions{grid-template-columns:1fr}.filter-card .btn,.filter-form .btn,.epm-kanban-filter-actions .btn{justify-content:center}.login-v2-wrap{width:min(440px,96vw)}.login-helper-row,.demo-box-head{align-items:flex-start;flex-direction:column}.data-table th,.data-table td{white-space:nowrap}}

/* Compact mobile dashboard */
@media(max-width:767.98px){
  .dashboard-v2{padding:.6rem .6rem 5.25rem!important}
  .dashboard-v2 .dash-hero{display:grid;gap:.65rem;padding:.75rem!important;border-radius:.75rem!important;margin-bottom:.65rem}
  .dashboard-v2 .dash-eyebrow{font-size:.62rem}
  .dashboard-v2 .dash-hero h1{font-size:1.08rem;line-height:1.18;margin:.18rem 0}
  .dashboard-v2 .dash-hero p{font-size:.78rem;line-height:1.35;margin:.18rem 0}
  .dashboard-v2 .dash-hero-meta{gap:.35rem}
  .dashboard-v2 .dash-hero-meta>span{padding:.18rem .42rem;font-size:.68rem}
  .dashboard-v2 .dash-quick-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.45rem}
  .dashboard-v2 .dash-action{min-height:38px;padding:.42rem .45rem;font-size:.76rem;border-radius:.55rem;gap:.3rem}
  .dashboard-v2 .dash-metrics-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.5rem;margin-bottom:.65rem}
  .dashboard-v2 .dash-metric-card{min-height:68px;padding:.58rem;gap:.5rem;border-radius:.68rem!important;align-items:center}
  .dashboard-v2 .dash-metric-card:after{display:none}
  .dashboard-v2 .metric-icon{width:32px;height:32px;border-radius:.52rem;font-size:.95rem}
  .dashboard-v2 .metric-body strong{font-size:1.08rem;line-height:1}
  .dashboard-v2 .metric-body span{display:block;font-size:.74rem;line-height:1.15}
  .dashboard-v2 .metric-body small{display:none}
  .dashboard-v2 .dash-main-grid{display:grid!important;grid-template-columns:1fr!important;gap:.65rem}
  .dashboard-v2 .dash-card{padding:.7rem!important;margin-bottom:.65rem!important;border-radius:.72rem!important}
  .dashboard-enhanced .dash-hero{grid-template-columns:1fr!important}
  .dashboard-enhanced .dash-pending-pill{min-height:36px;font-size:.76rem}
  .dashboard-enhanced .dash-overview-grid,.dashboard-enhanced .dash-two-col{grid-template-columns:1fr!important;gap:.65rem}
  .dashboard-enhanced .dash-chart-wrap{grid-template-columns:1fr}
  .dashboard-enhanced #dashStatusChart{justify-self:center;max-width:220px}
  .dashboard-enhanced .dash-progress-row,.dashboard-enhanced .dash-project-row{grid-template-columns:1fr;gap:.45rem;padding:.55rem}
  .dashboard-enhanced .dash-kpi-engine{padding:.7rem!important}
  .dashboard-enhanced .dash-kpi-tabs{width:100%;display:grid;grid-template-columns:1fr 1fr}
  .dashboard-enhanced .dash-kpi-panel.active{display:grid;grid-template-columns:1fr;gap:.5rem}
  .dashboard-enhanced .dash-kpi-card{padding:.65rem}
  .dashboard-enhanced .dash-kpi-stats{grid-template-columns:repeat(3,1fr)}
  .dashboard-enhanced .dash-person-kpi{grid-template-columns:auto minmax(0,1fr);gap:.5rem}
  .dashboard-enhanced .dash-person-kpi>span,.dashboard-enhanced .dash-person-rate,.dashboard-enhanced .dash-person-kpi .dash-grade{grid-column:1/-1}
  .dashboard-enhanced .dash-scroll-feed{max-height:280px}
  .dashboard-v2 .dash-card-head{gap:.55rem;margin-bottom:.55rem}
  .dashboard-v2 .dash-card-head h3{font-size:.88rem;line-height:1.2}
  .dashboard-v2 .dash-card-head p{display:none}
  .dashboard-v2 .dash-grade{min-width:1.8rem;height:1.8rem;font-size:.72rem}
  .dashboard-v2 .health-content{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.7rem;align-items:center}
  .dashboard-v2 .progress-ring{width:86px;height:86px}
  .dashboard-v2 .progress-ring strong{font-size:1rem}
  .dashboard-v2 .progress-ring span{font-size:.62rem}
  .dashboard-v2 .health-status-list{gap:.42rem}
  .dashboard-v2 .health-status-row{gap:.35rem}
  .dashboard-v2 .health-status-row>div{font-size:.72rem}
  .dashboard-v2 .dept-kpi-v2{gap:.42rem}
  .dashboard-v2 .dept-kpi-row-v2{display:grid;grid-template-columns:minmax(0,1fr) 92px auto;gap:.45rem;padding:.5rem}
  .dashboard-v2 .dept-dot-lg{width:.65rem;height:.65rem}
  .dashboard-v2 .dept-kpi-name b{font-size:.78rem}
  .dashboard-v2 .dept-kpi-name small{font-size:.68rem}
  .dashboard-v2 .dept-kpi-progress{gap:.25rem}
  .dashboard-v2 .dept-kpi-progress span{font-size:.7rem}
  .dashboard-v2 .dash-grade.mini{min-width:1.5rem;height:1.5rem;font-size:.64rem}
  .dashboard-v2 .watch-list,.dashboard-v2 .activity-v2{gap:.42rem}
  .dashboard-v2 .watch-item{padding:.5rem;gap:.45rem}
  .dashboard-v2 .watch-item b{font-size:.78rem;line-height:1.2}
  .dashboard-v2 .watch-item small{font-size:.68rem;line-height:1.25}
  .dashboard-v2 .activity-item-v2{padding:.48rem;gap:.48rem}
  .dashboard-v2 .activity-item-v2 .avatar{width:28px;height:28px;font-size:.65rem}
  .dashboard-v2 .activity-item-v2 p{font-size:.76rem;line-height:1.25;margin:0}
  .dashboard-v2 .activity-item-v2 small{font-size:.66rem}
  .dashboard-v2 .recent-tasks-card .table-wrap{display:none}
  .dashboard-v2 .dash-task-mobile-list{display:grid!important;gap:.5rem}
  .dashboard-v2 .dash-task-mobile-card{display:grid;gap:.45rem;background:#fff;border:1px solid #e3e8ef;border-left:3px solid var(--ui-primary,#2563eb);border-radius:.68rem;padding:.6rem}
  .dashboard-v2 .dash-task-mobile-card.is-overdue{border-left-color:#dc3545;background:#fff7f7}
  .dashboard-v2 .dash-task-mobile-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}
  .dashboard-v2 .dash-task-mobile-head b{display:block;color:#20262e;font-size:.82rem;line-height:1.25;overflow-wrap:anywhere}
  .dashboard-v2 .dash-task-mobile-head small{display:block;color:#667085;font-size:.68rem;margin-top:.12rem}
  .dashboard-v2 .dash-task-mobile-badges{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;font-size:.7rem}
  .dashboard-v2 .dash-task-mobile-progress{display:grid;grid-template-columns:minmax(0,1fr) 36px;gap:.4rem;align-items:center}
  .dashboard-v2 .dash-task-mobile-progress small{font-size:.7rem;font-weight:850;color:#475467;text-align:right}
  .dashboard-v2 .dash-task-mobile-card .btn{min-height:32px;justify-content:center}
}
@media(max-width:575.98px){
  .dashboard-v2{padding:.5rem .5rem 5.15rem!important}
  .dashboard-v2 .dash-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .dashboard-v2 .dash-quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .dashboard-v2 .health-content{grid-template-columns:1fr}
  .dashboard-v2 .progress-ring{width:78px;height:78px;justify-self:center}
  .dashboard-v2 .dept-kpi-row-v2{grid-template-columns:1fr}
}

/* Enterprise Settings Module */
.logo-badge.logo-image{overflow:hidden;background:#fff;padding:0}.logo-badge.logo-image img{width:100%;height:100%;object-fit:contain;padding:4px}.app-footer{padding:.9rem 1.2rem;color:#667085;font-size:.78rem;border-top:1px solid var(--ui-border);background:rgba(255,255,255,.65)}.app-footer a{color:#2563eb;font-weight:850;text-decoration:none}.app-footer a:hover{text-decoration:underline;text-underline-offset:3px}
.settings-page .alert{margin-bottom:1rem}.settings-shell{display:grid;grid-template-columns:270px minmax(0,1fr);gap:1rem;align-items:start}.settings-nav{position:sticky;top:78px;background:#fff;border:1px solid var(--ui-border);border-radius:.85rem;box-shadow:var(--ui-shadow);padding:.55rem}.settings-nav a{display:flex;align-items:center;gap:.65rem;border-radius:.6rem;color:#344054;font-weight:700;font-size:.86rem;padding:.72rem .75rem;margin:.1rem 0}.settings-nav a i{color:#667085;width:1.1rem;text-align:center}.settings-nav a:hover{background:#f8fbff;color:var(--ui-primary)}.settings-nav a.active{background:#eef4ff;color:var(--ui-primary);box-shadow:inset 3px 0 0 var(--ui-primary)}.settings-nav a.active i{color:var(--ui-primary)}
.settings-content{min-width:0}.settings-card{background:#fff;border:1px solid var(--ui-border);border-radius:.9rem;box-shadow:var(--ui-shadow);padding:1.1rem;margin-bottom:1rem}.settings-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem;padding-bottom:.85rem;border-bottom:1px solid #edf1f5}.settings-card-head h3{margin:0;color:#20262e;font-size:1.05rem;font-weight:780}.settings-card-head p{margin:.2rem 0 0;color:#667085;font-size:.84rem;line-height:1.45}.settings-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.settings-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}.settings-grid-5{display:grid;grid-template-columns:minmax(180px,1.4fr) repeat(3,minmax(130px,1fr)) auto;gap:.75rem;align-items:end;margin-bottom:1rem}.settings-grid-3 label[style*="span 2"]{grid-column:span 2}.settings-meta,.settings-brand-preview{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;margin:.8rem 0}.settings-brand-preview{background:#f8fafc;border:1px solid #edf1f5;border-radius:.75rem;padding:.75rem}.settings-brand-preview b{display:block}.settings-brand-preview small{display:block;color:#667085}.settings-toggle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin:.85rem 0}.settings-toggle{display:flex!important;align-items:center;gap:.55rem;margin:0!important;padding:.7rem .75rem;background:#f8fafc;border:1px solid #edf1f5;border-radius:.65rem;text-transform:none!important;font-size:.86rem;font-weight:700;color:#344054}.settings-toggle:hover{background:#f2f7ff;border-color:#dbe7ff}.settings-toggle input{width:1rem;height:1rem;accent-color:var(--ui-primary)}.settings-note{background:#f8fafc;border:1px dashed #cfd6df;border-radius:.7rem;padding:.85rem;color:#667085;font-size:.84rem;margin:.85rem 0}.settings-danger-note{background:#fff7ed;border-color:#fed7aa;color:#9a3412}.settings-inline-form{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-bottom:1rem}.settings-health-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-bottom:1rem}.settings-health-grid>div{background:#f8fafc;border:1px solid #edf1f5;border-radius:.7rem;padding:.8rem}.settings-health-grid b{display:block;color:#20262e}.settings-health-grid span{display:block;margin-top:.35rem;color:#667085}.settings-table-checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;margin:.75rem 0 1rem}.settings-table-checks>span{display:flex;align-items:center;justify-content:space-between;gap:.5rem;background:#fff;border:1px solid #edf1f5;border-radius:.6rem;padding:.55rem .65rem;font-size:.8rem}.settings-maint-actions{display:flex;gap:.6rem;flex-wrap:wrap}.settings-maint-actions form{display:inline-flex}.settings-page .action-btns form{display:inline-flex;margin:0}
@media(max-width:1100px){.settings-shell{grid-template-columns:1fr}.settings-nav{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.settings-grid-3,.settings-grid-5{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-health-grid,.settings-table-checks{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.settings-nav,.settings-grid-2,.settings-grid-3,.settings-grid-5,.settings-toggle-grid,.settings-health-grid,.settings-table-checks{grid-template-columns:1fr}.settings-grid-3 label[style*="span 2"]{grid-column:auto}.settings-card{padding:.9rem}.settings-card-head{align-items:flex-start;flex-direction:column}.settings-inline-form{align-items:stretch;flex-direction:column}.settings-inline-form .btn,.settings-maint-actions .btn,.settings-maint-actions form{width:100%;justify-content:center}}
.sms-logs-card .table-wrap{max-width:100%;overflow:auto}.sms-logs-table td{vertical-align:top}.sms-log-modal[hidden]{display:none!important}.sms-log-modal-open{overflow:hidden}.sms-log-modal{position:fixed;inset:0;z-index:1085;display:grid;place-items:center;padding:1rem}.sms-log-modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.52)}.sms-log-modal-dialog{position:relative;z-index:1;width:min(820px,96vw);max-height:90vh;overflow:auto;background:#fff;border:1px solid #dfe5ee;border-radius:.85rem;box-shadow:0 1.25rem 3rem rgba(15,23,42,.28)}.sms-log-modal-dialog>header{position:sticky;top:0;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem;border-bottom:1px solid #edf1f5;background:#fff}.sms-log-modal-dialog h3{margin:0;color:#20262e;font-size:1.05rem;font-weight:950}.sms-log-modal-dialog p{margin:.15rem 0 0;color:#667085;font-size:.82rem;font-weight:800}.sms-log-modal-dialog>header button{display:grid;place-items:center;width:2.1rem;height:2.1rem;border:1px solid #d8e0eb;border-radius:.45rem;background:#fff;color:#475467;font-size:1.3rem;cursor:pointer}.sms-log-details{display:grid;gap:.75rem;padding:1rem}.sms-log-section{border:1px solid #edf1f5;border-radius:.75rem;background:#fff;overflow:hidden}.sms-log-section h4{margin:0;padding:.72rem .85rem;border-bottom:1px solid #edf1f5;background:#f8fafc;color:#20262e;font-size:.86rem;font-weight:950}.sms-log-details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;padding:.8rem}.sms-log-details-grid>div{min-width:0;border:1px solid #edf1f5;border-radius:.65rem;background:#f8fafc;padding:.7rem}.sms-log-details span,.sms-debug-block span{display:block;color:#667085;font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.sms-log-details strong{display:block;margin-top:.25rem;color:#20262e;font-size:.84rem;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}.sms-log-detail-wide{grid-column:1/-1}.sms-log-debug{border:1px solid #d8e0eb;border-radius:.75rem;background:#fbfcfe;padding:.8rem}.sms-log-debug summary{cursor:pointer;color:#20262e;font-weight:950}.sms-debug-block{margin-top:.75rem}.debug-json{max-height:260px;overflow:auto;margin:.35rem 0 0;padding:.7rem;border:1px solid #d8e0eb;border-radius:.55rem;background:#0f172a;color:#e2e8f0;font-size:.76rem;line-height:1.45;white-space:pre-wrap}.sms-log-modal-dialog>footer{position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:.5rem;padding:1rem;border-top:1px solid #edf1f5;background:#fbfcfe}.sms-retry-form{display:inline-flex;margin:0}
@media(max-width:640px){.sms-log-modal{padding:.65rem}.sms-log-modal-dialog{width:100%;max-height:92vh}.sms-log-details-grid{grid-template-columns:1fr}.sms-log-detail-wide{grid-column:auto}.sms-log-modal-dialog>footer{display:grid}.sms-log-modal-dialog>footer .btn{width:100%}}
.nt-modal[hidden]{display:none!important}.nt-modal-open{overflow:hidden}.nt-modal{position:fixed;inset:0;z-index:1090;display:grid;place-items:center;padding:1rem}.nt-modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.52)}.nt-modal-dialog{position:relative;z-index:1;width:min(700px,96vw);max-height:90vh;overflow:auto;background:#fff;border:1px solid #dfe5ee;border-radius:.85rem;box-shadow:0 1.25rem 3rem rgba(15,23,42,.28)}.nt-edit-dialog{width:min(850px,96vw)}.nt-test-dialog{width:min(600px,96vw)}.nt-confirm-dialog{width:min(480px,94vw)}.nt-modal-dialog>header{position:sticky;top:0;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem;border-bottom:1px solid #edf1f5;background:#fff}.nt-modal-dialog h3{margin:0;color:#20262e;font-size:1.08rem;font-weight:950}.nt-modal-dialog h4{margin:0 0 .6rem;color:#20262e;font-size:.9rem;font-weight:950}.nt-modal-dialog p{margin:.15rem 0 0;color:#667085;font-size:.83rem;line-height:1.45}.nt-modal-dialog>header button{display:grid;place-items:center;width:2.1rem;height:2.1rem;border:1px solid #d8e0eb;border-radius:.45rem;background:#fff;color:#475467;font-size:1.3rem;cursor:pointer}.nt-modal-dialog>footer{position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:.5rem;padding:1rem;border-top:1px solid #edf1f5;background:#fbfcfe}.nt-editor-grid{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:1rem;padding:1rem}.nt-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.nt-form-grid label,.nt-modal-body label{display:grid;gap:.3rem;margin:0;color:#344054;font-size:.78rem;font-weight:850}.nt-form-grid .span-2{grid-column:1/-1}.nt-form-grid .form-input,.nt-form-grid .form-select,.nt-form-grid .form-textarea,.nt-modal-body .form-input,.nt-modal-body .form-select{width:100%;margin:0}.nt-placeholder-panel{border:1px solid #edf1f5;border-radius:.75rem;background:#f8fafc;padding:.85rem;max-height:620px;overflow:auto}.nt-placeholder-panel details{border-top:1px solid #e5eaf1;padding:.55rem 0}.nt-placeholder-panel details:first-of-type{border-top:0}.nt-placeholder-panel summary{cursor:pointer;color:#20262e;font-size:.8rem;font-weight:950}.nt-placeholder-panel details div{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.5rem}.nt-placeholder-panel button{border:1px solid #d8e0eb;border-radius:.45rem;background:#fff;color:#2563eb;font-size:.72rem;font-weight:850;padding:.28rem .42rem;cursor:pointer}.nt-placeholder-panel button:hover{background:#eff6ff;border-color:#bfdbfe}.nt-modal-body{display:grid;gap:.8rem;padding:1rem}.nt-preview-section{display:grid;gap:.65rem;margin-bottom:.8rem}.nt-preview-meta,.nt-sample-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.nt-preview-meta>div,.nt-sample-grid>div{min-width:0;border:1px solid #edf1f5;border-radius:.65rem;background:#f8fafc;padding:.65rem}.nt-preview-meta span,.nt-sample-grid span{display:block;color:#667085;font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.nt-preview-meta strong,.nt-sample-grid strong{display:block;margin-top:.25rem;color:#20262e;font-size:.82rem;line-height:1.4;overflow-wrap:anywhere}.nt-preview-box{border:1px solid #d8e0eb;border-radius:.7rem;background:#fff;padding:.85rem;color:#20262e;line-height:1.5;overflow-wrap:anywhere}.nt-preview-box pre{margin:0;white-space:pre-wrap;font-family:inherit}.nt-loading{border:1px dashed #cfd6df;border-radius:.7rem;background:#f8fafc;padding:1rem;color:#667085;font-weight:850}.nt-modal .alert{margin:.35rem 0 0}.nt-modal button:disabled{opacity:.6;cursor:not-allowed}.settings-page .action-btns .btn{white-space:nowrap}
@media(max-width:820px){.nt-editor-grid{grid-template-columns:1fr}.nt-placeholder-panel{max-height:none}.nt-preview-meta,.nt-sample-grid{grid-template-columns:1fr}}@media(max-width:640px){.nt-modal{padding:.65rem}.nt-modal-dialog{width:100%;max-height:92vh}.nt-form-grid{grid-template-columns:1fr}.nt-form-grid .span-2{grid-column:auto}.nt-modal-dialog>footer{display:grid}.nt-modal-dialog>footer .btn{width:100%;justify-content:center}}

/* Dynamic login branding */
.login-body.login-page-v2{background:var(--brand-bg,linear-gradient(135deg,#eef2f7 0%,#dbe5f0 100%));background-size:cover;background-position:center;background-attachment:fixed}
.login-v2-hero{background:linear-gradient(135deg,var(--brand-primary,#2563eb) 0%,#334155 100%)}
.login-v2-brand .brand-mark,.login-v2-mobile-brand .brand-mark{background:linear-gradient(135deg,var(--brand-accent,#f59e0b),#d97706);box-shadow:0 .75rem 1.5rem rgba(0,0,0,.16)}
.brand-mark.brand-mark-image{background:#fff;overflow:hidden;padding:3px}
.brand-mark.brand-mark-image img{width:100%;height:100%;object-fit:contain;display:block}
.login-pill{background:color-mix(in srgb,var(--brand-primary,#2563eb) 12%,#fff);border-color:color-mix(in srgb,var(--brand-primary,#2563eb) 25%,#fff);color:var(--brand-primary,#2563eb)}
.password-toggle-v2{color:var(--brand-primary,#2563eb)}
.demo-account-btn:hover{border-color:var(--brand-primary,#2563eb);box-shadow:0 .35rem .85rem color-mix(in srgb,var(--brand-primary,#2563eb) 14%,transparent)}
.settings-grid-2 label[style*="span 2"]{grid-column:span 2}
@media(max-width:640px){.settings-grid-2 label[style*="span 2"]{grid-column:auto}.login-body.login-page-v2{background-attachment:scroll}}

/* Recursive subtasks */
.tasks-filter-card{padding:.85rem 1rem!important;margin-bottom:1rem}
.tasks-filter-form{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;width:100%}
.tasks-filter-form .form-input,.tasks-filter-form .form-select{margin-top:0;min-height:38px}
.tasks-filter-form .tasks-filter-search{width:clamp(260px,24vw,320px);flex:0 0 clamp(260px,24vw,320px)}
.tasks-filter-form .tasks-filter-status{width:170px;flex:0 0 170px}
.tasks-filter-form .tasks-filter-type{width:175px;flex:0 0 175px}
.tasks-filter-form .tasks-filter-view{width:160px;flex:0 0 160px}
.tasks-filter-actions{display:flex;align-items:center;gap:.5rem;flex:0 0 auto}
.tasks-filter-actions .btn{min-height:38px}
.tasks-filter-form .form-input:focus,.tasks-filter-form .form-select:focus{border-color:#6ea8fe;box-shadow:0 0 0 .22rem rgba(37,99,235,.13)}
@media(max-width:760px){.tasks-filter-card{padding:.85rem!important}.tasks-filter-form{display:grid;grid-template-columns:1fr;align-items:stretch}.tasks-filter-form .tasks-filter-search,.tasks-filter-form .tasks-filter-status,.tasks-filter-form .tasks-filter-type,.tasks-filter-form .tasks-filter-view{width:100%;flex:1 1 auto}.tasks-filter-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.tasks-filter-actions .btn{width:100%;justify-content:center}}
.tasks-inline-card .table-wrap{border-radius:.8rem}.task-row-actions{display:flex;gap:.35rem;align-items:center;justify-content:flex-end;flex-wrap:wrap}.task-subtask-toggle b{display:inline-grid;place-items:center;min-width:1.35rem;height:1.35rem;margin-left:.1rem;border-radius:999px;background:rgba(255,255,255,.22);font-size:.68rem;line-height:1}.task-inline-panel-row>td{padding:0!important;background:#f8fbff!important}.task-inline-panel{border-top:1px solid #dbe5f0;border-bottom:1px solid #dbe5f0;background:linear-gradient(180deg,#f8fbff,#fff);padding:1rem}.task-inline-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.85rem}.task-inline-panel-head h3{margin:0;color:#20262e;font-size:1rem;font-weight:850}.task-inline-panel-head p{margin:.15rem 0 0;color:#667085;font-size:.82rem}.task-inline-form{display:grid;grid-template-columns:minmax(220px,1.25fr) minmax(190px,.9fr) repeat(3,minmax(125px,.55fr));gap:.65rem;align-items:end;padding:.8rem;background:#fff;border:1px solid #e3e8ef;border-radius:.75rem;box-shadow:0 .18rem .55rem rgba(16,24,40,.04);margin-bottom:.85rem}.task-inline-form.is-compact{margin:.65rem 0 .8rem .8rem;background:#f8fafc}.task-inline-field{display:grid!important;gap:.32rem;margin:0!important;text-transform:none!important}.task-inline-field span{font-size:.68rem;color:#667085;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.task-inline-field .form-input,.task-inline-field .form-select{margin:0}.task-inline-field select[multiple]{min-height:92px;padding:.45rem}.task-inline-title-field{grid-column:span 1}.task-assignee-field{position:relative}.task-assignee-picker{position:relative;min-width:0}.task-assignee-chipbox{display:flex;align-items:center;gap:.32rem;flex-wrap:wrap;min-height:38px;width:100%;border:1px solid #cfd6df;border-radius:.5rem;background:#fff;padding:.22rem .35rem;transition:border-color .15s ease,box-shadow .15s ease}.task-assignee-picker:focus-within .task-assignee-chipbox{border-color:#6ea8fe;box-shadow:0 0 0 .22rem rgba(37,99,235,.13)}.task-assignee-chips{display:flex;align-items:center;gap:.28rem;flex-wrap:wrap}.task-assignee-chip{display:inline-flex;align-items:center;gap:.28rem;max-width:170px;border-radius:999px;background:#eef4ff;color:#1d4ed8;border:1px solid #dbe7ff;padding:.18rem .22rem .18rem .5rem;font-size:.74rem;font-weight:800}.task-assignee-chip span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:inherit;font-size:inherit;text-transform:none;letter-spacing:0}.task-assignee-chip button{display:inline-grid;place-items:center;width:18px;height:18px;border:0;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-size:1rem;line-height:1;cursor:pointer}.task-assignee-chip button:hover{background:#bfdbfe}.task-assignee-search{flex:1 1 120px;min-width:95px;height:28px;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;padding:.1rem .2rem!important;margin:0!important;font:inherit;color:#20262e}.task-assignee-search::placeholder{color:#98a2b3}.task-assignee-suggestions{position:absolute;left:0;right:0;top:calc(100% + .3rem);z-index:1070;background:#fff;border:1px solid #d8e0eb;border-radius:.65rem;box-shadow:0 .85rem 1.8rem rgba(16,24,40,.14);padding:.35rem;max-height:260px;overflow:auto}.task-assignee-option{width:100%;display:flex;align-items:center;gap:.6rem;border:0;background:#fff;border-radius:.5rem;padding:.52rem;text-align:left;cursor:pointer;color:#20262e}.task-assignee-option:hover,.task-assignee-option.is-active{background:#eef4ff}.task-assignee-avatar{display:grid;place-items:center;width:30px;height:30px;border-radius:999px;color:#fff;font-size:.72rem;font-weight:900;flex:0 0 auto}.task-assignee-option-main{display:grid;min-width:0}.task-assignee-option-main strong{font-size:.82rem;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-assignee-option-main small{color:#667085;font-size:.72rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-assignee-empty{padding:.65rem;color:#667085;font-weight:750;text-align:center}.task-assignee-empty.is-error{color:#b42318}.task-inline-defaults{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;color:#667085;font-size:.78rem;font-weight:800}.task-inline-form-actions{display:flex;gap:.45rem;align-items:center;justify-content:flex-end;grid-column:1/-1}.task-inline-form.is-loading{opacity:.72}.task-inline-list{display:grid;gap:.55rem}.task-inline-loading,.task-inline-empty{padding:1rem;border:1px dashed #cfd6df;border-radius:.7rem;color:#667085;background:#fff;text-align:center;font-weight:700}.task-inline-empty.is-error{border-color:#fecaca;background:#fff7f7;color:#b42318}.task-inline-tree{display:grid;gap:.55rem}.task-inline-tree .task-inline-tree{margin:.55rem 0 0 1.1rem;padding-left:.85rem;border-left:1px solid #d7dee8}.task-inline-node{display:grid;gap:.25rem}.task-inline-node-row{display:grid;grid-template-columns:1.1rem 1.8rem minmax(190px,1.25fr) minmax(180px,.9fr) minmax(145px,.65fr) minmax(130px,.6fr) auto;align-items:center;gap:.6rem;background:#fff;border:1px solid #e5eaf1;border-radius:.72rem;padding:.7rem}.task-inline-branch{height:1px;background:#cfd6df}.task-inline-node-icon{display:grid;place-items:center;width:1.75rem;height:1.75rem;border-radius:.48rem;background:#eef4ff;color:var(--ui-primary,#2563eb)}.task-inline-node-main{min-width:0}.task-inline-node-main a{color:#20262e;text-decoration:none}.task-inline-node-main a:hover{color:var(--ui-primary,#2563eb)}.task-inline-node-main strong{display:block;overflow-wrap:anywhere}.task-inline-node-main small{display:block;color:#667085;margin-top:.12rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-inline-node-badges{display:flex;gap:.35rem;flex-wrap:wrap}.task-inline-node-dates{display:grid;gap:.12rem;color:#667085;font-size:.76rem;font-weight:700}.task-inline-node-progress{display:grid;gap:.22rem}.task-inline-node-progress small{color:#667085;font-size:.72rem;font-weight:800}.task-inline-node-actions{display:flex;gap:.35rem;align-items:center;justify-content:flex-end;flex-wrap:wrap}.task-delete-target{font-weight:850;color:#20262e;background:#f8fafc;border:1px solid #edf1f5;border-radius:.55rem;padding:.65rem}.task-inline-toast{position:fixed;right:1.25rem;bottom:1.25rem;z-index:2200;max-width:min(380px,calc(100vw - 2rem));padding:.75rem 1rem;border-radius:.65rem;background:#198754;color:#fff;box-shadow:0 .8rem 1.6rem rgba(16,24,40,.18);font-weight:800;opacity:0;transform:translateY(.5rem);pointer-events:none;transition:opacity .18s ease,transform .18s ease}.task-inline-toast.show{opacity:1;transform:translateY(0)}.task-inline-toast-danger{background:#dc3545}
@media(max-width:1200px){.task-inline-form{grid-template-columns:repeat(2,minmax(0,1fr))}.task-inline-title-field{grid-column:1/-1}.task-inline-node-row{grid-template-columns:1rem 1.7rem minmax(200px,1fr) minmax(150px,.8fr);align-items:start}.task-inline-node-badges,.task-inline-node-dates,.task-inline-node-progress,.task-inline-node-actions{grid-column:3/-1}.task-inline-node-actions{justify-content:flex-start}}
@media(max-width:760px){.task-row-actions{justify-content:flex-start}.task-inline-panel{padding:.8rem}.task-inline-panel-head{flex-direction:column}.task-inline-form,.task-inline-form.is-compact{grid-template-columns:1fr;margin-left:0}.task-inline-form-actions{display:grid;grid-template-columns:1fr 1fr}.task-inline-form-actions .btn{width:100%;justify-content:center}.task-inline-tree .task-inline-tree{margin-left:.45rem;padding-left:.55rem}.task-inline-node-row{grid-template-columns:1rem 1.6rem minmax(0,1fr);gap:.5rem}.task-inline-node-badges,.task-inline-node-dates,.task-inline-node-progress,.task-inline-node-actions{grid-column:3}.task-inline-node-actions .btn{flex:1}.task-inline-toast{left:1rem;right:1rem;bottom:1rem}}
.task-tree-title{display:flex;align-items:flex-start;gap:.55rem;padding-left:calc(var(--task-level,0) * 1.35rem)}
.task-tree-title .bi{color:var(--ui-primary,#2563eb);margin-top:.12rem}
.task-tree-indent{display:inline-block;width:calc(var(--task-level,0) * .3rem);min-height:1rem;border-left:1px solid #d7dee8}
.task-title-wrap{display:inline-flex;align-items:center;gap:6px;min-width:0}.task-tree-toggle{width:24px;height:24px;min-width:24px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#2563eb;font-weight:800;font-size:14px;line-height:1;cursor:pointer;margin-right:4px;display:inline-flex;align-items:center;justify-content:center;padding:0}.task-tree-toggle:hover,.task-tree-toggle:focus-visible{background:#eff6ff;border-color:#2563eb;outline:0}.task-tree-spacer{width:24px;height:24px;min-width:24px;display:inline-block;margin-right:4px}.task-tree-table .subtask-row td:first-child{padding-left:48px}.subtask-title-wrap{padding-left:8px}.tree-indent{display:inline-block;width:18px;min-width:18px}.subtask-icon{color:#2563eb;font-size:13px;font-weight:700}.task-tree-table .is-hidden,.mobile-task-list .is-hidden{display:none!important}.subtask-count{display:inline-flex;align-items:center;padding:3px 8px;margin-left:6px;border-radius:999px;background:#e0ecff;color:#2563eb;font-size:11px;font-weight:700;white-space:nowrap}.mobile-task-title-wrap .task-tree-toggle,.mobile-task-title-wrap .task-tree-spacer{flex:0 0 auto}.mobile-task-card.subtask-row{margin-left:0}.mobile-task-card.subtask-row .mobile-task-title-wrap{padding-left:16px}
.subtask-tree{display:grid;gap:.55rem;margin-top:.55rem}.subtask-tree .subtask-tree{margin-left:1.4rem;padding-left:1rem;border-left:1px solid #d7dee8}
.subtask-node{background:#fff;border:1px solid #e5eaf1;border-radius:.7rem;overflow:hidden}.subtask-node[open]{box-shadow:0 .35rem .9rem rgba(16,24,40,.04)}
.subtask-row{display:grid;grid-template-columns:1.2rem 1.8rem minmax(180px,1fr) auto auto minmax(92px,auto) minmax(130px,180px) auto;align-items:center;gap:.65rem;padding:.75rem;cursor:pointer;list-style:none}
.subtask-row::-webkit-details-marker{display:none}.subtask-icon{display:grid;place-items:center;width:1.75rem;height:1.75rem;border-radius:.45rem;background:#eef4ff;color:var(--ui-primary,#2563eb)}
.task-tree-table tr.subtask-row{display:table-row;padding:0;cursor:default}.task-tree-table .subtask-icon{display:inline;place-items:normal;width:auto;height:auto;border-radius:0;background:transparent;color:#2563eb}.mobile-task-list .mobile-task-card.subtask-row{display:block;padding:1rem;cursor:default}
.messages-shell{display:grid;grid-template-columns:340px minmax(0,1fr);gap:1rem;min-height:calc(100vh - 190px)}.messages-sidebar,.messages-chat{background:#fff;border:1px solid #e5eaf1;border-radius:1rem;box-shadow:0 .4rem 1rem rgba(16,24,40,.05);overflow:hidden}.messages-sidebar{display:flex;flex-direction:column}.messages-search,.messages-start{display:flex;gap:.45rem;padding:.85rem;border-bottom:1px solid #eef2f7}.messages-start .form-select{min-width:0}.messages-thread-list{overflow:auto;padding:.45rem;display:grid;gap:.4rem}.messages-thread{position:relative;display:grid;gap:.15rem;padding:.75rem .85rem;border-radius:.75rem;color:#20262e;text-decoration:none}.messages-thread:hover,.messages-thread.is-active{background:#eef6ff}.messages-thread.has-unread{background:#f0f7ff;font-weight:800}.messages-thread strong{font-size:.9rem}.messages-thread small{color:#667085;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.messages-thread em{position:absolute;right:.7rem;top:.7rem;background:#2563eb;color:#fff;border-radius:999px;min-width:1.35rem;height:1.35rem;display:grid;place-items:center;font-size:.72rem;font-style:normal}.messages-type{text-transform:uppercase;letter-spacing:.05em;color:#2563eb;font-weight:850;font-size:.66rem}.messages-chat{display:flex;flex-direction:column;min-width:0}.messages-chat-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;border-bottom:1px solid #eef2f7}.messages-chat-head h2{margin:.1rem 0 0;font-size:1.1rem}.messages-chat-head span,.messages-chat-head small{color:#667085;font-size:.78rem}.messages-list{flex:1;overflow:auto;padding:1rem;display:flex;flex-direction:column;gap:.8rem;background:#f8fafc}.message-bubble{display:grid;grid-template-columns:2rem minmax(0,1fr);gap:.6rem;max-width:78%}.message-bubble.is-mine{align-self:flex-end;grid-template-columns:minmax(0,1fr)}.message-bubble.is-mine>.avatar{display:none}.message-bubble>div{background:#fff;border:1px solid #e5eaf1;border-radius:.9rem;padding:.65rem .8rem;box-shadow:0 .2rem .5rem rgba(16,24,40,.04)}.message-bubble.is-mine>div{background:#e8f1ff;border-color:#bfdbfe}.message-bubble p{display:flex;gap:.5rem;align-items:center;justify-content:space-between;margin:0 0 .25rem;color:#475467;font-size:.75rem}.message-text{white-space:pre-wrap;overflow-wrap:anywhere;color:#20262e}.message-attachment{display:inline-flex;align-items:center;gap:.35rem;margin-top:.45rem;color:#2563eb;font-weight:800}.messages-compose{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.45fr) auto;gap:.6rem;padding:.85rem;border-top:1px solid #eef2f7;background:#fff}.messages-empty,.messages-empty-state{padding:1rem;color:#667085;text-align:center}.messages-empty-state{margin:auto}.messages-empty-state h2{margin-top:0;color:#20262e}@media(max-width:860px){.messages-shell{grid-template-columns:1fr}.messages-sidebar{max-height:45vh}.message-bubble{max-width:94%}.messages-compose{grid-template-columns:1fr}.messages-compose .btn{width:100%}}
.subtask-main b{display:inline-block;color:#20262e}.subtask-main small{display:block;color:#667085;margin-top:.15rem}.subtask-date{white-space:nowrap;color:#475467;font-size:.82rem}.subtask-progress small{display:block;color:#667085;margin-top:.2rem}.subtask-actions{display:flex;gap:.35rem;justify-content:flex-end;flex-wrap:wrap}
.subtask-connector{height:1px;background:#d7dee8}.epm-gantt-bar.bar-subtask{background:#7c3aed}.epm-gantt-row.type-subtask .epm-gantt-type-icon,.legend-subtask{background:#ede9fe!important;color:#6d28d9!important}.legend-subtask{display:inline-block;width:.75rem;height:.75rem;border-radius:.2rem}
@media(max-width:900px){.subtask-row{grid-template-columns:1rem 1.7rem minmax(0,1fr);align-items:flex-start}.subtask-row>span:nth-child(n+4){grid-column:3}.subtask-actions{justify-content:flex-start}.subtask-tree .subtask-tree{margin-left:.7rem;padding-left:.7rem}.task-tree-title{padding-left:calc(var(--task-level,0) * .8rem)}}

/* Enterprise Role and Access Management */
.access-denied-card{width:min(680px,100%);margin:clamp(2rem,6vw,5rem) auto;background:#fff;border:1px solid var(--ui-border,#dfe5ee);border-radius:.9rem;box-shadow:var(--ui-shadow-hover,0 1rem 2rem rgba(16,24,40,.1));padding:2rem;text-align:center}.access-denied-icon{width:64px;height:64px;border-radius:1rem;background:#fff1f2;color:#dc3545;display:grid;place-items:center;margin:0 auto 1rem;font-size:1.6rem}.access-denied-card h1{margin:.2rem 0;font-size:1.7rem}.access-denied-card p{color:#667085}.access-denied-permission{display:inline-flex;align-items:center;gap:.6rem;background:#f8fafc;border:1px solid #edf1f5;border-radius:.65rem;padding:.65rem .8rem;margin:1rem 0}.access-denied-permission span{font-weight:800;color:#475467}.access-denied-actions{display:flex;gap:.65rem;justify-content:center;flex-wrap:wrap;margin-top:1rem}
.permission-group-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1rem 0}.permission-group-card{background:#fff;border:1px solid #e3e8ef;border-radius:.8rem;padding:.85rem;box-shadow:0 .15rem .45rem rgba(16,24,40,.035)}.permission-group-card.is-compact{padding:.7rem}.permission-group-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding-bottom:.65rem;margin-bottom:.65rem;border-bottom:1px solid #edf1f5}.permission-group-head h3{font-size:.92rem;margin:0;color:#20262e}.permission-group-head span{display:inline-grid;place-items:center;min-width:1.55rem;height:1.55rem;border-radius:999px;background:#eef4ff;color:var(--ui-primary,#2563eb);font-weight:800;font-size:.72rem}.permission-group-card .perm-item{display:flex;align-items:flex-start;gap:.55rem;margin:.45rem 0;padding:.55rem;border-radius:.6rem}.permission-group-card .perm-item span{display:grid;gap:.12rem}.permission-group-card .perm-item small{color:#667085;font-weight:600;font-size:.74rem}
.permission-line{display:flex;align-items:center;justify-content:space-between;gap:.75rem;border-radius:.55rem;padding:.5rem .6rem;margin:.28rem 0;background:#f8fafc}.permission-line span{font-weight:700}.permission-line em{font-style:normal;border-radius:999px;padding:.18rem .5rem;font-size:.68rem;font-weight:800}.permission-line.is-granted em{background:#dcfce7;color:#15803d}.permission-line.is-denied em{background:#eef1f5;color:#475467}
.matrix-card{overflow:hidden}.matrix-wrap{max-height:70vh}.matrix-table th:not(:first-child),.matrix-table td:not(:first-child){text-align:center;min-width:132px}.matrix-table th:first-child,.matrix-table td:first-child{position:sticky;left:0;background:#fff;z-index:2;min-width:280px}.matrix-table thead th:first-child{z-index:4;background:#f8fafc}.matrix-group-row td{position:sticky;left:0;background:#eef4ff!important;color:#1d4ed8;font-weight:900;text-transform:uppercase;letter-spacing:.05em;font-size:.72rem}.matrix-permission-cell small{display:block;color:#667085;font-weight:600;margin-top:.16rem}.matrix-toggle{min-width:94px;border:1px solid #d0d7e2;background:#fff;border-radius:999px;padding:.34rem .62rem;font-weight:850;font-size:.74rem;cursor:pointer}.matrix-toggle.is-granted{background:#dcfce7;border-color:#bbf7d0;color:#15803d}.matrix-toggle.is-denied{background:#f1f3f5;border-color:#d9dee6;color:#475467}.matrix-toggle.is-loading{opacity:.7;cursor:wait}.matrix-toggle:disabled{cursor:not-allowed;opacity:.62}
.role-stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.role-detail-grid{grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr)}.member-mini-list{display:grid;gap:.55rem}.member-mini-row{display:flex;align-items:center;gap:.65rem;border:1px solid #edf1f5;border-radius:.7rem;padding:.65rem;text-decoration:none;color:#20262e}.member-mini-row:hover{background:#f8fbff}.member-mini-row span{display:grid;min-width:0;flex:1}.member-mini-row small{color:#667085}
.member-permission-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.permission-toggle-card{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem;border:1px solid #edf1f5;border-radius:.7rem;margin:.48rem 0;background:#f8fafc}.permission-toggle-card strong{display:block;color:#20262e}.permission-toggle-card small{display:block;color:#667085;font-size:.75rem}.permission-toggle-card.is-on{border-color:#bbf7d0;background:#f6fef9}.permission-toggle-card.is-off{border-color:#e4e7ec;background:#f8fafc}.permission-toggle-card.has-override{box-shadow:inset 3px 0 0 var(--ui-primary,#2563eb)}.switch-toggle{position:relative;display:inline-flex!important;width:44px;height:24px;flex:0 0 auto;margin:0!important}.switch-toggle input{opacity:0;width:0;height:0}.switch-toggle span{position:absolute;inset:0;border-radius:999px;background:#cfd6df;transition:.18s}.switch-toggle span:before{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 .12rem .24rem rgba(16,24,40,.25);transition:.18s}.switch-toggle input:checked+span{background:var(--ui-primary,#2563eb)}.switch-toggle input:checked+span:before{transform:translateX(20px)}.switch-toggle input:disabled+span{opacity:.55;cursor:not-allowed}
@media(max-width:1100px){.permission-group-grid,.member-permission-grid,.role-detail-grid{grid-template-columns:1fr}.role-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.matrix-wrap{max-height:none}.matrix-table th:first-child,.matrix-table td:first-child{position:static}.matrix-group-row td{position:static}}
@media(max-width:640px){.role-stats-grid{grid-template-columns:1fr}.access-denied-card{padding:1.3rem}.access-denied-actions .btn{width:100%}.matrix-table th:not(:first-child),.matrix-table td:not(:first-child){min-width:110px}.permission-group-card{padding:.7rem}}

/* Members modal create flow */
.user-modal-shell[hidden]{display:none!important}
.user-modal-open{overflow:hidden}
.user-modal-shell{position:fixed;inset:0;z-index:1085;display:grid;place-items:center;padding:1rem}
.user-modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.52)}
.user-modal-dialog{position:relative;z-index:1;display:grid;grid-template-rows:auto minmax(0,1fr);width:min(1040px,96vw);max-height:90vh;background:#fff;border:1px solid #dfe5ee;border-radius:.9rem;box-shadow:0 1.25rem 3rem rgba(15,23,42,.28);overflow:hidden}
.user-modal-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;border-bottom:1px solid #edf1f5;background:#fff}
.user-modal-dialog>header h3{margin:0;color:#20262e;font-size:1.12rem;font-weight:950}
.user-modal-dialog>header p{margin:.18rem 0 0;color:#667085;font-size:.82rem;font-weight:800}
.user-modal-dialog>header button{display:grid;place-items:center;width:2.1rem;height:2.1rem;border:1px solid #d8e0eb;border-radius:.5rem;background:#fff;color:#475467;font-size:1.3rem;cursor:pointer}
.user-modal-dialog>header button:hover{background:#f8fafc;color:#20262e}
.user-modal-dialog form{overflow:auto}
.user-modal-section{padding:1rem 1.1rem;border-bottom:1px solid #edf1f5}
.user-section-title{display:flex;align-items:center;gap:.65rem;margin-bottom:.85rem}
.user-section-title>span{display:grid;place-items:center;width:1.8rem;height:1.8rem;border-radius:999px;background:#eef4ff;color:#2563eb;font-weight:950}
.user-section-title b{display:block;color:#20262e;font-size:.92rem}
.user-section-title small{display:block;color:#667085;font-size:.76rem;font-weight:750}
.user-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.user-form-grid label{display:grid;gap:.3rem;margin:0;color:#344054;font-size:.78rem;font-weight:850}
.user-form-grid .span-2{grid-column:1/-1}
.user-form-grid .form-input,.user-form-grid .form-select{width:100%;margin:0}
.user-color-input{height:40px;padding:.2rem}
.user-toggle{display:flex!important;align-items:center;gap:.5rem;border:1px solid #edf1f5;border-radius:.65rem;background:#f8fafc;padding:.65rem}
.user-toggle input{width:1rem;height:1rem}
.user-role-helper{align-self:end;border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8;border-radius:.65rem;padding:.65rem;font-size:.82rem;font-weight:850;line-height:1.35}
.user-checkbox-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}
.user-checkbox-grid .checkbox-item{display:flex;align-items:center;gap:.45rem;margin:0;padding:.55rem}
.user-permission-summary{border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8;border-radius:.65rem;padding:.7rem .8rem;font-size:.84rem;font-weight:850}
.user-permission-summary span{color:#475467;font-weight:750}
.user-permission-grid{max-height:420px;overflow:auto;padding-right:.25rem}
.user-perm-item.is-inherited{background:#f0fdf4;border-color:#bbf7d0}
.user-perm-item.is-inherited small em{color:#15803d;font-style:normal;font-weight:900}
.user-perm-item.is-disabled-danger{background:#f8fafc;border-color:#e5e7eb;color:#94a3b8}
.user-perm-item.is-disabled-danger small em{color:#b45309;font-style:normal;font-weight:900}
.user-perm-item input:disabled{cursor:not-allowed}
.user-modal-alert{margin:1rem 1.1rem 0}
.user-modal-dialog footer{position:sticky;bottom:0;display:flex;align-items:center;justify-content:flex-end;gap:.5rem;padding:1rem 1.1rem;border-top:1px solid #edf1f5;background:#fbfcfe}
.user-modal-dialog button:disabled{opacity:.65;cursor:not-allowed}
@media(max-width:900px){.user-checkbox-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.user-permission-grid{grid-template-columns:1fr}}
@media(max-width:640px){.user-modal-shell{padding:.65rem}.user-modal-dialog{width:100%;max-height:92vh}.user-form-grid,.user-checkbox-grid{grid-template-columns:1fr}.user-form-grid .span-2{grid-column:auto}.user-modal-dialog footer{display:grid;grid-template-columns:1fr}.user-modal-dialog footer .btn{width:100%;justify-content:center}}

/* Parties / Agencies module */
.parties-page{width:100%;max-width:100%;min-width:0;overflow-x:hidden}
.parties-page-header{align-items:flex-start}
.parties-filter-card{padding:.85rem 1rem!important}
.parties-filter-form{display:grid;grid-template-columns:minmax(240px,1fr) minmax(170px,.35fr) minmax(170px,.35fr) auto;gap:.65rem;align-items:center}
.parties-filter-form .form-input,.parties-filter-form .form-select{width:100%;margin:0;min-height:38px}
.parties-filter-actions{display:flex;gap:.45rem;white-space:nowrap}
.parties-table-card{overflow:hidden}
.parties-table th,.parties-table td{vertical-align:middle}
.party-name-cell{display:flex;align-items:flex-start;gap:.65rem;min-width:240px}
.party-mark{display:grid;place-items:center;flex:0 0 auto;width:2rem;height:2rem;border-radius:.55rem;color:#fff;font-weight:950;text-transform:uppercase}
.party-name-cell b{display:block;color:#20262e;line-height:1.25;overflow-wrap:anywhere}
.party-name-cell small{display:block;margin-top:.15rem;color:#667085;line-height:1.35;max-width:360px;overflow-wrap:anywhere}
.party-modal[hidden]{display:none!important}
.party-modal-open{overflow:hidden}
.party-modal{position:fixed;inset:0;z-index:1085;display:grid;place-items:center;padding:1rem}
.party-modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.52)}
.party-modal-dialog{position:relative;z-index:1;width:min(860px,96vw);max-height:90vh;overflow:auto;background:#fff;border:1px solid #dfe5ee;border-radius:.9rem;box-shadow:0 1.25rem 3rem rgba(15,23,42,.28)}
.party-archive-dialog{width:min(540px,94vw)}
.party-modal-dialog>header{position:sticky;top:0;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem;border-bottom:1px solid #edf1f5;background:#fff}
.party-modal-dialog h3{margin:0;color:#20262e;font-size:1.08rem;font-weight:950}
.party-modal-dialog p{margin:.15rem 0 0;color:#667085;font-size:.82rem;font-weight:800}
.party-modal-dialog>header button{display:grid;place-items:center;width:2.1rem;height:2.1rem;border:1px solid #d8e0eb;border-radius:.45rem;background:#fff;color:#475467;font-size:1.3rem;cursor:pointer}
.party-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;padding:1rem}
.party-form-grid label{display:grid;gap:.3rem;margin:0;color:#344054;font-size:.78rem;font-weight:850}
.party-form-grid .span-2{grid-column:1/-1}
.party-form-grid .form-input,.party-form-grid .form-select,.party-form-grid .form-textarea{width:100%;margin:0}
.party-color-input{height:40px;padding:.2rem}
.party-active-toggle{display:flex!important;align-items:center;gap:.5rem;border:1px solid #edf1f5;border-radius:.65rem;background:#f8fafc;padding:.65rem}
.party-active-toggle input{width:1rem;height:1rem}
.party-archive-body{padding:1rem}
.party-modal-dialog>footer{position:sticky;bottom:0;display:flex;align-items:center;justify-content:flex-end;gap:.5rem;padding:1rem;border-top:1px solid #edf1f5;background:#fbfcfe}
.party-modal-dialog button:disabled{opacity:.65;cursor:not-allowed}
@media(max-width:900px){.parties-filter-form{grid-template-columns:1fr 1fr}.parties-filter-form>input,.parties-filter-actions{grid-column:1/-1}.parties-filter-actions .btn{flex:1;justify-content:center}}
@media(max-width:640px){.parties-page-header{display:grid}.parties-page-header .btn{width:100%;justify-content:center}.parties-filter-form,.party-form-grid{grid-template-columns:1fr}.parties-filter-form>input,.parties-filter-actions,.party-form-grid .span-2{grid-column:auto}.party-modal{padding:.65rem}.party-modal-dialog{width:100%;max-height:92vh}.party-modal-dialog>footer{display:grid;grid-template-columns:1fr}.party-modal-dialog>footer .btn{width:100%;justify-content:center}}

/* True mobile workspace */
[hidden]{display:none!important}
.mobile-only,.mobile-bottom-nav{display:none!important}
.sidebar-overlay{position:fixed;inset:0;z-index:1055;background:rgba(15,23,42,.48);backdrop-filter:saturate(120%) blur(2px);opacity:0;pointer-events:none;transition:opacity .18s ease}
.sidebar-overlay.show{opacity:1;pointer-events:auto}
.mobile-card-list{display:grid;gap:.8rem}
.mobile-empty-state{display:grid;gap:.2rem;place-items:center;padding:1rem;border:1px dashed var(--ui-border,#dfe5ee);border-radius:.8rem;background:#fff;color:#667085;font-weight:750;text-align:center}
.mobile-empty-state strong{color:#20262e}
.mobile-filter-stack{display:flex;gap:.65rem;flex-wrap:wrap}

@media(max-width:1199.98px){
  .epm-gantt-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .dash-main-grid,.detail-grid{gap:.9rem}
}

@media(max-width:991.98px){
  body.sidebar-open{overflow:hidden}
  .sidebar{z-index:1060}
  .sidebar-overlay.show{display:block!important}
  .main-content{width:100%!important}
  .topbar-title-block{min-width:0}
  .topbar-actions .btn{white-space:nowrap}
  .mobile-filter-stack,.mobile-filter-stack form{display:grid;grid-template-columns:1fr;width:100%}
  .mobile-filter-stack .form-input,.mobile-filter-stack .form-select,.mobile-filter-stack .btn{width:100%}
}

@media(max-width:767.98px){
  html,body{max-width:100%;overflow-x:hidden}
  .app-body{display:block;min-width:0}
  .main-content{margin-left:0!important;width:100%!important;min-width:0}
  .page-body{padding:.75rem .75rem 5.35rem}
  .app-footer{display:none}
  .topbar{height:56px;padding:0 .65rem;gap:.5rem}
  .mobile-menu,.top-icon{width:40px;height:40px;min-width:40px}
  .topbar-left{gap:.55rem;min-width:0}
  .topbar h2{font-size:1rem;max-width:48vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .topbar p,.top-user span,.top-user-caret{display:none!important}
  .top-user{width:40px;height:40px;min-width:40px;padding:.15rem;border-radius:.55rem;justify-content:center}
  .topbar-actions{gap:.35rem}
  .topbar-actions .btn{width:40px;height:40px;min-width:40px;padding:0}
  .topbar-actions .btn:not(.btn-icon){font-size:0}
  .topbar-actions .btn i{font-size:1rem}
  .user-menu{position:fixed;right:.75rem;top:58px;max-width:calc(100vw - 1.5rem)}
  .page-header{align-items:flex-start;gap:.75rem;flex-direction:column}
  .page-header>.btn,.page-header>.action-btns,.page-header .epm-kanban-header-actions{width:100%}
  .page-header>.btn,.page-header>.action-btns .btn,.epm-kanban-header-actions .btn{flex:1;justify-content:center}
  .page-title{font-size:1.22rem;line-height:1.2}
  .page-subtitle{font-size:.82rem}
  .card,.form-card,.filter-card,.dash-card,.stat-card,.dept-card,.wi-summary-card,.wi-filter-card,.wi-table-card,.epm-kanban-filter-card,.epm-kanban-summary-card,.epm-kanban-column,.epm-gantt-filter-card,.epm-gantt-toolbar,.epm-gantt-summary-card,.epm-gantt-scroll{border-radius:.72rem!important}
  .card-pad,.form-card,.filter-card{padding:.85rem}
  .btn:not(.btn-xs){min-height:42px}
  .btn-xs{min-height:34px}
  .mobile-only{display:block!important}
  .desktop-only{display:none!important}
  .mobile-card-list.mobile-only,.epm-gantt-mobile-list.mobile-only{display:grid!important}
  .epm-gantt-mobile-switch.mobile-only{display:flex!important}
  .mobile-bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:1050;display:grid!important;grid-template-columns:repeat(auto-fit,minmax(58px,1fr));gap:.2rem;padding:.38rem .45rem calc(.38rem + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--ui-border,#dfe5ee);box-shadow:0 -.45rem 1.2rem rgba(16,24,40,.08)}
  .mobile-bottom-nav a{position:relative;display:grid;place-items:center;gap:.12rem;min-height:52px;border-radius:.65rem;color:#667085;text-decoration:none;font-size:.68rem;font-weight:800}
  .mobile-bottom-nav a i{font-size:1.08rem;line-height:1}
  .mobile-bottom-nav a.active{background:#eef4ff;color:var(--ui-primary,#2563eb)}
  .mobile-bottom-nav a b{position:absolute;top:.2rem;right:50%;transform:translateX(1.35rem);display:grid;place-items:center;min-width:17px;height:17px;padding:0 .25rem;border-radius:999px;background:#dc3545;color:#fff;font-size:.62rem;border:2px solid #fff}
  .table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .data-table{min-width:760px}
  .stats-grid,.dash-metrics-grid,.dash-main-grid,.epm-kanban-summary-grid,.epm-gantt-summary-grid,.settings-grid-2,.settings-grid-3,.settings-grid-5,.settings-health-grid,.settings-table-checks{grid-template-columns:1fr!important}
  .dash-hero{padding:1rem;border-radius:.8rem}
  .dash-quick-actions{grid-template-columns:1fr!important}

  .tasks-inline-card{padding:.75rem;background:transparent!important;border:0!important;box-shadow:none!important}
  .mobile-task-list{gap:.85rem}
  .mobile-task-card{display:grid;gap:.72rem;background:#fff;border:1px solid var(--ui-border,#dfe5ee);border-left:4px solid var(--ui-primary,#2563eb);border-radius:.82rem;box-shadow:var(--ui-shadow,0 .35rem 1rem rgba(16,24,40,.08));padding:.85rem;overflow:hidden}
  .mobile-task-card.is-overdue{border-left-color:#dc3545;background:linear-gradient(90deg,rgba(220,53,69,.055),#fff 38%)}
  .mobile-task-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.65rem}
  .mobile-task-title-wrap{display:flex;align-items:flex-start;gap:.55rem;min-width:0}
  .mobile-task-title-wrap .bi{display:grid;place-items:center;width:1.9rem;height:1.9rem;border-radius:.5rem;background:#eef4ff;color:var(--ui-primary,#2563eb);flex:0 0 auto}
  .mobile-task-level{width:calc(var(--task-level,0) * .6rem);min-height:1.9rem;border-left:1px solid #d7dee8;flex:0 0 auto}
  .mobile-task-title-wrap a{display:inline;color:#20262e;font-weight:850;text-decoration:none;overflow-wrap:anywhere}
  .mobile-task-title-wrap small{display:block;margin-top:.15rem;color:#667085;font-size:.75rem}
  .mobile-task-desc{margin:0;color:#475467;font-size:.84rem;line-height:1.42}
  .mobile-task-badges{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}
  .mobile-task-meta,.epm-gantt-mobile-meta{display:grid;grid-template-columns:1fr;gap:.48rem;margin:0}
  .mobile-task-meta div,.epm-gantt-mobile-meta div{display:grid;grid-template-columns:88px minmax(0,1fr);gap:.55rem;align-items:start}
  .mobile-task-meta dt,.epm-gantt-mobile-meta dt{color:#667085;font-size:.68rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}
  .mobile-task-meta dd,.epm-gantt-mobile-meta dd{margin:0;color:#20262e;font-weight:700;min-width:0;overflow-wrap:anywhere}
  .mobile-task-progress,.epm-gantt-mobile-progress{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.55rem;align-items:center}
  .mobile-task-progress small,.epm-gantt-mobile-progress small{font-size:.74rem;color:#475467;font-weight:850}
  .mobile-task-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}
  .mobile-task-actions .btn{width:100%;justify-content:center}
  .mobile-task-actions .task-subtask-toggle{grid-column:span 2}
  .mobile-task-panel{margin-top:.1rem;border-radius:.72rem;overflow:visible}
  .mobile-task-panel .task-inline-panel{border:1px solid #dbe5f0;border-radius:.72rem;padding:.8rem}
  .task-assignee-suggestions{position:fixed;left:1rem;right:1rem;top:auto;bottom:4.75rem;max-height:42vh}

  .epm-kanban-filter-card{padding:.75rem}
  .epm-kanban-filter-form,.epm-kanban-filter-main{display:grid;grid-template-columns:1fr;width:100%}
  .epm-kanban-filter-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .epm-kanban-filter-actions .btn{width:100%}
  .epm-kanban-board-wrap{margin:0 -.75rem;padding:0 .75rem .85rem;overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
  .epm-kanban-board{display:flex!important;gap:.75rem;min-width:0!important;width:max-content}
  .epm-kanban-column{flex:0 0 min(86vw,304px);min-width:280px;min-height:440px;padding:.72rem;scroll-snap-align:start}
  .epm-kanban-dropzone{min-height:350px}
  .epm-kanban-card{padding:.82rem;margin-bottom:.72rem}
  .epm-kanban-card-actions{align-items:stretch;gap:.45rem}
  .epm-kanban-move-select{max-width:none;min-height:42px;flex:1;font-size:.82rem}
  .epm-kanban-notice,.task-inline-toast{left:.75rem;right:.75rem;bottom:4.7rem;max-width:none}

  .epm-gantt-page .epm-gantt-toolbar{display:grid;gap:.7rem;padding:.75rem}
  .epm-gantt-zoom-wrap,.epm-gantt-mobile-switch{display:flex;gap:.4rem;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .epm-gantt-zoom-btn{min-height:38px;white-space:nowrap}
  .epm-gantt-legend{display:flex;gap:.55rem;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:.15rem}
  .epm-gantt-mobile-list{gap:.75rem}
  [data-gantt-mobile-shell][data-mobile-mode="list"] .epm-gantt-scroll{display:none!important}
  [data-gantt-mobile-shell][data-mobile-mode="timeline"] .epm-gantt-mobile-list{display:none!important}
  [data-gantt-mobile-shell][data-mobile-mode="timeline"] .epm-gantt-scroll{display:block!important;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .epm-gantt-mobile-card{display:grid;gap:.65rem;background:#fff;border:1px solid var(--ui-border,#dfe5ee);border-left:4px solid var(--ui-primary,#2563eb);border-radius:.82rem;box-shadow:var(--ui-shadow,0 .35rem 1rem rgba(16,24,40,.08));padding:.85rem}
  .epm-gantt-mobile-card.is-overdue{border-left-color:#dc3545;background:#fff7f7}
  .epm-gantt-mobile-card-head{display:flex;gap:.6rem;align-items:flex-start;min-width:0}
  .epm-gantt-mobile-card-head div{min-width:0}
  .epm-gantt-mobile-card-head small{display:block;color:#667085;font-weight:800;font-size:.72rem}
  .epm-gantt-mobile-card-head a{display:block;color:#20262e;text-decoration:none;font-weight:850;overflow-wrap:anywhere}
  .epm-gantt-mobile-card .epm-gantt-badges{display:flex;gap:.35rem;flex-wrap:wrap}
}

@media(max-width:575.98px){
  .page-body{padding:.65rem .65rem 5.2rem}
  .topbar h2{max-width:42vw}
  .page-header>.action-btns,.epm-kanban-header-actions{display:grid;grid-template-columns:1fr 1fr}
  .page-header>.action-btns .btn,.epm-kanban-header-actions .btn{width:100%}
  .mobile-task-meta div,.epm-gantt-mobile-meta div{grid-template-columns:74px minmax(0,1fr)}
  .mobile-task-actions{grid-template-columns:1fr}
  .mobile-task-actions .task-subtask-toggle{grid-column:auto}
  .epm-kanban-summary-grid{grid-template-columns:1fr!important}
  .epm-kanban-column{flex-basis:min(88vw,296px);min-width:276px}
  .mobile-bottom-nav a span{font-size:.62rem}
  .task-inline-form-actions{grid-template-columns:1fr}
}

/* Expandable Milestones */
.milestone-list-card{overflow:hidden}
.milestone-table th:first-child{min-width:280px}
.milestone-title-cell{display:flex;align-items:flex-start;gap:.65rem;min-width:0}
.milestone-title-cell>div{min-width:0}
.milestone-title-cell b{display:block;color:#20262e;overflow-wrap:anywhere}
.milestone-title-cell small{display:block;margin-top:.12rem;color:#667085;line-height:1.35}
.milestone-toggle{display:inline-grid;place-items:center;width:2rem;height:2rem;min-width:2rem;border:1px solid #d8e0eb;border-radius:.5rem;background:#fff;color:#475467;cursor:pointer;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}
.milestone-toggle:hover,.milestone-toggle:focus-visible{background:#eef4ff;border-color:#bfdbfe;color:var(--ui-primary,#2563eb);outline:0}
.milestone-toggle .bi{transition:transform .16s ease}
.milestone-toggle[aria-expanded="true"]{background:#eef4ff;border-color:#bfdbfe;color:var(--ui-primary,#2563eb)}
.milestone-row-actions{justify-content:flex-end}
.milestone-detail-row>td{padding:0!important;background:#f8fbff!important;border-bottom:1px solid #dbe5f0}
.milestone-detail-shell{max-height:0;opacity:0;overflow:hidden;transform:translateY(-.25rem);transition:max-height .24s ease,opacity .18s ease,transform .18s ease}
.milestone-detail-row.is-open .milestone-detail-shell{max-height:2200px;opacity:1;transform:translateY(0)}
.milestone-task-panel{padding:1rem;background:linear-gradient(180deg,#f8fbff,#fff)}
.milestone-task-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:.65rem;margin-bottom:1rem}
.milestone-task-summary-grid>div{background:#fff;border:1px solid #e3e8ef;border-radius:.72rem;padding:.75rem;box-shadow:0 .14rem .45rem rgba(16,24,40,.04)}
.milestone-task-summary-grid span{display:block;color:#667085;font-size:.68rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}
.milestone-task-summary-grid strong{display:block;margin-top:.22rem;color:#20262e;font-size:1.2rem;font-weight:900}
.milestone-task-summary-grid .is-alert{border-color:#fecaca;background:#fff7f7}
.milestone-task-summary-grid .is-alert strong{color:#dc3545}
.milestone-task-loading,.milestone-task-empty{display:flex;align-items:center;justify-content:center;gap:.55rem;min-height:4.6rem;border:1px dashed #cfd6df;border-radius:.72rem;background:#fff;color:#667085;font-weight:800}
.milestone-task-loading span{width:.85rem;height:.85rem;border:2px solid #cfe2ff;border-top-color:var(--ui-primary,#2563eb);border-radius:999px;animation:milestoneTaskSpin .75s linear infinite}
.milestone-task-empty.is-error{border-color:#fecaca;background:#fff7f7;color:#b42318}
@keyframes milestoneTaskSpin{to{transform:rotate(360deg)}}
.milestone-task-table-wrap{border:1px solid #e5eaf1;border-radius:.75rem;background:#fff}
.milestone-task-table{min-width:1080px}
.milestone-task-title{display:flex;align-items:flex-start;gap:.55rem;min-width:0}
.milestone-task-title .bi{display:grid;place-items:center;width:1.8rem;height:1.8rem;min-width:1.8rem;border-radius:.48rem;background:#eef4ff;color:var(--ui-primary,#2563eb)}
.milestone-task-indent{width:calc(var(--task-level,0) * .85rem);min-height:1.8rem;border-left:1px solid #d7dee8;flex:0 0 auto}
.milestone-task-title b,.milestone-task-title a{display:block;color:#20262e;font-weight:850;text-decoration:none;overflow-wrap:anywhere}
.milestone-task-title a:hover{color:var(--ui-primary,#2563eb)}
.milestone-task-title small{display:block;margin-top:.12rem;color:#667085;line-height:1.35}
.milestone-task-actions{justify-content:flex-end;flex-wrap:nowrap}
.milestone-task-card-list{gap:.75rem}
.milestone-task-card{display:grid;gap:.65rem;background:#fff;border:1px solid #e3e8ef;border-left:4px solid var(--ui-primary,#2563eb);border-radius:.8rem;box-shadow:0 .25rem .8rem rgba(16,24,40,.055);padding:.8rem}
.milestone-task-card.is-overdue{border-left-color:#dc3545;background:#fff7f7}
.milestone-task-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.6rem}
.milestone-task-card-badges{display:flex;gap:.35rem;align-items:center;flex-wrap:wrap}
.milestone-task-card-meta{display:grid;gap:.45rem;margin:0}
.milestone-task-card-meta div{display:grid;grid-template-columns:78px minmax(0,1fr);gap:.55rem}
.milestone-task-card-meta dt{font-size:.68rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em;color:#667085}
.milestone-task-card-meta dd{margin:0;color:#20262e;font-weight:700;overflow-wrap:anywhere}
.milestone-task-card-progress{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem;align-items:center}
.milestone-task-card-progress small{font-size:.74rem;color:#475467;font-weight:850}
.milestone-task-card-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}
.milestone-task-card-actions .btn{width:100%;justify-content:center}
@media(max-width:991.98px){.milestone-task-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:767.98px){
  .milestone-table{min-width:760px}
  .milestone-task-panel{padding:.75rem}
  .milestone-task-summary-grid{grid-template-columns:1fr 1fr}
  .milestone-task-card-head{display:grid;gap:.55rem}
  .milestone-task-card-actions{grid-template-columns:1fr}
}
@media(max-width:575.98px){
  .milestone-task-summary-grid{grid-template-columns:1fr}
  .milestone-task-card-meta div{grid-template-columns:70px minmax(0,1fr)}
}

/* Enterprise Reports */
.reports-page-header{align-items:flex-start}
.reports-header-actions{display:flex;gap:.55rem;flex-wrap:wrap;justify-content:flex-end}
.reports-control-card{background:#fff;border:1px solid var(--ui-border,#dfe5ee);border-radius:.85rem;box-shadow:var(--ui-shadow,0 .35rem 1rem rgba(16,24,40,.08));padding:1rem;margin-bottom:1rem}
.reports-filter-grid{display:grid;grid-template-columns:minmax(220px,1.35fr) repeat(4,minmax(150px,1fr));gap:.7rem;align-items:end}
.reports-filter-grid .form-group{margin:0}
.reports-filter-grid .form-label{display:block;margin-bottom:.28rem}
.reports-type-field{grid-column:span 2}
.reports-check{display:flex!important;align-items:center;gap:.48rem;min-height:42px;margin:0!important;padding:.55rem .65rem;border:1px solid #e3e8ef;border-radius:.6rem;background:#f8fafc;color:#475467;font-weight:800;text-transform:none!important}
.reports-check input[type="checkbox"]{width:1rem;height:1rem}
.reports-filter-actions{display:flex;gap:.5rem;flex-wrap:wrap;grid-column:span 2}
.reports-filter-actions .btn{flex:1;white-space:nowrap}
.reports-context-line{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin:.25rem 0 1rem;color:#667085}
.reports-context-line strong{color:#20262e;font-size:1rem}
.reports-context-line span{font-size:.82rem;text-align:right}
.reports-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:.75rem;margin-bottom:1rem}
.reports-summary-card{display:flex;align-items:center;gap:.75rem;background:#fff;border:1px solid var(--ui-border,#dfe5ee);border-radius:.78rem;box-shadow:var(--ui-shadow,0 .35rem 1rem rgba(16,24,40,.08));padding:.85rem;text-decoration:none;color:#20262e;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.reports-summary-card:hover,.reports-summary-card:focus-visible{transform:translateY(-2px);box-shadow:var(--ui-shadow-hover,0 .75rem 1.5rem rgba(16,24,40,.12));border-color:#bfdbfe;text-decoration:none;outline:0}
.reports-summary-card>span{display:grid;place-items:center;width:2.35rem;height:2.35rem;border-radius:.65rem;background:#eef4ff;color:var(--ui-primary,#2563eb);font-size:1.05rem;flex:0 0 auto}
.reports-summary-card strong{display:block;font-size:1.35rem;line-height:1;font-weight:900}
.reports-summary-card small{display:block;margin-top:.18rem;color:#667085;font-weight:800}
.report-diagnostic{margin-top:.75rem;font-size:.78rem}
.report-diagnostic summary{cursor:pointer;font-weight:850;color:#667085}
.reports-diagnostic-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.5rem .75rem;margin-top:.75rem;color:#667085}
.reports-chart-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;margin-bottom:1rem}
.reports-chart-card{background:#fff;border:1px solid var(--ui-border,#dfe5ee);border-radius:.82rem;box-shadow:var(--ui-shadow,0 .35rem 1rem rgba(16,24,40,.08));padding:.85rem;min-width:0}
.reports-chart-card h3{font-size:.9rem;margin:0 0 .65rem;color:#20262e}
.reports-chart-card canvas{display:block;width:100%;border:1px solid #edf1f5;border-radius:.65rem;background:#fff}
.reports-detail-card{padding:0;overflow:hidden}
.reports-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin:0;padding:1rem;border-bottom:1px solid #edf1f5}
.reports-section-head h3{margin:0;color:#20262e;font-size:1.05rem}
.reports-section-head p{margin:.18rem 0 0;color:#667085;font-size:.84rem}
.reports-table-wrap{border-radius:0}
.reports-table{min-width:960px}
.reports-table td b{display:block;color:#20262e}
.reports-table td small{display:block;color:#667085;line-height:1.35}
.reports-mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}
.reports-mini-grid h4{margin:0 0 .7rem;font-size:.95rem;color:#20262e}
.reports-mini-table{min-width:560px}
.reports-subtask-section{margin-top:1rem}
.report-print-header{margin-bottom:1rem;border-bottom:2px solid #20262e;padding-bottom:.75rem}
.report-print-header h2{margin:0;color:#20262e}
.report-print-header p{margin:.15rem 0;color:#475467}
@media(max-width:1280px){.reports-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.reports-type-field,.reports-filter-actions{grid-column:span 3}.reports-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.reports-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767.98px){
  .reports-header-actions,.reports-filter-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .reports-header-actions .btn,.reports-filter-actions .btn{width:100%;justify-content:center}
  .reports-filter-grid{grid-template-columns:1fr}
  .reports-type-field,.reports-filter-actions{grid-column:auto}
  .reports-context-line{display:grid}.reports-context-line span{text-align:left}
  .reports-summary-grid,.reports-chart-grid,.reports-mini-grid{grid-template-columns:1fr}
  .reports-summary-card{min-height:74px}
  .reports-section-head{display:grid}
  .reports-table,.reports-mini-table{min-width:840px}
}
@media(max-width:575.98px){.reports-header-actions,.reports-filter-actions{grid-template-columns:1fr}.reports-check{min-height:40px}.reports-summary-card strong{font-size:1.18rem}}

/* Goals overview */
.goals-page-header{align-items:flex-start}.goals-filter-card{padding:.85rem 1rem!important}.goals-filter-form{display:grid;grid-template-columns:minmax(240px,1fr) minmax(150px,.45fr) minmax(190px,.6fr) auto;gap:.65rem;align-items:end}.goals-filter-form label{display:grid;gap:.28rem;margin:0}.goals-filter-form label span{font-size:.68rem;color:#667085;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.goals-filter-actions{display:flex;gap:.45rem}.goals-card-list{display:grid;gap:1rem}.goal-card{background:#fff;border:1px solid #e3e8ef;border-radius:.85rem;box-shadow:var(--ui-shadow,0 .35rem 1rem rgba(16,24,40,.08));padding:1rem;transition:box-shadow .16s ease,transform .16s ease,border-color .16s ease}.goal-card:hover{box-shadow:var(--ui-shadow-hover,0 .7rem 1.5rem rgba(16,24,40,.12));transform:translateY(-1px);border-color:#d8e2ef}.goal-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.goal-title-block{display:flex;align-items:flex-start;gap:.8rem;min-width:0}.goal-icon{display:grid;place-items:center;width:2.45rem;height:2.45rem;border-radius:.65rem;background:#eef4ff;color:var(--ui-primary,#0d6efd);font-size:1.1rem;flex:0 0 auto}.goal-title-block h2{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;margin:0;color:#20262e;font-size:1.08rem;font-weight:900;line-height:1.25}.goal-title-block p{margin:.28rem 0 0;color:#667085;font-size:.86rem;line-height:1.45;overflow-wrap:anywhere}.goal-actions{flex:0 0 auto}.goal-meta-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.6rem;margin:1rem 0}.goal-meta-grid>div{background:#f8fafc;border:1px solid #edf1f5;border-radius:.62rem;padding:.62rem}.goal-meta-grid span{display:block;color:#667085;font-size:.66rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.goal-meta-grid strong{display:block;margin-top:.18rem;color:#20262e;font-size:.84rem;line-height:1.35;overflow-wrap:anywhere}.goal-progress-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.7rem;align-items:center;margin:.25rem 0 1rem}.goal-progress-row strong{color:#20262e;font-size:.9rem}.goal-milestone-section{border-top:1px solid #edf1f5;padding-top:.85rem}.goal-milestone-section h3{margin:0 0 .65rem;color:#20262e;font-size:.92rem;font-weight:900}.goal-milestone-list{position:relative;display:grid;gap:.5rem;margin-left:.28rem}.goal-milestone-list:before{content:"";position:absolute;left:.39rem;top:.35rem;bottom:.35rem;width:1px;background:#d8e0eb}.goal-milestone-item{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:.55rem;align-items:center;padding:.48rem .55rem .48rem 0;color:#20262e;text-decoration:none}.goal-milestone-item:hover b{color:var(--ui-primary,#0d6efd);text-decoration:underline;text-underline-offset:3px}.goal-milestone-node{position:relative;z-index:1;width:.82rem;height:.82rem;border-radius:999px;background:#fff;border:3px solid var(--ui-primary,#0d6efd)}.goal-milestone-item b{font-size:.86rem;overflow-wrap:anywhere}.goal-milestone-item em{font-style:normal;color:#475467;font-size:.78rem;font-weight:900}.goal-empty-milestones,.goals-empty-state{color:#667085;text-align:center}.goals-empty-state{display:grid;gap:.25rem}.goals-empty-state strong{color:#20262e}.goal-modal-open{overflow:hidden}.goal-modal-shell[hidden]{display:none!important}.goal-modal-shell{position:fixed;inset:0;z-index:1085;display:grid;place-items:center;padding:1rem}.goal-modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.52)}.goal-modal-dialog{position:relative;z-index:1;width:min(760px,96vw);max-height:90vh;overflow:auto;background:#fff;border:1px solid #dfe5ee;border-radius:.82rem;box-shadow:0 1.25rem 3rem rgba(15,23,42,.28)}.goal-delete-dialog{width:min(560px,94vw)}.goal-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem;border-bottom:1px solid #edf1f5}.goal-modal-head h3{margin:0;color:#20262e;font-size:1.08rem;font-weight:950}.goal-modal-head p{margin:.15rem 0 0;color:#667085;font-size:.82rem;font-weight:800}.goal-modal-close{display:grid;place-items:center;width:2.15rem;height:2.15rem;border:1px solid #d8e0eb;border-radius:.45rem;background:#fff;color:#475467;cursor:pointer}.goal-modal-close:hover{background:#f8fafc;color:#20262e}.goal-modal-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;padding:1rem}.goal-modal-form label{display:grid;gap:.28rem;margin:0}.goal-modal-full{grid-column:1/-1}.goal-modal-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;gap:.5rem;padding-top:.75rem;border-top:1px solid #edf1f5}.goal-delete-form{display:grid;gap:1rem;padding:1rem}.goal-delete-warning{border:1px solid #bbf7d0;background:#f0fdf4;color:#166534;border-radius:.65rem;padding:.8rem;font-weight:850}.goal-delete-warning.is-blocked{border-color:#fed7aa;background:#fff7ed;color:#9a3412}.goal-delete-form button:disabled{opacity:.6;cursor:not-allowed}
@media(max-width:991.98px){.goals-filter-form{grid-template-columns:1fr 1fr}.goals-filter-search,.goals-filter-actions{grid-column:1/-1}.goals-filter-actions .btn{flex:1}.goal-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.goal-delete-milestones{border:1px solid #edf1f5;background:#f8fafc;border-radius:.65rem;padding:.75rem;color:#475467}.goal-delete-milestones strong{display:block;color:#20262e;margin-bottom:.35rem}.goal-delete-milestones ul{margin:.25rem 0 0 1.1rem;padding:0}.goal-delete-milestones li{margin:.18rem 0;overflow-wrap:anywhere}
@media(max-width:575.98px){.goals-filter-form,.goal-modal-form{grid-template-columns:1fr}.goal-card-head,.goal-title-block{display:grid}.goal-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.goal-actions .btn{width:100%;justify-content:center}.goal-meta-grid{grid-template-columns:1fr}.goal-milestone-item{grid-template-columns:auto minmax(0,1fr);align-items:start}.goal-milestone-item .badge,.goal-milestone-item em{grid-column:2}.goal-modal-shell{padding:.65rem}.goal-modal-dialog{width:100%;max-height:92vh}.goal-modal-actions{display:grid;grid-template-columns:1fr}.goal-modal-actions .btn{width:100%}}

/* Goals page polish */
.goals-page .goals-filter-card{background:#fff;border:1px solid #e3e8ef;border-radius:.75rem;box-shadow:var(--ui-shadow,0 .35rem 1rem rgba(16,24,40,.08));padding:.85rem!important;margin-bottom:1rem}
.goals-page .goals-filter-form{display:grid;grid-template-columns:minmax(260px,320px) minmax(150px,180px) minmax(190px,220px) auto;gap:.6rem;align-items:end}
.goals-page .goals-filter-form label{display:grid!important;gap:.28rem;margin:0!important;min-width:0}
.goals-page .goals-filter-form label>span{display:block;color:#667085;font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.goals-page .goals-filter-form .form-input,.goals-page .goals-filter-form .form-select{width:100%;min-height:38px;margin:0}
.goals-page .goals-filter-actions{display:flex;gap:.45rem;align-items:center}
.goals-page .goals-card-list{display:grid;gap:1rem}
.goals-page .goal-card{display:grid;gap:1rem;background:#fff;border:1px solid #e1e8f0;border-radius:.9rem;box-shadow:0 .35rem 1rem rgba(16,24,40,.075);padding:1rem}
.goals-page .goal-card:hover{border-color:#cfd9e6;box-shadow:0 .7rem 1.45rem rgba(16,24,40,.12);transform:translateY(-1px)}
.goals-page .goal-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.goals-page .goal-title-block{display:flex;align-items:flex-start;gap:.8rem;min-width:0}
.goals-page .goal-icon{display:grid;place-items:center;width:2.5rem;height:2.5rem;min-width:2.5rem;border-radius:.68rem;background:#eef4ff;color:var(--ui-primary,#0d6efd);font-size:1.08rem}
.goals-page .goal-title-line{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;min-width:0}
.goals-page .goal-title-line h2{margin:0;color:#20262e;font-size:1.08rem;font-weight:900;line-height:1.25;overflow-wrap:anywhere}
.goals-page .goal-title-block p{margin:.32rem 0 0;color:#667085;font-size:.86rem;line-height:1.45;overflow-wrap:anywhere}
.goals-page .goal-actions{display:flex;align-items:center;justify-content:flex-end;gap:.4rem;flex:0 0 auto}
.goals-page .goal-meta-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;margin:0}
.goals-page .goal-meta-item{display:grid;gap:.18rem;background:#f8fafc;border:1px solid #edf1f5;border-radius:.65rem;padding:.68rem;margin:0;min-width:0}
.goals-page .goal-meta-item dt{display:block;margin:0;color:#667085;font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em;line-height:1.2}
.goals-page .goal-meta-item dd{display:block;margin:0;color:#20262e;font-size:.88rem;font-weight:850;line-height:1.35;overflow-wrap:anywhere}
.goals-page .goal-progress-row{display:grid;grid-template-columns:minmax(0,1fr) 48px;gap:.7rem;align-items:center;margin:0}
.goals-page .goal-progress-row strong{color:#20262e;font-size:.86rem;text-align:right}
.goals-page .goal-progress-track{height:.62rem;background:#edf1f5;border-radius:999px;overflow:hidden}
.goals-page .goal-progress-track span{display:block;height:100%;border-radius:999px;background:#f59e0b;min-width:2px}
.goals-page .goal-progress-row.is-blue .goal-progress-track span{background:#0d6efd}
.goals-page .goal-progress-row.is-green .goal-progress-track span{background:#198754}
.goals-page .goal-milestone-section{border-top:1px solid #edf1f5;padding-top:.9rem}
.goals-page .goal-milestone-section h3{margin:0 0 .65rem;color:#20262e;font-size:.95rem;font-weight:900}
.goals-page .goal-milestone-list{position:relative;display:grid;gap:.55rem;margin:0;padding-left:.95rem}
.goals-page .goal-milestone-list:before{content:"";position:absolute;left:.36rem;top:.45rem;bottom:.45rem;width:1px;background:#d8e0eb}
.goals-page .goal-milestone-item{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.65rem;align-items:center;background:#fbfcfe;border:1px solid #edf1f5;border-radius:.65rem;padding:.62rem}
.goals-page .goal-milestone-node{position:absolute;left:-.92rem;top:50%;transform:translateY(-50%);width:.82rem;height:.82rem;border-radius:999px;background:#fff;border:3px solid var(--ui-primary,#0d6efd);z-index:1}
.goals-page .goal-milestone-main{display:grid;gap:.32rem;min-width:0}
.goals-page .goal-milestone-main b{color:#20262e;font-size:.88rem;line-height:1.25;overflow-wrap:anywhere}
.goals-page .goal-milestone-progress{height:.34rem;background:#edf1f5;border-radius:999px;overflow:hidden}
.goals-page .goal-milestone-progress span{display:block;height:100%;background:var(--ui-primary,#0d6efd);border-radius:999px;min-width:2px}
.goals-page .goal-milestone-state{display:flex;align-items:center;gap:.45rem;white-space:nowrap}
.goals-page .goal-milestone-state em{font-style:normal;color:#475467;font-size:.78rem;font-weight:900}
.goals-page .goal-milestone-actions{display:none}
.goals-page .goal-empty-milestones{border:1px dashed #cfd6df;border-radius:.65rem;background:#f8fafc;color:#667085;font-weight:800;text-align:center;padding:.8rem}
.goals-page .goal-milestone-item{grid-template-columns:minmax(0,1fr) auto!important}
.goals-page .goal-milestone-item:hover b{color:#20262e;text-decoration:none}
.goals-page .goal-edit-status{grid-column:1/-1;min-height:1.2rem;color:#667085;font-size:.82rem;font-weight:800}
.goals-page .goal-edit-status.is-info{color:#0d6efd}
.goals-page .goal-edit-status.is-success{color:#198754}
.goals-page .goal-edit-status.is-danger{color:#dc3545}
@media(max-width:991.98px){
  .goals-page .goals-filter-form{grid-template-columns:1fr 1fr}
  .goals-page .goals-filter-search,.goals-page .goals-filter-actions{grid-column:1/-1}
  .goals-page .goals-filter-actions .btn{flex:1}
  .goals-page .goal-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:575.98px){
  .goals-page .goals-filter-form{grid-template-columns:1fr}
  .goals-page .goals-filter-search,.goals-page .goals-filter-actions{grid-column:auto}
  .goals-page .goals-filter-actions{display:grid;grid-template-columns:1fr 1fr}
  .goals-page .goal-card-head,.goals-page .goal-title-block{display:grid}
  .goals-page .goal-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .goals-page .goal-actions .btn{width:100%;justify-content:center}
  .goals-page .goal-meta-grid,.goals-page .goal-milestone-item{grid-template-columns:1fr}
  .goals-page .goal-milestone-state,.goals-page .goal-milestone-actions{justify-content:flex-start;flex-wrap:wrap}
}

/* Goals interactions and modal refinement */
.goals-page .goals-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;flex-wrap:wrap}
.goals-page .goal-milestone-toggle{white-space:nowrap}
.goals-page .goal-milestones{margin-top:14px;padding-top:14px;border-top:1px solid #e5e7eb}
.goals-page .goal-milestones.is-hidden{display:none!important}
.goals-page .goal-milestone-section[hidden]{display:none!important}
.goals-page .goal-card.is-expanded{border-color:#cfd9e6}
.goals-page .goal-modal-dialog{width:min(600px,96vw)}
.goals-page .goal-modal-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;padding:1rem}
.goals-page .goal-modal-form label{display:grid!important;gap:.32rem;margin:0!important;color:#495057;font-size:.76rem;font-weight:850}
.goals-page .goal-modal-form .form-input,.goals-page .goal-modal-form .form-select,.goals-page .goal-modal-form .form-textarea{width:100%;margin:0}
.goals-page .goal-modal-actions{position:sticky;bottom:0;background:#fff;margin:0 -1rem -1rem;padding:1rem;border-top:1px solid #edf1f5}
.goals-page .goal-modal-close:focus-visible,.goals-page [data-goal-toggle]:focus-visible,.goals-page [data-goals-expand-all]:focus-visible,.goals-page [data-goals-collapse-all]:focus-visible{outline:2px solid rgba(13,110,253,.25);outline-offset:2px}
@media(max-width:767.98px){
  .goals-page .goals-header-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .goals-page .goals-header-actions .btn{width:100%;justify-content:center}
  .goals-page .goals-header-actions .btn-primary{grid-column:1/-1}
}
@media(max-width:575.98px){
  .goals-page .goal-modal-form{grid-template-columns:1fr}
  .goals-page .goal-modal-dialog{width:100%;max-height:92vh}
}

/* Attachments and Files Library */
.attachment-card .card-head h3{margin:0;font-size:1rem;color:#20262e}
.attachment-form{display:grid;gap:.65rem;margin:.7rem 0 .85rem}
.attachment-dropzone{display:grid;place-items:center;gap:.35rem;min-height:104px;margin:0;padding:.85rem;border:1px dashed #b8c4d2;border-radius:.65rem;background:#f8fafc;color:#475467;text-align:center;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}
.attachment-dropzone:hover,.attachment-dropzone.is-dragging{background:#eef6ff;border-color:var(--ui-primary,#0d6efd);color:var(--ui-primary,#0d6efd)}
.attachment-dropzone i{font-size:1.45rem}
.attachment-dropzone span{font-weight:800;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.attachment-dropzone input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.attachment-actions{display:flex;align-items:center;gap:.55rem;justify-content:space-between}
.attachment-actions small{font-size:.76rem;text-align:right}
.attachment-list{display:grid;gap:.55rem}
.attachment-item{display:grid;grid-template-columns:2rem minmax(0,1fr);gap:.6rem;align-items:start;padding:.65rem;border:1px solid #e3e8ef;border-radius:.6rem;background:#fff}
.attachment-icon{display:grid;place-items:center;width:2rem;height:2rem;border-radius:.5rem;background:#eef4ff;color:var(--ui-primary,#0d6efd)}
.attachment-main{min-width:0}
.attachment-main a{display:block;color:#20262e;font-weight:850;text-decoration:none;overflow-wrap:anywhere}
.attachment-main a:hover{color:var(--ui-primary,#0d6efd)}
.attachment-main small{display:block;margin-top:.1rem;color:#667085;font-size:.74rem;line-height:1.35}
.attachment-item-actions{grid-column:1/-1;display:flex;gap:.4rem;flex-wrap:wrap;justify-content:flex-end}
.attachment-loading,.attachment-empty{display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:3.8rem;border:1px dashed #cfd6df;border-radius:.6rem;background:#fff;color:#667085;font-weight:800;text-align:center;padding:.75rem}
.attachment-empty.is-error{border-color:#fecaca;background:#fff7f7;color:#b42318}
.attachment-loading span{width:.82rem;height:.82rem;border:2px solid #cfe2ff;border-top-color:var(--ui-primary,#0d6efd);border-radius:999px;animation:attachmentSpin .75s linear infinite}
@keyframes attachmentSpin{to{transform:rotate(360deg)}}
.attachment-preview-backdrop{z-index:1080}
.attachment-preview-modal{width:min(980px,96vw);height:min(760px,90vh);display:grid;grid-template-rows:auto minmax(0,1fr);padding:1rem}
.attachment-preview-head h3{margin:0 2.5rem .75rem 0;font-size:1rem;color:#20262e;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.attachment-preview-modal iframe{width:100%;height:100%;border:1px solid #e3e8ef;border-radius:.55rem;background:#fff}
.file-library-summary{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:.75rem;margin-bottom:1rem}
.file-library-summary>div{background:#fff;border:1px solid var(--lte-border-soft);border-left:4px solid var(--ui-primary,#0d6efd);border-radius:.65rem;box-shadow:var(--lte-shadow);padding:.85rem}
.file-library-summary span{display:block;color:#667085;font-size:.7rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}
.file-library-summary strong{display:block;margin-top:.18rem;color:#20262e;font-size:1.25rem;font-weight:900}
.file-library-filter-form{display:grid;grid-template-columns:minmax(220px,1.35fr) repeat(5,minmax(130px,1fr)) auto;gap:.65rem;align-items:end}
.file-library-filter-form label{display:grid;gap:.28rem;margin:0}
.file-library-filter-form label span{font-size:.7rem;font-weight:850;color:#495057;text-transform:uppercase;letter-spacing:.04em}
.file-library-filter-actions{display:flex;gap:.45rem}
.file-library-card{overflow:hidden}
.file-library-table{min-width:980px}
.file-library-file{display:flex;align-items:flex-start;gap:.6rem;min-width:0}
.file-library-file>i{display:grid;place-items:center;width:2.1rem;height:2.1rem;min-width:2.1rem;border-radius:.5rem;background:#eef4ff;color:var(--ui-primary,#0d6efd)}
.file-library-file b{display:block;color:#20262e;overflow-wrap:anywhere}
.file-library-file small,.file-library-table td>a+small{display:block;margin-top:.12rem;color:#667085;font-size:.74rem}
.file-library-actions{align-items:center;flex-wrap:wrap}
.inline-delete-form{display:inline-flex;margin:0}
@media(max-width:1199.98px){
  .file-library-filter-form{grid-template-columns:repeat(3,minmax(0,1fr))}
  .file-library-filter-actions{grid-column:span 3}
}
@media(max-width:767.98px){
  .attachment-actions{display:grid;grid-template-columns:1fr}
  .attachment-actions .btn{width:100%}
  .attachment-actions small{text-align:left}
  .attachment-item-actions{display:grid;grid-template-columns:1fr 1fr}
  .attachment-item-actions .btn{width:100%;justify-content:center}
  .file-library-summary,.file-library-filter-form{grid-template-columns:1fr}
  .file-library-filter-actions{grid-column:auto;display:grid;grid-template-columns:1fr 1fr}
  .file-library-filter-actions .btn{width:100%}
  .attachment-preview-modal{height:86vh}
}
@media(max-width:575.98px){
  .attachment-item-actions,.file-library-filter-actions{grid-template-columns:1fr}
  .attachment-preview-modal{width:96vw;height:82vh;padding:.75rem}
}

/* Performance Dashboard */
.performance-page-header{align-items:flex-start}
.performance-header-actions{display:flex;gap:.55rem;flex-wrap:wrap;justify-content:flex-end}
.performance-tabs{display:flex;gap:.45rem;flex-wrap:wrap;margin:0 0 1rem}
.performance-tabs a{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .75rem;border:1px solid #d8e0eb;border-radius:.55rem;background:#fff;color:#475467;text-decoration:none;font-weight:850;box-shadow:var(--lte-shadow)}
.performance-tabs a:hover,.performance-tabs a.active{background:#eef4ff;border-color:#bfdbfe;color:var(--ui-primary,#0d6efd)}
.performance-control-card{background:#fff;border:1px solid var(--ui-border,#dfe5ee);border-radius:.82rem;box-shadow:var(--ui-shadow,0 .35rem 1rem rgba(16,24,40,.08));padding:1rem;margin-bottom:1rem}
.performance-filter-grid{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:.7rem;align-items:end}
.performance-filter-grid label{display:grid;gap:.28rem;margin:0}
.performance-filter-grid label>span{font-size:.7rem;font-weight:850;color:#495057;text-transform:uppercase;letter-spacing:.04em}
.performance-check{display:flex!important;align-items:center;gap:.48rem;min-height:42px;padding:.55rem .65rem;border:1px solid #e3e8ef;border-radius:.6rem;background:#f8fafc;color:#475467;font-weight:850}
.performance-check input[type="checkbox"]{width:1rem;height:1rem}
.performance-filter-actions{display:flex;gap:.5rem;grid-column:span 2}
.performance-filter-actions .btn{flex:1}
.performance-context-line{display:grid;gap:.25rem;margin:.25rem 0 1rem;color:#667085}
.performance-context-line strong{color:#20262e}
.performance-summary-grid{display:grid;grid-template-columns:repeat(7,minmax(150px,1fr));gap:.75rem;margin-bottom:1rem}
.performance-summary-card{display:flex;align-items:center;gap:.7rem;background:#fff;border:1px solid var(--ui-border,#dfe5ee);border-left:4px solid var(--ui-primary,#0d6efd);border-radius:.72rem;box-shadow:var(--ui-shadow,0 .35rem 1rem rgba(16,24,40,.08));padding:.8rem;min-width:0}
.performance-summary-card>span{display:grid;place-items:center;width:2.2rem;height:2.2rem;border-radius:.62rem;background:#eef4ff;color:var(--ui-primary,#0d6efd);flex:0 0 auto}
.performance-summary-card div{min-width:0}
.performance-summary-card small{display:block;color:#667085;font-size:.68rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}
.performance-summary-card strong{display:block;color:#20262e;font-size:1.05rem;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}
.performance-summary-card em{display:block;color:#667085;font-size:.74rem;font-style:normal;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}
.performance-chart-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;margin-bottom:1rem}
.performance-chart-card{background:#fff;border:1px solid var(--ui-border,#dfe5ee);border-radius:.82rem;box-shadow:var(--ui-shadow,0 .35rem 1rem rgba(16,24,40,.08));padding:.85rem;min-width:0}
.performance-chart-card h3{font-size:.9rem;margin:0 0 .65rem;color:#20262e}
.performance-chart-card canvas{display:block;width:100%;border:1px solid #edf1f5;border-radius:.65rem;background:#fff}
.performance-chart-wide{grid-column:span 2}
.performance-table-card{padding:0;overflow:hidden}
.performance-section-head{padding:1rem;border-bottom:1px solid #edf1f5;margin:0}
.performance-section-head h3{margin:0;color:#20262e;font-size:1.05rem}
.performance-section-head p{margin:.18rem 0 0;color:#667085;font-size:.84rem}
.performance-table-wrap{border-radius:0}
.performance-table{min-width:1120px}
.performance-table td b{display:block;color:#20262e}
.performance-table td small{color:#667085;font-weight:800}
.performance-grade{display:inline-grid;place-items:center;min-width:2.05rem;height:2.05rem;border-radius:.55rem;font-weight:950;color:#fff}
.performance-grade-a{background:#198754}
.performance-grade-b{background:#0d6efd}
.performance-grade-c{background:#ffc107;color:#3b2f00}
.performance-grade-d{background:#fd7e14}
.performance-grade-f{background:#dc3545}
.mh-form-grid .assignees-select{min-height:110px;max-height:140px;overflow-y:auto}
@media(max-width:1399.98px){
  .performance-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .performance-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:1199.98px){
  .performance-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .performance-filter-actions{grid-column:span 3}
}
@media(max-width:767.98px){
  .performance-header-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .performance-header-actions .btn{width:100%}
  .performance-tabs{display:grid;grid-template-columns:1fr 1fr}
  .performance-tabs a{justify-content:center}
  .performance-filter-grid,.performance-summary-grid,.performance-chart-grid{grid-template-columns:1fr}
  .performance-filter-actions{grid-column:auto;display:grid;grid-template-columns:1fr 1fr}
  .performance-chart-wide{grid-column:auto}
  .performance-summary-card strong,.performance-summary-card em{max-width:none}
}
@media(max-width:575.98px){
  .performance-tabs,.performance-header-actions,.performance-filter-actions{grid-template-columns:1fr}
}
@media print{
  .performance-tabs,.performance-control-card,.performance-header-actions,.performance-chart-grid .no-print{display:none!important}
  .performance-page .card,.performance-summary-card,.performance-chart-card{box-shadow:none!important}
}

/* Simplified Performance KPI Table */
.performance-simple-header{align-items:flex-start;margin-bottom:.75rem}
.performance-simple-actions{display:flex;gap:.5rem;justify-content:flex-end;flex-wrap:wrap}
.performance-simple-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}
.performance-simple-tabs,.performance-periods{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;margin:0}
.performance-simple-tabs a,.performance-periods a{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:.42rem .72rem;border:1px solid #d8e0eb;border-radius:.45rem;background:#fff;color:#475467;text-decoration:none;font-weight:850;box-shadow:none}
.performance-simple-tabs a:hover,.performance-periods a:hover,.performance-simple-tabs a.active,.performance-periods a.active{background:#eef4ff;border-color:#bfdbfe;color:var(--ui-primary,#0d6efd)}
.performance-simple-meta{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.55rem;color:#667085;font-size:.84rem}
.performance-simple-meta strong{color:#20262e}
.performance-simple-card{margin-bottom:0}
.performance-simple-table{min-width:980px}
.performance-simple-table th{padding:.62rem .68rem}
.performance-simple-table td{padding:.58rem .68rem}
.performance-simple-table tbody tr.is-selected td{background:#f2f7ff}
.performance-member{display:flex;align-items:center;gap:.55rem;min-width:210px}
.performance-member>div{min-width:0}
.performance-member b{display:block;color:#20262e;line-height:1.2;overflow-wrap:anywhere}
.performance-member small{display:block;color:#667085;font-size:.72rem;font-weight:800;line-height:1.25}
.performance-member-drill{width:100%;padding:0;border:0;background:transparent;text-align:left;cursor:pointer;font:inherit}
.performance-member-drill>span{min-width:0}
.performance-member-drill:hover b,.performance-member-drill:focus-visible b{color:var(--ui-primary,#0d6efd);text-decoration:underline;text-underline-offset:3px}
.performance-member-drill:focus-visible{outline:2px solid rgba(13,110,253,.24);outline-offset:3px;border-radius:.45rem}
.performance-dept-list{display:flex;gap:.28rem;align-items:center;flex-wrap:wrap;min-width:120px}
.performance-dept-list .dept-badge{white-space:nowrap}
.performance-metric-drill{display:inline-flex;align-items:center;justify-content:center;min-width:2.15rem;padding:.22rem .5rem;border:1px solid transparent;border-radius:999px;background:#f1f5f9;color:#20262e;font:inherit;font-size:.82rem;font-weight:900;cursor:pointer}
.performance-metric-drill:hover,.performance-metric-drill:focus-visible{border-color:#bfdbfe;background:#eef4ff;color:var(--ui-primary,#0d6efd);text-decoration:underline;text-underline-offset:3px;outline:0}
.performance-rate-cell{display:grid;grid-template-columns:minmax(72px,1fr) 38px;gap:.45rem;align-items:center;min-width:118px}
.performance-rate-cell span{font-size:.76rem;font-weight:900;color:#475467;text-align:right}
.performance-simple-table .performance-grade{min-width:1.8rem;height:1.8rem;border-radius:.45rem;font-size:.78rem}
.performance-milestone-summary-table{min-width:760px}
.performance-milestone-summary-table th,.performance-milestone-summary-table td{padding:.72rem .78rem}
.performance-milestone-title{display:block;color:#20262e;font-weight:900;line-height:1.25;overflow-wrap:anywhere}
.performance-goal-text{display:block;color:#667085;font-size:.8rem;font-weight:800;line-height:1.35;max-width:260px;overflow-wrap:anywhere}
.performance-weight-text{display:inline-flex;align-items:center;justify-content:center;min-width:3rem;padding:.25rem .5rem;border-radius:999px;background:#f1f5f9;color:#334155;font-size:.78rem;font-weight:900}
.performance-dept-card-grid{display:grid;grid-template-columns:repeat(3,minmax(260px,1fr));gap:.85rem;margin-bottom:1rem}
.performance-dept-card{position:relative;display:grid;gap:.75rem;background:#fff;border:1px solid #e3e8ef;border-top:4px solid var(--dept-color,#64748b);border-radius:.82rem;box-shadow:0 .35rem 1rem rgba(16,24,40,.075);padding:.9rem;overflow:hidden}
.performance-dept-card:before{content:"";position:absolute;right:-2.2rem;top:-2.4rem;width:7rem;height:7rem;border-radius:999px;background:color-mix(in srgb,var(--dept-color,#64748b) 12%,transparent);pointer-events:none}
.performance-dept-card-head{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.65rem;align-items:center}
.performance-dept-mark{display:grid;place-items:center;width:2.65rem;height:2.65rem;border-radius:.7rem;background:var(--dept-color,#64748b);color:#fff;font-weight:950;letter-spacing:.02em}
.performance-dept-card h3{margin:0;color:#20262e;font-size:1rem;font-weight:900;overflow-wrap:anywhere}
.performance-dept-card p{margin:.1rem 0 0;color:#667085;font-size:.78rem;font-weight:800}
.performance-dept-weight{display:flex;align-items:center;justify-content:space-between;gap:.75rem;color:#667085;font-size:.78rem;font-weight:850}
.performance-dept-weight b{color:#20262e}
.performance-dept-progress{display:grid;gap:.35rem}
.performance-dept-progress small{color:#475467;font-size:.78rem;font-weight:900}
.performance-dept-mini-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.45rem}
.performance-dept-mini-grid>div{border:1px solid #e6ebf2;border-radius:.58rem;background:#f8fafc;padding:.55rem;text-align:center}
.performance-dept-mini-grid>div.is-alert{border-color:#fecaca;background:#fff7f7}
.performance-dept-mini-grid span{display:block;color:#667085;font-size:.65rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.performance-dept-mini-grid strong{display:block;margin-top:.16rem;color:#20262e;font-size:1.08rem;font-weight:950}
.performance-dept-mini-grid .is-alert strong{color:#dc3545}
.performance-dept-empty{grid-column:1/-1;background:#fff;border:1px dashed #cfd6df;border-radius:.75rem;padding:1rem}
.performance-weight-card{margin-bottom:.75rem}
.performance-weight-head h3{margin:0;font-size:1rem;color:#20262e}
.performance-weight-head p{margin:.15rem 0 0;color:#667085;font-size:.8rem}
.performance-weight-list{display:grid;gap:.62rem}
.performance-weight-row{display:grid;grid-template-columns:minmax(160px,240px) minmax(180px,1fr) 96px;gap:.7rem;align-items:center}
.performance-weight-row b{color:#20262e;overflow-wrap:anywhere}
.performance-weight-row em{font-style:normal;color:#667085;font-weight:850;text-align:right;font-size:.78rem}
.performance-weight-track{height:.62rem;background:#edf1f5;border-radius:999px;overflow:hidden}
.performance-weight-track span{display:block;height:100%;background:var(--dept-color,#0d6efd);border-radius:999px;min-width:2px}
.performance-detail-toggle{margin:0 0 .75rem}
.performance-detail-table-card[hidden]{display:none!important}
.performance-drill-open{overflow:hidden}
.performance-drill-modal[hidden]{display:none!important}
.performance-drill-modal{position:fixed;inset:0;z-index:1085;display:grid;place-items:center;padding:1rem}
.performance-drill-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.52)}
.performance-drill-dialog{position:relative;z-index:1;display:grid;grid-template-rows:auto minmax(0,1fr);width:min(1180px,96vw);max-height:min(820px,90vh);background:#fff;border:1px solid #dfe5ee;border-radius:.78rem;box-shadow:0 1.25rem 3rem rgba(15,23,42,.28);overflow:hidden}
.performance-drill-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem;border-bottom:1px solid #edf1f5;background:#fff}
.performance-drill-head h3{margin:0;color:#20262e;font-size:1.08rem;font-weight:950}
.performance-drill-head p{margin:.15rem 0 0;color:#667085;font-size:.82rem;font-weight:800}
.performance-drill-close{display:grid;place-items:center;width:2.15rem;height:2.15rem;border:1px solid #d8e0eb;border-radius:.45rem;background:#fff;color:#475467;cursor:pointer}
.performance-drill-close:hover{background:#f8fafc;color:#20262e}
.performance-drill-body{min-height:0;overflow:auto;padding:1rem;background:#f8fafc}
.performance-drill-loading,.performance-drill-empty{display:flex;align-items:center;justify-content:center;gap:.55rem;min-height:12rem;border:1px dashed #cfd6df;border-radius:.72rem;background:#fff;color:#667085;font-weight:850;text-align:center;padding:1rem}
.performance-drill-empty.is-error{border-color:#fecaca;background:#fff7f7;color:#b42318}
.performance-drill-loading span{width:.9rem;height:.9rem;border:2px solid #cfe2ff;border-top-color:var(--ui-primary,#0d6efd);border-radius:999px;animation:attachmentSpin .75s linear infinite}
.performance-drill-table-wrap{border:1px solid #edf1f5;border-radius:.65rem;background:#fff}
.performance-drill-table{min-width:1120px}
.performance-drill-table td b{display:block;min-width:180px;color:#20262e;overflow-wrap:anywhere}
.performance-drill-table td small{color:#667085;font-weight:800;line-height:1.3}
.performance-drill-progress{display:grid;grid-template-columns:minmax(78px,1fr) 38px;gap:.45rem;align-items:center;min-width:124px}
.performance-drill-progress span{color:#475467;font-size:.76rem;font-weight:900;text-align:right}
.performance-drill-card-list{display:none}
.performance-drill-card{display:grid;gap:.65rem;border:1px solid #e3e8ef;border-radius:.7rem;background:#fff;padding:.75rem}
.performance-drill-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.7rem}
.performance-drill-card-head b{display:block;color:#20262e;line-height:1.25}
.performance-drill-card-head small{display:block;margin-top:.12rem;color:#667085;font-weight:800;line-height:1.3}
.performance-drill-card-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}
.performance-drill-card-meta div{border:1px solid #edf1f5;border-radius:.55rem;background:#f8fafc;padding:.5rem}
.performance-drill-card-meta span{display:block;color:#667085;font-size:.64rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.performance-drill-card-meta strong{display:block;margin-top:.12rem;color:#20262e;font-size:.78rem;overflow-wrap:anywhere}
@media(max-width:767.98px){
  .performance-simple-toolbar{display:grid;grid-template-columns:1fr}
  .performance-simple-tabs,.performance-periods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
  .performance-simple-tabs a,.performance-periods a{width:100%}
  .performance-simple-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}
  .performance-simple-actions .btn{width:100%}
  .performance-dept-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .performance-weight-row{grid-template-columns:1fr}
  .performance-weight-row em{text-align:left}
  .performance-drill-modal{padding:.65rem}
  .performance-drill-dialog{width:100%;max-height:92vh}
  .performance-drill-head{padding:.85rem}
  .performance-drill-body{padding:.75rem}
  .performance-drill-table-wrap{display:none}
  .performance-drill-card-list{display:grid;gap:.65rem}
}
@media(max-width:575.98px){
  .performance-simple-tabs,.performance-periods,.performance-simple-actions{grid-template-columns:1fr}
  .performance-simple-meta{display:grid}
  .performance-dept-card-grid,.performance-dept-mini-grid{grid-template-columns:1fr}
  .performance-dept-card-head{grid-template-columns:auto minmax(0,1fr)}
  .performance-dept-card-head .performance-grade{grid-column:1/-1;justify-self:start}
  .performance-drill-card-meta{grid-template-columns:1fr}
  .performance-drill-card-head{display:grid}
}
@media print{
  .performance-simple-page .sidebar,.performance-simple-page .topbar,.performance-simple-page .mobile-bottom-nav,.performance-simple-page .sidebar-overlay,.performance-simple-actions,.performance-simple-toolbar,.no-print{display:none!important}
  .performance-simple-page .main-content{margin-left:0!important;width:100%!important}
  .performance-simple-page .page-body{padding:0!important;background:#fff!important}
  .performance-simple-card{border:0!important;box-shadow:none!important}
  .performance-detail-table-card[hidden]{display:block!important}
  .performance-detail-toggle{display:none!important}
  .performance-dept-card,.performance-weight-card{box-shadow:none!important;break-inside:avoid}
  .performance-simple-table{min-width:0;font-size:11px}
  .performance-simple-table th,.performance-simple-table td{padding:.35rem;border-color:#ddd}
}

/* Kanban Board polish */
.epm-kanban-page-header{display:block}
.epm-kanban-filter-card{
  padding:.9rem!important;
  overflow:visible;
}
.epm-kanban-filter-form{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) max-content;
  gap:.7rem!important;
  align-items:center!important;
}
.epm-kanban-filter-main{
  display:grid!important;
  grid-template-columns:minmax(260px,1.7fr) repeat(5,minmax(124px,1fr))!important;
  gap:.6rem!important;
  min-width:0;
  width:100%;
}
.epm-kanban-filter-main .form-input,
.epm-kanban-filter-main .form-select{
  width:100%;
  min-width:0;
  min-height:40px;
  margin:0!important;
}
.epm-kanban-filter-actions{
  display:grid!important;
  grid-template-columns:repeat(2,max-content);
  gap:.5rem!important;
  align-items:center;
  justify-content:end;
  min-width:max-content;
}
.epm-kanban-filter-actions .btn{
  min-width:74px;
  min-height:40px;
  height:40px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  white-space:nowrap;
  padding:.48rem .8rem;
}
.epm-kanban-filter-status{
  grid-column:1/-1;
  justify-content:flex-end;
  min-height:1.2rem!important;
}
@media(max-width:1320px){
  .epm-kanban-filter-form{
    grid-template-columns:1fr;
  }
  .epm-kanban-filter-main{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  .epm-kanban-filter-actions{
    justify-self:end;
  }
}
@media(max-width:768px){
  .epm-kanban-filter-main{
    grid-template-columns:1fr!important;
  }
  .epm-kanban-filter-actions{
    width:100%;
    min-width:0;
    grid-template-columns:repeat(2,minmax(0,1fr));
    justify-self:stretch;
  }
  .epm-kanban-filter-actions .btn{
    width:100%;
  }
  .epm-kanban-filter-status{
    justify-content:center;
  }
}
.epm-kanban-summary-grid{grid-template-columns:repeat(4,minmax(150px,1fr))!important}
.epm-kanban-summary-card,
.epm-kanban-summary-card.warning,
.epm-kanban-summary-card.danger{
  background:#2563eb!important;
  border:1px solid #2563eb!important;
  color:#fff!important;
  box-shadow:0 .45rem 1rem rgba(37,99,235,.22)!important;
}
.epm-kanban-summary-card:before,
.epm-kanban-summary-card.warning:before,
.epm-kanban-summary-card.danger:before{
  content:none!important;
  display:none!important;
}
.epm-kanban-summary-card span{
  color:rgba(255,255,255,.84)!important;
}
.epm-kanban-summary-card strong{
  color:#fff!important;
  font-weight:850!important;
}
.epm-kanban-summary-card:hover{
  background:#1d4ed8!important;
  border-color:#1d4ed8!important;
  box-shadow:0 .65rem 1.25rem rgba(37,99,235,.28)!important;
}
.epm-kanban-board-wrap.js-kanban-ready .epm-kanban-summary-card:last-child strong::after{content:none!important}
.epm-kanban-column{
  --kanban-rgb:13,110,253;
  --kanban-strong:#0d6efd;
  --kanban-soft:#f8fafc;
  background:#fff!important;
  border:1px solid rgba(var(--kanban-rgb),.22)!important;
  border-top:4px solid var(--kanban-strong)!important;
  border-radius:.9rem!important;
  box-shadow:0 .35rem 1rem rgba(16,24,40,.075)!important;
  padding:.75rem!important;
  overflow:hidden;
}
.epm-kanban-column-not-started,
.epm-kanban-column-ongoing,
.epm-kanban-column-completed,
.epm-kanban-column-on-hold,
.epm-kanban-column-cancelled{
  --kanban-rgb:13,110,253;
  --kanban-strong:#0d6efd;
  --kanban-soft:#f8fafc;
}
.epm-kanban-column-head{
  align-items:flex-start!important;
  gap:.75rem;
  margin:-.75rem -.75rem .8rem!important;
  padding:.85rem .9rem!important;
  border:0!important;
  background:linear-gradient(135deg,rgba(var(--kanban-rgb),.16),rgba(var(--kanban-rgb),.055))!important;
  box-shadow:inset 0 -1px 0 rgba(var(--kanban-rgb),.18);
}
.epm-kanban-column-head h3{
  color:#142033!important;
  font-size:1rem!important;
  letter-spacing:0;
}
.epm-kanban-column-head p{
  color:#526071!important;
  font-weight:750;
}
.epm-kanban-count{
  min-width:2.1rem!important;
  height:2.1rem!important;
  background:var(--kanban-strong)!important;
  color:#fff!important;
  box-shadow:0 .35rem .8rem rgba(var(--kanban-rgb),.24);
}
.epm-kanban-dropzone{
  background:var(--kanban-soft);
  border:1px solid rgba(var(--kanban-rgb),.1);
  border-radius:.75rem;
  padding:.55rem;
}
.epm-kanban-card{
  border:1px solid #dfe6ef!important;
  border-top:1px solid #dfe6ef!important;
  border-left:1px solid #dfe6ef!important;
  border-radius:.72rem!important;
  box-shadow:0 .22rem .7rem rgba(16,24,40,.06)!important;
}
.epm-kanban-card.is-overdue{
  border-top-color:#dc3545!important;
  border-left-color:#dfe6ef!important;
  background:#fffafa!important;
}
.epm-kanban-column.is-drag-over{
  background:#fff!important;
  border-color:rgba(var(--kanban-rgb),.55)!important;
  box-shadow:0 .75rem 1.6rem rgba(var(--kanban-rgb),.16)!important;
}
.epm-kanban-column.is-drag-over .epm-kanban-dropzone{
  background:rgba(var(--kanban-rgb),.075)!important;
  outline:2px dashed rgba(var(--kanban-rgb),.45)!important;
}
@media(max-width:1200px){
  .epm-kanban-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:575.98px){
  .epm-kanban-page-header{margin-bottom:.75rem}
  .epm-kanban-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .epm-kanban-column-head{padding:.75rem!important}
  .epm-kanban-dropzone{padding:.45rem}
}

/* Gantt Timeline containment and task modal */
.epm-gantt-page{
  width:100%;
  max-width:100%;
  min-width:0;
  overflow-x:hidden;
}
.epm-gantt-page-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  min-width:0;
}
.epm-gantt-page-header>div:first-child{
  min-width:0;
}
.epm-gantt-page-header .action-btns{
  display:flex;
  gap:.5rem;
  flex-wrap:wrap;
  justify-content:flex-end;
  flex:0 0 auto;
}
.epm-gantt-filter-card,
.epm-gantt-toolbar,
.epm-gantt-scroll{
  width:100%;
  max-width:100%;
  min-width:0;
  overflow:hidden;
}
.epm-gantt-filter-card{
  padding:.9rem!important;
}
.epm-gantt-filter-grid{
  display:grid;
  grid-template-columns:minmax(240px,1.5fr) repeat(5,minmax(132px,1fr)) max-content;
  gap:.62rem;
  align-items:end;
  min-width:0;
}
.epm-gantt-filter-grid .form-group{
  min-width:0;
  margin:0;
}
.epm-gantt-filter-grid .form-input,
.epm-gantt-filter-grid .form-select{
  width:100%;
  min-width:0;
  min-height:40px;
  margin:0;
}
.epm-gantt-filter-actions{
  display:grid;
  grid-template-columns:repeat(2,max-content);
  gap:.5rem;
  align-items:end;
  justify-content:end;
  min-width:max-content;
}
.epm-gantt-filter-actions .btn{
  min-width:74px;
  min-height:40px;
  height:40px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  white-space:nowrap;
  padding:.48rem .8rem;
}
.epm-gantt-summary-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(160px,1fr))!important;
  gap:.75rem;
  min-width:0;
}
.epm-gantt-summary-card{
  min-width:0;
  overflow:hidden;
}
.epm-gantt-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
  flex-wrap:wrap;
  padding:.8rem;
}
.epm-gantt-zoom-wrap,
.epm-gantt-legend{
  display:flex;
  align-items:center;
  gap:.45rem;
  flex-wrap:wrap;
  min-width:0;
}
.epm-gantt-scroll{
  overflow-x:auto!important;
  overflow-y:visible;
  -webkit-overflow-scrolling:touch;
  padding-bottom:.6rem;
}
.epm-gantt-scale,
.epm-gantt-row{
  display:grid;
  max-width:none;
}
.epm-gantt-scale-left,
.epm-gantt-label{
  position:sticky;
  left:0;
  z-index:3;
  background:#fff;
}
.epm-gantt-label{
  min-width:0;
}
.epm-gantt-label-inner{
  min-width:0;
}
.epm-gantt-item-copy{
  min-width:0;
}
.epm-gantt-item-copy a{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.gantt-task-modal[hidden]{display:none!important}
.gantt-modal-open{overflow:hidden}
.gantt-task-modal{
  position:fixed;
  inset:0;
  z-index:1085;
  display:grid;
  place-items:center;
  padding:1rem;
}
.gantt-task-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(15,23,42,.52);
}
.gantt-task-dialog{
  position:relative;
  z-index:1;
  width:min(820px,96vw);
  max-height:90vh;
  overflow:auto;
  background:#fff;
  border:1px solid #dfe5ee;
  border-radius:.85rem;
  box-shadow:0 1.25rem 3rem rgba(15,23,42,.28);
}
.gantt-task-dialog>header{
  position:sticky;
  top:0;
  z-index:2;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  padding:1rem;
  border-bottom:1px solid #edf1f5;
  background:#fff;
}
.gantt-task-dialog h3{
  margin:0;
  color:#20262e;
  font-size:1.08rem;
  font-weight:950;
}
.gantt-task-dialog p{
  margin:.15rem 0 0;
  color:#667085;
  font-size:.82rem;
  font-weight:800;
}
.gantt-task-dialog>header button{
  display:grid;
  place-items:center;
  width:2.1rem;
  height:2.1rem;
  border:1px solid #d8e0eb;
  border-radius:.45rem;
  background:#fff;
  color:#475467;
  font-size:1.3rem;
  cursor:pointer;
}
.gantt-task-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.75rem;
  padding:1rem;
}
.gantt-task-form-grid label{
  display:grid;
  gap:.3rem;
  margin:0;
}
.gantt-task-form-grid .form-input,
.gantt-task-form-grid .form-select,
.gantt-task-form-grid .form-textarea{
  width:100%;
  margin:0;
}
.gantt-task-form-grid .span-2{
  grid-column:1/-1;
}
.gantt-task-form-status{
  min-height:1.2rem;
  color:#667085;
  font-size:.82rem;
  font-weight:800;
}
.gantt-task-form-status.is-info{color:#0d6efd}
.gantt-task-form-status.is-success{color:#198754}
.gantt-task-form-status.is-danger{color:#dc3545}
.gantt-task-dialog>footer{
  position:sticky;
  bottom:0;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:.5rem;
  padding:1rem;
  border-top:1px solid #edf1f5;
  background:#fbfcfe;
}
@media(max-width:1320px){
  .epm-gantt-filter-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .epm-gantt-filter-actions{
    justify-content:start;
  }
}
@media(max-width:768px){
  .epm-gantt-page-header{
    display:grid;
  }
  .epm-gantt-page-header .action-btns{
    width:100%;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .epm-gantt-page-header .action-btns .btn{
    width:100%;
    justify-content:center;
  }
  .epm-gantt-filter-grid,
  .gantt-task-form-grid{
    grid-template-columns:1fr;
  }
  .epm-gantt-filter-actions{
    grid-template-columns:repeat(2,minmax(0,1fr));
    min-width:0;
  }
  .epm-gantt-filter-actions .btn{
    width:100%;
  }
  .gantt-task-form-grid .span-2{
    grid-column:auto;
  }
  .gantt-task-dialog{
    width:100%;
    max-height:92vh;
  }
  .gantt-task-dialog>footer{
    display:grid;
    grid-template-columns:1fr;
  }
  .gantt-task-dialog>footer .btn{
    width:100%;
  }
}
@media print{
  .epm-gantt-filter-card,
  .epm-gantt-toolbar,
  .epm-gantt-page-header .action-btns,
  .gantt-task-modal{
    display:none!important;
  }
  .epm-gantt-scroll{
    overflow:visible!important;
    box-shadow:none!important;
  }
}

/* Milestone hierarchy */
.milestone-hierarchy-page{--mh-blue:#2563eb;--mh-border:#dfe6ef;--mh-muted:#667085;--mh-soft:#f8fafc}
.mh-page-header{align-items:flex-start}
.mh-page-actions{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}
.mh-goal-stack{display:grid;gap:1rem}
.mh-goal-card{background:#fff;border:1px solid var(--mh-border);border-radius:.86rem;box-shadow:0 .35rem 1rem rgba(16,24,40,.075);overflow:hidden}
.mh-goal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem;border-bottom:1px solid #edf1f5;background:linear-gradient(135deg,#eef4ff,#fff)}
.mh-kicker{display:block;color:var(--mh-blue);font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.18rem}
.mh-goal-head h2{margin:0;color:#20262e;font-size:1.1rem;font-weight:950;line-height:1.2}
.mh-goal-meta{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;margin-top:.45rem;color:var(--mh-muted);font-size:.8rem;font-weight:800}
.mh-goal-actions{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;justify-content:flex-end}
.mh-goal-progress{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.55rem;align-items:center;padding:.75rem 1rem;border-bottom:1px solid #edf1f5}
.mh-filter-row{display:grid;grid-template-columns:44px minmax(220px,1.6fr) repeat(4,minmax(130px,.9fr)) 120px 116px;gap:.5rem;align-items:center;padding:.75rem 1rem;background:#fbfcfe;border-bottom:1px solid #edf1f5;color:#475467;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.mh-filter-row .form-input,.mh-filter-row .form-select{min-height:34px;padding:.38rem .55rem;font-size:.82rem;text-transform:none;letter-spacing:0;font-weight:650}
.mh-hierarchy-table{display:grid}
.mh-row{display:grid;grid-template-columns:minmax(290px,1.7fr) 120px 116px 150px 150px 150px 116px auto;gap:.65rem;align-items:center;padding:.72rem 1rem;border-bottom:1px solid #edf1f5;background:#fff}
.mh-row[hidden],.mh-milestone-panel[hidden],.mh-task-children[hidden],.is-hidden{display:none!important}
.mh-row:hover{background:#fbfdff}
.mh-cell{min-width:0}
.mh-name-cell{display:flex;align-items:flex-start;gap:.55rem;min-width:0}
.mh-row-number{display:inline-flex;align-items:center;justify-content:center;min-width:2.2rem;height:1.55rem;border-radius:999px;background:#eef4ff;color:var(--mh-blue);font-size:.7rem;font-weight:900}
.mh-name-cell>i{color:var(--mh-blue);margin-top:.1rem}
.mh-name-cell strong,.mh-name-cell a{display:block;color:#20262e;font-weight:900;line-height:1.25;text-decoration:none;overflow-wrap:anywhere}
.mh-name-cell a:hover{color:var(--mh-blue);text-decoration:underline;text-underline-offset:3px}
.milestone-title-link,.milestone-title-button,.mh-milestone-title-button{display:block;width:100%;padding:0;border:0;background:transparent;color:#20262e;font:inherit;font-weight:950;line-height:1.25;text-align:left;cursor:pointer;overflow-wrap:anywhere;text-decoration:none}
.milestone-title-link:hover,.milestone-title-button:hover,.mh-milestone-title-button:hover{color:var(--mh-blue);text-decoration:underline;text-underline-offset:3px}
.mh-name-cell small{display:block;color:var(--mh-muted);font-size:.75rem;line-height:1.3;margin-top:.12rem;overflow-wrap:anywhere}
.mh-toggle{display:inline-grid;place-items:center;width:1.65rem;height:1.65rem;border:1px solid #bfdbfe;border-radius:.45rem;background:#eef4ff;color:var(--mh-blue);cursor:pointer}
.mh-toggle-spacer{display:inline-block;width:1.65rem;min-width:1.65rem;height:1.65rem}
.mh-milestone-row{background:#fff;border-left:4px solid var(--mh-blue)}
.mh-milestone-panel{display:grid;background:#fbfcfe}
.mh-task-row{padding-left:1.35rem;background:#fff}
.mh-subtask-row{padding-left:calc(1.35rem + (var(--mh-level,1) * 1.15rem));background:#fcfdff}
.mh-tree-line{width:.8rem;min-width:.8rem;height:1.15rem;border-left:2px solid #cbd5e1;border-bottom:2px solid #cbd5e1;border-bottom-left-radius:.35rem;margin-top:.1rem}
.mh-milestone-row .mh-tree-line{display:none}
.mh-priority{display:inline-flex;align-items:center;gap:.32rem;padding:.22rem .5rem;border-radius:999px;font-size:.72rem;font-weight:900}
.mh-priority-high{background:#fee2e2;color:#b42318}.mh-priority-high i{color:#dc3545}
.mh-priority-medium{background:#fff3cd;color:#8a5a00}.mh-priority-medium i{color:#f59e0b}
.mh-priority-low{background:#dcfce7;color:#166534}.mh-priority-low i{color:#0d6efd}
.mh-avatar-stack{display:flex;align-items:center}
.mh-avatar-stack .avatar{border:2px solid #fff;margin-left:-.35rem;box-shadow:0 .12rem .35rem rgba(15,23,42,.12)}
.mh-avatar-stack .avatar:first-child{margin-left:0}
.mh-more{display:inline-grid;place-items:center;width:32px;height:32px;margin-left:-.35rem;border:2px solid #fff;border-radius:999px;background:#e9ecef;color:#475467;font-size:.72rem;font-weight:900}
.mh-person,.mh-date{color:#475467;font-size:.8rem;font-weight:800}
.mh-progress-cell{display:grid;grid-template-columns:minmax(68px,1fr) 42px;gap:.45rem;align-items:center}
.mh-progress{height:.48rem;background:#e9eef5;border-radius:999px;overflow:hidden}
.mh-progress div{height:100%;border-radius:999px;background:var(--mh-blue)}
.mh-progress-cell strong,.mh-goal-progress strong{font-size:.76rem;color:#475467;text-align:right}
.mh-row-actions{display:flex;gap:.35rem;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.mh-empty{margin:.7rem 1rem;padding:.8rem;border:1px dashed #cfd6df;border-radius:.65rem;background:#fff;color:var(--mh-muted);font-weight:800;text-align:center}
.mh-empty.small{margin:.35rem 0;padding:.55rem;font-size:.78rem}
.mh-modal[hidden]{display:none!important}
.mh-modal{position:fixed;inset:0;z-index:1085;display:grid;place-items:center;padding:1rem}
#repetitionModal.repetition-modal-overlay{position:fixed;inset:0;display:none;align-items:center;justify-content:center;place-items:initial;padding:24px;background:rgba(15,23,42,.55);z-index:1200;box-sizing:border-box}
#repetitionModal.repetition-modal-overlay.is-open{display:flex!important}
#repetitionModal .modal-backdrop{z-index:0;background:transparent}
#repetitionModal .repetition-modal-dialog{position:relative;z-index:1210;width:min(680px,100%);max-height:calc(100vh - 48px);overflow-y:auto;background:#fff;border-radius:14px;box-shadow:0 24px 80px rgba(15,23,42,.35)}
.mh-modal-open{overflow:hidden}
.mh-modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.52)}
.mh-modal-dialog{position:relative;z-index:1;width:min(760px,96vw);max-height:90vh;overflow:auto;background:#fff;border:1px solid var(--mh-border);border-radius:.85rem;box-shadow:0 1.25rem 3rem rgba(15,23,42,.28);padding:0}
.mh-modal-dialog>header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;border-bottom:1px solid #edf1f5;background:#fff}
.mh-modal-dialog h3{margin:0;color:#20262e;font-size:1.05rem;font-weight:950}
.mh-modal-dialog>header button{display:grid;place-items:center;width:2rem;height:2rem;border:1px solid #d8e0eb;border-radius:.45rem;background:#fff;color:#475467;font-size:1.25rem;cursor:pointer}
.mh-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;padding:1rem}
.mh-form-grid label{display:grid;gap:.28rem;margin:0}
.mh-form-grid .span-2{grid-column:1/-1}
.mh-manage-inline{align-self:end;min-height:38px}
.mh-modal-dialog>footer,.mh-party-form footer{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;padding:1rem;border-top:1px solid #edf1f5;background:#fbfcfe}
.mh-modal:not(.is-task-edit) .mh-edit-task-only{display:none}
.mh-party-dialog{width:min(980px,96vw)}
.mh-party-form{border-bottom:1px solid #edf1f5}
.mh-party-columns{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding:1rem}
.mh-party-columns h4{margin:0 0 .6rem;color:#20262e;font-size:.9rem}
.mh-party-list{display:grid;gap:.5rem}
.mh-party-item{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;border:1px solid #e3e8ef;border-radius:.65rem;background:#fff;padding:.65rem}
.mh-party-item strong{display:block;color:#20262e}
.mh-party-item small{display:block;color:var(--mh-muted);font-size:.76rem;margin-top:.1rem}
.mh-party-item>div:last-child{display:flex;gap:.35rem;flex-wrap:wrap;justify-content:flex-end}
.mh-modal-dialog>header p{margin:.2rem 0 0;color:var(--mh-muted);font-size:.8rem;line-height:1.35}
.mh-modal-dialog>header .btn{display:inline-flex;width:auto;height:auto;min-height:2rem;padding:.45rem .7rem;font-size:.8rem}
.mh-modal-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;flex-wrap:wrap}
.mh-modal-compact{width:min(590px,96vw)}
.mh-form-grid-compact{gap:.7rem}
.mh-party-select-wrap{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem;align-items:end}
.mh-party-select-wrap label{min-width:0}
.mh-party-select-wrap .mh-manage-inline{white-space:nowrap}
.mh-party-section{border:1px solid #e4e9f1;border-radius:.75rem;background:#f8fafc;padding:.85rem}
.mh-party-columns h4{display:flex;align-items:center;gap:.45rem;font-weight:900}
.mh-party-columns h4 i{color:#2563eb}
.mh-party-item{display:grid;grid-template-columns:2.25rem minmax(0,1fr) auto;align-items:flex-start;padding:.7rem}
.mh-party-icon{display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:.6rem;background:#eaf2ff;color:#1d4ed8;font-weight:900}
.mh-party-main{min-width:0}
.mh-party-item p{margin:.25rem 0 0;color:#64748b;font-size:.75rem;line-height:1.35}
.mh-party-actions{display:flex;gap:.35rem;flex-wrap:wrap;justify-content:flex-end}
.mh-toast{position:fixed;right:1rem;bottom:1rem;z-index:2000;padding:.75rem 1rem;border-radius:.65rem;background:#20262e;color:#fff;font-weight:850;box-shadow:0 .75rem 1.75rem rgba(15,23,42,.22);opacity:0;transform:translateY(.5rem);transition:opacity .18s ease,transform .18s ease}
.mh-toast.show{opacity:1;transform:translateY(0)}
.mh-toast-success{background:#198754}.mh-toast-danger{background:#dc3545}
@media(max-width:640px){
  #repetitionModal.repetition-modal-overlay{padding:12px;align-items:flex-start}
  #repetitionModal .repetition-modal-dialog{width:100%;max-height:calc(100vh - 24px);margin-top:12px}
  .mh-detail-recurrence{display:grid;gap:.65rem}
  .mh-detail-recurrence .btn{width:100%;justify-content:center}
}
@media(max-width:575.98px){
  .notification-summary-grid{grid-template-columns:1fr 1fr}
  .notification-item{grid-template-columns:2.35rem minmax(0,1fr);padding:.75rem}
  .notification-type{width:2.35rem;height:2.35rem}
  .notification-actions{grid-column:1/-1;justify-content:flex-start}
  .notification-actions .btn{min-height:34px}
  .notification-dropdown{right:-3rem;width:min(330px,94vw)}
}
@media(max-width:991.98px){
  .activity-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .activity-filter-bar{grid-template-columns:1fr 1fr}
  .activity-filter-bar .btn{justify-content:center}
  .activity-due-grid{grid-template-columns:1fr 1fr}
  .activity-settings-grid{grid-template-columns:1fr 1fr}
  .module-hub-grid{grid-template-columns:1fr}
  .reports-performance-page{max-width:100%}
  .mytasks-filter-bar{grid-template-columns:1fr 1fr}
  .mytasks-filter-bar .btn{justify-content:center}
  .mytasks-grid-head{display:none}
  .mytasks-milestone,.mytasks-row{min-width:0}
  .mytasks-milestone-row{grid-template-columns:1fr;gap:.45rem}
  .mytasks-milestone-row>span:empty{display:none}
  .mytasks-milestone-progress{max-width:260px}
  .mytasks-row{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;padding:.72rem}
  .mytasks-title-cell{grid-column:1/-1}
  .mytasks-row .mytasks-cell::before{content:attr(data-label);display:block;color:#94a3b8;font-size:.65rem;text-transform:uppercase;font-weight:900;letter-spacing:.04em;margin-bottom:.15rem}
  .mytasks-title-cell::before{display:none!important}
  .mytasks-row-actions{grid-column:1/-1;justify-content:flex-start}
}
@media(max-width:575.98px){
  .activity-tabs{margin-inline:-.15rem;border-radius:.7rem}
  .activity-summary-grid,.activity-filter-bar,.activity-due-grid,.activity-settings-grid{grid-template-columns:1fr}
  .activity-card{grid-template-columns:1fr;gap:.55rem;padding:.75rem}
  .activity-card-top{display:grid;gap:.35rem}
  .activity-card-top time{white-space:normal}
  .activity-panel-head{display:grid}
  .activity-detail-modal{padding:.5rem}
  .activity-detail-dialog{width:100%;max-height:calc(100vh - 1rem);border-radius:.85rem}
  .activity-detail-head{padding:.85rem}
  .activity-detail-body{padding:.75rem}
  .activity-detail-grid,.activity-detail-change{grid-template-columns:1fr}
  .activity-detail-controls,.activity-detail-remark-form,.activity-detail-upload-form{grid-template-columns:1fr}
  .module-hub-tabs{margin-inline:-.15rem;border-radius:.7rem}
  .module-hub-card{grid-template-columns:1fr;padding:.85rem}
  .reports-performance-tabs{margin-inline:-.15rem;border-radius:.7rem}
  .reports-performance-grid{grid-template-columns:1fr}
  .reports-performance-card{min-height:0;padding:.95rem}
  .mytasks-summary{display:grid;gap:.35rem;padding:.75rem}
  .mytasks-filter-bar{grid-template-columns:1fr}
  .mytasks-row{grid-template-columns:1fr}
  .mytasks-indent{width:calc(var(--mytask-level,0) * 14px)}
  .mytasks-title-cell{grid-template-columns:auto auto auto minmax(0,1fr)}
  .mytasks-title-cell a,.mytasks-title-cell small,.mytasks-title-cell em{white-space:normal}
  .mytasks-progress-cell,.mytasks-milestone-progress{grid-template-columns:minmax(0,1fr) 38px}
  .mytasks-milestone-body{padding:.45rem}
  .mytasks-row-actions{flex-wrap:wrap}
  .mytasks-row-actions .btn{flex:1}
  .mytasks-progress-form{grid-template-columns:1fr}.mytasks-progress-form .btn{width:100%;justify-content:center}.mytasks-progress-form label{grid-template-columns:1fr 44px}
}
@media(max-width:1199.98px){
  .mh-filter-row{grid-template-columns:40px 1fr 1fr 1fr}
  .mh-filter-row>*:nth-last-child(-n+4){display:none}
  .mh-row{grid-template-columns:var(--mh-grid-cols)!important}
  .mh-row .mh-cell:nth-of-type(4),.mh-row .mh-cell:nth-of-type(5),.mh-row .mh-cell:nth-of-type(7){display:flex}
  .mh-row-actions{grid-column:auto;justify-content:flex-end}
}
@media(max-width:767.98px){
  .mh-page-header,.mh-goal-head{display:grid}
  .mh-page-actions,.mh-goal-actions{justify-content:stretch}
  .mh-page-actions .btn,.mh-goal-actions .btn{width:100%}
  .mh-filter-row{grid-template-columns:1fr}
  .mh-filter-row>span{display:none!important}
  .mh-row{grid-template-columns:1fr;gap:.45rem;padding:.75rem}
  .mh-row .mh-cell{display:block!important}
  .mh-progress-cell{grid-template-columns:minmax(0,1fr) 42px}
  .mh-row-actions{grid-column:auto;display:grid;grid-template-columns:1fr 1fr}
  .mh-row-actions .btn{width:100%;justify-content:center}
  .mh-form-grid,.mh-party-columns,.mh-party-select-wrap{grid-template-columns:1fr}
  .mh-form-grid .span-2{grid-column:auto}
  .mh-modal{padding:.65rem}
  .mh-modal-dialog{width:100%;max-height:92vh}
  .mh-modal-dialog>header{align-items:flex-start}
  .mh-modal-head-actions{width:100%}
  .mh-modal-head-actions .btn{flex:1;justify-content:center}
  .mh-party-item{grid-template-columns:2rem minmax(0,1fr)}
  .mh-party-actions{grid-column:1/-1;justify-content:flex-start}
}

/* Milestone hierarchy alignment pass */
.milestone-hierarchy-page{
  --mh-grid-min:1350px;
  --mh-grid-cols:70px 340px 110px 110px 130px 160px 150px 120px 160px;
}
.mh-global-filter-card{
  display:grid;
  grid-template-columns:minmax(260px,1.3fr) repeat(4,minmax(140px,.8fr)) minmax(140px,.7fr) auto;
  gap:.6rem;
  align-items:center;
  background:#fff;
  border:1px solid var(--mh-border);
  border-radius:.82rem;
  box-shadow:0 .35rem 1rem rgba(16,24,40,.075);
  padding:.85rem;
  margin-bottom:1rem;
}
.mh-global-filter-card .form-input,.mh-global-filter-card .form-select{
  min-height:38px;
  font-size:.85rem;
}
.mh-filter-summary{
  display:flex;
  align-items:center;
  gap:.45rem;
  flex-wrap:wrap;
  margin:-.35rem 0 .9rem;
  padding:.55rem .75rem;
  border:1px solid #dbeafe;
  border-radius:.72rem;
  background:#eff6ff;
  color:#1d4ed8;
  font-size:.84rem;
  font-weight:850;
}
.mh-filter-summary[hidden],.mh-global-empty[hidden],.mh-goal-card.is-filter-hidden{display:none!important}
.mh-filter-summary span{color:#475467}
.mh-filter-summary button{
  border:0;
  background:transparent;
  color:#0d6efd;
  font-weight:950;
  cursor:pointer;
  text-decoration:underline;
  text-underline-offset:3px;
}
.mh-global-empty{
  display:grid;
  place-items:center;
  gap:.4rem;
  margin:0 0 1rem;
  padding:1.4rem;
  border:1px dashed #cfd6df;
  border-radius:.85rem;
  background:#fff;
  color:#667085;
  text-align:center;
  box-shadow:0 .35rem 1rem rgba(16,24,40,.055);
}
.mh-global-empty strong{color:#20262e;font-size:1rem}
.mh-global-empty .btn{margin-top:.35rem}
.mh-table-scroll{
  width:100%;
  max-width:100%;
  overflow-x:auto;
  overflow-y:visible;
  scrollbar-color:#aab4c2 #eef2f7;
  padding-bottom:4px;
}
.mh-table-head{
  display:grid;
  grid-template-columns:var(--mh-grid-cols);
  gap:0;
  align-items:center;
  min-width:var(--mh-grid-min);
  background:#f8fafc;
  border-bottom:1px solid #dfe6ef;
  color:#475467;
  font-size:.7rem;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.mh-table-head span{
  min-height:38px;
  display:flex;
  align-items:center;
  padding:.55rem .7rem;
  border-right:1px solid #edf1f5;
}
.mh-table-head span:last-child{border-right:0;justify-content:flex-end}
.mh-hierarchy-table{
  min-width:var(--mh-grid-min);
}
.mh-row{
  grid-template-columns:var(--mh-grid-cols)!important;
  gap:0!important;
  min-width:var(--mh-grid-min);
  min-height:48px;
  padding:0!important;
  align-items:stretch!important;
}
.mh-cell,.mh-row-actions{
  display:flex;
  align-items:center;
  min-width:0;
  padding:.5rem .65rem;
  border-right:1px solid #f1f4f8;
  white-space:nowrap;
}
.mh-cell:last-child{border-right:0}
.mh-number-cell{
  justify-content:center;
  padding-left:.45rem;
  padding-right:.45rem;
}
.mh-row-number,.mh-row-code{
  min-width:0;
  width:2.65rem;
  height:1.55rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:.68rem;
  line-height:1;
  border-radius:999px;
  font-weight:900;
}
.mh-row-code-milestone{background:#dbeafe;color:#1d4ed8;border:1px solid #bfdbfe}
.mh-row-code-task{background:#f1f5f9;color:#334155;border:1px solid #dbe3ec}
.mh-row-code-subtask{background:#f8fafc;color:#64748b;border:1px solid #e2e8f0}
.mh-name-cell{
  align-items:center;
  gap:.5rem;
  padding-top:.48rem;
  padding-bottom:.48rem;
  overflow:hidden;
}
.mh-name-cell>div{
  min-width:0;
  max-width:100%;
}
.mh-milestone-row{
  background:#f3f7ff!important;
  border-left:0!important;
  box-shadow:inset 4px 0 0 var(--mh-blue);
  min-height:52px;
}
.mh-milestone-row .mh-name-cell strong{
  font-size:.94rem;
  font-weight:950;
}
.mh-task-row{
  padding-left:0!important;
  background:#fff!important;
}
.mh-subtask-row{
  padding-left:0!important;
  background:#f8fafc!important;
}
.mh-task-row .mh-name-cell{
  padding-left:1.05rem;
}
.mh-subtask-row .mh-name-cell{
  padding-left:calc(1.05rem + (var(--mh-level,1) * 1.05rem));
}
.mh-task-row .mh-name-cell a{
  font-weight:800;
}
.mh-task-title-button{
  display:block;
  width:100%;
  padding:0;
  border:0;
  background:transparent;
  color:#20262e;
  font:inherit;
  font-weight:800;
  line-height:1.25;
  text-align:left;
  cursor:pointer;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.milestone-title-link,.milestone-title-button,.mh-milestone-title-button{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.mh-task-title-button:hover,.mh-task-title-button:focus-visible{
  color:var(--mh-blue);
  text-decoration:underline;
  text-underline-offset:3px;
  outline:0;
}
.mh-subtask-row .mh-name-cell a{
  font-size:.84rem;
  font-weight:750;
}
.mh-tree-line{
  width:1rem;
  min-width:1rem;
  height:1.05rem;
  margin-top:.05rem;
}
.mh-subtask-row .mh-name-cell a{
  font-size:.84rem;
  font-weight:750;
  color:#475467;
}
.mh-subtask-row .mh-name-cell small{
  color:#7a8699;
}
.mh-name-cell small{
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.mh-type-badge{
  display:inline-flex;
  align-items:center;
  width:max-content;
  margin:0 0 .18rem;
  padding:.16rem .42rem;
  border-radius:999px;
  font-size:.62rem;
  font-weight:950;
  line-height:1;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.mh-type-milestone{background:#dbeafe;color:#1d4ed8}
.mh-type-task{background:#e2e8f0;color:#334155}
.mh-type-subtask{background:#f1f5f9;color:#64748b}
.mh-milestone-row .mh-name-cell>i{color:#1d4ed8;font-size:1rem}
.mh-task-row .mh-name-cell>i{color:#475467}
.mh-subtask-row .mh-name-cell>i{color:#94a3b8;font-size:.9rem}
.mh-task-row .mh-tree-line{border-color:#94a3b8}
.mh-subtask-row .mh-tree-line{border-color:#cbd5e1}
.mh-priority,.mh-cell .badge{
  white-space:nowrap;
}
.mh-assignees{
  overflow:hidden;
}
.mh-avatar-stack{
  max-width:100%;
  overflow:hidden;
  padding-left:.2rem;
}
.mh-avatar-stack .avatar{width:26px;height:26px;font-size:.68rem}
.mh-avatar-stack .avatar:nth-child(n+4){display:none}
.mh-avatar-stack .mh-more{width:26px;height:26px;font-size:.66rem}
.mh-person,.mh-date{
  display:block;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.mh-progress-cell{
  display:grid!important;
  grid-template-columns:minmax(82px,1fr) 38px;
  gap:.5rem;
  align-content:center;
  align-items:center;
  min-width:0;
}
.mh-progress{
  width:100%;
}
.mh-progress-cell strong{
  text-align:right;
  width:38px;
  font-weight:800;
}
.mh-row-actions{
  grid-column:auto;
  display:flex!important;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:nowrap!important;
  gap:6px;
  border-right:0;
  min-width:0;
  overflow:visible;
  white-space:nowrap;
}
.mh-row-actions .btn{
  width:auto;
  height:30px;
  min-height:30px;
  padding:0 10px;
  line-height:30px;
  white-space:nowrap;
  flex:0 0 auto;
  font-size:12px;
}
.actions-dropdown{
  position:relative;
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
}
.actions-menu{
  position:absolute;
  right:0;
  top:calc(100% + 6px);
  min-width:150px;
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:10px;
  box-shadow:0 12px 30px rgba(15,23,42,.18);
  z-index:80;
  display:none;
  overflow:hidden;
}
.actions-menu.is-floating{
  position:fixed;
  right:auto;
  bottom:auto;
  min-width:150px;
  max-width:min(220px,calc(100vw - 16px));
}
.actions-dropdown.is-open .actions-menu{
  display:block;
}
.actions-menu button,.actions-menu a{
  display:block;
  width:100%;
  padding:9px 12px;
  text-align:left;
  font-size:13px;
  line-height:1.2;
  color:#111827;
  background:transparent;
  border:0;
  text-decoration:none;
  cursor:pointer;
}
.actions-menu button:hover,.actions-menu a:hover{
  background:#f8fafc;
}
.actions-menu .danger{
  color:#dc2626;
}
.smart-action-menu{
  position:fixed!important;
  right:auto!important;
  bottom:auto!important;
  display:block!important;
  min-width:150px;
  max-width:min(240px,calc(100vw - 16px));
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:10px;
  box-shadow:0 12px 32px rgba(15,23,42,.18);
  z-index:9999!important;
  padding:6px;
  overflow:hidden;
}
.smart-action-menu a,.smart-action-menu button{
  display:block;
  width:100%;
  padding:8px 10px;
  border:0;
  background:transparent;
  text-align:left;
  border-radius:7px;
  color:#334155;
  font-size:13px;
  font-weight:800;
  line-height:1.2;
  text-decoration:none;
  cursor:pointer;
}
.smart-action-menu a:hover,.smart-action-menu button:hover{background:#f1f5f9;color:#1d4ed8}
.smart-action-menu .danger{color:#dc2626}
.mh-milestone-panel{
  min-width:var(--mh-grid-min);
  overflow:visible;
}
.mh-milestone-panel .mh-empty{
  margin:.65rem .8rem;
}
.mh-goal-card.has-no-filter-results .mh-table-scroll:after{content:none;display:none}
.mh-task-detail-dialog{width:min(900px,96vw)}
.mh-task-detail-dialog>header p{margin:.18rem 0 0;color:#667085;font-size:.8rem;font-weight:800}
.mh-task-detail-body{display:grid;gap:.8rem;padding:1rem;background:#f8fafc}
.mh-detail-loading{display:flex;align-items:center;justify-content:center;gap:.55rem;min-height:12rem;border:1px dashed #cfd6df;border-radius:.72rem;background:#fff;color:#667085;font-weight:850}
.mh-detail-loading span{width:.9rem;height:.9rem;border:2px solid #cfe2ff;border-top-color:var(--mh-blue);border-radius:999px;animation:attachmentSpin .75s linear infinite}
.mh-detail-section{background:#fff;border:1px solid #e3e8ef;border-radius:.72rem;padding:.85rem}
.mh-detail-section h4{margin:0 0 .65rem;color:#20262e;font-size:.92rem;font-weight:950}
.mh-detail-actions{display:flex;align-items:center;justify-content:flex-end;gap:.45rem;flex-wrap:wrap;margin-bottom:.75rem}
.mh-detail-save-state{display:inline-flex;align-items:center;min-height:1.7rem;border:1px solid #dbeafe;border-radius:999px;background:#eff6ff;color:#1d4ed8;padding:.25rem .6rem;font-size:.74rem;font-weight:900}
.mh-detail-description{margin:.15rem 0 .75rem;color:#475467;line-height:1.45}
.mh-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}
.mh-detail-grid>div{border:1px solid #edf1f5;border-radius:.6rem;background:#fbfcfe;padding:.62rem;min-width:0}
.mh-detail-grid span{display:block;color:#667085;font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.2rem}
.mh-detail-grid strong{display:block;color:#20262e;overflow-wrap:anywhere}
.mh-detail-recurrence{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.65rem;border:1px solid #dbeafe;border-radius:.7rem;background:#eff6ff;padding:.75rem;min-width:0}
.mh-detail-recurrence>div{min-width:0}
.mh-detail-recurrence span{display:block;color:#1d4ed8;font-size:.68rem;font-weight:950;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.18rem}
.mh-detail-recurrence strong{display:block;color:#1e3a8a;line-height:1.35;overflow-wrap:anywhere}
.mh-detail-recurrence small{display:block;margin-top:.15rem;color:#475467;font-size:.75rem;font-weight:800}
.mh-detail-recurrence p{margin:.3rem 0 0;color:#64748b;font-size:.78rem;line-height:1.35}
.mh-detail-recurrence .btn{flex:0 0 auto;white-space:nowrap}
.mh-detail-progress{display:grid;grid-template-columns:minmax(80px,1fr) 42px;gap:.45rem;align-items:center}
.mh-detail-progress strong{font-size:.76rem;text-align:right}
.mh-detail-range{display:grid;grid-template-columns:minmax(100px,1fr) 44px;gap:.55rem;align-items:center}
.mh-detail-range input[type=range]{width:100%;accent-color:var(--mh-blue)}
.mh-detail-range strong{font-size:.8rem;text-align:right;color:#20262e}
.mh-detail-people{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}
.mh-detail-person{display:inline-flex;align-items:center;gap:.38rem;border:1px solid #edf1f5;border-radius:999px;background:#fbfcfe;padding:.22rem .5rem;font-weight:850;color:#344054}
.mh-detail-assignee-editor{display:grid;gap:.35rem;margin-bottom:.7rem;color:#344054;font-weight:850}
.mh-detail-assignee-editor small{font-weight:700}
.mh-detail-list{display:grid;gap:.55rem}
.mh-detail-subtask{display:grid;grid-template-columns:44px minmax(0,1fr) 48px;gap:.55rem;align-items:center;border:1px solid #edf1f5;border-radius:.6rem;background:#fff;padding:.55rem;margin-left:calc(var(--level,0) * 1rem)}
.mh-detail-subtask>span{display:inline-flex;align-items:center;justify-content:center;width:2.1rem;height:1.45rem;border-radius:999px;background:#f1f5f9;color:#475467;font-size:.68rem;font-weight:950}
.mh-detail-subtask b{display:block;color:#20262e;overflow-wrap:anywhere}
.mh-detail-subtask small{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;margin-top:.18rem;color:#667085}
.mh-detail-subtask em{font-style:normal;font-weight:950;color:#475467;text-align:right}
.mh-detail-remark{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.55rem;border:1px solid #edf1f5;border-radius:.65rem;background:#fff;padding:.65rem}
.mh-detail-remark b{display:block;color:#20262e}
.mh-detail-remark small{display:block;color:#667085;font-size:.72rem}
.mh-detail-remark p{margin:.35rem 0 0;color:#344054;line-height:1.4}
.mh-detail-remark-form,.mh-detail-upload-form{display:grid;gap:.55rem;margin-bottom:.7rem}
.mh-detail-remark-form .btn,.mh-detail-upload-form .btn{justify-self:end}
.mh-detail-attachment{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.55rem;align-items:start;border:1px solid #edf1f5;border-radius:.65rem;background:#fff;padding:.6rem}
.mh-detail-attachment>i{display:grid;place-items:center;width:2rem;height:2rem;border-radius:.5rem;background:#eef4ff;color:var(--mh-blue)}
.mh-detail-attachment a{font-weight:900;color:#20262e;text-decoration:none;overflow-wrap:anywhere}
.mh-detail-attachment a:hover{color:var(--mh-blue);text-decoration:underline;text-underline-offset:3px}
.mh-detail-attachment small{display:block;color:#667085;font-size:.74rem;margin-top:.12rem}
.mh-detail-empty{border:1px dashed #cfd6df;border-radius:.65rem;background:#fbfcfe;padding:.75rem;color:#667085;font-weight:850;text-align:center}
@media(max-width:1399.98px){
  .mh-global-filter-card{grid-template-columns:repeat(3,minmax(0,1fr))}
  .mh-global-filter-card .btn{width:100%}
}
@media(max-width:767.98px){
  .mh-global-filter-card{grid-template-columns:1fr;padding:.7rem}
  .mh-table-scroll{margin:0 -.75rem;padding:0 .75rem;-webkit-overflow-scrolling:touch}
  .mh-table-head,.mh-row,.mh-hierarchy-table,.mh-milestone-panel{min-width:var(--mh-grid-min)}
  .milestone-hierarchy-page{--mh-grid-min:1350px;--mh-grid-cols:70px 340px 110px 110px 130px 160px 150px 120px 160px}
  .mh-cell,.mh-row-actions{padding:.55rem .58rem}
  .mh-task-row .mh-name-cell{padding-left:1rem}
  .mh-subtask-row .mh-name-cell{padding-left:calc(1rem + (var(--mh-level,1) * 1rem))}
  .mh-detail-grid{grid-template-columns:1fr}
  .mh-detail-actions{display:grid;grid-template-columns:1fr}
  .mh-detail-actions .btn{width:100%}
  .mh-task-detail-body{padding:.75rem}
}

/* ==========================================================
   Global Responsive Hardening Layer
   Layout-only overrides for desktop, laptop, tablet, and mobile.
   ========================================================== */
html{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}
body.adminlte-compat,
body{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}
body.sidebar-open{
  overflow:hidden;
}
.app-layout,
.app-body,
.main-content,
.page-body{
  width:100%;
  max-width:100%;
  min-width:0;
}
.main-content{
  overflow-x:hidden;
}
.page-body,
.page-body>*{
  min-width:0;
  max-width:100%;
}
.card,
.form-card,
.filter-card,
.dash-card,
.stat-card,
.kanban-card,
.kanban-col,
.settings-card,
.activity-panel,
.notification-item,
.mobile-task-card{
  min-width:0;
  max-width:100%;
}
.table-wrap,
.table-responsive,
.card:has(> .data-table),
.form-card:has(> .data-table),
.filter-card:has(> .data-table){
  max-width:100%;
  overflow-x:auto;
  overflow-y:visible;
  -webkit-overflow-scrolling:touch;
}
.data-table{
  min-width:max-content;
}
.data-table th,
.data-table td{
  white-space:nowrap;
}
.data-table td small,
.data-table td p,
.data-table td .text-muted{
  white-space:normal;
}
.filter-form,
.form-grid-2,
.form-grid-3,
.grid-2,
.grid-3,
.detail-grid,
.settings-grid-2,
.settings-grid-3,
.settings-grid-5{
  min-width:0;
  max-width:100%;
}
.form-input,
.form-select,
.form-textarea,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="date"],
select,
textarea{
  max-width:100%;
}
.form-actions,
.action-btns,
.card-head,
.card-title-row,
.page-header,
.topbar-actions{
  flex-wrap:wrap;
  min-width:0;
}
.btn{
  max-width:100%;
  min-width:0;
  white-space:normal;
}
.sidebar-overlay{
  position:fixed;
  inset:0;
  z-index:1045;
  background:rgba(15,23,42,.48);
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease;
}
.sidebar-overlay.show{
  opacity:1;
  pointer-events:auto;
}
.modal-backdrop,
.mh-modal,
.activity-detail-modal,
.sms-log-modal,
.nt-modal,
.user-modal-shell,
.party-modal,
.goal-modal,
.dept-modal{
  max-width:100vw;
}
.modal,
.mh-modal-dialog,
.activity-detail-dialog,
.sms-log-modal-dialog,
.nt-modal-dialog,
.user-modal-dialog,
.party-modal-dialog,
.goal-modal-dialog,
.dept-modal-dialog{
  max-width:calc(100vw - 24px);
}
.modal,
.modal-body,
.mh-modal-dialog,
.activity-detail-dialog,
.sms-log-modal-dialog,
.nt-modal-dialog,
.user-modal-dialog,
.party-modal-dialog,
.goal-modal-dialog,
.dept-modal-dialog{
  max-height:calc(100vh - 24px);
}
.mh-modal-dialog,
.activity-detail-dialog,
.sms-log-modal-dialog,
.nt-modal-dialog,
.user-modal-dialog,
.party-modal-dialog,
.goal-modal-dialog,
.dept-modal-dialog{
  overflow:hidden;
}
.modal,
.modal-body,
.mh-modal-dialog form,
.mh-modal-dialog .modal-body,
.activity-detail-body,
.sms-log-details,
.nt-modal-body,
.nt-modal-dialog form,
.user-modal-dialog form,
.party-modal-dialog form,
.goal-modal-dialog form,
.dept-modal-dialog form{
  overflow:auto;
  -webkit-overflow-scrolling:touch;
}
.notification-dropdown,
.user-menu{
  max-width:calc(100vw - 16px);
}
.milestone-hierarchy-page,
.mytasks-page,
.epm-kanban-page,
.gantt-page,
.reports-page,
.performance-page,
.settings-page,
.dashboard-v2{
  width:100%;
  max-width:100%;
  min-width:0;
  overflow-x:hidden;
}
.mh-goal-card,
.mh-table-scroll,
.mytasks-board,
.epm-kanban-board-wrap,
.gantt-wrap,
.reports-table-wrap,
.matrix-wrap{
  max-width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.mh-goal-card{
  overflow:hidden;
}
.mh-row-actions,
.mytasks-row-actions,
.task-row-actions{
  white-space:nowrap;
}
.mh-row-actions .btn,
.mytasks-row-actions .btn,
.task-row-actions .btn{
  white-space:nowrap;
}

@media(max-width:1200px){
  .page-body{padding:1rem}
  .dash-metrics-grid,
  .stats-grid,
  .epm-kanban-summary-grid,
  .activity-summary-grid,
  .notification-summary-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .dash-overview-grid,
  .dash-two-col,
  .reports-dashboard-grid,
  .performance-grid{
    grid-template-columns:1fr!important;
  }
  .epm-kanban-filter-main,
  .activity-filter-bar,
  .mytasks-filter-bar{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .gantt-scale,
  .gantt-row,
  .epm-kanban-board,
  .mytasks-grid-head,
  .mytasks-milestone,
  .mytasks-row{
    max-width:none;
  }
}

@media(max-width:991.98px){
  .mobile-menu{
    display:inline-flex;
  }
  .sidebar{
    transform:translateX(-105%);
    width:min(var(--adminlte-sidebar-width),86vw)!important;
    max-width:86vw;
    z-index:1050;
  }
  .sidebar.open{
    transform:translateX(0);
  }
  .main-content,
  body.sidebar-collapse .main-content{
    margin-left:0!important;
    width:100%!important;
  }
  body.sidebar-collapse .sidebar{
    width:min(var(--adminlte-sidebar-width),86vw)!important;
  }
  body.sidebar-collapse .sidebar-logo span:not(.logo-badge),
  body.sidebar-collapse .nav-item .nav-text,
  body.sidebar-collapse .nav-section-label,
  body.sidebar-collapse .sidebar-user>div,
  body.sidebar-collapse .nav-item em{
    display:initial;
  }
  .topbar{
    min-height:60px;
    height:auto;
    padding:.55rem .75rem;
    align-items:center;
  }
  .topbar-left{
    flex:1 1 auto;
  }
  .topbar-title-block{
    min-width:0;
  }
  .topbar h2{
    max-width:52vw;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .topbar-actions{
    flex:0 0 auto;
    justify-content:flex-end;
  }
  .topbar-actions>.btn{
    padding:.38rem .55rem;
  }
  .topbar-actions>.btn:not(.top-icon){
    max-width:44px;
    overflow:hidden;
  }
  .top-user span,
  .top-user-caret{
    display:none;
  }
  .top-user{
    padding:.22rem;
    border-radius:.6rem;
  }
  .page-header,
  .card-head,
  .card-title-row{
    align-items:flex-start;
  }
  .page-header>.action-btns,
  .page-header>.btn,
  .page-header>form{
    width:100%;
  }
  .form-grid-2,
  .form-grid-3,
  .grid-2,
  .grid-3,
  .detail-grid,
  .settings-grid-2,
  .settings-grid-3,
  .settings-grid-5,
  .activity-detail-grid,
  .activity-detail-controls,
  .mh-detail-grid{
    grid-template-columns:1fr!important;
  }
  .form-grid-2>*[style*="grid-column"],
  .form-grid-3>*[style*="grid-column"],
  .span-2,
  .span-3{
    grid-column:auto!important;
  }
  .epm-kanban-filter-main,
  .activity-filter-bar,
  .mytasks-filter-bar,
  .reports-filter-form,
  .filter-form{
    grid-template-columns:1fr!important;
  }
  .filter-form .btn,
  .filter-card .btn{
    width:100%;
    justify-content:center;
  }
  .mobile-bottom-nav{
    display:flex;
  }
  .app-footer{
    padding-bottom:72px;
  }
}

@media(max-width:767.98px){
  .page-body{
    padding:.75rem;
  }
  .page-title{
    font-size:1.22rem;
    line-height:1.2;
    overflow-wrap:anywhere;
  }
  .page-subtitle,
  .topbar p{
    font-size:.78rem;
  }
  .topbar p{
    display:none;
  }
  .topbar h2{
    max-width:46vw;
    font-size:1rem;
  }
  .notification-dropdown{
    position:fixed;
    right:.5rem;
    left:.5rem;
    top:calc(var(--adminlte-topbar-height) + .5rem);
    width:auto;
  }
  .user-menu{
    position:fixed;
    right:.5rem;
    top:calc(var(--adminlte-topbar-height) + .5rem);
    min-width:min(260px,calc(100vw - 1rem));
  }
  .card-pad,
  .form-card,
  .filter-card,
  .activity-panel,
  .settings-card{
    padding:.85rem;
  }
  .dash-metrics-grid,
  .stats-grid,
  .epm-kanban-summary-grid,
  .activity-summary-grid,
  .notification-summary-grid,
  .activity-due-grid,
  .activity-settings-grid,
  .departments-grid,
  .people-grid,
  .risks-issues-grid,
  .access-control-grid{
    grid-template-columns:1fr!important;
  }
  .dash-quick-actions{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .form-actions,
  .action-btns,
  .task-inline-form-actions,
  .epm-kanban-filter-actions,
  .wi-filter-actions,
  .settings-maint-actions{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    width:100%;
  }
  .form-actions .btn,
  .action-btns .btn,
  .task-inline-form-actions .btn,
  .epm-kanban-filter-actions .btn,
  .wi-filter-actions .btn,
  .settings-maint-actions .btn{
    width:100%;
    justify-content:center;
  }
  .modal-backdrop,
  .mh-modal,
  .activity-detail-modal,
  .sms-log-modal,
  .nt-modal,
  .user-modal-shell,
  .party-modal,
  .goal-modal,
  .dept-modal{
    padding:12px;
    align-items:center;
    justify-content:center;
  }
  .modal,
  .mh-modal-dialog,
  .activity-detail-dialog,
  .sms-log-modal-dialog,
  .nt-modal-dialog,
  .user-modal-dialog,
  .party-modal-dialog,
  .goal-modal-dialog,
  .dept-modal-dialog{
    width:calc(100vw - 24px)!important;
    max-width:calc(100vw - 24px)!important;
    max-height:calc(100vh - 24px)!important;
    border-radius:.8rem;
  }
  .mh-form-grid,
  .mh-form-grid-compact,
  .nt-form-grid,
  .user-form-grid,
  .sms-log-details-grid{
    grid-template-columns:1fr!important;
  }
  .mh-recurrence-control,
  .mh-detail-recurrence{
    align-items:stretch;
    flex-direction:column;
  }
  .mh-recurrence-control .btn,
  .mh-detail-recurrence .btn{
    width:100%;
  }
  .mh-table-scroll,
  .mytasks-board,
  .epm-kanban-board-wrap,
  .gantt-wrap,
  .table-wrap{
    scrollbar-width:thin;
  }
  .data-table th,
  .data-table td{
    padding:.62rem .7rem;
    font-size:.78rem;
  }
}

@media(max-width:575.98px){
  .page-body{
    padding:.65rem .6rem 5rem;
  }
  .topbar{
    gap:.45rem;
    padding:.5rem .55rem;
  }
  .mobile-menu,
  .top-icon{
    width:34px;
    height:34px;
    min-width:34px;
  }
  .topbar-actions{
    gap:.3rem;
  }
  .topbar-actions>.btn:not(.top-icon){
    display:none;
  }
  .topbar h2{
    max-width:42vw;
    font-size:.96rem;
  }
  .page-header,
  .card-head,
  .card-title-row,
  .activity-panel-head,
  .task-inline-panel-head{
    flex-direction:column;
  }
  .page-header .btn,
  .page-header .action-btns,
  .card-head .btn,
  .card-head .action-btns{
    width:100%;
  }
  .dash-quick-actions,
  .form-actions,
  .action-btns,
  .task-inline-form-actions,
  .epm-kanban-filter-actions,
  .wi-filter-actions,
  .settings-maint-actions,
  .tasks-filter-actions{
    grid-template-columns:1fr!important;
  }
  .btn,
  button.btn,
  a.btn{
    min-height:38px;
  }
  .btn-xs{
    min-height:30px;
  }
  .form-input,
  .form-select,
  .form-textarea,
  input[type="text"],
  input[type="email"],
  input[type="password"],
  input[type="number"],
  input[type="date"],
  select,
  textarea{
    width:100%;
    min-height:40px;
  }
  .checkbox-grid,
  .perm-grid,
  .member-permission-grid,
  .user-checkbox-grid{
    grid-template-columns:1fr!important;
  }
  .mobile-bottom-nav{
    left:0;
    right:0;
    bottom:0;
    width:100%;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }
  .mobile-bottom-nav a{
    min-width:64px;
  }
  .message-item,
  .activity-card,
  .notification-item,
  .mh-detail-remark,
  .mh-detail-attachment{
    grid-template-columns:1fr!important;
  }
  .message-avatar,
  .notification-type{
    display:none;
  }
  .activity-card-top,
  .notification-title-row,
  .message-meta{
    align-items:flex-start;
    flex-direction:column;
  }
.repetition-modal-dialog{
    width:calc(100vw - 24px)!important;
  }
}

/* Compact Repetition / Recurring modal */
.repetition-modal-overlay{
  align-items:center;
  justify-content:center;
  padding:12px;
}
.repetition-modal-dialog,
#repetitionModal .repetition-modal-dialog,
.mh-recurrence-modal{
  width:min(680px,calc(100vw - 24px));
  max-width:min(680px,calc(100vw - 24px));
  max-height:85vh;
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  overflow:hidden!important;
}
.repetition-modal-dialog .modal-body,
#repetitionModal .repetition-modal-dialog .modal-body{
  min-height:0;
}
.repetition-modal-dialog .modal-header,
.repetition-modal-dialog>header{
  position:relative;
  padding:14px 16px;
  border-bottom:1px solid #edf1f5;
}
.repetition-modal-dialog .modal-header h3,
.repetition-modal-dialog>header h3{
  margin:0;
  font-size:1.08rem;
}
.repetition-modal-dialog .modal-header p,
.repetition-modal-dialog>header p{
  margin:.15rem 0 0;
  color:#667085;
  font-size:.82rem;
}
.repetition-modal-dialog .modal-close,
.repetition-modal-dialog>header button[aria-label="Close"]{
  position:absolute;
  top:10px;
  right:10px;
  z-index:2;
}
.recurrence-editor-compact{
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:start;
  align-content:start;
  gap:.6rem .7rem;
  padding:12px 16px;
  overflow:auto!important;
}
.recurrence-editor-compact label,
.recurrence-editor-compact .mh-weekday-picker{
  margin:0;
}
.recurrence-enable-row{
  display:grid;
  gap:.25rem;
  padding:10px 12px;
  border:1px solid #e5eaf2;
  border-radius:10px;
  background:#fbfcfe;
}
.recurrence-toggle-label{
  display:inline-flex!important;
  align-items:center;
  justify-content:flex-start;
  gap:8px!important;
  width:max-content;
  max-width:100%;
  margin:0;
  color:#1f2937;
  font-weight:850;
  line-height:1.2;
}
.recurrence-toggle-label input{
  position:static!important;
  width:16px;
  height:16px;
  margin:0!important;
  flex:0 0 auto;
  transform:none!important;
}
.recurrence-enable-row p{
  margin:0;
  color:#667085;
  font-size:.78rem;
  line-height:1.35;
}
.recurrence-editor-compact .form-input,
.recurrence-editor-compact .form-select{
  margin-top:.25rem;
  min-height:38px;
}
.recurrence-one-time{
  display:grid;
  gap:.18rem;
  min-height:0!important;
  height:auto!important;
  padding:12px 14px;
  border:1px solid #dbeafe;
  border-radius:11px;
  background:#eff6ff;
  color:#1d4ed8;
}
.recurrence-one-time strong{
  display:block;
  margin:0;
  color:#1d4ed8;
  font-size:.88rem;
  font-weight:900;
  line-height:1.25;
}
.recurrence-one-time span{
  display:block;
  color:#475467;
  font-size:.79rem;
  line-height:1.35;
}
.recurrence-editor-compact [hidden]{
  display:none!important;
  grid-column:auto!important;
  min-height:0!important;
  height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}
.recurrence-editor-compact .mh-weekday-picker{
  display:flex;
  gap:.4rem;
  flex-wrap:wrap;
  align-items:center;
  border:1px solid #edf1f5;
  border-radius:.65rem;
  padding:.65rem;
  background:#fbfcfe;
}
.recurrence-editor-compact .mh-weekday-picker>span{
  flex:1 0 100%;
  color:#475467;
  font-size:.76rem;
  font-weight:850;
}
.repetition-modal-dialog .modal-footer,
.repetition-modal-dialog>footer{
  position:sticky;
  bottom:0;
  display:flex;
  justify-content:flex-end;
  gap:.5rem;
  padding:12px 16px;
  border-top:1px solid #edf1f5;
  background:#fff;
}
.repetition-modal-dialog .mh-recurrence-preview{
  padding:10px 12px;
  gap:6px;
  min-height:0;
}
@media(max-width:767.98px){
  .recurrence-editor-compact{
    grid-template-columns:1fr;
    padding:12px;
  }
  .repetition-modal-dialog .modal-footer,
  .repetition-modal-dialog>footer{
    display:grid;
    grid-template-columns:1fr;
  }
  .repetition-modal-dialog .modal-footer .btn,
  .repetition-modal-dialog>footer .btn{
    width:100%;
  }
}

/* ==========================================================
   UNIVERSAL SCOPED MODAL SYSTEM (.stw-modal)
   All selectors scoped under .stw-modal to prevent global pollution.
   ========================================================== */
.stw-modal{
  position:fixed;inset:0;z-index:9999;
  background:rgba(15,23,42,.58);
  display:none;align-items:flex-start;justify-content:center;
  padding:24px 16px;overflow-y:auto;
}
.stw-modal[hidden]{display:none!important}
.stw-modal.is-active,.stw-modal.show,.stw-modal:not([hidden]){display:flex}
.stw-modal .modal-dialog,
.stw-modal .mh-modal-dialog,
.stw-modal .goal-modal-dialog,
.stw-modal .party-modal-dialog,
.stw-modal .user-modal-dialog,
.stw-modal .nt-modal-dialog,
.stw-modal .sms-log-modal-dialog,
.stw-modal .gantt-task-dialog,
.stw-modal .dept-modal-dialog{
  position:relative;z-index:1;
  width:min(760px,94vw);max-width:94vw;
  max-height:calc(100vh - 48px);margin:0 auto;
  display:flex;flex-direction:column;
  background:#fff;border:1px solid #dfe5ee;border-radius:.85rem;
  box-shadow:0 1.25rem 3rem rgba(15,23,42,.28);overflow:hidden;
}
.stw-modal .modal-dialog.modal-wide,
.stw-modal .mh-modal-dialog.mh-party-dialog,
.stw-modal .user-modal-dialog,
.stw-modal .nt-modal-dialog.nt-edit-dialog{width:min(980px,96vw)}
.stw-modal .modal-dialog.modal-xl{width:min(1100px,96vw)}
.stw-modal .mh-modal-dialog.mh-modal-compact{width:min(590px,96vw)}
.stw-modal .goal-delete-dialog{width:min(560px,94vw)}
.stw-modal .party-archive-dialog{width:min(540px,94vw)}
.stw-modal .nt-test-dialog{width:min(600px,96vw)}
.stw-modal .nt-confirm-dialog{width:min(480px,94vw)}
.stw-modal .dept-delete-dialog{width:min(540px,94vw)}
.stw-modal .modal-content{
  width:100%;max-height:calc(100vh - 48px);
  display:flex;flex-direction:column;overflow:hidden;
}
.stw-modal .modal-header,
.stw-modal header,
.stw-modal .goal-modal-head,
.stw-modal .activity-detail-head,
.stw-modal .sms-log-modal-dialog>header,
.stw-modal .nt-modal-dialog>header,
.stw-modal .user-modal-dialog>header,
.stw-modal .party-modal-dialog>header,
.stw-modal .gantt-task-dialog>header{
  flex:0 0 auto;position:sticky;top:0;z-index:5;
  background:#fff;border-bottom:1px solid #e5e7eb;padding:16px 18px;
}
.stw-modal .modal-body,
.stw-modal .mh-task-detail-body,
.stw-modal .mh-form-grid,
.stw-modal .goal-modal-form,
.stw-modal .nt-modal-body,
.stw-modal .sms-log-details,
.stw-modal .user-modal-dialog form,
.stw-modal .party-form-grid,
.stw-modal .gantt-task-form-grid,
.stw-modal .dept-form-grid{
  flex:1 1 auto;min-height:0;
  overflow-y:auto;overflow-x:hidden;
  padding:16px 18px;overscroll-behavior:contain;
}
.stw-modal .mh-modal-dialog{overflow:hidden}
.stw-modal .form-input,
.stw-modal .form-select,
.stw-modal .form-textarea{max-width:100%;box-sizing:border-box}
.stw-modal textarea{min-height:78px;max-height:130px;resize:vertical}
.stw-modal select[multiple]{max-height:140px;overflow-y:auto}
.stw-modal img{max-width:100%;height:auto}
.stw-modal .assignees-panel,
.stw-modal .remarks-panel,
.stw-modal .attachments-panel,
.stw-modal .history-panel,
.stw-modal .activity-panel,
.stw-modal .mh-detail-people,
.stw-modal .mh-detail-list{
  max-height:220px;overflow-y:auto;
}
body.modal-open{overflow:hidden}
@media(max-width:768px){
  .stw-modal{padding:12px}
  .stw-modal .modal-dialog,.stw-modal .mh-modal-dialog,.stw-modal .goal-modal-dialog,
  .stw-modal .party-modal-dialog,.stw-modal .user-modal-dialog,.stw-modal .nt-modal-dialog,
  .stw-modal .sms-log-modal-dialog,.stw-modal .gantt-task-dialog,.stw-modal .dept-modal-dialog{
    width:100%;max-width:100%;max-height:calc(100vh - 24px);border-radius:12px;
  }
  .stw-modal .modal-header,.stw-modal header{padding:14px 16px}
  .stw-modal .modal-body,.stw-modal .mh-task-detail-body,.stw-modal .mh-form-grid{padding:14px 16px}
  .stw-modal .modal-footer,.stw-modal footer{padding:12px 16px;flex-wrap:wrap}
  .stw-modal .modal-footer .btn,.stw-modal footer .btn{flex:1 1 auto}
}
@media(max-width:480px){
  .stw-modal .modal-footer,.stw-modal footer{flex-direction:column-reverse;align-items:stretch}
  .stw-modal .modal-footer .btn,.stw-modal footer .btn{width:100%}
}

/* Dashboard KPI Engine cards */
.dashboard-v2 .dash-kpi-engine,
.dashboard-v2 .dash-kpi-engine .dash-card-head,
.dashboard-v2 .dash-kpi-engine .dash-kpi-panel,
.dashboard-v2 .dash-kpi-engine .kpi-engine-grid,
.dashboard-v2 .dash-kpi-engine .kpi-member-card,
.dashboard-v2 .dash-kpi-engine .kpi-department-card{min-width:0;width:100%;max-width:100%;overflow:hidden}
.dashboard-v2 .dash-kpi-engine .kpi-engine-grid.active,
.dashboard-v2 .dash-kpi-engine .dash-kpi-panel.active{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))!important;gap:14px!important;align-items:stretch}
.dashboard-v2 .dash-kpi-engine .kpi-member-card,
.dashboard-v2 .dash-kpi-engine .kpi-department-card{position:relative;display:block!important;padding:16px!important;border:1px solid #e5e7eb;border-radius:14px;background:#fff;box-shadow:0 6px 18px rgba(15,23,42,.04);box-sizing:border-box}
.dashboard-v2 .dash-kpi-engine .kpi-member-card,
.dashboard-v2 .dash-kpi-engine .kpi-member-card *,
.dashboard-v2 .dash-kpi-engine .kpi-department-card,
.dashboard-v2 .dash-kpi-engine .kpi-department-card *{word-break:normal!important;overflow-wrap:normal!important;writing-mode:horizontal-tb!important}
.dashboard-v2 .dash-kpi-engine .kpi-card-header{display:flex!important;align-items:center;gap:12px;min-width:0;margin:0 0 14px!important}
.dashboard-v2 .dash-kpi-engine .kpi-avatar,
.dashboard-v2 .dash-kpi-engine .kpi-card-header>.avatar{width:38px!important;height:38px!important;min-width:38px!important;flex:0 0 38px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;color:#fff;background:#2563eb;border:0;margin:0}
.dashboard-v2 .dash-kpi-engine .kpi-member-info{min-width:0;flex:1}
.dashboard-v2 .dash-kpi-engine .kpi-member-name{display:block;font-size:15px;font-weight:800;color:#0f172a;line-height:1.25;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis}
.dashboard-v2 .dash-kpi-engine .kpi-member-dept{display:block;margin-top:3px;font-size:12px;color:#64748b;line-height:1.25;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis}
.dashboard-v2 .dash-kpi-engine .kpi-metrics{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 14px!important;min-width:0}
.dashboard-v2 .dash-kpi-engine .kpi-metric{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;padding:8px 6px;border:0;border-radius:10px;background:#f8fafc;text-align:center}
.dashboard-v2 .dash-kpi-engine .kpi-metric,
.dashboard-v2 .dash-kpi-engine .kpi-metric-label,
.dashboard-v2 .dash-kpi-engine .kpi-metric-value{white-space:nowrap!important}
.dashboard-v2 .dash-kpi-engine .kpi-metric-value{display:block;font-size:16px;font-weight:800;color:#0f172a;line-height:1}
.dashboard-v2 .dash-kpi-engine .kpi-metric-label{display:block;font-size:11px;font-weight:700;color:#64748b;line-height:1.2;text-transform:none;letter-spacing:0}
.dashboard-v2 .dash-kpi-engine .kpi-progress-row{display:flex!important;align-items:center;gap:10px;margin-top:10px;min-width:0}
.dashboard-v2 .dash-kpi-engine .kpi-progress-bar{flex:1;height:8px;border-radius:999px;background:#e5e7eb;overflow:hidden;min-width:0}
.dashboard-v2 .dash-kpi-engine .kpi-progress-fill{height:100%;border-radius:999px;background:#2563eb}
.dashboard-v2 .dash-kpi-engine .kpi-percent{min-width:38px;font-size:12px;font-weight:800;color:#0f172a;text-align:right;white-space:nowrap!important}
.dashboard-v2 .dash-kpi-engine .kpi-grade-badge{margin-top:12px!important;width:100%;height:28px!important;min-width:0!important;border-radius:8px!important;display:flex!important;align-items:center;justify-content:center;font-size:13px;font-style:normal;font-weight:800;color:#fff;line-height:1}
.dashboard-v2 .dash-kpi-engine .kpi-grade-badge.grade-a{background:#16a34a!important}.dashboard-v2 .dash-kpi-engine .kpi-grade-badge.grade-b{background:#2563eb!important}.dashboard-v2 .dash-kpi-engine .kpi-grade-badge.grade-c{background:#f59e0b!important}.dashboard-v2 .dash-kpi-engine .kpi-grade-badge.grade-d{background:#ea580c!important}.dashboard-v2 .dash-kpi-engine .kpi-grade-badge.grade-f,.dashboard-v2 .dash-kpi-engine .kpi-grade-badge.grade-d.grade-danger{background:#dc2626!important}
@media(max-width:768px){.dashboard-v2 .dash-kpi-engine .kpi-engine-grid.active,.dashboard-v2 .dash-kpi-engine .dash-kpi-panel.active{grid-template-columns:1fr!important}.dashboard-v2 .dash-kpi-engine .kpi-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:420px){.dashboard-v2 .dash-kpi-engine .kpi-metrics{grid-template-columns:1fr}.dashboard-v2 .dash-kpi-engine .kpi-metric{flex-direction:row;justify-content:space-between;text-align:left}}
