:root{--nust:#123f70;--nust-dark:#0b2c50;--teal:#0f8a83;--bg:#f4f7fb;--border:#dce5ef;--danger:#c62828}*{box-sizing:border-box}body{font-family:"Tahoma","Arial",sans-serif;background:var(--bg);color:#223043}.app-shell{display:grid;grid-template-columns:280px 1fr;min-height:100vh}.sidebar{background:linear-gradient(180deg,var(--nust-dark),var(--nust));color:#fff;padding:22px 16px;position:sticky;top:0;height:100vh;overflow:auto}.brand{display:flex;gap:12px;align-items:center;padding:4px 8px 22px}.brand-logo,.brand-mark{display:grid;place-items:center;background:#fff;color:var(--nust);font-weight:900;border-radius:14px}.brand-logo{width:52px;height:52px}.brand-mark{width:74px;height:74px;margin:0 auto 20px;font-size:22px;box-shadow:0 12px 30px #123f7020}.nav-pills .nav-link{color:#dbe8f6;text-align:right;border-radius:12px;margin:4px 0;padding:11px 13px}.nav-pills .nav-link.active,.nav-pills .nav-link:hover{background:#ffffff18;color:#fff}.main{min-width:0}.topbar{height:76px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:20}.content{padding:24px}.metric-card,.panel{background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:0 8px 24px rgba(25,58,91,.05)}.metric-card{padding:20px;height:100%}.metric-value{font-size:28px;font-weight:900;color:var(--nust)}.panel{padding:20px}.table-responsive{border-radius:14px}.table thead th{background:#eef4fa;color:#31516f;white-space:nowrap;border-bottom:0}.table td{vertical-align:middle}.badge-status{padding:.5rem .7rem;border-radius:999px}.btn-primary{--bs-btn-bg:var(--nust);--bs-btn-border-color:var(--nust);--bs-btn-hover-bg:var(--nust-dark);--bs-btn-hover-border-color:var(--nust-dark)}.btn-danger{background:#c62828;border-color:#c62828}.form-control,.form-select{border-radius:11px;border-color:#cfdbe7;min-height:44px}.modal-content{border:0;border-radius:18px}.login-page{background:radial-gradient(circle at top right,#e3f0fb,transparent 35%),var(--bg);min-height:100vh}.login-card{max-width:460px;background:#fff;padding:34px;border:1px solid var(--border);border-radius:24px;box-shadow:0 18px 60px rgba(18,63,112,.12);text-align:right}.login-card h1{font-size:24px;color:var(--nust);font-weight:900}.empty{padding:40px;text-align:center;color:#6d7c8c}.action-loading{pointer-events:none;opacity:.65}.progress{height:9px}.offcanvas-lg{--bs-offcanvas-width:280px}@media(max-width:991.98px){.app-shell{display:block}.sidebar{display:none}.content{padding:15px}.topbar{padding:0 14px}.metric-value{font-size:24px}}@media print{.sidebar,.topbar,.no-print{display:none!important}.app-shell{display:block}.content{padding:0}.panel{box-shadow:none;border:0}}

/* V5 shared shell compatibility */
.min-w-0{min-width:0}.sidebar .nav-link{text-decoration:none}.content[hidden],.tab-pane-app[hidden]{display:none!important}.reports-main{min-width:0}.topbar a{text-decoration:none}
.login-logo{display:block;width:112px;height:116px;object-fit:contain;margin:0 auto 16px;filter:drop-shadow(0 12px 20px rgba(18,63,112,.12))}

/* V7 professional action system & administrative trash */
.professional-table tbody tr{transition:background .18s ease,transform .18s ease,box-shadow .18s ease}.professional-table tbody tr:hover{background:#f8fbff}.action-column{width:54px;text-align:center}.plan-action-dropdown{position:relative}.action-kebab{width:38px;height:38px;padding:0;border:1px solid #d7e2ed;border-radius:12px;background:#fff;color:#173f67;font-size:24px;line-height:1;display:inline-grid;place-items:center;transition:.18s ease}.action-kebab:hover,.action-kebab:focus{background:#123f70;color:#fff;border-color:#123f70;transform:translateY(-1px);box-shadow:0 8px 20px rgba(18,63,112,.15)}.plan-action-menu{min-width:240px;padding:9px;border:1px solid #dfe8f1;border-radius:16px}.plan-action-menu .dropdown-item{display:flex;align-items:center;gap:10px;border-radius:10px;padding:9px 11px;font-size:.93rem}.plan-action-menu .dropdown-item:hover{background:#f0f6fb}.plan-action-menu .dropdown-item.text-danger:hover{background:#fff1f1}.action-group-label{font-size:.72rem;font-weight:800;color:#7b8a99;padding:6px 11px 4px}.next-action-link{display:inline-flex;align-items:center;gap:6px;color:#0d6efd;font-weight:700;text-decoration:none}.next-action-link:hover{text-decoration:underline}.stage-text{font-size:.9rem;color:#49647d;font-weight:700}.waiting-pill{display:inline-flex;padding:5px 10px;border-radius:999px;background:#eef5fb;color:#31516f;font-size:.84rem}.waiting-pill.late{background:#fff0e5;color:#a44a00}.approval-card-actions{display:flex!important;padding:0!important;align-items:stretch}.approval-main-link{display:flex;align-items:center;gap:14px;padding:16px 18px;flex:1;color:inherit;text-decoration:none;min-width:0}.approval-card-actions>.plan-action-dropdown{display:flex;align-items:center;padding:0 12px;border-right:1px solid #e5edf5}.trash-policy{margin-bottom:18px;background:linear-gradient(135deg,#f0fbf7,#f5f9ff);border:1px solid #d9ece5;border-radius:16px;padding:14px 16px}.trash-policy>div{display:flex;align-items:center;gap:12px}.trash-policy small{display:block;color:#667789;margin-top:3px}.trash-icon{width:42px;height:42px;border-radius:12px;background:#e2f5ed;color:#0b7a58;display:grid;place-items:center;font-size:22px;font-weight:900}.danger-count{background:#c62828!important;color:#fff!important}.delete-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;background:#f7f9fc;border:1px solid #e5eaf0;border-radius:14px;padding:12px}.delete-summary>div{background:#fff;border-radius:10px;padding:9px 10px;border:1px solid #edf1f5}.delete-summary .wide{grid-column:1/-1}.delete-summary small{display:block;color:#7b8a99;margin-bottom:3px}.delete-summary b{color:#183b5d}.modal-eyebrow{font-size:.72rem;font-weight:900;letter-spacing:.02em;margin-bottom:3px}.permanent-delete-modal{border-top:4px solid #c62828}.status-chip.status-draft{background:#eff2f5;color:#495057}.status-chip.status-submitted{background:#fff3cd;color:#7d5a00}.status-chip.status-unit_approved{background:#e7f1ff;color:#0d5fb8}.status-chip.status-under_review{background:#dfeaff;color:#234f98}.status-chip.status-quality_verified{background:#e8e4ff;color:#5940a8}.status-chip.status-approved{background:#dcf5e7;color:#137144}.status-chip.status-rejected{background:#fde5e5;color:#a82121}@media(max-width:767.98px){.plan-action-menu{min-width:220px}.delete-summary{grid-template-columns:1fr}.delete-summary .wide{grid-column:auto}.professional-table .action-column{position:sticky;left:0;background:#eef4fa;z-index:2}.professional-table tbody td:last-child{position:sticky;left:0;background:#fff;z-index:1}}
