*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;background:#f5f7fb;color:#172033}button,input,textarea,select{font:inherit}button{cursor:pointer}header{height:56px;background:#172554;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 20px}header b{font-size:20px}header small{opacity:.7}header a{color:#fff;text-decoration:none}main{display:grid;grid-template-columns:245px 1fr;min-height:calc(100vh - 56px)}aside{background:#fff;border-right:1px solid #e5e7eb;padding:14px}aside h3{font-size:12px;text-transform:uppercase;color:#64748b;margin:18px 4px 6px}.primary,.save,.loginbox button{background:#2563eb;color:#fff;border:0;border-radius:9px;padding:9px 13px;font-weight:700}.primary:hover,.save:hover{background:#1d4ed8}.worknav a{display:flex;justify-content:space-between;gap:8px;padding:8px 10px;margin:2px 0;border-radius:8px;text-decoration:none;color:#334155;font-size:14px}.worknav a:hover,.worknav a.active{background:#eff6ff;color:#1d4ed8}.worknav .dangerlink{color:#b91c1c}.worknav .dangerlink.active{background:#fef2f2;color:#b91c1c}.project{display:block;padding:9px 10px;margin:4px 0;border-radius:9px;text-decoration:none;color:#1e293b}.project.active{background:#eff6ff}.project span{display:block;color:#64748b;font-size:11px;margin-top:3px}.project i,.progress i{display:block;height:4px;background:#e2e8f0;border-radius:5px;margin-top:5px;overflow:hidden}.project em,.progress em{display:block;height:100%;background:#2563eb}section{padding:18px 22px;max-width:1450px;width:100%}.toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.toolbar h1{margin:0;font-size:26px}.toolbar p{color:#64748b;margin:2px 0}.cards{display:grid;gap:7px}.task{background:#fff;border:1px solid #e2e8f0;border-radius:11px;padding:10px 13px;box-shadow:0 1px 4px #0f172a08}.task.late{border-left:4px solid #dc2626}.taskline{display:flex;align-items:center;justify-content:space-between;gap:14px}.taskmain{min-width:0}.chips{display:flex;gap:5px;align-items:center;flex-wrap:wrap}.badge,.priority,.projectchip{display:inline-block;font-size:11px;padding:2px 7px;border-radius:99px;background:#dbeafe;color:#1e40af;text-decoration:none}.priority{background:#f1f5f9;color:#475569}.p-wysoki{background:#ffedd5;color:#9a3412}.p-pilny{background:#fee2e2;color:#991b1b}.p-niski{background:#ecfdf5;color:#166534}.projectchip{background:#f3e8ff;color:#6b21a8}.task h2{font-size:16px;margin:5px 0 2px}.dates{font-size:11px;color:#64748b;display:flex;gap:10px}.red{color:#b91c1c;font-weight:700}.progress{width:85px;text-align:right;flex:0 0 85px}.progress b{font-size:13px}.taskdetails{margin-top:5px}.taskdetails>summary,.notesdetails>summary{cursor:pointer;font-size:12px;font-weight:700;color:#475569;list-style:none}.taskdetails>summary::-webkit-details-marker,.notesdetails>summary::-webkit-details-marker{display:none}.description{color:#475569;font-size:14px;line-height:1.45;padding:10px 0 4px;white-space:normal}.meta{font-size:11px;color:#64748b;margin:5px 0}.statusform{display:grid;grid-template-columns:1.05fr 1fr 145px 145px 80px auto;gap:7px;align-items:end;margin-top:8px}.statusform label{font-size:10px;color:#64748b}.statusform input,.statusform select,.noteform textarea,dialog input,dialog textarea,dialog select{border:1px solid #cbd5e1;border-radius:8px;padding:7px;background:#fff;width:100%}.notesdetails{margin-top:10px}.noteform textarea{min-height:60px;margin:6px 0}.note{border-left:3px solid #93c5fd;padding:6px 9px;margin:6px 0;background:#f8fafc;font-size:13px}.note time{display:block;color:#64748b;font-size:10px;margin-bottom:2px}.deleteform{text-align:right;margin-top:8px}.delete{background:#dc2626;color:#fff;border:0;border-radius:8px;padding:7px 10px;font-weight:700}.delete:hover{background:#b91c1c}.empty{text-align:center;padding:45px;color:#64748b;background:#fff;border:1px dashed #cbd5e1;border-radius:12px}dialog{border:0;border-radius:16px;width:min(540px,92vw);padding:0;box-shadow:0 25px 60px #0004}dialog::backdrop{background:#0f172a99}dialog form{padding:24px}dialog label{display:block;font-size:13px;font-weight:700;margin:11px 0}dialog input,dialog textarea,dialog select{display:block;margin-top:4px}dialog textarea{min-height:85px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.x{float:right;border:0;background:none;font-size:28px;color:#64748b}.login{min-height:100vh;display:grid;place-items:center;background:#eef2ff}.loginbox{width:min(390px,92vw);background:#fff;padding:30px;border-radius:18px;box-shadow:0 20px 50px #17255422}.loginbox h1{margin-bottom:2px}.loginbox p{color:#64748b}.loginbox input{display:block;width:100%;margin:10px 0}.loginbox button{width:100%;margin-top:8px}.install{width:min(480px,92vw)}.alert{background:#fee2e2;color:#991b1b;padding:10px;border-radius:8px}
@media(max-width:900px){.statusform{grid-template-columns:1fr 1fr 1fr}.statusform .save{min-height:39px}}
@media(max-width:760px){header{height:52px;padding:0 12px}header small{display:none}main{display:block}aside{border:0;border-bottom:1px solid #e5e7eb;padding:9px;overflow-x:auto;white-space:nowrap}aside h3{display:none}.worknav{display:inline-flex;gap:3px;vertical-align:top}.worknav a{display:inline-flex;min-width:auto}.project{display:inline-block;min-width:145px;vertical-align:top}.project i{display:none}section{padding:10px}.toolbar{align-items:center}.toolbar h1{font-size:21px}.toolbar .primary{font-size:0}.toolbar .primary:first-letter{font-size:20px}.task{padding:9px}.task h2{font-size:15px}.statusform{grid-template-columns:1fr 1fr}.grid{grid-template-columns:1fr}.progress{width:65px;flex-basis:65px}.dates{flex-wrap:wrap;gap:4px 8px}.delete,.save,.primary{min-height:40px}}

/* ProjectFlow v3 - kompaktowy pulpit */
.worknav{display:grid;gap:3px}.worknav a{width:100%;min-height:36px;align-items:center}.worknav a b{min-width:24px;text-align:center;background:#e2e8f0;border-radius:999px;padding:2px 7px;font-size:11px}.worknav a.active b{background:#bfdbfe}.worknav .dangerlink b{background:#fee2e2}.todaydate{font-size:.55em;color:#64748b;font-weight:600}.cards.compact{gap:5px}.task{padding:7px 10px;border-radius:9px}.taskline{min-height:52px}.task h2{font-size:15px;margin:3px 0 1px}.chips{gap:4px}.badge,.priority,.projectchip{font-size:10px;padding:1px 6px}.dates{font-size:10px}.taskactions{display:flex;gap:4px;margin-left:auto;align-items:center}.taskactions form{margin:0}.iconbtn{width:31px;height:31px;padding:0;border:1px solid #cbd5e1;border-radius:7px;background:#fff;font-weight:800;display:grid;place-items:center}.iconbtn.done{color:#166534;border-color:#86c79a;background:#ecfdf5}.iconbtn.done:hover{background:#d1fae5}.iconbtn.edit{color:#1d4ed8;border-color:#93c5fd;background:#eff6ff}.iconbtn.edit:hover{background:#dbeafe}.iconbtn.trash{color:#b91c1c;border-color:#fca5a5;background:#fef2f2}.iconbtn.trash:hover{background:#fee2e2}.progress{width:70px;flex:0 0 70px}.taskdetails{border-top:1px solid #eef2f7;padding-top:5px}.statusform{grid-template-columns:1fr 1fr 145px 145px 80px auto}.statusform .wide{grid-column:span 3}.statusform textarea{min-height:55px}.statusform input,.statusform textarea{border:1px solid #cbd5e1;border-radius:8px;padding:7px;background:#fff;width:100%}
@media(max-width:760px){.taskactions{gap:2px}.iconbtn{width:34px;height:34px}.taskline{align-items:flex-start;flex-wrap:wrap}.taskmain{flex:1 1 calc(100% - 130px)}.progress{order:3;width:100%;flex-basis:100%;text-align:left}.statusform .wide{grid-column:1/-1}}


/* ProjectFlow v3.1 — poprawiony pulpit i filtry */
header .ver{opacity:.55;font-size:10px;margin-left:4px}
.worknav{display:flex!important;flex-direction:column!important;gap:4px!important;white-space:normal!important}
.worknav a{display:flex!important;width:100%!important;justify-content:space-between!important;align-items:center!important;text-decoration:none!important;padding:8px 10px!important;border-radius:8px!important}
.taskline{display:grid!important;grid-template-columns:minmax(0,1fr) auto 82px!important;align-items:center!important;gap:10px!important;min-height:50px!important}
.taskactions{display:flex!important;flex-direction:row!important;align-items:center!important;gap:5px!important;margin:0!important}
.taskactions form{display:inline-flex!important;margin:0!important}
.iconbtn{display:inline-grid!important;width:32px!important;height:32px!important;min-width:32px!important}
.taskdetails>summary{display:inline-flex;align-items:center;gap:5px}
.taskdetails>summary:before{content:"▸";font-size:11px;transition:.15s}
.taskdetails[open]>summary:before{transform:rotate(90deg)}
.daysummary{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 9px}
.daysummary span{background:#fff;border:1px solid #e2e8f0;border-radius:9px;padding:6px 10px;font-size:12px;color:#475569}
.daysummary span b{font-size:15px;color:#172033;margin-right:4px}
.daysummary .warn{background:#fff7ed;border-color:#fed7aa}
.daysummary .warn b{color:#c2410c}
.daysummary .ok{background:#ecfdf5;border-color:#bbf7d0}
.daysummary .ok b{color:#166534}
.filterbar{display:flex;align-items:end;gap:7px;flex-wrap:wrap;background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:7px 9px;margin-bottom:8px}
.filterbar label{font-size:10px;color:#64748b;font-weight:700}
.filterbar select{display:block;min-width:145px;border:1px solid #cbd5e1;border-radius:7px;background:#fff;padding:6px 8px;margin-top:2px}
.filterbtn,.clearfilter{height:33px;border-radius:7px;padding:0 10px;display:inline-flex;align-items:center;gap:5px;text-decoration:none;font-weight:700;font-size:12px}
.filterbtn{border:0;background:#2563eb;color:#fff}
.clearfilter{border:1px solid #cbd5e1;background:#f8fafc;color:#475569}
.cards.compact{gap:6px!important}
.cards.compact .task{padding:7px 10px!important}
.cards.compact .task h2{margin:3px 0 1px!important}
@media(max-width:760px){
 .taskline{grid-template-columns:minmax(0,1fr) auto!important}
 .taskline .progress{grid-column:1/-1;width:100%!important}
 .filterbar{align-items:stretch}
 .filterbar label{flex:1 1 140px}
 .filterbar select{width:100%;min-width:0}
 .filterbtn,.clearfilter{flex:1;justify-content:center}
}

/* v3.2 — kolejka zadań */
.iconbtn.move{background:#f8fafc;border-color:#cbd5e1;color:#475569}
.iconbtn.move:hover{background:#e2e8f0}
.autostatus{font-size:12px;line-height:1.45;background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a;padding:8px 10px;border-radius:8px;margin:7px 0}
.badge{white-space:nowrap}
