*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #12161d;--surface: #1b222c;--surface-raised: #242d39;--border: #34404f;--text: #edf2f7;--muted: #a6b1c0;--blue: #8eaaff;--violet: #c5a8ff;--green: #5cd6a5;--amber: #ffc56c;--red: #ff9678;--gray: #8390a0;--radius: 8px;--radius-sm: 8px;--shadow: 0 2px 12px rgba(60,60,120,.07)}html{font-size:15px}body{font-family:Segoe UI,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);min-height:100vh}.topbar{min-height:68px;background:var(--surface);display:flex;align-items:center;gap:28px;padding:0 40px;position:sticky;top:0;z-index:100;border-bottom:1px solid var(--border)}.brand{color:var(--blue);text-decoration:none;font-weight:750;font-size:1.05rem;white-space:nowrap}.topbar-nav{display:flex;align-self:stretch;align-items:center;gap:4px;flex:1}.nav-item{display:flex;align-items:center;padding:8px 12px;border-radius:var(--radius-sm);text-decoration:none;color:var(--muted);font-size:.9rem;font-weight:500;transition:background .15s,color .15s}.nav-item:hover{background:var(--surface-raised);color:var(--text)}.nav-item.active{background:#27395d;color:#b8c9ff}.badge-file{background:var(--surface-raised);color:var(--muted);font-size:.75rem;padding:4px 10px;border-radius:999px;display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.main{max-width:1240px;margin:0 auto;padding:44px 40px 72px;min-height:100vh;display:flex;flex-direction:column;gap:64px}.view{display:block;scroll-margin-top:96px}#view-klasyfikacja{order:1}#view-checklista{order:2}#view-uwagi{order:3}#view-podsumowanie{order:4}.page-header{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:28px}.page-title{font-size:1.7rem;font-weight:700;color:var(--text)}.page-sub{font-size:.85rem;color:var(--muted);margin-top:4px}.status-chip{padding:6px 14px;border-radius:999px;font-size:.8rem;font-weight:600}.chip-ok{background:#183f35;color:var(--green)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}.card-label{font-size:.8rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:16px}.card-heading{font-size:1.05rem;font-weight:700;margin-bottom:18px}.cards-row{display:flex;flex-wrap:wrap;gap:20px}.ring-card{flex:1;min-width:220px;max-width:300px}.ring-wrap{position:relative;width:160px;height:160px;margin:0 auto 16px}.ring-svg{width:100%;height:100%}.ring-svg circle:first-child{stroke:var(--border)}.ring-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;line-height:1.2}.ring-num{display:block;font-size:1.6rem;font-weight:700;color:var(--text)}.ring-sub{display:block;font-size:.75rem;color:var(--muted)}.ring-legend{display:flex;flex-direction:column;align-items:flex-start;gap:6px;width:160px;margin:0 auto;font-size:.78rem;color:var(--muted)}.legend-item{display:flex;align-items:center}.leg-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:4px;vertical-align:middle}.insight-card{flex:1;min-width:260px}.chips-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.chip{padding:5px 12px;border-radius:999px;font-size:.78rem;font-weight:600}.chip-blue{background:#27395d;color:var(--blue)}.chip-violet{background:#3b3054;color:var(--violet)}.chip-amber{background:#4d3920;color:var(--amber)}.insight-text{font-size:.9rem;color:var(--muted);line-height:1.6;margin-bottom:20px}.metric-row{display:flex;gap:16px;flex-wrap:wrap}.metric{display:flex;flex-direction:column;align-items:center;gap:2px}.metric-num{font-size:1.5rem;font-weight:700}.metric-lbl{font-size:.72rem;color:var(--muted)}.table-card,.classification-card{max-width:820px}.classification-card-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.classification-card-header .card-heading{margin-bottom:0}.ai-open-btn{display:inline-flex;align-items:center;gap:7px;flex-shrink:0;min-height:36px;padding:7px 14px;border:1px solid #526fc9;border-radius:999px;background:#27395d;color:#c8d4ff;cursor:pointer;font:inherit;font-size:.82rem;font-weight:750;transition:background .15s,border-color .15s,transform .15s}.ai-open-btn:hover{background:#334d80;border-color:var(--blue);transform:translateY(-1px)}.ai-open-btn:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.classification-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.form-field{display:flex;flex-direction:column;gap:8px;color:var(--muted);font-size:.82rem;font-weight:650}.form-field select,.form-field input,.form-field textarea{width:100%;min-height:44px;padding:10px 11px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--text);font:inherit}.form-field select{padding-right:36px}.form-field textarea{min-height:104px;line-height:1.45;resize:vertical}.form-field select:focus,.form-field input:focus,.form-field textarea:focus{outline:2px solid var(--blue);outline-offset:2px}.optional-label{color:var(--gray);font-weight:500}.selection-code{display:flex;flex-direction:column;gap:5px;margin-top:18px;color:var(--blue);font-weight:700}.artifact-fieldset{margin-top:20px;padding:0;border:0}.artifact-fieldset legend{margin-bottom:10px;color:var(--muted);font-size:.82rem;font-weight:650}.artifact-options{display:flex;flex-wrap:wrap;gap:8px}.artifact-option{position:relative;cursor:pointer}.artifact-option input{position:absolute;opacity:0;pointer-events:none}.artifact-option span{display:inline-flex;align-items:center;min-height:32px;padding:5px 12px;border:1px solid var(--border);border-radius:999px;background:var(--surface-raised);color:var(--muted);font-size:.8rem;font-weight:650;transition:background .15s,border-color .15s,color .15s}.artifact-option input:checked+span{background:#27395d;border-color:#526fc9;color:#c8d4ff}.artifact-option input:focus-visible+span{outline:2px solid var(--blue);outline-offset:2px}.section-count{margin-left:6px;opacity:.65}.type-block .section-chip{background:#3b3054;color:var(--violet)}.summary-card{min-width:240px}.summary-score{display:block;color:var(--green);font-size:2.8rem;line-height:1}.summary-metrics{margin-top:22px}.summary-artifacts{margin-top:24px;padding-top:18px;border-top:1px solid var(--border)}.summary-artifacts-label{margin-bottom:10px;color:var(--muted);font-size:.78rem;font-weight:650;text-transform:uppercase;letter-spacing:.04em}.summary-artifacts-list{display:flex;flex-wrap:wrap;gap:7px}.summary-artifact-chip{display:inline-flex;padding:5px 11px;border:1px solid #526fc9;border-radius:999px;background:#27395d;color:#c8d4ff;font-size:.78rem;font-weight:650}.summary-artifacts-empty{color:var(--muted);font-size:.84rem}.metric strong{font-size:1.5rem}.metric-tak strong{color:var(--green)}.metric-czesc strong{color:var(--amber)}.metric-nie strong{color:var(--red)}.metric-nd strong{color:var(--gray)}.loading{color:var(--muted)}.cls-table{width:100%;border-collapse:collapse;font-size:.9rem}.cls-table tr{border-bottom:1px solid var(--border)}.cls-table tr:last-child{border-bottom:none}.cls-key{padding:13px 16px 13px 0;color:var(--muted);font-weight:600;white-space:nowrap;width:200px;vertical-align:top}.cls-table td:last-child{padding:13px 0}.kw-chip{display:inline-block;padding:4px 12px;border-radius:999px;background:var(--surface-raised);border:1px solid var(--border);color:var(--muted);font-size:.8rem;font-weight:600;margin:2px 4px 2px 0}.kw-chip.selected{background:#27395d;border-color:#526fc9;color:#c8d4ff}.uwagi-row td{padding-top:16px}.uwagi-box{display:flex;flex-direction:column;gap:10px}.uwagi-issues{font-size:.85rem;color:var(--red);line-height:1.6}.uwagi-ta{width:100%;border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px;font-size:.88rem;font-family:inherit;color:var(--text);background:var(--surface-raised);resize:vertical;outline:none;transition:border-color .15s}.uwagi-ta:focus{border-color:var(--blue)}.btn-save{align-self:flex-start;padding:9px 22px;border-radius:var(--radius-sm);background:var(--blue);color:#fff;border:none;cursor:pointer;font-size:.88rem;font-weight:600;transition:background .15s}.btn-save:hover{background:#718eea}.btn-add{margin-top:12px;padding:8px 18px;border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--blue);border:1px solid var(--border);cursor:pointer;font-size:.85rem;font-weight:600;transition:background .15s}.btn-add:hover{background:#27395d}.save-msg{font-size:.82rem;color:var(--green);margin-top:8px;min-height:18px}.ai-dialog{width:min(680px,calc(100vw - 32px));max-height:calc(100vh - 32px);margin:auto;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--text);box-shadow:0 24px 80px #0000008c;overflow:auto}.ai-dialog::backdrop{background:#06090ec2;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.ai-dialog[open]{animation:dialog-enter .18s ease-out}.ai-form{display:flex;flex-direction:column;gap:17px;padding:24px}.ai-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.ai-dialog-header h2{font-size:1.2rem;margin-bottom:6px}.ai-dialog-header p{color:var(--muted);font-size:.85rem;line-height:1.45}.dialog-close{width:34px;height:34px;flex-shrink:0;border:1px solid var(--border);border-radius:50%;background:var(--surface-raised);color:var(--muted);cursor:pointer;font:inherit;font-size:1.4rem;line-height:1}.dialog-close:hover{color:var(--text)}.ai-form-status{min-height:20px;color:var(--muted);font-size:.84rem}.ai-form-status.is-error{color:var(--red)}.ai-form-status.is-success{color:var(--green)}.ai-dialog-actions{display:flex;justify-content:flex-end;gap:10px}.dialog-secondary,.dialog-primary{min-height:40px;padding:8px 16px;border-radius:var(--radius-sm);cursor:pointer;font:inherit;font-size:.84rem;font-weight:700}.dialog-secondary{border:1px solid var(--border);background:var(--surface-raised);color:var(--muted)}.dialog-primary{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid #6888df;background:#526fc9;color:#fff}.dialog-primary:hover:not(:disabled){background:#6382db}.dialog-primary:disabled{cursor:wait;opacity:.75}.button-spinner{display:none;width:14px;height:14px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}.dialog-primary.is-loading .button-spinner{display:inline-block}@keyframes dialog-enter{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}.filter-bar{display:flex;flex-wrap:wrap;gap:6px}.filter-btn{padding:6px 14px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--muted);cursor:pointer;font-size:.8rem;font-weight:600;transition:all .15s}.filter-btn:hover{background:var(--surface-raised)}.filter-btn.active{background:#526fc9;color:#fff;border-color:#526fc9}.check-row[hidden],.section-block[hidden]{display:none!important}.section-block{margin-bottom:24px}.section-chip{display:inline-flex;align-items:center;gap:8px;background:var(--surface-raised);color:var(--blue);font-size:.8rem;font-weight:700;padding:5px 14px;border-radius:999px;margin-bottom:12px}.section-progress{height:3px;background:var(--border);border-radius:2px;margin-bottom:14px}.section-progress-bar{height:100%;border-radius:2px;background:var(--blue);transition:width .4s}.check-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 16px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);margin-bottom:8px;transition:box-shadow .15s,background-color .22s ease,border-color .22s ease}.check-row:hover{box-shadow:0 2px 8px #00000040}.check-text{font-size:.88rem;line-height:1.45;flex:1}.check-row.status-tak{background:#173d34;border-color:#286a58}.check-row.status-czesc{background:#4b391e;border-color:#806026}.check-row.status-nie{background:#4d2926;border-color:#8b4438}.check-row.status-nd{background:#252d38;border-color:#465362}.status-options{display:inline-flex;justify-content:flex-end;flex-shrink:0;padding:3px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:#0000002e;box-shadow:inset 0 1px 2px #0003}.status-option{position:relative;padding:6px 10px;border:0;border-right:1px solid rgba(255,255,255,.1);border-radius:0;background:transparent;color:var(--muted);cursor:pointer;font:inherit;font-size:.73rem;font-weight:700;white-space:nowrap;transition:color .18s ease,background-color .22s ease,box-shadow .22s ease,transform .18s ease}.status-option:first-child{border-radius:999px 0 0 999px}.status-option:last-child{border-right:0;border-radius:0 999px 999px 0}.status-option:hover:not(.active){color:var(--text);background:#ffffff12}.status-option:focus-visible{z-index:1;outline:2px solid var(--blue);outline-offset:1px}.status-option.active{color:#fff;box-shadow:0 1px 5px #00000047}.status-option[data-status=tak].active{background:#238766}.status-option[data-status=czesc].active{background:#a86a16}.status-option[data-status=nie].active{background:#b84d2d}.status-option[data-status=nd].active{background:#5d6978}.status-option.state-change{animation:status-select .22s ease-out}@keyframes status-select{0%{transform:scale(.88);filter:brightness(1.35)}65%{transform:scale(1.05)}to{transform:scale(1);filter:brightness(1)}}@media(prefers-reduced-motion:reduce){.check-row,.status-option{transition:none}.status-option.state-change{animation:none}.ai-dialog[open],.button-spinner{animation-duration:1ms}}.notes-card{max-width:820px}.negative-list{display:flex;flex-direction:column;gap:8px}.negative-item{padding:10px 14px;border-radius:var(--radius-sm);background:#3e2728;border-left:3px solid var(--red);font-size:.88rem;color:var(--text);line-height:1.4}.negative-item.partial-item{background:#4b391e;border-left-color:var(--amber)}.notes-empty{color:var(--muted);font-size:.9rem}@media(max-width:768px){.topbar{min-height:auto;align-items:flex-start;gap:10px;padding:12px 16px;flex-wrap:wrap}.brand{display:none}.topbar-nav{order:3;width:100%;overflow-x:auto;padding-bottom:2px}.badge-file{margin-left:auto}.main{padding:32px 16px 56px;gap:48px}.ring-card{max-width:100%}.cards-row,.page-header{flex-direction:column}.filter-bar{gap:4px}.filter-btn{padding:5px 10px;font-size:.75rem}.check-row{align-items:flex-start;flex-direction:column}.status-options{justify-content:flex-start}.classification-grid{grid-template-columns:1fr}.ai-form{padding:19px}.ai-dialog-actions{flex-direction:column-reverse}.dialog-secondary,.dialog-primary{width:100%}}
