@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Space+Grotesk:wght@500;600;700&display=swap');
:root{color-scheme:dark;--bg:#120a1d;--surface:#1d122b;--surface-2:#291a3b;--line:#3d2855;--violet:#a855f7;--lavender:#c4b5fd;--text:#f7f2ff;--muted:#b7a9c7;--green:#8b5cf6;--danger:#f87171}
*{box-sizing:border-box}html{min-height:100%;background:var(--bg)}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 20% 0%,#32194d 0,transparent 40%),var(--bg);color:var(--text);font:16px/1.5 Inter,Arial,sans-serif}a{color:var(--lavender)}a:hover{color:#fff;text-decoration:none}button,input,select,textarea{font:inherit}.brand{display:flex;align-items:center;gap:12px;color:white;font:700 1.1rem 'Space Grotesk',sans-serif;letter-spacing:.04em}.brand:hover{color:white}.brand b{color:var(--lavender)}.brand small{display:block;font:600 .62rem Inter,sans-serif;letter-spacing:.22em;color:var(--muted)}.brand-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:linear-gradient(140deg,#c084fc,#7c3aed);font:700 1.25rem 'Space Grotesk',sans-serif;box-shadow:0 0 24px #a855f755}.site-header,.panel-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px max(22px,calc((100vw - 1180px)/2));border-bottom:1px solid var(--line);background:#160d24ee;backdrop-filter:blur(16px)}.panel-header{position:sticky;top:0;z-index:5;padding:14px 4vw}.site-nav,.panel-nav{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.site-nav a,.panel-nav a{padding:9px 13px;border-radius:10px;color:var(--muted);font-weight:600}.site-nav a:hover,.panel-nav a:hover{background:var(--surface-2);color:white}.panel-nav .nav-exit{color:#fca5a5}.store-wrap{max-width:1180px;margin:auto;padding:44px 22px 80px}.hero{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:16px 0 48px;padding:38px;border:1px solid #613b82;border-radius:26px;background:linear-gradient(125deg,#2b1740,#1a1026 75%);box-shadow:0 18px 65px #0005}.eyebrow,.panel-welcome span{font-size:.72rem;font-weight:800;letter-spacing:.18em;color:var(--lavender)}h1,h2,h3{font-family:'Space Grotesk',Inter,sans-serif;line-height:1.12;margin:.35em 0}h1{font-size:clamp(2.5rem,7vw,4.5rem);max-width:720px}h1 em{font-style:normal;color:var(--lavender)}.hero p,.subtle{color:var(--muted)}.catalog-head,.section-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:22px}.app-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}.app-card,.panel-card,.login-card{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:linear-gradient(155deg,#251735,#1a1025);box-shadow:0 12px 32px #0003}.app-cover{height:180px;background:#26173a;overflow:hidden}.app-cover img{width:100%;height:100%;object-fit:cover}.app-content{padding:18px}.app-content h3{font-size:1.25rem}.app-desc{min-height:42px;color:var(--muted);font-size:.92rem}.app-meta{font-size:.8rem;color:var(--muted);margin:14px 0}.button,.btn-primary,.btn-info,.btn-success{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 16px;border:1px solid transparent;border-radius:11px;background:linear-gradient(135deg,#b56cf7,#7c3aed);color:white!important;font-weight:700;text-align:center;cursor:pointer;transition:transform .15s,filter .15s}.button:hover,.btn-primary:hover,.btn-info:hover,.btn-success:hover{filter:brightness(1.12);transform:translateY(-1px)}.button.block{width:100%}.button.secondary{background:var(--surface-2);border-color:var(--line)}.panel-main{max-width:1200px;margin:0 auto;padding:26px 22px 70px}.panel-welcome{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:8px 0 22px;color:var(--muted)}.panel-card{padding:24px;margin:18px 0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field{display:flex;flex-direction:column;gap:7px;margin:10px 0;color:var(--muted);font-size:.92rem;font-weight:600}.field input,.field select,.field textarea,.login-card input{width:100%;padding:12px 13px;border:1px solid var(--line);border-radius:10px;background:#150d20;color:var(--text);outline:none}.field input:focus,.field select:focus,.field textarea:focus,.login-card input:focus{border-color:var(--violet);box-shadow:0 0 0 3px #a855f72b}.file-box{padding:14px;border:1px dashed #8051a8;border-radius:12px;background:#20132d}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:620px}.data-table th,.data-table td{padding:12px;text-align:left;border-bottom:1px solid var(--line);vertical-align:middle}.data-table th{color:var(--lavender);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}.status{display:inline-block;padding:4px 9px;border-radius:999px;background:#573180;color:#e9d5ff;font-size:.75rem;font-weight:700}.notice{padding:12px 14px;border:1px solid #725295;border-radius:11px;background:#271a38;color:var(--lavender)}.notice.error{border-color:#994c62;background:#391928;color:#fecdd3}.notice.success{border-color:#6548a0;background:#26163a;color:#ddd6fe}.login-screen{display:grid;place-items:center;min-height:100vh;padding:22px}.login-card{width:min(440px,100%);padding:30px}.login-card h1{font-size:2rem}.login-card form{display:grid;gap:14px;margin-top:24px}.store-footer{text-align:center;padding:26px;color:var(--muted);border-top:1px solid var(--line)}.empty-state{text-align:center;padding:55px 20px;border:1px dashed var(--line);border-radius:18px;color:var(--muted)}.admin-actions{display:flex;gap:8px;flex-wrap:wrap}.small{font-size:.82rem;color:var(--muted)}@media(max-width:720px){.site-header,.panel-header{align-items:flex-start;flex-direction:column;padding:15px 18px}.site-nav,.panel-nav{width:100%;gap:4px}.site-nav a,.panel-nav a{padding:8px 9px;font-size:.88rem}.hero{padding:25px 20px;margin-bottom:32px}.catalog-head,.section-head,.panel-welcome{align-items:flex-start;flex-direction:column}.form-grid{grid-template-columns:1fr}.panel-main{padding:18px 14px 48px}.panel-card{padding:17px}.data-table{font-size:.85rem}.app-grid{grid-template-columns:1fr}.store-wrap{padding:24px 15px 55px}}

.upload-progress-panel{margin:20px 0;padding:16px;border:1px solid #69418a;border-radius:14px;background:#21132f}.upload-progress-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;color:#f7f2ff}.upload-progress-heading span{color:#d8b4fe;font-weight:800;font-variant-numeric:tabular-nums}.upload-progress-panel progress{display:block;width:100%;height:14px;margin:12px 0 8px;overflow:hidden;border:0;border-radius:999px;background:#342344;accent-color:#a855f7}.upload-progress-panel progress::-webkit-progress-bar{border-radius:999px;background:#342344}.upload-progress-panel progress::-webkit-progress-value{border-radius:999px;background:linear-gradient(90deg,#7c3aed,#c084fc);transition:width .15s ease}.upload-progress-panel progress::-moz-progress-bar{border-radius:999px;background:linear-gradient(90deg,#7c3aed,#c084fc)}.upload-progress-panel.upload-progress-error{border-color:#f87171;background:#341827}.upload-progress-panel.upload-progress-error .upload-progress-heading span{color:#fecdd3}#app-upload-form button:disabled{opacity:.72;cursor:wait;transform:none}

.store-logo-icon{display:block!important;width:28px!important;height:28px!important;min-width:28px!important;max-width:28px!important;min-height:28px!important;max-height:28px!important;flex:0 0 28px;object-fit:contain;border-radius:4px}.brand-name{display:block;max-width:min(58vw,360px);overflow-wrap:anywhere;line-height:1.1;font-size:1rem}.brand-name small{margin-top:3px}.brand-icon{width:32px;height:32px;border-radius:10px;font-size:1rem}.hero{min-height:0;padding:28px;margin:16px 0 36px}.hero h1{font-size:clamp(1.8rem,4.5vw,3.1rem);max-width:720px}.branding-empty{color:var(--muted);font-size:.82rem}.row-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:150px}.row-actions form{margin:0}.row-actions .button{white-space:nowrap}@media(max-width:720px){.hero{padding:21px 17px;margin-bottom:28px}.hero h1{font-size:clamp(1.65rem,8vw,2.4rem)}.brand-name{max-width:72vw}.row-actions{min-width:120px}}
