.skel{position:relative;overflow:hidden;background:#ffffff0d}.skel:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);animation:skel-shine 1.4s ease infinite}@keyframes skel-shine{to{transform:translate(100%)}}:root{--accent: #3b82f6;--accent-light: #7cb0ff;--accent-mid: #4f8dff;--accent-rgb: 59, 130, 246;--neon-1: #1d6ff5;--neon-2: #60a5fa;--neon-3: #a9d0ff;--bg: #0b1020;--bg-soft: #11172b;--surface: rgba(255, 255, 255, .045);--surface-2: rgba(255, 255, 255, .07);--surface-border: rgba(255, 255, 255, .08);--text: #eef2fb;--text-dim: #9aa3bd;--text-mute: #6b7392;--danger: #ff5c70;--warn: #ffb443;--ok: #34d99a;--nav-frost-bg: rgba(16, 20, 38, .62);--nav-frost-border: rgba(255, 255, 255, .08);--nav-frost-shadow: 0 14px 40px rgba(0, 0, 0, .5), inset 0 1px 0 rgba(255, 255, 255, .06);--nav-pill-face: rgba(20, 26, 48, .85);--nav-label-idle: #6b6a85;--nav-label-active: var(--accent-light);--radius: 18px;--radius-lg: 24px}html.theme-light{--bg: #eef2fb;--bg-soft: #ffffff;--surface: rgba(10, 20, 50, .04);--surface-2: rgba(10, 20, 50, .06);--surface-border: rgba(10, 20, 50, .1);--text: #0c1326;--text-dim: #54607a;--text-mute: #8a93ab;--nav-frost-bg: rgba(255, 255, 255, .7);--nav-frost-border: rgba(0, 0, 0, .08);--nav-frost-shadow: 0 14px 40px rgba(0, 0, 0, .14), inset 0 1px 0 rgba(255, 255, 255, .7);--nav-pill-face: rgba(255, 255, 255, .9);--nav-label-idle: #8a8a9a;--nav-label-active: var(--accent)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{margin:0;background:radial-gradient(1200px 600px at 80% -10%,rgba(59,130,246,.18),transparent 60%),radial-gradient(900px 500px at -10% 10%,rgba(124,92,255,.12),transparent 55%),var(--bg);background-attachment:fixed;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Roboto,system-ui,sans-serif;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}a{color:var(--accent-light);text-decoration:none}.page{min-height:100%;padding:calc(env(safe-area-inset-top,0px) + 14px) 16px calc(104px + env(safe-area-inset-bottom,0px));max-width:720px;margin:0 auto;animation:page-in .35s ease both}@keyframes page-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.app-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.app-title{font-size:22px;font-weight:800;letter-spacing:-.4px;display:flex;align-items:center;gap:8px}.app-title .logo{width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,var(--neon-1),var(--neon-3));display:grid;place-items:center;font-size:16px;font-weight:900;color:#06122e;box-shadow:0 6px 18px -4px rgba(var(--accent-rgb),.7)}.app-subtitle{color:var(--text-dim);font-size:13px;margin-top:2px}.role-pill{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;background:var(--surface-2);border:1px solid var(--surface-border);font-size:13px;font-weight:600;color:var(--text);cursor:pointer;transition:transform .15s ease,background .2s ease}.role-pill:active{transform:scale(.96)}.role-pill .dot{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px var(--accent)}.card{background:var(--surface);border:1px solid var(--surface-border);border-radius:var(--radius-lg);padding:14px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.card+.card{margin-top:12px}.service-card{display:flex;flex-direction:column;gap:10px;background:var(--surface);border:1px solid var(--surface-border);border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;transition:transform .18s cubic-bezier(.34,1.28,.4,1),border-color .2s ease}.service-card:active{transform:scale(.98);border-color:rgba(var(--accent-rgb),.45)}.service-cover{aspect-ratio:16 / 9;width:100%;object-fit:cover;background:var(--bg-soft);display:grid;place-items:center;color:var(--text-mute);font-size:34px}.service-body{padding:12px 14px 14px;display:flex;flex-direction:column;gap:8px}.service-cat{align-self:flex-start;font-size:11px;font-weight:700;letter-spacing:.3px;padding:4px 9px;border-radius:999px;color:var(--accent-light);background:rgba(var(--accent-rgb),.12);border:1px solid rgba(var(--accent-rgb),.25)}.service-title{font-size:16px;font-weight:700;line-height:1.25}.service-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:2px}.service-price{font-size:17px;font-weight:800;color:var(--text)}.service-price small{color:var(--text-dim);font-weight:600;font-size:12px}.service-stats{display:flex;gap:12px;color:var(--text-dim);font-size:12px}.service-seller{color:var(--text-mute);font-size:12px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width: 420px){.grid{grid-template-columns:1fr}}.chips{display:flex;gap:8px;overflow-x:auto;padding:4px 0 10px;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chip{flex:0 0 auto;padding:9px 14px;border-radius:999px;font-size:13px;font-weight:600;background:var(--surface-2);border:1px solid var(--surface-border);color:var(--text-dim);cursor:pointer;transition:all .18s ease;white-space:nowrap}.chip.active{color:#06122e;background:linear-gradient(135deg,var(--neon-2),var(--neon-3));border-color:transparent;box-shadow:0 6px 16px -6px rgba(var(--accent-rgb),.8)}.chip:active{transform:scale(.95)}.search{position:relative;margin-bottom:12px}.search input{width:100%;padding:13px 14px 13px 42px;border-radius:14px;background:var(--surface-2);border:1px solid var(--surface-border);color:var(--text);font-size:15px}.search .icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);opacity:.5}.field{margin-bottom:14px}.field label{display:block;font-size:13px;font-weight:600;color:var(--text-dim);margin-bottom:7px}.input,.textarea,select.input{width:100%;padding:13px 14px;border-radius:13px;background:var(--surface-2);border:1px solid var(--surface-border);color:var(--text);font-size:15px;font-family:inherit;transition:border-color .2s ease}.input:focus,.textarea:focus,select.input:focus{outline:none;border-color:rgba(var(--accent-rgb),.6)}.textarea{resize:vertical;min-height:110px;line-height:1.45}.field .hint{font-size:12px;color:var(--text-mute);margin-top:6px}.field .err{font-size:12px;color:var(--danger);margin-top:6px}.row{display:flex;gap:12px}.row>*{flex:1}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px 18px;border-radius:15px;border:none;cursor:pointer;font-size:15px;font-weight:700;font-family:inherit;background:linear-gradient(135deg,var(--neon-1),var(--neon-2));color:#fff;box-shadow:0 10px 26px -8px rgba(var(--accent-rgb),.8);transition:transform .15s ease,opacity .2s ease}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;cursor:default;transform:none}.btn.secondary{background:var(--surface-2);color:var(--text);box-shadow:none;border:1px solid var(--surface-border)}.btn.ghost{background:transparent;color:var(--accent-light);box-shadow:none;border:1px solid rgba(var(--accent-rgb),.35)}.btn.danger{background:linear-gradient(135deg,#ff5c70,#ff7a5c);box-shadow:0 10px 26px -8px #ff5c70b3}.btn-sm{padding:10px 14px;font-size:13px;border-radius:12px}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.stat{background:var(--surface);border:1px solid var(--surface-border);border-radius:var(--radius);padding:14px}.stat .v{font-size:24px;font-weight:800;letter-spacing:-.5px}.stat .l{font-size:12px;color:var(--text-dim);margin-top:3px}.stat .v.accent{background:linear-gradient(135deg,var(--neon-2),var(--neon-3));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.status{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px}.status.pending{color:var(--warn);background:#ffb44321}.status.approved{color:var(--ok);background:#34d99a21}.status.rejected{color:var(--danger);background:#ff5c7021}.status.archived{color:var(--text-mute);background:var(--surface-2)}.status.draft{color:var(--text-dim);background:var(--surface-2)}.stars{display:inline-flex;gap:2px}.stars svg{width:15px;height:15px}.stars.lg svg{width:22px;height:22px}.star-on{color:#ffc24b}.star-off{color:#ffffff2e}.star-btn{background:none;border:none;padding:2px;cursor:pointer}.review{display:flex;gap:11px;padding:12px 0;border-top:1px solid var(--surface-border)}.review:first-child{border-top:none}.avatar{width:38px;height:38px;border-radius:50%;object-fit:cover;flex:0 0 auto;background:var(--surface-2);display:grid;place-items:center;font-weight:700;color:var(--accent-light)}.review-name{font-weight:700;font-size:14px}.review-text{color:var(--text-dim);font-size:14px;margin-top:4px;line-height:1.45}.review-date{color:var(--text-mute);font-size:11px;margin-top:4px}.section-title{font-size:15px;font-weight:800;margin:22px 0 12px;display:flex;align-items:center;gap:8px}.muted{color:var(--text-dim)}.note{font-size:13px;color:var(--text-dim);line-height:1.5;background:var(--surface);border:1px solid var(--surface-border);border-radius:14px;padding:12px 14px}.note.warn{border-color:#ffb4434d}.empty-state{text-align:center;padding:56px 20px;color:var(--text-dim)}.empty-state .big{font-size:44px;margin-bottom:10px}.toast{position:fixed;left:50%;bottom:calc(110px + env(safe-area-inset-bottom,0px));transform:translate(-50%);background:#141a30f2;color:var(--text);padding:12px 18px;border-radius:14px;border:1px solid var(--surface-border);font-size:14px;font-weight:600;z-index:100;box-shadow:0 14px 40px #00000080;animation:toast-in .3s ease both}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#04060e99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:80;animation:fade .2s ease both}@keyframes fade{0%{opacity:0}to{opacity:1}}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:81;background:var(--bg-soft);border-top-left-radius:26px;border-top-right-radius:26px;border-top:1px solid var(--surface-border);padding:10px 18px calc(24px + env(safe-area-inset-bottom,0px));max-width:720px;margin:0 auto;animation:sheet-up .32s cubic-bezier(.34,1.28,.4,1) both;max-height:88vh;overflow-y:auto}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:none}}.sheet-grip{width:40px;height:4px;border-radius:4px;background:#ffffff2e;margin:6px auto 16px}.sheet h3{margin:0 0 14px;font-size:18px}.lang-list{display:flex;flex-direction:column;gap:8px}.lang-opt{display:flex;align-items:center;gap:12px;padding:14px;border-radius:14px;background:var(--surface-2);border:1px solid var(--surface-border);cursor:pointer;font-size:15px;font-weight:600}.lang-opt.active{border-color:rgba(var(--accent-rgb),.6);background:rgba(var(--accent-rgb),.1)}.lang-opt .flag{font-size:22px}.divider{height:1px;background:var(--surface-border);margin:16px 0}.spacer{height:8px}.center{text-align:center}.btn-ic{display:inline-flex;align-items:center;justify-content:center;gap:8px}.chip-ic{display:inline-flex;align-items:center;gap:6px}.chip-ic svg{flex:0 0 auto}.note-ic{display:flex;align-items:flex-start;gap:8px}.note-ic svg{flex:0 0 auto;margin-top:1px;color:var(--accent-light)}.ic-accent{color:var(--accent-light)}.cover-placeholder{color:var(--text-mute)}.cover-placeholder svg{opacity:.7}.metric-row .metric{display:inline-flex;align-items:center;gap:5px}.metric svg{flex:0 0 auto;opacity:.85}.lang-opt .flag{display:inline-flex}.cover-upload{width:100%;border-radius:16px;overflow:hidden;position:relative;border:1px dashed var(--surface-border);background:var(--surface-2)}.cover-upload.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:26px 16px;color:var(--text-dim);cursor:pointer;font-weight:600;font-size:14px;transition:border-color .18s ease,background .18s ease}.cover-upload.empty:hover{border-color:rgba(var(--accent-rgb),.5)}.cover-upload.empty svg{color:var(--accent-light)}.cover-upload.empty small{font-weight:500}.cover-upload.empty:disabled{opacity:.6;cursor:default}.cover-upload.has-image{border-style:solid;cursor:pointer;aspect-ratio:16 / 9}.cover-upload.has-image img{width:100%;height:100%;object-fit:cover;display:block}.cover-actions{position:absolute;left:10px;right:10px;bottom:10px;display:flex;gap:8px}.cover-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:12px;background:#080c18b8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.14);color:#fff;font-size:12px;font-weight:600;cursor:pointer}.cover-chip.danger{color:#ff8a98}@property --lg-angle{syntax: "<angle>"; initial-value: 0deg; inherits: false;}.lg-nav{position:fixed;left:0;right:0;bottom:0;z-index:50;padding:0 .7rem calc(1rem + env(safe-area-inset-bottom,0px));pointer-events:none}@media (min-width: 961px){.lg-nav{max-width:720px;left:50%;transform:translate(-50%)}}.lg-nav-bar{pointer-events:auto;position:relative;border-radius:28px;background:var(--nav-frost-bg);-webkit-backdrop-filter:blur(22px) saturate(140%);backdrop-filter:blur(22px) saturate(140%);border:1px solid var(--nav-frost-border);box-shadow:var(--nav-frost-shadow);overflow:hidden}.lg-nav-scroll{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;touch-action:pan-x;scrollbar-width:none;scroll-behavior:smooth}.lg-nav-scroll::-webkit-scrollbar{display:none}.lg-nav-track{position:relative;display:flex;align-items:stretch;min-width:100%;padding:7px;gap:2px}.lg-nav-pill{position:absolute;top:0;left:0;width:0;height:0;border-radius:20px;z-index:0;pointer-events:none;opacity:0;background:conic-gradient(from var(--lg-angle),rgba(var(--accent-rgb),.18) 0deg,rgba(var(--accent-rgb),.18) 200deg,var(--neon-1) 270deg,var(--neon-3) 320deg,var(--neon-2) 345deg,rgba(var(--accent-rgb),.18) 360deg);animation:lg-pill-spin 2.6s linear infinite;transition:transform .45s cubic-bezier(.34,1.28,.4,1),width .45s cubic-bezier(.34,1.28,.4,1),height .45s cubic-bezier(.34,1.28,.4,1),opacity .25s ease;box-shadow:0 0 18px -2px rgba(var(--accent-rgb),.5)}.lg-nav-pill.is-ready{opacity:1}.lg-nav-pill:after{content:"";position:absolute;top:1.8px;right:1.8px;bottom:1.8px;left:1.8px;border-radius:18.2px;background:var(--nav-pill-face);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}@keyframes lg-pill-spin{to{--lg-angle: 360deg}}.lg-nav-tab{position:relative;z-index:1;flex:1 0 auto;min-width:66px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:9px 14px;background:none;border:none;cursor:pointer;color:var(--nav-label-idle);-webkit-tap-highlight-color:transparent;transition:color .3s ease}.lg-nav-tab.is-active{color:var(--nav-label-active)}.lg-nav-tab svg{display:block}.lg-nav-icon{display:flex;transform-origin:center}.lg-nav-label{font-size:11px;font-weight:600;line-height:1;white-space:nowrap;letter-spacing:.2px}.lg-nav-icon.anim-home{animation:ic-home .6s ease both}.lg-nav-icon.anim-history{animation:ic-clock .6s ease both}.lg-nav-icon.anim-stats{animation:ic-bars .6s ease both}.lg-nav-icon.anim-profile{animation:ic-twirl .6s ease both}.lg-nav-icon.anim-grid{animation:ic-grid .6s ease both}.lg-nav-icon.anim-bag{animation:ic-bag .6s ease both}@keyframes ic-home{0%{transform:translateY(0) scale(1)}30%{transform:translateY(-4px) scale(1.08)}55%{transform:translateY(1px) scale(.96)}75%{transform:translateY(-1px) scale(1.02)}to{transform:translateY(0) scale(1)}}@keyframes ic-clock{0%{transform:rotate(0)}25%{transform:rotate(-14deg)}55%{transform:rotate(11deg)}80%{transform:rotate(-5deg)}to{transform:rotate(0)}}@keyframes ic-bars{0%{transform:scaleY(.55);transform-origin:bottom}45%{transform:scaleY(1.12);transform-origin:bottom}70%{transform:scaleY(.94);transform-origin:bottom}to{transform:scaleY(1);transform-origin:bottom}}@keyframes ic-twirl{0%{transform:rotateY(0) scale(1)}50%{transform:rotateY(180deg) scale(1.1)}to{transform:rotateY(360deg) scale(1)}}@keyframes ic-grid{0%{transform:scale(1) rotate(0)}40%{transform:scale(1.14) rotate(8deg)}70%{transform:scale(.96) rotate(-4deg)}to{transform:scale(1) rotate(0)}}@keyframes ic-bag{0%{transform:translateY(0) scale(1)}35%{transform:translateY(-3px) scale(1.1)}60%{transform:translateY(1px) scale(.95)}to{transform:translateY(0) scale(1)}}
