:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#172033;background:#eef2f7;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#app{min-width:320px;min-height:100vh;margin:0}body{background:#eef2f7}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{border:0;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top left,#dce8ff 0,transparent 34%),#eef2f7}.login-card{width:min(420px,100%);padding:34px;border-radius:28px;background:#ffffffe6;box-shadow:0 30px 80px #24304c29;border:1px solid rgba(255,255,255,.7)}.login-card h2{margin:0 0 8px;font-size:28px}.login-card p{color:#697386}.login-card input{width:100%;height:48px;margin-top:12px;border-radius:16px;border:1px solid #dbe2ef;background:#f8fafc;padding:0 15px;outline:none}.login-card button{width:100%;height:48px;margin-top:18px;border-radius:16px;color:#fff;font-weight:800;background:linear-gradient(135deg,#6c5ce7,#0a84ff)}.error{color:#dc2626!important}.showcase-shell{height:100vh;overflow:hidden;display:grid;grid-template-rows:auto 1fr}.showcase-topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 26px;background:#ffffffdb;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid #e5eaf3}.brand{display:flex;align-items:center;gap:14px}.logo{width:44px;height:44px;border-radius:16px;display:grid;place-items:center;color:#fff;font-weight:900;background:linear-gradient(135deg,#7c3aed,#06b6d4)}.eyebrow{margin:0;color:#7b8498;font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:800}.showcase-topbar h1{margin:2px 0 0;font-size:22px;line-height:1.1}.userbox{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.role-pill{padding:7px 10px;border-radius:999px;background:#edf2ff;color:#5b5bd6;font-size:12px;font-weight:800}.btn{height:38px;padding:0 14px;border-radius:13px;background:#111827;color:#fff;font-weight:800}.btn.secondary{background:#fff;color:#273043;border:1px solid #dfe5ef}.btn.soft{background:#eff6ff;color:#0a67c5}.showcase-content{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;padding:20px;align-items:start}.main-panel{min-width:0;min-height:0;display:flex;flex-direction:column}.toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;margin-bottom:16px}.search-input,.filter-card select,.filter-card input{width:100%;height:44px;border-radius:15px;border:1px solid #dfe5ef;background:#fff;padding:0 14px;color:#172033;outline:none}.search-input:focus,select:focus,input:focus{border-color:#7c8cff;box-shadow:0 0 0 4px #7c8cff21}.stat-chip{display:inline-flex;align-items:center;height:38px;padding:0 14px;border-radius:15px;background:#fff;border:1px solid #e2e8f0;color:#657086;font-weight:800}.cards-scroll{height:calc(100vh - 166px);overflow-y:auto;padding:2px 8px 24px 2px}.cards-scroll::-webkit-scrollbar{width:10px}.cards-scroll::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px;border:3px solid #eef2f7}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;padding-top:10px}.landing-card{min-height:440px;display:flex;flex-direction:column;background:#fff;border:1px solid #e6ebf3;border-radius:20px;overflow:hidden;box-shadow:0 10px 30px #1720330f;transition:transform .18s ease,box-shadow .18s ease,outline-color .18s ease}.landing-card:hover{transform:translateY(-2px);box-shadow:0 18px 44px #1720331c}.landing-card.selected{outline:2px solid #7c8cff;box-shadow:0 0 0 4px #7c8cff26,0 18px 44px #1720331a}.card-head{display:flex;justify-content:space-between;align-items:center;padding:14px 16px 6px;color:#333b4f;font-weight:800;font-size:13px}.select-circle{width:30px;height:30px;border-radius:50%;border:2px solid #0a84ff;display:grid;place-items:center;background:#fff;font-size:14px;font-weight:900;color:transparent;transition:.18s ease}.select-circle.active{background:#0a84ff;border-color:#0a84ff;color:#fff}.new-badge,.warn-badge{padding:4px 8px;border-radius:999px;font-size:11px;font-weight:900}.new-badge{background:#ece9ff;color:#7c55ff}.warn-badge{background:#fff1db;color:#d97706}.card-title{min-height:42px;margin:0;padding:0 16px;font-size:15px;line-height:1.35;color:#0f172a}.card-preview-row{display:grid;grid-template-columns:146px 1fr;gap:14px;padding:14px 16px;align-items:start}.preview-phone{position:relative;width:146px;height:268px;border-radius:16px;background:#f1f5f9;display:grid;place-items:center;overflow:hidden;border:1px solid #e2e8f0;padding:0}.preview-clickable{cursor:zoom-in}.preview-phone img{width:100%;height:100%;object-fit:contain;object-position:top center;background:#f8fafc}.screen-counter{position:absolute;top:8px;right:8px;padding:4px 7px;border-radius:999px;background:#0f172ab8;color:#fff;font-size:11px;font-weight:900}.screen-hint{position:absolute;left:8px;right:8px;bottom:8px;padding:5px 7px;border-radius:999px;background:#ffffffe0;color:#334155;font-size:10px;font-weight:900;text-align:center}.placeholder{color:#8b96aa;font-size:12px;text-align:center;padding:10px}.badges{display:flex;flex-direction:column;gap:9px;min-width:0}.badge{width:fit-content;max-width:100%;display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;background:#f5f6ff;color:#536079;font-size:13px;font-weight:700;overflow:hidden;text-overflow:ellipsis}.badge-icon{min-width:18px;width:18px;height:18px;border-radius:6px;display:grid;place-items:center;background:#fff;color:#0a84ff;font-size:11px;box-shadow:inset 0 0 0 1px #dce4f0}.card-footer{margin-top:auto;display:flex;align-items:center;gap:8px;padding:12px 16px 16px;border-top:1px solid #eef2f7}.link-btn{height:38px;display:inline-flex;align-items:center;justify-content:center;padding:0 14px;border-radius:999px;background:#f8fafc;border:1px solid #e2e8f0;color:#475569;font-weight:800;font-size:12px}.download-btn{margin-left:auto;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,#8b5cf6,#0ea5e9);color:#fff;font-size:22px;font-weight:900;box-shadow:0 10px 22px #0ea5e93d}.sidebar{position:sticky;top:86px;display:flex;flex-direction:column;gap:14px;max-height:calc(100vh - 106px);overflow-y:auto}.filter-card,.event-feed{background:#ffffffeb;border:1px solid #e6ebf3;border-radius:20px;padding:16px;box-shadow:0 10px 30px #1720330f}.filter-card h3,.event-feed h3{margin:0 0 14px;font-size:16px}.filter-card label{display:block;margin:12px 0 6px;color:#707b91;font-size:12px;font-weight:900;text-transform:uppercase}.filter-card .ghost{width:100%;margin-top:14px;height:40px;border-radius:14px;background:#f8fafc;color:#64748b;border:1px solid #e2e8f0;font-weight:800}.event-row{display:flex;gap:8px;padding:9px 0;border-bottom:1px solid #edf2f7;color:#64748b;font-size:12px}.event-row:last-child{border-bottom:0}.event-row.success{color:#15803d}.event-row.error{color:#dc2626}.empty-state{padding:60px 20px;text-align:center;color:#64748b;background:#fff;border-radius:20px;border:1px dashed #cbd5e1}.preview-modal{position:fixed;inset:0;z-index:1100;display:grid;place-items:center;padding:24px;background:#0f172a94;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.preview-dialog{width:min(520px,100%);max-height:calc(100vh - 48px);display:flex;flex-direction:column;overflow:hidden;border-radius:26px;background:#fff;box-shadow:0 30px 90px #0f172a3d}.preview-dialog header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 20px;border-bottom:1px solid #edf2f7}.preview-dialog h3{margin:0}.preview-dialog header button{width:38px;height:38px;border-radius:13px;background:#f8fafc;color:#334155;font-size:24px}.preview-stage{min-height:0;display:grid;place-items:center;padding:18px;overflow:auto;background:#f8fafc;cursor:pointer}.preview-stage img{max-width:100%;max-height:72vh;object-fit:contain;border-radius:14px;box-shadow:0 10px 30px #0f172a1f}.preview-dialog footer{display:flex;justify-content:center;gap:8px;padding:12px;border-top:1px solid #edf2f7}.preview-dialog footer button{width:32px;height:32px;border-radius:999px;background:#eef2ff;color:#536079;font-weight:900}.preview-dialog footer button.active{background:#0a84ff;color:#fff}@media (max-width: 980px){.showcase-shell{height:auto;min-height:100vh;overflow:visible}.showcase-content{grid-template-columns:1fr}.sidebar{position:static;order:-1;max-height:none;overflow:visible}.cards-scroll{height:auto;overflow:visible}.toolbar{grid-template-columns:1fr}}@media (max-width: 560px){.showcase-topbar{align-items:flex-start;flex-direction:column;padding:16px}.showcase-content{padding:12px}.cards-grid{grid-template-columns:1fr}.card-preview-row{grid-template-columns:146px 1fr}}.upload-trigger[data-v-ec7b59ed]{height:38px;padding:0 16px;border:0;border-radius:13px;background:linear-gradient(135deg,#7c3aed,#0ea5e9);color:#fff;font-weight:900;cursor:pointer;box-shadow:0 10px 24px #0ea5e938}.upload-overlay[data-v-ec7b59ed]{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:22px;background:#0f172a85;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.upload-modal[data-v-ec7b59ed]{width:min(820px,100%);max-height:calc(100vh - 44px);overflow:auto;border-radius:26px;border:1px solid rgba(226,232,240,.9);background:#fff;box-shadow:0 30px 90px #0f172a3d}.modal-header[data-v-ec7b59ed]{display:flex;justify-content:space-between;gap:18px;padding:24px 26px 18px;border-bottom:1px solid #edf2f7}.modal-eyebrow[data-v-ec7b59ed]{margin:0 0 5px;color:#7b8498;font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.modal-header h2[data-v-ec7b59ed]{margin:0;color:#0f172a;font-size:24px;line-height:1.15}.modal-header span[data-v-ec7b59ed]{display:block;margin-top:7px;color:#64748b;font-size:14px}.close-btn[data-v-ec7b59ed]{min-width:38px;width:38px;height:38px;border:0;border-radius:13px;background:#f8fafc;color:#334155;font-size:24px;line-height:1;cursor:pointer}.upload-form[data-v-ec7b59ed]{padding:22px 26px 26px}.dropzone[data-v-ec7b59ed]{position:relative;display:grid;place-items:center;min-height:132px;padding:22px;border:1.5px dashed #cbd5e1;border-radius:22px;background:linear-gradient(180deg,#f8fafc,#fff);text-align:center;cursor:pointer;transition:.18s ease}.dropzone[data-v-ec7b59ed]:hover,.dropzone.active[data-v-ec7b59ed]{border-color:#7c8cff;background:#f5f7ff}.dropzone input[data-v-ec7b59ed]{position:absolute;inset:0;opacity:0;cursor:pointer}.dropzone strong[data-v-ec7b59ed]{color:#0f172a;font-size:18px}.dropzone small[data-v-ec7b59ed]{margin-top:8px;color:#64748b}.form-grid[data-v-ec7b59ed]{display:grid;gap:14px;margin-top:16px}.form-grid.two[data-v-ec7b59ed]{grid-template-columns:repeat(2,minmax(0,1fr))}.upload-form label[data-v-ec7b59ed]{display:grid;gap:7px;color:#707b91;font-size:12px;font-weight:900;text-transform:uppercase}.upload-form input[data-v-ec7b59ed],.upload-form select[data-v-ec7b59ed]{width:100%;height:44px;border:1px solid #dfe5ef;border-radius:15px;background:#fff;padding:0 14px;color:#172033;outline:none;font-size:14px;text-transform:none}.upload-form input[data-v-ec7b59ed]:focus,.upload-form select[data-v-ec7b59ed]:focus{border-color:#7c8cff;box-shadow:0 0 0 4px #7c8cff21}.mode-tabs[data-v-ec7b59ed]{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px;padding:4px;border-radius:16px;background:#f1f5f9}.mode-tabs button[data-v-ec7b59ed]{height:38px;border-radius:13px;background:transparent;color:#64748b;font-weight:900}.mode-tabs button.active[data-v-ec7b59ed]{background:#fff;color:#0f172a;box-shadow:0 6px 18px #0f172a14}.shared-box[data-v-ec7b59ed]{margin-top:2px}.service-summary[data-v-ec7b59ed]{display:flex;justify-content:space-between;gap:12px;margin-top:14px;padding:12px 14px;border-radius:16px;background:#f5f7ff;color:#172033;font-weight:900}.service-summary small[data-v-ec7b59ed]{color:#64748b;font-weight:700}.files-list[data-v-ec7b59ed],.progress-list[data-v-ec7b59ed]{display:grid;gap:8px;margin-top:14px}.file-route[data-v-ec7b59ed],.progress-row[data-v-ec7b59ed]{display:grid;gap:8px;padding:10px 12px;border-radius:14px;background:#f8fafc;color:#334155;font-size:13px;border:1px solid transparent}.file-route.resolved[data-v-ec7b59ed]{border-color:#bbf7d0;background:#f0fdf4}.file-route.unresolved[data-v-ec7b59ed]{border-color:#fed7aa;background:#fff7ed}.file-main[data-v-ec7b59ed]{display:flex;justify-content:space-between;gap:12px}.file-main small[data-v-ec7b59ed],.progress-row small[data-v-ec7b59ed]{color:#64748b;white-space:nowrap}.route-pill[data-v-ec7b59ed]{width:fit-content;padding:6px 10px;border-radius:999px;font-weight:900;font-size:12px}.route-pill.success[data-v-ec7b59ed]{background:#dcfce7;color:#047857}.route-resolver[data-v-ec7b59ed]{display:grid;gap:7px}.route-resolver small[data-v-ec7b59ed]{color:#9a3412;font-weight:800}.error-box select[data-v-ec7b59ed]{border-color:#fed7aa}.progress-row.loading[data-v-ec7b59ed]{background:#eff6ff}.progress-row.success[data-v-ec7b59ed]{background:#ecfdf5;color:#047857}.progress-row.error[data-v-ec7b59ed]{background:#fef2f2;color:#b91c1c}.upload-message[data-v-ec7b59ed]{margin:14px 0 0;color:#047857;font-weight:800;font-size:13px}.upload-message.error[data-v-ec7b59ed]{color:#dc2626}.modal-footer[data-v-ec7b59ed]{display:flex;justify-content:flex-end;gap:10px;margin-top:22px;padding-top:18px;border-top:1px solid #edf2f7}.primary-btn[data-v-ec7b59ed],.secondary-btn[data-v-ec7b59ed]{height:42px;padding:0 16px;border:0;border-radius:14px;font-weight:900;cursor:pointer}.primary-btn[data-v-ec7b59ed]{background:#111827;color:#fff}.primary-btn[data-v-ec7b59ed]:disabled{opacity:.5;cursor:not-allowed}.secondary-btn[data-v-ec7b59ed]{background:#f8fafc;color:#475569;border:1px solid #e2e8f0}@media (max-width: 620px){.form-grid.two[data-v-ec7b59ed],.mode-tabs[data-v-ec7b59ed]{grid-template-columns:1fr}.modal-header[data-v-ec7b59ed],.upload-form[data-v-ec7b59ed]{padding-left:18px;padding-right:18px}.service-summary[data-v-ec7b59ed],.file-main[data-v-ec7b59ed]{flex-direction:column}}.login-page[data-v-3861565b]{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top left,#dce8ff 0,transparent 34%),#eef2f7}.login-card[data-v-3861565b]{width:min(440px,100%);display:flex;flex-direction:column;gap:14px;padding:30px;border-radius:28px;background:#fffffff0;box-shadow:0 30px 80px #24304c29;border:1px solid rgba(255,255,255,.7)}.login-brand[data-v-3861565b]{display:flex;align-items:center;gap:14px}.login-logo[data-v-3861565b]{width:46px;height:46px;border-radius:16px;display:grid;place-items:center;color:#fff;font-weight:900;background:linear-gradient(135deg,#7c3aed,#06b6d4)}.login-brand p[data-v-3861565b]{margin:0;color:#7b8498;font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:900}.login-brand h2[data-v-3861565b]{margin:2px 0 0;color:#0f172a}.login-card input[data-v-3861565b]{width:100%;height:46px;border-radius:15px;border:1px solid #dfe5ef;background:#fff;padding:0 14px;outline:none;color:#172033}.login-card input[data-v-3861565b]:focus{border-color:#7c8cff;box-shadow:0 0 0 4px #7c8cff21}.login-card>button[data-v-3861565b]{height:46px;border-radius:15px;border:0;color:#fff;font-weight:900;background:#111827;cursor:pointer}.api-switcher[data-v-3861565b]{display:grid;gap:9px;padding:14px;border-radius:18px;background:#f8fafc;border:1px solid #e2e8f0}.api-switcher label[data-v-3861565b]{color:#64748b;font-size:12px;font-weight:900;text-transform:uppercase}.api-switcher small[data-v-3861565b]{color:#64748b;overflow-wrap:anywhere}.target-grid[data-v-3861565b]{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.target-grid button[data-v-3861565b]{height:36px;border:1px solid #dfe5ef;border-radius:12px;background:#fff;color:#64748b;font-weight:900;cursor:pointer}.target-grid button.active[data-v-3861565b]{background:#111827;color:#fff;border-color:#111827}.error[data-v-3861565b]{color:#dc2626;margin:0;font-weight:800}
