:root{--primary: #373b56;--primary-light: #4b5078;--bg: #f4f5f7;--card: #ffffff;--text: #1f2430;--muted: #6b7280;--border: #e3e5ea;--active: #16a34a;--pending: #d97706;--expired: #6b7280;--danger: #dc2626;--radius: 12px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Segoe UI,Tahoma,Cairo,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.6}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}input,select{font-family:inherit}.topbar{background:var(--primary);color:#fff;padding:0 20px;height:60px;display:flex;align-items:center;gap:20px;position:sticky;top:0;z-index:10}.topbar .brand{font-weight:900;font-size:20px;letter-spacing:1px}.topbar nav{display:flex;gap:6px;flex:1}.topbar nav a{padding:8px 14px;border-radius:8px;font-weight:700;font-size:14px;opacity:.85}.topbar nav a.active,.topbar nav a:hover{background:#ffffff26;opacity:1}.topbar .user{display:flex;align-items:center;gap:10px;font-size:13px}.topbar .logout{background:#ffffff26;color:#fff;border:none;padding:7px 14px;border-radius:8px;font-weight:700;font-size:13px}.topbar .logout:hover{background:#ffffff47}.page{max-width:1080px;margin:24px auto;padding:0 20px}.page h1{font-size:22px;margin-bottom:18px}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.chips{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.chip{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:10px 16px;font-weight:700;font-size:13px;display:flex;align-items:center;gap:8px}.chip.active{border-color:var(--primary);background:#eef0f7;color:var(--primary)}.chip .num{background:var(--primary);color:#fff;border-radius:999px;padding:1px 9px;font-size:12px}.chip.active .num{background:var(--primary)}.searchbar{display:flex;gap:10px;margin-bottom:16px}.searchbar input{flex:1;padding:11px 14px;border:1px solid var(--border);border-radius:10px;font-size:14px}.searchbar input:focus{outline:2px solid var(--primary-light)}.tbl{width:100%;border-collapse:collapse;background:var(--card);border-radius:var(--radius);overflow:hidden;border:1px solid var(--border)}.tbl th,.tbl td{padding:12px 14px;text-align:right;font-size:14px}.tbl th{background:#fafafb;color:var(--muted);font-weight:700;font-size:12px;border-bottom:1px solid var(--border)}.tbl tbody tr{border-bottom:1px solid var(--border);cursor:pointer}.tbl tbody tr:last-child{border-bottom:none}.tbl tbody tr:hover{background:#f8f9fb}.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:800}.badge.active{background:#dcfce7;color:var(--active)}.badge.pending{background:#fef3c7;color:var(--pending)}.badge.expired{background:#f3f4f6;color:var(--expired)}.badge.disabled{background:#fee2e2;color:var(--danger)}.badge.demo{background:#ede9fe;color:#7c3aed;margin-inline-start:6px}.btn{border:none;border-radius:9px;padding:10px 18px;font-weight:800;font-size:14px;background:var(--primary);color:#fff}.btn:hover{background:var(--primary-light)}.btn.sm{padding:7px 12px;font-size:13px}.btn.ghost{background:#eef0f7;color:var(--primary)}.btn.ghost:hover{background:#e0e3ef}.btn.danger{background:var(--danger)}.btn.danger:hover{background:#b91c1c}.btn.ok{background:var(--active)}.btn.ok:hover{background:#15803d}.btn:disabled{opacity:.55;cursor:not-allowed}.field{margin-bottom:14px}.field label{display:block;font-weight:700;font-size:13px;margin-bottom:6px}.field input,.field select{width:100%;padding:11px 13px;border:1px solid var(--border);border-radius:9px;font-size:14px}.field input:focus,.field select:focus{outline:2px solid var(--primary-light)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.alert{padding:11px 14px;border-radius:9px;font-weight:700;font-size:14px;margin-bottom:14px}.alert.err{background:#fee2e2;color:var(--danger)}.alert.ok{background:#dcfce7;color:var(--active)}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--primary);padding:20px}.login-card{background:var(--card);border-radius:16px;padding:36px 30px;width:100%;max-width:380px}.login-card .logo{text-align:center;font-weight:900;font-size:30px;color:var(--primary);letter-spacing:2px;margin-bottom:4px}.login-card .sub{text-align:center;color:var(--muted);font-size:13px;margin-bottom:22px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;margin-top:8px}.detail-grid .k{color:var(--muted);font-size:13px}.detail-grid .v{font-weight:700;font-size:14px}.action-block{border-top:1px solid var(--border);padding-top:16px;margin-top:16px}.action-block h3{font-size:15px;margin-bottom:10px}.action-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.action-row input,.action-row select{padding:9px 12px;border:1px solid var(--border);border-radius:8px;font-size:14px}.muted{color:var(--muted);font-size:13px}.center{text-align:center;padding:40px;color:var(--muted)}.back-link{display:inline-block;margin-bottom:12px;color:var(--primary);font-weight:700;font-size:14px}.wa-block .wa-note{margin:0 0 14px;padding:9px 12px;border-radius:8px;background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af;font-size:12.5px;line-height:1.6}.wa-toggle{display:flex;align-items:flex-start;gap:10px;cursor:pointer;margin-bottom:14px}.wa-toggle input{position:absolute;opacity:0;width:0;height:0}.wa-switch{flex:none;width:42px;height:24px;margin-top:2px;border-radius:999px;background:#d1d5db;position:relative;transition:background .18s ease}.wa-switch:after{content:"";position:absolute;top:3px;inset-inline-start:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000040;transition:transform .18s ease}.wa-toggle input:checked+.wa-switch{background:var(--active)}.wa-toggle input:checked+.wa-switch:after{transform:translate(18px)}[dir=rtl] .wa-toggle input:checked+.wa-switch:after{transform:translate(-18px)}.wa-toggle input:focus-visible+.wa-switch{outline:2px solid var(--primary);outline-offset:2px}.wa-toggle-text{display:flex;flex-direction:column;gap:3px;font-size:13px}.wa-toggle-text .muted{font-size:12px}.wa-field{margin-bottom:12px}.wa-link{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px}.wa-link.invalid{border-color:var(--danger)}.wa-hint{display:block;margin-top:6px;font-size:12px;font-weight:600}.wa-hint.ok{color:var(--active)}.wa-hint.err{color:var(--danger)}
