:root{--background: 60 2% 9%;--foreground: 0 0% 98%;--card: 240 10% 4%;--card-foreground: 0 0% 98%;--popover: 240 10% 4%;--popover-foreground: 0 0% 98%;--primary: 0 0% 98%;--primary-foreground: 240 6% 10%;--secondary: 240 4% 16%;--secondary-foreground: 0 0% 98%;--muted: 240 4% 16%;--muted-foreground: 240 5% 65%;--accent: 240 4% 16%;--accent-foreground: 0 0% 98%;--destructive: 0 63% 31%;--destructive-foreground: 0 0% 98%;--border: 240 4% 16%;--input: 240 4% 16%;--ring: 240 5% 84%;--radius: .6rem;--pass: 130 32% 62%;--pass-bg: 130 20% 16%;--fail: 4 70% 65%;--fail-bg: 6 35% 18%;--in-progress: 38 80% 60%;--in-progress-bg: 38 40% 16%;--violet: 262 60% 74%;--violet-bg: 262 30% 18%;--warn: 38 90% 65%;--warn-bg: 38 60% 16%;--panel: 240 10% 4%;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color-scheme:dark}:root[data-theme=light]{--background: 0 0% 100%;--foreground: 240 10% 4%;--card: 0 0% 100%;--card-foreground: 240 10% 4%;--popover: 0 0% 100%;--popover-foreground: 240 10% 4%;--primary: 240 6% 10%;--primary-foreground: 0 0% 98%;--secondary: 240 5% 96%;--secondary-foreground: 240 6% 10%;--muted: 240 5% 96%;--muted-foreground: 240 4% 46%;--accent: 240 5% 96%;--accent-foreground: 240 6% 10%;--destructive: 0 84% 60%;--destructive-foreground: 0 0% 98%;--border: 240 6% 90%;--input: 240 6% 90%;--ring: 240 10% 4%;--pass: 130 26% 30%;--pass-bg: 120 24% 92%;--fail: 4 58% 41%;--fail-bg: 6 45% 93%;--in-progress: 38 74% 39%;--in-progress-bg: 38 60% 90%;--violet: 262 45% 46%;--violet-bg: 262 40% 92%;--warn: 38 70% 40%;--warn-bg: 38 70% 90%;--panel: 0 0% 100%;color-scheme:light}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:hsl(var(--background));color:hsl(var(--foreground))}#app{min-height:100%}.shell{display:flex;height:100vh;overflow:hidden}.sidebar{width:260px;flex:0 0 260px;display:flex;flex-direction:column;background:hsl(var(--background));border-right:1px solid hsl(var(--border));transition:width .15s ease,flex-basis .15s ease;overflow:hidden}.sidebar.collapsed{width:56px;flex-basis:56px}.sidebar.collapsed .sidebar-label,.sidebar.collapsed .sidebar-history,.sidebar.collapsed .sidebar-brand-text{display:none}.sidebar-top{display:flex;align-items:center;gap:8px;padding:14px 12px;border-bottom:1px solid hsl(var(--border))}.sidebar-brand{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;letter-spacing:.02em;flex:1;overflow:hidden;white-space:nowrap}.sidebar-collapse-btn{background:transparent;border:none;color:hsl(var(--muted-foreground));padding:6px;border-radius:calc(var(--radius) - 2px);cursor:pointer;font-size:13px;transition:background-color .15s ease,color .15s ease}.sidebar-collapse-btn:hover{background:hsl(var(--accent));color:hsl(var(--foreground))}.sidebar-nav{display:flex;flex-direction:column;gap:2px;padding:8px;border-bottom:1px solid hsl(var(--border))}.sidebar-nav a{display:flex;align-items:center;gap:10px;color:hsl(var(--muted-foreground));text-decoration:none;padding:8px 10px;border-radius:calc(var(--radius) - 2px);font-size:13px;cursor:pointer;white-space:nowrap;overflow:hidden;transition:background-color .15s ease,color .15s ease}.sidebar-nav a.active,.sidebar-nav a:hover{color:hsl(var(--foreground));background:hsl(var(--accent))}.sidebar-nav a .icon{flex:0 0 16px;text-align:center}.sidebar-history{flex:1;overflow-y:auto;padding:8px}.sidebar-section-label{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:hsl(var(--muted-foreground));padding:8px 10px 4px}.history-item{display:block;padding:8px 10px;border-radius:calc(var(--radius) - 2px);cursor:pointer;text-decoration:none;color:hsl(var(--foreground));margin-bottom:2px;transition:background-color .15s ease}.history-item:hover{background:hsl(var(--accent))}.history-item .history-url{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:ui-monospace,monospace}.history-item .history-meta{display:flex;align-items:center;gap:6px;font-size:11px;color:hsl(var(--muted-foreground));margin-top:3px}.history-empty{padding:8px 10px;font-size:12px;color:hsl(var(--muted-foreground))}.sidebar-footer{border-top:1px solid hsl(var(--border));padding:8px;display:flex;flex-direction:column;gap:2px}.sidebar-footer button{background:transparent;border:none;color:hsl(var(--muted-foreground));padding:8px 10px;border-radius:calc(var(--radius) - 2px);font-size:13px;text-align:left;cursor:pointer;display:flex;align-items:center;gap:10px;white-space:nowrap;overflow:hidden}.sidebar-footer button:hover{background:hsl(var(--accent));color:hsl(var(--foreground))}.main{flex:1;overflow-y:auto}.main-inner{max-width:1100px;margin:0 auto;padding:24px}.segmented{display:inline-flex;background:hsl(var(--secondary));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:2px;gap:2px}.segmented button{background:transparent;border:none;color:hsl(var(--muted-foreground));padding:6px 14px;border-radius:calc(var(--radius) - 3px);font-size:13px;font-weight:500;cursor:pointer}.segmented button.active{background:hsl(var(--card));color:hsl(var(--foreground));box-shadow:0 1px 2px #0000001a}.verdict-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.verdict-line h2{margin:0;font-size:18px;font-weight:600}.verdict-url{font-family:ui-monospace,monospace;font-size:14px;color:hsl(var(--muted-foreground))}.flat-details{border-top:1px solid hsl(var(--border));padding-top:12px;margin-top:16px}.flat-details summary{cursor:pointer;font-size:13px;font-weight:500;color:hsl(var(--muted-foreground));list-style:none;display:flex;align-items:center;gap:6px}.flat-details summary::-webkit-details-marker{display:none}.flat-details summary:before{content:"▸";display:inline-block;transition:transform .1s ease;font-size:11px}.flat-details[open] summary:before{transform:rotate(90deg)}.flat-details summary:hover{color:hsl(var(--foreground))}.flat-details>.flat-details-body{padding-top:12px}.flat-details+.flat-details{margin-top:0}.panel .panel{background:transparent;border:none;border-top:1px solid hsl(var(--border));border-radius:0;padding:12px 0 0;margin-bottom:0}.panel .panel .panel{border-top-style:dashed}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:50;padding:24px}.modal{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:20px;width:100%;max-width:620px;max-height:85vh;overflow-y:auto}.modal-header{display:flex;align-items:center;margin-bottom:12px}.modal-header h3{margin:0;font-size:15px}.modal-close{background:transparent;border:none;color:hsl(var(--muted-foreground));font-size:18px;cursor:pointer;padding:2px 6px}.modal-close:hover{color:hsl(var(--foreground))}.launch-box{display:flex;flex-direction:column;align-items:center;padding:64px 16px 24px}.launch-box h1{font-size:22px;margin:0 0 20px;font-weight:600}.launch-row{display:flex;gap:8px;width:100%;max-width:640px}.launch-row input[type=url]{flex:1;padding:14px 16px;font-size:14px;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);color:hsl(var(--foreground))}.launch-row button.primary-cta{padding:0 22px;font-size:14px}.launch-meta-row{display:flex;align-items:center;gap:10px;margin-top:10px;width:100%;max-width:640px;justify-content:space-between}.launch-meta-row .options-btn{background:transparent;border:1px solid hsl(var(--border));color:hsl(var(--muted-foreground))}.route-tree-panel{width:100%;max-width:640px;margin-top:24px}.panel{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:16px;margin-bottom:16px;overflow-x:auto}label{display:block;font-size:12px;color:hsl(var(--muted-foreground));margin-bottom:4px;margin-top:12px}input[type=text],input[type=url],input[type=number],input[type=password],input[type=time],input[type=datetime-local],select,textarea{width:100%;padding:8px;background:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);color:hsl(var(--foreground));font-size:13px;font-family:inherit;transition:border-color .15s ease,box-shadow .15s ease}button{background:hsl(var(--primary));color:hsl(var(--primary-foreground));border:none;padding:8px 14px;border-radius:calc(var(--radius) - 2px);font-size:13px;font-weight:500;cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease,opacity .15s ease}button:hover:not(:disabled){opacity:.9}button.secondary{background:transparent;border:1px solid hsl(var(--border));color:hsl(var(--foreground))}button.secondary:hover:not(:disabled){background:hsl(var(--accent));opacity:1}button.danger{background:hsl(var(--destructive));color:hsl(var(--destructive-foreground))}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:8px;border-bottom:1px solid hsl(var(--border))}th{color:hsl(var(--muted-foreground));font-weight:500;font-size:12px}tr.clickable{cursor:pointer}tr.clickable:hover{background:hsl(var(--accent))}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600}.badge.status-W-KOLEJCE{background:hsl(var(--border));color:hsl(var(--muted-foreground))}.badge.status-MIELI{background:hsl(var(--in-progress-bg));color:hsl(var(--in-progress))}.badge.status-ZIELONY{background:hsl(var(--pass-bg));color:hsl(var(--pass))}.badge.status-CZERWONY-Z-POWODEM{background:hsl(var(--fail-bg));color:hsl(var(--fail))}.badge.status-NIESTABILNE{background:hsl(var(--in-progress-bg));color:hsl(var(--in-progress))}.badge.status-PYTANIE-TRIAGE{background:hsl(var(--violet-bg));color:hsl(var(--violet))}.badge.status-ZAPLANOWANE{background:hsl(var(--secondary));color:hsl(var(--muted-foreground))}.badge.status-WYMAGA-LOGOWANIA{background:hsl(var(--warn-bg));color:hsl(var(--warn))}.kanban{display:flex;gap:10px;overflow-x:auto;padding-bottom:8px}.kanban-col{flex:0 0 200px;background:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:8px;min-height:120px}.kanban-col.drag-over{border-color:hsl(var(--primary));background:hsl(var(--primary) / .12)}.kanban-col.verdict.drag-over{border-color:hsl(var(--fail));background:hsl(var(--fail-bg))}.kanban-col h4{margin:0 0 8px;font-size:11px;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.04em;display:flex;justify-content:space-between}.kanban-card{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);padding:8px;margin-bottom:6px;font-size:12px;cursor:grab}.kanban-card:active{cursor:grabbing}.kanban-card .url{display:block;font-family:ui-monospace,monospace;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kanban-card .meta{color:hsl(var(--muted-foreground));font-size:10px;margin-top:4px}.view-toggle{display:flex;gap:4px}.view-toggle button.active{background:hsl(var(--primary))}.view-toggle button:not(.active){background:transparent;border:1px solid hsl(var(--border));color:hsl(var(--muted-foreground))}.error{color:hsl(var(--fail));font-size:13px;margin-top:8px}.muted{color:hsl(var(--muted-foreground));font-size:12px}.mono{font-family:ui-monospace,monospace;font-size:12px}.row{display:flex;gap:12px;align-items:center}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.spacer{flex:1}iframe.embed{width:100%;height:100%;border:none;background:hsl(var(--background));display:block}.chain-pane,.preview-pane{height:640px;border:1px solid hsl(var(--border));border-radius:var(--radius);overflow:hidden;background:hsl(var(--background))}pre.report{white-space:pre-wrap;font-size:12px;background:hsl(var(--background));padding:12px;border-radius:calc(var(--radius) - 2px);max-height:480px;overflow:auto}
