@import"https://fonts.googleapis.com/css2?family=Fraunces:wght@400;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap";:root{color-scheme:light;--ink: #0b1220;--ink-soft: #1e293b;--muted: #64748b;--surface: #ffffff;--surface-alt: #f1f5f9;--accent: #0ea5a4;--accent-strong: #0891b2;--accent-warm: #f59e0b;--danger: #ef4444;--border: rgba(15, 23, 42, .12);--shadow: 0 18px 40px rgba(15, 23, 42, .12);--radius-lg: 28px;--radius-md: 18px;--radius-sm: 12px;--pad-lg: 24px;--pad-md: 18px;--pad-sm: 12px}*{box-sizing:border-box}body{margin:0;font-family:Space Grotesk,Segoe UI,sans-serif;color:var(--ink);background:radial-gradient(circle at top,#e2f5f4,#f8fafc 45%,#fef9f0);min-height:100vh}body:before,body:after{content:"";position:fixed;width:220px;height:220px;border-radius:50%;z-index:-1;filter:blur(0px)}body:before{top:-60px;right:-40px;background:radial-gradient(circle,rgba(14,165,164,.25),transparent 70%)}body:after{bottom:-80px;left:-30px;background:radial-gradient(circle,rgba(245,158,11,.2),transparent 70%)}.app-shell{max-width:960px;margin:0 auto;padding:28px 18px 40px;display:flex;flex-direction:column;gap:18px}.hero{background:linear-gradient(135deg,#0f172af2,#0f172acc);color:#f8fafc;padding:28px;border-radius:var(--radius-lg);box-shadow:var(--shadow);position:relative;overflow:hidden}.hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(14,165,164,.25),transparent 60%);opacity:.7}.hero *{position:relative;z-index:1}.hero h1{font-family:Fraunces,serif;font-size:clamp(2rem,4vw,2.8rem);margin:12px 0 8px}.hero p{margin:0;color:#f8fafccc;max-width:520px;line-height:1.5}.hero-top{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.status-pill,.date-pill{padding:6px 12px;border-radius:999px;font-size:.85rem;letter-spacing:.02em;font-weight:600}.status-pill.online{background:#0ea5a440;color:#c7fffb}.status-pill.offline{background:#ef444433;color:#ffd1d1}.date-pill{background:#ffffff1f}.card{background:var(--surface);border-radius:var(--radius-md);padding:var(--pad-lg);box-shadow:var(--shadow);border:1px solid var(--border);animation:fadeUp .6s ease both}.card h2,.card h3{margin:0 0 8px}.card p{margin:0;color:var(--muted)}.upload-card{display:flex;flex-direction:column;gap:16px}.upload-actions{display:flex;gap:12px;flex-wrap:wrap}.file-button{background:var(--accent);color:#fff;padding:12px 18px;border-radius:12px;font-weight:600;cursor:pointer;min-height:48px;display:inline-flex;align-items:center;justify-content:center}.file-button input{display:none}.select{min-height:48px;border-radius:12px;border:1px solid var(--border);padding:8px 12px;font-weight:600;color:var(--ink-soft)}.progress{display:grid;gap:8px}.progress-bar{height:10px;background:var(--surface-alt);border-radius:999px;overflow:hidden}.progress-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-strong));border-radius:999px;transition:width .3s ease}.progress-label{color:var(--muted);font-size:.9rem}.error-banner{padding:10px 14px;border-radius:12px;background:#ef44441f;color:var(--danger);font-weight:600}.ticket-list{display:grid;gap:12px}.ticket-chips{display:flex;gap:10px;flex-wrap:wrap}.chip{border:1px solid var(--border);background:var(--surface-alt);padding:8px 14px;border-radius:999px;font-weight:600;cursor:pointer;min-height:40px}.chip.active{background:var(--accent);color:#fff;border-color:transparent}.ticket-meta{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;color:var(--muted)}.ghost{background:transparent;border:1px solid var(--border);padding:8px 14px;border-radius:12px;cursor:pointer;font-weight:600}.ghost:disabled{opacity:.5;cursor:not-allowed}.spotlight{background:linear-gradient(130deg,#f8fafc,#eff6ff);border:1px solid rgba(14,165,164,.2)}.spotlight-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.spotlight-header p{color:var(--muted)}.spotlight-grid{margin-top:16px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.spotlight-block{padding:12px;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border)}.spotlight-block span{color:var(--muted);font-size:.85rem}.spotlight-block strong{font-size:1.1rem}.spotlight-note{margin-top:12px;padding:10px 12px;border-radius:12px;background:#0f172a0a;color:var(--ink-soft);font-weight:600}.section-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:12px}.timeline .segment-list{display:grid;gap:10px}.segment{border-radius:16px;border:1px solid var(--border);background:var(--surface-alt);padding:12px 14px;text-align:left;display:flex;justify-content:space-between;align-items:center;gap:12px;cursor:pointer}.segment.active{background:#0ea5a41f;border-color:#0ea5a466}.segment-route{font-size:.85rem;color:var(--muted)}.segment-tag{padding:4px 10px;border-radius:999px;font-size:.75rem;background:#e2e8f0;color:var(--ink-soft);font-weight:700}.segment-tag.ongoing{background:#0ea5a433;color:#0f766e}.segment-tag.upcoming{background:#f59e0b33;color:#b45309}.segment-tag.completed{background:#64748b26;color:#475569}.pdf-card{padding-bottom:28px}.pdf-preview{margin-top:12px;display:grid;gap:8px}.pdf-preview canvas{width:100%;border-radius:16px;border:1px solid var(--border);background:#fff}.pdf-status{font-size:.9rem;color:var(--muted)}.pdf-status.error{color:var(--danger)}.footer{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:.9rem;padding:8px 4px 20px}.footer strong{color:var(--ink-soft)}.footer-meta{display:flex;gap:12px;flex-wrap:wrap}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (min-width: 720px){.app-shell{padding:40px 24px 60px}.upload-card{flex-direction:row;justify-content:space-between;align-items:center}.hero{padding:34px}}.pdf-preview{position:relative;transition:all .3s ease}.fullscreen-mode{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000;width:100vw;height:100vh;background:#000000e6;padding:10px;display:flex;align-items:center;justify-content:center;overflow:auto}.fullscreen-mode canvas{width:100%!important;max-width:100%;height:auto!important;max-height:100vh;object-fit:contain;border-radius:4px}.fullscreen-hint{position:absolute;bottom:12px;right:12px;background:#0009;color:#fff;padding:6px 12px;border-radius:20px;font-size:.8rem;pointer-events:none;opacity:.8}
