:root{color:#172033;background:#f3f6fb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;line-height:1.5;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input{font:inherit}.page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:32px 16px}.card{width:min(100%,640px);padding:36px;border:1px solid #dce3ef;border-radius:24px;background:#fff;box-shadow:0 24px 60px #15223a1f}.eyebrow{margin:0 0 8px;color:#3867d6;font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}h1{margin:0;color:#111827;font-size:clamp(2rem,5vw,3.25rem);line-height:1.05}.description{margin:16px 0 28px;color:#526073}.upload-form{display:grid;gap:14px}.file-label,.result label{color:#263244;font-weight:700}input[type=text],input[type=password],input[type=file],.result input{width:100%;padding:12px;border:1px solid #cbd5e1;border-radius:12px;background:#f8fafc;color:#172033}label{color:#263244;font-weight:700}.hint{margin:-6px 0 0;color:#64748b;font-size:.92rem}.inline-error{margin:0;color:#b91c1c;font-weight:700}.file-summary{margin:0;color:#526073}button,.open-button{display:inline-flex;align-items:center;justify-content:center;width:fit-content;min-height:44px;padding:0 18px;border:0;border-radius:999px;background:#2563eb;color:#fff;font-weight:800;text-decoration:none;cursor:pointer}button:hover,.open-button:hover{background:#1d4ed8}button:disabled{background:#94a3b8;cursor:not-allowed}.status,.result{margin-top:24px;padding:18px;border-radius:16px}.status-uploading{background:#eff6ff;color:#1e3a8a}.status-success{background:#ecfdf5;color:#065f46}.status-error{background:#fef2f2;color:#991b1b}.status-message{margin:0;font-weight:700}.progress-header{display:flex;justify-content:space-between;gap:12px;margin-bottom:10px;font-weight:700}.progress-track{height:10px;overflow:hidden;border-radius:999px;background:#0f172a1f}.progress-bar{height:100%;border-radius:inherit;background:currentColor;transition:width .2s ease}.result{display:grid;gap:12px;background:#f8fafc;border:1px solid #dce3ef}.result input{background:#fff}.dashboard-page{max-width:1100px;margin:0 auto;padding:32px 16px 48px}.dashboard-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.dashboard-card{width:100%;max-width:none;margin-bottom:24px}.dashboard-card h2{margin:0 0 18px;color:#111827}.secondary-button,.danger-button{min-height:44px;padding:0 18px;border:0;border-radius:999px;font-weight:800;cursor:pointer}.secondary-button{background:#e2e8f0;color:#0f172a}.danger-button{background:#fee2e2;color:#991b1b}.table-wrap{overflow-x:auto}.projects-table{width:100%;border-collapse:collapse}.projects-table th,.projects-table td{padding:12px 10px;border-bottom:1px solid #e2e8f0;text-align:left;vertical-align:top}.projects-table th{color:#475569;font-size:.85rem;text-transform:uppercase;letter-spacing:.04em}.projects-table a{color:#2563eb;word-break:break-all}@media(max-width:520px){.card{padding:24px}button,.open-button,.secondary-button,.danger-button{width:100%}.dashboard-header{flex-direction:column;align-items:flex-start}}
