.fka-pd-tabs{display:flex;gap:4px;background:#ececf0;border-radius:10px;padding:3px;width:max-content;max-width:100%;margin:0 0 16px;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text",Helvetica,Arial,sans-serif}
.fka-pd-tab{font:inherit;font-size:14px;border:0;background:transparent;padding:7px 16px;border-radius:8px;cursor:pointer;color:#1d1d1f}
.fka-pd-tab.is-on{background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.12);font-weight:600}
.fka-pd{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text",Helvetica,Arial,sans-serif;color:#1d1d1f;width:100%;max-width:none;box-sizing:border-box;font-size:14px}
.fka-pd *{box-sizing:border-box}
.fka-pd-head h2{font-size:28px;font-weight:600;letter-spacing:-.01em;margin:0 0 4px}
.fka-pd-sub{color:#6e6e73;margin:0 0 16px;font-size:14px}
.fka-pd-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 16px}
.fka-pd-chip{font:inherit;font-size:13px;border:1px solid #d2d2d7;background:#fff;color:#1d1d1f;border-radius:980px;padding:6px 12px;cursor:pointer}
.fka-pd-chip.is-on{background:#1d1d1f;border-color:#1d1d1f;color:#fff}
.fka-pd-chip b{font-weight:600;margin-left:4px}
.fka-pd-chip.amber b{color:#b25000}.fka-pd-chip.amber.is-on b{color:#ffcc80}
.fka-pd select,.fka-pd input,.fka-pd textarea{font:inherit;font-size:14px;color:#1d1d1f;background:#fff;border:1px solid #d2d2d7;border-radius:8px;padding:6px 8px;width:100%;min-width:0}
.fka-pd select:focus,.fka-pd input:focus,.fka-pd textarea:focus{outline:none;border-color:#0071e3;box-shadow:0 0 0 3px rgba(0,113,227,.15)}
.fka-pd-bar select,.fka-pd-bar input{width:auto;flex:0 1 200px}
.fka-pd-proj{background:#fff;border-radius:14px;box-shadow:0 1px 2px rgba(0,0,0,.06),0 0 0 1px rgba(0,0,0,.05);padding:14px 16px;margin:0 0 12px}
.fka-pd-ph{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;margin:0 0 8px}
.fka-pd-ph h3{font-size:17px;font-weight:600;margin:0}
.fka-pd-grp{color:#86868b;font-size:12px}
.fka-pd-link{font:inherit;font-size:13px;border:0;background:none;color:#0066cc;cursor:pointer;padding:2px 0}
.fka-pd-ph .fka-pd-acts{margin-left:auto;display:flex;gap:14px}
.fka-pd-cols,.fka-pd-line{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1.6fr) minmax(0,.9fr) minmax(0,1.3fr) minmax(0,1fr) minmax(0,2fr) minmax(0,1.5fr) 28px;gap:8px;align-items:start}
.fka-pd-cols{color:#86868b;font-size:11px;text-transform:uppercase;letter-spacing:.04em;padding:0 0 4px}
.fka-pd-line{padding:8px 0;border-top:1px solid #f0f0f2}
.fka-pd-line.is-amber{background:#fff8eb;box-shadow:-16px 0 0 #fff8eb,16px 0 0 #fff8eb;border-left:0}
.fka-pd-line .lab{display:none}
.fka-pd-noPic{border-color:#ff9f0a!important;color:#b25000!important}
.fka-pd-sup{position:relative}
.fka-pd-sup summary{list-style:none;cursor:pointer;border:1px solid #d2d2d7;border-radius:8px;padding:6px 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#fff}
.fka-pd-sup summary::-webkit-details-marker{display:none}
.fka-pd-sup .pop{position:absolute;z-index:20;top:100%;left:0;margin-top:4px;background:#fff;border-radius:12px;box-shadow:0 8px 30px rgba(0,0,0,.15);padding:10px;display:grid;grid-template-columns:1fr 1fr;gap:4px 12px;min-width:200px}
.fka-pd-sup label{display:flex;gap:6px;align-items:center;font-size:13px}
.fka-pd-sup input{width:auto}
.fka-pd textarea{min-height:34px;height:34px;resize:vertical}
.fka-pd textarea:focus{height:90px}
.fka-pd-del{border:0;background:none;color:#aeaeb2;font-size:18px;cursor:pointer;padding:4px}
.fka-pd-hc{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:2px}
.fka-pd-step{background:#f5f5f7;border-radius:10px;padding:8px 10px;display:flex;flex-direction:column;gap:4px;min-width:0}
.fka-pd-step.is-on{background:#e9f7ee}
.fka-pd-step.is-amber{background:#fff1d6;box-shadow:inset 0 0 0 1px #ff9f0a}
.fka-pd-step .row{display:flex;align-items:center;justify-content:space-between;gap:8px;font-weight:500}
.fka-pd-step .meta{font-size:12px;color:#6e6e73}
.fka-pd-step .warn{font-size:12px;color:#b25000;font-weight:500}
.fka-pd-step input{font-size:13px;padding:4px 6px}
.fka-pd-sw{position:relative;flex:0 0 auto;width:42px;height:26px;border-radius:13px;border:0;background:#e5e5ea;cursor:pointer;transition:background .2s;padding:0}
.fka-pd-sw span{position:absolute;top:2px;left:2px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 2px 4px rgba(0,0,0,.2);transition:left .2s}
.fka-pd-sw[aria-checked=true]{background:#34c759}.fka-pd-sw[aria-checked=true] span{left:18px}
.fka-pd-sw:disabled{opacity:.4;cursor:default}
.fka-pd-tag{display:inline-block;font-size:11px;font-weight:600;color:#fff;background:#0071e3;border-radius:6px;padding:1px 6px;margin-right:6px;vertical-align:1px}
.fka-pd-empty{color:#86868b;padding:20px 0}
.fka-pd-save{position:fixed;right:16px;bottom:16px;background:#1d1d1f;color:#fff;border-radius:980px;padding:8px 14px;font-size:13px;opacity:0;transition:opacity .2s;pointer-events:none;z-index:50}
.fka-pd-save.show{opacity:.9}
@media (max-width:820px){
 .fka-pd-tabs{width:100%}.fka-pd-tab{flex:1}
 .fka-pd-head h2{font-size:22px}
 .fka-pd-bar select,.fka-pd-bar input{flex:1 1 45%}
 .fka-pd-cols{display:none}
 .fka-pd-proj{padding:12px}
 .fka-pd-ph .fka-pd-acts{margin-left:0;width:100%}
 .fka-pd-line{grid-template-columns:1fr 1fr;gap:6px 8px;padding:10px 0}
 .fka-pd-line .lab{display:block;font-size:11px;color:#86868b;text-transform:uppercase;letter-spacing:.04em;margin:0 0 2px}
 .fka-pd-line .f-stage,.fka-pd-line .f-task,.fka-pd-line .f-notes{grid-column:1/-1}
 .fka-pd-line .f-del{grid-column:1/-1;text-align:right}
 .fka-pd-line.is-amber{box-shadow:-12px 0 0 #fff8eb,12px 0 0 #fff8eb}
 .fka-pd-hc{grid-template-columns:1fr 1fr}
}
.fka-pd-ph h3 a{color:inherit;text-decoration:none}.fka-pd-ph h3 a:hover{color:#0066cc}
.fka-pd-top{margin:0 0 12px}.fka-pd-btn{display:inline-block;background:#f5f5f7;color:#0066cc;border-radius:980px;padding:8px 16px;font-size:14px;text-decoration:none;font-family:-apple-system,BlinkMacSystemFont,Helvetica,Arial,sans-serif}
.fka-pd-ballrow{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.fka-pd-ballrow select{width:auto;max-width:110px;font-size:12px;padding:3px 6px}
.fka-pd-pill{display:inline-flex;align-items:center;gap:6px;border-radius:980px;padding:4px 10px;font-size:13px;background:#e8f2ff;color:#0040a0;white-space:nowrap;font-variant-numeric:tabular-nums}
.fka-pd-pill i{width:7px;height:7px;border-radius:50%;background:currentColor;animation:fkaPdTick 2s infinite}
.fka-pd-pill.is-amber{background:#fff1d6;color:#a04a00}.fka-pd-pill.is-red{background:#ffe5e3;color:#c4170b}
.fka-pd-pill.is-none{background:#f5f5f7;color:#86868b}.fka-pd-pill.is-none i{animation:none}
@keyframes fkaPdTick{50%{opacity:.25}}
.fka-pd-hist{width:100%;font-size:12px}.fka-pd-hist summary{color:#0066cc;cursor:pointer}
.fka-pd-hist .chain{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;margin-top:6px}
.fka-pd-hist .hop{background:#f5f5f7;border-radius:8px;padding:3px 8px}.fka-pd-hist .hop.cur{background:#e8f2ff}
.fka-pd-hist .hop small{display:block;color:#86868b;font-size:11px}.fka-pd-hist .arr{color:#aeaeb2}
@media (max-width:820px){.fka-pd-line .f-ball{grid-column:1/-1}}
/* 1.4.0 handover features */
.fka-pd-ballacts{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.fka-pd-mini{font:inherit;font-size:12px;border:1px solid #d2d2d7;background:#fff;color:#1d1d1f;border-radius:980px;padding:3px 10px;cursor:pointer;white-space:nowrap}
.fka-pd-mini.pri{background:#0071e3;border-color:#0071e3;color:#fff}
.fka-pd-mini.go{background:#34c759;border-color:#34c759;color:#fff;font-weight:600}
.fka-pd-mini.stuck{color:#c4170b;border-color:#ffc9c4}.fka-pd-mini.stuck.is-on{background:#c4170b;color:#fff;border-color:#c4170b}
.fka-pd-pill.is-wait{background:#ececf0;color:#55555a}.fka-pd-pill.is-wait i{animation:none}
.fka-pd-tagq{font-size:11px;color:#a04a00;background:#fff1d6;border-radius:6px;padding:2px 6px}
.fka-pd-tagok{font-size:11px;color:#1b7a3a;background:#e9f7ee;border-radius:6px;padding:2px 6px}
.fka-pd-why{font-size:12px;color:#6e6e73;margin-top:4px}
.fka-pd-hist .hop em{display:block;font-style:normal;font-size:11px;color:#3a3a3c;max-width:260px}
.fka-pd-line.is-stuck{outline:2px solid #ff3b30;outline-offset:2px;border-radius:10px}
.fka-pd-chip.red b{color:#c4170b}.fka-pd-chip.red.is-on b{color:#ffb4ad}
.fka-pd-form{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.2fr) repeat(4,minmax(0,1fr)) auto;gap:8px;align-items:end;background:#f5f9ff;border:1px solid #cfe3ff;border-radius:12px;padding:10px 12px;margin-top:6px}
.fka-pd-form>b{grid-column:1/-1;font-size:13px}
.fka-pd-form label{font-size:12px;color:#3a3a3c;display:flex;flex-direction:column;gap:2px}.fka-pd-form label i{font-style:normal;color:#86868b;font-size:11px}
.fka-pd-form .btns{display:flex;gap:6px}
.fka-pd-form[data-form=wait]{grid-template-columns:minmax(0,1fr) minmax(0,3fr) auto;background:#f5f5f7;border-color:#e0e0e5}
.fka-pd-seg{display:inline-flex;background:#ececf0;border-radius:980px;padding:2px}.fka-pd-seg button{font:inherit;font-size:13px;border:0;background:none;border-radius:980px;padding:5px 12px;cursor:pointer}.fka-pd-seg .is-on{background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.12);font-weight:600}
.fka-pd-board{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.fka-pd-col{background:#fff;border-radius:14px;box-shadow:0 0 0 1px rgba(0,0,0,.05);padding:12px}.fka-pd-col h4{margin:0 0 8px;font-size:15px}.fka-pd-col h4 span{color:#86868b;font-weight:400}
.fka-pd-card{border-top:1px solid #f0f0f2;padding:8px 0;display:flex;flex-direction:column;gap:3px}.fka-pd-card .fka-pd-pill{align-self:flex-start}.fka-pd-card small{color:#6e6e73}
.fka-pd-card.is-stuck{outline:2px solid #ff3b30;border-radius:8px;padding:8px}.fka-pd-card em{font-style:normal;font-size:11px;font-weight:600}.fka-pd-card .st{color:#c4170b}.fka-pd-card .nr{color:#a04a00}
@media (max-width:820px){.fka-pd-form,.fka-pd-form[data-form=wait]{grid-template-columns:1fr}.fka-pd-seg{width:100%}.fka-pd-seg button{flex:1}}
.fka-pd-form{order:2}.fka-pd-hc{order:3}
.fka-pd-photos{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.fka-pd-photos img,.fka-pd-hist .thumbs img{width:44px;height:44px;object-fit:cover;border-radius:6px;display:block;border:1px solid #e5e5ea}
.fka-pd-photos label{cursor:pointer}.fka-pd-hist .thumbs{display:flex;gap:4px;margin-top:4px}
.fka-pd-red{background:#fff;border-radius:14px;box-shadow:0 0 0 1px #ffc9c4;padding:12px 16px;margin:0 0 14px}.fka-pd-red>b{color:#c4170b;font-size:15px}.fka-pd-red>b span{background:#c4170b;color:#fff;border-radius:980px;padding:0 7px;font-size:12px;margin-left:4px}
.fka-pd-red ol{margin:8px 0 0;padding:0 0 0 20px}.fka-pd-red li{padding:4px 0}.fka-pd-red a{color:#1d1d1f;text-decoration:none}.fka-pd-red small{color:#6e6e73}.fka-pd-red em{font-style:normal;color:#c4170b;font-weight:600;font-size:12px}
.fka-pd-red.ok{box-shadow:0 0 0 1px #d6f0de;color:#1b7a3a}.fka-pd-red.ok>b{color:#1b7a3a;margin-right:8px}
.fka-pd-line.is-flash{background:#e8f2ff;transition:background .3s}
@media (max-width:820px){.fka-pd-line{position:relative}.fka-pd-line .f-del{position:absolute;top:2px;right:-4px;grid-column:auto;text-align:right}.fka-pd-line .f-stage{padding-right:30px}}

/* 1.4.2 login gate */
.fka-pd-gate{max-width:420px;margin:24px auto;padding:24px;border:1px solid #e5e5ea;border-radius:12px;background:#fff;text-align:center}
.fka-pd-gate .fka-pd-empty{padding:0 0 12px}
.fka-pd-btn{display:inline-block;padding:10px 22px;border-radius:8px;background:#1d1d1f;color:#fff!important;text-decoration:none;font-weight:600}
.fka-pd-btn:hover{opacity:.85}
.fka-pd-forgot{margin:14px 0 0;font-size:14px;color:#86868b}
.fka-pd-forgot a{color:inherit;text-decoration:underline;font-weight:600}

/* 1.4.5 clickable By person cards + edit panel */
.fka-pd-card[data-card]{cursor:pointer;transition:box-shadow .15s,border-color .15s,transform .15s}
.fka-pd-card[data-card]:hover{border-color:#0071e3;box-shadow:0 4px 14px rgba(0,0,0,.08);transform:translateY(-1px)}
.fka-pd-card[data-card]:focus-visible{outline:2px solid #0071e3;outline-offset:2px}
.fka-pd-card.is-sel{border-color:#0071e3;box-shadow:0 0 0 2px rgba(0,113,227,.25)}
.fka-pd-scrim{position:fixed;inset:0;background:rgba(0,0,0,.28);z-index:9998}
.fka-pd-panel{position:fixed;top:0;right:0;bottom:0;width:440px;max-width:100%;background:#fff;z-index:9999;box-shadow:-8px 0 30px rgba(0,0,0,.15);display:flex;flex-direction:column;animation:fkaPdIn .2s ease-out}
@keyframes fkaPdIn{from{transform:translateX(30px);opacity:0}to{transform:none;opacity:1}}
.fka-pd-panhead{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 20px 12px;border-bottom:1px solid #e5e5ea}
.fka-pd-panhead h3{margin:2px 0 0;font-size:17px;line-height:1.3}
.fka-pd-x{border:0;background:#f2f2f7;border-radius:50%;width:32px;height:32px;font-size:20px;line-height:1;cursor:pointer;flex:none}
.fka-pd-x:hover{background:#e5e5ea}
.fka-pd-panbody{overflow:auto;padding:14px 20px 24px;flex:1}
.fka-pd-panel .fka-pd-line.fka-pd-pline{display:flex!important;flex-direction:column;gap:10px;border:0;padding:0;margin:0;background:none;grid-template-columns:none}
.fka-pd-pline>div{width:100%}
.fka-pd-pline .lab{display:block!important;font-size:11px;color:#86868b;text-transform:uppercase;letter-spacing:.04em;margin-bottom:3px}
.fka-pd-pline select,.fka-pd-pline input,.fka-pd-pline textarea{width:100%;max-width:none;box-sizing:border-box}
.fka-pd-pline textarea{min-height:80px}
.fka-pd-panfoot{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:18px 0 0;font-size:13px;color:#86868b}
.fka-pd-panfoot a{color:#0071e3;font-weight:600;text-decoration:none}
@media(max-width:820px){.fka-pd-panel{top:auto;left:0;width:100%;max-height:86vh;border-radius:16px 16px 0 0;box-shadow:0 -8px 30px rgba(0,0,0,.18);animation:fkaPdUp .22s ease-out}
.fka-pd-panel:before{content:"";display:block;width:40px;height:5px;border-radius:3px;background:#d1d1d6;margin:8px auto 0}
@keyframes fkaPdUp{from{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}}
/* 1.4.6 Upcoming lines + folder numbers */
.fka-pd-dt{display:flex;align-items:center;gap:4px;margin:0 0 4px}.fka-pd-dt small{color:#86868b;font-size:10px;text-transform:uppercase;letter-spacing:.03em;width:30px;flex:none}.fka-pd-dt input{min-width:0;flex:1}
.fka-pd-fno{font-variant-numeric:tabular-nums;color:#6e6e73;font-weight:600;background:#f2f2f7;border-radius:6px;padding:1px 6px;margin-right:2px}
.fka-pd-pill.is-upc{background:#f2f2f7;color:#6e6e73}.fka-pd-pill.is-upc i{background:#c7c7cc}
.fka-pd-upc{margin-top:8px;border-top:1px dashed #d2d2d7;padding-top:6px;font-size:12px;color:#6e6e73}
.fka-pd-upc summary{cursor:pointer;font-weight:600;padding:2px 0}
.fka-pd-uline{padding:4px 6px;border-radius:6px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fka-pd-uline:hover,.fka-pd-uline:focus{background:#f2f2f7;outline:none}.fka-pd-uline span{color:#0066cc}
.fka-pd-upc.in-proj{margin-top:4px}
/* 1.4.7 View as (read-only) */
.fka-pd-tabs{display:flex;align-items:center;flex-wrap:wrap;gap:6px}
.fka-pd-viewas{margin-left:auto;display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600}
.fka-pd-viewas select{padding:5px 8px;border:1px solid #b9c2cc;border-radius:6px;font-size:13px;background:#fff}
.fka-pd-vbar{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fff4d6;border:1px solid #e8c55c;color:#5a4300;border-radius:8px;padding:8px 12px;margin:0 0 10px;font-size:14px}
.fka-pd-ro .fka-pd-del,.fka-pd-ro [data-addproj],.fka-pd-ro [data-addline],.fka-pd-ro [data-addhc],.fka-pd-ro [data-delproj],.fka-pd-ro [data-folder]{display:none!important}
.fka-pd-ro .fka-st-btns{display:none!important}
.fka-pd-ro #fka-pd-app input:disabled,.fka-pd-ro #fka-pd-app select:disabled,.fka-pd-ro #fka-pd-app textarea:disabled{background:#f4f5f7;color:#333;opacity:1}
.fka-pd-tabs:has(.fka-pd-viewas){display:flex!important;width:100%;box-sizing:border-box}
.fka-pd-viewas span{white-space:nowrap}
.fka-pd-vbar{font-family:inherit}
.fka-pd-ro #fka-pd-app button:disabled{opacity:.45;cursor:not-allowed}

/* 1.4.8: View as animation */
.fka-pd-proj,.fka-pd-line,.fka-pd-col{transition:opacity .4s ease}
.fka-pd-proj.is-vdim,.fka-pd-line.is-vdim,.fka-pd-col.is-vdim{opacity:.35}
.fka-pd-proj.is-va{box-shadow:inset 3px 0 0 #0066cc}
.fka-pd-col.is-va{outline:2px solid #0066cc;outline-offset:2px;border-radius:12px}
.fka-pd-top{position:relative;z-index:30}.fka-pd-top a.fka-pd-btn{position:relative;z-index:31;pointer-events:auto;cursor:pointer}
@media (prefers-reduced-motion:reduce){.fka-pd-proj,.fka-pd-line,.fka-pd-col{transition:none}}
