/* AdminX visual system adapted to the existing PHP components. No Bootstrap runtime required. */
:root{--ax-primary:#056464;--ax-primary-hover:#044f4f;--ax-ink:#172b4d;--ax-muted:#58677e;--ax-line:#e5eaf1;--ax-canvas:#f5f6fa;--ax-card:#fff;--ax-sidebar:#282a36;--ax-radius:16px;--ax-shadow:0 4px 24px #172b4d06}
html{color-scheme:light;scroll-padding-top:100px}html.dark{color-scheme:dark;--ax-ink:#edf2fc;--ax-muted:#b4bed1;--ax-line:#3e4355;--ax-canvas:#242633;--ax-card:#303342;--ax-sidebar:#20222e;--ax-shadow:0 4px 24px #00000012}
body{background:var(--ax-canvas);color:var(--ax-ink);font-family:Poppins,system-ui,-apple-system,sans-serif;font-size:14px;line-height:1.65;letter-spacing:.005em}h1,h2,h3,h4{color:var(--ax-ink);letter-spacing:-.025em}a{text-underline-offset:3px}button,a,input,select,textarea{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #42a3a3;outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.55}input::placeholder,textarea::placeholder{color:#78869b;opacity:1}
body .sidebar{background:var(--ax-sidebar)!important;box-shadow:none;border-right:1px solid #ffffff08;color:#d9dfed;width:270px;padding:8px 0}body .sidebar>div:first-child{min-height:76px;margin:0 18px 12px;padding:0 10px;border-bottom:1px solid #ffffff13}body .sidebar a{color:#d9dfed}body .sidebar .nav-title{color:#aab3c9!important;font-size:10px;letter-spacing:.13em;padding:22px 28px 8px}body .sidebar .nav-link{color:#d9dfed!important;margin:3px 14px;padding:12px 14px;border-radius:9px;font-size:13px;font-weight:400;gap:13px;transition:background .15s,color .15s}body .sidebar .nav-link .ti{color:#b6c2d7;font-size:21px}body .sidebar .nav-link:hover{background:#ffffff0c!important;color:white!important}body .sidebar .nav-link.is-active{background:#056464!important;color:#fff!important;box-shadow:0 4px 12px #00000014;font-weight:500}body .sidebar .nav-link.is-active .ti{color:white}body .sidebar>div:last-child{border-top-color:#ffffff15!important;color:#b4bed1;font-size:11px}body .topbar{height:78px;background:var(--ax-card);border-color:var(--ax-line);box-shadow:0 2px 14px #172b4d03;padding:0 32px;backdrop-filter:none}body .topbar h1{font-size:18px;font-weight:600}body .icon-btn{border-radius:10px;color:var(--ax-muted);width:42px;height:42px}body .icon-btn:hover{background:#0564640d;color:var(--ax-primary)}body .avatar{border-radius:12px;background:#e1efed;color:#056464;font-weight:600;width:40px;height:40px}body .page{max-width:1500px;padding:30px 32px 40px}body .page-head{align-items:center;margin-bottom:26px;gap:16px}body .page-title{font-size:26px;font-weight:600;line-height:1.3}body .crumb{font-size:12px;color:var(--ax-muted);margin-bottom:5px}body .card,body .stat{background:var(--ax-card);border:1px solid var(--ax-line);border-radius:var(--ax-radius);box-shadow:var(--ax-shadow)}body .card-head{padding:20px 24px;border-color:var(--ax-line)}body .card-body{padding:24px}body .card-title{font-size:16px;font-weight:600;color:var(--ax-ink)}body .stat{padding:23px;gap:16px;transition:transform .15s,box-shadow .15s}body a.stat:hover{transform:translateY(-2px);box-shadow:0 8px 28px #172b4d10}body .stat-icon{width:48px;height:48px;border-radius:12px;flex-shrink:0}body .stat-label{color:var(--ax-muted);font-size:12px;line-height:1.5}body .stat-value{font-size:25px;line-height:1.5;letter-spacing:-.04em;color:var(--ax-ink);font-weight:600;font-variant-numeric:tabular-nums}body .text-ink-muted,body .text-ink-light{color:var(--ax-muted)}body .text-xs{font-size:12px;line-height:1.6}
body .btn,body .btn-primary,body .btn-outline,body .btn-success,body .btn-danger,body .btn-ghost{min-height:43px;border-radius:8px;padding:10px 17px;font-size:13px;font-weight:500;line-height:1.4;gap:8px;transition:background .15s,box-shadow .15s;border-width:1px}body .btn-primary{background:var(--ax-primary);border-color:var(--ax-primary);color:#fff}body .btn-primary:hover{background:var(--ax-primary-hover);color:white;box-shadow:0 4px 12px #05646420}body .btn-outline{border-color:var(--ax-line);color:var(--ax-ink);background:var(--ax-card)}body .btn-outline:hover{border-color:#69a4a4;background:#05646408;color:var(--ax-primary)}body .btn-success{background:#147647;border-color:#147647;color:white}body .btn-danger{background:#c43847;border-color:#c43847;color:white}body .btn-sm{min-height:34px;padding:7px 11px;font-size:12px}body .label{font-size:13px;font-weight:500;color:var(--ax-ink);margin-bottom:8px}body .input{border:1px solid #dce2eb;background:var(--ax-card);border-radius:8px;color:var(--ax-ink);min-height:46px;padding-top:11px;padding-bottom:11px;font-size:14px!important;box-shadow:none}body .input:focus{border-color:#056464;box-shadow:0 0 0 3px #05646412}body .input.is-invalid{border-color:#c43847}body input[readonly]{background:var(--ax-canvas);color:var(--ax-muted)}body .help{font-size:12px;color:var(--ax-muted);line-height:1.7;margin-top:7px}body .field-error{font-size:12px;color:#b82f3c}body .choice{border:1px solid var(--ax-line);border-radius:10px;padding:17px;background:var(--ax-card)}body .choice:has(input:checked){border-color:#056464;background:#05646408;box-shadow:0 0 0 1px #056464}body .checkbox{accent-color:#056464}body .badge{border-radius:6px;padding:5px 9px;font-size:11px;font-weight:500;line-height:1.4;letter-spacing:.01em}body .badge-success{background:#e4f4eb;color:#17623b}body .badge-warning{background:#fff3d6;color:#79550a}body .badge-danger{background:#fce8eb;color:#ad2739}body .badge-primary{background:#e2f0ef;color:#056464}body .badge-info{background:#e8f0fd;color:#23599d}body .table{font-size:13px;border-collapse:collapse}body .table th{background:var(--ax-canvas);color:var(--ax-muted);padding:14px 20px;font-size:10px;letter-spacing:.09em;border-color:var(--ax-line);font-weight:600}body .table td{padding:17px 20px;border-color:var(--ax-line);font-variant-numeric:tabular-nums}body .table tbody tr:last-child td{border-bottom:0}body .table tbody tr:hover{background:#05646404}body .table td .font-mono{font-size:12px}body .empty{padding:52px 24px;color:var(--ax-muted)}body .pagination{border-top:1px solid var(--ax-line);padding:18px 24px}body .kv{border-color:var(--ax-line);padding:13px 0;gap:18px;font-size:13px}body .kv dt{color:var(--ax-muted)}body .kv dd{color:var(--ax-ink);overflow-wrap:anywhere}body .dropdown{border:1px solid var(--ax-line);border-radius:12px;background:var(--ax-card);box-shadow:0 12px 40px #172b4d1c}body .alert-success,body .alert-error,body .alert-warning,body .alert-info{border-radius:10px;padding:15px 18px;font-size:13px;line-height:1.6}body .ref-code{border:1px dashed #6ba9a9;border-radius:10px;letter-spacing:.1em;background:#edf6f5;color:#056464}body .package-cover-card{border-radius:16px}body .platform-notice,body .live-toast{border-radius:12px;box-shadow:var(--ax-shadow)}body .chat-thread{background:var(--ax-canvas);border-color:var(--ax-line);border-radius:12px}body .chat-bubble{border:1px solid var(--ax-line);border-radius:14px;background:var(--ax-card)}body .chat-bubble.is-mine{background:#e0f1ee;color:#173f3e}body .chat-message-text{font-size:14px}body .bottom-nav{background:var(--ax-card);border-color:var(--ax-line);box-shadow:0 -4px 20px #172b4d06}body .bottom-nav a{font-size:10px;padding:10px 2px;line-height:1.4}body .bottom-nav a.is-active{color:#056464}body .bottom-nav a.is-active .ti{background:#e1efed;border-radius:8px;padding:3px}body .bottom-nav .ti{font-size:22px}
/* Auth pages use the supplied AdminX illustration and a focused form column. */
.ax-auth-shell{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(420px,1fr);min-height:100svh}.ax-auth-aside{background:#eaf1f1;display:flex;flex-direction:column;justify-content:space-between;padding:44px 54px;overflow:hidden}.ax-brand{display:flex;align-items:center;gap:12px;color:#056464;font-size:26px;font-weight:600;text-decoration:none}.ax-brand img{width:42px;height:42px}.ax-auth-illustration{width:min(100%,590px);align-self:center;margin:32px 0}.ax-auth-caption{max-width:460px}.ax-auth-caption h2{font-size:30px;color:#183c3d;line-height:1.35}.ax-auth-caption p{color:#526d71;font-size:14px;margin-top:12px}.ax-auth-main{display:flex;flex-direction:column;background:var(--ax-card);min-width:0}.ax-auth-tools{display:flex;justify-content:flex-end;padding:24px 30px}.ax-auth-content{padding:24px 48px 64px;display:flex;flex:1;align-items:center;justify-content:center}.ax-auth-content>div{width:100%;max-width:410px}.ax-auth-content h2{font-size:28px;line-height:1.35;margin-bottom:12px}.ax-auth-content form{margin-top:26px}.ax-auth-content .btn-primary{min-height:48px}.ax-auth-foot{font-size:11px;color:var(--ax-muted);padding-top:32px}.ax-auth-mobile-brand{display:none}.ax-loading{display:inline-block;width:15px;height:15px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:ax-spin .65s linear infinite;flex-shrink:0}@keyframes ax-spin{to{transform:rotate(360deg)}}
html body .wd-form-card,html body .wd-history{background:var(--ax-card);border-color:var(--ax-line);border-radius:16px;box-shadow:var(--ax-shadow)}html body .wd-summary,html body .wd-recipient{border-radius:10px}html body .wd-hero{background:#056464;border-radius:16px}html body .wd-table th{background:var(--ax-canvas);color:var(--ax-muted)}html body .wd-table td{border-color:var(--ax-line)}html body .wd-form-label,html body .wd-breakdown-label,html body .wd-input-hint{color:var(--ax-muted)}html body .wd-submit{border-radius:9px;background:#056464}
html.dark body .input{border-color:var(--ax-line)}html.dark body .btn-outline:hover{color:#8dd7d0;background:#ffffff06}html.dark body .badge-success{background:#164934;color:#a2eac3}html.dark body .badge-warning{background:#4e401c;color:#f2d48a}html.dark body .badge-danger{background:#582f3a;color:#ffc0ca}html.dark body .badge-primary{background:#164c4b;color:#a1dbd9}html.dark body .badge-info{background:#253e65;color:#b1ccf7}html.dark .ax-auth-aside{background:#213c3f}html.dark .ax-auth-caption h2,html.dark .ax-brand{color:#d3f0ed}html.dark .ax-auth-caption p{color:#acc5c7}html.dark body .chat-bubble.is-mine{background:#174d48;color:#e1f4ee}html.dark body .ref-code{background:#214544;color:#b9e3e0}
@media(min-width:1024px){body .app-shell{padding-left:270px}body .sidebar{transform:translateX(0)}body .page-head form{max-width:100%}}
@media(max-width:1023px){body .page{padding:24px 20px 36px}body .topbar{height:68px;padding:0 20px}.ax-auth-shell{grid-template-columns:1fr}.ax-auth-aside{display:none}.ax-auth-mobile-brand{display:flex}.ax-auth-tools{justify-content:space-between}.ax-auth-content{padding:24px 24px 48px}body .sidebar.is-open{transform:translateX(0)}}
@media(max-width:600px){body .page{padding:22px 16px 30px}body .page-title{font-size:22px}body .topbar{padding:0 12px;gap:8px}body .topbar h1{font-size:16px}body .card-body{padding:20px}body .card-head{padding:17px 20px}body .stat{padding:19px}body .stat-value{font-size:23px}body .page-head>form{width:100%;flex-wrap:wrap}body .page-head>form .input{flex:1;min-width:100px;width:auto}body .page-head{align-items:flex-start;margin-bottom:22px}body .btn{white-space:normal}body .table-wrap{border-radius:12px}body .kv{font-size:12px}body .kv dd{max-width:65%}body .pagination{flex-wrap:wrap}body .wd-table{min-width:450px}.ax-auth-content h2{font-size:25px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
/* Keep large monetary values on one line without competing with their icon. */
body .stat{position:relative;display:block}body .stat .stat-icon{position:absolute;right:20px;top:22px;width:38px;height:38px;font-size:19px}body .stat .stat-label{padding-right:46px;min-height:36px}body .stat .stat-value{font-size:22px;white-space:nowrap;margin-top:9px;letter-spacing:-.035em}body .stat .stat-value+p{margin-top:6px;line-height:1.7}
@media(max-width:600px){body .input,body input,body select,body textarea{font-size:16px!important}}
html.dark body .alert-info{background:#263b56;color:#c1ddff;border-color:#49678a}html.dark body .alert-success{background:#214635;color:#b3edce;border-color:#3d755b}html.dark body .alert-warning{background:#4b3e23;color:#ffe0a2;border-color:#7a6637}html.dark body .alert-error{background:#502e38;color:#ffc5ce;border-color:#89515f}html.dark body a:not([class*="btn"]):not(.nav-link){color:#a4ddd7}
