:root{--navy:#172033;--blue:#244766;--gold:#b6893f;--bg:#f5f6f8;--txt:#172033;--muted:#5f6b7a;--line:#dde3ea;--panel:#fff}*{box-sizing:border-box}body{margin:0;font-family:system-ui,Segoe UI,Arial;background:var(--bg);color:var(--txt);line-height:1.45}header{background:var(--navy);color:white;padding:18px 32px;display:flex;gap:24px;align-items:center}.brand{font-size:26px;font-weight:800;color:white;text-decoration:none;letter-spacing:0}.user-nav{margin-left:auto;display:flex;gap:14px;align-items:center;font-weight:700}.user-nav a{color:white;text-decoration:none;border:1px solid rgba(255,255,255,.35);border-radius:8px;padding:8px 12px}main{max-width:1180px;margin:0 auto;padding:28px}footer{background:var(--navy);color:white;padding:18px 32px;margin-top:40px}.hero,.card,.tile,.doc{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:22px;margin-bottom:18px}.hero{background:var(--panel);color:var(--txt)}button,.button{background:var(--blue);color:white;border:0;border-radius:8px;padding:11px 16px;text-decoration:none;display:inline-block;font-weight:700;cursor:pointer}.button.secondary{background:#eef2f6;color:var(--txt);border:1px solid var(--line)}.case-back{display:flex;justify-content:flex-end;width:100%;margin-bottom:18px}.case-back-row{text-align:right;width:100%;margin-bottom:18px}.login-panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;max-width:440px;margin:40px auto;padding:26px}.source-preview-link{display:block;position:relative;color:inherit;text-decoration:none}.source-preview-frame{width:100%;height:70vh;min-height:520px;border:1px solid var(--line);border-radius:8px;background:#f8fafc;pointer-events:none}.source-preview-overlay{position:absolute;inset:0;display:flex;align-items:flex-start;justify-content:flex-end;padding:14px;background:linear-gradient(180deg,rgba(23,32,51,.18),rgba(23,32,51,0) 34%);border-radius:8px}.source-preview-overlay span{background:var(--blue);color:white;border-radius:8px;padding:10px 14px;font-weight:800}.source-preview-image{display:block;max-width:100%;max-height:75vh;border:1px solid var(--line);border-radius:8px;background:#f8fafc}.source-preview-text{max-height:70vh}.ocr-summary{margin:0 0 12px}input,textarea,select{width:100%;padding:12px;border:1px solid #cbd4df;border-radius:8px;margin:8px 0;background:white}textarea{min-height:90px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}.tile,.doc{display:block;text-decoration:none;color:inherit}.tile small,.doc small{display:block;color:var(--muted);margin-top:6px}.columns{display:grid;grid-template-columns:1fr 1fr;gap:22px}.modules{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin:20px 0}.modules span{background:#eef2f6;color:var(--txt);border:1px solid var(--line);border-radius:8px;padding:12px;text-align:center;font-weight:700}pre{white-space:pre-wrap;max-height:520px;overflow:auto;background:#f0f3f7;padding:16px;border-radius:8px}dl{display:grid;grid-template-columns:minmax(150px,220px) 1fr;gap:8px 14px}dt{font-weight:700;color:#334}dd{margin:0;overflow-wrap:anywhere}

.alert{padding:12px 14px;border-radius:12px;margin:14px 0;font-weight:700}.alert.error{background:#ffe8e8;color:#7a1111}.alert.ok{background:#e7f7ec;color:#155b2a}

.case-header{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:24px;margin-bottom:18px;display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.case-header h1{margin:0 0 8px}.case-header p{margin:0;color:var(--muted);max-width:760px}.status-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.status-card{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:18px}.status-card small{display:block;color:var(--muted);font-weight:700;margin-bottom:8px}.status-card b{font-size:24px}.tabs{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:8px;display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.tabs a{color:var(--txt);text-decoration:none;padding:10px 12px;border-radius:6px;font-weight:700}.tabs a:hover{background:#eef2f6}.action-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.action-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:8px}.action-row form{margin:0}.inline-form{margin:10px 0 0}.notice{border:1px solid #d8c28d;background:#fff9e8;border-radius:8px;padding:16px;margin-top:16px}.notice h3{margin-top:0}.empty{background:#f8fafc;border:1px dashed #cbd4df;border-radius:8px;color:var(--muted);padding:18px}.diagnostics summary{cursor:pointer;font-weight:800}.doc-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.job{border:1px solid #e0e6ef;border-radius:8px;padding:12px;margin:10px 0}.job small{display:block;color:#667;margin-top:4px}.muted{color:var(--muted)}.hidden-file{position:absolute;inline-size:1px;block-size:1px;opacity:0;pointer-events:none}.drop-zone{border:2px dashed #b7c2ce;border-radius:8px;background:#f8fafc;padding:30px;text-align:center;margin-bottom:16px}.drop-zone.drag-over{border-color:var(--blue);background:#edf4fa}.summary-grid{background:#f8fafc;border:1px solid var(--line);border-radius:8px;padding:14px;margin:14px 0}.progress-wrap{height:28px;background:#e7edf4;border-radius:8px;overflow:hidden;margin:12px 0}.progress-bar{height:100%;min-width:42px;background:var(--blue);color:white;font-weight:800;text-align:center;line-height:28px;transition:width .15s ease}.progress-list{display:grid;gap:12px}.progress-row{display:grid;grid-template-columns:150px 1fr;gap:14px;align-items:center}.progress-row .progress-wrap{margin:0}

table{width:100%;border-collapse:collapse;background:white;border-radius:12px;overflow:hidden;margin:14px 0}th,td{padding:10px;border-bottom:1px solid #e5ebf3;text-align:left;vertical-align:top}th{background:#eef3f8}.modules a.button{text-align:center}

@media(max-width:900px){.status-grid{grid-template-columns:repeat(2,1fr)}.case-header{display:block}.case-header form{margin-top:16px}}
@media(max-width:800px){.columns{grid-template-columns:1fr}main{padding:14px}dl{grid-template-columns:1fr}}
@media(max-width:560px){.status-grid{grid-template-columns:1fr}.tabs a,.button,button{width:100%;text-align:center}}

.hidden{display:none!important}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid label{display:block}.wizard-steps{list-style:none;padding:0;margin:16px 0 22px;display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.wizard-steps li{border:1px solid var(--line);border-radius:8px;background:#f8fafc;padding:12px;min-height:74px}.wizard-steps li.active{border-color:var(--blue);background:#edf4fa}.wizard-steps b,.wizard-steps span{display:block}.wizard-steps span{color:var(--muted);font-size:14px;margin-top:4px}.workflow-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.workflow-heading h2{margin:0 0 6px}.status-pill{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;padding:7px 12px;background:#eef2f6;color:var(--txt);font-weight:800}.status-pill.status-running{background:#fff7df;color:#6b4a00;border-color:#e6c76c}.status-pill.status-completed{background:#e7f7ec;color:#155b2a;border-color:#a7d8b4}.status-pill.status-failed{background:#ffe8e8;color:#7a1111;border-color:#efb0b0}.workflow-counts{grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px}.workflow-counts dt{font-size:13px;color:var(--muted)}.workflow-counts dd{font-size:22px;font-weight:800}.workflow-steps{list-style:none;padding:0;margin:16px 0;display:grid;gap:10px}.workflow-step{display:grid;grid-template-columns:1.4fr 120px 1.7fr auto;gap:12px;align-items:center;border:1px solid var(--line);border-left-width:6px;border-radius:8px;background:#fff;padding:12px}.workflow-label{font-weight:800}.workflow-status{font-weight:800}.workflow-error{color:#7a1111}.workflow-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.workflow-actions form{margin:0}.workflow-actions a{font-weight:800;color:var(--blue)}.workflow-step.status-gotowe{border-left-color:#2f8f4e}.workflow-step.status-w-toku{border-left-color:#b6893f;background:#fffaf0}.workflow-step.status-blad{border-left-color:#b3261e;background:#fff6f6}.workflow-step.status-oczekuje{border-left-color:#9aa7b5;background:#f8fafc}
.workflow-controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.workflow-monitor-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.readiness-list{list-style:none;padding:0;margin:14px 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.readiness-list li{border:1px solid var(--line);border-radius:8px;background:#f8fafc;padding:10px 12px;font-weight:800}.readiness-list li span{display:inline-block;width:24px}.readiness-list li.done{background:#e7f7ec;color:#155b2a;border-color:#a7d8b4}.readiness-list li.pending{color:#5f6b7a}.strategy-steps{display:grid;gap:16px}.strategy-steps article small{display:block;color:var(--muted);font-weight:800;text-transform:uppercase}.diagnostics{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:16px;margin-bottom:18px}.diagnostics>summary{cursor:pointer;font-weight:800}.action-grid form{margin:0}.action-grid button{width:100%}

@media(max-width:900px){.wizard-steps{grid-template-columns:repeat(3,1fr)}.form-grid{grid-template-columns:1fr}.workflow-counts{grid-template-columns:1fr 1fr}.workflow-monitor-grid{grid-template-columns:1fr}.workflow-step{grid-template-columns:1fr}.workflow-actions,.workflow-actions form,.workflow-actions button{width:100%}}
@media(max-width:560px){.wizard-steps{grid-template-columns:1fr}.workflow-heading{display:block}.workflow-counts{grid-template-columns:1fr}}
