:root{--primary: #4f46e5;--primary-dark: #4338ca;--bg: #f4f4fb;--surface: #ffffff;--text: #1e1b2e;--muted: #6b7280;--outline: #e5e7eb;--green: #16a34a;--red: #dc2626;--radius: 16px}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #121018;--surface: #1c1a26;--text: #f1f0f7;--muted: #9ca3af;--outline: #2e2b3c}}:root[data-theme=dark]{--bg: #121018;--surface: #1c1a26;--text: #f1f0f7;--muted: #9ca3af;--outline: #2e2b3c}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:Segoe UI,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased}.muted{color:var(--muted)}.small{font-size:12px}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.page-center{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:16px}.spinner{width:34px;height:34px;border:3px solid var(--outline);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.error-card{background:var(--surface);border:1px solid var(--outline);border-radius:var(--radius);padding:20px;max-width:380px;text-align:center}.auth-page{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:16px}.auth-card{background:var(--surface);border-radius:20px;padding:32px 24px;max-width:380px;width:100%;text-align:center;box-shadow:0 10px 40px -10px #4f46e540}.auth-logo{width:56px;height:56px;border-radius:16px;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;margin:0 auto 14px}.auth-card h1{font-size:20px;margin:0 0 6px}.auth-card p{margin:0 0 20px;font-size:13px}.phone-input{display:flex;align-items:center;gap:8px;border:1.5px solid var(--outline);border-radius:12px;padding:12px 14px;margin-bottom:14px}.phone-input span{color:var(--muted);font-weight:600}.phone-input input{border:none;outline:none;flex:1;font-size:16px;background:transparent;color:var(--text)}.otp-input{width:100%;text-align:center;letter-spacing:10px;font-size:24px;font-weight:700;padding:14px;border:1.5px solid var(--outline);border-radius:12px;margin-bottom:14px;background:transparent;color:var(--text)}.error-text{color:var(--red);font-size:13px;margin:-6px 0 12px}.btn-primary{width:100%;background:var(--primary);color:#fff;border:none;border-radius:12px;padding:13px;font-size:15px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .15s}.btn-primary:hover{background:var(--primary-dark)}.btn-primary:disabled{opacity:.55;cursor:not-allowed}.btn-link{background:none;border:none;color:var(--primary);font-weight:600;font-size:13px;margin-top:12px;cursor:pointer}.btn-outline{display:flex;align-items:center;gap:6px;background:transparent;border:1.5px solid var(--outline);color:var(--text);border-radius:10px;padding:8px 14px;font-weight:700;font-size:13px;cursor:pointer}.dashboard{max-width:520px;margin:0 auto;padding:16px 16px 48px}.dash-header{display:flex;align-items:center;justify-content:space-between;padding:8px 4px 18px}.dash-header-left{display:flex;align-items:center;gap:8px;font-size:16px}.icon-btn{background:var(--surface);border:1px solid var(--outline);border-radius:10px;padding:8px;cursor:pointer;color:var(--text)}.banner{border-radius:12px;padding:12px 14px;font-size:13px;font-weight:600;margin-bottom:14px}.banner-warn{background:#fef3c7;color:#92400e}.card{background:var(--surface);border:1px solid var(--outline);border-radius:var(--radius);padding:16px;margin-bottom:14px}.card-title{display:flex;align-items:center;gap:6px;font-weight:800;font-size:14px;margin-bottom:8px}.code-card{display:flex;flex-direction:column;gap:10px}.code-row{display:flex;align-items:center;gap:10px}.code{flex:1;text-align:center;font-size:22px;font-weight:900;letter-spacing:3px;background:var(--bg);border-radius:10px;padding:12px 0}.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}.tile{background:var(--surface);border:1px solid var(--outline);border-radius:14px;padding:14px 10px;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.tile-icon{color:var(--primary)}.tile strong{font-size:16px}.customer-list{display:flex;flex-direction:column;gap:10px}.customer-row{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:var(--bg);border-radius:12px}.customer-row-right{text-align:right}
