:root{--portal-ink:#24364b;--portal-muted:#687a90;--portal-line:#dbe4ee;--portal-blue:#1769e8;--portal-bg:#f3f6fb}
body.portal-body{min-height:100vh;margin:0;background:var(--portal-bg);color:var(--portal-ink);font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
.portal-header{position:relative;z-index:2;background:linear-gradient(105deg,#153f7a,#1769e8 58%,#5444be);color:#fff;box-shadow:0 3px 14px #1c37651f}
.portal-header-inner{width:min(1600px,calc(100% - 2rem));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:68px}
.portal-brand{display:flex;align-items:center;gap:.7rem;color:#fff;text-decoration:none;font-size:1.04rem;letter-spacing:.01em}.portal-brand:hover{color:#fff}.portal-brand-mark{display:grid;place-items:center;width:2.2rem;height:2.2rem;border-radius:.65rem;background:#ffffff25;font-size:1.1rem}.portal-brand strong{font-weight:650}
.portal-header-actions{display:flex;align-items:center;gap:1rem}.portal-user-name{font-size:.9rem}.portal-language{display:flex;align-items:center;gap:.4rem;font-size:.8rem}.portal-language a{color:#ffffffa8;text-decoration:none}.portal-language a.active,.portal-language a:hover{color:#fff;font-weight:700}
.portal-app{display:flex;min-height:calc(100vh - 68px)}.portal-sidebar{display:flex;flex:0 0 248px;flex-direction:column;background:#fff;border-right:1px solid var(--portal-line);padding:1rem .75rem}.portal-sidebar-caption{padding:.35rem .75rem .8rem;color:#8190a3;font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.portal-sidebar-nav{display:grid;gap:.22rem}.portal-sidebar-nav a{display:flex;align-items:center;gap:.75rem;min-height:45px;padding:.65rem .8rem;border-radius:.62rem;color:#4e627a;text-decoration:none;font-size:.9rem;font-weight:600;transition:background .15s,color .15s,transform .15s}.portal-sidebar-nav a i{width:1.25rem;text-align:center;color:#6f849e;font-size:1.05rem}.portal-sidebar-nav a:hover{background:#eff5ff;color:var(--portal-blue);transform:translateX(2px)}.portal-sidebar-nav a:hover i,.portal-sidebar-nav a.active,.portal-sidebar-nav a.active i{color:var(--portal-blue)}.portal-sidebar-nav a.active{background:linear-gradient(100deg,#e8f1ff,#f3f7ff);box-shadow:inset 3px 0 var(--portal-blue);font-weight:750}.portal-sidebar-customer{display:flex;align-items:flex-start;gap:.35rem;margin-top:auto;padding:1rem .75rem .4rem;border-top:1px solid #edf1f6;color:#60748e;font-size:.82rem;font-weight:650;overflow-wrap:anywhere}.portal-sidebar-customer i{color:var(--portal-blue)}
.portal-workarea{display:flex;flex:1;min-width:0;flex-direction:column}.portal-main{flex:1;min-height:calc(100vh - 145px);padding:1.8rem 0 2.5rem}.portal-container{width:min(1500px,calc(100% - 3rem));margin:0 auto}.portal-footer{display:flex;justify-content:space-between;gap:1rem;width:min(1500px,calc(100% - 3rem));margin:auto;padding:1rem 0 1.4rem;color:#8291a4;font-size:.78rem}
.portal-page-title{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.35rem}.portal-page-title h1{margin:.22rem 0 .25rem;color:#26394f;font-size:clamp(1.7rem,3vw,2.35rem);font-weight:730;letter-spacing:-.035em}.portal-page-title p{margin:0;color:var(--portal-muted)}.portal-eyebrow{text-transform:uppercase;letter-spacing:.12em;color:#72849b;font-weight:700;font-size:.7rem}
.portal-stat{display:flex;align-items:center;gap:1rem;min-height:106px;padding:1rem 1.1rem;border:1px solid var(--portal-line);border-radius:.85rem;background:#fff;box-shadow:0 .3rem .9rem #253d5b0c}.portal-stat>span{display:grid;place-items:center;flex:none;width:3.15rem;height:3.15rem;border-radius:.82rem;color:#fff;font-size:1.25rem}.portal-stat>div{display:grid;gap:.15rem;min-width:0}.portal-stat small{color:var(--portal-muted);font-weight:600}.portal-stat strong{font-size:1.2rem;line-height:1.25;color:#26394f;overflow-wrap:anywhere}.portal-stat-blue>span{background:linear-gradient(145deg,#3a91ff,#1769e8)}.portal-stat-green>span{background:linear-gradient(145deg,#24b98c,#148665)}.portal-stat-violet>span{background:linear-gradient(145deg,#9875ec,#6c4bc0)}.portal-stat-amber>span{background:linear-gradient(145deg,#ffc14f,#df8b14)}
.portal-card{overflow:hidden;border:1px solid var(--portal-line);border-radius:.85rem;box-shadow:0 .3rem .9rem #253d5b0c}.portal-card .card-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:62px;background:#fff;border-bottom:1px solid var(--portal-line)}.portal-card .card-header>div{display:flex;align-items:center;gap:.65rem}.portal-card .card-header strong{color:#304761}.portal-card .card-header>a{color:var(--portal-blue);font-size:.84rem;text-decoration:none;font-weight:650}.portal-card .table thead th{background:#f0f4f9;color:#526882;font-size:.73rem;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.portal-card .table tbody tr:nth-of-type(odd)>*{--bs-table-bg-type:#f5f8fc}.portal-card .table tbody tr:hover>*{--bs-table-bg-state:#edf4ff}.portal-card .card-header form{font-weight:400}.portal-card .list-group-item{padding:.9rem 1rem;border-color:#edf1f6}.portal-card .list-group-item:hover{background:#f5f8fc}.portal-card-icon{display:grid;place-items:center;width:2rem;height:2rem;border-radius:.55rem}.portal-record-link{color:#245fae;text-decoration:none}.portal-record-link:hover{text-decoration:underline}.portal-empty{display:flex;align-items:center;justify-content:center;gap:.8rem;min-height:150px;padding:1.5rem;color:var(--portal-muted);text-align:center}.portal-empty>i{color:#8da1ba;font-size:1.5rem}
.portal-chart-legend{display:flex;align-items:center;gap:.5rem;color:#72849b;font-size:.82rem}.portal-chart-legend span{display:inline-block;width:.65rem;height:.65rem;border-radius:2px;background:#2379ed}.portal-chart-bars{display:flex;align-items:flex-end;justify-content:space-around;gap:.7rem;height:215px;margin-top:.75rem;padding:.5rem .25rem 0;border-bottom:1px solid #e9eef5;background:repeating-linear-gradient(to bottom,transparent 0,transparent 52px,#edf1f6 53px,#edf1f6 54px)}.portal-chart-column{display:flex;flex:1;min-width:1.6rem;height:100%;flex-direction:column;align-items:center;justify-content:flex-end;gap:.45rem}.portal-chart-bar-wrap{display:flex;align-items:flex-end;justify-content:center;width:100%;height:calc(100% - 1.35rem)}.portal-chart-bar{width:min(48px,70%);min-height:3px;border-radius:.45rem .45rem 0 0;background:linear-gradient(180deg,#4fafff,#1c69e8);box-shadow:0 3px 8px #1769e82e;transition:height .4s ease}.portal-chart-column small{color:#78889b;font-size:.72rem;white-space:nowrap}
.portal-offer-summary{display:grid;place-items:center;gap:1.1rem;min-height:250px}.portal-offer-ring{display:grid;place-items:center;width:138px;height:138px;border-radius:50%;filter:drop-shadow(0 5px 9px #273e5a20)}.portal-offer-ring>div{display:flex;align-items:center;justify-content:center;flex-direction:column;width:104px;height:104px;border-radius:50%;background:#fff}.portal-offer-ring strong{color:#24364b;font-size:1.65rem;line-height:1.2}.portal-offer-ring small{color:#687a90}.portal-offer-legend{display:flex;gap:1.1rem;color:#687a90;font-size:.82rem}.portal-offer-legend span{display:flex;align-items:center;gap:.4rem}.portal-offer-legend strong{color:#344a64}.portal-dot{width:.62rem;height:.62rem;border-radius:50%}.portal-dot-amber{background:#efa927}.portal-dot-green{background:#16946f}
.portal-file-icon,.portal-account-mark{display:grid;place-items:center;flex:none;width:2.5rem;height:2.5rem;border-radius:.7rem;background:#e8f1ff;color:#1769e8;font-size:1.05rem}.portal-login-wrap{display:grid;place-items:center;min-height:calc(100vh - 205px);padding:1.25rem 0}.portal-login-card{width:min(100%,480px);padding:2rem;border:1px solid var(--portal-line);border-radius:1rem;background:#fff;box-shadow:0 1rem 3rem #1e3b6016}.portal-login-card h1{margin:.7rem 0 .4rem;color:#26394f;font-size:1.65rem;font-weight:730}.portal-login-card>p{margin-bottom:1.25rem}.portal-login-card .form-label{color:#3a526d;font-weight:600}.portal-login-card .form-control{min-height:2.8rem;border-color:#cbd7e5;border-radius:.55rem}.portal-login-card .btn{min-height:2.8rem;border-radius:.55rem;font-weight:650}.portal-login-icon{display:grid;place-items:center;width:3.3rem;height:3.3rem;border-radius:.9rem;background:#e8f1ff;color:#1769e8;font-size:1.4rem}.portal-login-icon-green{background:#e2f6ef;color:#15936d}.portal-login-icon-amber{background:#fff3d9;color:#a86c08}.portal-login-help{margin-top:1.2rem;padding-top:1rem;border-top:1px solid #edf1f6;color:#7c8da1;font-size:.82rem}.portal-account-card{height:100%;padding:1.25rem;border:1px solid var(--portal-line);border-radius:.85rem;background:#fff;box-shadow:0 .3rem .9rem #253d5b0c}.portal-account-card h2{margin:.8rem 0 .25rem;font-size:1.1rem;font-weight:700}.portal-account-card p{color:var(--portal-muted);font-size:.85rem}.portal-account-card .btn{width:100%}
@media(max-width:767.98px){.portal-header-inner{width:calc(100% - 1.2rem);min-height:60px}.portal-user-name{display:none}.portal-app{display:block}.portal-sidebar{display:block;width:100%;padding:.35rem .6rem;border-right:0;border-bottom:1px solid var(--portal-line)}.portal-sidebar-caption,.portal-sidebar-customer{display:none}.portal-sidebar-nav{display:flex;overflow:auto;gap:.25rem}.portal-sidebar-nav a{flex:none;min-height:42px;padding:.55rem .7rem;font-size:.82rem}.portal-sidebar-nav a:hover{transform:none}.portal-main{min-height:calc(100vh - 190px);padding:1.25rem 0 2rem}.portal-container,.portal-footer{width:calc(100% - 1.2rem)}.portal-page-title{align-items:flex-start}.portal-footer{font-size:.72rem}.portal-login-card{padding:1.4rem}.portal-card .table{min-width:660px}.portal-chart-bars{height:185px}}
