body.dark .section-bar{background:var(--card-bg);box-shadow:var(--sh);border:var(--brd-thick) solid var(--brd)}body.dark .card-body{border-top-color:var(--brd)}body.dark .scard{background:var(--card-bg);box-shadow:var(--sh)}body.dark .kanban-col{background:#1e1e28}body.dark .k-card{background:var(--card-bg);box-shadow:0 1px 4px rgba(0,0,0,.25)}body.dark .k-card:hover{box-shadow:0 3px 12px rgba(0,0,0,.35)}body.dark .sinp{background:#1e1e28;border-color:var(--brd)}body.dark .mdl{background:#1e1e28;box-shadow:0 16px 56px rgba(0,0,0,.6)}body.dark .mdl-body{background:#1e1e28}body.dark .mdl-section{border-bottom-color:var(--brd)}body.dark .modal-actions{background:#16161e;border-top-color:var(--brd)}body.dark .fgrp label{color:#888}body.dark .fgrp input,.fgrp textarea,.fgrp select{border-color:var(--brd)}body.dark .ab{background:var(--card-bg);color:var(--bd);border-color:var(--brd)}body.dark .ab.pri{background:var(--pk);color:#fff;border-color:var(--pk)}body.dark .ab.suc{background:var(--gn);color:#fff;border-color:var(--gn)}body.dark .ab.sec{background:#22222e;color:#ccc;border-color:var(--brd)}body.dark .matrix-q.q1{background:rgba(233,30,99,.08);border-color:rgba(233,30,99,.25)}body.dark .matrix-q.q2{background:rgba(46,125,50,.08);border-color:rgba(46,125,50,.25)}body.dark .matrix-q.q3{background:rgba(245,158,11,.08);border-color:rgba(245,158,11,.25)}body.dark .matrix-q.q4{background:#1e1e28;border-color:var(--brd)}body.dark .matrix-item{background:rgba(255,255,255,.05)}body.dark .pf-option:hover{background:rgba(255,255,255,.05)}body.dark .pf-option.active{background:rgba(233,30,99,.12)}body.dark .pill-sel-opt{background:#1e1e28;border-color:var(--brd);color:#ccc}body.dark .pill-sel-opt:hover{border-color:var(--pk);background:rgba(233,30,99,.08)}body.dark .kanban-popup-bg{background:rgba(0,0,0,.75)}body.dark .kb-col-add{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.1);color:#999}body.dark .kb-col-add:hover{background:var(--pk);color:#fff;border-color:var(--pk)}body.dark .k-card-desc{background:#1e1e28;color:#aaa;border-color:#555}body.dark .task-desc-block{background:#1e1e28;border-color:#333;color:#d1d5db}body.dark .task-desc-inline{color:#aaa}body.dark .task-desc-detail{background:#1e1e28;color:#d1d5db}body.dark .task-preview-title{color:#e4e4e7}body.dark .task-preview-heading{color:#d1d5db}body.dark .task-preview-divider{border-color:#333}body.dark .task-exec-note{background:rgba(234,88,12,.1);border-color:rgba(234,88,12,.25);color:#fdba74}body.dark .task-test-step{background:rgba(22,163,74,.1);border-color:rgba(22,163,74,.25);color:#86efac}body.dark .task-prompt-block{background:rgba(233,30,99,.1);border-color:rgba(233,30,99,.25)}body.dark .k-card-prompt-text{background:rgba(233,30,99,.08);color:#d8b4fe;border-color:#e91e6366}body.dark .k-card-note-text{background:rgba(234,88,12,.08);color:#fdba74;border-color:#ea580c66}body.dark .k-card-blocked{background:rgba(239,68,68,.08);border-color:#ef444466}body.dark .k-card-blocked-item{background:#1e1e28;border-color:#ef444444;color:#fca5a5}body.dark .kb-prompt-pill{background:rgba(233,30,99,.1);border-color:rgba(233,30,99,.25);color:#f472b6}body.dark .kb-prompt-pill:hover{background:var(--pk);color:#fff}body.dark .kb-prompt-pill.add{background:rgba(46,125,50,.1);border-color:rgba(46,125,50,.25);color:#4ade80}body.dark .kb-prompt-pill.add:hover{background:var(--gn);color:#fff}body.dark .kb-prompt-pill.expand{background:rgba(233,30,99,.1);border-color:rgba(233,30,99,.25);color:var(--pk)}body.dark .kb-prompt-pill.expand:hover{background:var(--pk);color:#fff}body.dark .kb-prompt-pill.exec,body.dark .kb-prompt-pill.exec-add{background:rgba(234,88,12,.1);border-color:rgba(234,88,12,.25);color:#fb923c}body.dark .kb-prompt-pill.exec:hover,body.dark .kb-prompt-pill.exec-add:hover{background:#ea580c;color:#fff}body.dark .urg-dot{background:#333;border-color:#444}body.dark .k-eye-btn{opacity:.3}body.dark .k-eye-btn:hover{opacity:.7}body.dark .kb-mini-btn:hover{background:#2a2a36}body.dark .pf-card{background:var(--card-bg);box-shadow:var(--sh)}body.dark .kanban-col-header.todo{background:var(--tql);color:var(--tq)}body.dark .kanban-col-header.progress{background:var(--amberl);color:#b59e0b}body.dark .kanban-col-header.testing{background:var(--pkl);color:var(--pk)}body.dark .kanban-col-header.done{background:var(--gnl);color:var(--gn)}.sidebar,.breadcrumb-bar,.ebar,.card,.mdl,.section-bar,.stat-card,.dash-section,.scard,.kanban-col,.tool-card,.bp-category,.qa-item,.set-sec,.pf-card{transition:background var(--trans-speed) ease,color var(--trans-speed) ease,border-color var(--trans-speed) ease,box-shadow var(--trans-speed) ease}.tp{display:none;padding:12px;overflow-y:auto;height:calc(100vh - 60px)}.tp.active{display:block}.section-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;padding:8px 12px;background:#fff;border-radius:var(--rs);box-shadow:var(--sh);border:var(--brd-thick) solid var(--brd)}.section-title{font-weight:700;font-size:1rem;color:var(--pk);flex-shrink:0}.bar-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-left:auto}.bar-actions.bar-actions-collapse{display:none}.bar-actions.bar-actions-collapse.open{display:flex}.task-labels-collapse{display:none;margin-top:4px}.task-labels-collapse.open{display:block}.task-prompt-pill{display:inline-flex;align-items:center;gap:3px;padding:4px 8px;border-radius:10px;background:linear-gradient(135deg,#fdf2f8,var(--pkl));border:1.5px solid #e91e6333;font-size:.68rem;cursor:pointer;transition:all .15s;max-width:260px}.task-prompt-pill:hover{border-color:#e91e63;box-shadow:0 1px 4px rgba(233,30,99,.15)}.task-prompt-pill-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#6b21a8;font-weight:500}.task-prompt-pill-copy{font-size:.55rem;opacity:.5;transition:opacity .15s;flex-shrink:0}.task-prompt-pill-copy:hover{opacity:1}.task-prompt-pill-del{font-size:.5rem;color:#ef4444;opacity:.4;transition:opacity .15s;margin-left:2px;flex-shrink:0}.task-prompt-pill-del:hover{opacity:1}.ab{font-size:.72rem;padding:5px 12px;border-radius:6px;cursor:pointer;font-weight:600;border:1px solid #ddd;background:#fff;transition:.15s;font-family:Calibri,'Segoe UI',sans-serif;white-space:nowrap}.ab:hover{filter:brightness(.92);transform:translateY(-1px)}.ab:active{transform:translateY(0)}.ab.pri{background:var(--pk);color:#fff;border-color:var(--pk)}.ab.sec{background:#fff;color:var(--bd)}.ab.suc{background:var(--gn);color:#fff;border-color:var(--gn)}.ab.warn{background:#fff;color:var(--amber);border-color:var(--amber)}.ab.dan{background:#fff;color:var(--pk);border-color:var(--pk)}.ab.sm{font-size:.6rem;padding:2px 6px}.sinp{font-size:.78rem;padding:6px 12px;border:2px solid #eee;border-radius:8px;font-family:Calibri,'Segoe UI',sans-serif;min-width:120px;transition:all .2s;background:#fafafa}.sinp:focus{outline:none;border-color:var(--pk);background:#fff;box-shadow:0 0 0 3px rgba(233,30,99,.08)}.fgrp{margin-bottom:10px}.fgrp label{font-size:.68rem;color:#888;font-weight:600;text-transform:uppercase;display:block;margin-bottom:3px}.fgrp input,.fgrp textarea,.fgrp select{width:100%;font-size:.82rem;padding:8px 10px;border:2px solid #eee;border-radius:8px;font-family:Calibri,'Segoe UI',sans-serif;transition:all .2s;background:#fafafa}.fgrp input:focus,.fgrp textarea:focus,.fgrp select:focus{outline:none;border-color:var(--pk);background:#fff;box-shadow:0 0 0 3px rgba(233,30,99,.08)}.fgrp textarea{resize:vertical}.pill-filter-toggle .pf-arrow{font-size:.5rem;transition:transform .2s;display:inline-block}.pill-filter.open .pf-arrow{transform:rotate(180deg)}.pf-option{display:flex;align-items:center;gap:6px;padding:5px 8px;border-radius:6px;cursor:pointer;font-size:.66rem;font-family:Calibri,sans-serif;font-weight:600;transition:all .15s;user-select:none}.pf-option:hover{background:#fafafa}.pf-option.active{background:linear-gradient(135deg,var(--pkl),var(--gnl));color:var(--pk)}.pf-option .pf-check{width:14px;height:14px;border:2px solid #ddd;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:.5rem;flex-shrink:0;transition:all .15s}.pf-option.active .pf-check{background:linear-gradient(135deg,var(--pk),var(--gn));border-color:var(--pk);color:#fff}.fg{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}.card-head{padding:10px 14px;cursor:pointer;display:flex;flex-wrap:wrap;align-items:center;gap:6px}.card-title{font-weight:700;font-size:.88rem}.card-meta{display:flex;gap:6px;font-size:.65rem;color:#888;margin-left:auto;align-items:center;flex-wrap:wrap}.card-body{display:none;padding:14px;border-top:var(--brd-thick) solid var(--brd)}.card.expanded .card-body{display:block}.proj-tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px;padding:8px 0}.proj-tile{position:relative;background:#fff;border-radius:18px;padding:18px 20px 15px;cursor:pointer;transition:all .25s ease;box-shadow:0 2px 12px rgba(0,0,0,.07);overflow:hidden;display:flex;flex-direction:column;gap:9px;border:1px solid rgba(0,0,0,.05)}.proj-tile:hover{transform:translateY(-5px);box-shadow:0 16px 40px rgba(0,0,0,.13);border-color:var(--proj-accent,var(--pk))}.proj-tile-accent{position:absolute;top:0;left:0;right:0;height:5px;border-radius:18px 18px 0 0}.proj-tile-head{display:flex;align-items:center;gap:9px;margin-top:4px}.proj-tile-emoji{font-size:1.5rem;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:rgba(0,0,0,.03);flex-shrink:0}.proj-tile-pills{display:flex;gap:5px;flex-wrap:wrap;flex:1}.proj-tile-star{font-size:.85rem}.proj-tile-title{font-size:1.08rem;font-weight:800;color:var(--bd,#1e293b);line-height:1.3;letter-spacing:-.025em}.proj-tile-owners{display:flex;gap:4px;flex-wrap:wrap}.proj-tile-meta{display:flex;gap:5px;flex-wrap:wrap}.proj-tile-meta .tag{font-size:.6rem}.proj-tile-progress{display:flex;align-items:center;gap:8px;margin-top:auto;padding-top:6px}.proj-tile-bar{flex:1;height:6px;background:rgba(0,0,0,.06);border-radius:4px;overflow:hidden}.proj-tile-bar-fill{height:100%;border-radius:4px;transition:width .6s cubic-bezier(.4,0,.2,1)}.proj-tile-pct{font-size:.74rem;font-weight:800;flex-shrink:0}.proj-tile-acts{display:none;position:absolute;top:10px;right:10px;gap:4px;z-index:2}.proj-tile:hover .proj-tile-acts{display:flex}.proj-tile-act{width:30px;height:30px;border-radius:50%;border:none;background:rgba(255,255,255,.95);box-shadow:0 2px 8px rgba(0,0,0,.12);cursor:pointer;font-size:.74rem;display:flex;align-items:center;justify-content:center;transition:all .15s;text-decoration:none;color:inherit}.proj-tile-act:hover{transform:scale(1.14);box-shadow:0 4px 14px rgba(0,0,0,.18)}body.dark .proj-tile{background:var(--card-bg);border-color:var(--brd)}body.dark .proj-tile:hover{box-shadow:0 16px 40px rgba(0,0,0,.35)}body.dark .proj-tile-emoji{background:rgba(255,255,255,.06)}body.dark .proj-tile-act{background:rgba(30,30,40,.95)}.proj-group-section{margin-bottom:20px;border:1.5px solid rgba(245,158,11,.18);border-radius:16px;padding:12px 14px;background:rgba(245,158,11,.02)}body.dark .proj-group-section{background:rgba(245,158,11,.03);border-color:rgba(245,158,11,.14)}.proj-group-hdr{display:flex;align-items:center;gap:10px;padding:6px 4px;cursor:pointer;border-radius:10px;transition:all .2s}.proj-group-hdr:hover{background:rgba(245,158,11,.07)}.proj-group-emoji{font-size:1.4rem}.proj-group-name{font-size:1rem;font-weight:800;color:#92400e;flex:1;letter-spacing:-.02em}body.dark .proj-group-name{color:#f59e0b}.proj-group-count{font-size:.64rem;font-weight:700;background:linear-gradient(135deg,rgba(245,158,11,.18),rgba(245,158,11,.1));color:#92400e;padding:3px 10px;border-radius:12px;letter-spacing:.02em}.proj-group-divider{font-size:.7rem;font-weight:800;color:#94a3b8;text-transform:uppercase;letter-spacing:.8px;padding:14px 4px 8px;border-bottom:2px solid #f1f5f9;margin-bottom:8px}#kbViewBar .ab{font-size:.7rem;padding:6px 13px;border-radius:10px;font-weight:700}#kbViewBar .ab.sm{font-size:.7rem;padding:6px 13px}@media(max-width:600px){.proj-tile-grid{grid-template-columns:1fr;gap:12px}}@media(max-width:600px){.proj-tile{padding:15px 15px 13px}}.hint{font-size:.68rem;color:#999;font-style:italic}.scard{background:#fff;border-radius:var(--rs);padding:14px;box-shadow:var(--sh)}.scard h3{font-weight:700;font-size:.88rem;color:var(--pk);margin-bottom:4px}.scard.danger{border:2px solid var(--pk)}.kb-header{display:flex;align-items:center;gap:6px;min-height:66px;padding:0 14px;background:var(--card-bg);border-bottom:2.5px solid var(--pk);box-shadow:0 2px 12px rgba(0,0,0,.07);flex-wrap:nowrap;flex-shrink:0;position:sticky;top:0;z-index:20;margin:-12px -12px 8px -12px}.kb-hdr-title{font-size:1rem!important;font-weight:900!important;color:var(--bd);letter-spacing:-.025em;display:flex;align-items:center;flex-wrap:wrap;gap:4px;margin:0!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:1;min-width:0}.kb-hdr-title .pill{font-size:.6rem!important}.kb-hdr-sep{width:1px;height:22px;background:var(--brd);flex-shrink:0;margin:0 2px}.kb-hdr-editions{display:inline-flex;align-items:center;gap:5px;padding:8px 15px;border-radius:11px;font-family:inherit;font-size:.74rem;font-weight:800;cursor:pointer;white-space:nowrap;flex-shrink:0;background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;border:2px solid rgba(245,158,11,.45);box-shadow:0 2px 10px rgba(245,158,11,.18);transition:all .15s}.kb-hdr-editions:hover{box-shadow:0 3px 16px rgba(245,158,11,.32);transform:translateY(-1px)}body.dark .kb-hdr-editions{background:linear-gradient(135deg,rgba(245,158,11,.18),rgba(245,158,11,.1));color:#fbbf24;border-color:rgba(245,158,11,.3)}.kb-hdr-editions.pri{background:linear-gradient(135deg,#f59e0b,#d97706)!important;color:#fff!important;border-color:#d97706!important;box-shadow:0 3px 12px rgba(245,158,11,.35)!important}.kb-hdr-acts{display:flex;align-items:center;gap:4px;flex-wrap:nowrap;flex-shrink:0}.kb-ha{font-family:Calibri,'Segoe UI',sans-serif;font-size:.82rem;font-weight:700;padding:9px 14px;border-radius:9px;border:1px solid var(--brd);background:var(--card-bg);color:var(--bd);cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;gap:4px;transition:all .14s;flex-shrink:0}.kb-ha:hover{filter:brightness(.95)}.kb-ha.sec{background:var(--bg);color:var(--bd)}.kb-ha.pri{background:var(--pk);color:#fff;border-color:var(--pk);box-shadow:0 2px 8px rgba(233,30,99,.25)}.kb-ha.pri:hover{background:var(--pks);box-shadow:0 3px 12px rgba(233,30,99,.35)}body.dark .kb-ha{background:rgba(255,255,255,.06);border-color:var(--brd);color:var(--bd)}body.dark .kb-ha:hover{background:rgba(255,255,255,.11)}.kb-ctx-btn{display:inline-flex;align-items:center;gap:5px;font-family:Calibri,'Segoe UI',sans-serif;font-size:.72rem;font-weight:800;padding:7px 14px;border-radius:10px;border:1.5px solid var(--brd);background:var(--bg);color:var(--bd);cursor:pointer;white-space:nowrap;flex-shrink:0;transition:all .15s}.kb-ctx-btn:hover{filter:brightness(.97)}.kb-ctx-btn.open{background:var(--pkl);border-color:rgba(233,30,99,.4);color:var(--pk)}body.dark .kb-ctx-btn{background:rgba(255,255,255,.06);color:var(--bd)}body.dark .kb-ctx-btn.open{background:rgba(233,30,99,.18);border-color:rgba(233,30,99,.4);color:var(--pk)}.kb-dd{position:absolute;top:calc(100% + 4px);left:0;z-index:99;background:var(--card-bg);border:1px solid var(--brd);border-radius:9px;box-shadow:0 4px 18px rgba(0,0,0,.13);padding:6px;min-width:160px}.kb-dd .ab,.kb-dd button,.kb-hdr-acts [style*="position:absolute"] .ab,.kb-hdr-acts [style*="position:absolute"] button{font-size:.78rem!important;padding:8px 12px!important}.kb-hdr-acts [style*="position:absolute"]{min-width:170px!important}.kb-work-area{display:flex;align-items:flex-start;gap:0;margin-top:10px}.kb-views{flex:1;min-width:0}.kb-ctx-drawer{width:290px;min-width:290px;background:var(--card-bg);border-left:1px solid var(--brd);overflow-y:auto;flex-shrink:0;box-shadow:-3px 0 16px rgba(0,0,0,.07);transition:width .22s ease,min-width .22s ease;position:sticky;top:124px;max-height:calc(100vh - 188px)}.kb-ctx-drawer.closed{width:0;min-width:0;border-left:none;box-shadow:none;overflow:hidden}.kb-ctx-content{padding:14px;min-width:290px}.kb-ctx-section{margin-bottom:18px}.kb-ctx-stitle{font-size:.58rem;font-weight:900;color:#94a3b8;text-transform:uppercase;letter-spacing:.1em;margin-bottom:9px;display:flex;align-items:center;justify-content:space-between}.kb-ctx-stitle button{background:var(--gnl);color:var(--gn);border:none;padding:2px 8px;border-radius:6px;font-size:.58rem;font-weight:700;cursor:pointer;font-family:inherit;transition:.15s}.kb-ctx-stitle button:hover{background:#c8e6c9}body.dark .kb-ctx-stitle button{background:rgba(46,125,50,.18);color:#86efac;border:1px solid rgba(46,125,50,.25)}.kb-vcard{border:1.5px solid var(--brd);border-radius:11px;padding:9px 11px;margin-bottom:6px;cursor:pointer;transition:all .14s;background:var(--bg)}.kb-vcard:hover{border-color:rgba(233,30,99,.3);background:var(--card-bg)}.kb-vcard.sel{background:var(--pkl);border-color:rgba(233,30,99,.4);box-shadow:0 2px 10px rgba(233,30,99,.12)}body.dark .kb-vcard.sel{background:rgba(233,30,99,.16);border-color:rgba(233,30,99,.45)}.kb-vcard-top{display:flex;align-items:center;gap:7px;margin-bottom:5px}.kb-vcard-name{font-size:.76rem;font-weight:800;color:var(--bd);flex:1}.kb-vcard.sel .kb-vcard-name{color:var(--pk)}body.dark .kb-vcard.sel .kb-vcard-name{color:var(--pk)}.kb-vcard-star{background:none;border:none;cursor:pointer;font-size:.68rem;opacity:.25;padding:0;line-height:1;transition:.15s}.kb-vcard-star.on,.kb-vcard-star:hover{opacity:1}.kb-vcard-prog{display:flex;align-items:center;gap:7px}.kb-vcard-bar{flex:1;height:4px;background:var(--brd);border-radius:2px;overflow:hidden}.kb-vcard-bar-fill{height:100%;border-radius:2px;background:var(--pk)}.kb-vcard.sel .kb-vcard-bar-fill{background:var(--pk)}body.dark .kb-vcard.sel .kb-vcard-bar-fill{background:var(--pk)}.kb-vcard-pct{font-size:.6rem;font-weight:700;color:#94a3b8}.kb-ctx-prog-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}.kb-ctx-prog-lbl{font-size:.64rem;color:#94a3b8;font-weight:600;width:52px}.kb-ctx-prog-bar{flex:1;height:6px;background:var(--bg);border-radius:3px;overflow:hidden}.kb-ctx-prog-fill{height:100%;border-radius:3px}.kb-ctx-prog-val{font-size:.62rem;font-weight:800;width:34px;text-align:right}.kb-ctx-prog-sub{font-size:.6rem;color:#94a3b8}.kb-ctx-tag{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:9px;font-size:.64rem;font-weight:600;background:var(--bg);border:1px solid var(--brd);color:var(--bd);margin:0 4px 4px 0}.kb-ctx-desc{font-size:.7rem;color:#64748b;line-height:1.5;margin-bottom:9px}.kb-ctx-link-row{display:flex;gap:5px;flex-wrap:wrap}.kb-ctx-link{display:inline-flex;align-items:center;gap:4px;padding:5px 11px;border-radius:8px;font-size:.66rem;font-weight:700;cursor:pointer;text-decoration:none;border:1px solid;transition:.15s}.kb-ctx-link.live{color:#16a34a;border-color:#bbf7d0;background:#f0fdf4}.kb-ctx-link.repo{color:var(--gns);border-color:#bae6fd;background:#f0f9ff}.kb-ctx-link.launch{color:var(--pk);border-color:var(--pkl);background:var(--pkl)}.kb-ctx-link:hover{opacity:.8;transform:translateY(-1px)}body.dark .kb-ctx-link.live{color:#86efac;border-color:rgba(34,197,94,.2);background:rgba(34,197,94,.08)}body.dark .kb-ctx-link.repo{color:var(--gn);border-color:rgba(76,175,80,.2);background:rgba(76,175,80,.08)}body.dark .kb-ctx-link.launch{color:var(--pk);border-color:rgba(233,30,99,.25);background:rgba(233,30,99,.1)}.kb-ctx-divider{height:1px;background:var(--brd);margin:12px -14px}.k-teststeps-preview{margin-top:4px;background:var(--bg);border:1px solid var(--brd);border-radius:8px;padding:6px 8px;display:none}.k-teststeps-preview.open{display:block}.k-tsp-header{font-size:.6rem;font-weight:800;color:var(--pk);margin-bottom:5px;display:flex;align-items:center;gap:4px}.k-tsp-step{display:flex;align-items:flex-start;gap:5px;font-size:.62rem;color:var(--bd);line-height:1.4;padding:2px 0;border-radius:4px}.k-tsp-step:hover{background:rgba(233,30,99,.04)}.k-tsp-num{width:16px;height:16px;border-radius:50%;background:rgba(233,30,99,.12);color:var(--pk);font-size:.5rem;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}.k-tsp-add-btn{margin-top:0;font-size:.6rem;font-weight:700;color:var(--pk);background:rgba(233,30,99,.07);border:1px dashed rgba(233,30,99,.3);border-radius:6px;padding:4px 8px;cursor:pointer;transition:.14s;font-family:inherit;flex:1;min-width:0}.k-tsp-add-btn:hover{background:rgba(233,30,99,.13);border-style:solid}.k-tsp-form{margin-top:5px}.k-tsp-inp{width:100%;box-sizing:border-box;font-size:.64rem;font-family:inherit;border:1px solid rgba(233,30,99,.35);border-radius:6px;padding:5px 7px;background:var(--card-bg);color:var(--bd);resize:none;outline:none;line-height:1.4}.k-tsp-inp:focus{border-color:var(--pk);box-shadow:0 0 0 2px rgba(233,30,99,.12)}.k-tsp-form-btns{display:flex;gap:4px;margin-top:4px}.k-tsp-save{font-size:.6rem;font-weight:700;background:var(--pk);color:#fff;border:none;border-radius:5px;padding:4px 10px;cursor:pointer;font-family:inherit}.k-tsp-cancel{font-size:.6rem;font-weight:700;background:var(--bg);color:#94a3b8;border:1px solid var(--brd);border-radius:5px;padding:4px 8px;cursor:pointer;font-family:inherit}.k-tsp-cancel:hover{color:#ef4444}body.dark .k-teststeps-preview{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.1)}body.dark .k-tsp-num{background:rgba(233,30,99,.22);color:var(--pk)}body.dark .k-tsp-add-btn{color:var(--pk);background:rgba(233,30,99,.1);border-color:rgba(233,30,99,.25)}body.dark .k-tsp-inp{background:rgba(255,255,255,.06);border-color:rgba(233,30,99,.3);color:var(--bd)}.k-test-glow{cursor:pointer!important;font-size:.58rem!important;padding:2px 6px;border-radius:6px;background:rgba(233,30,99,.1);border:1px solid rgba(233,30,99,.25);transition:.15s}.k-test-glow:hover{background:rgba(233,30,99,.2);transform:scale(1.05)}.k-test-empty{opacity:.5;border-style:dashed}.k-test-empty{opacity:.55}.k-test-empty:hover{opacity:1}.kb-ha-import{background:#f0fdf4;color:#16a34a;border-color:#16a34a44}.kb-ha-import:hover{background:#dcfce7!important;border-color:#16a34a88!important}body.dark .kb-ha-import{background:rgba(22,163,74,.1)!important;color:#86efac!important;border-color:rgba(22,163,74,.25)!important}.kanban-header{display:flex;align-items:center;gap:10px;margin-bottom:8px;flex-wrap:wrap}.kanban-header h3{font-weight:700;font-size:.9rem;color:var(--gn);flex:1}.kanban-board{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;min-height:200px}@media(max-width:800px){.kanban-board{grid-template-columns:repeat(2,1fr)}}@media(max-width:500px){.kanban-board{grid-template-columns:1fr}}.kanban-col{background:#f8f9fa;border-radius:var(--rs);padding:8px;min-height:150px;border:var(--brd-thick) solid var(--brd);display:flex;flex-direction:column}.kanban-col-header{font-size:.78rem;font-weight:700;padding:6px 10px;border-radius:6px;margin-bottom:8px;text-align:center}.kanban-col-header.todo{background:var(--tql);color:var(--tq)}.kanban-col-header.progress{background:var(--amberl);color:#92400e}.kanban-col-header.testing{background:var(--pkl);color:var(--pk)}.kanban-col-header.done{background:var(--gnl);color:var(--gn)}.kanban-cards{display:flex;flex-direction:column;gap:6px;flex:1}.k-card{background:#fff;border-radius:8px;padding:8px 10px;box-shadow:0 1px 4px rgba(0,0,0,.08);border-left:4px solid #ccc;cursor:pointer;transition:.15s}.k-card:hover{box-shadow:0 3px 12px rgba(0,0,0,.12);transform:translateY(-1px)}.k-card.high{border-left-color:var(--pk)}.k-card.medium{border-left-color:var(--amber)}.k-card.low{border-left-color:var(--gn)}.k-card-title{font-size:.78rem;font-weight:600;margin-bottom:3px}.k-card-meta{font-size:.6rem;color:#888;display:flex;gap:4px;flex-wrap:wrap;align-items:center}.k-exec-glow{font-size:.5rem;font-weight:700;color:#f59e0b;animation:execPulse 2s ease-in-out infinite;text-shadow:0 0 4px #f59e0b88}.k-prompt-glow{font-size:.5rem;font-weight:700;color:#e91e63;animation:promptPulse 2.5s ease-in-out infinite;text-shadow:0 0 4px #e91e6388}.k-card-actions{display:flex;gap:3px;margin-top:5px}.proj-launch-btn{font-size:.6rem;padding:2px 8px;border-radius:6px;cursor:pointer;background:linear-gradient(135deg,var(--gnl),#e0f2fe);color:var(--gn);font-weight:700;border:1.5px solid var(--gn);transition:all .15s;font-family:Calibri,sans-serif;text-decoration:none;display:inline-flex;align-items:center;gap:3px;white-space:nowrap}.proj-launch-btn:hover{background:var(--gn);color:#fff;transform:translateY(-1px);box-shadow:0 2px 8px rgba(46,125,50,.3)}body.dark .proj-launch-btn{background:rgba(46,125,50,.15);border-color:rgba(46,125,50,.4);color:#4ade80}body.dark .proj-launch-btn:hover{background:var(--gn);color:#fff}.kanban-col-header{display:flex;align-items:center;gap:4px}.kb-col-label{flex:1;text-align:center}.kb-col-add{font-size:.65rem;padding:1px 6px;border-radius:5px;cursor:pointer;background:rgba(0,0,0,.05);border:1px solid rgba(0,0,0,.08);color:#888;font-weight:700;transition:all .15s;font-family:Calibri,sans-serif;flex-shrink:0;line-height:1.3}.kb-col-add:hover{background:var(--pk);color:#fff;border-color:var(--pk)}.kb-col-end{font-size:.6rem;padding:1px 5px;border-radius:5px;cursor:pointer;background:rgba(0,0,0,.05);border:1px solid rgba(0,0,0,.08);color:#999;font-weight:700;transition:all .15s;font-family:Calibri,sans-serif;flex-shrink:0;line-height:1.3}.kb-col-end:hover{background:var(--gn);color:#fff;border-color:var(--gn)}body.dark .kb-col-end{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.1);color:#999}body.dark .kb-col-end:hover{background:var(--gn);color:#fff;border-color:var(--gn)}.kb-col-top{display:block;width:100%;margin-top:6px;font-size:.58rem;padding:4px 0;border-radius:6px;cursor:pointer;background:rgba(0,0,0,.04);border:1px solid rgba(0,0,0,.08);color:#999;font-weight:700;transition:all .15s;font-family:Calibri,sans-serif;text-align:center}.kb-col-top:hover{background:var(--gn);color:#fff;border-color:var(--gn)}body.dark .kb-col-top{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.1);color:#888}body.dark .kb-col-top:hover{background:var(--gn);color:#fff;border-color:var(--gn)}.urg-meter{display:inline-flex;gap:2px;align-items:center;flex-shrink:0}.urg-dot{width:7px;height:7px;border-radius:50%;background:#e5e7eb;cursor:pointer;transition:all .15s;border:1px solid #d1d5db}.urg-dot:hover{transform:scale(1.4);box-shadow:0 0 6px rgba(0,0,0,.15)}.urg-dot.lit.urg-1{background:#22c55e;border-color:#16a34a;box-shadow:0 0 3px #22c55e55}.urg-dot.lit.urg-2{background:#eab308;border-color:#ca8a04;box-shadow:0 0 3px #eab30855}.urg-dot.lit.urg-3{background:#f97316;border-color:#ea580c;box-shadow:0 0 3px #f9731655}.urg-dot.lit.urg-4{background:#ef4444;border-color:#dc2626;box-shadow:0 0 4px #ef444455}.urg-dot.lit.urg-5{background:#dc2626;border-color:#b91c1c;box-shadow:0 0 6px #dc262688}.urg-label{font-size:.45rem;font-weight:700;margin-left:2px;letter-spacing:.3px;text-transform:uppercase}.urg-label-3{color:#f97316}.urg-label-4{color:#ef4444}.urg-label-5{color:#dc2626;animation:urgPulse 1.5s infinite}.k-card-tools-bar{display:flex;align-items:center;gap:3px;margin-top:3px}.k-eye-btn{font-size:.7rem;cursor:pointer;opacity:.35;transition:all .15s;flex-shrink:0;padding:1px 2px;border-radius:4px;user-select:none}.k-eye-btn:hover{opacity:.8;transform:scale(1.15)}.k-eye-btn.open{opacity:1;filter:none}.kb-mini-btn{border:none;background:none;font-size:.55rem;cursor:pointer;padding:1px 3px;border-radius:4px;opacity:.45;transition:all .15s}.kb-mini-btn:hover{opacity:1;background:#f0f0f0;transform:scale(1.15)}.kb-qa-btn{font-size:.58rem;padding:3px 8px;border-radius:5px;cursor:pointer;font-weight:600;border:1px solid;font-family:Calibri,'Segoe UI',sans-serif;white-space:nowrap;transition:.15s;align-self:flex-end;line-height:1.1}.kb-qa-btn:hover{filter:brightness(.92);transform:translateY(-1px)}.k-tools-badge{font-size:.46rem;background:var(--pk);color:#fff;border-radius:8px;padding:0 4px;font-weight:700;line-height:1.4}.k-card-prompts{display:none;flex-direction:column;gap:4px;margin-top:4px;overflow:hidden}.k-card-prompts.open{display:flex}.k-card-desc{font-size:.62rem;color:#666;background:#f8f9fa;border-radius:5px;padding:4px 7px;border-left:2px solid #d1d5db;line-height:1.4;white-space:pre-wrap;max-height:60px;overflow-y:auto;-webkit-user-select:text;user-select:text;cursor:text}.task-desc-block{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:12px 14px;font-size:.78rem;line-height:1.7;color:#374151;white-space:pre-wrap}.task-desc-inline{font-size:.8rem;color:#666;margin-bottom:6px}.task-desc-detail{background:#f9f9f9;border-radius:8px;padding:8px;margin-bottom:10px;font-size:.8rem;line-height:1.5}.task-preview-title{font-size:.95rem;font-weight:700;color:#111827;line-height:1.4}.task-preview-heading{font-size:.78rem;font-weight:700;color:#374151}.task-preview-divider{border-top:1px solid #f0f0f0;padding-top:14px;margin-bottom:16px}.task-exec-note{background:#fff7ed;border:1px solid #fed7aa;border-radius:6px;padding:8px 10px;margin-bottom:6px;font-size:.72rem;line-height:1.5;color:#374151;white-space:pre-wrap}.task-test-step{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;padding:8px 10px;margin-bottom:6px;font-size:.72rem;line-height:1.5;color:#374151}.task-prompt-block{background:var(--pkl);border:1px solid #e9d5ff;border-radius:8px;padding:10px 12px;margin-bottom:8px}.k-card-prompt-text,.k-card-note-text{-webkit-user-select:text;user-select:text;cursor:text}.k-card-prompt-text{font-size:.58rem;color:#6b21a8;background:linear-gradient(135deg,#fdf2f8,var(--pkl));border-radius:5px;padding:4px 7px;border-left:2px solid #e91e63;line-height:1.4;white-space:pre-wrap;max-height:55px;overflow-y:auto}.k-card-prompt-label{display:inline-block;font-size:.5rem;font-weight:700;color:#e91e63;cursor:pointer;margin-right:4px}.k-card-prompt-label:hover{text-decoration:underline}.k-card-note-text{font-size:.58rem;color:#9a3412;background:#fff7ed;border-radius:5px;padding:4px 7px;border-left:2px solid #ea580c;line-height:1.4;white-space:pre-wrap;max-height:45px;overflow-y:auto}.k-card-note-label{display:inline-block;font-size:.5rem;font-weight:700;color:#ea580c;margin-right:4px}.k-card-blocked{font-size:.58rem;background:#fef2f2;border-radius:5px;padding:4px 7px;border-left:2px solid #ef4444;display:flex;flex-wrap:wrap;gap:3px;align-items:center}.k-card-blocked-label{font-weight:700;color:#ef4444;font-size:.5rem}.k-card-blocked-item{padding:1px 6px;border-radius:8px;background:#fff;border:1px solid #fca5a5;font-size:.52rem;font-weight:600;color:#dc2626;cursor:pointer;transition:all .15s}.k-card-blocked-item:hover{background:#fef2f2;transform:scale(1.05)}.k-card-blocked-item.resolved{color:#16a34a;border-color:#86efac;text-decoration:line-through;opacity:.6}.kb-prompt-pill{font-size:.5rem;padding:2px 7px;border-radius:9px;cursor:pointer;font-weight:600;border:1px solid #e91e6333;background:#fff0f5;color:var(--pk);font-family:Calibri,sans-serif;transition:all .15s;white-space:nowrap}.kb-prompt-pill:hover{background:var(--pk);color:#fff;border-color:var(--pk)}.kb-prompt-pill.add{background:#f0fdf4;color:var(--gn);border-color:#2e7d3233}.kb-prompt-pill.add:hover{background:var(--gn);color:#fff;border-color:var(--gn)}.kb-prompt-pill.expand{background:var(--pkl);color:var(--pk);border-color:rgba(233,30,99,.2)}.kb-prompt-pill.expand:hover{background:var(--pk);color:#fff;border-color:var(--pk)}.kb-prompt-pill.exec{background:#fff7ed;color:#ea580c;border-color:#ea580c33}.kb-prompt-pill.exec:hover{background:#ea580c;color:#fff;border-color:#ea580c}.kb-prompt-pill.exec-add{background:#fff7ed;color:#ea580c;border-color:#ea580c33}.kb-prompt-pill.exec-add:hover{background:#ea580c;color:#fff;border-color:#ea580c}.kb-filters-collapse{display:none;gap:6px;flex-wrap:wrap;align-items:center;padding:4px 0 8px}.kb-filters-collapse.open{display:flex}.kanban-popup-bg{display:none;position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:900;backdrop-filter:blur(4px)}.kanban-popup-bg.open{display:flex;align-items:center;justify-content:center}.kanban-popup-panel{position:fixed;inset:20px;z-index:901;background:var(--card-bg);border-radius:16px;box-shadow:0 16px 56px rgba(0,0,0,.3);padding:20px;overflow-y:auto;border:var(--brd-thick) solid var(--brd);animation:modalIn .25s ease-out}.kanban-popup-panel .kanban-board{min-height:calc(100vh - 140px)}.kanban-popup-close{background:var(--pk);color:#fff;border:none;border-radius:8px;padding:5px 14px;font-size:.72rem;font-weight:700;cursor:pointer;font-family:Calibri,sans-serif;transition:all .15s;float:right;margin-bottom:10px}.kanban-popup-close:hover{background:var(--pks);transform:scale(1.05)}.mbg{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.55);z-index:999;align-items:center;justify-content:center;backdrop-filter:blur(4px)}.mbg.open{display:flex}.mdl{background:#fff;border-radius:18px;padding:0;max-width:420px;width:92%;position:relative;box-shadow:0 16px 56px rgba(0,0,0,.3);border:var(--brd-thick) solid var(--brd);max-height:88vh;overflow-y:auto;animation:modalIn .25s ease}.mdl.wide{max-width:600px}.mdl-head{padding:18px 22px 14px;border-radius:18px 18px 0 0;position:relative;overflow:hidden}.mdl-head.pink{background:linear-gradient(135deg,#e91e63,#ad1457)}.mdl-head.green{background:linear-gradient(135deg,#2e7d32,#1b5e20)}.mdl-head.purple{background:linear-gradient(135deg,var(--pk),var(--pks))}.mdl-head.blue{background:linear-gradient(135deg,var(--gn),var(--gns))}.mdl-head.amber{background:linear-gradient(135deg,#f59e0b,#d97706)}.mdl-head.dark{background:linear-gradient(135deg,#1e1b4b,#312e81)}.mdl-head h3{color:#fff;font-size:1.05rem;font-weight:700;margin:0;display:flex;align-items:center;gap:8px}.mdl-head .mdl-subtitle{color:rgba(255,255,255,.7);font-size:.66rem;margin-top:3px}.mdl-head .mdl-deco{position:absolute;top:-15px;right:-10px;font-size:4.5rem;opacity:.12;pointer-events:none}.mdl-body{padding:16px 22px 10px}.mdl-section{margin-bottom:12px;padding-bottom:10px;border-bottom:2px solid var(--brd)}.mdl-section:last-child{border-bottom:none;margin-bottom:0}.mdl-section-title{font-size:.62rem;color:#e91e63;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;display:flex;align-items:center;gap:5px}.mdl-section-title.green{color:#2e7d32}.mdl-section-title.purple{color:var(--pk)}.mdl-section-title.blue{color:var(--gn)}.tf-row{border:1px solid rgba(0,0,0,.07);border-radius:8px;margin-bottom:4px;overflow:hidden}.tf-hdr{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;font-size:.74rem;font-weight:600;color:#334155;user-select:none;transition:.1s}.tf-hdr:hover{background:rgba(0,0,0,.02)}.tf-val{margin-left:auto;font-weight:400;font-size:.66rem;color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px}.tf-chev{font-size:.55rem;color:#94a3b8;transition:transform .2s;flex-shrink:0}.tf-row.open .tf-chev{transform:rotate(90deg)}.tf-body{display:none;padding:4px 12px 10px}.tf-row.open .tf-body{display:block}.tf-row.tf-inline{border-color:transparent;margin-bottom:0}.tf-row.tf-inline .tf-hdr{cursor:default;padding:6px 12px}body.dark .tf-row{border-color:rgba(255,255,255,.08)}body.dark .tf-hdr{color:#e2e8f0}body.dark .tf-hdr:hover{background:rgba(255,255,255,.03)}body.dark .tf-val{color:#94a3b8}body.dark .tf-chev{color:#64748b}.mdl h3{font-weight:700;font-size:1rem;color:var(--pk);margin-bottom:14px}.modal-actions{display:flex;gap:8px;justify-content:flex-end;padding:12px 22px 16px;border-top:var(--brd-thick) solid var(--brd);background:#fafafa;border-radius:0 0 18px 18px}.mdl>h3:first-child{padding:18px 22px 0;margin-bottom:10px}.empty-state .big-emoji{font-size:3rem;margin-bottom:8px}.empty-state p{font-size:.82rem}.progress-mini{height:4px;background:#eee;border-radius:2px;overflow:hidden;margin-top:4px}.progress-mini-fill{height:100%;border-radius:2px;background:linear-gradient(to right,var(--pk),var(--gn));transition:width .3s}.matrix-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.matrix-q{border-radius:var(--rs);padding:10px;min-height:180px}.matrix-q.q1{background:#fce4ec;border:2px solid var(--pk)}.matrix-q.q2{background:#e8f5e9;border:2px solid var(--gn)}.matrix-q.q3{background:#fff3cd;border:2px solid var(--amber)}.matrix-q.q4{background:#f5f5f5;border:2px solid #ddd}.matrix-q-header{display:flex;align-items:center;gap:6px;margin-bottom:8px;flex-wrap:wrap}.matrix-q-header strong{font-size:.82rem}.matrix-q-header .hint{font-size:.58rem}.matrix-q-count{background:rgba(0,0,0,.1);border-radius:10px;padding:1px 7px;font-size:.6rem;font-weight:700}.matrix-q-items{display:flex;flex-direction:column;gap:4px}.matrix-item{display:flex;align-items:flex-start;gap:6px;background:rgba(255,255,255,.7);padding:6px 8px;border-radius:6px;font-size:.74rem}.matrix-item.done{opacity:.5}.matrix-item-title{font-weight:600;font-size:.74rem}.pm-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.pm-quad{border-radius:var(--rs);padding:10px;min-height:200px;transition:all .25s}.pm-quad.pm-q1{background:linear-gradient(135deg,#fce4ec,#fce4ec);border:2.5px solid var(--pk)}.pm-quad.pm-q2{background:linear-gradient(135deg,#e8f5e9,#e8f5e9);border:2.5px solid var(--gn)}.pm-quad.pm-q3{background:linear-gradient(135deg,#fff8e1,#fff3cd);border:2.5px solid var(--amber)}.pm-quad.pm-q4{background:#f5f5f5;border:2.5px solid #ddd}.pm-quad-hdr{display:flex;align-items:center;gap:6px;margin-bottom:8px;flex-wrap:wrap}.pm-quad-hdr strong{font-size:.82rem}.pm-quad-hdr .hint{font-size:.58rem}.pm-quad-cnt{background:rgba(0,0,0,.1);border-radius:10px;padding:1px 7px;font-size:.6rem;font-weight:700}.pm-quad-items{display:flex;flex-direction:column;gap:5px}.pm-empty{text-align:center;color:#ccc;font-size:.72rem;padding:24px 8px}.pm-item{display:flex;align-items:center;gap:6px;background:#fff;padding:7px 8px;border-radius:8px;border:2px solid transparent;box-shadow:0 1px 4px rgba(0,0,0,.06);transition:all .2s;cursor:default;position:relative}.pm-item:hover{box-shadow:0 3px 12px rgba(0,0,0,.1);transform:translateY(-1px)}.pm-item.pm-dragging{opacity:.35;transform:scale(.95)}.pm-drag{cursor:grab;color:#ccc;font-size:.8rem;flex-shrink:0;user-select:none;transition:color .15s}.pm-drag:hover{color:var(--pk)}.pm-check{width:26px;height:26px;border-radius:50%;border:2.5px solid #d1d5db;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:800;color:transparent;transition:all .25s;flex-shrink:0;padding:0}.pm-check:hover{border-color:var(--gn);color:var(--gn);background:#f0fdf4;transform:scale(1.1)}.pm-check.checked{background:linear-gradient(135deg,#2e7d32,#43a047);border-color:#2e7d32;color:#fff;box-shadow:0 2px 10px rgba(46,125,50,.35),inset 0 1px 0 rgba(255,255,255,.25);animation:pmCheckPop .35s ease}.pm-warn{width:26px;height:26px;border-radius:50%;border:2.5px solid #e0e0e0;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.85rem;color:#ccc;transition:all .25s;flex-shrink:0;padding:0}.pm-warn:hover{border-color:#ef4444;color:#ef4444;background:#fef2f2;transform:scale(1.1)}.pm-warn.active{background:linear-gradient(135deg,#dc2626,#ef4444);border-color:#dc2626;color:#fff;box-shadow:0 0 12px rgba(220,38,38,.5),0 0 24px rgba(220,38,38,.25);animation:pmUrgentGlow 1.5s ease-in-out infinite}.pm-item-body{flex:1;min-width:0;cursor:pointer}.pm-item-title{font-weight:600;font-size:.76rem;line-height:1.3}.pm-line-through{text-decoration:line-through;opacity:.6}.pm-item-meta{display:flex;gap:4px;flex-wrap:wrap;font-size:.58rem;color:#888;margin-top:2px;align-items:center}.pm-status-tag{font-size:.5rem;padding:1px 6px;border-radius:8px;font-weight:600;background:#f3f4f6;color:#6b7280}.pm-st-todo{background:var(--tql);color:var(--tq)}.pm-st-progress{background:var(--amberl);color:#92400e}.pm-st-testing{background:var(--pkl);color:var(--pk)}.pm-st-done{background:var(--gnl);color:var(--gn)}.pm-item.pm-done{background:linear-gradient(135deg,#f0fdf4,#ecfdf5);border-color:#86efac}.pm-item.pm-done .pm-item-title{color:#6b7280}.pm-item.pm-urgent{border-color:#fca5a5;background:linear-gradient(135deg,#fff,#fef2f2)}.pm-item.pm-urgent::after{content:'';position:absolute;inset:-2px;border-radius:10px;box-shadow:0 0 8px rgba(220,38,38,.2);pointer-events:none}.pm-quad.pm-drop-hover{outline:3px dashed var(--pk);outline-offset:-3px;background-blend-mode:screen;transform:scale(1.01);box-shadow:inset 0 0 30px rgba(233,30,99,.08)}.pm-quad.pm-q1.pm-drop-hover{box-shadow:inset 0 0 30px rgba(233,30,99,.12)}.pm-quad.pm-q2.pm-drop-hover{box-shadow:inset 0 0 30px rgba(46,125,50,.12)}.pm-quad.pm-q3.pm-drop-hover{box-shadow:inset 0 0 30px rgba(245,158,11,.12)}body.dark .pm-quad.pm-q1{background:rgba(233,30,99,.08);border-color:rgba(233,30,99,.35)}body.dark .pm-quad.pm-q2{background:rgba(46,125,50,.08);border-color:rgba(46,125,50,.35)}body.dark .pm-quad.pm-q3{background:rgba(245,158,11,.08);border-color:rgba(245,158,11,.35)}body.dark .pm-quad.pm-q4{background:#1e1e28;border-color:var(--brd)}body.dark .pm-item{background:var(--card-bg);box-shadow:0 1px 4px rgba(0,0,0,.2)}body.dark .pm-item.pm-done{background:rgba(46,125,50,.08);border-color:rgba(46,125,50,.3)}body.dark .pm-item.pm-urgent{background:rgba(220,38,38,.06);border-color:rgba(220,38,38,.3)}body.dark .pm-check{background:#1e1e28;border-color:var(--brd)}body.dark .pm-check:hover{background:rgba(46,125,50,.15)}body.dark .pm-warn{background:#1e1e28;border-color:var(--brd)}body.dark .pm-warn:hover{background:rgba(220,38,38,.15)}body.dark .pm-drag{color:#555}@media(max-width:600px){.pm-grid{grid-template-columns:1fr}}.scard{background:#fff;border-radius:var(--rs);padding:14px;box-shadow:var(--sh);border:var(--brd-thick) solid var(--brd);border-top:3px solid var(--pk);transition:transform .2s,box-shadow .2s}.scard:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.1)}.scard h3{font-size:.88rem;color:var(--pk);margin-bottom:4px}.scard p{font-size:.68rem}.scard.danger{border-top-color:#dc2626}.animated-fade-in{animation:fadeIn .35s ease-out both}.animated-fade-up{animation:fadeInUp .4s ease-out both}.animated-fade-scale{animation:fadeInScale .3s ease-out both}.animated-slide-right{animation:slideInRight .35s ease-out both}.animated-slide-left{animation:slideInLeft .35s ease-out both}.animated-bounce{animation:bounceIn .5s cubic-bezier(.68,-.55,.27,1.55) both}.animated-gentle-bounce{animation:gentleBounce 2s ease-in-out infinite}.animated-pulse{animation:pulse 1.5s ease-in-out infinite}.animated-wiggle:hover{animation:wiggle .4s ease-in-out}.animated-glow{animation:glow 2s ease-in-out infinite}.animated-heartbeat:hover{animation:heartbeat .6s ease-in-out}.animated-ripple{animation:ripple 1.2s ease-out infinite}.animated-float{animation:float 3s ease-in-out infinite}.animated-color-shift{animation:colorShift 4s ease-in-out infinite}.animated-border-glow{animation:borderGlow 2.5s ease-in-out infinite}.animated-scale-in{animation:scaleIn .35s cubic-bezier(.68,-.55,.27,1.55) both}.animated-slide-up{animation:slideUp .4s ease-out both}.animated-rotate-in{animation:rotateIn .4s ease-out both}.tp.active{animation:tabAppear .3s ease-out both}.animated-hover-lift{transition:transform .2s ease,box-shadow .2s ease}.animated-hover-lift:hover{transform:translateY(-3px);box-shadow:0 8px 25px rgba(0,0,0,.12)!important}.animated-btn{transition:transform .15s ease,box-shadow .15s ease,background .2s ease}.animated-btn:hover{transform:translateY(-1px);box-shadow:0 3px 10px rgba(0,0,0,.15)}.animated-btn:active{transform:translateY(1px) scale(.96);box-shadow:none}.ab{transition:transform .12s ease,box-shadow .12s ease,background .2s ease,opacity .2s ease}.ab:hover{transform:translateY(-1px)}.ab:active{transform:translateY(1px) scale(.97)}.progress-mini-fill{transition:width .6s cubic-bezier(.4,0,.2,1)}.animated-progress{animation:progressGrow .8s ease-out both}.mbg{transition:opacity .2s ease,backdrop-filter .2s ease}.mbg.open .mdl{animation:fadeInScale .25s ease-out both}.kanban-col .card{animation:fadeIn .25s ease-out both}.kanban-col{transition:background .2s ease}.empty-state{text-align:center;padding:40px 20px;color:#999}.big-emoji{font-size:3rem;margin-bottom:12px;display:inline-block}.k-card{transition:transform .2s ease,box-shadow .2s ease,opacity .15s ease}.section-bar{transition:all .3s ease}.section-title{position:relative;overflow:hidden}.section-title::after{content:'';position:absolute;bottom:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,var(--pk),var(--gn));transform:scaleX(0);transform-origin:left;transition:transform .4s ease}.section-bar:hover .section-title::after{transform:scaleX(1)}.matrix-q{transition:box-shadow .2s ease,transform .2s ease}.matrix-q:hover{box-shadow:inset 0 0 20px rgba(0,0,0,.03)}.matrix-q.matrix-drop-target{transform:scale(1.02);box-shadow:0 0 0 3px var(--pk,#e91e63),inset 0 0 30px rgba(233,30,99,.08)!important}.matrix-item{transition:opacity .2s,transform .2s;cursor:grab}.matrix-item[draggable]:active{cursor:grabbing}.matrix-item.matrix-dragging{opacity:.3;transform:scale(.95)}@media(max-width:600px){.fg{grid-template-columns:1fr}}@media(max-width:600px){.bar-actions{width:100%}}@media print{.sidebar,.ebar,.fab-strip,.scrl,.section-bar .bar-actions,.brain-dump,.quick-capture-bar,.quick-task-bar{display:none!important}}@media print{.card .card-body{display:block!important}}@media print{.tp{display:block!important}}.xlink{cursor:pointer;text-decoration:none;border-bottom:1px dashed;padding:0 2px;border-radius:2px;transition:all .15s;font-weight:500}.xlink:hover{opacity:.8;transform:translateY(-1px)}.xlink-idea{color:#f59e0b;border-color:#f59e0b;background:rgba(245,158,11,.06)}.xlink-idea:hover{background:rgba(245,158,11,.15)}.xlink-project{color:var(--pk);border-color:var(--pk);background:rgba(233,30,99,.06)}.xlink-project:hover{background:rgba(233,30,99,.15)}.xlink-stream{color:var(--gn);border-color:var(--gn);background:rgba(46,125,50,.06)}.xlink-stream:hover{background:rgba(46,125,50,.15)}.xlink-task{color:var(--tq);border-color:var(--tq);background:rgba(13,148,136,.06)}.xlink-task:hover{background:rgba(13,148,136,.15)}.xlink-variant{color:#f59e0b;border-color:#f59e0b;background:rgba(245,158,11,.06)}.xlink-variant:hover{background:rgba(245,158,11,.15)}.xlink-blueprint{color:var(--pk);border-color:var(--pk);background:rgba(233,30,99,.06)}.xlink-blueprint:hover{background:rgba(233,30,99,.15)}.k-card{transition:box-shadow .15s,transform .1s}.k-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.12);transform:translateY(-1px)}#kanbanSection .tl-gantt{min-height:200px}body.dark .tl-gantt{background:#1a1a24!important;border-color:var(--brd)!important}body.dark .tl-gantt div[style*="background:#f9f9f9"]{background:var(--card-bg)!important}body.dark .tl-gantt div[style*="background:#f3f4f6"]{background:#22222e!important}body.dark .tl-gantt div[style*="background:#fafafa"]{background:rgba(255,255,255,.02)!important}#kanbanSection .tl-bar{z-index:2;user-select:none}#kanbanSection .tl-bar:hover{box-shadow:0 3px 12px rgba(0,0,0,.25)!important;z-index:5;transform:scaleY(1.08)}#kanbanSection .tl-bar:active,.tl-bar.tl-dragging{cursor:grabbing!important;z-index:10;box-shadow:0 4px 20px rgba(0,0,0,.3)!important;transform:scaleY(1.12)}#kanbanSection .tl-handle{position:absolute;top:0;bottom:0;width:14px;display:flex;align-items:center;justify-content:center;font-size:.6rem;color:rgba(255,255,255,.5);cursor:col-resize;z-index:3;transition:all .15s;border-radius:4px;opacity:0}#kanbanSection .tl-bar:hover .tl-handle{opacity:1}#kanbanSection .tl-handle:hover{color:#fff;background:rgba(0,0,0,.2)}#kanbanSection .tl-handle-l{left:0;border-radius:6px 0 0 6px}#kanbanSection .tl-handle-r{right:0;border-radius:0 6px 6px 0}.k-card.blocked{background:#fff5f5 !important}.k-card.blocked .k-card-title{color:#b91c1c}.k-card{transition:transform .15s,opacity .15s,box-shadow .15s}.k-card.dragging{opacity:.4;transform:scale(.95)}.k-card.drag-over{border-top:3px solid var(--pk);margin-top:-3px}.kanban-cards.drag-over-col{background:var(--pkl);border-radius:8px;outline:2px dashed var(--pk);outline-offset:-2px}.kanban-cards{min-height:60px;transition:background .15s}.kanban-col.drag-over-col{background:var(--pkl)}.k-card.bulk-mode{cursor:pointer;position:relative}.k-card.bulk-mode::before{content:'☐';position:absolute;top:4px;left:4px;font-size:.8rem;color:var(--pk);z-index:2}.k-card.bulk-selected{border:2px solid var(--pk) !important;background:var(--pkl) !important}.k-card.bulk-selected::before{content:'☑';color:var(--pk);font-weight:700}.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin-bottom:20px}.pf-card{background:#fff;border-radius:10px;padding:12px 14px;box-shadow:var(--sh);border:var(--brd-thick) solid var(--brd);cursor:pointer;transition:all .2s;position:relative}.pf-card:hover{box-shadow:var(--shh);transform:translateY(-2px)}.pf-head{display:flex;align-items:center;gap:6px;margin-bottom:6px}.pf-type{font-size:1.1rem;flex-shrink:0}.pf-title{font-size:.78rem;font-weight:700;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pf-status{font-size:.5rem;padding:2px 7px;border-radius:9px;font-weight:600;white-space:nowrap;text-transform:capitalize}.pf-stats{display:flex;gap:10px;font-size:.62rem;color:#888;margin-bottom:5px}.pf-progress{height:4px;background:#f0f0f0;border-radius:2px;overflow:hidden;margin-bottom:6px}.pf-progress-fill{height:100%;border-radius:2px;transition:width .4s}.pf-meta{display:flex;gap:8px;font-size:.56rem;color:#999;margin-bottom:6px;flex-wrap:wrap}.pf-evo{display:flex;align-items:center;gap:0;padding:2px 0}.pf-evo-dot{width:10px;height:10px;border-radius:50%;border:2px solid #d1d5db;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:.36rem;transition:all .2s}.pf-evo-dot.filled{border-color:currentColor}.pf-evo-dot.active{animation:pulse 1.5s infinite}.pf-evo-line{width:8px;height:2px;flex-shrink:0;border-radius:1px;transition:background .2s}.pf-backlog{margin-top:16px;padding:14px;background:#fff;border-radius:10px;box-shadow:var(--sh);border:var(--brd-thick) solid var(--brd)}.pf-backlog-title{font-size:.82rem;font-weight:700;margin-bottom:10px}.pf-backlog-group{margin-bottom:10px}.pf-backlog-label{font-size:.68rem;font-weight:700;display:block;margin-bottom:4px}.pf-pills{display:flex;flex-wrap:wrap;gap:4px}.pf-pill{font-size:.58rem;padding:3px 9px;border-radius:12px;border:1px solid;cursor:pointer;transition:all .15s;white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis}.pf-pill:hover{transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,.1)}.pill-sel{display:flex;flex-wrap:wrap;gap:3px;margin-top:2px}.pill-sel-opt{font-size:.64rem;padding:4px 11px;border-radius:12px;cursor:pointer;border:1.5px solid #e5e7eb;background:#f9fafb;font-weight:700;transition:all .15s;user-select:none;display:inline-flex;align-items:center;gap:3px;box-shadow:0 1px 3px rgba(0,0,0,.05)}.pill-sel-opt:hover{border-color:var(--pk);background:var(--pkl)}.pill-sel-opt.sel{background:linear-gradient(135deg,var(--pk),#ad1457);color:#fff;border-color:var(--pk);box-shadow:0 2px 8px rgba(233,30,99,.2)}.pill-sel-group{display:block;width:100%;font-size:.52rem;font-weight:700;color:#888;text-transform:uppercase;letter-spacing:.5px;padding:4px 2px 1px;margin-top:4px;border-top:1px solid #eee;font-family:Calibri,sans-serif}.pill-sel-group:first-child{margin-top:0;border-top:none;padding-top:0}body.dark .pill-sel-group{color:#666;border-top-color:var(--brd)}.section-title{font-size:0.9rem;flex:1}.proj-note-btn{background:#fef3c7 !important;color:#f59e0b !important;border:1px solid rgba(245,158,11,0.3) !important;padding:4px 8px;border-radius:4px;font-size:0.7rem;font-weight:600;cursor:pointer;transition:all 0.2s ease;margin-right:4px}.proj-note-btn:hover{background:#f59e0b !important;color:white !important;transform:translateY(-1px);box-shadow:0 2px 8px rgba(245,158,11,0.3)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.6);display:flex;align-items:center;justify-content:center;z-index:1000;backdrop-filter:blur(4px)}.modal-content{background:white;border-radius:12px;max-width:600px;width:90vw;max-height:80vh;overflow-y:auto;box-shadow:0 16px 56px rgba(0,0,0,0.3);animation:modalSlideIn 0.3s ease}.modal-header{padding:20px 24px 16px;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between}.modal-header h3{margin:0;font-size:1.1rem;font-weight:700;color:#374151}.modal-body{padding:20px 24px}.empty-state{text-align:center;padding:60px 20px;color:#6b7280}body.dark .modal-content{background:var(--card-bg)}body.dark .modal-header{border-bottom-color:var(--brd)}body.dark .modal-header h3{color:var(--bd)}.k-card.test-failed{position:relative;z-index:10}.k-card.test-failed::before{content:'❌ FAILED TEST';position:absolute;top:-8px;right:-8px;background:#ef4444;color:white;font-size:0.6rem;font-weight:bold;padding:2px 6px;border-radius:4px;z-index:11;animation:pulse 1.5s infinite}