:root{--bg:#f5f7fb;--surface:#fff;--text:#101828;--muted:#667085;--line:#e4e7ec;--primary:#315bea;--primary-dark:#2448c5;--green:#159957;--orange:#d97706;--red:#d92d20;--shadow:0 12px 35px rgba(16,24,40,.08);--radius:16px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;line-height:1.5}a{color:var(--primary);text-decoration:none}button,input,select{font:inherit}.nav{position:sticky;top:0;z-index:20;background:rgba(17,24,39,.96);color:#fff;min-height:68px;padding:12px clamp(16px,4vw,52px);display:flex;align-items:center;justify-content:space-between;gap:18px;box-shadow:0 4px 20px rgba(0,0,0,.12)}.brand{display:flex;align-items:center;gap:11px}.brand strong{display:block;font-size:15px;letter-spacing:.1px}.brand small{display:block;color:#aab3c5;font-size:11px}.brand-mark{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(135deg,#4f6df5,#2448c5);font-weight:800}.nav-links{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.nav-links a{color:#dbe3f0;padding:9px 11px;border-radius:9px;font-size:13px}.nav-links a:hover,.nav-links a.active{background:rgba(255,255,255,.1);color:#fff}.nav-links .logout-link{color:#ffb4b0}.wrap{width:min(1380px,100%);margin:0 auto;padding:28px clamp(14px,3vw,38px) 50px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:22px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.12em;color:var(--primary)}h1{font-size:30px;line-height:1.15;margin:5px 0 6px}h2{font-size:20px;margin:0 0 5px}h3{margin-top:0}.muted{color:var(--muted);margin:0}.stat-pill{background:#eef2ff;color:#3449a8;padding:9px 13px;border-radius:999px;font-weight:700;font-size:13px}.card{background:var(--surface);border:1px solid rgba(16,24,40,.05);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow);margin-bottom:20px}.section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.balance{font-size:32px;font-weight:800;letter-spacing:-.02em}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;border:0;border-radius:10px;padding:9px 14px;background:var(--primary);color:#fff;font-weight:700;cursor:pointer;transition:.15s;white-space:nowrap}.btn:hover{background:var(--primary-dark);transform:translateY(-1px)}.btn.green{background:var(--green)}.btn.orange{background:var(--orange)}.btn.red{background:var(--red)}.btn.gray{background:#667085}.input,select{width:100%;min-height:42px;padding:9px 11px;border:1px solid #d0d5dd;border-radius:10px;background:#fff;color:var(--text);outline:none;margin:0}.input:focus,select:focus{border-color:#7a91ee;box-shadow:0 0 0 3px rgba(49,91,234,.1)}.table-wrap{width:100%;overflow-x:auto}.table{width:100%;border-collapse:separate;border-spacing:0;min-width:1120px}.table th{background:#f8fafc;color:#667085;font-size:11px;text-transform:uppercase;letter-spacing:.05em;text-align:left;padding:12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.table th:first-child{border-radius:10px 0 0 0}.table th:last-child{border-radius:0 10px 0 0}.table td{padding:15px 12px;vertical-align:top;border-bottom:1px solid var(--line)}.user-cell{display:flex;align-items:center;gap:10px;min-width:190px}.user-cell small{display:block;color:var(--muted);margin-top:2px}.avatar{width:38px;height:38px;border-radius:11px;background:#eef2ff;color:#3449a8;display:grid;place-items:center;font-weight:800}.money{white-space:nowrap}.action-stack{display:grid;gap:12px}.mini-form{display:grid;gap:7px;min-width:190px}.mini-form .input{margin:0}.badge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800;white-space:nowrap}.badge.success{background:#ecfdf3;color:#067647}.badge.warning{background:#fffaeb;color:#b54708}.badge.neutral{background:#f2f4f7;color:#475467}.msg{padding:12px 14px;border-radius:11px;margin:0 0 16px;background:#eff6ff;color:#1d4ed8;border:1px solid #dbeafe}.success-msg{background:#ecfdf3;color:#067647;border-color:#d1fadf}.danger{background:#fef3f2;color:#b42318;border-color:#fecdca}.setup-card{border:1px solid #c7d2fe;background:linear-gradient(180deg,#fff,#f8faff)}.secret-box{display:flex;align-items:center;gap:10px;background:#101828;color:#fff;padding:13px;border-radius:12px;margin:14px 0}.secret-box code{flex:1;font-size:16px;letter-spacing:.12em;word-break:break-all}.notice{padding:12px 14px;border-radius:10px;background:#fffaeb;color:#93370d;font-size:13px}.auth{width:min(440px,100%);margin:7vh auto;padding:16px}.auth .card{padding:30px}.auth h2{font-size:25px;margin-bottom:20px}.auth form{display:grid;gap:10px}.auth .input{margin:0}.auth .btn{width:100%;margin-top:4px}.title{margin-top:0}small{color:var(--muted)}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
@media(max-width:900px){.grid{grid-template-columns:1fr 1fr}.nav{position:static}.nav-links{width:100%;overflow:auto;flex-wrap:nowrap}.nav-links a{flex:0 0 auto}.page-head{align-items:flex-start}.table{min-width:100%}.table-wrap{overflow:visible}.users-table thead{display:none}.users-table,.users-table tbody,.users-table tr,.users-table td{display:block;width:100%}.users-table tr{background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:14px;padding:8px;box-shadow:0 5px 18px rgba(16,24,40,.05)}.users-table td{border:0;padding:10px 8px}.users-table td[data-label]::before{content:attr(data-label);display:block;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#98a2b3;font-weight:800;margin-bottom:5px}.users-table td:first-child::before{display:none}.mini-form{min-width:0}.action-stack{grid-template-columns:1fr}.section-title{align-items:flex-start}}
@media(max-width:620px){.wrap{padding:18px 12px 35px}.card{padding:16px;border-radius:14px}.grid{grid-template-columns:1fr}.balance{font-size:27px}.page-head{display:block}.stat-pill{display:inline-flex;margin-top:12px}.nav{padding:12px}.nav-links a{padding:8px 9px;font-size:12px}.brand-mark{width:34px;height:34px}.auth{margin:3vh auto;padding:12px}.auth .card{padding:22px}.secret-box{align-items:stretch;flex-direction:column}.secret-box .btn{width:100%}h1{font-size:26px}}

/* Broadcast / notification UI */
.message-button{position:relative;border:0;background:transparent;color:#dbe3f0;padding:9px 11px;border-radius:9px;font-size:13px;cursor:pointer}.message-button:hover{background:rgba(255,255,255,.1);color:#fff}.notification-dot{display:inline-grid;place-items:center;min-width:19px;height:19px;padding:0 5px;margin-left:6px;border-radius:999px;background:#f04438;color:#fff;font-size:10px;font-weight:800}.message-panel{position:fixed;top:78px;right:24px;width:min(410px,calc(100vw - 28px));max-height:calc(100vh - 100px);z-index:50;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 22px 60px rgba(16,24,40,.18);opacity:0;visibility:hidden;transform:translateY(-8px);transition:.18s;overflow:hidden}.message-panel.open{opacity:1;visibility:visible;transform:translateY(0)}.message-panel-head{display:flex;align-items:center;justify-content:space-between;padding:17px 18px;border-bottom:1px solid var(--line);background:#fbfcfe}.message-panel-head strong{display:block;font-size:15px}.message-panel-head small{display:block;margin-top:2px}.panel-close{border:0;background:#eef2f6;width:30px;height:30px;border-radius:50%;font-size:20px;line-height:1;cursor:pointer;color:#475467}.message-panel-body{padding:12px;overflow:auto;max-height:calc(100vh - 175px)}.user-message{padding:15px;border:1px solid var(--line);border-radius:14px;margin-bottom:10px;background:#fff}.user-message:last-child{margin-bottom:0}.user-message-top{display:flex;gap:10px;align-items:flex-start}.message-icon{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:#eef2ff;color:#315bea;font-weight:900;flex:0 0 auto}.user-message h4{margin:0;font-size:14px}.user-message small{font-size:11px}.user-message p{margin:12px 0;color:#475467;font-size:13px;white-space:normal;overflow-wrap:anywhere}.dismiss-btn{border:0;background:#f2f4f7;color:#475467;padding:8px 10px;border-radius:8px;font-size:11px;font-weight:700;cursor:pointer}.dismiss-btn:hover{background:#e4e7ec}.panel-empty{text-align:center;padding:35px 15px;color:#475467}.panel-empty strong{display:block;margin-top:10px}.panel-empty small{display:block;margin-top:4px}.dashboard-alert{display:flex;align-items:center;gap:12px;padding:14px 16px;margin:0 0 20px;border:1px solid #c7d2fe;background:#f5f7ff;border-radius:14px;cursor:pointer}.alert-icon{width:34px;height:34px;border-radius:10px;background:#315bea;color:#fff;display:grid;place-items:center;font-weight:900}.dashboard-alert strong{display:block;font-size:13px}.dashboard-alert small{display:block;margin-top:2px}.alert-arrow{margin-left:auto;font-size:20px;color:#315bea}.broadcast-form{display:grid;gap:14px}.broadcast-form label{font-size:12px;font-weight:800;color:#344054;display:grid;gap:7px}.message-textarea{resize:vertical;min-height:130px}.composer-foot{display:flex;align-items:center;justify-content:space-between;gap:14px}.message-history{display:grid;gap:12px}.admin-message-card{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:18px;border:1px solid var(--line);border-radius:14px;background:#fcfdff}.message-main{min-width:0}.message-main h3{margin:9px 0 6px;font-size:16px}.message-main p{margin:0;color:#475467;font-size:13px;white-space:normal;overflow-wrap:anywhere}.message-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:11px}.message-actions{display:flex;gap:8px;flex:0 0 auto}.message-actions form{margin:0}.empty-state{text-align:center;padding:40px 15px}.empty-icon{width:44px;height:44px;margin:0 auto;border-radius:13px;background:#eef2ff;color:#315bea;display:grid;place-items:center;font-weight:900;font-size:20px}
@media(max-width:720px){.message-panel{top:70px;right:10px;width:calc(100vw - 20px)}.composer-foot{align-items:stretch;flex-direction:column}.composer-foot .btn{width:100%}.admin-message-card{display:block}.message-actions{margin-top:14px}.message-actions .btn{width:100%}.message-actions form{flex:1}.message-actions{display:grid;grid-template-columns:1fr 1fr}.dashboard-alert{padding:12px}.message-button{padding:8px 9px}}
