:root{--brand-red: #ec2c3e;--brand-red-hover: #d21f30;--navy: #0f193f;--blue: #4058a6;--teal: #337580;--cyan: #91c6cf;--olive: #a19f50;--orange: #cd7328;--yellow: #f6e591;--peach: #f7ccb4;--pink: #f28caf;--lavender: #e7d1e6;--bg-app: #f3f5f8;--surface: #ffffff;--surface-soft: #f7f8fa;--border: #e4e7ec;--text: #0f193f;--text-dim: #667085;--accent: var(--brand-red);--radius: 10px;--shadow: 0 2px 10px rgba(15, 25, 63, .06);--shadow-lg: 0 8px 28px rgba(15, 25, 63, .1);font-family:Verdana,Geneva,DejaVu Sans,Tahoma,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg-app);color:var(--text);-webkit-font-smoothing:antialiased}a{color:var(--brand-red);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text);padding:8px 14px;border-radius:var(--radius);transition:background .12s,border-color .12s,color .12s}button:hover{background:var(--surface-soft)}button.primary{background:var(--brand-red);border-color:var(--brand-red);color:#fff;font-weight:700}button.primary:hover{background:var(--brand-red-hover);border-color:var(--brand-red-hover)}button.danger{border-color:var(--brand-red);color:var(--brand-red);background:transparent}button.danger:hover{background:#fde7ea}button.ghost{background:transparent}button:disabled{opacity:.45;cursor:not-allowed}button.active{border-color:var(--brand-red);background:var(--brand-red);color:#fff}input,select,textarea{font:inherit;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:9px 11px;width:100%}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand-red);box-shadow:0 0 0 3px #ec2c3e1f}label{display:block;font-size:13px;color:var(--text-dim);margin-bottom:6px}.field{margin-bottom:14px}.topbar{display:flex;align-items:center;gap:16px;padding:12px 22px;background:var(--surface);border-bottom:1px solid var(--border);box-shadow:var(--shadow);position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:12px}.brand:hover{text-decoration:none}.brand-logo{height:30px;width:auto;display:block}.brand .product{font-size:13px;font-weight:700;letter-spacing:.4px;color:var(--brand-red);padding-left:12px;border-left:1px solid var(--border)}.topbar .spacer{flex:1}.topbar .who{color:var(--text-dim);font-size:14px}.topbar button.ghost{color:var(--navy);border-color:var(--border)}.page{padding:22px;max-width:1400px;margin:0 auto}.controls{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin-bottom:18px}.controls .field{margin:0;min-width:160px}.controls .spacer{flex:1}.viewtoggle{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--surface)}.viewtoggle button{border:none;border-radius:0}.board{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:start}.column{background:var(--surface-soft);border:1px solid var(--border);border-radius:var(--radius);padding:12px;min-height:200px}.column.drop-hover{border-color:var(--brand-red);background:#fff5f6}.column h3{margin:4px 6px 12px;font-size:14px;letter-spacing:.2px;color:var(--navy);display:flex;justify-content:space-between;align-items:center}.column .count{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:1px 9px;font-size:12px;color:var(--text-dim)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px;margin-bottom:10px;cursor:grab;box-shadow:var(--shadow);touch-action:none;user-select:none;-webkit-user-select:none;-webkit-user-drag:none}.card img,.card .thumb{-webkit-user-drag:none;user-drag:none}.card:hover{box-shadow:var(--shadow-lg)}.card:active{cursor:grabbing}.card.is-dragging{opacity:.35}.card-floating{position:fixed;z-index:1000;margin:0;pointer-events:none;opacity:.97;transform:rotate(2deg) scale(1.02);box-shadow:0 16px 40px #0f193f47;cursor:grabbing}.board.dragging{-webkit-user-select:none;user-select:none;cursor:grabbing}.card .thumb{width:100%;height:120px;object-fit:cover;border-radius:6px;background:var(--surface-soft);margin-bottom:10px;border:1px solid var(--border);display:block}.card .thumb.empty{display:grid;place-items:center;color:var(--text-dim);font-size:12px}.card h4{margin:0 0 8px;font-size:15px;color:var(--navy)}.card .meta{display:flex;gap:6px;flex-wrap:wrap;align-items:center;font-size:12px;color:var(--text-dim)}.badge{display:inline-block;padding:2px 9px;border-radius:20px;font-size:11px;font-weight:700;letter-spacing:.2px}.badge.priority-low{background:#eef5f6;color:#2c6470}.badge.priority-medium{background:#eaeef7;color:#34488a}.badge.priority-high{background:#fbeede;color:#a85c1c}.badge.priority-critical{background:#fde7ea;color:var(--brand-red)}.badge.status-open{background:#eaeef7;color:#34488a}.badge.status-in_progress{background:#fbeede;color:#a85c1c}.badge.status-done{background:#eef3e2;color:#6b7a2a}table.list{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}table.list th,table.list td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--border);font-size:14px}table.list th{color:var(--text-dim);font-size:12px;letter-spacing:.3px;background:var(--surface-soft)}table.list th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}table.list th.sortable:hover{color:var(--navy)}table.list th.sortable.active{color:var(--brand-red)}table.list th .arrow{margin-left:6px;font-size:10px;opacity:.7}table.list th.sortable:not(.active) .arrow{opacity:.3}table.list tbody tr{cursor:pointer}table.list tbody tr:hover{background:var(--surface-soft)}.auth-wrap{min-height:100%;display:grid;place-items:center;padding:20px;background:var(--bg-app)}.auth-card{width:380px;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:32px;box-shadow:var(--shadow-lg)}.auth-card .brand{margin-bottom:18px}.auth-card .brand-logo{height:40px}.auth-card h1{margin:0 0 4px;font-size:22px;color:var(--navy)}.auth-card p.sub{margin:0 0 20px;color:var(--text-dim);font-size:14px}.error{background:#fde7ea;border:1px solid var(--brand-red);color:#a3121f;padding:9px 12px;border-radius:8px;font-size:13px;margin-bottom:12px}.editor-layout{display:grid;grid-template-columns:1fr 360px;gap:18px;align-items:start}@media (max-width: 1000px){.editor-layout,.board{grid-template-columns:1fr}}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow)}.panel h3{margin:0 0 12px;font-size:14px;letter-spacing:.2px;color:var(--navy)}.toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px;padding:10px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.toolbar .sep{width:1px;height:24px;background:var(--border);margin:0 4px}.toolbar .swatch{width:26px;height:26px;border-radius:6px;border:2px solid var(--border);padding:0}.toolbar .swatch.active{border-color:var(--navy);box-shadow:0 0 0 2px #0f193f26}.canvas-stage{background:#eef0f3 repeating-conic-gradient(#e6e9ee,#e6e9ee 25%,#f3f5f8 0%,#f3f5f8 50%) 50% / 22px 22px;border:1px solid var(--border);border-radius:var(--radius);overflow:auto;display:flex;justify-content:center}.dropzone{border:2px dashed var(--border);border-radius:var(--radius);padding:52px 24px;text-align:center;color:var(--text-dim);background:var(--surface)}.dropzone.drag{border-color:var(--brand-red);background:#fff5f6;color:var(--navy)}.dropzone strong{color:var(--navy)}.kbd{display:inline-block;background:var(--surface-soft);border:1px solid var(--border);border-bottom-width:2px;border-radius:6px;padding:1px 7px;font-size:12px;font-family:ui-monospace,Menlo,monospace}.comment{border-bottom:1px solid var(--border);padding:10px 0}.comment:last-child{border-bottom:none}.comment .head{display:flex;justify-content:space-between;font-size:12px;color:var(--text-dim);margin-bottom:4px}.comment .pin{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--brand-red);color:#fff;font-size:11px;font-weight:700;margin-right:6px}.comment .body{font-size:14px;white-space:pre-wrap}.row{display:flex;gap:10px;align-items:center}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.muted{color:var(--text-dim);font-size:13px}.center{display:grid;place-items:center;min-height:50vh;color:var(--text-dim)}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:var(--navy);color:#fff;border:1px solid var(--navy);padding:10px 18px;border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:50}.hint{font-size:12px;color:var(--text-dim);margin-top:8px}
