:root{--bg: #131712;--surface: #1F251D;--text: #FFFFFF;--muted: #A5B6A0;--accent: #60A5FA;--accent-contrast: #0B1220;--border: #42513E}*{box-sizing:border-box}html,body,#root{height:100%}html:focus-within{scroll-behavior:smooth}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";line-height:1.5;color:var(--text);background-color:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}img,svg{display:block}a{color:inherit}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}#root{max-width:1500px;margin:0 auto;padding:2rem;text-align:center}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.home{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 24px 72px;background:var(--bg)}.hero-card{width:100%;max-width:720px;background:linear-gradient(180deg,#ffffff05,#fff0),var(--surface);border:1px solid var(--border);border-radius:20px;padding:clamp(20px,4vw,40px);box-shadow:0 10px 30px #00000059,0 2px 8px #00000040;text-align:center}.hero-logo{width:clamp(72px,12vw,120px);height:auto;margin:0 auto 18px;border-radius:16px;box-shadow:0 8px 24px #0006}.hero-title{margin:0 0 8px;font-size:clamp(26px,4.5vw,40px);letter-spacing:.2px}.hero-subtitle{margin:0 auto 28px;max-width:46ch;color:var(--muted);font-size:clamp(14px,2.6vw,18px)}.cta-group{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px}.btn{--ring: rgba(96,165,250,.35);display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border-radius:12px;border:1px solid transparent;text-decoration:none;font-weight:600;letter-spacing:.2px;transition:transform .12s ease,box-shadow .12s ease,background-color .16s ease,border-color .16s ease,color .16s ease;will-change:transform}.btn:active{transform:translateY(1px) scale(.995)}.btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--ring)}.btn .btn-icon{display:inline-flex;align-items:center;justify-content:center}.btn-primary{background:var(--accent);color:var(--accent-contrast);border-color:#ffffff0f;box-shadow:0 6px 16px #60a5fa40}.btn-primary:hover{background:#5a9cf4;box-shadow:0 8px 20px #60a5fa4d}.btn-secondary{background:#ffffff05;color:var(--text);border-color:var(--border)}.btn-secondary:hover{background:#ffffff0a;border-color:#4b5b46}.store-badge{background:#ffffff05;color:var(--text);border-color:var(--border);padding:12px 16px;border-radius:14px;min-width:190px}.store-badge:hover{background:#ffffff0a;border-color:#4b5b46}.store-icon{width:24px;height:24px;flex:0 0 auto}.store-text{display:flex;flex-direction:column;text-align:left;line-height:1.1}.store-text .eyebrow{color:var(--muted);font-size:12px;letter-spacing:.3px}.store-text .brand{font-size:16px;font-weight:700}.badge-google:hover{box-shadow:0 8px 20px #60a5fa40}.badge-apple:hover{box-shadow:0 8px 20px #00000059}.footer{position:fixed;left:0;right:0;bottom:16px;text-align:center;color:var(--muted);font-size:12px;user-select:none}.topbar{position:fixed;top:16px;left:0;right:0;display:flex;justify-content:flex-end;gap:12px;padding:0 16px;z-index:10}.toplink{color:var(--muted);background:#ffffff05;border:1px solid var(--border);padding:8px 12px;border-radius:10px;text-decoration:none;font-size:12px;transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .12s ease,transform .12s ease}.toplink:hover{color:var(--text);background:#ffffff0a;border-color:#4b5b46}.toplink:active{transform:translateY(1px)}.toplink:focus-visible{outline:none;box-shadow:0 0 0 3px #60a5fa59}@media(min-width:960px){.btn{padding:14px 20px}}.privacy-root{--bg: #131712;--surface: #1F251D;--text: #FFFFFF;--muted: #A5B6A0;--accent: #60A5FA;--border: #42513E;color:var(--text);background:var(--bg);min-height:100dvh;text-align:start}.privacy-root .topbar{position:sticky;top:0;z-index:10;display:flex;justify-content:flex-end;gap:12px;padding:16px;background:linear-gradient(180deg,#131712d9,#13171200);backdrop-filter:blur(4px)}.privacy-root .toplink{color:var(--muted);background:#ffffff05;border:1px solid var(--border);padding:8px 12px;border-radius:10px;text-decoration:none;font-size:12px;transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .12s ease}.privacy-root .toplink:hover{color:var(--text);background:#ffffff0a;border-color:#4b5b46}.privacy-root .toplink:active{transform:translateY(1px)}.privacy-root .page{padding:24px 24px 48px;display:grid;place-items:start center}.privacy-root .card{width:100%;max-width:860px;background:linear-gradient(180deg,#ffffff05,#fff0),var(--surface);border:1px solid var(--border);border-radius:20px;padding:clamp(20px,4vw,40px);box-shadow:0 10px 30px #00000059,0 2px 8px #00000040}.privacy-root h1{margin:0 0 8px;font-size:clamp(28px,5vw,40px);letter-spacing:.2px}.privacy-root .muted{color:var(--muted);font-size:14px}.privacy-root h2{margin:28px 0 8px;font-size:clamp(18px,3vw,22px)}.privacy-root p{margin:10px 0}.privacy-root ul{margin:8px 0 16px 22px}.privacy-root li{margin:6px 0}.privacy-root hr{border:none;border-top:1px solid var(--border);margin:20px 0}.privacy-root .card,.privacy-root p,.privacy-root h1,.privacy-root h2,.privacy-root ul,.privacy-root li{text-align:start}@media(prefers-reduced-motion:reduce){.privacy-root *{transition:none!important}}.admin-root{--bg:#131712;--surface:#1F251D;--text:#FFFFFF;--muted:#A5B6A0;--accent:#60A5FA;--accent-contrast:#0B1220;--border:#42513E;min-height:100dvh;background:var(--bg);color:var(--text);text-align:start}.admin-root .topbar{position:sticky;top:0;z-index:10;display:flex;justify-content:flex-end;gap:12px;padding:16px;background:linear-gradient(180deg,#131712d9,#13171200);backdrop-filter:blur(4px)}.admin-root .toplink{color:var(--muted);background:#ffffff05;border:1px solid var(--border);padding:8px 12px;border-radius:10px;text-decoration:none;font-size:12px;transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .12s ease}.admin-root .toplink:hover{color:var(--text);background:#ffffff0a;border-color:#4b5b46}.admin-root .toplink:active{transform:translateY(1px)}.admin-root .page{padding:24px 24px 48px;display:grid;place-items:start center}.admin-root .card{width:100%;max-width:520px;background:linear-gradient(180deg,#ffffff05,#fff0),var(--surface);border:1px solid var(--border);border-radius:20px;padding:clamp(20px,4vw,32px);box-shadow:0 10px 30px #00000059,0 2px 8px #00000040}.admin-root h1{margin:0 0 8px;font-size:clamp(24px,4.5vw,32px)}.admin-root .muted{color:var(--muted);font-size:14px;margin:0 0 16px}.form{display:grid;gap:14px}.field{display:grid;gap:8px}label{font-weight:600}input{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--border);background:#ffffff05;color:var(--text);outline:none;transition:border-color .16s ease,box-shadow .12s ease}input::placeholder{color:#8d9b88}input:focus{border-color:#4b5b46;box-shadow:0 0 0 3px #60a5fa40}.password-row{display:flex;gap:8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border-radius:12px;border:1px solid transparent;font-weight:700;text-decoration:none;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,background-color .16s ease,color .16s ease,border-color .16s ease}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--accent);color:var(--accent-contrast);box-shadow:0 6px 16px #60a5fa40}.btn.primary:hover{background:#5a9cf4;box-shadow:0 8px 20px #60a5fa4d}.btn.ghost{background:#ffffff05;color:var(--text);border:1px solid var(--border)}.btn.ghost:hover{background:#ffffff0a;border-color:#4b5b46}.actions{margin-top:6px}.error{margin-top:4px;background:#ea43351a;border:1px solid rgba(234,67,53,.35);color:#ffb3ab;padding:10px 12px;border-radius:10px;font-size:14px}.success-msg{margin-top:10px;background:#10b9811a;border:1px solid rgba(16,185,129,.35);color:#9ae6b4;padding:12px 14px;border-radius:12px;font-size:14px}.dashboard-page{padding:24px;max-width:100%;margin:0 auto;width:100%}.topbar-left{display:flex;align-items:center;gap:16px}.topbar-right{display:flex;align-items:center;gap:16px;margin-left:auto}.topbar-title{margin:0;font-size:20px;color:var(--text)}.admin-name{color:var(--muted);font-size:14px}.tabs{display:flex;gap:8px;margin-bottom:24px;border-bottom:1px solid var(--border);padding-bottom:0;overflow-x:auto}.tab{padding:12px 20px;background:transparent;border:none;color:var(--muted);font-weight:600;cursor:pointer;border-bottom:2px solid transparent;transition:color .16s ease,border-color .16s ease;white-space:nowrap}.tab:hover{color:var(--text)}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}.tab-content{animation:fadeIn .2s ease}.tab-content .card{max-width:100%;width:100%}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-top:24px}@media(max-width:768px){.stats-grid{grid-template-columns:1fr}}.stat-card{background:#ffffff05;border:1px solid var(--border);border-radius:12px;padding:24px;transition:background-color .16s ease,border-color .16s ease,transform .12s ease}.stat-card:hover{background:#ffffff0a;border-color:#4b5b46;transform:translateY(-2px)}.stat-card h3{margin:0 0 12px;font-size:14px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.stat-value{margin:0;font-size:36px;font-weight:700;color:var(--accent)}.table-container{margin-top:20px;border:1px solid var(--border);border-radius:12px;padding:32px;background:#ffffff05;min-height:400px;width:100%}@media(max-width:768px){.table-container{padding:20px;min-height:300px}}.placeholder-text{color:var(--muted);text-align:center;padding:60px 20px;margin:0;font-size:16px}.settings-content{margin-top:20px;min-height:400px;width:100%}@media(max-width:768px){.settings-content{min-height:300px}}@media(max-width:1024px){.dashboard-page{padding:16px}.topbar-title{font-size:18px}.admin-name{display:none}}@media(max-width:640px){.dashboard-page{padding:12px}.tabs{gap:4px}.tab{padding:10px 16px;font-size:14px}.stat-value{font-size:28px}.topbar-right{gap:8px}.btn.ghost{padding:8px 12px;font-size:14px}}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-small{padding:4px 8px;font-size:11px;font-weight:600;white-space:nowrap}.dialog-overlay{position:fixed;inset:0;background:#000000bf;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.dialog{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:32px;max-width:440px;width:90%;box-shadow:0 20px 60px #00000080;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.dialog h3{margin:0 0 12px;font-size:24px;color:var(--text)}.dialog-message{color:var(--muted);margin:0 0 24px;font-size:16px;line-height:1.5}.dialog-actions{display:flex;gap:12px;justify-content:flex-end}.dialog-actions .btn{min-width:100px}@media(max-width:640px){.dialog{padding:24px}.dialog h3{font-size:20px}.dialog-message{font-size:14px}.dialog-actions{flex-direction:column-reverse}.dialog-actions .btn{width:100%}}@media(prefers-reduced-motion:reduce){.admin-root *{transition:none!important}}.users-tab{width:100%}.users-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:16px}.users-header h2{margin:0 0 4px}.table-wrapper{overflow-x:auto;border:1px solid var(--border);border-radius:12px;background:#ffffff05;width:100%}.users-table{width:100%;min-width:1200px;border-collapse:collapse;font-size:14px}.users-table thead{background:#ffffff08;border-bottom:1px solid var(--border)}.users-table th{padding:16px 12px;text-align:left;font-weight:600;color:var(--text);white-space:nowrap;text-transform:uppercase;font-size:12px;letter-spacing:.5px}.users-table th:last-child{width:80px;text-align:center}.users-table td{padding:16px 12px;border-bottom:1px solid var(--border);vertical-align:middle}.users-table td:last-child{text-align:center;width:80px}.users-table tbody tr{transition:background-color .16s ease}.users-table tbody tr:hover{background:#ffffff08}.users-table tbody tr:last-child td{border-bottom:none}.user-name{font-weight:600;margin-bottom:4px}.user-uuid{font-size:12px;color:var(--muted);font-family:monospace}.user-uuid.clickable{cursor:pointer;transition:color .16s ease,transform .12s ease;user-select:none}.user-uuid.clickable:hover{color:var(--accent);transform:translate(2px)}.user-uuid.clickable:active{transform:translate(0)}.muted-text{color:var(--muted);font-style:italic}.region-badge{display:inline-block;padding:4px 8px;background:#ffffff0d;border-radius:6px;font-size:12px;color:var(--muted)}.profile-info{display:flex;flex-direction:column;gap:4px;font-size:13px}.goal-badge{display:inline-block;padding:4px 10px;background:#60a5fa1a;border:1px solid rgba(96,165,250,.3);border-radius:8px;font-size:12px;color:var(--accent);white-space:nowrap}.activity-badge{display:inline-block;padding:4px 10px;background:#10b9811a;border:1px solid rgba(16,185,129,.3);border-radius:8px;font-size:12px;color:#10b981;white-space:nowrap}.badge{display:inline-block;padding:4px 10px;border-radius:8px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.badge-free{background:#9ca3af1a;color:#9ca3af;border:1px solid rgba(156,163,175,.3)}.badge-premium{background:#fbbf241a;color:#fbb924;border:1px solid rgba(251,191,36,.3)}.badge-pro{background:#8b5cf61a;color:#a78bfa;border:1px solid rgba(139,92,246,.3)}.targets{display:flex;flex-direction:column;gap:4px}.targets small{font-size:12px;display:block}.date-cell{font-size:13px;color:var(--muted)}.pagination{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:24px;padding:16px}.page-info{color:var(--muted);font-size:14px;font-weight:600}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:16px}.spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.1);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;padding:60px 20px;color:var(--muted)}@media(max-width:1200px){.users-table{font-size:13px}.users-table th,.users-table td{padding:12px 8px}}@media(max-width:768px){.users-header{flex-direction:column;align-items:flex-start}.table-wrapper{border-radius:8px}.users-table{font-size:12px}.users-table th,.users-table td{padding:10px 6px}.pagination{flex-wrap:wrap;gap:12px}}.user-details-root{--bg: #131712;--surface: #1F251D;--text: #FFFFFF;--muted: #A5B6A0;--accent: #60A5FA;--accent-contrast: #0B1220;--border: #42513E;min-height:100dvh;background:var(--bg);color:var(--text);text-align:start}.user-details-topbar{position:sticky;top:0;z-index:10;display:flex;gap:12px;padding:16px;background:linear-gradient(180deg,#131712d9,#13171200);backdrop-filter:blur(4px)}.user-details-topbar-left{display:flex;align-items:center;gap:16px}.user-details-topbar-title{margin:0;font-size:20px;color:var(--text)}.user-details-page{padding:24px;max-width:1400px;margin:0 auto;display:flex;flex-direction:column;gap:24px}.user-details-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:32px;box-shadow:0 4px 12px #0003}.user-details-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border)}.user-details-card-header h2{margin:0;font-size:24px;display:flex;align-items:center;gap:8px}.user-details-id-badge,.user-details-count-badge{padding:6px 12px;background:#60a5fa1a;border:1px solid rgba(96,165,250,.3);border-radius:8px;font-size:14px;color:var(--accent);font-weight:600}.user-details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.user-details-item{display:flex;flex-direction:column;gap:6px}.user-details-item label{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.user-details-value{font-size:15px;color:var(--text);word-break:break-word}.user-details-value.clickable{cursor:pointer;color:var(--accent);transition:opacity .16s ease}.user-details-value.clickable:hover{opacity:.8}.user-details-value.mono{font-family:monospace;font-size:13px}.user-details-mono{font-family:monospace}.user-details-table-wrapper{overflow-x:auto}.user-details-table{width:100%;border-collapse:collapse;font-size:14px}.user-details-table thead{background:#ffffff08}.user-details-table th{padding:12px;text-align:left;font-weight:600;color:var(--text);border-bottom:1px solid var(--border);font-size:12px;text-transform:uppercase;letter-spacing:.5px}.user-details-table td{padding:12px;border-bottom:1px solid var(--border)}.user-details-table tbody tr:last-child td{border-bottom:none}.user-details-table tbody tr:hover{background:#ffffff05}.user-details-table code{background:#ffffff0d;padding:2px 6px;border-radius:4px;font-size:12px;font-family:monospace}.user-details-status-badge{display:inline-block;padding:4px 10px;border-radius:6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;transition:all .2s ease}.user-details-status-badge.status-active{background:#10b98126;color:#34d399;border:1px solid rgba(16,185,129,.4);box-shadow:0 2px 8px #10b98133}.user-details-status-badge.status-active:hover{background:#10b98133;box-shadow:0 4px 12px #10b9814d;transform:translateY(-1px)}.user-details-status-badge.status-used{background:#60a5fa26;color:#60a5fa;border:1px solid rgba(96,165,250,.4);box-shadow:0 2px 8px #60a5fa33}.user-details-status-badge.status-used:hover{background:#60a5fa33;box-shadow:0 4px 12px #60a5fa4d;transform:translateY(-1px)}.user-details-status-badge.status-paid{background:#22c55e26;color:#4ade80;border:1px solid rgba(34,197,94,.4);box-shadow:0 2px 8px #22c55e33}.user-details-status-badge.status-paid:hover{background:#22c55e33;box-shadow:0 4px 12px #22c55e4d;transform:translateY(-1px)}.user-details-status-badge.status-validated{background:#3b82f626;color:#60a5fa;border:1px solid rgba(59,130,246,.4);box-shadow:0 2px 8px #3b82f633}.user-details-status-badge.status-validated:hover{background:#3b82f633;box-shadow:0 4px 12px #3b82f64d;transform:translateY(-1px)}.user-details-status-badge.status-expired{background:#ef444426;color:#f87171;border:1px solid rgba(239,68,68,.4);box-shadow:0 2px 8px #ef444433}.user-details-status-badge.status-expired:hover{background:#ef444433;box-shadow:0 4px 12px #ef44444d;transform:translateY(-1px)}.user-details-status-badge.status-cancelled{background:#9ca3af26;color:#d1d5db;border:1px solid rgba(156,163,175,.4);box-shadow:0 2px 8px #9ca3af33}.user-details-status-badge.status-cancelled:hover{background:#9ca3af33;box-shadow:0 4px 12px #9ca3af4d;transform:translateY(-1px)}.user-details-status-badge.status-pending{background:#fbbf2426;color:#fcd34d;border:1px solid rgba(251,191,36,.4);box-shadow:0 2px 8px #fbbf2433}.user-details-status-badge.status-pending:hover{background:#fbbf2433;box-shadow:0 4px 12px #fbbf244d;transform:translateY(-1px)}.user-details-status-badge.status-grace_period{background:#f9731626;color:#fb923c;border:1px solid rgba(249,115,22,.4);box-shadow:0 2px 8px #f9731633}.user-details-status-badge.status-grace_period:hover{background:#f9731633;box-shadow:0 4px 12px #f973164d;transform:translateY(-1px)}.user-details-status-badge.status-billing_retry{background:#3b82f626;color:#60a5fa;border:1px solid rgba(59,130,246,.4);box-shadow:0 2px 8px #3b82f633}.user-details-status-badge.status-billing_retry:hover{background:#3b82f633;box-shadow:0 4px 12px #3b82f64d;transform:translateY(-1px)}.user-details-status-badge.status-superseded{background:#8b5cf626;color:#c084fc;border:1px solid rgba(139,92,246,.4);box-shadow:0 2px 8px #8b5cf633}.user-details-status-badge.status-superseded:hover{background:#8b5cf633;box-shadow:0 4px 12px #8b5cf64d;transform:translateY(-1px)}.user-details-status-badge.status-unknown{background:#6b728026;color:#9ca3af;border:1px solid rgba(107,114,128,.4);box-shadow:0 2px 8px #6b728033}.user-details-status-badge.status-unknown:hover{background:#6b728033;box-shadow:0 4px 12px #6b72804d;transform:translateY(-1px)}.user-details-status-badge.status-revoked{background:#dc262626;color:#ef4444;border:1px solid rgba(220,38,38,.4);box-shadow:0 2px 8px #dc262633}.user-details-status-badge.status-revoked:hover{background:#dc262633;box-shadow:0 4px 12px #dc26264d;transform:translateY(-1px)}.user-details-status-badge.status-unused{background:#9ca3af1a;color:#9ca3af;border:1px solid rgba(156,163,175,.3)}.user-details-badge-warning{background:#f59e0b26;color:#fcd34d;border:1px solid rgba(245,158,11,.4);padding:4px 10px;border-radius:6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;display:inline-flex;align-items:center;gap:4px;box-shadow:0 2px 8px #f59e0b33;transition:all .2s ease}.user-details-badge-warning:hover{background:#f59e0b33;box-shadow:0 4px 12px #f59e0b4d;transform:translateY(-1px)}.user-details-badge-success{background:#10b98126;color:#34d399;border:1px solid rgba(16,185,129,.4);padding:4px 10px;border-radius:6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;display:inline-flex;align-items:center;gap:4px;box-shadow:0 2px 8px #10b98133;transition:all .2s ease}.user-details-badge-success:hover{background:#10b98133;box-shadow:0 4px 12px #10b9814d;transform:translateY(-1px)}.user-details-badge-success:before{content:"🔄";font-size:12px}.user-details-badge-sandbox{background:#a855f726;color:#c084fc;border:1px solid rgba(168,85,247,.4);font-size:10px;padding:4px 10px;border-radius:6px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;display:inline-flex;align-items:center;gap:4px;box-shadow:0 2px 8px #a855f733;transition:all .2s ease}.user-details-badge-sandbox:hover{background:#a855f733;box-shadow:0 4px 12px #a855f74d;transform:translateY(-1px)}.user-details-badge-sandbox:before{content:"🧪";font-size:12px}.user-details-badge-production{font-size:10px;padding:3px 8px}.user-details-subscriptions-list{display:flex;flex-direction:column;gap:16px}.user-details-subscription-item{background:#ffffff05;border:1px solid var(--border);border-radius:12px;padding:20px;transition:background-color .16s ease}.user-details-subscription-item:hover{background:#ffffff0a}.user-details-subscription-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;gap:16px}.user-details-subscription-header h3{margin:0 0 4px;font-size:18px;display:flex;align-items:center;gap:8px}.user-details-subscription-id{margin:0;font-size:12px;color:var(--muted)}.user-details-subscription-badges{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.user-details-subscription-details{display:flex;flex-direction:column;gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.user-details-detail-row{display:flex;justify-content:space-between;align-items:center;gap:16px}.user-details-detail-label{font-size:13px;color:var(--muted);font-weight:600;min-width:180px}.user-details-detail-row code{background:#ffffff0d;padding:2px 8px;border-radius:4px;font-size:12px;font-family:monospace}.user-details-empty-state-small{text-align:center;padding:40px 20px;color:var(--muted);font-size:14px}.user-details-meals-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.user-details-meal-card{background:#ffffff05;border:1px solid var(--border);border-radius:12px;overflow:hidden;transition:transform .16s ease,box-shadow .16s ease}.user-details-meal-card:hover{transform:translateY(-2px);box-shadow:0 8px 16px #0000004d}.user-details-meal-image-container{position:relative;width:100%;height:200px;background:#ffffff08;overflow:hidden}.user-details-meal-image{width:100%;height:100%;object-fit:cover}.user-details-meal-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:64px;background:#ffffff08}.user-details-meal-placeholder.hidden{display:none}.user-details-meal-info{padding:16px}.user-details-meal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--border)}.user-details-meal-id{font-size:12px;color:var(--muted);font-weight:600}.user-details-meal-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#ef4444;padding:8px 12px;border-radius:8px;font-size:12px;margin-bottom:12px}.user-details-meal-details{display:flex;flex-direction:column;gap:8px}.user-details-meal-detail{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:13px}.user-details-meal-label{color:var(--muted);font-weight:600;min-width:70px}.user-details-meal-actions{margin-top:12px;padding-top:12px;border-top:1px solid var(--border);display:flex;gap:8px;flex-wrap:wrap}.user-details-status-badge.status-pending{background:#fbbf241a;color:#f59e0b;border:1px solid rgba(251,191,36,.3)}.user-details-status-badge.status-in_progress{background:#60a5fa1a;color:#60a5fa;border:1px solid rgba(96,165,250,.3)}.user-details-status-badge.status-analyzing{background:#8b5cf61a;color:#a78bfa;border:1px solid rgba(139,92,246,.3)}.user-details-status-badge.status-processing{background:#3b82f61a;color:#3b82f6;border:1px solid rgba(59,130,246,.3)}.user-details-status-badge.status-processing_nutrition{background:#a855f71a;color:#a855f7;border:1px solid rgba(168,85,247,.3)}.user-details-status-badge.status-completed{background:#10b9811a;color:#10b981;border:1px solid rgba(16,185,129,.3)}.user-details-status-badge.status-failed{background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.3)}@media(max-width:768px){.user-details-page{padding:16px}.user-details-card{padding:20px}.user-details-grid{grid-template-columns:1fr}.user-details-card-header{flex-direction:column;align-items:flex-start;gap:12px}.user-details-subscription-header{flex-direction:column}.user-details-subscription-badges{justify-content:flex-start}.user-details-detail-row{flex-direction:column;align-items:flex-start}.user-details-detail-label{min-width:unset}.user-details-table{font-size:12px}.user-details-table th,.user-details-table td{padding:8px}.user-details-meals-grid{grid-template-columns:1fr}.user-details-meal-image-container{height:180px}}@media(prefers-reduced-motion:reduce){.user-details-root *{transition:none!important}}.meal-details-root{--bg: #131712;--surface: #1F251D;--text: #FFFFFF;--muted: #A5B6A0;--accent: #60A5FA;--accent-contrast: #0B1220;--border: #42513E;min-height:100dvh;background:var(--bg);color:var(--text);text-align:start}.meal-details-topbar{position:sticky;top:0;z-index:10;display:flex;gap:12px;padding:16px;background:linear-gradient(180deg,#131712d9,#13171200);backdrop-filter:blur(4px)}.meal-details-topbar-left{display:flex;align-items:center;gap:16px}.meal-details-topbar-title{margin:0;font-size:20px;color:var(--text)}.meal-details-page{padding:24px;max-width:1400px;margin:0 auto;display:flex;flex-direction:column;gap:24px}.meal-details-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:32px;box-shadow:0 4px 12px #0003}.meal-details-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border)}.meal-details-card-header h2{margin:0;font-size:24px;display:flex;align-items:center;gap:8px}.meal-details-count-badge{padding:6px 12px;background:#60a5fa1a;border:1px solid rgba(96,165,250,.3);border-radius:8px;font-size:14px;color:var(--accent);font-weight:600}.meal-details-header-card{background:linear-gradient(135deg,var(--surface) 0%,rgba(31,37,29,.8) 100%)}.meal-details-header-content{display:flex;gap:32px;align-items:flex-start}.meal-details-image-section{flex-shrink:0;width:300px;height:300px;border-radius:12px;overflow:hidden;border:2px solid var(--border)}.meal-details-image{width:100%;height:100%;object-fit:cover}.meal-details-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:80px;background:#ffffff08}.meal-details-summary{flex:1;display:flex;flex-direction:column;gap:24px}.meal-details-meta{display:flex;justify-content:space-between;align-items:center;gap:16px}.meal-details-id{font-size:18px;font-weight:700;color:var(--text)}.meal-details-status-badge{display:inline-block;padding:6px 14px;border-radius:8px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;transition:all .2s ease}.meal-details-status-badge.status-completed{background:#10b98126;color:#34d399;border:1px solid rgba(16,185,129,.4);box-shadow:0 2px 8px #10b98133}.meal-details-status-badge.status-failed{background:#ef444426;color:#f87171;border:1px solid rgba(239,68,68,.4);box-shadow:0 2px 8px #ef444433}.meal-details-status-badge.status-analyzing,.meal-details-status-badge.status-in_progress,.meal-details-status-badge.status-processing_nutrition{background:#60a5fa26;color:#60a5fa;border:1px solid rgba(96,165,250,.4);box-shadow:0 2px 8px #60a5fa33}.meal-details-nutrition-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.nutrition-item{display:flex;flex-direction:column;gap:8px;padding:16px;background:#ffffff08;border:1px solid var(--border);border-radius:12px;text-align:center}.nutrition-label{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.nutrition-value{font-size:24px;font-weight:700;color:var(--text)}.meal-details-timestamps{display:flex;gap:24px;font-size:14px;color:var(--muted)}.meal-details-timestamps>div{display:flex;gap:8px}.timestamp-label{font-weight:600}.meal-details-error-card{background:#ef44441a;border:1px solid rgba(239,68,68,.3)}.meal-details-error-card h3{margin:0 0 12px;color:#ef4444;font-size:18px}.meal-details-error-card p{margin:0;color:#f87171}.meal-details-warning-card{background:#f59e0b0d;border:1px solid rgba(245,158,11,.3)}.meal-details-warning-card h2{color:#fcd34d}.food-items-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:20px}.food-item-card{background:#ffffff05;border:1px solid var(--border);border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:16px;transition:transform .2s ease,box-shadow .2s ease}.food-item-card:hover{transform:translateY(-2px);box-shadow:0 8px 16px #0000004d}.food-item-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:12px;border-bottom:1px solid var(--border)}.food-item-name{margin:0 0 4px;font-size:18px;font-weight:700;color:var(--text)}.food-item-global-name{margin:0;font-size:14px;color:var(--muted);font-style:italic}.food-item-badges{display:flex;flex-direction:column;gap:6px;align-items:flex-end}.confidence-badge,.source-badge{padding:4px 10px;border-radius:6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.source-badge{background:#8b5cf626;color:#c084fc;border:1px solid rgba(139,92,246,.4)}.food-item-quantity{display:flex;align-items:baseline;gap:8px;padding:12px 16px;background:#60a5fa0d;border:1px solid rgba(96,165,250,.2);border-radius:8px}.quantity-value{font-size:32px;font-weight:700;color:var(--accent)}.quantity-unit{font-size:18px;color:var(--muted);font-weight:600}.food-item-nutrition,.food-item-per100g,.food-item-serving{display:flex;flex-direction:column;gap:12px}.food-item-nutrition h4,.food-item-per100g h4,.food-item-serving h4{margin:0;font-size:14px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.nutrition-details-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.nutrition-detail{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#ffffff05;border-radius:6px}.detail-label{font-size:13px;color:var(--muted);font-weight:600}.detail-value{font-size:14px;color:var(--text);font-weight:700}.food-item-serving p{margin:0;padding:8px 12px;background:#ffffff05;border-radius:6px;color:var(--text)}.food-item-notes{display:flex;flex-direction:column;gap:8px}.food-item-notes h4{margin:0;font-size:14px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.food-item-notes ul{margin:0;padding-left:20px;list-style:disc}.food-item-notes li{font-size:13px;color:var(--text);line-height:1.6;margin-bottom:4px}.info-list{margin:0;padding-left:20px;list-style:disc}.info-list li{font-size:14px;color:var(--text);line-height:1.8;margin-bottom:8px}.meal-details-empty-state-small{text-align:center;padding:40px 20px;color:var(--muted);font-size:14px}@media(max-width:1024px){.meal-details-header-content{flex-direction:column}.meal-details-image-section{width:100%;max-width:400px}.meal-details-nutrition-grid{grid-template-columns:repeat(2,1fr)}.food-items-grid{grid-template-columns:1fr}}@media(max-width:768px){.meal-details-page{padding:16px}.meal-details-card{padding:20px}.meal-details-nutrition-grid{grid-template-columns:1fr}.meal-details-timestamps{flex-direction:column;gap:8px}.nutrition-details-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.meal-details-root *{transition:none!important}}.notfound-root{--bg: #131712;--surface: #1F251D;--text: #FFFFFF;--muted: #A5B6A0;--accent: #60A5FA;--border: #42513E;min-height:100dvh;background:var(--bg);color:var(--text);display:flex;align-items:center;justify-content:center;padding:24px}.notfound-container{max-width:800px;width:100%;display:flex;flex-direction:column;align-items:center;gap:48px;text-align:center}.notfound-content{display:flex;flex-direction:column;align-items:center;gap:24px}.notfound-title{font-size:120px;font-weight:900;margin:0;background:linear-gradient(135deg,var(--accent) 0%,#34D399 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.8}}.notfound-subtitle{font-size:32px;font-weight:700;margin:0;color:var(--text)}.notfound-message{font-size:16px;color:var(--muted);margin:0;max-width:400px;line-height:1.6}.notfound-actions{display:flex;gap:16px;margin-top:16px;flex-wrap:wrap;justify-content:center}.notfound-illustration{width:200px;height:200px;opacity:.8;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.notfound-illustration svg{width:100%;height:100%}@media(max-width:768px){.notfound-title{font-size:80px}.notfound-subtitle{font-size:24px}.notfound-message{font-size:14px}.notfound-actions{flex-direction:column;width:100%}.notfound-actions .btn{width:100%}.notfound-illustration{width:150px;height:150px}}@media(prefers-reduced-motion:reduce){.notfound-title,.notfound-illustration{animation:none}}
