.virelo-app{--v-navy:#081a3b;--v-purple:#7c3aed;--v-blue:#2563eb;--v-teal:#06b6d4;--v-line:#e8ecf5;--v-muted:#64748b;font-family:inherit;max-width:1120px;margin:28px auto;padding:0 18px;color:var(--v-navy)}
.virelo-app *{box-sizing:border-box}.virelo-app h2,.virelo-app h3{color:var(--v-navy)}
.vapp-hero{padding:28px;border:1px solid var(--v-line);border-radius:24px;background:linear-gradient(135deg,#faf7ff 0%,#f5fbff 55%,#f3fffd 100%);margin-bottom:22px}.vapp-hero h2{margin:0 0 8px;font-size:clamp(28px,5vw,44px)}.vapp-hero p{margin:0;color:var(--v-muted);font-size:16px}
.vapp-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.vapp-card{grid-column:span 12;background:#fff;border:1px solid var(--v-line);border-radius:20px;padding:20px;box-shadow:0 10px 30px rgba(8,26,59,.05)}
@media(min-width:800px){.vapp-card.half{grid-column:span 6}.vapp-card.third{grid-column:span 4}}
.vapp-drop{border:2px dashed #cbd5e1;border-radius:18px;padding:30px;text-align:center;background:#fbfdff;transition:.2s}.vapp-drop.drag{border-color:var(--v-purple);background:#faf5ff}.vapp-drop input{max-width:100%}
.vapp-btn{appearance:none;border:0;border-radius:12px;padding:12px 18px;background:linear-gradient(90deg,var(--v-purple),var(--v-blue),var(--v-teal));color:#fff!important;font-weight:700;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:8px}.vapp-btn.secondary{background:#eef2ff;color:var(--v-navy)!important}.vapp-btn.ghost{background:#fff;color:var(--v-navy)!important;border:1px solid var(--v-line)}.vapp-btn:disabled{opacity:.45;cursor:not-allowed}
.vapp-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.vapp-input,.vapp-textarea,.vapp-select{width:100%;border:1px solid #dbe2ee;border-radius:12px;padding:11px 12px;font:inherit;background:#fff;color:var(--v-navy)}.vapp-textarea{min-height:160px;resize:vertical}.vapp-label{display:block;font-weight:700;margin:0 0 7px}.vapp-help{font-size:13px;color:var(--v-muted);margin-top:6px}.vapp-status{margin-top:14px;padding:12px 14px;border-radius:12px;background:#f8fafc;color:#475569}.vapp-status.ok{background:#ecfdf5;color:#047857}.vapp-status.err{background:#fff1f2;color:#be123c}
.vapp-file-list{display:grid;gap:10px;margin-top:16px}.vapp-file{display:flex;align-items:center;gap:12px;border:1px solid var(--v-line);border-radius:14px;padding:12px;background:#fff}.vapp-file .meta{flex:1;min-width:0}.vapp-file strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vapp-file small{color:var(--v-muted)}.vapp-file button{border:0;background:#f1f5f9;border-radius:9px;padding:8px;cursor:pointer}.vapp-file.dragging{opacity:.55}
.vapp-table-wrap{overflow:auto}.vapp-table{width:100%;border-collapse:collapse;min-width:680px}.vapp-table th,.vapp-table td{border-bottom:1px solid var(--v-line);text-align:left;padding:11px 10px;vertical-align:top}.vapp-table th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#64748b}.vapp-pill{display:inline-block;border-radius:999px;padding:5px 9px;background:#eef2ff;color:#4338ca;font-size:12px;font-weight:700}.vapp-kpi{font-size:30px;font-weight:800}.vapp-muted{color:var(--v-muted)}
.vapp-progress{height:8px;border-radius:999px;background:#eef2f7;overflow:hidden;margin-top:12px}.vapp-progress>span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--v-purple),var(--v-teal));transition:width .25s}
.vapp-note{padding:12px 14px;border-left:4px solid var(--v-blue);background:#eff6ff;border-radius:8px;color:#1e3a8a;font-size:14px}.vapp-private{display:flex;gap:8px;align-items:center;color:#047857;font-size:13px;margin-top:10px}
@media(max-width:640px){.vapp-hero{padding:20px}.vapp-card{padding:15px}.vapp-actions .vapp-btn{width:100%;justify-content:center}}
.vapp-result{margin-top:12px}.vapp-result h3{font-size:24px;margin:0 0 14px}.vapp-result h4{margin:18px 0 8px}.vapp-result ul{padding-left:20px}.vapp-result li{margin:8px 0;line-height:1.5}.vapp-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin:14px 0}.vapp-summary-grid>div{border:1px solid var(--v-line);border-radius:16px;padding:14px;background:#fbfdff}.vapp-summary-grid .vapp-kpi{font-size:21px;margin-top:8px;word-break:break-word}
