/* iWebAce Modern Design System — non-destructive layer over legacy CSS */
:root{--primary-color:#2563eb;--secondary-color:#1d4ed8;--sidebar-width:252px;--portal-ink:#14243c;--portal-muted:#71809a;--portal-border:#e6edf6;--portal-bg:#f5f7fb;--portal-shadow:0 6px 25px rgba(20,36,60,.05)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Inter,'Poppins',system-ui,-apple-system,Segoe UI,sans-serif!important;background:var(--portal-bg)!important;color:var(--portal-ink);line-height:1.55;overflow-x:hidden}a{transition:color .18s ease,background-color .18s ease}button,input,select,textarea{font:inherit}*:focus-visible{outline:3px solid #93c5fd!important;outline-offset:2px}
.sidebar.portal-sidebar{position:fixed!important;top:0!important;left:0!important;bottom:0!important;width:var(--sidebar-width)!important;height:100dvh!important;overflow-y:auto!important;padding:0 12px 22px!important;background:#10213c!important;background-image:none!important;color:#f3f7ff!important;z-index:1100!important;box-shadow:5px 0 25px rgba(15,34,59,.06)!important;transition:transform .23s ease!important}
.portal-brand{display:flex;align-items:center;gap:12px;min-height:88px;margin:0 6px 14px;padding:12px 7px;color:#fff!important;text-decoration:none!important;font-weight:750;font-size:22px;letter-spacing:-.8px;border-bottom:1px solid rgba(255,255,255,.11)}.portal-brand small{display:block;color:#9eb1d2;font-size:10px;text-transform:uppercase;letter-spacing:2px;font-weight:650;margin-top:-2px}.brand-symbol{display:grid;place-items:center;width:39px;height:39px;border-radius:12px;background:#3671f3;color:white;font-size:18px;flex:none}.portal-nav-caption{font-size:10px;color:#8195b7;font-weight:750;letter-spacing:1.6px;padding:14px 15px 8px}.portal-sidebar .sidebar-menu{padding:0!important}.portal-sidebar .sidebar-menu a{display:flex;align-items:center;gap:12px;color:#b8c7e0!important;padding:11px 14px!important;margin:3px 0!important;border-radius:10px!important;background:none!important;text-decoration:none!important;font-size:13px;font-weight:560;border:1px solid transparent;min-height:43px}.portal-sidebar .sidebar-menu a i{width:19px;text-align:center;font-size:15px}.portal-sidebar .sidebar-menu a:hover{background:rgba(255,255,255,.09)!important;color:white!important}.portal-sidebar .sidebar-menu a.active{background:#2857a9!important;color:white!important;border-color:#3a68c0!important;box-shadow:0 3px 10px rgba(0,0,0,.11)}.portal-sidebar .sidebar-menu a.active:before{display:none!important}.portal-legacy-tag{margin-left:auto;color:#879bb8;font-size:9px;font-weight:600}.portal-sidebar-foot{margin:23px 8px 0;padding:18px 10px 0;border-top:1px solid rgba(255,255,255,.1);font-size:11px;color:#b8c7e0}.portal-status-dot{display:inline-block;width:7px;height:7px;background:#34d399;border-radius:50%;margin-right:7px}
.topbar.portal-topbar{position:sticky!important;top:0!important;margin-left:var(--sidebar-width)!important;width:calc(100% - var(--sidebar-width))!important;min-height:74px!important;height:auto!important;background:#fff!important;border-bottom:1px solid var(--portal-border)!important;box-shadow:none!important;z-index:900!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px;padding:10px 31px!important}.portal-location{display:flex;flex-direction:column}.portal-location-label{color:#8c9bb2;font-size:10px;font-weight:750;letter-spacing:1.5px}.portal-location strong{color:#233752;font-size:17px;line-height:1.4}.portal-topbar-right{display:flex;align-items:center;gap:20px;margin-left:auto}.portal-date{color:#8090a8;font-size:12px}.portal-user-badge{display:flex;align-items:center;gap:9px}.portal-avatar{height:38px;width:38px;background:#e9f0ff;border:1px solid #dce7ff;border-radius:11px;color:#2563eb;display:grid;place-items:center;font-weight:800}.portal-user-name{font-size:12px;font-weight:700;color:#283c58;line-height:1.3}.portal-user-name small{display:block;color:#8996aa;font-size:10px;font-weight:500}.portal-logout{color:#526783;border-left:1px solid var(--portal-border);padding-left:18px;text-decoration:none;font-size:12px;display:flex;align-items:center;gap:8px}.portal-logout:hover{color:#dc2626}.portal-icon-button{border:1px solid #e5eaf3;background:#fff;color:#38516f;width:40px;height:40px;border-radius:11px}.portal-menu-button{display:none}
.main-content{margin-left:var(--sidebar-width)!important;padding-top:0!important;min-height:calc(100dvh - 74px)!important;width:calc(100% - var(--sidebar-width))!important;max-width:100%!important}.main-content>.container-fluid,.main-content>.container{padding:28px 32px!important}.main-content h1,.main-content h2,.main-content h3,.main-content h4{color:var(--portal-ink);letter-spacing:-.5px;font-weight:700}.main-content h4{font-size:23px}.card,.stat-card,.settings-sidebar,.table-responsive,.modal-content,.login-container{border-radius:15px!important;box-shadow:var(--portal-shadow)!important}.card{border:1px solid var(--portal-border)!important;background:#fff!important}.card-header{background:#fff!important;border-bottom:1px solid var(--portal-border)!important;padding:17px 21px!important;font-weight:700}.card-body{padding:21px!important}.stat-card{border:1px solid #e5edf9!important;background:#fff!important;color:var(--portal-ink)!important;min-height:145px;padding:22px!important;position:relative;overflow:hidden}.stat-card .stat,.stat-card .number,.stat-card h2{color:#183352!important;font-size:29px!important;font-weight:750!important}.stat-card .label{color:#7486a0!important;font-size:12px!important}.stat-card>i{color:#346cea!important}.stat-card:before{background:none!important}.table-responsive{background:#fff;border:1px solid var(--portal-border);overflow-x:auto}.table{margin-bottom:0;background:white}.table thead th,.table th{background:#f8faff!important;color:#6b7d97!important;font-size:11px;letter-spacing:.4px;text-transform:uppercase;font-weight:750;white-space:nowrap;border-bottom:1px solid #e5edf6;padding:13px 15px}.table td{padding:13px 15px;vertical-align:middle;border-color:#eef2f7;color:#344662;font-size:13px}.table tbody tr:hover{background:#f8fbff}.btn{border-radius:9px!important;font-size:13px;font-weight:650;padding:9px 15px;transition:transform .16s,box-shadow .16s}.btn:hover{transform:translateY(-1px)}.btn-primary,.bg-primary{background:#2563eb!important;border-color:#2563eb!important}.btn-primary:hover{background:#1d4ed8!important}.btn-outline-primary{color:#2563eb;border-color:#b8cafd}.form-label,label{font-size:13px;font-weight:600;color:#435671}.form-control,.form-select{border-radius:9px!important;border:1px solid #dce5f0!important;min-height:42px;font-size:13px;padding:10px 12px;box-shadow:none!important}.form-control:focus,.form-select:focus{border-color:#4687f5!important;box-shadow:0 0 0 3px rgba(37,99,235,.1)!important}textarea.form-control{min-height:100px}.badge{border-radius:7px;padding:6px 9px;font-weight:650}.alert{border-radius:11px}.pagination .page-link{border-radius:8px;margin:0 2px}.dropdown-menu{border:1px solid var(--portal-border);border-radius:12px;box-shadow:var(--portal-shadow)}.portal-session-warning{position:fixed;top:84px;right:20px;z-index:3000;display:flex;align-items:center;gap:12px;padding:14px 17px;background:#fff7df;border:1px solid #f5d891;border-radius:12px;box-shadow:0 12px 24px #14243c20;color:#65470c;font-size:13px;max-width:min(460px,calc(100vw - 40px))}.portal-session-warning[hidden],.portal-overlay[hidden]{display:none!important}.portal-session-warning button{background:#8a570e;color:#fff;border:0;border-radius:8px;padding:7px 10px;white-space:nowrap}.portal-overlay{background:#10213c88;position:fixed;inset:0;z-index:1090}
@media(max-width:1023px){.sidebar.portal-sidebar{transform:translateX(-102%)!important}.sidebar.portal-sidebar.portal-open{transform:translateX(0)!important}.portal-menu-button{display:block}.topbar.portal-topbar{margin-left:0!important;width:100%!important;padding:11px 18px!important}.main-content{width:100%!important;margin-left:0!important}.main-content>.container-fluid,.main-content>.container{padding:24px 20px!important}}
@media(max-width:640px){.portal-date,.portal-user-name,.portal-logout span{display:none}.portal-topbar-right{gap:12px}.portal-logout{padding-left:12px}.topbar.portal-topbar{min-height:66px!important}.main-content>.container-fluid,.main-content>.container{padding:18px 12px!important}.main-content h4{font-size:21px}.row{--bs-gutter-x:1rem}.card-body{padding:16px!important}.table td,.table th{padding:10px!important}.portal-session-warning{top:75px;left:10px;right:10px;font-size:12px;flex-wrap:wrap}.modal-dialog{margin:10px}.btn{min-height:38px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
