/* CRMA47 v1.7.54 — Professional unified UI
   Loaded after legacy styles. This file changes presentation only. */
:root{
  --ui-navy-950:#061728;
  --ui-navy-900:#071d33;
  --ui-navy-800:#0b2947;
  --ui-navy-700:#123b62;
  --ui-gold-600:#d7a94e;
  --ui-gold-500:#efc26d;
  --ui-gold-100:#fff5df;
  --ui-bg:#f3f6fa;
  --ui-surface:#fff;
  --ui-text:#11263d;
  --ui-muted:#68778a;
  --ui-border:#dfe7ef;
  --ui-success:#16824a;
  --ui-warning:#a8680b;
  --ui-danger:#b9332b;
  --ui-info:#236eb4;
  --ui-radius:16px;
  --ui-radius-lg:20px;
  --ui-shadow:0 10px 30px rgba(7,29,51,.07);
  --ui-shadow-lg:0 22px 56px rgba(7,29,51,.12);
  --ui-content:1600px;
}
html{min-width:320px}
body{overflow-x:hidden}
body,button,input,select,textarea{font-family:"Noto Sans Thai","Sarabun","Prompt",Tahoma,Arial,sans-serif}
button,input,select,textarea{letter-spacing:0}

/* Shared typography and safe wrapping */
:is(.is-admin-page,.is-public-page) h1{font-size:clamp(1.75rem,2.2vw,2.35rem);line-height:1.2;letter-spacing:-.025em;text-wrap:balance}
:is(.is-admin-page,.is-public-page) h2{font-size:clamp(1.25rem,1.5vw,1.65rem);line-height:1.3;text-wrap:balance}
:is(.is-admin-page,.is-public-page) h3{font-size:clamp(1.05rem,1.2vw,1.25rem);line-height:1.35}
:is(.is-admin-page,.is-public-page) :is(p,small,td,th,label,strong,span,a){overflow-wrap:break-word}
:is(.is-admin-page,.is-public-page) :is(.system-card,.admin-panel,.stat-card,.form-row,.admin-content,.admin-layout>section){min-width:0}

