.app-layout{min-height:100vh;display:flex;flex-direction:column;background:transparent}.app-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-md) var(--space-lg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0b12208c;border-bottom:1px solid var(--line);flex-wrap:wrap}.header-left{display:flex;align-items:center;gap:var(--space-lg)}.header-brand{font-weight:700;font-size:1.125rem;color:var(--text);text-decoration:none;transition:color .2s ease}.header-brand:hover{text-decoration:none}.header-logo{height:28px;width:auto;display:block}.header-nav{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.header-nav a{font-size:14px;color:var(--muted);padding:var(--space-sm) 12px;border-radius:999px;text-decoration:none;transition:background .2s ease,color .2s ease}.header-nav a:hover{background:#ffffff0f;color:var(--text);text-decoration:none}.header-nav a.active{background:#2f8b4c33;color:var(--green2)}.header-profile{display:flex;align-items:center;gap:var(--space-md);flex-wrap:wrap}.profile-info{display:flex;flex-direction:column;align-items:flex-end}.profile-name{font-weight:600;color:var(--text)}.profile-meta{font-size:13px;color:var(--muted)}.profile-loading{font-size:14px;color:var(--muted)}.btn-logout{display:inline-flex;align-items:center;justify-content:center;padding:11px 20px;font-size:14px;font-weight:600;color:var(--text);background:#ffffff0f;border:1px solid var(--line);border-radius:999px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.btn-logout:hover{background:#ffffff17;border-color:#ffffff2e;transform:translateY(-1px)}.app-main{flex:1;max-width:var(--max);margin:0 auto;width:100%;padding:var(--space-xl) var(--space-lg);overflow:auto}@media (max-width: 640px){.app-header{padding:var(--space-sm) var(--space-md)}.profile-info{align-items:flex-start}.app-main{padding:var(--space-lg) var(--space-md)}}@media (max-width: 480px){.app-header{padding:var(--space-sm) 0}}.home-page{max-width:48rem}.home-page h1{margin:0 0 var(--space-lg);font-size:clamp(26px,4vw,32px);line-height:1.2;letter-spacing:-.03em;font-weight:700;color:var(--text)}.home-nav{display:flex;flex-direction:column;gap:var(--space-md)}.home-card{display:block;padding:var(--space-lg) var(--space-xl);border-radius:var(--radius2);border:1px solid var(--line);background:var(--surface);box-shadow:0 24px 70px #0000008c;text-decoration:none;color:inherit;transition:all .2s cubic-bezier(.4,0,.2,1)}.home-card:hover{border-color:var(--green2);box-shadow:0 0 0 1px #22c55e4d;transform:translateY(-1px);text-decoration:none}.home-card-title{display:block;font-weight:600;font-size:1.125rem;color:var(--text)}.home-card-desc{display:block;margin-top:var(--space-xs);font-size:14px;color:var(--muted)}@media (max-width: 640px){.home-card{padding:var(--space-md) var(--space-lg)}}.shops-page{max-width:100%;overflow-x:auto}.shops-page h1{margin:0 0 var(--space-md);font-size:clamp(26px,4vw,32px);line-height:1.2;letter-spacing:-.03em;font-weight:700;color:var(--text)}.shops-filters{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md)}.shops-filters label{font-size:13px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.shops-filters select{padding:10px 12px;font-size:14px;border-radius:10px;border:1px solid var(--line);background:#0f172ce6;color:var(--text);cursor:pointer;outline:none;transition:border-color .18s ease,box-shadow .18s ease}.shops-filters select:focus{border-color:var(--green2);box-shadow:0 0 0 1px #22c55e66}.shops-error{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-md);border-radius:12px;border:1px solid rgba(249,115,115,.5);background:var(--danger-soft);color:#fef2f2e6;font-size:13px;line-height:1.5}.shops-error button{background:none;border:none;color:inherit;font-size:1.25rem;cursor:pointer;padding:0 var(--space-xs);line-height:1}.shops-loading{padding:var(--space-2xl);text-align:center;color:var(--muted)}.shops-table-wrap{overflow-x:auto;border-radius:var(--radius2);border:1px solid var(--line);background:var(--surface);box-shadow:0 24px 70px #0000008c}.shops-table{width:100%;border-collapse:collapse;font-size:14px}.shops-table th,.shops-table td{padding:var(--space-md) var(--space-lg);text-align:left;border-bottom:1px solid var(--line)}.shops-table th{font-weight:600;color:var(--text);background:#ffffff08;font-size:13px;text-transform:uppercase;letter-spacing:.08em}.shops-table td{color:var(--text)}.shops-table tbody tr:last-child td{border-bottom:none}.shops-table tbody tr:hover{background:#ffffff0a}.shops-table-row-clickable{cursor:pointer}.shops-actions{display:flex;gap:var(--space-sm);flex-wrap:wrap}.shops-actions button{padding:8px 14px;font-size:13px;font-weight:600;border-radius:999px;cursor:pointer;border:1px solid transparent;transition:all .2s cubic-bezier(.4,0,.2,1)}.btn-approve{background:linear-gradient(135deg,var(--green2),var(--green));box-shadow:0 4px 12px #1f6b3a59;color:#fff;border:none}.btn-approve:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px #1f6b3a73}.btn-reject{border-color:var(--danger);color:var(--danger);background:var(--danger-soft)}.btn-reject:hover:not(:disabled){background:#f8717138;border-color:#fb7171;color:#fecaca;transform:translateY(-1px)}.shops-actions button:disabled{opacity:.6;cursor:not-allowed;transform:none}.shops-status-badge{display:inline-block;padding:4px 10px;font-size:12px;font-weight:600;border-radius:999px;text-transform:uppercase;letter-spacing:.02em;background:#ffffff0f;border:1px solid var(--line);color:var(--muted)}.shops-pagination{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-md);margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--line)}.shops-pagination-info{font-size:13px;color:var(--muted)}.shops-pagination-btns{display:flex;gap:var(--space-sm)}.shops-pagination-btns button{padding:11px 20px;font-size:14px;font-weight:600;color:var(--text);background:#ffffff0f;border:1px solid var(--line);border-radius:999px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.shops-pagination-btns button:hover:not(:disabled){background:#ffffff17;border-color:#ffffff2e;transform:translateY(-1px)}.shops-pagination-btns button:disabled{opacity:.5;cursor:not-allowed;transform:none}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-lg)}.modal{border-radius:var(--radius2);border:1px solid var(--line);background:var(--surface);box-shadow:0 24px 70px #0000008c;padding:var(--space-xl);max-width:28rem;width:100%}.modal h3{margin:0 0 var(--space-sm);font-size:20px;letter-spacing:-.02em;font-weight:700;color:var(--text)}.modal-hint{margin:0 0 var(--space-md);font-size:13px;color:var(--muted);line-height:1.5}.modal label{display:block;margin-bottom:4px;font-size:13px;color:var(--muted)}.modal textarea{width:100%;padding:10px 12px;margin-bottom:var(--space-md);font-size:14px;font-family:inherit;border-radius:10px;border:1px solid var(--line);background:#0f172ae6;color:var(--text);resize:vertical;box-sizing:border-box;outline:none;transition:border-color .18s ease,box-shadow .18s ease}.modal textarea:focus{border-color:var(--green2);box-shadow:0 0 0 1px #22c55e66}.modal-actions{display:flex;justify-content:flex-end;gap:var(--space-sm)}.modal-actions button{padding:11px 20px;font-size:14px;font-weight:600;border-radius:999px;cursor:pointer;border:1px solid var(--line);background:#ffffff0f;color:var(--text);transition:all .2s cubic-bezier(.4,0,.2,1)}.modal-actions button:hover{background:#ffffff17;border-color:#ffffff2e;transform:translateY(-1px)}.modal-actions button.btn-reject{border-color:var(--danger);color:var(--danger);background:var(--danger-soft)}.modal-actions button.btn-reject:hover:not(:disabled){background:#f8717138;border-color:#fb7171;color:#fecaca}.modal-actions button.btn-reject:disabled{opacity:.6;cursor:not-allowed;transform:none}@media (max-width: 768px){.shops-table th,.shops-table td{padding:var(--space-sm) var(--space-md);font-size:13px}}.shop-details{max-width:56rem}.shop-details-loading,.shop-details-error{padding:var(--space-2xl);text-align:center;color:var(--muted)}.shop-details-error{color:#fecaca}.shop-details-header{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg)}.shop-details-header h1{margin:0;font-size:clamp(26px,4vw,32px);line-height:1.2;letter-spacing:-.03em;font-weight:700;color:var(--text);flex:1}.shop-details-status-badge{display:inline-block;padding:4px 12px;font-size:12px;font-weight:600;border-radius:999px;text-transform:uppercase;letter-spacing:.02em}.shop-details-status-badge.status-SUBMITTED{background:#eab30833;color:#eab308}.shop-details-status-badge.status-APPROVED{background:#2f8b4c40;color:#bbf7d0}.shop-details-status-badge.status-REJECTED{background:var(--danger-soft);color:#fecaca}.shop-details-status-badge.status-IN_REVIEW,.shop-details-status-badge.status-RE_VERIFY{background:#6b7cff33;color:#a5b4fc}.btn-back{display:inline-flex;align-items:center;padding:11px 20px;font-size:14px;font-weight:600;color:var(--text);background:#ffffff0f;border:1px solid var(--line);border-radius:999px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.btn-back:hover{background:#ffffff17;border-color:#ffffff2e;transform:translateY(-1px)}.shop-details-error-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-md);border-radius:12px;border:1px solid rgba(249,115,115,.5);background:var(--danger-soft);color:#fef2f2e6;font-size:13px;line-height:1.5}.shop-details-error-bar button{background:none;border:none;color:inherit;font-size:1.25rem;cursor:pointer;padding:0 var(--space-xs);line-height:1}.shop-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg);margin-bottom:var(--space-lg)}@media (max-width: 768px){.shop-details-grid{grid-template-columns:1fr}}.shop-details-section{border-radius:var(--radius2);border:1px solid var(--line);background:var(--surface);box-shadow:0 24px 70px #0000008c;padding:var(--space-lg)}.shop-details-section h2{margin:0 0 var(--space-md);font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8e6;border-bottom:1px solid var(--line);padding-bottom:var(--space-sm)}.shop-details-media{grid-column:1 / -1}.shop-details-media .shop-details-image-wrap,.shop-details-media .shop-details-doc-wrap{margin-bottom:var(--space-md)}.shop-details-media .shop-details-placeholder{padding:var(--space-md);background:#0f172ae6;border-radius:12px;color:var(--muted);font-size:14px;margin-bottom:var(--space-md)}.shop-details-label{display:block;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:4px}.shop-details-img{max-width:100%;max-height:200px;object-fit:contain;border-radius:12px;border:1px solid var(--line)}.shop-details-doc-link{display:inline-block;margin-bottom:var(--space-sm);font-size:14px;color:var(--green2)}.shop-details-doc-img{max-width:100%;max-height:280px;object-fit:contain;border-radius:12px;border:1px solid var(--line)}.shop-details-dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:4px var(--space-lg);font-size:14px}.shop-details-dl dt{margin:0;color:var(--muted);font-weight:500}.shop-details-dl dd{margin:0;color:var(--text)}.shop-details-actions{display:flex;gap:var(--space-md);flex-wrap:wrap}.shop-details-actions .btn-approve,.shop-details-actions .btn-reject{padding:11px 20px;font-size:14px;font-weight:600;border-radius:999px;border:none;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.shop-details-actions .btn-approve{background:linear-gradient(135deg,var(--green2),var(--green));box-shadow:0 8px 24px #1f6b3a66;color:#fff}.shop-details-actions .btn-approve:hover:not(:disabled){background:linear-gradient(135deg,#36a75a,var(--green));box-shadow:0 10px 28px #1f6b3a80;transform:translateY(-1px)}.shop-details-actions .btn-reject{border:1px solid var(--danger);color:var(--danger);background:var(--danger-soft)}.shop-details-actions .btn-reject:hover:not(:disabled){background:#f8717138;border-color:#fb7171;color:#fecaca;transform:translateY(-1px)}.shop-details-actions .btn-approve:disabled,.shop-details-actions .btn-reject:disabled{opacity:.6;cursor:not-allowed;transform:none}:root{--bg: #0b1220;--bg2: #0f1a33;--text: rgba(255, 255, 255, .92);--muted: rgba(255, 255, 255, .68);--line: rgba(255, 255, 255, .12);--green: #1f6b3a;--green2: #2f8b4c;--danger: #f97373;--danger-soft: rgba(249, 115, 115, .14);--max: 1200px;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--radius: 16px;--radius2: 24px}:root{--bg-main: var(--bg);--surface: rgba(15, 24, 44, .92);--border: var(--line);--text-muted: var(--muted);--hover: rgba(255, 255, 255, .06);--primary: var(--green);--primary-hover: var(--green2);--success: var(--green2);--error: var(--danger);--error-bg: var(--danger-soft)}*,*:before,*:after{box-sizing:border-box}html,body{height:100%;margin:0}body{color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.5;background:radial-gradient(1200px 600px at 10% 10%,rgba(107,124,255,.28),transparent 60%),radial-gradient(900px 500px at 90% 20%,rgba(47,139,76,.25),transparent 55%),radial-gradient(800px 500px at 60% 95%,rgba(31,107,58,.22),transparent 60%),linear-gradient(180deg,var(--bg),var(--bg2));overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:11px 20px;border-radius:999px;border:1px solid var(--line);background:#ffffff0f;color:var(--text);font-size:14px;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);cursor:pointer}.btn:hover{transform:translateY(-1px);background:#ffffff17;border-color:#ffffff2e}.btn:disabled{opacity:.6;cursor:default;transform:none}.btn.primary{border:none;background:linear-gradient(135deg,var(--green2),var(--green));box-shadow:0 8px 24px #1f6b3a66}.btn.primary:hover:not(:disabled){background:linear-gradient(135deg,#36a75a,var(--green));box-shadow:0 10px 28px #1f6b3a80}.btn.danger{border-color:var(--danger);color:var(--danger);background:var(--danger-soft)}.btn.danger:hover:not(:disabled){background:#f8717138;border-color:#fb7171;color:#fecaca}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-2xl) var(--space-lg)}.login-card{width:100%;max-width:480px;padding:var(--space-xl);border-radius:var(--radius2);border:1px solid var(--line);background:var(--surface);box-shadow:0 24px 70px #0000008c}.login-card h1{margin:0 0 var(--space-sm);font-size:clamp(26px,4vw,32px);line-height:1.2;letter-spacing:-.03em;font-weight:700}.login-sub{margin:0 0 var(--space-lg);color:var(--muted);font-size:14px;line-height:1.6}.login-error{margin:0 0 var(--space-lg);padding:var(--space-sm) var(--space-md);border-radius:12px;border:1px solid rgba(249,115,115,.5);background:var(--danger-soft);color:#fef2f2e6;font-size:13px;line-height:1.5}.login-card label{font-size:13px;color:var(--muted);margin-bottom:4px;display:block}.login-card input,.login-card .input-wrap{width:100%;padding:10px 12px;margin-bottom:var(--space-md);font-size:14px;border-radius:10px;border:1px solid var(--line);background:#0f172ae6;color:var(--text);outline:none;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.input-wrap{display:flex;align-items:stretch;padding:0;margin-bottom:var(--space-md);overflow:hidden;border-radius:10px;border:1px solid var(--line);background:#0f172ae6}.input-wrap .prefix{padding:10px 12px;font-size:14px;color:var(--muted);background:#ffffff0f;border-right:1px solid var(--line)}.input-wrap input{flex:1;margin:0;padding:10px 12px;border:none;background:transparent}.login-card input:focus,.login-card .input-wrap:focus-within{border-color:var(--green2);box-shadow:0 0 0 1px #22c55e66;background:#0f172a}.input-wrap:focus-within{border-color:var(--green2);box-shadow:0 0 0 1px #22c55e66}.login-card button[type=submit]{width:100%;padding:11px 20px;font-size:14px;font-weight:600;color:#fff;border:none;border-radius:999px;background:linear-gradient(135deg,var(--green2),var(--green));box-shadow:0 8px 24px #1f6b3a66;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.login-card button[type=submit]:hover:not(:disabled){background:linear-gradient(135deg,#36a75a,var(--green));box-shadow:0 10px 28px #1f6b3a80;transform:translateY(-1px)}.login-card button[type=submit]:disabled{opacity:.6;cursor:not-allowed;transform:none}.link-btn{width:100%;margin-top:var(--space-md);padding:var(--space-sm) 0;font-size:14px;color:var(--muted);background:none;border:none;cursor:pointer;border-radius:999px;transition:background .2s ease,color .2s ease}.link-btn:hover:not(:disabled){color:var(--text);background:#ffffff0f;text-decoration:none}.otp-hint{margin:0 0 var(--space-md);font-size:13px;color:var(--muted)}.auth-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;color:var(--muted)}.msg{font-size:12px;line-height:1.5;min-height:1.4em}.msg.error{color:#fecaca}.msg.success{color:#bbf7d0}@media (max-width: 640px){.login-page{padding:var(--space-xl) var(--space-md)}.login-card{padding:var(--space-lg)}}
