/* RadiusKu unified UI stylesheet */
:root{--bg:#0b1220;--bg-soft:#f4f7fb;--panel:#ffffff;--line:#e3ebf3;--line-strong:#d2dde8;--text:#142334;--muted:#637587;--primary:#2563eb;--primary-soft:#e8f0ff;--secondary:#06b6d4;--success:#16a34a;--warning:#f59e0b;--danger:#ef4444;--shadow:0 20px 60px rgba(15,23,42,.08);--shadow-soft:0 10px 30px rgba(15,23,42,.06);--radius-xl:24px;--radius-lg:18px;--radius-md:14px;--radius-sm:12px;--brand:#0f5ea8;--soft:#f7fafc;--strong:#0f172a;--ui-border:#d8e5ee;--ui-shadow-sm:0 10px 24px rgba(15,23,42,.06);--ui-text:#142334;--ui-muted:#637587}*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{text-decoration:none;color:inherit}



/* ===== resources/views/bandwidth_profiles.php ===== */
.bandwidth-toolbar-card{padding:14px 16px;background:#fff;border:1px solid var(--ui-border);border-radius:16px;box-shadow:var(--ui-shadow-sm);margin-bottom:14px}
.bandwidth-toolbar-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.bandwidth-toolbar-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.bandwidth-toolbar-search{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ui-muted)}
.bandwidth-toolbar-search input,.bandwidth-table-toolbar select{min-width:120px}
.bandwidth-table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 16px;border-bottom:1px solid var(--ui-border);background:linear-gradient(180deg,#fff,#f9fbff)}
.bandwidth-table-toolbar .left,.bandwidth-table-toolbar .right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.bandwidth-bulk-checkbox{width:16px;height:16px;cursor:pointer}
.bandwidth-modal{position:fixed;inset:0;display:none;align-items:flex-start;justify-content:center;padding:24px 18px;z-index:90;background:rgba(15,23,42,.46)}
.bandwidth-modal.show{display:flex}
.bandwidth-dialog{width:min(760px,100%);max-height:calc(100vh - 48px);overflow:auto;background:#fff;border:1px solid var(--ui-border);border-radius:18px;box-shadow:0 24px 60px rgba(15,23,42,.22)}
.bandwidth-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:18px 20px;border-bottom:1px solid var(--ui-border)}
.bandwidth-head h3{margin:0;font-size:16px;color:var(--ui-text)}
.bandwidth-close{border:none;background:transparent;color:var(--ui-muted);font-size:24px;line-height:1;cursor:pointer}
.bandwidth-body{padding:18px 20px 20px}
.bandwidth-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.bandwidth-form-grid .full{grid-column:1/-1}
.bandwidth-rate-row{display:grid;grid-template-columns:minmax(0,1fr) 170px;gap:0}
.bandwidth-rate-row input{border-top-right-radius:0;border-bottom-right-radius:0}
.bandwidth-rate-row select{border-top-left-radius:0;border-bottom-left-radius:0}
.bandwidth-help{margin-top:6px;font-size:12px;color:var(--ui-muted)}
.bandwidth-modal-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:20px}
.bandwidth-hidden{display:none !important}
.bandwidth-empty-row td{text-align:center;color:var(--ui-muted)}
.bandwidth-name{font-weight:600}
@media (max-width:780px){
  .bandwidth-form-grid{grid-template-columns:1fr}
  .bandwidth-table-toolbar,.bandwidth-toolbar-row{align-items:flex-start}
  .bandwidth-toolbar-search{width:100%}
  .bandwidth-toolbar-search input,.bandwidth-table-toolbar select{width:100%}
  .bandwidth-rate-row{grid-template-columns:1fr}
  .bandwidth-rate-row input{border-top-right-radius:14px;border-bottom-right-radius:14px}
  .bandwidth-rate-row select{border-top-left-radius:14px;border-bottom-left-radius:14px;margin-top:8px}
}



/* ===== resources/views/client_dashboard.php ===== */
body.client-dashboard-page{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(circle at top,#f7fbff 0,#eef4fb 45%,#e9f0f8 100%);color:#122235}
body.client-dashboard-page a{text-decoration:none;color:inherit}
body.client-dashboard-page .topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 22px;background:rgba(255,255,255,.82);backdrop-filter:blur(14px);border-bottom:1px solid rgba(220,231,242,.92)}
body.client-dashboard-page .brand{display:flex;align-items:center;gap:12px;font-size:18px;font-weight:900}
body.client-dashboard-page .brand-mark{width:40px;height:40px;border-radius:14px;background:linear-gradient(135deg,#2563eb,#06b6d4);display:grid;place-items:center;color:#fff;box-shadow:0 12px 22px rgba(37,99,235,.22)}
body.client-dashboard-page .topbar .right{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
body.client-dashboard-page .logout{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:999px;background:#fff;border:1px solid #dce7f2;font-weight:800;box-shadow:0 12px 30px rgba(15,23,42,.06)}
body.client-dashboard-page .user-chip{display:inline-flex;align-items:center;gap:10px;padding:8px 10px 8px 8px;border-radius:999px;background:#fff;border:1px solid #dce7f2;box-shadow:0 12px 30px rgba(15,23,42,.06)}
body.client-dashboard-page .user-chip .avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#0f172a,#2563eb);display:grid;place-items:center;color:#fff;font-weight:800}
body.client-dashboard-page .layout{display:grid;grid-template-columns:260px 1fr;min-height:calc(100vh - 69px)}
body.client-dashboard-page .sidebar{padding:18px 14px;background:linear-gradient(180deg,#0f172a 0,#152238 58%,#1a2840 100%);color:#d8e7f3}
body.client-dashboard-page .profile{padding:18px 16px;border-radius:24px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);text-align:center}
body.client-dashboard-page .profile .avatar{width:64px;height:64px;border-radius:20px;background:rgba(255,255,255,.12);margin:0 auto 12px;display:grid;place-items:center;color:#fff;font-size:28px}
body.client-dashboard-page .profile .code{font-size:26px;font-weight:900;color:#fff;letter-spacing:-.03em}
body.client-dashboard-page .status-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:#3cb45b;margin-right:6px;box-shadow:0 0 0 4px rgba(60,180,91,.18)}
body.client-dashboard-page .menu{padding:16px 0 0}
body.client-dashboard-page .menu-title{padding:10px 12px;color:#7f98b1;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
body.client-dashboard-page .menu a{display:flex;align-items:center;gap:12px;color:#fff;padding:12px 14px;border-radius:16px;font-weight:700;margin:4px 0;transition:.18s ease}
body.client-dashboard-page .menu a:hover,body.client-dashboard-page .menu a.active{background:rgba(255,255,255,.08);transform:translateX(2px)}
body.client-dashboard-page .content{padding:22px}
body.client-dashboard-page .hero{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;flex-wrap:wrap;padding:24px 26px;margin-bottom:20px;background:linear-gradient(135deg,#ffffff 0%,#f5f9ff 54%,#edf6ff 100%);border:1px solid #dce7f2;border-radius:28px;box-shadow:0 22px 60px rgba(15,23,42,.10)}
body.client-dashboard-page .hero-kicker{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#eef4ff;color:#1d4ed8;font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
body.client-dashboard-page .hero h1{margin-top:14px;font-size:clamp(28px,3vw,40px);line-height:1.04;letter-spacing:-.04em}
body.client-dashboard-page .hero p{margin-top:10px;max-width:760px;color:#64748b;line-height:1.75}
body.client-dashboard-page .hero-chips{display:flex;gap:10px;flex-wrap:wrap}
body.client-dashboard-page .hero-chip{display:inline-flex;align-items:center;gap:10px;padding:11px 14px;border-radius:16px;background:#fff;border:1px solid #dce7f2;font-weight:800;box-shadow:0 12px 30px rgba(15,23,42,.06)}
body.client-dashboard-page .flash{padding:12px 14px;border-radius:16px;margin-bottom:14px;background:#e8f7ff;border:1px solid #bfe6ff;color:#17436b}
body.client-dashboard-page .flash.error{background:#fff1f0;border-color:#ffccc7;color:#8f1d18}
body.client-dashboard-page .notice{padding:20px 22px;border-radius:24px;background:linear-gradient(135deg,#effbea,#f8fff5);border:1px solid #b7dfad;box-shadow:0 12px 30px rgba(15,23,42,.06);margin-bottom:20px}
body.client-dashboard-page .notice h2{margin:0 0 10px;font-size:22px;letter-spacing:-.02em}
body.client-dashboard-page .notice p{margin:0 0 8px;line-height:1.7;color:#40576b}
body.client-dashboard-page .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,#2563eb,#3b82f6);color:#fff;text-decoration:none;border:none;padding:10px 14px;border-radius:14px;font-weight:800;cursor:pointer;box-shadow:0 14px 24px rgba(37,99,235,.18)}
body.client-dashboard-page .btn.green{background:linear-gradient(135deg,#16a34a,#22c55e)}
body.client-dashboard-page .btn.light{background:#f8fafc;color:#344054;border:1px solid #dce7f2;box-shadow:none}
body.client-dashboard-page .btn.small{padding:8px 10px;border-radius:12px;font-size:12px}
body.client-dashboard-page .cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:18px}
body.client-dashboard-page .card{position:relative;padding:20px 20px 24px;color:#fff;border-radius:24px;min-height:112px;overflow:hidden;box-shadow:0 24px 40px rgba(15,23,42,.12)}
body.client-dashboard-page .card::after{content:"";position:absolute;right:-16px;bottom:-34px;width:110px;height:110px;border-radius:50%;background:rgba(255,255,255,.12)}
body.client-dashboard-page .card .title{opacity:.96;font-size:20px;font-weight:800;position:relative;z-index:1;letter-spacing:-.02em}
body.client-dashboard-page .card .sub{margin-top:10px;font-size:14px;position:relative;z-index:1}
body.client-dashboard-page .c1{background:linear-gradient(135deg,#0891b2,#22d3ee)}
body.client-dashboard-page .c2{background:linear-gradient(135deg,#ef4444,#fb7185)}
body.client-dashboard-page .c3{background:linear-gradient(135deg,#f59e0b,#fbbf24);color:#3d2b00}
body.client-dashboard-page .c4{background:linear-gradient(135deg,#16a34a,#22c55e)}
body.client-dashboard-page .panel{background:#fff;border:1px solid #dce7f2;padding:0 0 22px;border-radius:28px;box-shadow:0 22px 60px rgba(15,23,42,.10)}
body.client-dashboard-page .panel-head{display:flex;gap:12px;flex-wrap:wrap;padding:20px 22px;border-bottom:1px solid #e7eef5;font-weight:800;color:#0f172a}
body.client-dashboard-page .panel-head div{display:inline-flex;align-items:center;padding:10px 12px;border-radius:999px;background:#f8fbff;border:1px solid #edf2f7}
body.client-dashboard-page .panel-body{display:grid;grid-template-columns:380px 1fr;gap:22px;padding:20px}
body.client-dashboard-page .status-box{border:1px solid #e4edf5;border-radius:22px;margin:12px 0;display:grid;grid-template-columns:96px 1fr;align-items:center;overflow:hidden;background:linear-gradient(180deg,#fff,#fbfdff)}
body.client-dashboard-page .status-icon{height:100%;min-height:92px;display:grid;place-items:center;color:#fff;font-size:34px}
body.client-dashboard-page .status-content{padding:16px}
body.client-dashboard-page .status-content strong{display:block;font-size:16px;margin-top:6px;color:#0f172a}
body.client-dashboard-page .muted{color:#64748b}
body.client-dashboard-page .i1{background:linear-gradient(135deg,#0891b2,#22d3ee)}
body.client-dashboard-page .i2{background:linear-gradient(135deg,#ef4444,#fb7185)}
body.client-dashboard-page .i3{background:linear-gradient(135deg,#f59e0b,#fbbf24)}
body.client-dashboard-page .i4{background:linear-gradient(135deg,#16a34a,#22c55e)}
body.client-dashboard-page .table-tools{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:4px 2px 14px}
body.client-dashboard-page .right-actions{display:flex;gap:8px;flex-wrap:wrap}
body.client-dashboard-page table{width:100%;border-collapse:separate;border-spacing:0}
body.client-dashboard-page th,body.client-dashboard-page td{padding:14px 12px;border-bottom:1px solid #edf1f4;font-size:14px;text-align:left;vertical-align:top}
body.client-dashboard-page th{color:#5b6b78;font-weight:800;font-size:12px;letter-spacing:.06em;text-transform:uppercase;background:#f8fbff}
body.client-dashboard-page .badge{display:inline-flex;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800;color:#fff}
body.client-dashboard-page .post{background:#2563eb}
body.client-dashboard-page .pending{background:#f59e0b}
body.client-dashboard-page .paid{background:#16a34a}
body.client-dashboard-page .overdue{background:#ef4444}
body.client-dashboard-page .note-form{margin-top:10px;display:grid;grid-template-columns:1fr 180px 130px;gap:8px}
body.client-dashboard-page .note-form input{padding:10px 12px;border:1px solid #ccd6df;border-radius:12px}
body.client-dashboard-page .note-form input:focus{outline:none;border-color:#93c5fd;box-shadow:0 0 0 4px rgba(59,130,246,.12)}
body.client-dashboard-page .profile-card{margin-top:20px;padding:18px;border-radius:22px;background:linear-gradient(180deg,#fff,#f8fbff);border:1px solid #e5edf6}
body.client-dashboard-page .profile-card h3{margin:0 0 10px;font-size:22px;letter-spacing:-.02em;color:#0f172a}
body.client-dashboard-page .profile-meta{line-height:1.8;color:#536779}
@media (max-width:1180px){body.client-dashboard-page .layout{grid-template-columns:1fr}body.client-dashboard-page .sidebar{display:none}body.client-dashboard-page .cards,body.client-dashboard-page .panel-body{grid-template-columns:1fr}}
@media (max-width:760px){body.client-dashboard-page .content{padding:16px}body.client-dashboard-page .hero,body.client-dashboard-page .notice,body.client-dashboard-page .panel-body{padding:18px}body.client-dashboard-page .cards{grid-template-columns:1fr}body.client-dashboard-page .note-form{grid-template-columns:1fr}body.client-dashboard-page .topbar{padding:14px 16px}}


/* ===== resources/views/client_login.php ===== */
body.client-login-page{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(circle at top,#ddebff 0,#eef4fb 36%,#e7eef7 100%);min-height:100vh;display:grid;place-items:center;padding:24px;color:#122235}
body.client-login-page .shell{width:min(1040px,96vw);display:grid;grid-template-columns:1.1fr .9fr;background:#fff;border:1px solid #dbe7f2;border-radius:32px;overflow:hidden;box-shadow:0 28px 70px rgba(15,23,42,.14)}
body.client-login-page .hero{padding:34px;background:linear-gradient(145deg,#0f172a 0%,#1d4ed8 54%,#06b6d4 100%);color:#fff;position:relative}
body.client-login-page .hero::after{content:"";position:absolute;right:-50px;bottom:-50px;width:220px;height:220px;border-radius:50%;background:rgba(255,255,255,.12)}
body.client-login-page .brand{display:inline-flex;align-items:center;gap:12px;font-size:20px;font-weight:900}
body.client-login-page .mark{width:46px;height:46px;border-radius:16px;background:rgba(255,255,255,.16);display:grid;place-items:center;font-size:22px}
body.client-login-page .hero h1{margin:26px 0 0;font-size:40px;line-height:1.04;letter-spacing:-.04em;max-width:460px}
body.client-login-page .hero p{margin-top:12px;max-width:460px;line-height:1.75;color:rgba(255,255,255,.84)}
body.client-login-page .feature{margin-top:24px;display:grid;gap:12px}
body.client-login-page .feature-item{display:flex;gap:12px;padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14)}
body.client-login-page .feature-item strong{display:block;margin-bottom:4px;font-size:14px}
body.client-login-page .feature-item span{font-size:12px;line-height:1.6;color:rgba(255,255,255,.82)}
body.client-login-page .card{padding:34px;background:linear-gradient(180deg,#ffffff,#fbfdff)}
body.client-login-page .badge{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#eef4ff;color:#1d4ed8;font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
body.client-login-page .card h2{margin:18px 0 0;font-size:34px;letter-spacing:-.03em}
body.client-login-page .card p{margin-top:8px;color:#64748b;line-height:1.7}
body.client-login-page .field{margin-top:16px}
body.client-login-page .field label{display:block;margin:0 0 8px;font-size:13px;font-weight:800;color:#344054}
body.client-login-page .field input{width:100%;height:50px;border:1px solid #dbe7f2;border-radius:16px;padding:0 16px;font-size:15px;background:#fff;color:#0f172a}
body.client-login-page .field input:focus{outline:none;border-color:#93c5fd;box-shadow:0 0 0 4px rgba(59,130,246,.12)}
body.client-login-page .btn{margin-top:22px;width:100%;border:none;background:linear-gradient(135deg,#2563eb,#3b82f6);color:#fff;padding:14px 16px;border-radius:16px;font-weight:800;cursor:pointer;font-size:16px;box-shadow:0 16px 26px rgba(37,99,235,.18)}
body.client-login-page .flash{padding:12px 14px;border-radius:14px;margin-top:16px;font-size:14px;background:#e8f7ff;border:1px solid #bfe6ff;color:#17436b}
body.client-login-page .flash.error{background:#fff1f0;border-color:#ffccc7;color:#8f1d18}
body.client-login-page .note{margin-top:16px;font-size:13px;line-height:1.7;color:#64748b}
body.client-login-page .link{display:inline-flex;margin-top:16px;color:#2563eb;font-weight:800;text-decoration:none}
@media (max-width:900px){body.client-login-page .shell{grid-template-columns:1fr}body.client-login-page .hero{display:none}}
@media (max-width:640px){body.client-login-page{padding:14px}body.client-login-page .card{padding:24px}body.client-login-page .card h2{font-size:28px}}


/* ===== resources/views/customer_form.php ===== */
.validation-summary{margin:0 0 16px;padding:12px 14px;border:1px solid #f1b7b7;background:#fff5f5;color:#8a1c1c;border-radius:10px;font-size:13px;line-height:1.5;}
.validation-summary strong{display:block;margin-bottom:6px;}
.validation-summary ul{margin:8px 0 0 18px;padding:0;}
.validation-summary li{margin:4px 0;}
.field-error{margin:6px 0 8px;color:#b42318;font-size:12px;font-weight:600;}
.field-has-error input,.field-has-error select,.field-has-error textarea{border-color:#d92d20!important;box-shadow:0 0 0 3px rgba(217,45,32,.08);}
.field-ok-note{margin:6px 0 8px;color:#067647;font-size:12px;font-weight:600;}
.locked-field-note{margin-top:6px;color:#8a6a12;font-size:12px;font-weight:600;}
.locked-edit-banner{margin:0 0 16px;padding:12px 14px;border:1px solid #f2d58a;background:#fff8e6;color:#8a5b00;border-radius:10px;font-size:13px;line-height:1.55;}
.locked-edit-banner strong{display:block;margin-bottom:6px;color:#7a4a00;}
input[readonly][data-amount-format="thousands"]{background:#f8fafc;color:#475467;cursor:not-allowed;}
select:disabled{background:#f8fafc;color:#475467;cursor:not-allowed;}



/* ===== resources/views/customer_renew.php ===== */
.renew-shell{display:grid;gap:14px}
.renew-summary-card,.renew-form-card{background:#fff;border:1px solid #d9e5ef;border-radius:18px;box-shadow:0 12px 24px rgba(15,23,42,.05)}
.renew-summary-card{overflow:hidden}
.renew-summary-top{padding:14px 16px;background:linear-gradient(135deg,#f59e0b,#fbbf24);color:#fff}
.renew-status-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 11px;border-radius:999px;background:rgba(255,255,255,.18);font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.renew-status-chip::before{content:"";width:8px;height:8px;border-radius:999px;background:currentColor;opacity:.85}
.renew-status-chip.is-green{color:#effff4}
.renew-status-chip.is-orange{color:#fffaf0}
.renew-status-chip.is-red{color:#fff0f0}
.renew-status-chip.is-blue{color:#eef8ff}
.renew-amount{margin-top:10px;font-size:24px;font-weight:900;letter-spacing:-.03em;line-height:1.05}
.renew-amount-note{margin-top:5px;font-size:11px;line-height:1.55;opacity:.96}
.renew-amount-breakdown{display:grid;gap:5px;margin-top:10px;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.24)}
.renew-amount-breakdown-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px;line-height:1.45}
.renew-amount-breakdown-row .label{font-weight:700;opacity:.95}
.renew-amount-breakdown-row .value{font-weight:900}
.renew-summary-row{display:grid;grid-template-columns:150px 1fr;gap:14px;padding:11px 16px;border-top:1px solid rgba(255,255,255,.24);font-size:12px}
.renew-summary-row strong{font-size:13px}
.renew-summary-row .label{opacity:.94;font-weight:800}
.renew-summary-row .value{font-weight:700;min-width:0}
.renew-summary-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:7px}
.renew-tag{display:inline-flex;align-items:center;justify-content:center;padding:4px 9px;border-radius:10px;background:rgba(255,255,255,.92);color:#374151;font-size:10px;font-weight:800;letter-spacing:.03em;text-transform:uppercase}
.renew-package-hint{margin-top:7px;font-size:11px;line-height:1.55;opacity:.97}
.renew-form-card{padding:16px 16px 18px}
.renew-form-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap;margin-bottom:14px}
.renew-form-head h2{margin:0;font-size:19px;letter-spacing:-.03em;color:#0f172a}
.renew-form-head p{margin:5px 0 0;font-size:12px;line-height:1.6;color:#5f7383;max-width:700px}
.renew-form-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px 14px;align-items:start}
.renew-field{display:grid;gap:6px;align-content:start;grid-column:span 6;min-width:0}
.renew-field.full{grid-column:1/-1}
.renew-field.third{grid-column:span 4}
.renew-field label{display:flex;align-items:flex-end;min-height:30px;font-size:11px;font-weight:800;color:#0f172a;line-height:1.35}
.renew-field input,.renew-field select{width:100%;box-sizing:border-box;min-height:40px;padding:9px 12px;border-radius:12px;border:1px solid #d4dce5;background:#fcfdff;font-size:12px;line-height:1.2;color:#1f2937}
.renew-field small{font-size:10px;color:#64748b;line-height:1.5}
.renew-note-box{margin-top:4px;padding:13px 14px;border-radius:16px;background:linear-gradient(180deg,#f7fbff,#eef6ff);border:1px solid #d3e2f2}
.renew-note-box h3{margin:0 0 7px;font-size:12px;color:#0f172a}
.renew-note-box ul{margin:0;padding-left:17px;color:#0f8a43;font-size:11px;line-height:1.6;font-weight:700}
.renew-inline-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px}
.renew-mini-card{padding:12px 13px;border-radius:14px;background:linear-gradient(180deg,#ffffff,#f8fbff);border:1px solid #e3ebf3}
.renew-mini-card span{display:block;font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#607281}
.renew-mini-card strong{display:block;margin-top:6px;font-size:15px;letter-spacing:-.03em;color:#0f172a;line-height:1.35}
.renew-preview-box{padding:14px 15px;border-radius:16px;background:#f8fbff;border:1px solid #dbe7f3}
.renew-preview-box strong{display:block;font-size:12px;color:#0f172a}
.renew-preview-box p{margin:6px 0 0;font-size:11px;line-height:1.6;color:#607281}
.renew-preview-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.renew-preview-badge{display:inline-flex;align-items:center;justify-content:center;padding:6px 9px;border-radius:999px;background:#fff;border:1px solid #d8e3ec;font-size:10px;font-weight:800;color:#1f2937}
.renew-actions{display:flex;justify-content:flex-start;gap:10px;flex-wrap:wrap;margin-top:18px;padding-top:14px;border-top:1px solid #e6edf5}
.renew-alert{margin-bottom:14px;padding:12px 14px;border-radius:15px;border:1px solid #ffd3cf;background:#fff4f2;color:#8f1d18;font-size:12px;line-height:1.55}
.renew-error{font-size:11px;color:#c62828;font-weight:700}
@media (max-width:1100px){.renew-field.third{grid-column:span 6}.renew-inline-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){.renew-summary-row{grid-template-columns:1fr}.renew-form-grid,.renew-inline-summary{grid-template-columns:1fr}.renew-field,.renew-field.third,.renew-field.full{grid-column:1/-1}.renew-amount{font-size:22px}}



/* ===== resources/views/customer_whatsapp_notification.php ===== */
.wa-broadcast-page{display:grid;gap:10px;max-width:820px;margin:0 auto}.wa-broadcast-card{background:#fff;border:1px solid #dbe2e8;border-radius:12px;overflow:hidden}.wa-broadcast-body{padding:16px}.wa-broadcast-tabs{display:flex;gap:0;border-bottom:1px solid #e5e7eb;margin-bottom:14px}.wa-broadcast-tab{display:inline-flex;align-items:center;justify-content:center;min-width:112px;height:40px;padding:0 14px;border:1px solid #dbe2e8;border-bottom:none;border-top-left-radius:8px;border-top-right-radius:8px;background:#fff;color:#2563eb;text-decoration:none;margin-bottom:-1px;font-size:12px}.wa-broadcast-tab.active{color:#1f2937;font-weight:700}.wa-broadcast-panel{padding-top:0}.wa-broadcast-panel.is-hidden{display:none}.wa-broadcast-grid{display:grid;gap:14px}.wa-broadcast-grid.two{grid-template-columns:1fr 1fr}.wa-broadcast-field label{display:block;margin:0 0 6px;font-weight:700;color:#1f2937;font-size:12px}.wa-broadcast-field input,.wa-broadcast-field select,.wa-broadcast-field textarea{width:100%;border:1px solid #cfd8e3;border-radius:9px;background:#fff;color:#111827;font-size:12px}.wa-broadcast-field input,.wa-broadcast-field select{height:40px;padding:8px 12px}.wa-broadcast-field textarea{min-height:180px;padding:10px 12px;line-height:1.55;resize:vertical}.wa-inline-note,.wa-broadcast-inline-note{font-size:11px;color:#667085;margin-top:5px;line-height:1.45}.wa-type-group{display:flex;gap:18px;flex-wrap:wrap;padding-top:2px}.wa-type-option{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:#344054}.wa-type-option input{width:14px;height:14px}.wa-common-title{font-weight:700;margin-bottom:10px;color:#1f2937;font-size:13px}.wa-common-list{display:grid;gap:5px}.wa-common-row{display:grid;grid-template-columns:56px 1fr;align-items:center;gap:8px;font-size:12px;color:#344054}.wa-copy-btn{height:28px;border:none;border-radius:6px;background:#f3f4f6;color:#475467;font-weight:700;cursor:pointer;font-size:11px}.wa-template-help{margin-top:4px;padding:10px 12px;border:1px solid #e5e7eb;border-radius:10px;background:#fcfcfd;color:#475467;font-size:11px;line-height:1.6}.wa-broadcast-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:14px}.wa-broadcast-actions .btn{min-height:38px;font-size:12px;padding:9px 14px}.wa-broadcast-danger{margin-bottom:12px;padding:10px 12px;border-radius:9px;background:#fef3f2;border:1px solid #fecdca;color:#b42318;font-weight:700;font-size:12px}.wa-broadcast-ok{margin-bottom:12px;padding:10px 12px;border-radius:9px;background:#ecfdf3;border:1px solid #abefc6;color:#067647;font-weight:700;font-size:12px}.wa-owner-readonly{display:flex;align-items:center;height:40px;padding:8px 12px;border:1px solid #cfd8e3;border-radius:9px;background:#f8fafc;color:#344054;font-weight:700;font-size:12px}.wa-meta-line{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px;color:#667085;font-size:11px}.wa-meta-pill{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:#eef4ff;color:#344054;font-weight:700}.wa-customer-picker{position:relative}.wa-customer-picker input{padding-right:38px}.wa-customer-clear{position:absolute;top:5px;right:5px;width:28px;height:28px;border:none;border-radius:999px;background:#f3f4f6;color:#475467;font-size:16px;line-height:1;cursor:pointer;display:none}.wa-customer-clear.is-visible{display:block}.wa-customer-list{margin-top:6px;border:1px solid #dbe2e8;border-radius:10px;background:#fff;box-shadow:0 10px 24px rgba(15,23,42,.08);overflow:hidden}.wa-customer-list.is-hidden{display:none}.wa-customer-item{padding:10px 12px;border-top:1px solid #eef2f6;cursor:pointer}.wa-customer-item:first-child{border-top:none}.wa-customer-item:hover{background:#f8fafc}.wa-customer-item.is-disabled{background:#fcfcfd;cursor:not-allowed}.wa-customer-item.is-disabled:hover{background:#fcfcfd}.wa-customer-line{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.wa-customer-name{font-weight:700;color:#1f2937;font-size:12px}.wa-customer-owner{font-size:11px;color:#667085;margin-top:3px;line-height:1.45}.wa-customer-note{font-size:11px;color:#067647;margin-top:5px;line-height:1.45}.wa-customer-note.is-error{color:#b42318}.wa-customer-state{display:inline-flex;align-items:center;justify-content:center;padding:3px 7px;border-radius:999px;background:#ecfdf3;color:#067647;font-size:10px;font-weight:700;white-space:nowrap}.wa-customer-state.is-error{background:#fef3f2;color:#b42318}.wa-picker-selected{margin-top:6px;padding:10px 12px;border:1px dashed #cfd8e3;border-radius:10px;background:#f8fafc}.wa-picker-selected strong{display:block;color:#1f2937;font-size:12px}.wa-picker-selected small{display:block;margin-top:3px;color:#667085;font-size:11px;line-height:1.45}.wa-field-hidden{display:none!important}@media (max-width:900px){.wa-broadcast-grid.two{grid-template-columns:1fr}.wa-type-group{gap:12px}}



/* ===== resources/views/customers_list.php ===== */
.checkbox-line{display:flex;align-items:center;gap:10px;margin-bottom:4px;font-weight:600;color:#243446}.checkbox-line input{width:16px !important;height:16px !important;cursor:pointer;flex:0 0 auto}.checkbox-line span{user-select:none}.customer-code-link a{font-size:12px;font-weight:600;color:#1d4ed8;text-decoration:none}.customer-code-link a:hover{text-decoration:underline}.customer-name-cell{position:relative;display:flex;align-items:flex-start;gap:8px;min-width:160px}.customer-name-cell strong{font-size:12px;line-height:1.35;font-weight:600;color:#0f172a}.customer-name-cell .small{margin-top:2px;font-size:10px}.table-sort-link{display:flex;align-items:center;justify-content:space-between;gap:6px;color:inherit;text-decoration:none;font-weight:600}.table-sort-link:hover{color:#0f5ea8}.table-sort-link.is-active{color:#0f5ea8}.table-sort-icon{font-size:10px;opacity:.65}.table-sort-link.is-active .table-sort-icon{opacity:1}.customer-compact-table{width:100%;min-width:1040px;border-collapse:separate;border-spacing:0}.customer-compact-table th,.customer-compact-table td{padding:7px 10px;font-size:11px;line-height:1.32}.customer-compact-table th{position:sticky !important;top:54px !important;z-index:4;font-size:10px;font-weight:700;background:#f7fbff !important;box-shadow:inset 0 -1px 0 #e6eef5 !important}.customer-compact-table td:nth-child(1),.customer-compact-table th:nth-child(1){background:#fbfdff;width:104px}.customer-compact-table td:nth-child(2),.customer-compact-table th:nth-child(2){background:#f8fbff;min-width:172px}.customer-compact-table td:nth-child(3),.customer-compact-table th:nth-child(3){background:#fcfdff;width:98px}.customer-compact-table td:nth-child(4),.customer-compact-table th:nth-child(4){background:#f9fbfd;width:84px}.customer-compact-table td:nth-child(5),.customer-compact-table th:nth-child(5){background:#fcfcff;max-width:108px}.customer-compact-table td:nth-child(6),.customer-compact-table th:nth-child(6){background:#f8fbff;max-width:118px}.customer-compact-table td:nth-child(7),.customer-compact-table th:nth-child(7){background:#fffdf8;width:102px}.customer-compact-table td:nth-child(8),.customer-compact-table th:nth-child(8){background:#f7fcfb;width:108px}.customer-compact-table td:nth-child(9),.customer-compact-table th:nth-child(9){background:#fcfbff;width:96px}.customer-compact-table td:nth-child(10),.customer-compact-table th:nth-child(10){background:#fffaf8;width:90px}.customer-compact-table tbody tr:hover td{box-shadow:inset 0 0 0 9999px rgba(15,94,168,.03)}.service-type-inline{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;white-space:nowrap}.pay-badge{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:20px;padding:0 8px;border-radius:6px;background:#3b97cf;color:#fff;font-size:10px;font-weight:700;letter-spacing:.03em;line-height:1;text-transform:uppercase;box-shadow:inset 0 -1px 0 rgba(0,0,0,.08)}.profile-single-line{display:block;max-width:124px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compact-ip-cell{max-width:128px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compact-owner{display:block;max-width:110px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}.compact-date-cell{min-width:92px}.due-text{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:700;line-height:1.1}.due-success{background:#ecfdf3;color:#067647;border:1px solid #abefc6}.due-error{background:#fef3f2;color:#b42318;border:1px solid #fecdca}.due-info{background:#eff8ff;color:#0b6ea9;border:1px solid #b2ddff}.due-hint{margin-top:3px;font-size:10px;font-weight:600}.due-hint-success{color:#067647}.due-hint-error{color:#b42318}.due-hint-info{color:#0b6ea9}.compact-action-stack{display:flex;flex-direction:column;gap:4px;min-width:88px}.compact-action-stack .btn.small{padding:5px 7px;font-size:10px}.compact-dropdown .btn.small{padding:5px 7px;font-size:10px}.customer-list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:11px 16px;border-bottom:1px solid #e7eef5;background:#f8fbff;position:sticky;top:0;z-index:6;box-shadow:0 1px 0 rgba(231,238,245,.95)}.customer-list-toolbar .show-control{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:#344054}.customer-list-toolbar .show-control label{margin:0}.customer-list-toolbar .show-control select{width:auto;min-width:94px;padding:7px 32px 7px 10px;border-radius:10px;font-size:12px}.customer-list-toolbar .table-hint{font-size:11px;color:#667085}.quick-stats.compact-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 10px}.quick-stats.compact-stats .quick-card{padding:0;border-radius:13px;min-height:60px}.quick-stats.compact-stats .quick-card .icon{width:30px;height:auto;font-size:14px;border-radius:0}.quick-stats.compact-stats .quick-card .meta{padding:9px 10px}.quick-stats.compact-stats .quick-card .meta .muted.small{font-size:8.5px;line-height:1.2;letter-spacing:.04em;font-weight:600}.quick-stats.compact-stats .quick-card .meta strong{font-size:16px;line-height:1;font-weight:700}.filter-panel-card.compact-filter-card .filter-panel-header{padding:10px 12px}.filter-panel-card.compact-filter-card .filter-panel-body{padding:0 12px 12px}.filter-panel-card.compact-filter-card .section-title{font-size:16px;font-weight:700}.filter-panel-card.compact-filter-card .small{font-size:10px}.filter-panel-card.compact-filter-card .filter-summary-chip{padding:6px 9px;font-size:10px}.filter-panel-card.compact-filter-card .filter-toggle-btn{padding:7px 10px;font-size:11px}.filter-panel-card.compact-filter-card .filter-field label{font-size:11px;font-weight:600}.filter-panel-card.compact-filter-card input,.filter-panel-card.compact-filter-card select{padding:9px 10px;font-size:12px;border-radius:10px}.filter-panel-card.compact-filter-card .actions .btn,.filter-panel-card.compact-filter-card .filter-actions .btn{padding:8px 10px;font-size:11px}.table-wrap.customer-table-wrap{width:100%;max-width:100%;box-sizing:border-box;margin-top:12px;padding:0;overflow:auto;overscroll-behavior:auto !important;scroll-behavior:smooth;border:1px solid #e5edf4;border-radius:18px;background:#fff}.table-wrap.customer-table-wrap::after{display:none}.table-wrap.customer-table-wrap table{margin:0;width:100%}.customer-compact-table th:first-child,.customer-compact-table td:first-child{padding-left:16px}.customer-compact-table th:last-child,.customer-compact-table td:last-child{padding-right:16px}.detail-chip{width:18px;height:18px;font-size:10px;font-weight:700;box-shadow:none}.customer-detail-popover{width:min(300px,calc(100vw - 28px));max-width:calc(100vw - 28px);max-height:min(340px,calc(100vh - 28px));padding:10px 11px 11px;border-radius:14px;border:1px solid #d7e3ec;box-shadow:0 18px 32px rgba(15,23,42,.14)}.customer-detail-popover.is-floating{width:min(300px,calc(100vw - 28px));max-width:calc(100vw - 28px)}.customer-detail-title{margin-bottom:8px;padding-bottom:7px;border-bottom:1px solid #eef3f8;font-size:12px;font-weight:700;line-height:1.35;color:#0f172a}.customer-detail-grid{display:grid;grid-template-columns:88px minmax(0,1fr);gap:6px 10px;align-items:start}.customer-detail-grid .label{font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#607281}.customer-detail-grid .label + div{font-size:11px;font-weight:500;line-height:1.42;color:#0f172a;word-break:break-word}.customer-log-box{margin-top:9px;padding-top:9px;border-top:1px dashed #d8e5ee}.customer-log-title{font-size:10px;font-weight:700;color:#526476;text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}.customer-log-list{list-style:none;padding:0;margin:0;display:grid;gap:5px}.customer-log-list li{padding:7px 8px;border-radius:10px;background:#f8fbfd;border:1px solid #e7eef5}.customer-log-list .message{font-size:10px;color:#1f3442;line-height:1.4;font-weight:500}.customer-log-list .meta{font-size:9px;color:#6b7d8b;margin-top:3px}.customer-header .dropdown,.customer-header .customer-filter{position:relative;top:-2px}.customer-header .dropdown .btn,.customer-filter a{font-weight:700}.customer-filter a{margin-right:5px}.result-summary-grid strong{font-weight:700}.summary-pill span{text-transform:none}.pagination-bar strong{font-weight:700}.customer-compact-table strong{font-weight:700}@media (max-width:900px){.customer-list-toolbar{padding:10px 12px}.quick-stats.compact-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.customer-compact-table th:first-child,.customer-compact-table td:first-child{padding-left:14px}.customer-compact-table th:last-child,.customer-compact-table td:last-child{padding-right:14px}.customer-compact-table th{top:52px !important}}@media (max-width:700px){.customer-list-toolbar{align-items:flex-start}.customer-list-toolbar .show-control{width:100%}.customer-list-toolbar .show-control select{width:100%}.customer-list-toolbar .table-hint{width:100%}.quick-stats.compact-stats{grid-template-columns:1fr}.table-wrap.customer-table-wrap{margin-top:10px}.customer-detail-grid{grid-template-columns:1fr}.customer-detail-grid .label{margin-top:4px}.customer-compact-table th:first-child,.customer-compact-table td:first-child{padding-left:12px}.customer-compact-table th:last-child,.customer-compact-table td:last-child{padding-right:12px}.customer-compact-table th{top:48px !important}}



/* ===== resources/views/dashboard_online_users.php ===== */
.online-table-toolbar{position:sticky;top:0;z-index:3}.online-table-toolbar .search-control{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:#344054;margin:0;margin-left:auto;justify-content:flex-end}.online-table-toolbar .search-control label{margin:0}.online-table-toolbar .search-control input{min-width:220px;max-width:340px;padding:8px 12px;border-radius:10px;border:1px solid #d7e3ef;background:#fff;font-size:12px}.online-table-toolbar .search-actions{display:flex;gap:8px;align-items:center}.online-table-toolbar .table-hint{font-size:11px;color:#667085;flex-basis:100%}
.online-table{width:100%}.online-table th,.online-table td{padding:8px 10px;font-size:12px;line-height:1.3;vertical-align:top}.online-table th{font-size:11px;white-space:nowrap}.table-sort-link{display:flex;align-items:center;justify-content:space-between;gap:6px;color:inherit;text-decoration:none;font-weight:700}.table-sort-link:hover{color:#0f5ea8}.table-sort-link.is-active{color:#0f5ea8}.table-sort-icon{font-size:10px;opacity:.7}.table-sort-link.is-active .table-sort-icon{opacity:1}.online-table tbody tr:hover td{box-shadow:inset 0 0 0 9999px rgba(15,94,168,.035)}.online-table td:nth-child(1),.online-table th:nth-child(1){background:#fbfdff}.online-table td:nth-child(2),.online-table th:nth-child(2){background:#f8fbff}.online-table td:nth-child(3),.online-table th:nth-child(3){background:#fcfdff}.online-table td:nth-child(4),.online-table th:nth-child(4){background:#f9fbfd}.online-table td:nth-child(5),.online-table th:nth-child(5){background:#fcfcff}.online-table td:nth-child(6),.online-table th:nth-child(6){background:#f8fbff}.online-table td:nth-child(7),.online-table th:nth-child(7){background:#fffdf8}.online-table td:nth-child(8),.online-table th:nth-child(8){background:#f7fcfb}.online-table td:nth-child(9),.online-table th:nth-child(9){background:#fcfbff}.online-table td:nth-child(10),.online-table th:nth-child(10){background:#fffaf8}.online-pagination{margin-top:12px}.online-table-wrap{overflow:auto}
@media (max-width: 720px){.online-table-toolbar .search-control{width:100%;margin-left:0;justify-content:flex-start}.online-table-toolbar .search-control input{min-width:0;max-width:none;width:100%}}



/* ===== resources/views/finance_income_report.php ===== */
.finance-report-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.finance-report-head h2{font-size:18px;letter-spacing:.01em}
.finance-report-head p{margin-top:8px;color:var(--muted);font-size:13px}
.finance-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin:10px 0 18px}
.finance-actions{display:flex;gap:10px;flex-wrap:wrap}
.finance-icon-btn{min-width:42px;height:40px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center}
.finance-search-wrap{display:flex;justify-content:flex-end;align-items:center;gap:10px;flex:1;min-width:240px}
.finance-search-wrap input{width:min(320px,100%)}
.finance-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}
.finance-card{display:grid;grid-template-columns:72px 1fr;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff;box-shadow:var(--shadow-soft)}
.finance-card .icon{display:grid;place-items:center;font-size:28px;color:#fff;font-weight:900}
.finance-card .body{padding:14px 16px}
.finance-card .label{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#5b7080;font-weight:800}
.finance-card .value{margin-top:6px;font-size:28px;font-weight:900;color:#0f172a;letter-spacing:-.03em}
.finance-card .sub{margin-top:4px;font-size:12px;color:#667085}
.finance-card.total .icon{background:linear-gradient(135deg,#10b981,#22c55e)}
.finance-card.manual .icon{background:linear-gradient(135deg,#2563eb,#3b82f6)}
.finance-card.gateway .icon{background:linear-gradient(135deg,#f59e0b,#fbbf24)}
.finance-empty{padding:28px;border:1px dashed var(--line-strong);border-radius:16px;background:#fbfdff;color:var(--muted);text-align:center}
.finance-modal{position:fixed;inset:0;display:none;align-items:flex-start;justify-content:center;padding:40px 18px;background:rgba(15,23,42,.48);backdrop-filter:blur(3px);z-index:120}
.finance-modal.show{display:flex}
.finance-dialog{width:min(100%,680px);background:#fff;border-radius:22px;box-shadow:0 30px 80px rgba(15,23,42,.28);overflow:hidden;border:1px solid rgba(226,232,240,.9)}
.finance-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 24px;border-bottom:1px solid var(--line)}
.finance-dialog-header h3{font-size:18px;margin:0}
.finance-dialog-close{border:none;background:transparent;font-size:30px;line-height:1;color:#98a2b3;cursor:pointer;padding:0}
.finance-dialog-body{padding:22px 24px 24px}
.finance-dialog label{display:block;margin-bottom:8px;font-size:13px;font-weight:800;color:#344054}
.finance-radio-row{display:flex;gap:18px;flex-wrap:wrap;align-items:center;padding-top:4px}
.finance-radio-item{display:inline-flex;align-items:center;gap:8px;color:#344054;font-weight:700;font-size:13px}
.finance-radio-item input{margin:0}
.finance-filter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.finance-filter-grid .span-2{grid-column:span 2}
.finance-filter-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.finance-dialog select,.finance-dialog input[type="date"]{width:100%}
.finance-type-badge{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;background:#eef4ff;color:#1d4ed8;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.finance-method-badge{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;background:#ecfdf3;color:#067647;font-size:11px;font-weight:800}
.finance-method-badge.gateway{background:#fff7e6;color:#b54708}
@media (max-width:900px){.finance-summary-grid{grid-template-columns:1fr}.finance-filter-grid{grid-template-columns:1fr}.finance-filter-grid .span-2{grid-column:span 1}}
@media (max-width:700px){.finance-dialog{width:100%}.finance-dialog-body,.finance-dialog-header{padding:18px}.finance-filter-actions .btn{width:100%}.finance-search-wrap{justify-content:flex-start}.finance-search-wrap input{width:100%}.finance-card{grid-template-columns:64px 1fr}}
@media print{.sidebar,.topbar,.finance-toolbar,.finance-modal,.pagination-bar,.mobile-sidebar-backdrop{display:none !important}.content{display:block}.page{padding:0}.table-wrap,.form-card{box-shadow:none;border:1px solid #d1d5db}}



/* ===== resources/views/finance_reseller_topups.php ===== */
.finance-actions{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 16px}
.finance-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;font-size:20px;padding:0}
.finance-summary-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;max-width:760px;margin:0 0 18px auto}
.finance-summary-card{display:grid;grid-template-columns:88px 1fr;min-height:80px;border-radius:16px;border:1px solid var(--line);overflow:hidden;background:#fff;box-shadow:var(--shadow-soft)}
.finance-summary-card .icon{display:grid;place-items:center;font-size:34px;color:#fff;font-weight:900}
.finance-summary-card .body{padding:14px 16px;display:flex;flex-direction:column;justify-content:center;gap:6px}
.finance-summary-card .label{font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#344054}
.finance-summary-card .value{font-size:18px;font-weight:900;color:#12263a}
.finance-summary-card.success .icon{background:linear-gradient(135deg,#16a34a,#22c55e)}
.finance-summary-card.pending .icon{background:linear-gradient(135deg,#f59e0b,#fbbf24)}
.finance-page-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:16px;flex-wrap:wrap}
.finance-page-head h2{font-size:18px;margin:0 0 6px}
.finance-page-head p{color:var(--muted);font-size:13px}
.finance-search-wrap{display:flex;justify-content:flex-end;margin-bottom:10px}
.finance-search-wrap input{width:min(100%,240px)}
.status-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;font-size:12px;font-weight:800;color:#fff}
.status-badge.success{background:#10b981}
.status-badge.pending{background:#f59e0b}
.action-trash{display:inline-flex;align-items:center;justify-content:center;width:36px;height:32px;border-radius:8px;background:linear-gradient(135deg,#f59e0b,#fbbf24);color:#fff;box-shadow:0 10px 16px rgba(245,158,11,.18)}
.finance-empty{padding:28px;border:1px dashed var(--line-strong);border-radius:16px;background:#fbfdff;color:var(--muted);text-align:center}
.finance-modal{position:fixed;inset:0;display:none;align-items:flex-start;justify-content:center;padding:40px 18px;background:rgba(15,23,42,.48);backdrop-filter:blur(3px);z-index:120}
.finance-modal.show{display:flex}
.finance-dialog{width:min(100%,625px);background:#fff;border-radius:22px;box-shadow:0 30px 80px rgba(15,23,42,.28);overflow:hidden;border:1px solid rgba(226,232,240,.9)}
.finance-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 24px;border-bottom:1px solid var(--line)}
.finance-dialog-header h3{font-size:18px;margin:0}
.finance-dialog-close{border:none;background:transparent;font-size:30px;line-height:1;color:#98a2b3;cursor:pointer;padding:0}
.finance-dialog-body{padding:22px 24px 24px}
.finance-filter-grid{display:grid;gap:18px}
.finance-filter-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.finance-dialog label{display:block;margin-bottom:8px;font-size:13px;font-weight:800;color:#344054}
.finance-dialog select,.finance-dialog input[type="date"]{width:100%}
@media (max-width:900px){.finance-summary-row{grid-template-columns:1fr;max-width:none}}
@media (max-width:700px){.finance-dialog{width:100%}.finance-dialog-body,.finance-dialog-header{padding:18px}.finance-filter-actions .btn{width:100%}.finance-summary-card{grid-template-columns:72px 1fr}.finance-page-head{align-items:stretch}.finance-search-wrap{justify-content:flex-start}.finance-search-wrap input{width:100%}}
@media print{.sidebar,.topbar,.finance-actions,.finance-search-wrap,.finance-modal,.pagination-bar,.mobile-sidebar-backdrop{display:none !important}.content{display:block}.page{padding:0}.table-wrap,.form-card{box-shadow:none;border:1px solid #d1d5db}.finance-summary-row{margin:0 0 14px 0;max-width:none}}



/* ===== resources/views/hotspot_profiles.php ===== */
.hotspot-toolbar-card{padding:14px 16px;background:#fff;border:1px solid var(--ui-border);border-radius:16px;box-shadow:var(--ui-shadow-sm);margin-bottom:14px}
.hotspot-toolbar-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.hotspot-toolbar-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.hotspot-toolbar-search{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ui-muted)}
.hotspot-toolbar-search input,.hotspot-table-toolbar select{min-width:120px}
.hotspot-table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 16px;border-bottom:1px solid var(--ui-border);background:linear-gradient(180deg,#fff,#f9fbff)}
.hotspot-table-toolbar .left,.hotspot-table-toolbar .right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.hotspot-bulk-checkbox{width:16px;height:16px;cursor:pointer}
.hotspot-profile-modal{position:fixed;inset:0;display:none;align-items:flex-start;justify-content:center;padding:24px 18px;z-index:90;background:rgba(15,23,42,.46)}
.hotspot-profile-modal.show{display:flex}
.hotspot-profile-dialog{width:min(980px,100%);max-height:calc(100vh - 48px);overflow:auto;background:#fff;border:1px solid var(--ui-border);border-radius:18px;box-shadow:0 24px 60px rgba(15,23,42,.22)}
.hotspot-profile-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:18px 20px;border-bottom:1px solid var(--ui-border)}
.hotspot-profile-head h3{margin:0;font-size:16px;color:var(--ui-text)}
.hotspot-profile-close{border:none;background:transparent;color:var(--ui-muted);font-size:24px;line-height:1;cursor:pointer}
.hotspot-profile-body{padding:18px 20px 20px}
.hotspot-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.hotspot-form-grid .full{grid-column:1/-1}
.hotspot-radio-group{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding-top:8px}
.hotspot-radio-group label{display:inline-flex;align-items:center;gap:7px;font-weight:500;color:var(--ui-text)}
.hotspot-help{margin-top:6px;font-size:12px;color:var(--ui-muted)}
.hotspot-inline-hint{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:999px;background:#ecfdf3;color:#067647;font-size:12px;font-weight:700}
.hotspot-modal-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:20px}
.hotspot-vcr-cell{white-space:nowrap;font-weight:600}
.hotspot-vcr-cell .sep{display:inline-block;margin:0 8px;color:#98a2b3}
.hotspot-badge-muted{display:inline-flex;align-items:center;padding:4px 9px;border-radius:999px;background:#f2f4f7;color:#344054;font-size:11px;font-weight:700}
.hotspot-hidden{display:none !important}
.hotspot-empty-row td{text-align:center;color:var(--ui-muted)}
@media (max-width:780px){
  .hotspot-form-grid{grid-template-columns:1fr}
  .hotspot-table-toolbar,.hotspot-toolbar-row{align-items:flex-start}
  .hotspot-toolbar-search{width:100%}
  .hotspot-toolbar-search input,.hotspot-table-toolbar select{width:100%}
}



/* ===== resources/views/logo_invoice.php ===== */
.logo-invoice-page{display:grid;gap:12px}.logo-card{padding:14px;border:1px solid #e2e8f0;border-radius:16px;background:#fff;box-shadow:0 8px 18px rgba(15,23,42,.05)}.logo-card h3{margin:0 0 4px;font-size:16px;color:#0f172a}.logo-card p{margin:0 0 12px;font-size:11px;line-height:1.55;color:#64748b}.logo-form-grid{display:grid;gap:12px}.logo-upload-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.logo-upload-box{padding:12px;border:1px solid #dbe7ef;border-radius:12px;background:#f8fafc}.logo-upload-box label{display:block;margin:0 0 8px;font-size:11px;font-weight:600;color:#0f172a}.logo-upload-box input[type=file]{display:block;width:100%;padding:9px;border:1px solid #dbe7ef;border-radius:8px;background:#fff;font-size:11px}.logo-actions{display:flex;align-items:center;justify-content:flex-start;gap:8px;flex-wrap:wrap;margin-top:2px}.logo-note{padding:10px 12px;border:1px solid #dbe7ef;border-radius:10px;font-size:11px;font-weight:600;color:#475569;background:#f8fafc}.logo-preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.logo-preview-item{padding:0}.logo-preview-item strong{display:block;margin-bottom:8px;font-size:11px;color:#0f172a}.logo-preview-frame{display:flex;align-items:center;justify-content:flex-start;min-height:112px;padding:16px;border:1px solid #dbe7ef;border-radius:12px;background:#fff}.logo-preview-frame img{display:block;max-width:100%;max-height:84px;height:auto;width:auto;object-fit:contain}.logo-preview-empty{font-size:11px;color:#64748b}@media (max-width: 860px){.logo-upload-row,.logo-preview-grid{grid-template-columns:1fr}}



/* ===== resources/views/pg_transactions_duitku.php ===== */
.pg-shell{display:grid;gap:12px}.pg-panel{border:1px solid #e5edf4;border-radius:18px;background:#fff;box-shadow:var(--ui-shadow-sm)}
.pg-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 16px 10px;border-bottom:1px solid #eef3f8}
.pg-title{margin:0;font-size:17px;font-weight:800;color:#0f172a}.pg-subtitle{font-size:11px;color:#667085}
.pg-notice{padding:9px 12px;border-radius:10px;font-size:12px;font-weight:600;border:1px solid transparent}.pg-notice-stack{display:grid;gap:10px;padding:12px 16px 0}.pg-notice.warn{background:#fef3c7;border-color:#fcd34d;color:#92400e}.pg-notice.error{background:#fef2f2;border-color:#fca5a5;color:#991b1b}.pg-notice.ok{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}
.pg-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px 16px}.pg-card{display:grid;grid-template-columns:42px 1fr;align-items:stretch;border:1px solid #e7eef5;border-radius:14px;overflow:hidden;background:#fff}.pg-card .icon{display:grid;place-items:center;font-size:18px;color:#fff}.pg-card .body{padding:10px 12px}.pg-card .label{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#667085;font-weight:800}.pg-card .value{margin-top:4px;font-size:18px;font-weight:800;line-height:1.1;color:#0f172a}.pg-card .sub{margin-top:3px;font-size:10px;color:#667085}.pg-card.thismonth .icon{background:linear-gradient(135deg,#0ea5e9,#38bdf8)}.pg-card.prevmonth .icon{background:linear-gradient(135deg,#10b981,#34d399)}.pg-card.thisyear .icon{background:linear-gradient(135deg,#f59e0b,#fbbf24)}
.pg-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 16px;border-top:1px solid #eef3f8;border-bottom:1px solid #eef3f8;background:#f8fbff}.pg-filter-form{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap;margin:0}.pg-control{display:grid;gap:4px}.pg-control label{margin:0;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#607281}.pg-filter-form select,.pg-filter-form input{height:34px;padding:7px 10px;border-radius:10px;border:1px solid #d7e3ef;background:#fff;font-size:12px;color:#1f2937}.pg-filter-form input{min-width:220px}.pg-filter-form .btn{height:34px;padding:0 12px;font-size:12px}.pg-toolbar-note{font-size:11px;color:#667085}
.pg-table-wrap{overflow:auto;position:relative;border-top:1px solid #eef3f8}.pg-table{width:100%;min-width:1180px;border-collapse:separate;border-spacing:0}.pg-table th,.pg-table td{padding:7px 10px;font-size:11px;line-height:1.3;vertical-align:top;border-bottom:1px solid #eef3f8}.pg-table th{position:sticky;top:0;z-index:4;background:#f7fbff;font-size:10px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;box-shadow:inset 0 -1px 0 #e6eef5;white-space:nowrap}.pg-table tbody tr:hover td{box-shadow:inset 0 0 0 9999px rgba(15,94,168,.03)}
.pg-table td:nth-child(1),.pg-table th:nth-child(1){background:#fbfdff}.pg-table td:nth-child(2),.pg-table th:nth-child(2){background:#f8fbff}.pg-table td:nth-child(3),.pg-table th:nth-child(3){background:#fcfdff}.pg-table td:nth-child(4),.pg-table th:nth-child(4){background:#f9fbfd}.pg-table td:nth-child(5),.pg-table th:nth-child(5){background:#fcfcff}.pg-table td:nth-child(6),.pg-table th:nth-child(6){background:#f8fbff}.pg-table td:nth-child(7),.pg-table th:nth-child(7){background:#fffdf8}.pg-table td:nth-child(8),.pg-table th:nth-child(8){background:#f7fcfb}.pg-table td:nth-child(9),.pg-table th:nth-child(9){background:#fcfbff}.pg-table td:nth-child(10),.pg-table th:nth-child(10){background:#fffaf8}.pg-table td:nth-child(11),.pg-table th:nth-child(11){background:#fbfdff}.pg-table td:nth-child(12),.pg-table th:nth-child(12){background:#fff}
.table-sort-link{display:flex;align-items:center;justify-content:space-between;gap:6px;color:inherit;text-decoration:none;font-weight:700}.table-sort-link:hover{color:#0f5ea8}.table-sort-link.is-active{color:#0f5ea8}.table-sort-icon{font-size:10px;opacity:.72}.table-sort-link.is-active .table-sort-icon{opacity:1}
.pg-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.03em;white-space:nowrap}.pg-badge.completed{background:#ecfdf5;color:#065f46}.pg-badge.expired{background:#fef2f2;color:#991b1b}.pg-badge.pending{background:#eff6ff;color:#1d4ed8}
.pg-check-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:8px;background:#fef3c7;color:#92400e;border:1px solid #fcd34d;font-size:10px;font-weight:700;cursor:pointer;text-decoration:none;transition:background .15s}.pg-check-btn:hover{background:#fde68a}.pg-mono{font-size:10px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;word-break:break-word}.pg-cell-main{font-size:11px;font-weight:700;color:#0f172a}.pg-cell-sub{margin-top:2px;font-size:10px;color:#667085}.pg-muted{font-size:10px;color:#667085}.pg-nowrap{white-space:nowrap}.pg-empty{padding:24px 16px;text-align:center;color:#667085;font-size:12px}
.pg-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 16px}.pg-pagination-info{font-size:12px;color:#667085;font-weight:600}.pg-pagination-links{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.pg-page-link{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:32px;padding:0 10px;border-radius:10px;border:1px solid #d7e3ef;background:#fff;color:#344054;font-size:12px;font-weight:700;text-decoration:none}.pg-page-link:hover{border-color:#93c5fd;color:#1d4ed8;background:#f8fbff}.pg-page-link.active{background:linear-gradient(135deg,#0f5ea8,#22c55e);border-color:transparent;color:#fff}
@media(max-width:1000px){.pg-summary-grid{grid-template-columns:1fr 1fr}.pg-toolbar{align-items:flex-start}}@media(max-width:720px){.pg-summary-grid{grid-template-columns:1fr}.pg-panel-head{padding:12px 14px 10px}.pg-summary-grid,.pg-toolbar,.pg-pagination{padding-left:14px;padding-right:14px}.pg-filter-form{width:100%}.pg-filter-form .pg-control{width:100%}.pg-filter-form input,.pg-filter-form select{width:100%;min-width:0}}



/* ===== resources/views/ppp_profiles.php ===== */
.ppp-toolbar-card{padding:14px 16px;background:#fff;border:1px solid var(--ui-border);border-radius:16px;box-shadow:var(--ui-shadow-sm);margin-bottom:14px}
.ppp-toolbar-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.ppp-toolbar-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ppp-toolbar-search{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ui-muted)}
.ppp-toolbar-search input,.ppp-table-toolbar select{min-width:120px}
.ppp-table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 16px;border-bottom:1px solid var(--ui-border);background:linear-gradient(180deg,#fff,#f9fbff)}
.ppp-table-toolbar .left,.ppp-table-toolbar .right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ppp-bulk-checkbox{width:16px;height:16px;cursor:pointer}
.ppp-profile-modal{position:fixed;inset:0;display:none;align-items:flex-start;justify-content:center;padding:24px 18px;z-index:90;background:rgba(15,23,42,.46)}
.ppp-profile-modal.show{display:flex}
.ppp-profile-dialog{width:min(980px,100%);max-height:calc(100vh - 48px);overflow:auto;background:#fff;border:1px solid var(--ui-border);border-radius:18px;box-shadow:0 24px 60px rgba(15,23,42,.22)}
.ppp-profile-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:18px 20px;border-bottom:1px solid var(--ui-border)}
.ppp-profile-head h3{margin:0;font-size:16px;color:var(--ui-text)}
.ppp-profile-close{border:none;background:transparent;color:var(--ui-muted);font-size:24px;line-height:1;cursor:pointer}
.ppp-profile-body{padding:18px 20px 20px}
.ppp-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.ppp-form-grid .full{grid-column:1/-1}
.ppp-help{margin-top:6px;font-size:12px;color:var(--ui-muted)}
.ppp-modal-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:20px}
.ppp-vcr-cell{white-space:nowrap;font-weight:600}
.ppp-vcr-cell .sep{display:inline-block;margin:0 8px;color:#98a2b3}
.ppp-hidden{display:none !important}
.ppp-empty-row td{text-align:center;color:var(--ui-muted)}
@media (max-width:780px){
  .ppp-form-grid{grid-template-columns:1fr}
  .ppp-table-toolbar,.ppp-toolbar-row{align-items:flex-start}
  .ppp-toolbar-search{width:100%}
  .ppp-toolbar-search input,.ppp-table-toolbar select{width:100%}
}



/* ===== resources/views/profile_groups.php ===== */
.group-toolbar-card{padding:14px 16px;background:#fff;border:1px solid var(--ui-border);border-radius:16px;box-shadow:var(--ui-shadow-sm);margin-bottom:14px}
.group-toolbar-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.group-toolbar-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.group-toolbar-search{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ui-muted)}
.group-toolbar-search input,.group-table-toolbar select{min-width:120px}
.group-table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 16px;border-bottom:1px solid var(--ui-border);background:linear-gradient(180deg,#fff,#f9fbff)}
.group-table-toolbar .left,.group-table-toolbar .right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.group-bulk-checkbox{width:16px;height:16px;cursor:pointer}
.group-modal{position:fixed;inset:0;display:none;align-items:flex-start;justify-content:center;padding:24px 18px;z-index:90;background:rgba(15,23,42,.46)}
.group-modal.show{display:flex}
.group-dialog{width:min(920px,100%);max-height:calc(100vh - 48px);overflow:auto;background:#fff;border:1px solid var(--ui-border);border-radius:18px;box-shadow:0 24px 60px rgba(15,23,42,.22)}
.group-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:18px 20px;border-bottom:1px solid var(--ui-border)}
.group-head h3{margin:0;font-size:16px;color:var(--ui-text)}
.group-close{border:none;background:transparent;color:var(--ui-muted);font-size:24px;line-height:1;cursor:pointer}
.group-body{padding:18px 20px 20px}
.group-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.group-form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.group-form-grid .full{grid-column:1/-1}
.group-help{margin-top:6px;font-size:12px;color:var(--ui-muted)}
.group-modal-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:20px}
.group-hidden{display:none !important}
.group-empty-row td{text-align:center;color:var(--ui-muted)}
.group-name{font-weight:600}
.group-note-list{margin:8px 0 0 18px;padding:0;color:#dc2626;font-size:12px;line-height:1.55}
.group-status{display:inline-flex;align-items:center;padding:4px 9px;border-radius:999px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.group-status.ok{background:#dcfce7;color:#166534}
.group-status.failed{background:#fee2e2;color:#b91c1c}
.group-status.draft{background:#fef3c7;color:#92400e}
.group-actions-cell{width:1%;white-space:nowrap;vertical-align:middle !important}.group-actions{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:6px;min-width:70px}.group-actions .btn{min-width:58px;justify-content:center;text-align:center}
@media (max-width:900px){
  .group-form-grid,.group-form-grid.three{grid-template-columns:1fr}
  .group-table-toolbar,.group-toolbar-row{align-items:flex-start}
  .group-toolbar-search{width:100%}
  .group-toolbar-search input,.group-table-toolbar select{width:100%}
}



/* ===== resources/views/radius_clients.php ===== */
.radius-clients-page{display:grid;gap:12px}.radius-clients-layout{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr);gap:12px;align-items:start}.radius-clients-page .settings-section{padding:14px;border-radius:16px;background:#fff;border:1px solid #e2e8f0;box-shadow:0 8px 18px rgba(15,23,42,.05)}.radius-clients-page .settings-section h3{margin:0 0 4px;font-size:16px;color:#0f172a;letter-spacing:-.02em}.radius-clients-page .settings-section p{margin:0 0 12px;font-size:11px;line-height:1.6;color:#64748b}.radius-inline-note{margin-top:8px;padding:10px 11px;border-radius:10px;background:#f8fafc;border:1px solid #dbe7ef;font-size:11px;line-height:1.6;color:#64748b}.radius-status-pre{white-space:pre-wrap;margin:6px 0 0;font-size:11px;background:#0f172a;color:#e2e8f0;padding:10px;border-radius:10px}.radius-clients-table td:nth-child(1){min-width:220px}.radius-clients-table td:nth-child(2){min-width:250px}.radius-clients-table td:nth-child(3){min-width:300px}@media (max-width:1024px){.radius-clients-layout{grid-template-columns:1fr}}



/* ===== resources/views/router_api.php ===== */
.router-api-shell{display:grid;gap:16px}
.router-api-card,.router-api-panel,.router-api-stat{background:#fff;border:1px solid var(--ui-border);border-radius:18px;box-shadow:var(--ui-shadow-sm)}
.router-api-card{padding:16px 18px}
.router-api-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.router-api-heading{display:grid;gap:6px}
.router-api-heading h2{margin:0;font-size:22px;color:var(--ui-text)}
.router-api-heading p{margin:0;font-size:13px;color:var(--ui-muted)}
.router-api-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.router-api-tabs{display:flex;align-items:center;gap:0;flex-wrap:wrap;border-bottom:1px solid var(--ui-border);padding:0 12px}
.router-api-tab{display:inline-flex;align-items:center;gap:8px;padding:14px 16px;margin-bottom:-1px;border-bottom:3px solid transparent;color:#64748b;font-weight:700;text-decoration:none}
.router-api-tab.active{color:#0f172a;border-color:#0ea5e9;background:#fff}
.router-api-tab:hover{color:#0f172a;text-decoration:none}
.router-api-inline-form{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-left:auto;padding:8px 0}
.router-api-inline-form select{min-width:220px}
.router-api-panel{padding:16px 18px}
.router-api-uptime{padding:26px 16px 22px;text-align:center;font-size:18px;color:#1e293b;border-bottom:1px solid var(--ui-border)}
.router-api-uptime strong{font-size:44px;line-height:1;color:#0f172a;font-weight:800}
.router-api-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;padding:22px 6px 4px}
.router-api-stat{display:grid;grid-template-columns:100px 1fr;gap:14px;align-items:center;padding:14px}
.router-api-icon{width:100px;height:100px;border-radius:18px;display:flex;align-items:center;justify-content:center;font-size:38px;font-weight:700;color:#fff}
.router-api-stat:nth-child(4n+1) .router-api-icon{background:#06b6d4}
.router-api-stat:nth-child(4n+2) .router-api-icon{background:#10b981}
.router-api-stat:nth-child(4n+3) .router-api-icon{background:#f59e0b}
.router-api-stat:nth-child(4n+4) .router-api-icon{background:#ef4444}
.router-api-label{font-size:12px;letter-spacing:.05em;color:#334155;text-transform:uppercase}
.router-api-value{margin-top:8px;font-size:18px;font-weight:800;color:#0f172a;line-height:1.35}
.router-api-sub{margin-top:5px;font-size:12px;color:#475569;line-height:1.5}
.router-api-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.router-api-mini{padding:14px 16px;border-radius:16px;background:#f8fafc;border:1px solid #e2e8f0}
.router-api-mini strong{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#64748b}
.router-api-mini span{display:block;margin-top:8px;font-size:15px;font-weight:700;color:#0f172a;line-height:1.45}
.router-api-traffic-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:16px}
.router-api-traffic-card{padding:16px 18px;border-radius:16px;background:#fff;border:1px solid var(--ui-border);box-shadow:var(--ui-shadow-sm)}
.router-api-traffic-card strong{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#64748b}
.router-api-traffic-card span{display:block;margin-top:10px;font-size:20px;font-weight:800;color:#0f172a}
.router-api-traffic-card small{display:block;margin-top:6px;font-size:12px;color:#475569}
.router-api-traffic-table{margin-top:16px}
.router-api-traffic-table table{width:100%}
.router-api-traffic-table td,.router-api-traffic-table th{padding:11px 12px}
.router-api-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:12px;font-weight:700;border:1px solid #bfdbfe}
.router-api-note{margin-top:12px;padding:12px 14px;border-radius:14px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;font-size:13px;line-height:1.6}
@media (max-width:1100px){.router-api-grid,.router-api-traffic-grid,.router-api-meta{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.router-api-grid,.router-api-traffic-grid,.router-api-meta{grid-template-columns:1fr}.router-api-stat{grid-template-columns:78px 1fr}.router-api-icon{width:78px;height:78px;font-size:30px}.router-api-tabs{padding:0 8px}.router-api-inline-form{margin-left:0;width:100%}.router-api-inline-form select,.router-api-inline-form .btn{width:100%}.router-api-uptime strong{font-size:30px}}



/* ===== resources/views/routers.php ===== */
.router-shell{display:grid;gap:14px}
.router-toolbar-card,.router-summary-card,.router-detail-card{background:#fff;border:1px solid var(--ui-border);border-radius:16px;box-shadow:var(--ui-shadow-sm)}
.router-toolbar-card{padding:14px 16px}
.router-toolbar-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.router-toolbar-heading{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.router-toolbar-heading strong{font-size:18px;color:var(--ui-text)}
.router-toolbar-heading span{font-size:12px;color:var(--ui-muted)}
.router-toolbar-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.router-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.router-summary-card{padding:15px 16px}
.router-summary-label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ui-muted)}
.router-summary-value{margin-top:8px;font-size:28px;line-height:1;font-weight:800;color:var(--ui-text)}
.router-summary-sub{margin-top:6px;font-size:12px;color:var(--ui-muted)}
.router-status-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;font-size:11px;font-weight:800;text-transform:lowercase;border:1px solid transparent}
.router-status-badge::before{content:"";width:8px;height:8px;border-radius:999px;background:currentColor;opacity:.9}
.router-status-badge.success{background:#ecfdf3;color:#15803d;border-color:#bbf7d0}
.router-status-badge.warn{background:#fff7ed;color:#c2410c;border-color:#fed7aa}
.router-status-badge.error{background:#fef2f2;color:#b91c1c;border-color:#fecaca}
.router-status-badge.pending{background:#f8fafc;color:#475569;border-color:#e2e8f0}
.router-online-pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:#1f2937}
.router-online-pill .icon{font-size:13px;color:#0f766e}
.router-api-btn,.router-action-icon,.router-more-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;border:1px solid var(--ui-border);background:#fff;color:#2563eb;cursor:pointer;text-decoration:none;transition:.16s ease}
.router-api-btn:hover,.router-action-icon:hover,.router-more-btn:hover{background:#f8fbff;border-color:#bfdbfe;color:#1d4ed8}
.router-api-btn.is-disabled{opacity:.45;cursor:not-allowed;color:#94a3b8;background:#f8fafc}
.router-api-btn.is-ready{background:#e0f2fe;border-color:#7dd3fc;color:#0369a1}
.router-action-icon.edit{background:#e0f2fe;border-color:#7dd3fc;color:#0369a1}
.router-action-icon.delete{background:#fef2f2;border-color:#fecaca;color:#dc2626}
.router-action-cluster{display:flex;align-items:center;gap:8px;justify-content:flex-end;flex-wrap:nowrap}
.router-cell-main{font-weight:700;color:#0f172a}
.router-cell-sub{margin-top:4px;font-size:11px;color:var(--ui-muted);line-height:1.45}
.router-notes{max-width:240px;line-height:1.45}
.router-empty-row td{text-align:center;color:var(--ui-muted)}
.router-hidden{display:none !important}
.router-modal,.router-script-modal{position:fixed;inset:0;display:none;align-items:flex-start;justify-content:center;padding:22px 16px;z-index:90;background:rgba(15,23,42,.5)}
.router-modal.show,.router-script-modal.show{display:flex}
.router-dialog,.router-script-dialog{width:min(860px,100%);max-height:calc(100vh - 44px);overflow:auto;background:#fff;border:1px solid var(--ui-border);border-radius:18px;box-shadow:0 26px 60px rgba(15,23,42,.24)}
.router-script-dialog{width:min(720px,100%)}
.router-dialog-head,.router-script-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:18px 20px;border-bottom:1px solid var(--ui-border)}
.router-dialog-head h3,.router-script-head h3{margin:0;font-size:16px;color:var(--ui-text)}
.router-close-btn{border:none;background:transparent;color:var(--ui-muted);font-size:24px;line-height:1;cursor:pointer}
.router-dialog-body,.router-script-body{padding:18px 20px 20px}
.router-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.router-form-grid .full{grid-column:1 / -1}
.router-field-note{margin-top:6px;font-size:12px;color:var(--ui-muted);line-height:1.5}
.router-isolation-help{margin-top:8px;padding-left:18px;font-size:12px;color:#475569;line-height:1.6}
.router-modal-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:20px}
.router-script-tabbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.router-script-tab{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:12px;background:#0ea5e9;color:#fff;font-weight:700}
.router-script-credentials{padding:14px 16px;border:1px solid var(--ui-border);border-radius:14px;background:#f8fbff;color:#334155;line-height:1.7}
.router-script-credentials-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.router-script-credential-item{padding:12px 14px;border-radius:12px;background:#fff;border:1px solid #dbe7ef}
.router-script-credential-item span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#64748b}
.router-script-credential-item strong{display:block;margin-top:8px;font-size:16px;color:#0f172a;word-break:break-all}
.router-script-formline{display:grid;grid-template-columns:220px 1fr;gap:12px;align-items:center;margin-bottom:14px}
.router-script-formline label{margin:0;font-size:12px;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.05em}
.router-script-formline .router-field-note{margin-top:0}
.router-script-credentials strong{color:#0f172a}
.router-script-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:14px 0}
.router-script-output{margin:0;padding:14px 16px;border-radius:14px;border:1px solid #dbe7ef;background:#f8fafc;white-space:pre-wrap;word-break:break-word;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:12px;line-height:1.65;color:#1e293b;min-height:260px}
.router-script-note{margin-top:14px;padding-top:14px;border-top:1px solid var(--ui-border);font-size:13px;color:#475569;line-height:1.7}
.router-detail-card{padding:16px 18px}
.router-detail-card h3{margin:0 0 6px;font-size:17px;color:var(--ui-text)}
@media (max-width:980px){.router-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:780px){.router-form-grid,.router-summary-grid,.router-script-credentials-grid{grid-template-columns:1fr}.router-toolbar-row,.router-dialog-head,.router-script-head{align-items:flex-start}.router-toolbar-actions,.router-modal-actions,.router-script-actions{width:100%}.router-toolbar-actions .btn,.router-modal-actions .btn,.router-script-actions .btn{width:100%;justify-content:center}.router-script-formline{grid-template-columns:1fr}.router-action-cluster{justify-content:flex-start}}



/* ===== resources/views/settings.php ===== */
.settings-page{display:grid;gap:18px}
.settings-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:18px;align-items:start}
.settings-stack{display:grid;gap:18px}
.settings-card{padding:18px;border:1px solid #dbe7ef;border-radius:22px;background:linear-gradient(180deg,#ffffff,#fbfdff);box-shadow:0 18px 36px rgba(15,23,42,.05)}
.settings-card h3{margin:0;font-size:18px;letter-spacing:-.02em;color:#0f172a}
.settings-card > p{margin:8px 0 0;font-size:12px;line-height:1.7;color:#607281}
.settings-card .form-grid{margin-top:16px}
.settings-actions-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:16px 18px;border:1px solid #dbe7ef;border-radius:20px;background:linear-gradient(180deg,#fff,#f8fbff);box-shadow:0 16px 34px rgba(15,23,42,.05)}
.settings-actions-bar .desc{font-size:12px;line-height:1.6;color:#607281;max-width:560px}
.settings-help-list{margin-top:16px;display:grid;gap:10px}
.settings-help-item{padding:13px 14px;border:1px solid #e4edf4;border-radius:16px;background:#fff}
.settings-help-item strong{display:block;font-size:12px;color:#0f172a}
.settings-help-item span{display:block;margin-top:4px;font-size:11px;line-height:1.6;color:#607281}
.settings-summary{display:grid;gap:12px}
.settings-summary-item{padding:14px 15px;border:1px solid #e4edf4;border-radius:18px;background:linear-gradient(180deg,#ffffff,#f8fbff)}
.settings-summary-item strong{display:block;font-size:12px;color:#0f172a}
.settings-summary-item span{display:block;margin-top:4px;font-size:11px;line-height:1.65;color:#607281}
.bank-config-wrap{margin-top:16px;display:grid;gap:14px}
.bank-card{border:1px solid #dbe7ef;border-radius:18px;background:linear-gradient(180deg,#fff,#fbfdff);overflow:hidden}
.bank-card.is-hidden{display:none}
.bank-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid #e7eef5;background:linear-gradient(180deg,#fcfdff,#f6faff)}
.bank-card-head strong{font-size:13px;color:#0f172a}
.bank-card-head span{font-size:11px;color:#607281}
.bank-table{width:100%;border-collapse:collapse}
.bank-table th,.bank-table td{padding:10px 12px;border-bottom:1px solid #edf2f7;text-align:left;vertical-align:top}
.bank-table th{font-size:11px;font-weight:800;color:#334155;background:#f8fbff}
.bank-table td{background:#fff}
.bank-table input{margin:0}
.bank-empty-state{padding:16px;border:1px dashed #c8d7e5;border-radius:16px;background:#f8fbff;font-size:12px;line-height:1.7;color:#607281}
.radius-note{margin-top:10px;padding:11px 12px;border-radius:14px;background:#f8fbff;border:1px solid #dbe7ef;font-size:11px;line-height:1.65;color:#607281}
.router-deploy-table th,.router-deploy-table td{font-size:12px}
@media (max-width: 980px){
  .settings-layout{grid-template-columns:1fr}
}
@media (max-width: 640px){
  .settings-card,.settings-actions-bar{padding:16px}
  .bank-card-head{align-items:flex-start;flex-direction:column}
  .bank-table{min-width:720px}
}



/* ===== resources/views/settings_api.php ===== */
.api-page{display:grid;gap:12px}.api-card{padding:14px;border:1px solid #e2e8f0;border-radius:16px;background:#fff;box-shadow:0 8px 18px rgba(15,23,42,.05)}.api-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:10px}.api-head strong{font-size:16px;color:#0f172a}.api-head span{font-size:11px;line-height:1.5;color:#64748b;max-width:720px}.api-grid{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.api-field label{display:block;margin:0 0 6px;font-size:11px;font-weight:600;color:#0f172a}.api-field input,.api-field textarea{width:100%;border:1px solid #cfd8e3;border-radius:8px;background:#fff;color:#0f172a;font-size:12px;padding:10px 11px}.api-field textarea{min-height:86px;resize:vertical;font-family:inherit}.api-full{grid-column:1/-1}.api-note{margin-top:6px;color:#64748b;font-size:11px;line-height:1.6}.api-inline{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.api-inline input[type="checkbox"]{width:14px;height:14px;margin:0}.api-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-top:12px}.api-cancel{font-size:11px;color:#2563eb;text-decoration:none}.api-cancel:hover{text-decoration:underline}.api-code{margin-top:6px;padding:10px 11px;border:1px solid #dbe7ef;border-radius:10px;background:#f8fafc;color:#334155;font-size:11px;line-height:1.55;word-break:break-all}.api-status{margin-bottom:10px;padding:10px 12px;border-radius:10px;font-size:11px;font-weight:600;line-height:1.55}.api-status.ok{background:#ecfdf3;border:1px solid #bbf7d0;color:#166534}.api-status.warn{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412}.api-side-list{display:grid;gap:8px}.api-side-item{padding:10px 11px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}.api-side-item strong{display:block;font-size:11px;color:#0f172a}.api-side-item span{display:block;margin-top:3px;font-size:10px;line-height:1.55;color:#64748b}@media (max-width: 900px){.api-grid{grid-template-columns:1fr}}



/* ===== resources/views/settings_localization.php ===== */
.localization-page{display:grid;gap:12px}.localization-card{padding:14px;border:1px solid #e2e8f0;border-radius:16px;background:#fff;box-shadow:0 8px 18px rgba(15,23,42,.05)}.localization-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:10px;font-size:16px;font-weight:700;color:#0f172a}.localization-sub{font-size:11px;line-height:1.55;color:#64748b;max-width:700px}.localization-body{padding:0}.localization-grid{display:grid;gap:10px}.localization-field label{display:block;margin:0 0 6px;font-size:11px;font-weight:600;color:#0f172a}.localization-field input,.localization-field select{width:100%;height:38px;padding:0 11px;border:1px solid #cfd8e3;border-radius:8px;background:#fff;color:#0f172a;font-size:12px}.localization-field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#777 50%),linear-gradient(135deg,#777 50%,transparent 50%);background-position:calc(100% - 16px) 16px,calc(100% - 11px) 16px;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:34px}.localization-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.localization-hint{margin-top:5px;font-size:10px;line-height:1.5;color:#64748b}.localization-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-top:8px}.localization-back{font-size:11px;color:#2563eb;text-decoration:none}.localization-back:hover{text-decoration:underline}.localization-note{margin-top:6px;font-size:10px;color:#64748b}.localization-preview{margin-top:2px;padding:12px;border:1px solid #dbe7ef;border-radius:10px;background:#f8fafc;color:#334155;font-size:11px;line-height:1.65}.localization-preview strong{font-size:11px}@media (max-width: 860px){.localization-two{grid-template-columns:1fr}}



/* ===== resources/views/settings_payment_gateway.php ===== */
:root {
    --pg-primary: #3b82f6;
    --pg-primary-hover: #2563eb;
    --pg-surface: #ffffff;
    --pg-background: #f8fafc;
    --pg-border: #e2e8f0;
    --pg-text-main: #0f172a;
    --pg-text-muted: #64748b;
    --pg-radius-lg: 10px;
    --pg-radius-md: 6px;
    --pg-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    --pg-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -2px rgba(0, 0, 0, 0.05);
    --pg-shadow-float: 0 10px 15px -3px rgba(0, 0, 0, 0.05);
}

/* Global Reset */
.pg-page * { box-sizing: border-box; font-family: inherit; }
.pg-page { display: grid; gap: 12px; padding-bottom: 60px; color: var(--pg-text-main); }
.pg-layout { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(260px, 0.6fr); gap: 12px; align-items: start; }
.pg-stack { display: grid; gap: 12px; }

/* Cards */
.pg-card { padding: 14px; border: 1px solid var(--pg-border); border-radius: var(--pg-radius-lg); background: var(--pg-surface); box-shadow: var(--pg-shadow-sm); transition: box-shadow 0.2s ease; }
.pg-card:hover { box-shadow: var(--pg-shadow-md); }

/* Typography & Headers */
.pg-hero { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; flex-wrap: wrap; margin-bottom: 12px; }
.pg-title { margin: 0; font-size: 16px; font-weight: 700; color: var(--pg-text-main); }
.pg-subtitle { margin: 2px 0 0; font-size: 11px; line-height: 1.4; color: var(--pg-text-muted); }

/* Badges */
.pg-badge { display: inline-flex; align-items: center; gap: 4px; padding: 2px 8px; border-radius: 999px; font-size: 10px; font-weight: 600; }
.pg-badge::before { content: ""; width: 5px; height: 5px; border-radius: 50%; box-shadow: 0 0 0 1px rgba(255,255,255,0.5); }
.pg-badge.is-active { background: #dcfce7; color: #166534; border: 1px solid #bbf7d0; }
.pg-badge.is-active::before { background: #22c55e; }
.pg-badge.is-warning { background: #ffedd5; color: #9a3412; border: 1px solid #fed7aa; }
.pg-badge.is-warning::before { background: #f97316; }

/* Overview Stats */
.pg-overview { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.pg-stat { padding: 8px 10px; border: 1px solid var(--pg-border); border-radius: var(--pg-radius-md); background: var(--pg-background); display: flex; flex-direction: column; gap: 2px; }
.pg-stat span { font-size: 10px; font-weight: 600; color: var(--pg-text-muted); text-transform: uppercase; }
.pg-stat strong { font-size: 14px; font-weight: 700; color: var(--pg-text-main); }

/* Alerts */
.pg-alert { margin-top: 12px; padding: 10px 12px; border: 1px solid #fed7aa; border-radius: var(--pg-radius-md); background: #fff8f1; border-left: 3px solid #f97316; }
.pg-alert strong { display: flex; align-items: center; gap: 6px; font-size: 11px; color: #9a3412; margin-bottom: 4px; }
.pg-alert ul { margin: 0; padding-left: 18px; font-size: 11px; line-height: 1.4; color: #7c2d12; }

/* Form Elements */
.pg-form-grid { margin-top: 12px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.pg-field label { display: block; margin: 0 0 4px; font-size: 11px; font-weight: 600; color: var(--pg-text-main); }
.pg-field input[type="text"], .pg-field input[type="password"], .pg-field select { width: 100%; height: 32px; border: 1px solid var(--pg-border); border-radius: 4px; background: var(--pg-surface); color: var(--pg-text-main); font-size: 11px; padding: 0 10px; transition: all 0.2s; }
.pg-field input:focus, .pg-field select:focus, .pg-search-input:focus { outline: none; border-color: var(--pg-primary); box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.15); }
.pg-field small { display: block; margin-top: 3px; font-size: 10px; color: var(--pg-text-muted); line-height: 1.3; }

/* Password Toggle */
.pg-secret { position: relative; }
.pg-secret input { padding-right: 70px; }
.pg-secret button { position: absolute; right: 3px; top: 20px; height: 26px; padding: 0 8px; border: none; border-radius: 3px; background: var(--pg-background); color: var(--pg-text-muted); font-size: 10px; font-weight: 600; cursor: pointer; transition: background 0.2s; }
.pg-secret button:hover { background: #e2e8f0; color: var(--pg-text-main); }

/* Radio Cards */
.pg-radio-wrap { display: flex; gap: 8px; }
.pg-radio-option { flex: 1; position: relative; display: flex; align-items: flex-start; gap: 8px; padding: 8px; border: 1px solid var(--pg-border); border-radius: 4px; background: var(--pg-surface); cursor: pointer; transition: all 0.2s ease; }
.pg-radio-option input { position: absolute; opacity: 0; width: 0; height: 0; }
.pg-radio-option span { display: block; }
.pg-radio-option strong { display: block; font-size: 11px; color: var(--pg-text-main); margin-bottom: 2px; }
.pg-radio-option span span { font-size: 10px; color: var(--pg-text-muted); line-height: 1.2; }
.pg-radio-option:hover { border-color: #cbd5e1; background: var(--pg-background); }
.pg-radio-option:has(input:checked) { border-color: var(--pg-primary); background: #eff6ff; box-shadow: 0 0 0 1px var(--pg-primary) inset; }

/* Code Box */
.pg-code-grid { margin-top: 12px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.pg-code-box { padding: 10px; border: 1px solid var(--pg-border); border-radius: var(--pg-radius-md); background: #f1f5f9; position: relative; }
.pg-code-box label { display: block; margin: 0 0 4px; font-size: 10px; font-weight: 600; color: var(--pg-text-muted); }
.pg-code-value { font-family: ui-monospace, SFMono-Regular, monospace; font-size: 11px; color: #334155; word-break: break-all; line-height: 1.4; margin-bottom: 8px; }
.pg-copy-btn { display: inline-flex; align-items: center; gap: 4px; padding: 3px 8px; border: 1px solid #cbd5e1; border-radius: 3px; background: var(--pg-surface); color: #475569; font-size: 10px; font-weight: 500; cursor: pointer; transition: all 0.2s; }
.pg-copy-btn:hover { background: #e2e8f0; color: var(--pg-text-main); }
.pg-copy-btn.copied { background: #22c55e; color: white; border-color: #22c55e; }

/* Channels Selection */
.pg-section-head { display: flex; justify-content: space-between; align-items: flex-end; border-bottom: 1px solid var(--pg-border); padding-bottom: 8px; margin-bottom: 12px; }
.pg-section-head h3 { margin: 0 0 2px; font-size: 14px; font-weight: 700; color: var(--pg-text-main); }
.pg-section-head p { margin: 0; font-size: 11px; color: var(--pg-text-muted); }
.pg-chip { display: inline-flex; align-items: center; padding: 2px 6px; border-radius: 999px; background: #e0e7ff; color: #4338ca; font-size: 10px; font-weight: 600; }

.pg-channel-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-wrap: wrap; margin-bottom: 12px; padding: 8px 10px; background: var(--pg-background); border-radius: var(--pg-radius-md); border: 1px solid var(--pg-border); }
.pg-check-all { display: flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 500; cursor: pointer; margin: 0;}
.pg-check-all input { width: 12px; height: 12px; margin: 0; }
.pg-search { flex: 1; max-width: 220px; position: relative; }
.pg-search::before { content: "🔍"; position: absolute; left: 8px; top: 50%; transform: translateY(-50%); font-size: 10px; opacity: 0.5; }
.pg-search-input { width: 100%; height: 28px; border: 1px solid var(--pg-border); border-radius: 4px; padding: 0 8px 0 24px; font-size: 11px; }

.pg-channel-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.pg-channel-group { padding: 10px; border: 1px solid var(--pg-border); border-radius: var(--pg-radius-md); background: var(--pg-surface); box-shadow: var(--pg-shadow-sm); }
.pg-group-title { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; padding-bottom: 4px; border-bottom: 1px dashed var(--pg-border); }
.pg-group-title strong { font-size: 11px; color: var(--pg-text-main); }
.pg-group-title span { font-size: 10px; color: var(--pg-text-muted); background: var(--pg-background); padding: 1px 5px; border-radius: 999px; }

.pg-check-list { display: grid; gap: 4px; }
.pg-check { display: flex; align-items: flex-start; gap: 8px; padding: 6px; border-radius: 4px; transition: background 0.2s; cursor: pointer; border: 1px solid transparent; }
.pg-check:hover { background: var(--pg-background); border-color: var(--pg-border); }
.pg-check input[type="checkbox"] { margin-top: 2px; width: 12px; height: 12px; accent-color: var(--pg-primary); cursor: pointer; }
.pg-check span { font-size: 11px; font-weight: 500; color: var(--pg-text-main); line-height: 1.2; }
.pg-check small { display: block; font-size: 10px; color: var(--pg-text-muted); margin-top: 2px; }
.pg-check.is-hidden { display: none; }

/* Aside List */
.pg-aside-list { display: grid; gap: 8px; margin-top: 10px; }
.pg-aside-item { display: flex; flex-direction: column; gap: 2px; padding: 10px; background: var(--pg-background); border-radius: var(--pg-radius-md); border: 1px solid var(--pg-border); }
.pg-aside-item strong { font-size: 11px; color: var(--pg-text-main); }
.pg-aside-item span { font-size: 10px; line-height: 1.4; color: var(--pg-text-muted); }

/* Floating Action Bar */
.pg-actions-bar { position: sticky; bottom: 12px; z-index: 10; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 16px; border: 1px solid var(--pg-border); border-radius: 100px; background: rgba(255, 255, 255, 0.95); backdrop-filter: blur(10px); box-shadow: var(--pg-shadow-float); }
.pg-actions-bar .desc { font-size: 11px; color: var(--pg-text-muted); }
.pg-actions-bar .actions { display: flex; gap: 8px; }
.pg-btn-primary { background: var(--pg-primary); color: white; border: none; padding: 6px 14px; border-radius: 999px; font-size: 11px; font-weight: 600; cursor: pointer; transition: all 0.2s; }
.pg-btn-primary:hover { background: var(--pg-primary-hover); transform: translateY(-1px); }
.pg-btn-secondary { background: white; color: #334155; border: 1px solid #cbd5e1; padding: 6px 14px; border-radius: 999px; font-size: 11px; font-weight: 600; text-decoration: none; transition: all 0.2s; display: inline-flex; align-items: center; }
.pg-btn-secondary:hover { background: #f8fafc; border-color: #94a3b8; }

/* Responsive */
@media (max-width: 1024px) { .pg-layout { grid-template-columns: 1fr; } .pg-actions-bar { border-radius: 8px; flex-direction: column; text-align: center; } }
@media (max-width: 768px) { .pg-form-grid, .pg-code-grid, .pg-channel-grid, .pg-overview { grid-template-columns: 1fr; } .pg-radio-wrap { flex-direction: column; } }



/* ===== resources/views/settings_template_voucher.php ===== */
.vt-shell{display:grid;gap:12px}.vt-card{background:#fff;border:1px solid #dfe7ef;border-radius:18px;box-shadow:0 10px 26px rgba(15,23,42,.05)}.vt-card-head{padding:16px 18px;border-bottom:1px solid #e8eef5;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.vt-card-head h3{margin:0;font-size:18px;color:#0f172a}.vt-card-head p{margin:4px 0 0;font-size:12px;color:#64748b;line-height:1.55}.vt-card-body{padding:16px 18px}.vt-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.vt-toolbar .actions,.vt-toolbar .right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.vt-search{display:flex;align-items:center;gap:8px;font-size:13px;color:#526578}.vt-search input{min-width:240px}.vt-table-wrap{overflow:auto;border-top:1px solid #e8eef5}.vt-table{width:100%;min-width:960px;border-collapse:separate;border-spacing:0}.vt-table th,.vt-table td{padding:12px 12px;border-bottom:1px solid #edf2f7;font-size:12px;text-align:left;vertical-align:middle}.vt-table th{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#617486;background:#f8fbff}.vt-table tbody tr:hover td{background:#f8fbff}.vt-check{width:16px;height:16px}.vt-status{display:inline-flex;align-items:center;justify-content:center;padding:5px 12px;border-radius:999px;font-size:11px;font-weight:800}.vt-status.success{background:#e8fff1;color:#14924f}.vt-status.danger{background:#fff0ef;color:#d6453a}.vt-actions{display:flex;align-items:center;gap:6px}.vt-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:30px;border-radius:8px;border:1px solid #d7e3ee;background:#fff;color:#2f4355;text-decoration:none;font-size:14px}.vt-icon-btn.edit{background:#0ea5e9;border-color:#0ea5e9;color:#fff}.vt-icon-btn.delete{background:#f59e0b;border-color:#f59e0b;color:#fff}.vt-icon-btn.preview{background:#fff;border-color:#d7e3ee}.vt-icon-btn:hover{transform:translateY(-1px)}.vt-pagination{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;flex-wrap:wrap}.vt-pagination .info{font-size:12px;color:#64748b}.vt-page-links{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.vt-page-links button{padding:7px 11px;border-radius:10px;border:1px solid #d7e3ee;background:#fff;color:#304658;font-size:12px;cursor:pointer}.vt-page-links button.active{background:#eaf3ff;border-color:#b7d3fb;color:#1658c0}.vt-empty{padding:28px 18px;text-align:center;color:#64748b}.vt-row-hidden{display:none}.vt-form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.4fr);gap:16px}.vt-form-main,.vt-form-side{display:grid;gap:12px}.vt-field label{display:block;margin-bottom:6px;font-size:12px;font-weight:700;color:#223445}.vt-field input,.vt-field select,.vt-field textarea{width:100%;border:1px solid #cfdae5;border-radius:12px;background:#fff;color:#102132;font-size:13px}.vt-field input,.vt-field select{height:42px;padding:0 12px}.vt-field textarea{min-height:460px;padding:14px 14px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;line-height:1.55;resize:vertical;background:#161b22;color:#e5edf7;border-color:#202b37}.vt-field small{display:block;margin-top:6px;font-size:11px;line-height:1.55;color:#64748b}.vt-inline-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.vt-note{padding:14px 16px;border-radius:16px;border:1px solid #dbe7ef;background:#f8fbff;color:#2f4355;font-size:12px;line-height:1.7}.vt-note strong{color:#0f172a}.vt-note .warn{color:#dc2626;font-weight:700}.vt-hosts{margin:8px 0 0 20px;padding:0;color:#2563eb}.vt-hosts li{margin:2px 0}.vt-actions-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-top:6px}.vt-preview-box{margin-top:8px;border:1px solid #dbe7ef;border-radius:18px;overflow:hidden;background:#fff}.vt-preview-head{padding:12px 14px;border-bottom:1px solid #e8eef5;background:#f8fbff;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.vt-preview-head strong{font-size:13px;color:#0f172a}.vt-preview-frame{padding:16px;max-height:70vh;overflow:auto;background:#f1f5f9}.vt-side-card{padding:14px 15px;border:1px solid #dbe7ef;border-radius:16px;background:#fbfdff}.vt-side-card h4{margin:0 0 6px;font-size:13px;color:#0f172a}.vt-side-card p{margin:0 0 10px;font-size:11px;line-height:1.6;color:#64748b}.vt-side-card ul{margin:0;padding-left:18px;color:#475569;font-size:11px;line-height:1.7}.vt-modal{position:fixed;inset:0;background:rgba(15,23,42,.45);display:none;align-items:center;justify-content:center;padding:18px;z-index:90}.vt-modal.show{display:flex}.vt-modal-card{width:min(100%,780px);max-height:calc(100vh - 36px);overflow:auto;background:#fff;border:1px solid #dfe8f1;border-radius:24px;box-shadow:0 26px 60px rgba(15,23,42,.22)}.vt-modal-head{padding:16px 18px;border-bottom:1px solid #e8eef5;display:flex;align-items:center;justify-content:space-between;gap:10px}.vt-modal-head h3{margin:0;font-size:18px;color:#0f172a}.vt-modal-body{padding:16px 18px}.vt-modal-close{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:999px;border:1px solid #d6e2ed;background:#fff;color:#304658;font-size:22px;cursor:pointer}.vt-var-table{width:100%;border-collapse:separate;border-spacing:0}.vt-var-table td{padding:11px 12px;border-bottom:1px solid #edf2f7;font-size:13px}.vt-var-table tr:nth-child(even) td{background:#f8fbff}.vt-var-table td:last-child{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:700;color:#334155}.field-error{margin:0 0 8px;padding:10px 12px;border-radius:12px;background:#fff1f2;border:1px solid #fecdd3;color:#be123c;font-size:12px}.btn.light{background:#fff;border:1px solid #d6e2ed;color:#304658}@media (max-width:980px){.vt-form-grid{grid-template-columns:1fr}.vt-search input{min-width:0;width:100%}}

/* === UI Refinement Overrides — smaller text, lighter weights, tighter spacing, cleaner table === */
.vt-shell{gap:10px}
.vt-card{border-radius:12px;box-shadow:0 4px 14px rgba(15,23,42,.04)}
.vt-card-head{padding:12px 14px}
.vt-card-head h3{font-size:14px;font-weight:600}
.vt-card-head p{font-size:11px;margin-top:3px;line-height:1.5}
.vt-card-body{padding:10px 14px}
.vt-toolbar{gap:10px}
.vt-toolbar .actions,.vt-toolbar .right{gap:8px}
.vt-toolbar .btn{font-size:12px;font-weight:600;padding:6px 12px;height:32px}
.vt-search{font-size:12px;gap:6px}
.vt-search input{min-width:220px;height:30px;font-size:12px;padding:0 10px}

/* Table — clean, compact */
.vt-table{min-width:920px}
.vt-table th,.vt-table td{padding:7px 10px;font-size:11px;border-bottom:1px solid #eef1f5}
.vt-table th{font-size:10px;font-weight:600;color:#5b6877;background:#f5f7fa;letter-spacing:.03em}
.vt-table tbody tr:nth-child(even) td{background:#fafbfd}
.vt-table tbody tr:hover td{background:#eef5fd}
.vt-table td strong{font-weight:600}
.vt-status{font-size:10px;font-weight:600;padding:3px 9px}
.vt-actions{gap:5px}
.vt-icon-btn{width:28px;height:26px;font-size:12px;border-radius:6px}
.vt-pagination{padding:8px 12px}
.vt-pagination .info{font-size:11px}
.vt-page-links button{padding:5px 9px;font-size:11px;border-radius:6px}
.vt-empty{padding:20px 14px;font-size:12px}

/* Form */
.vt-form-grid{gap:12px}
.vt-form-main,.vt-form-side{gap:10px}
.vt-field label{margin-bottom:5px;font-size:11px;font-weight:600}
.vt-field input,.vt-field select,.vt-field textarea{font-size:12px;border-radius:8px}
.vt-field input,.vt-field select{height:34px;padding:0 10px}
.vt-field textarea{min-height:420px;padding:10px 12px;line-height:1.5}
.vt-field small{font-size:10px;margin-top:5px;line-height:1.5}
.vt-note{padding:10px 12px;border-radius:10px;font-size:11px;line-height:1.55}
.vt-note .warn{font-weight:600}
.vt-hosts li{margin:1px 0;font-size:11px}
.vt-actions-row{gap:8px}
.vt-actions-row .btn{font-size:12px;font-weight:600;padding:7px 14px;height:34px}
.vt-preview-box{border-radius:12px}
.vt-preview-head{padding:9px 12px}
.vt-preview-head strong{font-size:12px;font-weight:600}
.vt-preview-frame{padding:12px;max-height:68vh}
.vt-side-card{padding:10px 12px;border-radius:10px}
.vt-side-card h4{font-size:12px;font-weight:600;margin-bottom:4px}
.vt-side-card p{font-size:10px;line-height:1.55;margin-bottom:8px}
.vt-side-card ul{font-size:10px;line-height:1.6}

/* Modal */
.vt-modal-card{border-radius:14px}
.vt-modal-head{padding:12px 14px}
.vt-modal-head h3{font-size:14px;font-weight:600}
.vt-modal-close{width:32px;height:32px;font-size:18px;border-radius:8px}
.vt-modal-body{padding:12px 14px}
.vt-var-table td{padding:7px 10px;font-size:11px}
.vt-var-table tr:nth-child(even) td{background:#fafbfd}
.field-error{padding:8px 10px;font-size:11px;border-radius:8px;margin-bottom:6px}
.btn.light{font-size:12px;font-weight:600}



/* ===== resources/views/settings_whatsapp_api.php ===== */
.whatsapp-page{display:grid;gap:12px}.whatsapp-card{padding:14px;border:1px solid #e2e8f0;border-radius:16px;background:#fff;overflow:hidden;box-shadow:0 8px 18px rgba(15,23,42,.05)}.whatsapp-head{padding:0 0 10px;border-bottom:1px solid #e5edf5;background:transparent;font-size:16px;font-weight:700;color:#0f172a}.whatsapp-body{padding:12px 0 0}.whatsapp-notes{margin:0;padding-left:20px;display:grid;gap:6px;color:#b45309;font-weight:600;line-height:1.55;font-size:11px}.whatsapp-tabs{display:flex;gap:8px;align-items:flex-end;border-bottom:none;margin-top:14px}.whatsapp-tab{display:inline-flex;align-items:center;height:36px;padding:0 14px;border:1px solid #dbe7ef;background:#fff;color:#475569;text-decoration:none;border-radius:999px;margin-bottom:0;font-size:11px;font-weight:600}.whatsapp-tab.active{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe;font-weight:700}.whatsapp-panel{padding-top:12px}.whatsapp-grid{display:grid;gap:12px}.whatsapp-grid.two{grid-template-columns:1fr 1fr;gap:10px}.whatsapp-field label{display:block;margin:0 0 6px;font-size:11px;font-weight:600;color:#0f172a}.whatsapp-field input,.whatsapp-field select,.whatsapp-field textarea{width:100%;border:1px solid #cfd8e3;border-radius:8px;background:#fff;color:#0f172a;font-size:12px}.whatsapp-field input,.whatsapp-field select{height:38px;padding:0 11px}.whatsapp-field textarea{min-height:260px;padding:10px 11px;line-height:1.6;resize:vertical}.whatsapp-field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#777 50%),linear-gradient(135deg,#777 50%,transparent 50%);background-position:calc(100% - 16px) 16px,calc(100% - 11px) 16px;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:34px}.whatsapp-link-note{margin-top:6px;font-size:10px}.whatsapp-link-note a{color:#2563eb;text-decoration:underline}.whatsapp-checks{display:grid;gap:8px;margin-top:0;padding:10px 12px;border:1px solid #dbe7ef;border-radius:12px;background:#f8fafc}.whatsapp-check{display:flex;align-items:center;gap:8px;font-size:11px;color:#0f172a}.whatsapp-check input{width:14px;height:14px;margin:0}.whatsapp-delay-info{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:10px 0 0}.whatsapp-delay-box{display:grid;gap:8px;padding:10px 12px;border:1px solid #dbe7ef;border-radius:12px;background:#f8fafc}.whatsapp-delay-box strong{font-size:11px;color:#0f172a;text-decoration:none}.whatsapp-delay-list{display:grid;gap:4px}.whatsapp-delay-list div{font-size:11px;line-height:1.5}.whatsapp-delay-list .ok{color:#166534}.whatsapp-delay-list .no{color:#b91c1c;text-decoration:none}.whatsapp-webhook-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.whatsapp-webhook-head a{color:#2563eb;text-decoration:underline;font-size:10px}.whatsapp-code{display:none;margin-top:8px;padding:10px 11px;background:#0f172a;color:#e2e8f0;border-radius:10px;font-size:11px;line-height:1.55;white-space:pre-wrap;word-break:break-word}.whatsapp-code.is-visible{display:block}.whatsapp-readonly{background:#f8fafc}.whatsapp-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-top:10px}.whatsapp-cancel{font-size:11px;color:#2563eb;text-decoration:none}.whatsapp-cancel:hover{text-decoration:underline}.whatsapp-template-help{font-size:11px;line-height:1.65;color:#475569;margin-top:14px;padding:10px 12px;border:1px solid #dbe7ef;border-radius:12px;background:#f8fafc}.whatsapp-common{border-top:1px solid #e5edf5;border-bottom:1px solid #e5edf5;padding:12px 0 14px 0}.whatsapp-common-title{font-weight:700;color:#0f172a;margin-bottom:10px;font-size:12px}.whatsapp-common-list{display:grid;gap:6px}.whatsapp-common-row{display:grid;grid-template-columns:72px 1fr;align-items:start;gap:8px;font-size:11px;line-height:1.45;color:#475569}.whatsapp-copy{display:inline-flex;justify-content:center;align-items:center;height:28px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#475569;font-size:10px;cursor:pointer}.whatsapp-editor-tabs{display:flex;gap:6px;align-items:flex-end;border-bottom:none;margin-top:14px}.whatsapp-editor-tab{display:inline-flex;align-items:center;justify-content:center;min-width:120px;height:34px;padding:0 14px;color:#475569;text-decoration:none;border-radius:999px;font-size:11px;font-weight:600;opacity:1;border:1px solid #dbe7ef;background:#fff}.whatsapp-editor-tab.is-white,.whatsapp-editor-tab.is-cyan,.whatsapp-editor-tab.is-green{background:#fff;color:#475569;border:1px solid #dbe7ef}.whatsapp-editor-tab.active{transform:none;background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.whatsapp-editor-panel{padding-top:12px}.whatsapp-editor-panel.is-hidden{display:none}.whatsapp-test-btn{display:inline-flex;align-items:center;justify-content:center;height:34px;padding:0 14px;border:none;border-radius:999px;background:#f97316;color:#fff;font-size:11px;font-weight:600;cursor:pointer}.whatsapp-green-note{margin-top:14px;color:#166534;font-size:11px;font-weight:600;line-height:1.65;padding:10px 12px;border:1px solid #bbf7d0;border-radius:12px;background:#ecfdf3}.whatsapp-red-note{margin-top:10px;color:#9a3412;font-size:11px;font-weight:600;line-height:1.65;text-align:left;padding:10px 12px;border:1px solid #fed7aa;border-radius:12px;background:#fff7ed}@media (max-width: 900px){.whatsapp-grid.two,.whatsapp-delay-info{grid-template-columns:1fr}.whatsapp-editor-tabs,.whatsapp-tabs{flex-wrap:wrap}}



/* ===== resources/views/shared/invoice_document.php ===== */
body.invoice-document-page{margin:0;font-family:'Inter',system-ui,-apple-system,sans-serif;background:#eef2f7;color:#334155;font-size:11px;line-height:1.4}
body.invoice-document-page .toolbar{position:sticky;top:0;z-index:10;display:flex;gap:8px;justify-content:center;padding:10px;background:rgba(15,23,42,.96);flex-wrap:wrap}
body.invoice-document-page .toolbar a,body.invoice-document-page .toolbar button{border:1px solid #d1d5db;border-radius:6px;padding:8px 14px;font-size:12px;font-weight:600;cursor:pointer;text-decoration:none;background:#fff;color:#0f172a;transition:all .2s}
body.invoice-document-page .toolbar a:hover,body.invoice-document-page .toolbar button:hover{background:#f1f5f9}
body.invoice-document-page .toolbar .primary{background:#2563eb;color:#fff;border-color:#2563eb}
body.invoice-document-page .toolbar .primary:hover{background:#1d4ed8}
body.invoice-document-page .sheet{width:210mm;margin:16px auto;background:#fff;box-shadow:0 8px 30px rgba(15,23,42,.08);padding:8mm 10mm;border-radius:8px}
body.invoice-document-page .public-flash{margin:0 auto 12px;max-width:210mm;padding:0 4px}
body.invoice-document-page .public-flash .msg{padding:10px 12px;border-radius:6px;font-size:12px;font-weight:600}
body.invoice-document-page .public-flash .ok{background:#ecfdf3;color:#067647;border:1px solid #a6f4c5}
body.invoice-document-page .public-flash .err{background:#fef3f2;color:#b42318;border:1px solid #fecdca}
body.invoice-document-page .header{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:start;padding-bottom:10px;border-bottom:2px solid #1e293b;margin-bottom:12px}
body.invoice-document-page .brand-logos{display:flex;align-items:center;gap:10px;min-height:20px;margin-bottom:6px}
body.invoice-document-page .brand-logos img{display:block;max-height:56px;max-width:180px;height:auto;width:auto;object-fit:contain}
body.invoice-document-page .invoice-meta{text-align:right}
body.invoice-document-page .invoice-meta-logo{margin:0 0 6px;display:flex;justify-content:flex-end}
body.invoice-document-page .invoice-meta-logo img{display:block;max-height:48px;max-width:160px;height:auto;width:auto;object-fit:contain}
body.invoice-document-page .invoice-meta .doc-title{font-size:20px;font-weight:800;color:#1e293b;margin:0 0 6px;letter-spacing:1px}
body.invoice-document-page .meta-list{font-size:11px;line-height:1.6;margin-top:4px}
body.invoice-document-page .meta-list strong{color:#0f172a}
body.invoice-document-page .grid-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
body.invoice-document-page .panel{border:1px solid #e2e8f0;padding:8px 12px;background:#fff;border-radius:6px}
body.invoice-document-page .panel-title{font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#64748b;margin:0 0 4px}
body.invoice-document-page .panel p{margin:0 0 2px}
body.invoice-document-page .panel-right{text-align:right}
body.invoice-document-page table{width:100%;border-collapse:collapse}
body.invoice-document-page .table-block{margin-top:10px;border:1px solid #e2e8f0;border-radius:6px;overflow:hidden}
body.invoice-document-page .table-title{padding:6px 12px;background:#f8fafc;border-bottom:1px solid #e2e8f0;font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#0f172a}
body.invoice-document-page th,body.invoice-document-page td{border-bottom:1px solid #e2e8f0;padding:6px 10px;vertical-align:top;font-size:11px}
body.invoice-document-page th{background:#f8fafc;color:#475569;font-weight:700;text-transform:uppercase;font-size:10px;text-align:left}
body.invoice-document-page td:last-child,body.invoice-document-page th:last-child{text-align:right}
body.invoice-document-page tr:last-child td{border-bottom:none}
body.invoice-document-page .service-cell strong{display:block;font-size:11px;color:#0f172a}
body.invoice-document-page .muted{color:#64748b}
body.invoice-document-page .totals-row td{font-weight:600}
body.invoice-document-page .grand-total td{font-size:12px;color:#0f172a;background:#f8fafc;font-weight:800}
body.invoice-document-page .fine{font-size:9.5px;color:#64748b;font-style:italic}
body.invoice-document-page .bank-table td:last-child,body.invoice-document-page .bank-table th:last-child{text-align:left}
body.invoice-document-page .bank-table td:nth-child(1){width:25%}
body.invoice-document-page .bank-table td:nth-child(2){width:35%}
body.invoice-document-page .bank-table td:nth-child(3){width:40%}
body.invoice-document-page .bottom-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:10px;margin-top:10px}
body.invoice-document-page .notes-list{margin:0;padding-left:16px;font-size:10.5px}
body.invoice-document-page .notes-list li{margin:0 0 3px}
body.invoice-document-page .signature{margin-top:16px;display:flex;justify-content:flex-end}
body.invoice-document-page .signature-box{width:220px;text-align:center;font-size:11px}
body.invoice-document-page .signature-space{height:40px}
body.invoice-document-page .footer-note{margin-top:8px;padding-top:6px;border-top:1px solid #e2e8f0;text-align:center;font-size:9.5px;color:#64748b}
body.invoice-document-page .pay-state{margin-top:10px;padding:10px 12px;border:1px dashed #cbd5e1;background:#f8fafc;border-radius:6px}
body.invoice-document-page .pay-state strong{display:block;margin-bottom:2px;color:#0f172a}
body.invoice-document-page .pay-modal{position:fixed;inset:0;background:rgba(15,23,42,.6);backdrop-filter:blur(2px);display:none;align-items:center;justify-content:center;padding:18px;z-index:50}
body.invoice-document-page .pay-modal.is-open{display:flex}
body.invoice-document-page .pay-modal-card{width:min(600px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.2)}
body.invoice-document-page .pay-modal-head{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e2e8f0;font-size:16px;font-weight:700;color:#0f172a}
body.invoice-document-page .pay-modal-close{border:none;background:transparent;font-size:24px;line-height:1;cursor:pointer;color:#64748b}
body.invoice-document-page .pay-modal-body{padding:16px 20px}
body.invoice-document-page .pay-gateway-badges{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
body.invoice-document-page .pay-gateway-badge{display:inline-flex;align-items:center;justify-content:center;height:28px;padding:0 10px;border-radius:4px;background:#f1f5f9;border:1px solid #cbd5e1;font-size:11px;font-weight:700;color:#334155}
body.invoice-document-page .pay-field{margin-bottom:14px}
body.invoice-document-page .pay-field label{display:block;margin:0 0 6px;font-size:13px;font-weight:600;color:#334155}
body.invoice-document-page .pay-field select,body.invoice-document-page .pay-field input{width:100%;height:40px;border:1px solid #cbd5e1;border-radius:6px;padding:8px 12px;font-size:13px;background:#fff;color:#0f172a}
body.invoice-document-page .pay-channel-box{border:1px solid #cbd5e1;border-radius:6px;padding:10px;background:#fff}
body.invoice-document-page .pay-channel-list{max-height:200px;overflow:auto;display:grid;gap:6px;margin-top:10px}
body.invoice-document-page .pay-channel-item{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;border:1px solid #e2e8f0;border-radius:6px;font-size:13px;cursor:pointer;transition:background .2s}
body.invoice-document-page .pay-channel-item:hover{background:#f8fafc}
body.invoice-document-page .pay-modal-actions{display:flex;justify-content:flex-start;gap:10px;flex-wrap:wrap;padding-top:6px}
body.invoice-document-page .pay-modal-actions button{border:1px solid #d1d5db;border-radius:6px;padding:10px 16px;font-size:13px;font-weight:600;cursor:pointer}
body.invoice-document-page .pay-modal-actions .continue{background:#2563eb;border-color:#2563eb;color:#fff}
body.invoice-document-page .pay-modal-actions .continue:disabled{opacity:.6;cursor:not-allowed}
body.invoice-document-page .pay-empty{padding:12px;border-radius:6px;background:#fff7ed;border:1px solid #fed7aa;color:#b45309;font-size:12px}
@media (max-width:820px){body.invoice-document-page .sheet{width:100%;margin:0;padding:12px;border-radius:0;box-shadow:none}}
@media print{@page{size:A4;margin:5mm}body.invoice-document-page{background:#fff}body.invoice-document-page .toolbar,body.invoice-document-page .pay-modal,body.invoice-document-page .public-flash{display:none!important}body.invoice-document-page .sheet{width:100%;margin:0;padding:0;box-shadow:none;border-radius:0}body.invoice-document-page .header{grid-template-columns:1fr auto!important}body.invoice-document-page .grid-2{grid-template-columns:1fr 1fr!important}body.invoice-document-page .bottom-grid{grid-template-columns:1.3fr .7fr!important}body.invoice-document-page .invoice-meta{text-align:right!important}body.invoice-document-page .table-block,body.invoice-document-page .panel,body.invoice-document-page .pay-state,body.invoice-document-page .signature,body.invoice-document-page .bottom-grid{page-break-inside:avoid;break-inside:avoid}}


/* ===== resources/views/tickets.php ===== */
.ticket-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:16px}.ticket-summary .mini-stat{padding:16px 18px;border-radius:18px;border:1px solid #dbe6f1;background:#fff;box-shadow:0 12px 30px rgba(15,23,42,.04)}.ticket-summary .mini-stat strong{display:block;font-size:24px;line-height:1.1;color:#0f172a}.ticket-summary .mini-stat span{display:block;margin-top:6px;font-size:12px;color:#5f7285}.ticket-card{min-width:0;overflow:hidden;background:#fff;border:1px solid #dfe8f1;border-radius:18px;box-shadow:0 12px 30px rgba(15,23,42,.04)}.ticket-card .head,.ticket-card .body{min-width:0}.ticket-card .head{padding:16px 18px;border-bottom:1px solid #e8eef5;display:flex;align-items:center;justify-content:space-between;gap:10px}.ticket-card .body{padding:16px 18px}.ticket-filters{display:grid;grid-template-columns:minmax(0,1.2fr) repeat(3,minmax(120px,1fr)) auto;gap:10px;align-items:end}.ticket-filters input,.ticket-filters select,.ticket-reply-box textarea,.ticket-reply-box select{width:100%;border:1px solid #cfdbe8;border-radius:12px;padding:10px 12px;font-size:13px;background:#fff;color:#122233}.ticket-filters label,.ticket-reply-box label{display:grid;gap:6px;font-size:12px;color:#526578;font-weight:600}.ticket-filters .filter-actions{display:flex;gap:8px;align-items:center}.ticket-table-wrap{max-width:100%;overflow:auto;border:1px solid #e5edf5;border-radius:16px}.ticket-table{width:100%;min-width:860px;border-collapse:separate;border-spacing:0}.ticket-table th,.ticket-table td{padding:12px 12px;border-bottom:1px solid #edf2f7;text-align:left;font-size:12px;vertical-align:top}.ticket-table th{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#617486;background:#f8fbff}.ticket-table tbody tr:hover td{background:#f8fbff}.ticket-row-link{display:block;color:inherit;text-decoration:none}.ticket-row-active td{background:#f5f9ff}.ticket-no{font-weight:700;color:#0f172a}.ticket-subject{font-weight:600;color:#0f172a;line-height:1.45;word-break:break-word}.ticket-customer{margin-top:4px;color:#647789;font-size:11px}.ticket-meta-line{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:6px}.ticket-badge{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.03em}.ticket-badge.info{background:#e7f0ff;color:#2058c9}.ticket-badge.warn{background:#fff2dd;color:#b26900}.ticket-badge.success{background:#e9f8ee;color:#1d7a3a}.ticket-badge.error{background:#ffe8e8;color:#c62828}.ticket-badge.soft{background:#eef3f7;color:#5d7284}.ticket-detail-head,.ticket-detail-head>div,.ticket-thread,.ticket-message{min-width:0}.ticket-detail-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.ticket-detail-title{margin:6px 0 0;font-size:18px;line-height:1.35;color:#0f172a;word-break:break-word}.ticket-detail-sub{margin-top:6px;font-size:12px;color:#607386;line-height:1.7}.ticket-thread{display:grid;gap:12px;max-height:48vh;overflow:auto;padding-right:4px}.ticket-message{display:flex;gap:10px;align-items:flex-start}.ticket-message.admin{justify-content:flex-end}.ticket-message .bubble{width:fit-content;max-width:min(100%,720px);padding:12px 14px;border-radius:16px;border:1px solid #dde7f1;background:#f8fbff}.ticket-message.admin .bubble{background:#eaf4ff;border-color:#cfe2ff}.ticket-message.customer .bubble{background:#f8fff4;border-color:#d9efc8}.ticket-message.system .bubble{background:#f7f7f8;border-color:#e7e7e7}.ticket-message .meta{font-size:11px;color:#647789;margin-bottom:6px;font-weight:600}.ticket-message .text{font-size:13px;line-height:1.65;color:#17293a;white-space:pre-wrap;word-break:break-word}.ticket-reply-box{display:grid;gap:12px}.ticket-reply-box textarea{min-height:110px;resize:vertical}.ticket-actions{display:flex;flex-wrap:wrap;gap:8px}.ticket-empty{padding:26px 18px;border:1px dashed #d7e3ee;border-radius:18px;background:#fbfdff;color:#647789;text-align:center;line-height:1.7}.ticket-quick-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.ticket-quick-actions form{margin:0;flex:0 0 auto}.muted-note{font-size:12px;color:#6a7d8f}.btn.small{padding:9px 12px;font-size:12px}.btn.status-btn{background:#fff;border:1px solid #d6e2ed;color:#223445}.btn.status-btn:hover{border-color:#9fc4f0;color:#0f5ea8}.ticket-list-header{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px}.ticket-scope-links{display:flex;gap:8px;flex-wrap:wrap}.ticket-scope-links a{display:inline-flex;align-items:center;padding:7px 12px;border-radius:999px;border:1px solid #d8e4ef;background:#fff;color:#304658;font-size:12px;font-weight:700;text-decoration:none}.ticket-scope-links a.active{background:#eaf3ff;border-color:#b7d3fb;color:#1658c0}.ticket-modal-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.45);display:none;align-items:center;justify-content:center;padding:18px;z-index:80}.ticket-modal-backdrop.show{display:flex}.ticket-modal{width:min(100%,980px);max-height:calc(100vh - 36px);overflow:auto;background:#fff;border:1px solid #dfe8f1;border-radius:24px;box-shadow:0 26px 60px rgba(15,23,42,.22)}.ticket-modal-head{padding:16px 18px;border-bottom:1px solid #e8eef5;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;position:sticky;top:0;background:#fff;z-index:2}.ticket-modal-close{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:999px;border:1px solid #d6e2ed;background:#fff;color:#304658;text-decoration:none;font-size:22px;line-height:1}.ticket-modal-body{padding:18px;display:grid;gap:16px}.ticket-modal-grid{display:grid;gap:16px;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr)}.ticket-note-inline{font-size:12px;color:#607386}.ticket-attachment-wrap{margin-top:10px}.ticket-attachment-img{display:block;max-width:min(100%,340px);max-height:260px;border-radius:14px;border:1px solid #dbe6f1;box-shadow:0 8px 18px rgba(15,23,42,.08);background:#fff}.ticket-attachment-link{display:inline-block}.ticket-upload-box{display:grid;gap:8px}.ticket-upload-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ticket-upload-note{font-size:11px;color:#6a7d8f}.ticket-preview{display:none}.ticket-preview.show{display:block}.ticket-preview img{display:block;max-width:100%;max-height:200px;border-radius:14px;border:1px solid #dbe6f1}.ticket-preview-actions{display:flex;gap:8px;margin-top:8px}.ticket-sync{font-size:11px;color:#647789}.ticket-sync.live{color:#166534}.ticket-sync.error{color:#b91c1c}.alert-inline{padding:10px 12px;border-radius:12px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;font-size:12px}.reply-locked textarea,.reply-locked select,.reply-locked input[type=file],.reply-locked button[type=submit]{opacity:.65;pointer-events:none}.btn[disabled]{opacity:.65;cursor:not-allowed}@media (max-width:1200px){.ticket-summary{grid-template-columns:1fr}.ticket-filters{grid-template-columns:1fr 1fr}.ticket-filters .filter-actions{grid-column:1/-1}.ticket-modal-grid{grid-template-columns:1fr}}@media (max-width:720px){.ticket-filters{grid-template-columns:1fr}.ticket-table{min-width:760px}.ticket-card .head,.ticket-card .body,.ticket-modal-head,.ticket-modal-body{padding:14px}.ticket-modal{border-radius:18px}.ticket-modal-backdrop{padding:10px}}



/* ===== resources/views/user_management.php ===== */
.user-management-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:12px}.user-management-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;flex:1 1 520px}.user-management-stat{padding:10px 12px;border:1px solid #e6eef5;border-radius:14px;background:linear-gradient(180deg,#fcfdff,#f8fbff);box-shadow:0 12px 28px rgba(15,23,42,.05)}.user-management-stat .label{font-size:10px;font-weight:800;color:#667085;letter-spacing:.04em}.user-management-stat .value{margin-top:4px;font-size:22px;font-weight:800;color:#0f172a;line-height:1}.user-management-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.user-table-card .toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.user-table-card .toolbar .muted{margin-top:3px}.user-table{min-width:980px}.user-table th,.user-table td{padding:10px 12px;font-size:12px;vertical-align:top}.user-table td:nth-child(1),.user-table th:nth-child(1){background:#fbfdff;min-width:210px}.user-table td:nth-child(2),.user-table th:nth-child(2){background:#f8fbff;min-width:100px}.user-table td:nth-child(3),.user-table th:nth-child(3){background:#fcfdff;min-width:120px}.user-table td:nth-child(4),.user-table th:nth-child(4){background:#f9fbfd;min-width:130px}.user-table td:nth-child(5),.user-table th:nth-child(5){background:#fcfcff;min-width:150px}.user-table td:nth-child(6),.user-table th:nth-child(6){background:#f8fbff;min-width:180px}.user-table td:nth-child(7),.user-table th:nth-child(7){background:#fffdf8;min-width:110px}.user-table tbody tr:hover td{box-shadow:inset 0 0 0 9999px rgba(15,94,168,.035)}.user-cell{display:flex;align-items:center;gap:10px;min-width:180px}.user-cell .avatar{width:42px;height:42px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:linear-gradient(135deg,#0f172a,#2563eb);color:#fff;font-weight:800;flex:0 0 42px;box-shadow:0 8px 18px rgba(37,99,235,.16)}.user-cell .avatar img{width:100%;height:100%;object-fit:cover;display:block}.user-cell strong{display:block;font-size:12px;line-height:1.25}.user-cell .small{margin-top:2px;font-size:10px}.user-role-chip,.user-status-chip{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:800;line-height:1.1}.user-role-chip{background:#eff8ff;color:#175cd3;border:1px solid #b2ddff}.user-note{display:block;max-width:240px;white-space:normal;line-height:1.45;color:#344054}.user-actions{min-width:92px}.user-actions .btn.small{padding:6px 9px;font-size:11px}.user-table-shell,.user-table-card,.user-table-card .table-wrap,.user-table-card .toolbar,.user-management-header,.user-management-toolbar,.user-actions,.dropdown{overflow:visible}.user-table-card{position:relative;z-index:5}.user-table-card .table-wrap{overflow-x:auto;overflow-y:visible;background:#fff}.user-form-card{scroll-margin-top:96px}.user-form-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.user-form-title strong{display:block;font-size:18px;color:#101828}.user-form-title .muted{margin-top:4px}.user-form-card .actions-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.permission-card{margin-top:14px;border:1px solid #d8e7f3;border-radius:18px;overflow:hidden;background:linear-gradient(180deg,#fff,#fbfdff)}.permission-header{padding:14px 16px;border-bottom:1px solid #e6eef5;background:linear-gradient(180deg,#fcfdff,#f8fbff)}.permission-header strong{display:block;color:#0f172a}.permission-header .muted{margin-top:6px;line-height:1.5}.permission-list{display:grid;gap:0}.permission-row{display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid #eef2f6;background:#fff;cursor:pointer}.permission-row:nth-child(even){background:#f7f7f7}.permission-row:last-child{border-bottom:none}.permission-row input{width:16px !important;height:16px !important;flex:0 0 16px;cursor:pointer}.permission-row span{font-size:12px;color:#243446;line-height:1.45}.permission-note{padding:12px 14px;border-top:1px solid #e6eef5;background:#f8fbff;color:#526476;font-size:11px;line-height:1.6}.permission-card.is-hidden{display:none}.role-box{margin-top:14px;padding:14px 16px;border:1px solid #d8e7f3;border-radius:18px;background:linear-gradient(180deg,#fff,#fbfdff)}.role-box .muted{margin-top:5px;line-height:1.5}.permission-badge-list{display:flex;flex-wrap:wrap;gap:6px}.permission-badge{display:inline-flex;align-items:center;padding:4px 9px;border-radius:999px;background:#eef4ff;border:1px solid #d4e4ff;color:#1d4ed8;font-size:10px;font-weight:800}.permission-summary{max-width:240px;line-height:1.45}.permission-summary .small{margin-top:4px}@media (max-width:980px){.user-management-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.user-management-stats{grid-template-columns:1fr}.user-management-toolbar{width:100%}.user-management-toolbar .dropdown,.user-management-toolbar .btn{width:100%}.user-management-toolbar .dropdown .btn{width:100%}.user-table-card .toolbar{align-items:flex-start}.user-table-card .table-wrap{overflow:auto}.user-form-head{align-items:flex-start}.user-form-card .actions-top{width:100%}.user-form-card .actions-top .btn{width:100%}}



/* ===== resources/views/user_profile.php ===== */
.profile-page-card{max-width:880px;margin:0 auto}.profile-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:14px}.profile-page-title strong{display:block;font-size:18px;color:#101828}.profile-page-title .muted{margin-top:5px;line-height:1.6}.profile-identity{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid #dbe7f3;border-radius:18px;background:linear-gradient(180deg,#fff,#f8fbff);margin-bottom:14px;flex-wrap:wrap}.profile-avatar-large{width:92px;height:92px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:linear-gradient(135deg,#0f172a,#2563eb);color:#fff;font-size:30px;font-weight:800;flex:0 0 92px;box-shadow:0 10px 22px rgba(37,99,235,.16)}.profile-avatar-large img{width:100%;height:100%;object-fit:cover;display:block}.profile-identity-meta strong{display:block;font-size:18px;color:#0f172a;line-height:1.2}.profile-identity-meta .muted{margin-top:4px;line-height:1.5}.profile-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.profile-form-grid .full{grid-column:1/-1}@media (max-width:780px){.profile-form-grid{grid-template-columns:1fr}.profile-page-card{max-width:none}}



/* ===== resources/views/voucher_print.php ===== */
body.voucher-print-page{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#e2e8f0;color:#0f172a}
body.voucher-print-page .vp-toolbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:10px 14px;background:#0f172a;color:#fff;box-shadow:0 6px 18px rgba(15,23,42,.18)}
body.voucher-print-page .vp-toolbar strong{display:block;font-size:12px;font-weight:600}
body.voucher-print-page .vp-toolbar span{display:block;margin-top:2px;font-size:11px;color:#cbd5e1}
body.voucher-print-page .vp-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
body.voucher-print-page .vp-actions button,body.voucher-print-page .vp-actions a{display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;border-radius:8px;border:1px solid rgba(255,255,255,.14);background:#fff;color:#0f172a;text-decoration:none;font-size:12px;font-weight:600;cursor:pointer}
body.voucher-print-page .vp-actions a{background:transparent;color:#fff}
body.voucher-print-page .vp-shell{padding:14px}
body.voucher-print-page .vp-preview{background:#fff;border-radius:12px;box-shadow:0 10px 28px rgba(15,23,42,.07);padding:14px;min-height:calc(100vh - 100px)}
@media print{body.voucher-print-page{background:#fff}body.voucher-print-page .vp-toolbar{display:none!important}body.voucher-print-page .vp-shell{padding:0}body.voucher-print-page .vp-preview{box-shadow:none;border-radius:0;padding:0;min-height:auto}}


/* ===== resources/views/vouchers.php ===== */
.voucher-shell{display:grid;gap:14px}.voucher-toolbar-card{padding:14px 16px;background:#fff;border:1px solid var(--ui-border);border-radius:16px;box-shadow:var(--ui-shadow-sm)}.voucher-toolbar-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.voucher-toolbar-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.voucher-toolbar-search{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ui-muted)}.voucher-toolbar-search input{min-width:220px}.voucher-table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 14px;border-bottom:1px solid var(--ui-border);background:linear-gradient(180deg,#fff,#f9fbff)}.voucher-table-toolbar .left,.voucher-table-toolbar .right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.voucher-bulk-checkbox{width:16px;height:16px;cursor:pointer}.voucher-table{width:100%;min-width:1180px;border-collapse:separate;border-spacing:0}.voucher-table th,.voucher-table td{padding:9px 10px;font-size:12px;line-height:1.35;vertical-align:middle}.voucher-table th{font-size:11px;font-weight:800;white-space:nowrap;color:#344054;background:#f8fbff;border-bottom:1px solid #d9e6f2}.voucher-table td{border-bottom:1px solid #edf2f7}.voucher-table tbody tr:hover td{box-shadow:inset 0 0 0 9999px rgba(15,94,168,.03)}.voucher-table td:nth-child(1),.voucher-table th:nth-child(1){background:#fbfdff;width:42px}.voucher-table td:nth-child(2),.voucher-table th:nth-child(2){background:#fcfdff;width:88px}.voucher-table td:nth-child(3),.voucher-table th:nth-child(3){background:#f8fbff;min-width:120px}.voucher-table td:nth-child(4),.voucher-table th:nth-child(4){background:#fcfdff;min-width:120px}.voucher-table td:nth-child(5),.voucher-table th:nth-child(5){background:#fffdf8;min-width:170px}.voucher-table td:nth-child(6),.voucher-table th:nth-child(6){background:#f8fbff;min-width:100px}.voucher-table td:nth-child(7),.voucher-table th:nth-child(7){background:#fcfbff;min-width:180px}.voucher-table td:nth-child(8),.voucher-table th:nth-child(8){background:#fbfdff;min-width:118px}.voucher-table td:nth-child(9),.voucher-table th:nth-child(9){background:#fffdf8;min-width:130px}.voucher-table td:nth-child(10),.voucher-table th:nth-child(10){background:#f8fbff;min-width:130px}.voucher-table td:nth-child(11),.voucher-table th:nth-child(11){background:#fcfdff;min-width:112px}.voucher-table td:nth-child(12),.voucher-table th:nth-child(12){background:#fffaf8;min-width:86px}.voucher-user-link{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:#2380d7;text-decoration:none}.voucher-user-link:hover{text-decoration:underline}.voucher-subtext{display:block;margin-top:2px;font-size:10px;color:#667085}.voucher-sort-link{display:flex;align-items:center;justify-content:space-between;gap:8px;color:inherit;text-decoration:none}.voucher-sort-link .icon{font-size:10px;opacity:.55}.voucher-sort-link.active{color:#0f5ea8}.voucher-sort-link.active .icon{opacity:1}.voucher-status{display:inline-flex;align-items:center;justify-content:center;padding:5px 11px;border-radius:999px;font-size:11px;font-weight:800;line-height:1.1;text-transform:lowercase}.voucher-status.success{background:#e8fff1;color:#0f9b4c}.voucher-status.danger{background:#fef3f2;color:#d92d20}.voucher-status.info{background:#e8f4ff;color:#1d72b8}.voucher-status.muted{background:#f2f4f7;color:#475467}.voucher-amount{font-weight:700;white-space:nowrap}.voucher-date.expired{color:#e74c3c;font-weight:700}.voucher-date.active{color:#08a1f7;font-weight:700}.voucher-date.waiting{color:#8a5a16;font-style:italic}.voucher-actions{display:flex;align-items:center;gap:6px}.voucher-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:28px;border-radius:4px;border:none;text-decoration:none;font-size:13px;font-weight:700;color:#fff;box-shadow:inset 0 -1px 0 rgba(0,0,0,.08)}.voucher-icon-btn.edit{background:#1bb1e7}.voucher-icon-btn.delete{background:#f4a11a}.voucher-empty-row td{text-align:center;color:var(--ui-muted)}.voucher-hidden{display:none !important}.voucher-modal{position:fixed;inset:0;display:none;align-items:flex-start;justify-content:center;padding:24px 18px;z-index:90;background:rgba(15,23,42,.46)}.voucher-modal.show{display:flex}.voucher-dialog{width:min(860px,100%);max-height:calc(100vh - 48px);overflow:auto;background:#fff;border:1px solid var(--ui-border);border-radius:18px;box-shadow:0 24px 60px rgba(15,23,42,.22)}.voucher-modal-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:18px 20px;border-bottom:1px solid var(--ui-border)}.voucher-modal-head h3{margin:0;font-size:16px;color:var(--ui-text)}.voucher-modal-close{border:none;background:transparent;color:var(--ui-muted);font-size:24px;line-height:1;cursor:pointer}.voucher-modal-body{padding:18px 20px 20px}.voucher-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.voucher-form-grid .full{grid-column:1/-1}.voucher-radio-group{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding-top:8px}.voucher-radio-group label{display:inline-flex;align-items:center;gap:7px;font-weight:500;color:var(--ui-text)}.voucher-help{margin-top:6px;font-size:12px;color:var(--ui-muted);line-height:1.5}.voucher-modal-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:20px}.voucher-inline-link{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:#2380d7;text-decoration:none;margin-top:8px}.voucher-inline-link:hover{text-decoration:underline}.voucher-table-wrap .table-pagination-bar{padding:12px 14px}.voucher-table-wrap .table-pagination-info{font-size:12px}.voucher-note-chip{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;background:#eef4ff;border:1px solid #d4e4ff;color:#1d4ed8;font-size:10px;font-weight:800}.voucher-management-menu a,.voucher-management-menu button{font-weight:600}.voucher-management-menu .label{background:#f8fbff;color:#0f5ea8;font-weight:800}.voucher-print-panel{display:none;padding:0;background:#f3f5f7;border:1px solid var(--ui-border);border-radius:14px;overflow:hidden}.voucher-print-panel.show{display:block}.voucher-print-header{padding:16px 18px 10px;border-bottom:1px solid var(--ui-border);background:#f7f7f8}.voucher-print-header h3{margin:0 0 6px;font-size:15px}.voucher-print-header p{margin:0;color:#5f6b7a;font-size:12px}.voucher-print-bullets{margin:0;padding:14px 24px 0;color:#374151;font-size:12px;line-height:1.55}.voucher-print-bullets li{margin-bottom:8px}.voucher-print-bullets .accent{font-weight:800;color:#e85d3d}.voucher-print-bullets .badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;background:#4f9ddf;color:#fff;font-size:11px;font-weight:800}.voucher-print-bullets .wa{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;background:#11a94d;color:#fff;font-size:11px;font-weight:800}.voucher-print-form{padding:16px 18px 18px}.voucher-print-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 18px}.voucher-print-field label{display:block;margin-bottom:7px;font-weight:800;font-size:12px;color:#223041}.voucher-print-field .note-link{font-weight:700;color:#0f5ea8;text-decoration:none}.voucher-print-field .note-link:hover{text-decoration:underline}.voucher-print-field input,.voucher-print-field select{width:100%}.voucher-print-actions{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:16px;border:1px solid #d8dde6;border-radius:2px;overflow:hidden}.voucher-print-actions .btn{border-radius:0;justify-content:center;padding:11px 14px;font-weight:800}.voucher-print-actions .btn.secondary{background:#fff;color:#344054;border:none}.voucher-print-actions .btn.green{background:#0ca655;color:#fff;border:none}.voucher-print-selected-note{padding:0 18px 4px;font-size:12px;color:#475467}.voucher-print-selected-note strong{color:#0f5ea8}.voucher-print-hidden{display:none !important}.voucher-table .small-muted{font-size:10px;color:#667085}.voucher-form-grid .required-label::after{content:' *';color:#ef4444;font-weight:800}@media (max-width:860px){.voucher-form-grid{grid-template-columns:1fr}.voucher-toolbar-row,.voucher-table-toolbar{align-items:flex-start}.voucher-toolbar-search{width:100%}.voucher-toolbar-search input{width:100%;min-width:0}.voucher-print-grid{grid-template-columns:1fr}.voucher-print-actions{grid-template-columns:1fr}}

/* === UI Refinement Overrides — smaller text, lighter weights, tighter spacing, cleaner table === */
.voucher-shell{gap:10px}
.voucher-toolbar-card{padding:10px 12px;border-radius:12px}
.voucher-toolbar-row{gap:10px}
.voucher-toolbar-actions{gap:8px}
.voucher-toolbar-actions .btn{font-size:12px;font-weight:600;padding:6px 12px;height:32px}
.voucher-toolbar-search{font-size:12px;gap:6px}
.voucher-toolbar-search input{min-width:200px;height:30px;font-size:12px;padding:0 10px}
.voucher-management-menu a,.voucher-management-menu button{font-weight:500;font-size:12px;padding:7px 12px}
.voucher-management-menu .label{font-weight:600;font-size:11px;padding:6px 12px}
.voucher-note-chip{font-weight:600;font-size:9px;padding:2px 7px}

/* Table — clean, compact, single accent header, zebra rows, no per-column tints */
.voucher-table{min-width:1100px}
.voucher-table th,.voucher-table td{padding:6px 9px;font-size:11px;line-height:1.3;border-bottom:1px solid #eef1f5}
.voucher-table th{font-size:10px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:#5b6877;background:#f5f7fa;border-bottom:1px solid #e2e7ee}
.voucher-table td:nth-child(n),
.voucher-table th:nth-child(n){background:transparent}
.voucher-table tbody tr:nth-child(even) td{background:#fafbfd}
.voucher-table tbody tr:hover td{background:#eef5fd}
.voucher-table th:nth-child(1),.voucher-table td:nth-child(1){width:36px}
.voucher-table th:nth-child(2),.voucher-table td:nth-child(2){width:78px}
.voucher-user-link{font-weight:600;font-size:11px;gap:5px}
.voucher-subtext{font-size:9px;margin-top:1px}
.voucher-amount{font-weight:600}
.voucher-date.expired,.voucher-date.active{font-weight:600}
.voucher-status{font-size:10px;font-weight:600;padding:3px 9px}
.voucher-actions{gap:5px}
.voucher-icon-btn{width:26px;height:24px;font-size:11px;font-weight:500;border-radius:4px}
.voucher-table-toolbar{padding:8px 12px}
.voucher-table-wrap .table-pagination-bar{padding:8px 12px}
.voucher-table-wrap .table-pagination-info{font-size:11px}
.voucher-table .small-muted{font-size:9px}

/* Print panel */
.voucher-print-panel{border-radius:10px}
.voucher-print-header{padding:10px 14px 8px}
.voucher-print-header h3{font-size:13px;font-weight:600}
.voucher-print-header p{font-size:11px}
.voucher-print-bullets{padding:10px 22px 0;font-size:11px;line-height:1.5}
.voucher-print-bullets li{margin-bottom:5px}
.voucher-print-bullets .accent{font-weight:600}
.voucher-print-bullets .badge,.voucher-print-bullets .wa{font-size:10px;font-weight:600;padding:2px 8px}
.voucher-print-form{padding:12px 14px 14px}
.voucher-print-grid{gap:12px 14px}
.voucher-print-field label{margin-bottom:5px;font-weight:600;font-size:11px}
.voucher-print-field input,.voucher-print-field select{height:32px;font-size:12px;padding:0 10px}
.voucher-print-actions{margin-top:12px}
.voucher-print-actions .btn{padding:8px 12px;font-weight:600;font-size:12px}
.voucher-print-selected-note{font-size:11px;padding:0 14px 4px}

/* Modal — smaller, lighter */
.voucher-dialog{border-radius:14px}
.voucher-modal-head{padding:12px 16px}
.voucher-modal-head h3{font-size:14px;font-weight:600}
.voucher-modal-close{font-size:20px}
.voucher-modal-body{padding:14px 16px 16px}
.voucher-form-grid{gap:12px}
.voucher-form-grid label{font-size:11px;font-weight:600}
.voucher-form-grid input,.voucher-form-grid select,.voucher-form-grid textarea{font-size:12px;height:32px;padding:0 10px}
.voucher-form-grid textarea{height:auto;padding:8px 10px}
.voucher-help{font-size:11px;line-height:1.45;margin-top:5px}
.voucher-radio-group{gap:12px;padding-top:6px}
.voucher-radio-group label{font-weight:500;font-size:12px}
.voucher-modal-actions{margin-top:14px;gap:8px}
.voucher-modal-actions .btn{font-size:12px;font-weight:600;padding:7px 14px;height:34px}
.voucher-inline-link{font-size:11px;font-weight:600;margin-top:6px}
.voucher-form-grid .required-label::after{font-weight:600}



/* ===== global refinement overrides ===== */
/* ============================================================
   GLOBAL UI REFINEMENT — applies to all pages inside .page
   smaller text · lighter weights · tighter spacing · cleaner tables
   ============================================================ */

/* Headings */
.page h1{font-size:18px;font-weight:600;line-height:1.25;margin:0 0 8px}
.page h2{font-size:15px;font-weight:600;line-height:1.3;margin:0 0 7px}
.page h3{font-size:13px;font-weight:600;line-height:1.3;margin:0 0 6px}
.page h4{font-size:12px;font-weight:600;line-height:1.3;margin:0 0 5px}
.page h5,.page h6{font-size:11px;font-weight:600;line-height:1.3;margin:0 0 4px}
.page .box-title{font-size:13px;font-weight:600;letter-spacing:0}
.page p{font-size:12px;line-height:1.55}

/* Body text */
.page{font-size:12px}
.page small,.page .small,.page .muted,.page .small-muted,.page .help,.page .desc{font-size:11px;line-height:1.5}
.page strong,.page b{font-weight:600}

/* Cards & panels — tighter padding, smaller radius */
.page .card,
.page .card-soft,
.page .dashboard-panel,
.page .compact-panel,
.page .compact-info-panel,
.page .filter-panel-card,
.page .filter-card-collapsible,
.page [class$="-card"]:not(.user-menu-card):not(.client-card){
  padding:12px 14px;border-radius:12px;box-shadow:0 4px 14px rgba(15,23,42,.04)
}
.page .card-header,.page .card-head,.page .panel-head,.page [class$="-card-head"]{padding:10px 14px}
.page .card-body,.page .panel-body,.page [class$="-card-body"]{padding:10px 14px}

/* Buttons — slimmer, less padding, lighter weight */
.page .btn{font-size:12px;font-weight:600;padding:7px 12px;height:auto;min-height:32px;border-radius:8px;line-height:1.2}
.page .btn.lg,.page .btn-lg{font-size:13px;padding:9px 14px;min-height:36px}
.page .btn.sm,.page .btn-sm{font-size:11px;padding:5px 9px;min-height:26px}
.page .btn .icon,.page .btn i{font-size:12px}

/* Forms — compact inputs, smaller labels */
.page label{font-size:11px;font-weight:600;color:#334155;margin-bottom:4px}
.page input[type="text"],
.page input[type="search"],
.page input[type="email"],
.page input[type="password"],
.page input[type="number"],
.page input[type="tel"],
.page input[type="url"],
.page input[type="date"],
.page input[type="time"],
.page input[type="datetime-local"],
.page select,
.page textarea{font-size:12px;padding:0 10px;height:32px;border-radius:8px;line-height:1.4}
.page textarea{height:auto;min-height:80px;padding:8px 10px;line-height:1.5}
.page .form-help,.page .form-text,.page .field-help,.page .help-text{font-size:10px;margin-top:4px;line-height:1.5;color:#64748b}
.page fieldset{padding:10px 12px;border-radius:10px}
.page legend{font-size:11px;font-weight:600;padding:0 6px}

/* Tables — clean compact model */
.page table{width:100%;border-collapse:separate;border-spacing:0;font-size:11px}
.page table th,
.page table td{padding:7px 10px;font-size:11px;line-height:1.35;border-bottom:1px solid #eef1f5;text-align:left;vertical-align:middle}
.page table thead th{font-size:10px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:#5b6877;background:#f5f7fa;border-bottom:1px solid #e2e7ee;white-space:nowrap}
.page table tbody tr:nth-child(even) td{background:#fafbfd}
.page table tbody tr:hover td{background:#eef5fd}
.page table td strong,.page table td b{font-weight:600}

/* Badges & status pills */
.page .badge,
.page .status,
.page .label,
.page .chip,
.page [class$="-status"],
.page [class$="-badge"],
.page [class$="-chip"]{font-size:10px;font-weight:600;padding:3px 9px;border-radius:999px;line-height:1.2}

/* Dropdown menus */
.page .dropdown-menu{font-size:12px;border-radius:10px;padding:5px 0}
.page .dropdown-menu a,
.page .dropdown-menu button{padding:7px 12px;font-size:12px;font-weight:500}
.page .dropdown-menu .label{font-size:10px;font-weight:600;padding:6px 12px;letter-spacing:.03em;text-transform:uppercase}

/* Flash messages */
.page .flash{padding:9px 12px;border-radius:10px;margin-bottom:10px;font-size:12px;line-height:1.5}

/* Pagination */
.page .pagination,
.page .table-pagination-bar,
.page [class$="-pagination"]{padding:8px 12px;font-size:11px}
.page .pagination button,
.page .pagination a,
.page [class$="-pagination"] button,
.page [class$="-pagination"] a{padding:5px 9px;font-size:11px;border-radius:6px;font-weight:500}
.page .pagination .info,
.page [class$="-pagination"] .info{font-size:11px}

/* Modals */
.page .modal,.page [class$="-modal"]{font-size:12px}
.page .modal-head,.page [class$="-modal-head"]{padding:12px 14px}
.page .modal-head h3,.page [class$="-modal-head"] h3{font-size:14px;font-weight:600}
.page .modal-body,.page [class$="-modal-body"]{padding:12px 14px}
.page .modal-close,.page [class$="-modal-close"]{font-size:18px}

/* Filter panels & toolbars */
.page .filter-panel-header{padding:10px 14px}
.page .filter-panel-body{padding:10px 14px}
.page .filter-grid{gap:10px}
.page .filter-field label,.page .filter-field-wide label{font-size:11px;font-weight:600;margin-bottom:4px}
.page .filter-summary-chip{font-size:10px;padding:3px 8px;font-weight:500}
.page .filter-toggle-btn{font-size:12px;font-weight:600;padding:6px 12px}

/* Spacing primitives — common gap classes */
.page .grid,.page .row{gap:10px}
.page .stack{gap:8px}

/* Detail / info blocks */
.page .detail-chip,.page .due-text,.page .due-info,.page .due-success,.page .due-warn,.page .due-error{font-size:11px;font-weight:500}

/* Customer / list compact tables */
.page .customer-compact-table th,.page .customer-compact-table td{padding:6px 9px;font-size:11px}
.page .customer-name-cell{font-size:11px;font-weight:600}
.page .customer-list-toolbar{padding:8px 12px}
.page .customer-header{padding:10px 14px}
.page .customer-header h2,.page .customer-header h3{font-size:14px;font-weight:600}

/* Dashboard cards */
.page .dashboard-shell{gap:10px}
.page .dashboard-top-cards,.page .dashboard-summary-grid,.page .dashboard-status-grid,.page .dashboard-mini-grid,.page .dashboard-bottom-grid{gap:10px}
.page .clock-card{padding:12px 14px}
.page .clock-value{font-size:22px;font-weight:600}

/* Generic "soft" reductions */
.page [class*="-toolbar"]{padding:8px 12px}
.page [class*="-toolbar"] .btn{min-height:26px;padding:3px 10px;font-size:12px;line-height:1.2}

/* Scrollbar inside content (subtle, optional) */
.page ::-webkit-scrollbar{height:8px;width:8px}
.page ::-webkit-scrollbar-thumb{background:#cfd6df;border-radius:8px}


/* ===== minimal toolbar-card strip ===== */
.page .bandwidth-toolbar-card,
.page .group-toolbar-card,
.page .hotspot-toolbar-card,
.page .ppp-toolbar-card,
.page .router-toolbar-card,
.page .voucher-toolbar-card{
  width:auto;
  max-width:100%;
  display:block;
  padding:0;
  margin:0 0 6px;
  background:transparent;
  border:none;
  border-radius:0;
  box-shadow:none;
}
.page .bandwidth-toolbar-row,
.page .group-toolbar-row,
.page .hotspot-toolbar-row,
.page .ppp-toolbar-row,
.page .router-toolbar-row,
.page .voucher-toolbar-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:4px 8px;
  flex-wrap:wrap;
}
.page .bandwidth-toolbar-actions,
.page .group-toolbar-actions,
.page .hotspot-toolbar-actions,
.page .ppp-toolbar-actions,
.page .router-toolbar-actions,
.page .voucher-toolbar-actions{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
}
.page .bandwidth-toolbar-search,
.page .group-toolbar-search,
.page .hotspot-toolbar-search,
.page .ppp-toolbar-search,
.page .voucher-toolbar-search{
  display:inline-flex;
  align-items:center;
  gap:4px;
  margin:0;
  font-size:11px;
  line-height:1.2;
  color:var(--ui-muted);
}
.page .bandwidth-toolbar-search span,
.page .group-toolbar-search span,
.page .hotspot-toolbar-search span,
.page .ppp-toolbar-search span,
.page .voucher-toolbar-search span{
  font-weight:700;
  white-space:nowrap;
}
.page .bandwidth-toolbar-search input,
.page .group-toolbar-search input,
.page .hotspot-toolbar-search input,
.page .ppp-toolbar-search input,
.page .voucher-toolbar-search input{
  width:180px;
  min-width:150px;
  max-width:min(30vw,220px);
  height:26px;
  padding:3px 8px;
}
.page .router-toolbar-heading strong{
  display:block;
  margin:0;
  font-size:15px;
  line-height:1.2;
}
.page .router-toolbar-heading span,
.page .ppp-toolbar-actions .small.muted,
.page .hotspot-toolbar-actions .small.muted,
.page .voucher-toolbar-actions .small.muted{
  display:inline;
  margin:0;
  font-size:10px;
  line-height:1.2;
}
.page .router-toolbar-card .btn,
.page .bandwidth-toolbar-card .btn,
.page .group-toolbar-card .btn,
.page .hotspot-toolbar-card .btn,
.page .ppp-toolbar-card .btn,
.page .voucher-toolbar-card .btn{
  min-height:26px;
  padding:3px 10px;
  font-size:12px;
  line-height:1.2;
}
@media (max-width:900px){
  .page .bandwidth-toolbar-row,
  .page .group-toolbar-row,
  .page .hotspot-toolbar-row,
  .page .ppp-toolbar-row,
  .page .router-toolbar-row,
  .page .voucher-toolbar-row{
    justify-content:flex-start;
  }
}
@media (max-width:720px){
  .page .bandwidth-toolbar-search,
  .page .group-toolbar-search,
  .page .hotspot-toolbar-search,
  .page .ppp-toolbar-search,
  .page .voucher-toolbar-search{
    width:100%;
  }
  .page .bandwidth-toolbar-search input,
  .page .group-toolbar-search input,
  .page .hotspot-toolbar-search input,
  .page .ppp-toolbar-search input,
  .page .voucher-toolbar-search input{
    width:100%;
    min-width:0;
    max-width:none;
  }
}



/* v17.0.56.92 — dropdown manajemen dipindah ke dalam table-wrap */
.compact-manager-table-wrap .table-controls-bar.is-sticky-toolbar{
  position:sticky;
  top:0;
  z-index:8;
  padding:10px 14px;
  background:linear-gradient(180deg,#fcfdff,#f8fbff);
  box-shadow:0 1px 0 rgba(231,238,245,.95);
}
.compact-manager-table-wrap .table-controls-left{
  gap:10px;
}
.compact-manager-table-wrap .table-controls-right{
  margin-left:auto;
  flex:1 1 240px;
  justify-content:flex-end;
}
.compact-manager-table-wrap .table-inline-search{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin:0;
  font-size:11px;
  line-height:1.2;
  color:var(--ui-muted);
}
.compact-manager-table-wrap .table-inline-search span{
  font-weight:700;
  white-space:nowrap;
}
.compact-manager-table-wrap .table-inline-search input{
  width:220px;
  min-width:180px;
  max-width:min(34vw,240px);
  height:30px;
  padding:5px 10px;
  border-radius:10px;
}
.compact-manager-table-wrap .table-controls-bar.is-sticky-toolbar .dropdown .btn,
.compact-manager-table-wrap .table-controls-bar.is-sticky-toolbar .table-rows-control select{
  min-height:30px;
}
.compact-manager-table-wrap .table-toolbar-note{
  padding:8px 14px;
  border-bottom:1px solid #e7eef5;
  background:#fcfdff;
  font-size:11px;
  line-height:1.45;
  color:#667085;
}
@media (max-width:720px){
  .compact-manager-table-wrap .table-controls-right,
  .compact-manager-table-wrap .table-inline-search{
    width:100%;
  }
  .compact-manager-table-wrap .table-inline-search input{
    width:100%;
    min-width:0;
    max-width:none;
  }
}

/* v17.0.56.92 — icon-only action buttons aligned in one row */
.group-actions-cell,
.page td.actions,
.page .user-actions,
.page .compact-action-stack{
  width:1%;
  white-space:nowrap;
  text-align:center;
  vertical-align:middle !important;
}
.group-actions{
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-width:0;
}
.group-icon-btn,
.page td.actions .btn.small,
.page .actions .btn.small,
.page .compact-action-stack .btn.small,
.page .user-actions .btn.small{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:32px;
  height:28px;
  min-width:32px;
  min-height:28px;
  padding:0;
  border-radius:4px;
  border:none;
  text-decoration:none;
  font-size:13px;
  font-weight:600;
  line-height:1;
  color:#fff;
  box-shadow:inset 0 -1px 0 rgba(0,0,0,.08);
}
.group-icon-btn.edit{
  background:#1bb1e7;
}
.group-icon-btn.delete{
  background:#f4a11a;
}
.group-icon-btn:hover{
  transform:translateY(-1px);
}
.page td.actions,
.page .user-actions,
.page .compact-action-stack{
  gap:5px;
}
.page .actions .btn,
.page td.actions .btn{
  box-shadow:none;
}
.router-action-icon,
.voucher-icon-btn,
.vt-icon-btn,
.action-trash{
  width:24px;
  height:22px;
  border-radius:6px;
  font-size:11px;
  box-shadow:none;
}
.page th:last-child,
.page td:last-child{
  padding-left:8px;
  padding-right:8px;
}


/* v17.0.56.93 — voucher management dropdown moved inside table-wrap */
.voucher-shell{gap:12px}
.voucher-table-wrap.voucher-table-wrap{overflow:auto}
.voucher-table-wrap .voucher-table-toolbar.is-sticky-toolbar{
  position:sticky;
  top:0;
  z-index:8;
  padding:10px 14px;
  background:linear-gradient(180deg,#fcfdff,#f8fbff);
  box-shadow:0 1px 0 rgba(231,238,245,.95);
}
.voucher-table-wrap .table-controls-left{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.voucher-table-wrap .table-controls-right{
  margin-left:auto;
  flex:1 1 260px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}
.voucher-table-wrap .voucher-toolbar-search{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin:0;
  font-size:11px;
  line-height:1.2;
  color:var(--ui-muted);
}
.voucher-table-wrap .voucher-toolbar-search span{
  font-weight:700;
  white-space:nowrap;
}
.voucher-table-wrap .voucher-toolbar-search input{
  width:220px;
  min-width:180px;
  max-width:min(34vw,240px);
  height:30px;
  padding:5px 10px;
  border-radius:10px;
}
.voucher-table-wrap .voucher-table-toolbar.is-sticky-toolbar .dropdown .btn,
.voucher-table-wrap .voucher-table-toolbar.is-sticky-toolbar .table-rows-control select{
  min-height:30px;
}
.voucher-table-wrap .table-toolbar-note{
  padding:8px 14px;
  border-bottom:1px solid #e7eef5;
  background:#fcfdff;
  font-size:11px;
  line-height:1.45;
  color:#667085;
}
@media (max-width:860px){
  .voucher-table-wrap .table-controls-right,
  .voucher-table-wrap .voucher-toolbar-search{
    width:100%;
  }
  .voucher-table-wrap .voucher-toolbar-search input{
    width:100%;
    min-width:0;
    max-width:none;
  }
}


/* v17.0.56.94 — sortable compact tables */
.table-sort-link,
.voucher-sort-link{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  color:inherit;
  text-decoration:none;
}
.table-sort-link .icon,
.voucher-sort-link .icon{
  font-size:10px;
  opacity:.55;
}
.table-sort-link.active,
.voucher-sort-link.active{
  color:#0f5ea8;
}
.table-sort-link.active .icon,
.voucher-sort-link.active .icon{
  opacity:1;
}
