:root{--primary: #0f1b27;--accent: #2f8f46;--bg: #f2f2f2;--panel: #ffffff;--muted: #5f6b75;font-family:Inter,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#0d0d0d}button,input,select,textarea{font:inherit}a{text-decoration:none;color:#0d0d0d}.container{max-width:1240px;margin:0 auto;padding:0 24px}.topbar{background:#fff;border-bottom:1px solid #d9d9d9}.topbar-inner{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand-group{display:flex;align-items:center;gap:16px}.brand-logo{width:240px;max-width:45vw;height:auto;display:block;border-radius:10px}.brand-title{font-size:20px;font-weight:700;color:var(--primary)}.brand-subtitle,.helper-text,.package-text,.job-id,.not-ready{color:var(--muted)}.main-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;padding:24px}.card{background:var(--panel);border-radius:28px;padding:24px;border:1px solid #d9d9d9;margin-bottom:24px}.card-header{display:flex;justify-content:space-between;gap:16px;margin-bottom:20px}.card-header.compact{align-items:center}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.field{margin-bottom:20px}.field label{display:block;margin-bottom:8px;font-weight:600}.field input,.field select,.field textarea{width:100%;border:1px solid #cfcfcf;border-radius:18px;padding:14px 16px}.field textarea{min-height:120px;resize:vertical}.dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:160px;border:1px dashed #bfbfbf;border-radius:24px;background:#f8f8f8;text-align:center;padding:24px;cursor:pointer}.dropzone input{display:none}.dropzone-button,.ghost-button,.secondary-button,.primary-button,.mini-button{border-radius:14px;padding:10px 14px;border:1px solid #c9c9c9;background:#fff;cursor:pointer}.primary-button{background:var(--primary);color:#fff;border-color:var(--primary)}.form-footer{padding-top:20px;border-top:1px solid #e3e3e3;display:flex;align-items:center;justify-content:space-between;gap:16px}.button-row,.download-links,.topbar-actions{display:flex;gap:12px;align-items:center}.table-wrap{overflow-x:auto;border:1px solid #e3e3e3;border-radius:20px}table{width:100%;border-collapse:collapse;min-width:720px}th,td{padding:14px 16px;border-bottom:1px solid #e2e2e2;vertical-align:top;text-align:left}thead{background:#f7f7f7}.job-property{font-weight:600}.status-badge{display:inline-block;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700}.status-completed{background:#e8f3ea;color:#1f5f31}.status-processing{background:#f1ece8;color:#7b5c4f}.status-uploaded{background:#ececec;color:#4b5563}.status-failed{background:#fde8e8;color:#9f3030}.message-box{margin-top:14px;padding:12px 14px;border:1px solid #d9d9d9;border-radius:16px;background:#f8f8f8}.pill{border-radius:999px;padding:8px 12px;font-size:13px;font-weight:600}.pill.muted{border:1px solid #d9d9d9;background:#f8f8f8;color:#475569}.pill.warning{background:#f1ece8;color:#6a4f4f;border:1px solid #dccfc7}.footer{border-top:1px solid #d9d9d9;background:#fff}.footer-inner{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--muted);font-size:14px}.package-card{border:1px solid #e3e3e3;border-radius:20px;padding:16px}.package-title{font-weight:700;margin-bottom:6px}@media (max-width: 980px){.main-grid,.form-grid{grid-template-columns:1fr}.topbar-inner,.form-footer,.footer-inner{flex-direction:column;align-items:flex-start}}