/* Header / topbar */
.is-admin-page .site-header{height:70px;min-height:70px;background:linear-gradient(90deg,var(--ui-navy-950),#0a2945 58%,var(--ui-navy-950));border-bottom:1px solid rgba(239,194,109,.25);box-shadow:0 4px 18px rgba(4,20,36,.17)}
.is-admin-page .navbar{height:70px;width:min(var(--ui-content),calc(100% - 28px));gap:14px}
.is-admin-page .brand{gap:10px}.is-admin-page .brand-emblem-wrap{width:43px;height:48px}.is-admin-page .brand-copy strong{font-size:23px}.is-admin-page .brand-copy small{font-size:10px;letter-spacing:.13em}
.admin-shell-toggle{display:grid;place-items:center;width:42px;height:42px;flex:0 0 auto;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(255,255,255,.06);color:#fff;font-size:24px;cursor:pointer;transition:.18s ease}
.admin-shell-toggle:hover{background:rgba(255,255,255,.12);border-color:rgba(239,194,109,.46)}
.is-admin-page .nav-menu{margin-left:auto;gap:0}.admin-header-tools{gap:9px}.admin-header-site-link{min-height:42px;border-radius:12px;padding:0 14px}.admin-notification-button,.admin-header-logout button{width:42px;height:42px;border-radius:12px}.admin-header-user{min-height:42px;padding:0 8px;gap:8px}.admin-header-user>i{font-size:24px;color:var(--ui-gold-500)}.admin-header-user strong{font-size:12px}.admin-header-user small{font-size:10px}

/* Admin shell */
.is-admin-page{background:var(--ui-bg);color:var(--ui-text)}
.is-admin-page .system-page{min-height:calc(100vh - 70px);padding:24px 0 48px;background:linear-gradient(180deg,#f5f7fa 0%,#eef2f7 100%)}
.is-admin-page .container{width:min(var(--ui-content),calc(100% - 28px))}
.is-admin-page .admin-layout{display:grid;grid-template-columns:244px minmax(0,1fr);gap:22px;align-items:start;transition:grid-template-columns .2s ease,gap .2s ease}
.is-admin-page .admin-layout>section{min-width:0}
.admin-sidebar{position:sticky!important;top:90px!important;max-height:none!important;overflow:visible!important;align-self:start;border:1px solid rgba(255,255,255,.07)!important;border-radius:18px!important;padding:14px 12px!important;background:linear-gradient(180deg,#071e34,#061726)!important;box-shadow:0 18px 42px rgba(6,23,40,.18)!important}
.admin-sidebar-brand{position:relative;padding:4px 7px 14px!important}.admin-sidebar-mark{width:42px;height:42px;border-radius:12px}.admin-sidebar-brand strong{font-size:17px}.admin-sidebar-brand small{font-size:10px}
.admin-sidebar-close{display:none!important;position:absolute;right:0;top:1px;width:38px!important;height:38px!important;min-height:38px!important;padding:0!important;justify-content:center!important;border-radius:10px!important;background:rgba(255,255,255,.08)!important}
.admin-sidebar-user{margin:12px 3px 6px!important;padding:9px!important}.admin-sidebar-nav{gap:3px!important}.admin-menu-group{padding-top:7px!important}.admin-menu-title{padding:7px 10px 3px!important;font-size:9px!important;letter-spacing:.12em!important}.admin-sidebar a,.admin-sidebar button{min-height:40px!important;padding:8px 10px!important;border-radius:10px!important;font-size:12.5px!important}.admin-sidebar a:hover{transform:none!important}.admin-sidebar a.active{background:linear-gradient(90deg,rgba(239,194,109,.25),rgba(239,194,109,.08))!important;box-shadow:inset 3px 0 0 var(--ui-gold-500)!important}.admin-menu-badge{margin-left:auto!important;min-width:23px!important;height:23px!important;font-size:11px!important}
.admin-sidebar-footer{margin-top:8px!important;padding-top:8px!important}
.admin-sidebar-overlay{position:fixed;inset:70px 0 0;z-index:174;border:0;background:rgba(2,13,24,.57);backdrop-filter:blur(2px);cursor:pointer}
.admin-sidebar-overlay[hidden]{display:none}
@media(min-width:1181px){
  body.admin-sidebar-collapsed .is-admin-page .admin-layout,body.admin-sidebar-collapsed .admin-layout{grid-template-columns:0 minmax(0,1fr);gap:0!important}
  body.admin-sidebar-collapsed .admin-sidebar{width:0!important;min-width:0!important;padding:0!important;border:0!important;opacity:0;visibility:hidden;pointer-events:none;transform:translateX(-24px);overflow:hidden!important;box-shadow:none!important}
  .admin-sidebar{transition:opacity .18s ease,transform .18s ease,width .18s ease,padding .18s ease}
}

/* Page title / breadcrumbs */
.admin-page-head{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:18px!important;margin:0 0 18px!important;padding:0 2px!important}
.admin-page-head>div:first-child{min-width:0}.admin-page-title,.admin-page-head h1{margin:0!important;color:var(--ui-text)!important;font-size:clamp(1.75rem,2.3vw,2.35rem)!important;line-height:1.17!important;font-weight:900!important}.admin-page-subtitle,.admin-page-head p{margin:6px 0 0!important;color:var(--ui-muted)!important;font-size:13.5px!important;font-weight:700!important}.admin-page-actions{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap}.admin-breadcrumbs{display:flex;align-items:center;gap:6px;margin:0 0 7px;color:#758397;font-size:11.5px;font-weight:800}.admin-breadcrumbs a{color:#526a82}.admin-breadcrumbs i{font-size:9px}.admin-breadcrumbs span{color:#8b96a5}

/* Panels, cards, KPIs */
.is-admin-page :is(.system-card,.admin-panel){max-width:none;border:1px solid var(--ui-border)!important;border-radius:var(--ui-radius-lg)!important;background:var(--ui-surface)!important;box-shadow:var(--ui-shadow)!important;padding:20px!important}
.is-admin-page .system-card+.system-card,.is-admin-page .admin-panel+.admin-panel{margin-top:18px}
.is-admin-page .mini-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:0 0 18px}.is-admin-page .stat-card{position:relative;min-height:108px;padding:17px 18px!important;border:1px solid var(--ui-border)!important;border-radius:16px!important;background:#fff!important;box-shadow:var(--ui-shadow)!important;transition:.16s ease}.is-admin-page a.stat-card:hover{transform:translateY(-2px);border-color:#cfd9e4!important;box-shadow:0 16px 34px rgba(7,29,51,.1)!important}.is-admin-page .stat-card span{display:block;color:#66768a!important;font-size:13px!important;font-weight:800!important}.is-admin-page .stat-card strong{display:block;margin-top:6px;color:var(--ui-text)!important;font-size:clamp(1.75rem,2.5vw,2.25rem)!important;line-height:1!important}.admin-kpi-grid,.finance-kpi-grid{gap:12px!important}.admin-kpi-card{min-height:120px!important;border-radius:16px!important;padding:18px!important}.admin-kpi-card strong{font-size:clamp(1.7rem,2.4vw,2.25rem)!important}
.admin-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:14px;margin-bottom:16px;border-bottom:1px solid #edf1f5}.admin-panel-head h2{margin:0}.admin-panel-head p{margin:5px 0 0;color:var(--ui-muted);font-weight:700}

/* Forms and filter bars */
.is-admin-page .form-grid{gap:14px!important}.is-admin-page .form-row{gap:6px!important}.is-admin-page .form-row label{color:#263b52!important;font-size:13px!important;font-weight:850!important}.is-admin-page :is(input:not([type=checkbox]):not([type=radio]),select,textarea){width:100%;max-width:100%;border:1px solid #d8e1eb!important;border-radius:12px!important;background:#fff!important;color:var(--ui-text)!important;box-shadow:0 1px 0 rgba(7,29,51,.02);transition:border-color .15s,box-shadow .15s}.is-admin-page :is(input:not([type=checkbox]):not([type=radio]),select){min-height:44px;padding:9px 13px!important}.is-admin-page textarea{padding:11px 13px!important;line-height:1.55}.is-admin-page :is(input,select,textarea):focus{outline:0;border-color:#6b9bc4!important;box-shadow:0 0 0 3px rgba(35,110,180,.12)!important}.is-admin-page .payment-filter-form,.is-admin-page .pairing-filter-form,.is-admin-page .checkin-filter-card form{padding:0!important}.is-admin-page .payment-filter-action,.is-admin-page .filter-actions{display:flex!important;justify-content:flex-end!important;align-items:center!important;gap:9px!important}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:9px 16px;border-radius:12px;font-weight:850;line-height:1.25;white-space:normal}.btn-gold{border-color:#e5b658!important;background:linear-gradient(180deg,#ffd88a,#efb94f)!important;color:#13273e!important;box-shadow:0 8px 18px rgba(218,164,68,.19)}.btn-outline,.admin-btn-secondary{border:1px solid #d7e0e9!important;background:#fff!important;color:#24384e!important}.btn-navy{background:var(--ui-navy-800)!important;color:#fff!important}.btn:hover{transform:translateY(-1px)}

/* Alerts and deep links */
.is-admin-page .alert{border-radius:14px!important;padding:13px 15px!important;font-size:13.5px!important;line-height:1.55}.alert-actions{gap:8px!important}.admin-readiness-banner{border-radius:14px!important;padding:12px 15px!important}.admin-readiness-banner strong{font-size:14px!important}.admin-readiness-banner small{display:block;font-size:12px}

/* Data tables: one visual language, safe horizontal scrolling */
.is-admin-page .table-scroll-hint{display:none;align-items:center;gap:7px;margin:0 0 7px;color:#718096;font-size:11.5px;font-weight:800}.is-admin-page .table-scroll-hint.is-hidden{display:none!important}
.is-admin-page .table-wrap{position:relative;width:100%;max-width:100%;overflow:auto!important;border:1px solid var(--ui-border)!important;border-radius:15px!important;background:#fff;box-shadow:none!important;scrollbar-width:thin;scrollbar-color:#b5c2cf #edf2f6}.is-admin-page .table-wrap::-webkit-scrollbar{height:9px}.is-admin-page .table-wrap::-webkit-scrollbar-track{background:#edf2f6}.is-admin-page .table-wrap::-webkit-scrollbar-thumb{background:#b5c2cf;border-radius:999px}
.is-admin-page .data-table{width:100%;min-width:880px;border-collapse:separate!important;border-spacing:0!important;background:#fff!important;font-size:13px;line-height:1.45}.is-admin-page .data-table th{position:sticky;top:0;z-index:2;padding:12px 13px!important;border-bottom:1px solid #dfe6ee!important;background:#f5f8fb!important;color:#34485e!important;font-size:12px!important;font-weight:900!important;white-space:nowrap!important}.is-admin-page .data-table td{padding:13px!important;border-bottom:1px solid #edf1f5!important;color:#2b3e53!important;vertical-align:top!important;white-space:normal!important}.is-admin-page .data-table tbody tr:last-child td{border-bottom:0!important}.is-admin-page .data-table tbody tr:hover td{background:#fafcff}.is-admin-page .data-table small{color:#748194!important;font-size:11.5px}.is-admin-page .data-table .btn{min-height:36px;padding:7px 12px;font-size:12px}.is-admin-page .admin-payment-table{min-width:1120px}.is-admin-page .admin-payment-table th:nth-child(1){width:125px}.is-admin-page .admin-payment-table th:nth-child(2){min-width:210px}.is-admin-page .admin-payment-table th:nth-child(3){min-width:145px}.is-admin-page .admin-payment-table th:nth-child(4){min-width:210px}.is-admin-page .admin-payment-table th:nth-child(5){width:105px}.is-admin-page .admin-payment-table th:nth-child(6){width:115px}.is-admin-page .admin-payment-table th:last-child,.is-admin-page .admin-payment-table td:last-child,.is-admin-page .team-management-card .data-table th:last-child,.is-admin-page .team-management-card .data-table td:last-child{position:sticky;right:0;z-index:3;background:#fff;box-shadow:-8px 0 14px rgba(7,29,51,.045)}.is-admin-page .admin-payment-table th:last-child,.is-admin-page .team-management-card .data-table th:last-child{z-index:4;background:#f5f8fb}
.admin-datatable-controls{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;margin:0 0 12px!important;padding:12px 14px!important;border:1px solid var(--ui-border)!important;border-radius:14px!important;background:#f8fafc!important}.admin-datatable-tools{margin-left:auto}.admin-datatable-tools input{min-width:280px!important}.admin-datatable-tools :is(input,select){min-height:42px!important;border-radius:11px!important}.admin-datatable-pager{margin-top:14px!important;padding-top:13px!important;border-top:1px solid #edf1f5!important}.admin-page-btn{min-height:38px!important;border-radius:10px!important;box-shadow:none!important}.admin-page-btn.active{background:linear-gradient(180deg,#f7cf7d,#eab14b)!important;color:#14263c!important;border-color:#e4ae48!important}
.badge,.status-chip,.setup-status{min-height:27px;padding:4px 9px;border-radius:999px;font-size:11px;font-weight:900;line-height:1.25;white-space:nowrap}

/* Modal / review pages */
.review-modal-panel{border-radius:20px!important;box-shadow:0 32px 90px rgba(2,15,28,.28)!important}.review-modal-head{background:linear-gradient(90deg,var(--ui-navy-950),var(--ui-navy-800))!important}.payment-mobile-card,.admin-generated-card,.team-view-mobile-card{border:1px solid var(--ui-border)!important;border-radius:15px!important;box-shadow:0 8px 22px rgba(7,29,51,.055)!important}

/* Public / LIFF pages, excluding the custom homepage hero */
.is-public-page:not(.home-glass-body) .system-page{background:linear-gradient(180deg,#f7f9fb 0%,#fff 100%);padding:38px 0 60px}.is-public-page:not(.home-glass-body) .system-card{border:1px solid #e3e9f0!important;border-radius:20px!important;box-shadow:0 16px 42px rgba(7,29,51,.085)!important;padding:clamp(18px,3vw,30px)!important}.is-public-page:not(.home-glass-body) .form-row :is(input,select,textarea){min-height:46px;border:1px solid #d8e1eb!important;border-radius:13px!important;padding:10px 14px!important}.is-public-page:not(.home-glass-body) .btn{min-height:46px}.line-entry-page .site-header{display:none}.line-entry-page .system-page{min-height:100vh;padding-top:14px!important}.line-entry-page .system-card{border-radius:18px!important}.line-entry-page .web-bottom-nav{display:flex!important}

/* Legacy inline headings receive a professional fallback */
.is-admin-page .admin-layout>section>h1{margin:0 0 18px!important;font-size:clamp(1.75rem,2.3vw,2.35rem)!important}.is-admin-page .system-card>h1:first-child{margin-top:0!important}

/* Laptop / scaling breakpoints: 13–16 inch displays and 100/125/150% scaling */
@media(max-width:1440px){
  .is-admin-page .container{width:min(100% - 24px,var(--ui-content))}
  .is-admin-page .admin-layout{grid-template-columns:224px minmax(0,1fr);gap:17px}
  .admin-sidebar a,.admin-sidebar button{font-size:12px!important;padding-inline:9px!important}
  .is-admin-page .mini-stats{gap:10px}.is-admin-page .stat-card{padding:15px!important}
  .admin-header-site-link{padding-inline:11px}.admin-header-user{max-width:150px}
}
@media(max-width:1280px){
  .is-admin-page .admin-layout{grid-template-columns:206px minmax(0,1fr);gap:14px}
  .is-admin-page .system-card,.is-admin-page .admin-panel{padding:17px!important}
  .is-admin-page .mini-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
  .admin-page-title,.admin-page-head h1{font-size:clamp(1.65rem,2.2vw,2rem)!important}
  .admin-header-user span{display:none}.admin-header-user{padding:0 3px}
}
@media(max-width:1180px){
  .is-admin-page .admin-layout{display:block!important}
  .admin-sidebar{display:block!important;position:fixed!important;top:70px!important;bottom:0;left:0;z-index:180;width:min(300px,88vw);height:calc(100vh - 70px);max-height:none!important;overflow-y:auto!important;border-radius:0 18px 18px 0!important;transform:translateX(-105%);transition:transform .22s ease;box-shadow:20px 0 50px rgba(2,15,28,.28)!important}
  .admin-sidebar-brand,.admin-sidebar-user{display:flex!important}.admin-sidebar-nav{display:grid!important;overflow:visible!important;white-space:normal!important}.admin-menu-group{display:block!important;padding-top:7px!important}.admin-menu-title{display:block!important}.admin-sidebar-footer{display:block!important}
  body.admin-sidebar-open{overflow:hidden}.admin-sidebar-open .admin-sidebar{transform:translateX(0)}.admin-sidebar-close{display:flex!important}.admin-sidebar-brand>span:last-of-type{padding-right:40px}
  .admin-sidebar-overlay:not([hidden]){display:block}
  .is-admin-page .mini-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:900px){
  .is-admin-page .navbar{width:calc(100% - 18px)}.is-admin-page .brand-copy small{display:none}.is-admin-page .brand-copy strong{font-size:19px}.is-admin-page .brand-emblem-wrap{width:38px;height:42px}.admin-header-site-link span,.admin-header-user{display:none!important}.admin-header-tools{gap:6px}.admin-header-site-link,.admin-notification-button,.admin-header-logout button{width:40px;min-width:40px;height:40px;padding:0;justify-content:center}
  .is-admin-page .container{width:calc(100% - 18px)}.is-admin-page .system-page{padding:18px 0 36px}.admin-page-head{align-items:flex-start!important;flex-direction:column!important}.admin-page-actions{width:100%;justify-content:flex-start}.admin-page-actions .btn{flex:1 1 180px}
  .is-admin-page .mini-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-kpi-grid,.finance-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .is-admin-page .table-scroll-hint{display:flex}.admin-datatable-controls{align-items:stretch!important;flex-direction:column!important}.admin-datatable-tools{width:100%;margin-left:0;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important}.admin-datatable-tools input{min-width:0!important}.admin-datatable-title{display:flex;align-items:center;justify-content:space-between;gap:12px}
}
@media(max-width:760px){
  .is-admin-page .brand-copy{display:none}.admin-shell-toggle{order:-1}.is-admin-page .nav-menu{display:flex!important;position:static!important;flex-direction:row!important;padding:0!important;background:transparent!important;border:0!important}.is-admin-page .mobile-toggle{display:none!important}
  .is-admin-page .system-page{padding-top:14px}.is-admin-page .system-card,.is-admin-page .admin-panel{padding:14px!important;border-radius:16px!important}.admin-page-title,.admin-page-head h1{font-size:1.65rem!important}.admin-page-subtitle,.admin-page-head p{font-size:12.5px!important}.admin-breadcrumbs{font-size:10.5px}
  .admin-page-actions{display:grid!important;grid-template-columns:1fr!important}.admin-page-actions .btn{width:100%}.is-admin-page .mini-stats,.admin-kpi-grid,.finance-kpi-grid{grid-template-columns:1fr 1fr!important}.is-admin-page .stat-card{min-height:94px;padding:13px!important}.is-admin-page .stat-card strong{font-size:1.7rem!important}
  .is-admin-page .form-grid{grid-template-columns:1fr!important}.is-admin-page .payment-filter-action,.is-admin-page .filter-actions{display:grid!important;grid-template-columns:1fr!important}.is-admin-page .payment-filter-action .btn,.is-admin-page .filter-actions .btn{width:100%}
  .admin-datatable-tools{grid-template-columns:1fr!important}.admin-datatable-tools :is(input,select){width:100%!important}.admin-datatable-pager{display:grid!important;grid-template-columns:1fr!important}.admin-page-buttons{justify-content:flex-start!important;overflow-x:auto;flex-wrap:nowrap!important;padding-bottom:4px}
  body.is-admin-page .admin-smart-table-wrap,body.is-admin-page .payment-table-wrap,body.is-admin-page .admin-desktop-table{display:none!important}.admin-generated-card-list,.admin-smart-card-list,.payment-card-list,.admin-mobile-card-list{display:grid!important;gap:10px}.admin-generated-row{grid-template-columns:105px minmax(0,1fr)!important;gap:8px!important}.admin-generated-row b{min-width:0}.table-scroll-hint{display:none!important}
}
@media(max-width:480px){
  .is-admin-page .navbar{width:calc(100% - 12px)}.admin-header-site-link{display:none}.is-admin-page .container{width:calc(100% - 12px)}.is-admin-page .mini-stats,.admin-kpi-grid,.finance-kpi-grid{grid-template-columns:1fr!important}.admin-generated-row{grid-template-columns:1fr!important;gap:2px!important}.btn{width:100%}.admin-notification-panel{left:6px!important;right:6px!important;top:66px!important}.is-public-page .container{width:calc(100% - 16px)}
}
@media(min-width:1800px){.is-admin-page .container{width:min(1660px,calc(100% - 48px))}.is-admin-page .admin-layout{grid-template-columns:260px minmax(0,1fr);gap:26px}}
@media print{.admin-shell-toggle,.admin-sidebar-overlay,.admin-breadcrumbs,.table-scroll-hint{display:none!important}}
