:root{
  --primary:#246bfd;
  --primary-dark:#174dbd;
  --primary-soft:#edf4ff;
  --accent:#13a6a6;
  --accent-soft:#eafafa;
  --ink:#172033;
  --muted:#667085;
  --surface:#ffffff;
  --surface-2:#f7f9fc;
  --surface-3:#eef2f7;
  --line:#e5eaf1;
  --line-strong:#d6dde8;
  --success:#138a5b;
  --warning:#bb7a12;
  --danger:#c63c4d;
  --info:#2379a9;
  --shadow-sm:0 6px 20px rgba(24,39,75,.06);
  --shadow:0 18px 48px rgba(24,39,75,.10);
  --shadow-lg:0 28px 80px rgba(24,39,75,.14);
  --radius-sm:12px;
  --radius:20px;
  --radius-lg:30px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif;background:var(--surface-2);-webkit-font-smoothing:antialiased}
a{color:var(--primary);text-underline-offset:3px}
a:hover{color:var(--primary-dark)}
img{max-width:100%}
.public-body{background:#fff}
.container{--bs-gutter-x:1.5rem}

/* Shared brand and controls */
.brand-lockup{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--ink);min-width:0}
.brand-lockup strong{display:block;font-size:1rem;line-height:1.15;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}
.brand-lockup small{display:block;color:var(--muted);font-size:.68rem;line-height:1.2;letter-spacing:.11em;text-transform:uppercase;margin-top:3px}
.brand-mark{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:14px;background:linear-gradient(145deg,var(--primary),#69a0ff);color:#fff;box-shadow:0 10px 24px rgba(36,107,253,.22);font-weight:800;font-size:1.08rem}
.eyebrow{display:inline-flex;align-items:center;gap:.45rem;font-size:.74rem;text-transform:uppercase;letter-spacing:.15em;color:var(--primary);font-weight:800}
.eyebrow:before{content:"";width:22px;height:2px;border-radius:2px;background:var(--accent)}
.section-space{padding:84px 0}
.section-title{font-size:clamp(2rem,4vw,3.65rem);line-height:1.08;letter-spacing:-.045em;font-weight:750;color:var(--ink)}
.btn{border-radius:12px;padding:.69rem 1.05rem;font-weight:700;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,border-color .18s ease}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--primary);border-color:var(--primary);box-shadow:0 8px 20px rgba(36,107,253,.17)}
.btn-primary:hover,.btn-primary:focus{background:var(--primary-dark);border-color:var(--primary-dark);box-shadow:0 10px 24px rgba(36,107,253,.24)}
.btn-gold{background:var(--primary);border:1px solid var(--primary);color:#fff;box-shadow:0 8px 20px rgba(36,107,253,.17)}
.btn-gold:hover,.btn-gold:focus{background:var(--primary-dark);border-color:var(--primary-dark);color:#fff}
.btn-outline-luxury{border:1px solid var(--line-strong);color:var(--ink);background:#fff}
.btn-outline-luxury:hover{background:var(--primary-soft);border-color:#b8d0ff;color:var(--primary-dark)}
.btn-outline-primary{border-color:#b9d0ff;color:var(--primary)}
.btn-outline-primary:hover{background:var(--primary);border-color:var(--primary);color:#fff}
.form-label{font-size:.88rem;font-weight:700;color:#344054;margin-bottom:.45rem}
.form-control,.form-select{border-radius:12px;border:1px solid var(--line-strong);padding:.78rem .9rem;background:#fff;color:var(--ink);min-height:46px}
textarea.form-control{min-height:110px}
.form-control:focus,.form-select:focus{border-color:#74a3ff;box-shadow:0 0 0 .22rem rgba(36,107,253,.11)}
.form-text{color:var(--muted)}
.alert{border-radius:14px;border-width:1px}
.badge{font-size:.72rem;padding:.48em .7em;border-radius:999px;font-weight:750}

/* Public website */
.luxury-nav{background:rgba(255,255,255,.95);backdrop-filter:blur(18px);border-bottom:1px solid rgba(229,234,241,.9);padding:.78rem 0;box-shadow:0 3px 18px rgba(24,39,75,.035)}
.luxury-nav .brand-lockup,.luxury-nav .nav-link{color:var(--ink)}
.luxury-nav .nav-link{padding:.65rem .8rem!important;color:#4b5568;font-weight:650;border-radius:10px}
.luxury-nav .nav-link:hover,.luxury-nav .nav-link.active{color:var(--primary);background:var(--primary-soft)}
.luxury-nav .navbar-toggler{border:1px solid var(--line);border-radius:11px;color:var(--ink);padding:.43rem .65rem;font-size:1.1rem;box-shadow:none}
.luxury-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#fff 5%,#f5f9ff 58%,#eef9fa 100%);padding:96px 0 90px;border-bottom:1px solid var(--line)}
.luxury-hero:before,.luxury-hero:after{content:"";position:absolute;border-radius:50%;pointer-events:none}
.luxury-hero:before{width:520px;height:520px;right:-160px;top:-250px;background:radial-gradient(circle,rgba(36,107,253,.13),rgba(36,107,253,0) 68%)}
.luxury-hero:after{width:360px;height:360px;left:-180px;bottom:-220px;background:radial-gradient(circle,rgba(19,166,166,.12),rgba(19,166,166,0) 68%)}
.hero-copy{position:relative;z-index:1;max-width:760px}
.luxury-hero h1{font-size:clamp(3rem,6.2vw,6rem);line-height:.98;letter-spacing:-.062em;font-weight:780;color:var(--ink);max-width:820px}
.luxury-hero .lead{max-width:680px;color:var(--muted);font-size:clamp(1.05rem,2vw,1.28rem);line-height:1.7}
.hero-card{position:relative;z-index:1;background:rgba(255,255,255,.9);border:1px solid rgba(214,221,232,.95);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow-lg)}
.hero-card .step-row{display:flex;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--line)}
.hero-card .step-row:last-child{border-bottom:0;padding-bottom:0}
.hero-card .step-number{width:34px;height:34px;flex:0 0 34px;border-radius:11px;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary);font-weight:800}
.trust-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:2rem}
.trust-row div{padding:1rem 1.05rem;background:rgba(255,255,255,.85);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-sm)}
.trust-row strong{font-size:.92rem;color:var(--ink)}
.trust-row small{color:var(--muted);line-height:1.45}
.service-card,.country-card,.panel,.stat-card,.auth-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}
.service-card{height:100%;padding:2rem;position:relative;overflow:hidden;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.service-card:after{content:"";position:absolute;width:120px;height:120px;border-radius:50%;right:-55px;top:-55px;background:var(--primary-soft);transition:transform .25s ease}
.service-card:hover{transform:translateY(-5px);border-color:#c8d9fb;box-shadow:var(--shadow)}
.service-card:hover:after{transform:scale(1.2)}
.service-icon{position:relative;z-index:1;width:58px;height:58px;border-radius:17px;background:linear-gradient(145deg,var(--primary-soft),#f5fbff);border:1px solid #dce8ff;color:var(--primary);display:grid;place-items:center;font-size:1.65rem}
.country-card{height:100%;overflow:hidden;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.country-card:hover{transform:translateY(-5px);border-color:#c8d9fb;box-shadow:var(--shadow)}
.country-card img,.placeholder-cover{height:220px;width:100%;object-fit:cover}
.placeholder-cover{display:grid;place-items:center;background:linear-gradient(145deg,#eaf2ff,#e8fbf7);color:var(--primary);font-size:3rem}
.country-card .card-body{padding:1.55rem}
.country-card .card-body p{min-height:48px}
.feature-strip{background:var(--surface-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.feature-item{height:100%;padding:1.45rem;background:#fff;border:1px solid var(--line);border-radius:18px}
.feature-check{width:36px;height:36px;border-radius:12px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-weight:900;flex:0 0 36px}
.luxury-footer{background:#f5f7fb;color:var(--muted);padding:58px 0 24px;margin-top:70px;border-top:1px solid var(--line)}
.luxury-footer .brand-lockup{color:var(--ink)}
.luxury-footer h3{color:var(--ink);font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;margin-bottom:1rem}
.luxury-footer a{display:block;color:var(--muted);text-decoration:none;margin:.55rem 0}
.luxury-footer a:hover{color:var(--primary)}
.footer-copy{max-width:500px}
.footer-bottom{border-top:1px solid var(--line);margin-top:36px;padding-top:20px;font-size:.84rem}
.apply-choice{background:linear-gradient(180deg,#f8fbff,#fff);min-height:70vh}
.choice-card{display:block;text-decoration:none;color:var(--ink);padding:2rem;border:1px solid var(--line);border-radius:var(--radius);background:#fff;height:100%;transition:.2s;box-shadow:var(--shadow-sm)}
.choice-card:hover{border-color:#b8d0ff;transform:translateY(-4px);box-shadow:var(--shadow);color:var(--ink)}
.form-shell{background:linear-gradient(180deg,#f7faff,#f9fbfd);padding:55px 0;min-height:65vh}
.form-card{background:#fff;border-radius:var(--radius-lg);border:1px solid var(--line);box-shadow:var(--shadow);padding:clamp(1.35rem,4vw,3rem)}
.airport-autocomplete{position:relative}
.airport-results{position:absolute;z-index:1000;left:0;right:0;top:calc(100% + 5px);background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);max-height:300px;overflow:auto;display:none}
.airport-results.show{display:block}
.airport-option{padding:.78rem 1rem;cursor:pointer;border-bottom:1px solid #eef1f5}
.airport-option:hover{background:var(--primary-soft)}
.airport-option strong{color:var(--primary)}

/* Customer area */
.customer-body{background:#f5f7fb;min-height:100vh}
.customer-nav{background:#fff;padding:.82rem 0;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:1030;box-shadow:0 3px 18px rgba(24,39,75,.035)}
.customer-user{display:flex;align-items:center;gap:.85rem;color:var(--ink);font-size:.9rem}
.customer-user a{color:var(--primary);font-weight:700;text-decoration:none}
.customer-subnav{background:#fff;border-bottom:1px solid var(--line)}
.customer-subnav .container{scrollbar-width:none}
.customer-subnav .container::-webkit-scrollbar{display:none}
.customer-subnav a{padding:.88rem .9rem;text-decoration:none;color:var(--muted);white-space:nowrap;border-bottom:2px solid transparent;font-size:.9rem;font-weight:650}
.customer-subnav a.active,.customer-subnav a:hover{color:var(--primary);border-color:var(--primary)}
.customer-welcome{background:linear-gradient(135deg,#ffffff 0%,#f3f7ff 58%,#eefaf8 100%);color:var(--ink);border:1px solid #dce5f3;border-radius:var(--radius-lg);padding:2.1rem;position:relative;overflow:hidden;box-shadow:var(--shadow-sm)}
.customer-welcome:after{content:"";position:absolute;width:250px;height:250px;border-radius:50%;right:-90px;top:-140px;background:radial-gradient(circle,rgba(36,107,253,.15),transparent 68%)}
.customer-welcome .text-white,.customer-welcome .text-white-50{color:inherit!important}
.customer-welcome .text-white-50{color:var(--muted)!important}
.customer-welcome>*{position:relative;z-index:1}
.stat-card{padding:1.35rem;height:100%;position:relative;overflow:hidden}
.stat-card:after{content:"";position:absolute;width:76px;height:76px;border-radius:50%;right:-32px;bottom:-32px;background:var(--primary-soft)}
.stat-card .stat-value{font-size:clamp(1.45rem,3vw,1.9rem);font-weight:800;letter-spacing:-.03em;color:var(--ink);position:relative;z-index:1}
.finance-card{border-left:4px solid var(--primary)}
.service-mini-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:1.35rem;height:100%;text-decoration:none;color:var(--ink);display:block;transition:.2s;box-shadow:var(--shadow-sm)}
.service-mini-card:hover{border-color:#b8d0ff;transform:translateY(-3px);box-shadow:var(--shadow);color:var(--ink)}
.panel{padding:1.35rem}
.panel-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}
.table{margin-bottom:0}
.table>:not(caption)>*>*{vertical-align:middle;padding:.85rem .75rem;border-bottom-color:#edf0f4}
.table thead th{font-size:.71rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);border-bottom-color:var(--line);white-space:nowrap;background:#fafbfc}
.table tbody tr:hover{background:#fbfdff}
.document-lock{background:#fff8e8;border:1px solid #efdaa6;border-radius:15px;padding:1rem;color:#735112}
.customer-footer{padding:1.5rem 0;color:var(--muted);font-size:.84rem}
.dashboard-actions{display:flex;flex-wrap:wrap;gap:.75rem}
.dashboard-meta{display:flex;gap:1rem;flex-wrap:wrap;color:var(--muted);font-size:.88rem}

/* Admin area */
.admin-body{background:#f4f6f9}
.admin-shell{display:flex;min-height:100vh}
.admin-sidebar{width:270px;background:#fff;color:var(--ink);padding:20px 14px;position:fixed;inset:0 auto 0 0;z-index:1040;overflow-y:auto;border-right:1px solid var(--line);box-shadow:5px 0 22px rgba(24,39,75,.025)}
.admin-brand{display:flex;align-items:center;gap:.8rem;color:var(--ink);text-decoration:none;padding:5px 10px 22px;border-bottom:1px solid var(--line);margin-bottom:12px}
.admin-brand small{display:block;color:var(--muted);font-size:.64rem;text-transform:uppercase;letter-spacing:.12em;margin-top:3px}
.admin-sidebar nav{display:grid;gap:3px}
.admin-sidebar nav a{color:#5b6577;text-decoration:none;padding:10px 12px;border-radius:11px;font-weight:650;font-size:.9rem}
.admin-sidebar nav a:hover,.admin-sidebar nav a.active{background:var(--primary-soft);color:var(--primary)}
.nav-section{font-size:.64rem;text-transform:uppercase;letter-spacing:.16em;color:#98a2b3;padding:19px 12px 6px;font-weight:800}
.admin-main{margin-left:270px;flex:1;min-width:0}
.admin-topbar{min-height:72px;background:rgba(255,255,255,.95);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 26px;position:sticky;top:0;z-index:1020}
.admin-content{padding:26px}
.admin-topbar a{text-decoration:none;font-weight:700}
.sidebar-backdrop{display:none}
.timeline{border-left:2px solid #dbe5f3;margin-left:8px;padding-left:20px}
.timeline-item{position:relative;padding-bottom:18px}
.timeline-item:before{content:"";position:absolute;width:10px;height:10px;border-radius:50%;background:var(--primary);left:-26px;top:6px;box-shadow:0 0 0 4px var(--primary-soft)}
.credentials-box{background:#f4f8ff;border:1px dashed #8fb3ff;border-radius:16px;padding:18px}
.money-positive{color:var(--danger)!important}
.money-credit{color:var(--success)!important}

/* Login pages */
.login-page{min-height:100vh;background:radial-gradient(circle at 90% 5%,rgba(36,107,253,.12),transparent 28%),radial-gradient(circle at 5% 90%,rgba(19,166,166,.10),transparent 28%),#f7f9fc;display:flex;align-items:center}
.auth-card{overflow:hidden;box-shadow:var(--shadow);border-radius:var(--radius-lg)}
.auth-card .brand-mark{width:50px;height:50px;border-radius:16px}
.text-brand{color:var(--primary)!important}

/* Bootstrap badge refinements */
.text-bg-primary{color:#fff!important;background-color:var(--primary)!important}
.text-bg-secondary{color:#fff!important;background-color:#667085!important}
.text-bg-success{color:#fff!important;background-color:var(--success)!important}
.text-bg-danger{color:#fff!important;background-color:var(--danger)!important}
.text-bg-warning{color:#4d3505!important;background-color:#f4cf78!important}
.text-bg-info{color:#fff!important;background-color:var(--info)!important}
.text-bg-light{color:#344054!important;background-color:#f2f4f7!important}
.text-bg-dark{color:#fff!important;background-color:#344054!important}

@media(max-width:1199px){
  .luxury-hero h1{font-size:clamp(3rem,7vw,5rem)}
}
@media(max-width:991px){
  .section-space{padding:64px 0}
  .luxury-nav .navbar-collapse{padding-top:.9rem}
  .luxury-nav .navbar-nav{padding:.5rem;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}
  .luxury-nav .btn-outline-luxury{margin-top:.35rem}
  .luxury-hero{padding:70px 0}
  .trust-row{grid-template-columns:1fr}
  .admin-sidebar{transform:translateX(-105%);transition:transform .22s ease}
  .admin-sidebar.open{transform:none}
  .admin-main{margin-left:0}
  .admin-content{padding:17px}
  .sidebar-backdrop{position:fixed;inset:0;background:rgba(23,32,51,.28);z-index:1035;border:0}
  body.sidebar-open .sidebar-backdrop{display:block}
  .admin-topbar{padding:0 16px}
  .customer-user span{display:none}
}
@media(max-width:767px){
  .container{--bs-gutter-x:1.15rem}
  .section-space{padding:52px 0}
  .luxury-hero{padding:58px 0 64px}
  .luxury-hero h1{font-size:clamp(2.6rem,13vw,4rem)}
  .luxury-hero .lead{font-size:1rem}
  .hero-card{padding:1.35rem;border-radius:22px}
  .section-title{font-size:2.2rem}
  .service-card{padding:1.45rem}
  .country-card img,.placeholder-cover{height:200px}
  .customer-welcome{padding:1.45rem;border-radius:22px}
  .customer-subnav a{padding:.78rem .7rem;font-size:.82rem}
  .panel{padding:1rem;border-radius:16px}
  .stat-card{padding:1.1rem;border-radius:16px}
  .form-card{border-radius:21px}
  .table>:not(caption)>*>*{padding:.75rem .65rem}
  .admin-topbar>div:last-child{font-size:.78rem}
  .brand-lockup strong{max-width:165px}
}
@media(max-width:480px){
  .btn-lg{padding:.75rem 1rem;font-size:1rem}
  .luxury-hero .d-flex.gap-3{gap:.65rem!important}
  .luxury-hero .btn-lg{width:100%}
  .customer-welcome .btn{width:100%}
  .dashboard-actions{display:grid;grid-template-columns:1fr;width:100%}
  .dashboard-actions .btn{width:100%}
}
@media print{
  .no-print,.admin-sidebar,.admin-topbar,nav,footer,.customer-subnav,.sidebar-backdrop{display:none!important}
  .admin-main{margin:0}
  .admin-content,main.container{padding:0!important}
  .panel{box-shadow:none;border:0}
  .public-body{background:#fff}
}

/* =========================================================
   Phase One V5 — clear service-directory design system
   ========================================================= */
:root{
  --primary:#315c72;
  --primary-dark:#234658;
  --primary-soft:#edf4f6;
  --accent:#c18b4b;
  --accent-soft:#fbf4ea;
  --ink:#1d2935;
  --muted:#65717e;
  --surface-2:#f6f8fa;
  --surface-3:#edf1f4;
  --line:#e1e7eb;
  --line-strong:#cfd8de;
  --success:#25815d;
  --warning:#a56b20;
  --danger:#bd4756;
  --info:#437d9a;
  --shadow-sm:0 4px 14px rgba(26,47,59,.055);
  --shadow:0 14px 34px rgba(26,47,59,.09);
  --shadow-lg:0 24px 56px rgba(26,47,59,.12);
  --radius-sm:10px;
  --radius:16px;
  --radius-lg:22px;
}
body{font-size:15px;line-height:1.55}
.ui-icon{display:inline-block;vertical-align:-.18em;flex:0 0 auto}
.min-w-0{min-width:0}
.section-title{font-size:clamp(1.85rem,3.1vw,2.8rem);line-height:1.12;letter-spacing:-.035em;font-weight:750}
.eyebrow{font-size:.68rem;letter-spacing:.13em}
.eyebrow:before{width:18px;background:var(--accent)}
.section-kicker{display:block;color:var(--muted);font-size:.68rem;line-height:1.2;text-transform:uppercase;letter-spacing:.11em;font-weight:800}
.small-link{display:inline-flex;align-items:center;gap:.3rem;text-decoration:none;font-size:.82rem;font-weight:750;color:var(--primary)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.42rem;border-radius:10px;padding:.62rem .92rem;font-size:.88rem}
.btn-sm{padding:.48rem .72rem;font-size:.8rem}
.form-control,.form-select{border-radius:10px;min-height:43px;padding:.66rem .78rem;font-size:.9rem}
.panel,.stat-card{border-radius:14px;box-shadow:var(--shadow-sm)}
.panel{padding:1.15rem}
.panel-header{margin-bottom:.85rem}
.compact-heading,.page-heading,.admin-dashboard-head,.dashboard-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.record-count,.points-pill{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:26px;border-radius:999px;background:var(--surface-3);color:var(--muted);font-size:.72rem;font-weight:800;padding:0 .55rem}
.quick-icon,.summary-icon,.directory-service-icon{display:inline-grid;place-items:center;flex:0 0 auto;background:var(--primary-soft);color:var(--primary);border:1px solid #d6e4e9}
.quick-icon{width:40px;height:40px;border-radius:12px}
.quick-icon.success,.summary-icon.success{background:#ebf6f1;color:var(--success);border-color:#cee8dc}
.quick-icon.warning,.summary-icon.warning{background:var(--accent-soft);color:var(--warning);border-color:#ecd9bd}
.summary-icon.danger{background:#fff0f1;color:var(--danger);border-color:#f1d2d7}
.summary-icon.info{background:#edf5f9;color:var(--info);border-color:#d2e4ec}
.directory-service-icon{width:42px;height:42px;border-radius:12px}
.directory-service-icon.large{width:50px;height:50px;border-radius:14px}
.action-icon,.icon-button,.icon-link{display:inline-grid;place-items:center;border:1px solid var(--line-strong);background:#fff;color:var(--primary);text-decoration:none;border-radius:9px;transition:.18s ease}
.action-icon{width:35px;height:35px}
.action-icon:hover,.icon-button:hover,.icon-link:hover{color:#fff;background:var(--primary);border-color:var(--primary);transform:translateY(-1px)}
.action-icon.success{color:var(--success);border-color:#b9dcca;background:#f6fcf9}
.action-icon.success:hover{background:var(--success);color:#fff;border-color:var(--success)}
.action-icon.locked{color:var(--warning);background:#fff8ed;border-color:#ead3ac;cursor:not-allowed}
.action-icon.disabled{color:#a3adb5;background:#f5f7f8;border-color:#e7ebee;cursor:not-allowed}
.icon-button,.icon-link{width:38px;height:38px;padding:0}
.row-actions{display:flex;align-items:center;gap:.4rem}
.row-note{display:block;color:var(--muted);font-size:.73rem;line-height:1.35;margin-top:.22rem;max-width:360px}
.status-text{display:inline-flex;align-items:center;gap:.45rem;font-size:.8rem;font-weight:750;color:#52606c;white-space:nowrap}
.status-text i{width:7px;height:7px;border-radius:50%;background:#8995a1;box-shadow:0 0 0 3px #edf0f2}
.status-text.primary i,.status-text.info i{background:var(--info);box-shadow:0 0 0 3px #e8f2f6}
.status-text.success i{background:var(--success);box-shadow:0 0 0 3px #e5f3ed}
.status-text.warning i{background:var(--warning);box-shadow:0 0 0 3px #fbf0df}
.status-text.danger i{background:var(--danger);box-shadow:0 0 0 3px #fbeaec}
.status-text.dark i,.status-text.secondary i{background:#6a7681;box-shadow:0 0 0 3px #eceff1}
.compact-table>:not(caption)>*>*,.customer-service-table>:not(caption)>*>*,.statement-table>:not(caption)>*>*{padding:.72rem .65rem}
.compact-table thead th,.customer-service-table thead th,.statement-table thead th{font-size:.66rem;letter-spacing:.065em}
.empty-state{text-align:center;padding:3.5rem 1.5rem}
.empty-state .quick-icon{margin:auto}
.empty-inline{padding:1.5rem;text-align:center;color:var(--muted);font-size:.84rem;background:var(--surface-2);border-radius:10px}

/* Public service-directory style */
.luxury-nav{padding:.68rem 0;box-shadow:none}
.luxury-nav .nav-link{font-size:.86rem;padding:.54rem .7rem!important}
.gov-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#fff 0%,#f4f8f9 64%,#f9f4ec 100%);padding:76px 0;border-bottom:1px solid var(--line)}
.gov-hero:after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;right:-180px;top:-230px;background:radial-gradient(circle,rgba(49,92,114,.12),transparent 68%);pointer-events:none}
.gov-hero .hero-copy{max-width:720px}
.gov-hero h1{font-size:clamp(2.45rem,5vw,4.35rem);line-height:1.03;letter-spacing:-.05em;font-weight:780;max-width:740px}
.gov-hero .lead{max-width:650px;font-size:clamp(1rem,1.7vw,1.15rem);line-height:1.7;color:var(--muted)}
.hero-service-panel{position:relative;z-index:1;background:#fff;border:1px solid var(--line);border-radius:20px;padding:1rem;box-shadow:var(--shadow)}
.hero-service-head{display:flex;align-items:center;gap:.8rem;padding:.4rem .4rem .9rem;border-bottom:1px solid var(--line);margin-bottom:.3rem}
.hero-service-head small,.entry-context small{display:block;color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.09em;font-weight:750}
.hero-service-head strong,.entry-context strong{display:block;font-size:.95rem;margin-top:.15rem}
.hero-service-link{display:flex;align-items:center;gap:.8rem;color:var(--ink);text-decoration:none;padding:.85rem .45rem;border-bottom:1px solid #eef1f3}
.hero-service-link:last-child{border-bottom:0}
.hero-service-link:hover{color:var(--primary);background:#fafcfc;border-radius:11px}
.hero-service-link strong,.directory-service-card strong{display:block;font-size:.9rem}
.hero-service-link small,.directory-service-card small{display:block;color:var(--muted);font-size:.75rem;line-height:1.4;margin-top:.12rem}
.service-confidence-band{background:#fff;border-bottom:1px solid var(--line)}
.confidence-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.confidence-grid>div{display:grid;grid-template-columns:34px 1fr;column-gap:.65rem;padding:1.15rem 1.5rem;border-right:1px solid var(--line)}
.confidence-grid>div:last-child{border-right:0}
.confidence-grid>div>span{grid-row:1/3;width:34px;height:34px;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary);border-radius:10px}
.confidence-grid strong{font-size:.84rem}
.confidence-grid small{color:var(--muted);font-size:.73rem}
.section-space{padding:68px 0}
.section-heading-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);align-items:end;gap:2rem}
.service-directory-section{background:#fff}
.directory-card{height:100%;display:flex;align-items:flex-start;gap:1rem;padding:1.35rem;background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow-sm);transition:.2s}
.directory-card:hover{border-color:#bdcdd4;box-shadow:var(--shadow);transform:translateY(-2px)}
.directory-card p{font-size:.84rem;line-height:1.55}
.service-label{font-size:.65rem;color:var(--accent);text-transform:uppercase;letter-spacing:.1em;font-weight:800}
.service-action-link{display:inline-flex;align-items:center;gap:.3rem;font-size:.82rem;font-weight:800;text-decoration:none}
.destination-section{background:var(--surface-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.destination-card{display:flex;align-items:stretch;height:100%;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--shadow-sm);transition:.2s}
.destination-card:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:#bdcdd4}
.destination-card img,.destination-card .placeholder-cover{width:118px;height:118px;flex:0 0 118px;object-fit:cover}
.destination-card .placeholder-cover{font-size:1rem;background:var(--primary-soft)}
.destination-card-body{display:flex;align-items:center;gap:.75rem;justify-content:space-between;padding:1rem;min-width:0;flex-grow:1}
.destination-card-body p{font-size:.75rem;line-height:1.4;color:var(--muted);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.process-section{background:#fff}
.process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);border-radius:16px;overflow:hidden}
.process-grid>div{padding:1.45rem;border-right:1px solid var(--line)}
.process-grid>div:last-child{border-right:0}
.process-grid span{display:block;color:var(--accent);font-size:.72rem;font-weight:850;letter-spacing:.08em;margin-bottom:.65rem}
.process-grid h3{font-size:.95rem;margin-bottom:.35rem}
.process-grid p{color:var(--muted);font-size:.79rem;margin:0}
.entry-flow-page{min-height:62vh;background:linear-gradient(135deg,#f8fafb,#eef4f6);padding:70px 0}
.entry-context{display:inline-flex;align-items:center;gap:.75rem;background:#fff;border:1px solid var(--line);padding:.75rem 1rem;border-radius:14px;box-shadow:var(--shadow-sm)}
.entry-modal .modal-content{border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-lg)}
.entry-actions{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
.entry-cancel{display:block;text-align:center;margin-top:1rem;font-size:.78rem;color:var(--muted);text-decoration:none}
.entry-cancel:hover{color:var(--primary)}

/* Customer dashboard */
.customer-body{background:#f5f7f8}
.customer-nav{padding:.66rem 0;box-shadow:none}
.customer-main{max-width:1240px}
.customer-profile-link{display:flex;align-items:center;gap:.55rem;color:var(--ink)!important;text-decoration:none!important;font-size:.82rem;font-weight:700!important}
.avatar{display:inline-grid;place-items:center;overflow:hidden;border-radius:50%;object-fit:cover;background:var(--primary-soft);color:var(--primary);font-weight:800;border:1px solid #d8e4e8}
.avatar-sm{width:34px;height:34px;font-size:.7rem}
.avatar-xl{width:110px;height:110px;font-size:1.7rem}
.avatar-initials{letter-spacing:.03em}
.customer-subnav a{display:inline-flex;align-items:center;gap:.38rem;font-size:.8rem;padding:.72rem .7rem}
.dashboard-intro{padding:.25rem 0}
.dashboard-intro h1,.admin-dashboard-head h1,.compact-heading h1{font-size:1.35rem!important;letter-spacing:-.02em}
.dashboard-intro p,.admin-dashboard-head p,.compact-heading p{font-size:.86rem}
.dashboard-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:.75rem}
.summary-tile,.reward-mini-card{display:flex;align-items:center;gap:.72rem;background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow-sm);padding:.85rem 1rem;min-height:72px}
.summary-tile .summary-icon{width:38px;height:38px;border-radius:11px}
.summary-tile small,.reward-mini-card small{display:block;color:var(--muted);font-size:.69rem;line-height:1.15}
.summary-tile strong,.reward-mini-card strong{display:block;color:var(--ink);font-size:1.02rem;line-height:1.25;margin-top:.18rem;letter-spacing:-.015em}
.reward-mini-card{min-width:205px;color:var(--ink);text-decoration:none;background:linear-gradient(135deg,#fff,#fdf9f2);border-color:#eadcc9;padding:.68rem .85rem}
.reward-mini-card:hover{color:var(--ink);border-color:#d6b889;box-shadow:var(--shadow)}
.reward-mini-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--accent-soft);color:var(--accent)}
.reward-mini-card em{display:block;font-size:.62rem;color:var(--muted);font-style:normal;margin-top:.08rem}
.balance-notice{display:flex;align-items:center;gap:.75rem;padding:.78rem 1rem;background:#fff9ef;border:1px solid #ead5b2;border-radius:12px;color:#6c4a1d;font-size:.8rem}
.balance-notice>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#f6e9d3;color:var(--warning)}
.balance-notice p{color:#876b43;font-size:.74rem}
.balance-notice a{margin-left:auto;font-weight:750;font-size:.76rem;white-space:nowrap}
.dashboard-services-panel{padding:1rem}
.customer-service-wrap{border:1px solid #edf0f2;border-radius:11px}
.customer-service-table td{font-size:.8rem}
.customer-service-table td:nth-child(4){min-width:220px}
.dashboard-service-directory{padding-top:.2rem}
.directory-service-card{display:flex;align-items:center;gap:.75rem;height:100%;padding:.9rem 1rem;border:1px solid var(--line);border-radius:13px;background:#fff;color:var(--ink);text-decoration:none;box-shadow:var(--shadow-sm)}
.directory-service-card:hover{color:var(--primary);border-color:#bdcdd4;box-shadow:var(--shadow)}
.statement-balance{text-align:right;background:#fff;border:1px solid var(--line);border-radius:12px;padding:.68rem .9rem;min-width:190px}
.statement-balance small{display:block;color:var(--muted);font-size:.67rem}
.statement-balance strong{display:block;font-size:1.02rem;margin-top:.15rem}
.statement-table td{font-size:.78rem}
.profile-card{text-align:center}
.profile-photo-wrap{display:flex;justify-content:center}
.profile-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}
.profile-details>div{background:var(--surface-2);border:1px solid #edf0f2;border-radius:11px;padding:.75rem}
.profile-details dt{font-size:.66rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.2rem}
.profile-details dd{font-size:.84rem;margin:0;font-weight:650;word-break:break-word}

/* Admin dashboard and navigation */
.admin-body{background:#f4f6f7}
.admin-sidebar{width:248px;padding:16px 12px;box-shadow:none}
.admin-main{margin-left:248px}
.admin-brand{padding:4px 8px 17px;margin-bottom:8px}
.admin-sidebar nav{gap:2px}
.admin-sidebar nav a{display:flex;align-items:center;gap:.7rem;padding:8px 10px;border-radius:9px;font-size:.82rem}
.admin-sidebar nav a.active{font-weight:800}
.nav-section{font-size:.59rem;padding:16px 10px 5px}
.admin-topbar{min-height:62px;padding:0 20px;box-shadow:none}
.admin-content{padding:20px;max-width:1600px}
.admin-user-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.42rem .65rem;border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:.72rem}
.admin-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) minmax(210px,1.25fr);gap:.75rem}
.admin-summary-card{display:flex;align-items:center;gap:.7rem;padding:.85rem;background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow-sm);text-decoration:none;color:var(--ink)}
.admin-summary-card:hover{color:var(--ink);border-color:#bdcdd4;box-shadow:var(--shadow)}
.admin-summary-card .summary-icon{width:37px;height:37px;border-radius:10px}
.admin-summary-card small{display:block;color:var(--muted);font-size:.67rem}
.admin-summary-card strong{display:block;font-size:1.05rem;margin-top:.12rem;letter-spacing:-.015em}
.admin-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}
.admin-service-tile{display:flex;align-items:center;gap:.7rem;border:1px solid var(--line);border-radius:12px;padding:.8rem;color:var(--ink);text-decoration:none;background:var(--surface-2)}
.admin-service-tile:hover{background:#fff;color:var(--primary);border-color:#bdcdd4}
.admin-service-tile strong{display:block;font-size:.82rem}
.admin-service-tile small{display:block;color:var(--muted);font-size:.7rem;margin-top:.1rem}
.admin-reward-figure{padding:1rem;background:linear-gradient(135deg,var(--accent-soft),#fff);border:1px solid #eadac3;border-radius:12px;margin-bottom:.75rem}
.admin-reward-figure strong{display:block;font-size:1.45rem;color:#765027}
.admin-reward-figure span{display:block;color:var(--muted);font-size:.72rem}
.followup-list{display:grid;gap:.45rem}
.followup-list>a{display:flex;align-items:center;gap:.65rem;padding:.62rem;border:1px solid #edf0f2;border-radius:10px;text-decoration:none;color:var(--ink)}
.followup-list>a:hover{border-color:#bdcdd4;background:var(--surface-2)}
.followup-list strong{display:block;font-size:.77rem}
.followup-list small{display:block;font-size:.68rem;color:var(--muted);line-height:1.35;margin-top:.1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}
.followup-date{display:grid;place-items:center;width:42px;height:36px;border-radius:9px;background:#fff5e7;color:var(--warning);font-size:.69rem;font-weight:800}
.sticky-panel{position:sticky;top:82px;max-height:calc(100vh - 104px);overflow:auto}
.search-field{display:flex;align-items:center;border:1px solid var(--line-strong);border-radius:10px;background:#fff;overflow:hidden;padding-left:.65rem}
.search-field>span{color:var(--muted)}
.search-field input{border:0;outline:0;min-width:0;flex:1;padding:.62rem;font-size:.8rem}
.search-field button{align-self:stretch;border:0;border-left:1px solid var(--line);background:var(--surface-2);color:var(--primary);font-size:.72rem;font-weight:800;padding:0 .7rem}
.customer-picker-list{display:grid;gap:.35rem}
.customer-picker-item{display:flex;align-items:center;gap:.55rem;padding:.55rem;border:1px solid transparent;border-radius:10px;text-decoration:none;color:var(--ink)}
.customer-picker-item:hover,.customer-picker-item.active{background:var(--primary-soft);border-color:#d6e4e9;color:var(--ink)}
.customer-picker-item strong{display:block;font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.customer-picker-item small{display:block;color:var(--muted);font-size:.64rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:165px}
.reward-admin-summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:linear-gradient(135deg,#fff,#fdf9f3);border:1px solid #eadcc8;border-radius:14px;padding:1rem 1.15rem;box-shadow:var(--shadow-sm)}
.reward-admin-summary .text-end small,.reward-admin-summary .text-end span{display:block;color:var(--muted);font-size:.65rem}
.reward-admin-summary .text-end strong{display:block;font-size:1.4rem;color:#775328}

/* Remove old oversized dashboard treatments */
.customer-welcome{padding:1.2rem;border-radius:15px}
.stat-card{padding:1rem}
.stat-card .stat-value{font-size:1.3rem}

@media(max-width:1199px){
  .dashboard-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .reward-mini-card{min-width:0}
  .admin-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .admin-summary-card.wide{grid-column:span 2}
}
@media(max-width:991px){
  .admin-main{margin-left:0}
  .admin-content{padding:15px}
  .section-heading-grid{grid-template-columns:1fr;gap:.75rem}
  .gov-hero{padding:58px 0}
  .confidence-grid{grid-template-columns:1fr}
  .confidence-grid>div{border-right:0;border-bottom:1px solid var(--line);padding:1rem .4rem}
  .confidence-grid>div:last-child{border-bottom:0}
  .process-grid{grid-template-columns:1fr}
  .process-grid>div{border-right:0;border-bottom:1px solid var(--line)}
  .process-grid>div:last-child{border-bottom:0}
}
@media(max-width:767px){
  body{font-size:14px}
  .section-space{padding:50px 0}
  .gov-hero{padding:48px 0}
  .gov-hero h1{font-size:clamp(2.15rem,10.5vw,3.3rem)}
  .section-title{font-size:1.85rem}
  .dashboard-intro,.admin-dashboard-head,.compact-heading{align-items:flex-start}
  .dashboard-actions{width:auto;display:flex;grid-template-columns:none}
  .dashboard-actions .btn{width:auto}
  .dashboard-summary-grid,.admin-summary-grid{grid-template-columns:1fr 1fr}
  .admin-summary-card.wide{grid-column:1/-1}
  .summary-tile,.reward-mini-card{padding:.72rem;min-height:64px}
  .summary-tile strong,.reward-mini-card strong{font-size:.9rem}
  .balance-notice{align-items:flex-start;flex-wrap:wrap}
  .balance-notice a{margin-left:46px}
  .admin-service-grid{grid-template-columns:1fr}
  .entry-actions{grid-template-columns:1fr}
  .entry-modal .modal-dialog{align-items:flex-end;min-height:calc(100% - 1rem);margin:.5rem}
  .entry-modal .modal-content{border-radius:18px 18px 12px 12px}
  .profile-details{grid-template-columns:1fr}
  .reward-admin-summary{align-items:flex-start}
  .sticky-panel{position:static;max-height:none}

  /* Mobile card layout for customer tables */
  .customer-service-wrap,.statement-table-wrap{border:0;overflow:visible}
  .customer-service-table,.statement-table{display:block}
  .customer-service-table thead,.statement-table thead{display:none}
  .customer-service-table tbody,.statement-table tbody{display:grid;gap:.75rem}
  .customer-service-table tr,.statement-table tr{display:grid;background:#fff;border:1px solid var(--line);border-radius:12px;padding:.55rem;box-shadow:var(--shadow-sm)}
  .customer-service-table td,.statement-table td{display:grid;grid-template-columns:108px 1fr;gap:.65rem;border-bottom:1px solid #edf0f2!important;padding:.48rem!important;text-align:left!important;min-width:0!important}
  .customer-service-table td:last-child,.statement-table td:last-child{border-bottom:0!important}
  .customer-service-table td:before,.statement-table td:before{content:attr(data-label);color:var(--muted);font-size:.64rem;text-transform:uppercase;letter-spacing:.055em;font-weight:750;padding-top:.1rem}
  .customer-service-table td.text-end .row-actions{justify-content:flex-start!important}
  .customer-service-table tr:has(td[colspan]),.statement-table tr:has(td[colspan]){display:block}
  .customer-service-table td[colspan],.statement-table td[colspan]{display:block;text-align:center!important;border:0!important}
  .customer-service-table td[colspan]:before,.statement-table td[colspan]:before{display:none}
}
@media(max-width:520px){
  .dashboard-summary-grid,.admin-summary-grid{grid-template-columns:1fr}
  .admin-summary-card.wide{grid-column:auto}
  .destination-card img,.destination-card .placeholder-cover{width:92px;height:112px;flex-basis:92px}
  .customer-user span:not(.avatar){display:none}
  .customer-subnav a{font-size:.74rem}
  .reward-admin-summary{flex-direction:column}
  .reward-admin-summary .text-end{text-align:left!important}
}
.admin-filter-bar{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}
.admin-filter-bar .form-select{width:auto;min-width:155px}
@media(max-width:767px){.admin-filter-bar>*{width:100%!important}.admin-filter-bar .form-select{min-width:0}}

/* Complete V6 operational modules */
.nav-count{margin-left:auto;min-width:20px;height:20px;display:grid;place-items:center;border-radius:999px;background:#fff1e9;color:#a64821;font-size:.62rem;font-style:normal;font-weight:800}
.admin-alert-chip{display:inline-flex;align-items:center;gap:.28rem;padding:.4rem .55rem;border:1px solid #f0d4c8;background:#fff8f4;color:#9c4927;border-radius:999px;text-decoration:none;font-size:.7rem;font-weight:800}
.admin-summary-grid-six{grid-template-columns:repeat(6,minmax(0,1fr))}
.queue-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}
.queue-summary a{padding:.65rem .45rem;border:1px solid var(--line);border-radius:10px;text-decoration:none;text-align:center;color:var(--ink);background:var(--surface-2)}
.queue-summary a:hover{border-color:#bccdd3;background:#fff}
.queue-summary strong,.queue-summary span{display:block}.queue-summary strong{font-size:1rem}.queue-summary span{font-size:.62rem;color:var(--muted);margin-top:.12rem}
.vip-dot{display:inline-flex;padding:.1rem .32rem;border-radius:5px;background:#fff3cd;color:#795b00;font-size:.55rem;margin-left:.2rem}
.service-category-stack{display:grid;gap:1rem}
.compact-dl dt,.compact-dl dd{font-size:.78rem;margin-bottom:.55rem}.compact-dl dt{color:var(--muted);font-weight:650}.compact-dl dd{font-weight:650}
.bank-admin-card,.bank-customer-card{height:100%;padding:1rem;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:var(--shadow-sm)}
.compact-bank-details{display:grid;grid-template-columns:90px 1fr;gap:.35rem .7rem;margin:.8rem 0}.compact-bank-details dt{color:var(--muted);font-size:.67rem}.compact-bank-details dd{margin:0;font-size:.75rem;font-weight:650;word-break:break-word}
.option-stack{display:grid;gap:.45rem}.option-stack label{font-size:.78rem;display:flex;align-items:center;gap:.45rem}
.slip-live-preview{min-height:135px;border:1px dashed var(--line-strong);border-radius:12px;background:var(--surface-2);display:grid;place-items:center;text-align:center;color:var(--muted);overflow:hidden;padding:.5rem}
.slip-live-preview img{width:100%;height:180px;object-fit:contain;border-radius:8px;background:#fff}
.payment-slip-image{max-width:100%;max-height:480px;object-fit:contain;border-radius:12px;border:1px solid var(--line);background:var(--surface-2)}
.notification-list{display:grid;gap:.4rem}.notification-list>a{display:flex;align-items:flex-start;gap:.55rem;padding:.65rem;border:1px solid #edf0f2;border-radius:10px;color:var(--ink);text-decoration:none}.notification-list>a:hover{background:var(--surface-2)}.notification-list strong,.notification-list small{display:block}.notification-list strong{font-size:.75rem}.notification-list small{font-size:.66rem;color:var(--muted);margin-top:.12rem}.notification-icon{width:28px;height:28px;border-radius:8px;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center;flex:0 0 auto}
.dashboard-payment-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}.dashboard-payment-actions>a{display:flex;align-items:center;gap:.65rem;padding:.75rem .85rem;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);text-decoration:none;box-shadow:var(--shadow-sm)}.dashboard-payment-actions>a:hover{border-color:#bbccd3;color:var(--primary)}.dashboard-payment-actions>a>span:first-child{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:var(--primary-soft);color:var(--primary)}.dashboard-payment-actions strong,.dashboard-payment-actions small{display:block}.dashboard-payment-actions strong{font-size:.76rem}.dashboard-payment-actions small{font-size:.64rem;color:var(--muted);margin-top:.1rem}.dashboard-payment-actions>a>.ui-icon:last-child{margin-left:auto}.ready-payment-link{border-color:#c8e0d7!important;background:#f7fcfa!important}
.row-note{display:block;color:var(--muted);font-size:.66rem;margin-top:.14rem;max-width:460px}
.record-count{display:inline-grid;place-items:center;min-width:27px;height:27px;padding:0 .35rem;border-radius:999px;background:var(--surface-2);font-size:.68rem;font-weight:800}
.five-cards{grid-template-columns:repeat(5,minmax(0,1fr))}
.posting-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.55rem}.posting-summary>div{padding:.7rem;border-radius:10px;background:var(--surface-2);border:1px solid #edf0f2}.posting-summary small,.posting-summary strong{display:block}.posting-summary small{font-size:.62rem;color:var(--muted)}.posting-summary strong{font-size:.78rem;margin-top:.15rem}
.profit-positive{color:#19704c}.profit-negative{color:#a73f3f}
.empty-inline{padding:1rem;text-align:center;color:var(--muted);font-size:.75rem}
.customer-footer{position:relative!important;inset:auto!important;width:100%;margin-top:auto}.customer-page-shell{min-height:100vh;display:flex;flex-direction:column}.customer-page-shell main{flex:1 0 auto}
.customer-footer-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1rem 0;color:var(--muted);font-size:.68rem}.customer-footer-links{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}.customer-footer a{color:var(--muted);text-decoration:none}.customer-footer a:hover{color:var(--primary)}
.dynamic-field[hidden],[data-holder-field][hidden],[data-purpose-target][hidden]{display:none!important}
@media(max-width:1399px){.admin-summary-grid-six{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1199px){.five-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-payment-actions{grid-template-columns:1fr 1fr}.posting-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:767px){.admin-summary-grid-six,.five-cards{grid-template-columns:1fr 1fr}.dashboard-payment-actions{grid-template-columns:1fr}.queue-summary{grid-template-columns:1fr 1fr}.posting-summary{grid-template-columns:1fr 1fr}.customer-footer-inner{align-items:flex-start;flex-direction:column}.slip-live-preview img{height:220px}}
@media(max-width:520px){.admin-summary-grid-six,.five-cards,.queue-summary,.posting-summary{grid-template-columns:1fr}.admin-sidebar{width:min(86vw,280px)}}

/* V7 homepage journey and posting controls */
.journey-panel{padding:1rem 1.1rem}
.journey-step{display:grid;grid-template-columns:38px 1fr;gap:.75rem;align-items:start;padding:.9rem 0;border-top:1px solid var(--line)}
.journey-step>span{width:34px;height:34px;border-radius:10px;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center;font-size:.68rem;font-weight:800}
.journey-step strong,.journey-step small{display:block}.journey-step strong{font-size:.82rem}.journey-step small{font-size:.7rem;color:var(--muted);line-height:1.45;margin-top:.18rem}
.posting-cell{min-width:132px}.posting-cell .badge{margin-bottom:.3rem}.posting-inline-actions{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}
.posting-modal-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem}.posting-modal-summary>div{padding:.65rem;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}.posting-modal-summary small,.posting-modal-summary strong{display:block}.posting-modal-summary small{font-size:.62rem;color:var(--muted)}.posting-modal-summary strong{font-size:.78rem;margin-top:.12rem}
@media(max-width:767px){.journey-panel{margin-top:.5rem}.posting-modal-summary{grid-template-columns:1fr}}
/* V8 compact administration refinements */
.admin-content{font-size:.92rem}.admin-content .form-control,.admin-content .form-select{min-height:42px;font-size:.9rem}.compact-table>:not(caption)>*>*{padding:.66rem .7rem}.compact-table th{font-size:.7rem;letter-spacing:.055em}.icon-action-btn{width:34px;height:34px;border:1px solid #d7e1e8;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:#fff;color:#285c73;transition:.18s ease;padding:0;text-decoration:none}.icon-action-btn:hover{background:#edf5f7;color:#153d51;border-color:#b9cdd7}.icon-action-btn:disabled{opacity:.35;cursor:not-allowed;background:#f5f7f8}.icon-action-btn.post-ready{background:#285f78;color:#fff;border-color:#285f78}.icon-action-btn.posted{background:#e8f7ef;color:#178153;border-color:#b9e5ce}.posting-meta{display:inline-flex;align-items:center;justify-content:center;margin-left:.25rem;color:#178153}.vip-star{color:#d39a18;font-size:1rem;margin-left:.25rem;vertical-align:middle}.permission-box{border:1px solid #e1e8ed;border-radius:12px;padding:.8rem;background:#fafcfd}.admin-dashboard-head{align-items:center}.admin-dashboard-head h1{font-size:1.18rem}.posting-modal-summary{font-size:.84rem}
@media(min-width:992px){.admin-content{padding:20px 22px}.admin-content form.d-flex.flex-wrap.gap-2{display:grid!important;grid-template-columns:minmax(220px,1.5fr) repeat(4,minmax(135px,.7fr)) auto;align-items:end;width:100%}.admin-content form.d-flex.flex-wrap.gap-2 .form-control,.admin-content form.d-flex.flex-wrap.gap-2 .form-select{width:100%}}
@media(max-width:767px){.compact-table{min-width:900px}.admin-content{padding:14px}.admin-dashboard-head h1{font-size:1.05rem}}

/* V9 complete form builder and staff access controls */
.form-builder-table{min-width:760px}.field-kind-icon{width:30px;height:30px;border-radius:9px;display:inline-grid;place-items:center;background:var(--primary-soft);color:var(--primary);flex:0 0 auto}.icon-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:.28rem}.switch-button{position:relative;width:38px;height:22px;border:0;border-radius:999px;background:#d7dfe4;padding:0;transition:.18s ease}.switch-button span{position:absolute;width:16px;height:16px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.18);transition:.18s ease}.switch-button.on{background:#2d7663}.switch-button.on span{transform:translateX(16px)}.status-dot{width:10px;height:10px;border-radius:50%;display:inline-block;background:#c9d1d6}.status-dot.active{background:#2b8a68}.permission-header-tools{display:flex;align-items:center;justify-content:flex-end;gap:.4rem;flex-wrap:wrap}.permission-header-tools .form-control{width:190px}.permission-groups{display:grid;gap:.65rem}.permission-group{border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden}.permission-group>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;cursor:pointer;padding:.78rem .9rem;background:var(--surface-2);list-style:none}.permission-group>summary::-webkit-details-marker{display:none}.permission-group>summary strong{font-size:.78rem}.permission-group>summary span{font-size:.64rem;color:var(--muted)}.permission-group-tools{display:flex;gap:.35rem;padding:.55rem .8rem 0}.permission-group-tools button{border:0;background:transparent;color:var(--primary);font-size:.66rem;font-weight:750;padding:.2rem .3rem}.permission-group .row{padding:.65rem .8rem .85rem}.permission-item{height:100%;display:flex;align-items:flex-start;gap:.55rem;padding:.62rem .68rem;border:1px solid #e7ecef;border-radius:10px;background:#fff;cursor:pointer}.permission-item:hover{border-color:#c4d4dc;background:#fbfdfe}.permission-item input{margin-top:.12rem}.permission-item strong,.permission-item small{display:block}.permission-item strong{font-size:.72rem;line-height:1.3}.permission-item small{font-size:.61rem;color:var(--muted);margin-top:.1rem;word-break:break-all}.staff-list{display:grid;gap:.35rem}.staff-list-item{display:flex;align-items:center;gap:.6rem;padding:.62rem;border:1px solid transparent;border-radius:11px;color:var(--ink);text-decoration:none}.staff-list-item:hover,.staff-list-item.active{background:var(--surface-2);border-color:var(--line)}.staff-avatar{width:32px;height:32px;border-radius:10px;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center;font-size:.72rem;font-weight:850}.staff-list-item strong,.staff-list-item small{display:block}.staff-list-item strong{font-size:.75rem}.staff-list-item small{font-size:.63rem;color:var(--muted);margin-top:.08rem}.staff-quick-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.55rem}.staff-quick-grid>a{display:grid;grid-template-columns:30px 1fr 16px;align-items:center;gap:.55rem;padding:.7rem;border:1px solid var(--line);border-radius:11px;background:#fff;text-decoration:none;color:var(--ink)}.staff-quick-grid>a:hover{border-color:#b8ccd6;background:var(--surface-2);color:var(--primary)}.staff-quick-grid>a>span{width:30px;height:30px;border-radius:8px;background:var(--primary-soft);display:grid;place-items:center;color:var(--primary)}.staff-quick-grid strong{font-size:.72rem}.choice-row{display:flex;gap:.7rem;flex-wrap:wrap;min-height:42px;align-items:center;padding:.45rem .65rem;border:1px solid var(--line);border-radius:10px;background:#fff}.dynamic-field{transition:.15s ease}.dynamic-field[hidden]{display:none!important}
@media(max-width:991px){.permission-header-tools{justify-content:flex-start}.permission-header-tools .form-control{width:100%}.form-builder-table{min-width:720px}}
@media(max-width:575px){.permission-group .row{padding:.55rem}.permission-group-tools{overflow:auto}.staff-quick-grid{grid-template-columns:1fr 1fr}.choice-row{align-items:flex-start;flex-direction:column;gap:.35rem}}
.assignment-scroll{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;max-height:320px;overflow:auto;padding-right:.25rem}.assignment-customer[hidden]{display:none!important}@media(max-width:767px){.assignment-scroll{grid-template-columns:1fr;max-height:360px}}

/* V9.1 customer balance summary hotfix */
.dashboard-summary-grid.balance-only{grid-template-columns:minmax(0,1fr) auto}
.current-balance-tile{max-width:none}
.current-balance-tile strong{font-size:1.08rem}
@media(max-width:767px){.dashboard-summary-grid.balance-only{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.dashboard-summary-grid.balance-only{grid-template-columns:1fr}}

/* Bank Logo & Customer Bank Details Hotfix */
.bank-details-panel{overflow:hidden;background:linear-gradient(180deg,#fff 0%,#fbfdfe 100%)}
.bank-details-heading{padding-bottom:.85rem;border-bottom:1px solid var(--line)}
.bank-details-note{display:inline-flex;align-items:center;gap:.32rem;padding:.38rem .58rem;border:1px solid #dce7eb;border-radius:999px;background:#f6fafb;color:var(--muted);font-size:.65rem;font-weight:700;white-space:nowrap}
.bank-details-grid{margin-top:.05rem}
.customer-bank-card{height:100%;padding:1rem 1.05rem;border:1px solid #dce6ea;border-radius:16px;background:#fff;box-shadow:0 8px 26px rgba(30,63,78,.055);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.customer-bank-card:hover{border-color:#bfd2da;box-shadow:0 12px 32px rgba(30,63,78,.08);transform:translateY(-1px)}
.bank-card-head{display:flex;align-items:center;gap:.75rem;padding-bottom:.85rem;border-bottom:1px solid #edf2f4}
.bank-logo-frame{width:50px;height:50px;flex:0 0 50px;display:grid;place-items:center;overflow:hidden;border:1px solid #dce7eb;border-radius:13px;background:#f5f9fa;color:var(--primary)}
.bank-logo-frame img{display:block;width:100%;height:100%;object-fit:contain;padding:5px;background:#fff}
.bank-logo-frame-sm{width:42px;height:42px;flex-basis:42px;border-radius:11px}
.bank-logo-preview{width:58px;height:58px;flex-basis:58px}
.bank-card-title{min-width:0;display:flex;flex-direction:column;gap:.1rem}.bank-card-title small{color:var(--muted);font-size:.62rem;text-transform:uppercase;letter-spacing:.065em;font-weight:750}.bank-card-title strong{font-size:.9rem;line-height:1.25;color:var(--ink);overflow-wrap:anywhere}
.bank-default-chip{margin-left:auto;padding:.25rem .48rem;border-radius:999px;background:var(--primary-soft);color:var(--primary);font-size:.59rem;font-weight:800}
.bank-detail-list{display:grid;margin-top:.2rem}
.bank-detail-row{display:grid;grid-template-columns:120px minmax(0,1fr);gap:.6rem;align-items:center;padding:.66rem 0;border-bottom:1px solid #edf2f4}.bank-detail-row:last-child{border-bottom:0}.bank-detail-copy-row{grid-template-columns:120px minmax(0,1fr) 32px}
.bank-detail-label{color:var(--muted);font-size:.66rem;font-weight:650}.bank-detail-value{min-width:0;font-size:.75rem;font-weight:700;color:var(--ink);overflow-wrap:anywhere;word-break:break-word}.bank-iban{letter-spacing:.01em}
.bank-copy-icon{width:30px;height:30px;padding:0;display:grid;place-items:center;border:1px solid #d9e4e8;border-radius:8px;background:#f8fbfc;color:var(--primary);font-size:0;transition:.15s ease}.bank-copy-icon:hover{background:var(--primary);border-color:var(--primary);color:#fff}.bank-copy-icon:focus-visible{outline:3px solid rgba(44,104,130,.18);outline-offset:1px}
.bank-instructions{margin-top:.6rem;padding:.65rem .72rem;border-radius:10px;background:#f6fafb;color:var(--muted);font-size:.67rem;line-height:1.55}
.bank-admin-card-v2{padding:1rem}.bank-admin-head{display:flex;align-items:center;gap:.65rem}.bank-admin-title{min-width:0;flex:1}.bank-admin-badges{display:flex;align-items:center;justify-content:flex-end;gap:.25rem;flex-wrap:wrap}.bank-logo-upload-row{display:flex;align-items:center;gap:.75rem}
@media(max-width:575px){.bank-details-heading{align-items:flex-start}.bank-details-note{display:none}.customer-bank-card{padding:.9rem}.bank-logo-frame{width:44px;height:44px;flex-basis:44px}.bank-detail-row,.bank-detail-copy-row{grid-template-columns:1fr auto;gap:.25rem .55rem}.bank-detail-label{grid-column:1/-1}.bank-detail-copy-row .bank-detail-value{grid-column:1}.bank-detail-copy-row .bank-copy-icon{grid-column:2;grid-row:2}.bank-logo-upload-row{align-items:flex-start;flex-direction:column}.bank-admin-head{align-items:flex-start;flex-wrap:wrap}.bank-admin-badges{width:100%;justify-content:flex-start;padding-left:49px}}


/* Bank Cards & Logo Optimisation Hotfix V2 */
.bank-accounts-section{padding:1rem;border:1px solid var(--line);border-radius:16px;background:linear-gradient(180deg,#fff 0%,#fbfdfe 100%);box-shadow:0 8px 26px rgba(31,68,84,.04)}
.bank-accounts-section-head{display:flex;align-items:center;gap:.7rem;margin-bottom:.9rem;padding-bottom:.82rem;border-bottom:1px solid #edf2f4}
.bank-section-symbol{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary);flex:0 0 36px}
.bank-account-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:.85rem}
.bank-account-card-v3{min-width:0;padding:.95rem;border:1px solid #dfe9ed;border-radius:15px;background:#fff;box-shadow:0 5px 18px rgba(28,65,81,.045);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.bank-account-card-v3:hover{transform:translateY(-1px);border-color:#c7d9e0;box-shadow:0 10px 26px rgba(28,65,81,.075)}
.bank-account-card-top{display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:.7rem;padding-bottom:.8rem;border-bottom:1px solid #edf2f4}
.bank-logo-shell{width:54px;height:54px;display:grid;place-items:center;overflow:hidden;border:1px solid #dce7eb;border-radius:14px;background:#f7fafb;color:var(--primary)}
.bank-logo-shell img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;padding:6px;background:#fff}
.bank-account-title{min-width:0}.bank-account-title span{display:block;color:var(--muted);font-size:.6rem;font-weight:760;text-transform:uppercase;letter-spacing:.065em}.bank-account-title h3{margin:.12rem 0 0;font-size:.88rem;font-weight:790;line-height:1.28;color:var(--ink);overflow-wrap:anywhere}
.bank-preferred-chip{padding:.24rem .46rem;border-radius:999px;background:var(--primary-soft);color:var(--primary);font-size:.57rem;font-weight:800;white-space:nowrap}
.bank-account-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin-top:.72rem}
.bank-info-block{min-width:0;padding:.64rem .68rem;border:1px solid #e7eef1;border-radius:11px;background:#fbfdfe}
.bank-info-block.bank-info-wide{grid-column:1/-1}
.bank-info-block>span{display:block;margin-bottom:.2rem;color:var(--muted);font-size:.59rem;font-weight:700;text-transform:uppercase;letter-spacing:.045em}
.bank-info-block strong{display:block;min-width:0;color:var(--ink);font-size:.72rem;font-weight:740;line-height:1.4;overflow-wrap:anywhere;word-break:break-word}
.bank-copy-line{display:grid;grid-template-columns:minmax(0,1fr) 30px;align-items:center;gap:.45rem}
.bank-copy-button{position:relative;width:29px;height:29px;padding:0;border:0;border-radius:9px;display:grid;place-items:center;background:#eaf3f6;color:var(--primary);transition:background .16s ease,color .16s ease,transform .16s ease;cursor:pointer}
.bank-copy-button:hover{background:var(--primary);color:#fff;transform:translateY(-1px)}
.bank-copy-button:focus-visible{outline:3px solid rgba(44,104,130,.2);outline-offset:2px}
.bank-copy-button .copy-icon-default,.bank-copy-button .copy-icon-success{display:grid;place-items:center;grid-area:1/1}
.bank-copy-button .copy-icon-success{opacity:0;transform:scale(.7)}
.bank-copy-button.copied{background:#e4f5ec;color:#1d7d55}
.bank-copy-button.copied .copy-icon-default{opacity:0;transform:scale(.7)}
.bank-copy-button.copied .copy-icon-success{opacity:1;transform:scale(1)}
.bank-copy-button .copy-icon-default,.bank-copy-button .copy-icon-success{transition:opacity .14s ease,transform .14s ease}
.copy-confirmation{position:absolute;right:-2px;bottom:calc(100% + 7px);padding:.28rem .43rem;border-radius:7px;background:#163f52;color:#fff;font-size:.56rem;font-weight:750;line-height:1;opacity:0;pointer-events:none;transform:translateY(3px);transition:.15s ease;white-space:nowrap;box-shadow:0 5px 14px rgba(16,48,62,.2)}
.bank-copy-button.copied .copy-confirmation{opacity:1;transform:translateY(0)}
.bank-iban-value{letter-spacing:.015em}
.bank-card-instructions{margin-top:.62rem;padding:.58rem .66rem;border-left:3px solid #bdd4dd;border-radius:0 9px 9px 0;background:#f5f9fa;color:var(--muted);font-size:.64rem;line-height:1.5}
.bank-logo-preview{width:72px;height:54px;flex-basis:72px;border-radius:12px}.bank-logo-preview img{object-fit:contain;padding:5px}.bank-logo-upload-row{padding:.65rem;border:1px solid #e5ecef;border-radius:12px;background:#fbfdfe}
@media(max-width:575px){.bank-accounts-section{padding:.82rem}.bank-account-card-grid{grid-template-columns:1fr}.bank-account-card-v3{padding:.82rem}.bank-account-card-top{grid-template-columns:48px minmax(0,1fr);gap:.62rem}.bank-logo-shell{width:48px;height:48px}.bank-preferred-chip{grid-column:2;justify-self:start}.bank-account-info-grid{grid-template-columns:1fr}.bank-info-block.bank-info-wide{grid-column:auto}.bank-logo-upload-row{width:100%}.bank-logo-preview{width:76px;height:56px;flex-basis:56px}}
