:root{--pnavy:#08233d;--pgreen:#2f6a35;--pgold:#c99a38;--pblue:#147fe8;--pmuted:#66788b;--pline:#dce6df;--paper:#f4f8f4;--white:#fff;--danger:#c94848;--shadow:0 24px 70px rgba(8,35,61,.10)}
*{box-sizing:border-box}.portal-body{margin:0;background:linear-gradient(180deg,#f5f8f5,#eef4f0);color:var(--pnavy);font-family:"DM Sans",system-ui,sans-serif}.portal-shell{display:grid;grid-template-columns:270px 1fr;min-height:100vh}.portal-sidebar{background:linear-gradient(180deg,#061a2d,#0b3e4e);color:#fff;padding:24px 18px;position:sticky;top:0;height:100vh}.portal-brand{display:flex;align-items:center;gap:12px;padding:10px 8px 26px;border-bottom:1px solid rgba(255,255,255,.1)}.portal-brand img{width:205px;max-width:100%;background:#fff;border-radius:12px;padding:5px}.portal-nav{padding-top:20px;display:grid;gap:6px}.portal-nav button,.portal-nav a{width:100%;border:0;background:transparent;color:#cbdbe3;text-align:left;padding:12px 13px;border-radius:12px;font:700 14px inherit;text-decoration:none;cursor:pointer}.portal-nav button:hover,.portal-nav button.active,.portal-nav a:hover,.portal-nav a.active{background:rgba(255,255,255,.11);color:#fff}.portal-nav .nav-icon{display:inline-grid;width:27px;place-items:center;margin-right:4px;color:#8be1d0}.portal-main{min-width:0}.portal-top{height:78px;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--pline);display:flex;align-items:center;justify-content:space-between;padding:0 34px;position:sticky;top:0;z-index:10}.portal-top h1{font:800 22px Manrope;margin:0;color:var(--pnavy)}.portal-user{display:flex;align-items:center;gap:12px}.avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#edf6ea,#f5e8bf);color:var(--pgreen);font-weight:900}.portal-content{padding:32px;max-width:1500px}.portal-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.portal-card{background:#fff;border:1px solid var(--pline);border-radius:20px;box-shadow:0 12px 35px rgba(8,35,61,.05);padding:20px}.portal-kpi small{color:#738295;text-transform:uppercase;letter-spacing:.08em;font-weight:800;font-size:10px}.portal-kpi strong{display:block;font:800 30px Manrope;margin-top:8px;color:var(--pnavy)}.portal-kpi span{font-size:12px;color:var(--pmuted)}.portal-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:18px;margin-top:18px}.portal-section-title{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:15px}.portal-section-title h2{margin:0;font:800 20px Manrope;color:var(--pnavy)}.portal-btn{border:0;border-radius:11px;padding:10px 15px;background:var(--pblue);color:#fff;font-weight:800;cursor:pointer}.portal-btn.secondary{background:#eef5ef;color:var(--pgreen)}.portal-btn.gold{background:linear-gradient(135deg,#d7af50,#b98222)}.portal-btn.danger{background:#fff0f0;color:var(--danger);border:1px solid #f0caca}.portal-btn.sm{padding:7px 10px;font-size:12px}.portal-table-wrap{overflow:auto;border:1px solid var(--pline);border-radius:14px}.portal-table{width:100%;border-collapse:collapse;min-width:780px}.portal-table th{background:#f4f8f4;color:#5b6d7e;text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.06em;padding:12px}.portal-table td{padding:12px;border-top:1px solid #edf1ee;color:#23384d;font-size:13px}.status{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:900}.status.active,.status.paid{background:#eaf5e9;color:#2f6a35}.status.pending{background:#fff6dc;color:#8b641a}.status.overdue{background:#fff0f0;color:#b53d3d}.portal-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.portal-field{display:grid;gap:6px}.portal-field.full{grid-column:1/-1}.portal-field label{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:#53677a;font-weight:900}.portal-field input,.portal-field select,.portal-field textarea{width:100%;border:1px solid #d5e0d9;background:#fbfdfb;border-radius:11px;padding:11px 12px;color:#13283c;font:500 14px inherit;outline:none}.portal-field textarea{min-height:100px;resize:vertical}.portal-field input:focus,.portal-field select:focus,.portal-field textarea:focus{border-color:#74cfd6;box-shadow:0 0 0 3px rgba(98,219,228,.18)}.portal-actions{display:flex;gap:8px;flex-wrap:wrap}.portal-search{display:flex;gap:8px}.portal-search input{min-width:240px;border:1px solid var(--pline);border-radius:11px;padding:10px 12px}.drawer{position:fixed;inset:0;background:rgba(4,19,31,.45);z-index:30;display:none;align-items:flex-end;justify-content:flex-end}.drawer.open{display:flex}.drawer-panel{width:min(720px,100%);height:100%;overflow:auto;background:#fff;padding:28px;box-shadow:-30px 0 80px rgba(0,0,0,.18)}.drawer-close{float:right;border:0;background:#eef4ef;border-radius:50%;width:38px;height:38px;font-size:20px;cursor:pointer}.login-shell{min-height:100vh;display:grid;place-items:center;padding:30px;background:radial-gradient(circle at 85% 15%,rgba(201,154,56,.14),transparent 25%),linear-gradient(135deg,#edf5ef,#fff 50%,#e9f2f5)}.login-card{width:min(480px,100%);background:#fff;border:1px solid var(--pline);border-radius:26px;padding:34px;box-shadow:var(--shadow)}.login-card .brand img{width:230px}.login-card h1{font:800 34px Manrope;color:var(--pnavy)}.login-card p{color:var(--pmuted)}.notice{padding:12px 14px;border-radius:12px;background:#eef7f1;color:#376341;font-size:13px}.portal-empty{text-align:center;padding:34px;color:#7b8997}.customer-hero{background:linear-gradient(135deg,#08233d,#0b5366);color:#fff;border-radius:24px;padding:30px;position:relative;overflow:hidden}.customer-hero:after{content:"₹";position:absolute;right:50px;top:25px;width:120px;height:120px;border-radius:50%;display:grid;place-items:center;font:900 42px Manrope;color:#74551f;background:radial-gradient(circle at 30% 25%,#fff4be,#d5a63d 35%,#785a22);box-shadow:0 25px 50px rgba(0,0,0,.18)}.customer-hero h2{color:#fff;font:800 32px Manrope;margin:0 0 8px}.customer-hero p{color:#c7dce5}.product-mini{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.product-mini .portal-card{min-height:130px}.product-mini b{font:800 19px Manrope}.txn-positive{color:#2f6a35!important;font-weight:800}.txn-negative{color:#b13e3e!important;font-weight:800}.career-hero{padding:90px 0;background:radial-gradient(circle at 90% 15%,rgba(201,154,56,.15),transparent 25%),linear-gradient(135deg,#eff6ec,#fff)}.career-hero h1{font:800 clamp(48px,7vw,88px) Manrope;line-height:.98;letter-spacing:-.065em;color:var(--pnavy);max-width:950px}.career-hero p{font-size:19px;color:var(--pmuted);max-width:720px}.jobs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.job-card{background:#fff;border:1px solid var(--pline);border-radius:20px;padding:24px;box-shadow:0 15px 45px rgba(8,35,61,.06)}.job-card h3{font:800 22px Manrope;margin:10px 0;color:var(--pnavy)}.job-meta{display:flex;gap:8px;flex-wrap:wrap}.job-meta span{background:#eef5ef;color:var(--pgreen);border-radius:999px;padding:6px 9px;font-size:11px;font-weight:800}.gallery-v8{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery-v8 figure{margin:0;background:#fff;border:1px solid var(--pline);border-radius:18px;overflow:hidden;box-shadow:0 15px 45px rgba(8,35,61,.07)}.gallery-v8 img{width:100%;height:260px;object-fit:cover;display:block}.gallery-v8 figcaption{padding:15px;font-weight:800;color:var(--pnavy)}.gallery-filter{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.gallery-filter button{border:1px solid var(--pline);background:#fff;color:var(--pnavy);border-radius:999px;padding:9px 14px;font-weight:800;cursor:pointer}.gallery-filter button.active{background:var(--pgreen);color:#fff;border-color:var(--pgreen)}.admin-note{background:#fff7df;border:1px solid #f0dfac;color:#74551f;border-radius:14px;padding:12px 14px;font-size:12px;margin-bottom:16px}
@media(max-width:1050px){.portal-shell{grid-template-columns:1fr}.portal-sidebar{position:static;height:auto;padding:12px}.portal-brand{border:0;padding-bottom:10px}.portal-nav{display:flex;overflow:auto}.portal-nav button,.portal-nav a{white-space:nowrap}.portal-kpis{grid-template-columns:repeat(2,1fr)}.portal-grid{grid-template-columns:1fr}.product-mini{grid-template-columns:1fr 1fr}.gallery-v8{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.portal-top{padding:0 16px}.portal-content{padding:18px}.portal-kpis,.product-mini,.jobs-grid,.gallery-v8{grid-template-columns:1fr}.portal-form{grid-template-columns:1fr}.portal-field.full{grid-column:auto}.portal-search{flex-direction:column}.portal-search input{min-width:0}.customer-hero:after{right:-30px;opacity:.5}}


/* ============================================================
   SHUBHDHAN V9 PORTAL EXPERIENCE
   Smooth bank-software interaction layer
   ============================================================ */
html{scroll-behavior:smooth}
.portal-body{min-height:100vh}
.portal-body *{transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease,opacity .18s ease}
.portal-body button,.portal-body a,.portal-body input,.portal-body select,.portal-body textarea{transition:all .18s ease}
.portal-shell{animation:portalIn .38s ease both}
@keyframes portalIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
.view-in{animation:viewIn .34s cubic-bezier(.2,.75,.25,1) both}
@keyframes viewIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.portal-sidebar{box-shadow:18px 0 50px rgba(5,25,38,.08);z-index:20}
.portal-brand img{box-shadow:0 10px 24px rgba(0,0,0,.16)}
.side-label{font-size:9px;font-weight:900;letter-spacing:.14em;color:#75a6a6;padding:22px 13px 7px}
.sidebar-bottom{margin-top:auto;padding-top:18px;border-top:1px solid rgba(255,255,255,.08);display:grid;gap:5px}
.sidebar-bottom a,.sidebar-bottom button{border:0;background:transparent;color:#bfd2dc;text-align:left;padding:11px 13px;border-radius:11px;font:700 13px inherit;text-decoration:none;cursor:pointer}
.sidebar-bottom a:hover,.sidebar-bottom button:hover{background:rgba(255,255,255,.09);color:#fff}
.portal-nav button,.portal-nav a{position:relative;display:flex;align-items:center;gap:7px}
.portal-nav button.active,.portal-nav a.active{background:linear-gradient(90deg,rgba(98,219,228,.17),rgba(255,255,255,.07));box-shadow:inset 3px 0 #68dfe5}
.portal-nav button em{margin-left:auto;min-width:19px;height:19px;border-radius:99px;background:#d9b45a;color:#173d22;font-size:9px;font-style:normal;display:grid;place-items:center}
.portal-nav button em:empty{display:none}
.portal-top{box-shadow:0 7px 28px rgba(8,35,61,.04)}
.crumb{display:block;font-size:9px;font-weight:900;letter-spacing:.14em;color:#7890a1;margin-bottom:4px}
.portal-user small{display:block;color:#718092;font-size:11px;margin-top:3px}
.top-actions{display:flex;align-items:center;gap:10px}
.icon-btn{width:39px;height:39px;border:1px solid var(--pline);border-radius:12px;background:#fff;color:var(--pnavy);font-size:20px;cursor:pointer;position:relative}
.icon-btn:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(8,35,61,.08)}
.icon-btn i{position:absolute;right:8px;top:7px;width:6px;height:6px;background:#d5aa42;border-radius:50%}
.mobile-menu{display:none}
.page-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:22px}
.page-intro h2{font:850 clamp(30px,3.2vw,46px) Manrope;letter-spacing:-.045em;color:var(--pnavy);margin:3px 0 7px}
.page-intro p{margin:0;color:#708095;max-width:690px}
.section-kicker{display:inline-block;font-size:9px;letter-spacing:.15em;font-weight:950;color:var(--pgreen);text-transform:uppercase}
.page-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.portal-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:11px 16px;border-radius:12px;box-shadow:0 9px 22px rgba(20,127,232,.12)}
.portal-btn:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(20,127,232,.18)}
.portal-btn.secondary:hover{box-shadow:0 12px 26px rgba(47,106,53,.12)}
.portal-btn-lg{width:100%;min-height:50px;font-size:14px}
.portal-card{box-shadow:0 12px 34px rgba(8,35,61,.045)}
.portal-card:hover{box-shadow:0 18px 42px rgba(8,35,61,.065)}
.metric{position:relative;overflow:hidden}
.metric:after{content:"";position:absolute;width:100px;height:100px;right:-55px;bottom:-55px;border-radius:50%;background:radial-gradient(circle,#dcefe2,transparent 70%);pointer-events:none}
.metric strong{letter-spacing:-.035em}
.metric em{display:inline-block;margin-left:7px;color:var(--pgreen);font-size:10px;font-style:normal;font-weight:900}
.dashboard-grid{display:grid;grid-template-columns:1.45fr .85fr;gap:18px;margin:18px 0}
.ops-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.ops-grid>div{padding:16px;border:1px solid #e4ebe6;border-radius:14px;background:#fbfdfb}
.ops-grid b{display:block;font:850 22px Manrope;color:var(--pnavy)}
.ops-grid span{font-size:11px;color:#748397}
.mini-chart{margin-top:20px;padding:18px;border-radius:16px;background:linear-gradient(135deg,#f3f8f3,#fbfcfb);border:1px solid #e3ebe5}
.chart-head{display:flex;justify-content:space-between;color:#52677a;font-size:12px}
.chart-head span{color:#91a0ae}
.bars{height:130px;display:flex;align-items:flex-end;gap:12px;padding:15px 8px 3px}
.bars i{display:block;flex:1;max-width:44px;background:linear-gradient(180deg,#62dbe4,#2f6a35);border-radius:7px 7px 3px 3px;position:relative;min-height:20px}
.bars i span{position:absolute;bottom:-18px;left:50%;transform:translateX(-50%);font-size:9px;color:#8190a0;font-style:normal}
.queue{display:grid;gap:8px}
.queue button{display:grid;grid-template-columns:34px 1fr 20px;align-items:center;gap:10px;text-align:left;border:1px solid #e3ebe6;background:#fbfdfb;border-radius:14px;padding:11px;cursor:pointer}
.queue button:hover{transform:translateX(3px);border-color:#b9d6bb;background:#fff}
.queue-icon{width:30px;height:30px;border-radius:10px;background:#fff4dd;color:#8d681f;display:grid;place-items:center;font-weight:900}
.queue b{display:block;color:var(--pnavy);font-size:12px}
.queue small{display:block;color:#8391a0;margin-top:3px}
.queue strong{color:var(--pgreen)}
.text-btn{border:0;background:none;color:var(--pgreen);font-weight:900;cursor:pointer;padding:5px}
.text-btn:hover{transform:translateX(3px)}
.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 14px}
.searchbox{display:flex;align-items:center;gap:9px;flex:1;min-width:260px;background:#fff;border:1px solid var(--pline);border-radius:12px;padding:0 12px;color:#8291a0}
.searchbox.large{margin-bottom:14px}
.searchbox input{border:0!important;box-shadow:none!important;background:transparent!important;padding:12px 0!important;outline:0!important}
.toolbar select,.toolbar input[type=date]{border:1px solid var(--pline);background:#fff;border-radius:12px;padding:11px 12px;color:var(--pnavy);min-height:44px}
.table-summary{display:flex;gap:8px;align-items:center;margin-bottom:12px;color:#8390a0;font-size:12px}
.table-summary b{color:var(--pnavy);font-size:14px}
.portal-table tr:hover td{background:#fbfdfb}
.portal-table td small{display:block;color:#8a98a5;margin-top:4px;font-size:10px}
.row-actions{white-space:nowrap}
.icon-action{border:1px solid #dbe5de;background:#fff;color:var(--pgreen);border-radius:9px;padding:7px 10px;font-weight:850;font-size:11px;cursor:pointer}
.icon-action:hover{background:#eef6ef;transform:translateY(-1px)}
.icon-action.pay{background:#eef5ff;color:#1768b9;border-color:#d6e7fb}
.danger-text{color:#b44848}
.product-pill{display:inline-flex;padding:6px 9px;border-radius:8px;background:#f5edd7;color:#7b5a1f;font-size:10px;font-weight:900}
.product-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}
.product-summary strong{display:block;font:850 27px Manrope;color:var(--pnavy);margin-top:6px}
.product-summary small{font-size:9px;letter-spacing:.12em;font-weight:900;color:#8291a0}
.report-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.report-card{border:1px solid var(--pline);background:#fff;border-radius:18px;padding:20px;text-align:left;cursor:pointer;display:grid;gap:7px}
.report-card:hover{transform:translateY(-3px);box-shadow:0 18px 45px rgba(8,35,61,.08);border-color:#b9d4bd}
.report-card span{width:35px;height:35px;border-radius:10px;background:#edf6ed;color:var(--pgreen);display:grid;place-items:center}
.report-card b{color:var(--pnavy);font:800 16px Manrope}
.report-card small{color:#7d8b9a}
.report-card em{color:var(--pgreen);font-style:normal;font-weight:900;font-size:11px}
.report-note{margin-top:18px}
.check-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}
.check-grid span{background:#f4f8f4;border:1px solid #e1e9e2;padding:11px;border-radius:10px;color:#48604e;font-size:12px;font-weight:800}
.jobs-admin{display:grid;gap:12px}
.job-admin-card{display:flex;justify-content:space-between;align-items:center;gap:20px;background:#fff;border:1px solid var(--pline);border-radius:18px;padding:20px}
.job-admin-card h3{margin:9px 0 4px;color:var(--pnavy);font:800 20px Manrope}
.job-admin-card p{margin:0;color:#7c8a99;font-size:12px}
.admin-gallery{grid-template-columns:repeat(3,1fr)}
.admin-gallery figure{position:relative}
.admin-gallery figcaption{display:flex;align-items:center;justify-content:space-between;gap:10px}
.admin-gallery figcaption small{display:block;color:#8492a0;font-size:10px;margin-top:3px}
.profile-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}
.profile-summary>div{background:#f5f8f5;border:1px solid #e3ebe5;border-radius:12px;padding:12px}
.profile-summary small,.profile-grid small{display:block;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:#82909e;font-weight:900;margin-bottom:5px}
.profile-summary b,.profile-grid b{color:var(--pnavy)}
.profile-block{padding:15px;border:1px solid #e3ebe5;border-radius:13px;background:#fbfdfb;margin-top:12px}
.profile-block h4{margin:0 0 7px;color:var(--pnavy)}
.profile-block p{margin:0;color:#66788b;line-height:1.65}
.modal-backdrop{position:fixed;inset:0;background:rgba(4,18,31,.55);backdrop-filter:blur(7px);z-index:100;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;animation:modalIn .2s ease forwards}
@keyframes modalIn{to{opacity:1}}
.modal-card{width:min(820px,100%);max-height:min(88vh,900px);overflow:auto;background:#fff;border:1px solid #dfe8e2;border-radius:24px;box-shadow:0 35px 100px rgba(0,0,0,.25);padding:24px;transform:translateY(10px);animation:modalCard .24s ease forwards;position:relative}
@keyframes modalCard{to{transform:none}}
.modal-x{position:absolute;right:18px;top:17px;width:36px;height:36px;border:0;border-radius:50%;background:#f0f5f1;color:var(--pnavy);font-size:23px;cursor:pointer}
.modal-head{padding-right:50px;margin-bottom:18px}.modal-head small{font-size:9px;letter-spacing:.15em;color:var(--pgreen);font-weight:900}.modal-head h2{margin:4px 0;font:850 29px Manrope;color:var(--pnavy)}
.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}
.modal-note{margin-top:15px;padding:12px 14px;background:#fff8e5;border:1px solid #f0dfac;border-radius:12px;color:#75591e;font-size:12px}
.toast-stack{position:fixed;right:22px;bottom:22px;z-index:200;display:grid;gap:9px;width:min(360px,calc(100vw - 30px))}
.toast{display:grid;gap:2px;background:#08233d;color:#fff;border-left:4px solid #64dce4;border-radius:13px;padding:13px 15px;box-shadow:0 18px 50px rgba(0,0,0,.2);animation:toastIn .28s ease both}
.toast b{font-size:11px;color:#7ce0e5}.toast span{font-size:12px;color:#dbe8ef}.toast.out{animation:toastOut .24s ease both}
@keyframes toastIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes toastOut{to{opacity:0;transform:translateY(8px)}}
.notification-row{padding:13px 14px;border-bottom:1px solid #edf1ee;border-radius:10px}.notification-row.unread{background:#f2f8f2}.notification-row b{color:var(--pnavy)}.notification-row p{margin:4px 0;color:#6d7d8e;font-size:12px}.notification-row small{color:#8c99a5;font-size:10px}
.global-results{display:grid;gap:7px}.global-results button{display:grid;text-align:left;gap:3px;border:1px solid #e1e9e3;background:#fbfdfb;border-radius:12px;padding:12px;cursor:pointer}.global-results button:hover{background:#fff;border-color:#b8d3bb}.global-results small{color:var(--pgreen);font-size:9px;font-weight:900;text-transform:uppercase}.global-results b{color:var(--pnavy)}.global-results span{font-size:10px;color:#7f8d9b}
.login-form{margin-top:18px;display:grid;gap:13px}.check-row{display:flex;align-items:center;gap:8px;color:#6b7b8b;font-size:12px}.check-row input{accent-color:var(--pgreen)}
.form-message{font-size:12px;color:#b54848;min-height:16px}.back-link,.login-links a{color:var(--pgreen);font-weight:850;text-decoration:none;font-size:12px}.login-links{display:flex;justify-content:space-between;margin-top:15px}
.member-badge{margin:10px 5px 8px;padding:12px 13px;border:1px solid rgba(255,255,255,.1);border-radius:13px;background:rgba(255,255,255,.05)}.member-badge span,.member-badge small{display:block;color:#86a9b5;font-size:9px}.member-badge b{display:block;color:#fff;margin:4px 0;font-size:14px}
.member-welcome{min-height:250px;border-radius:25px;padding:31px 34px;background:radial-gradient(circle at 85% 25%,rgba(98,219,228,.2),transparent 25%),linear-gradient(135deg,#07243c,#0b5267);color:#fff;display:flex;justify-content:space-between;align-items:center;overflow:hidden;position:relative}
.member-welcome h2{font:850 clamp(30px,4vw,48px) Manrope;letter-spacing:-.05em;margin:6px 0 9px;color:#fff}.member-welcome p{color:#c8dce5;max-width:680px}.welcome-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}.welcome-actions .secondary{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);color:#fff}
.welcome-orb{width:180px;height:180px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 30% 25%,#fff2b7,#d1a13a 35%,#76561d 75%);box-shadow:0 30px 80px rgba(0,0,0,.22);transform:rotate(8deg);flex:0 0 auto}.welcome-orb span{font:900 55px Manrope;color:#74551f}.welcome-orb small{position:absolute;transform:translateY(68px);font-size:8px;letter-spacing:.15em;color:#624819;text-align:center}
.member-grid,.account-sections{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;margin:18px 0}
.account-row{display:grid;grid-template-columns:42px 1fr auto 20px;align-items:center;gap:11px;width:100%;text-align:left;border:0;background:#fbfdfb;border:1px solid #e4ebe6;border-radius:14px;padding:12px;margin-bottom:8px;cursor:pointer}
.account-row:hover{background:#fff;border-color:#b9d6bb;transform:translateX(3px)}
.account-icon{width:40px;height:40px;border-radius:12px;background:#eaf5e9;color:var(--pgreen);display:grid;place-items:center;font-weight:900}.account-icon.gold{background:#f6edd8;color:#8a651f}.account-row b{display:block;color:var(--pnavy);font-size:12px}.account-row small{display:block;color:#8996a3;font-size:10px;margin-top:3px}.account-row>strong{color:var(--pnavy);font-size:13px;text-align:right}.account-row>strong small{font-weight:500;text-align:right}.account-row>i{font-style:normal;color:var(--pgreen);font-weight:900}
.due-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.due-card{background:#fff;border:1px solid var(--pline);border-radius:19px;padding:20px;box-shadow:0 12px 34px rgba(8,35,61,.045)}.due-card:hover{transform:translateY(-3px);box-shadow:0 22px 50px rgba(8,35,61,.09)}.due-top{display:flex;justify-content:space-between;align-items:center}.due-card>small{display:block;color:#82909d;margin-top:17px}.due-card h3{color:var(--pnavy);font:800 19px Manrope;margin:5px 0}.due-amount{font:850 28px Manrope;color:var(--pnavy);margin-top:12px}.due-card p{color:#728193;font-size:12px}.payment-guide{margin-top:18px;background:linear-gradient(135deg,#f3f8f2,#fff)}
.request-list{display:grid;gap:12px}.request-card{display:flex;justify-content:space-between;align-items:center;gap:20px;background:#fff;border:1px solid var(--pline);border-radius:18px;padding:18px}.request-card:hover{transform:translateX(3px);border-color:#bdd4bf}.request-card h3{margin:8px 0 4px;color:var(--pnavy);font:800 18px Manrope}.request-card p{margin:0;color:#718193;font-size:12px;max-width:750px}.request-card small{display:block;color:#929da8;font-size:10px;margin-top:9px}.request-card>b{color:var(--pgreen);font-size:20px}
.profile-header{display:flex;align-items:center;gap:15px;border-bottom:1px solid #e6ece7;padding-bottom:20px}.profile-header h3{margin:0;color:var(--pnavy);font:850 23px Manrope}.profile-header p{margin:4px 0 0;color:#7b8998;font-size:12px}.profile-header>.status{margin-left:auto}.profile-big-avatar{width:62px;height:62px;border-radius:18px;background:linear-gradient(145deg,#eaf5e9,#f3e5c3);display:grid;place-items:center;color:var(--pgreen);font:900 20px Manrope}.profile-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:18px}.profile-grid>div{background:#fbfdfb;border:1px solid #e4ebe6;border-radius:12px;padding:12px}.profile-block{margin-top:14px}
.security-card{margin-top:18px}
@media(max-width:1100px){.dashboard-grid,.member-grid,.account-sections{grid-template-columns:1fr}.report-grid{grid-template-columns:1fr 1fr}.admin-gallery{grid-template-columns:1fr 1fr}.due-grid{grid-template-columns:1fr 1fr}.profile-grid{grid-template-columns:1fr 1fr}}
@media(max-width:820px){.portal-shell{grid-template-columns:1fr}.portal-sidebar{position:fixed;left:0;top:0;bottom:0;width:280px;height:100vh;transform:translateX(-105%);transition:transform .25s ease;z-index:80}.portal-sidebar.mobile-open{transform:none}.mobile-menu{display:block}.mobile-menu button{border:1px solid var(--pline);background:#fff;border-radius:10px;width:38px;height:38px;cursor:pointer}.portal-top{padding:0 16px}.portal-top h1{font-size:18px}.portal-user>div:first-child{display:none}.portal-content{padding:20px}.ops-grid{grid-template-columns:1fr 1fr}.page-intro{align-items:flex-start;flex-direction:column}.page-actions{justify-content:flex-start}.product-summary{grid-template-columns:1fr}.report-grid,.admin-gallery{grid-template-columns:1fr 1fr}.member-welcome{padding:25px}.welcome-orb{width:120px;height:120px}.welcome-orb span{font-size:38px}}
@media(max-width:600px){.portal-kpis{grid-template-columns:1fr 1fr}.portal-form{grid-template-columns:1fr}.portal-field.full{grid-column:auto}.ops-grid,.due-grid,.report-grid,.admin-gallery,.profile-grid{grid-template-columns:1fr}.page-intro h2{font-size:32px}.member-welcome{display:block}.welcome-orb{display:none}.profile-header{align-items:flex-start;flex-wrap:wrap}.profile-header>.status{margin-left:0}.portal-table{min-width:700px}}
