:root{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:#192940;background:#f4f7fb;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:default}input,select,textarea{width:100%;padding:11px 12px;border:1px solid #d9e2f0;border-radius:10px;background:white;color:#203249;outline-color:#5e89e7}textarea{min-height:90px;resize:vertical}label{display:block;font-size:12px;font-weight:650;color:#5d6f87;margin-bottom:6px}.layout{display:grid;grid-template-columns:235px 1fr;min-height:100vh}.sidebar{background:#14243b;color:#b6c5da;display:flex;flex-direction:column;padding:24px 13px;gap:8px}.brand{font-weight:850;font-size:19px;color:white;letter-spacing:-.5px;padding:4px 12px 28px}.brand small{display:block;color:#849bb8;font-weight:400;font-size:11px;margin-top:5px}.nav{border:0;background:transparent;color:inherit;text-align:left;padding:12px 15px;border-radius:11px;display:flex;align-items:center;gap:12px;font-weight:560}.nav:hover,.nav.active{background:#294160;color:white}.nav .emoji{width:24px;font-size:18px}.sidebottom{margin-top:auto;padding:12px;font-size:12px;color:#9eb1c9}.sidebottom button{margin-top:12px}.content{padding:28px 34px;max-width:1600px;width:100%;margin:0 auto;align-self:start;min-width:0}.topbar{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:24px}.topbar h1{margin:0;font-size:27px;letter-spacing:-.7px}.sub{font-size:13px;color:#738399;margin-top:6px}.actions{display:flex;gap:8px;align-items:center}.btn{border:0;border-radius:10px;padding:10px 16px;font-weight:680;background:#245dd8;color:#fff}.btn:hover{filter:brightness(.96)}.btn.ghost{background:#e8eef9;color:#375071}.btn.danger{background:#fce9e9;color:#a52736}.btn.small{padding:7px 10px;font-size:12px}.btn.outline{background:white;border:1px solid #d6e1f1;color:#3a5d93}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px}.metric,.panel{background:white;border:1px solid #e7ecf5;border-radius:15px;box-shadow:0 3px 15px #1f35500a}.metric{padding:19px}.metric strong{font-size:30px;display:block;margin-top:9px}.metric span{color:#718197;font-size:12px}.panel{padding:19px;margin-bottom:18px}.panel h2{font-size:16px;margin:0 0 17px}.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}.toolbar input{max-width:300px}.toolbar select{max-width:185px}.taskrow{display:grid;grid-template-columns:25px minmax(160px,1fr) 125px 100px 95px 95px;gap:10px;align-items:center;padding:14px 9px;border-bottom:1px solid #edf1f7}.taskrow:hover{background:#f9fbff}.taskrow.header{font-size:11px;font-weight:800;letter-spacing:.5px;color:#8a9bb0;text-transform:uppercase}.tasktitle{font-weight:660;cursor:pointer;overflow-wrap:anywhere}.tasktitle:hover{color:#235fd2}.muted{color:#8493a8;font-size:12px}.badge{font-size:11px;font-weight:700;border-radius:7px;background:#e8eef8;padding:5px 8px;white-space:nowrap;display:inline-block;color:#4c6080}.badge.P1{background:#ffe7e6;color:#b93f3a}.badge.P2{background:#fff1df;color:#a56a18}.badge.P3{background:#e8f3ff;color:#315f9c}.badge.P4{background:#edf0f3;color:#677485}.badge.done{background:#e2f7e9;color:#207c48}.badge.doing{background:#e2edff;color:#245dd8}.kanban{display:grid;grid-template-columns:repeat(4,minmax(190px,1fr));gap:14px;overflow:auto}.kan-col{background:#f5f7fb;border-radius:12px;padding:12px;min-height:290px}.kan-head{display:flex;justify-content:space-between;font-weight:740;margin:4px 3px 14px}.kan-card{background:white;border:1px solid #e6eaf3;border-radius:11px;padding:12px;margin-bottom:10px;cursor:grab;box-shadow:0 3px 7px #1f355008}.kan-card:hover{border-color:#9bb5e8}.kan-card strong{display:block;margin-bottom:9px}.kan-card .foot{display:flex;justify-content:space-between;gap:4px}.week{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));gap:10px;overflow:auto}.day{border:1px solid #e5ebf5;border-radius:12px;padding:12px;min-height:240px}.day.today{background:#eef5ff;border-color:#b8d2fb}.day b{display:block;margin-bottom:11px}.day .item{background:#f4f7fc;border-radius:7px;padding:8px;margin:5px 0;font-size:12px;cursor:pointer}.empty{padding:30px;text-align:center;color:#8997a9}.flex{display:flex;gap:12px;align-items:center}.between{justify-content:space-between}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.modalback{position:fixed;inset:0;background:#12203798;display:grid;place-items:center;padding:20px;z-index:20}.modal{width:min(650px,100%);max-height:94vh;overflow:auto;background:white;border-radius:18px;padding:23px;box-shadow:0 30px 90px #0c244b5c}.modal h2{margin:0 0 17px}.field{margin-bottom:14px}.modalfoot{display:flex;gap:8px;justify-content:flex-end;margin-top:20px}.login{min-height:100vh;display:grid;place-items:center;background:linear-gradient(130deg,#122643,#284e92);padding:15px}.login .panel{width:min(410px,100%);padding:34px}.login h1{margin:0 0 8px}.login button{width:100%;margin-top:12px}.hint{background:#edf4ff;border-radius:10px;padding:13px;color:#476486;font-size:13px}.notice{position:fixed;bottom:22px;right:22px;background:#1d304b;color:white;padding:13px 20px;border-radius:10px;box-shadow:0 10px 30px #16273b50;z-index:99;max-width:90vw}.projectcard{padding:15px;border:1px solid #e7ecf5;border-radius:12px;margin-bottom:10px;display:flex;justify-content:space-between;gap:10px}.breaks{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.breaks>div{background:#f2f6fc;border-radius:10px;padding:12px}.breaks b{display:block;font-size:12px}.breaks strong{font-size:17px}.focus{padding:18px;background:#f0f6ff;border:1px solid #d2e2ff;border-radius:12px}.focus h3{margin:0 0 10px}@media(max-width:1000px){.cards{grid-template-columns:repeat(2,1fr)}.taskrow{grid-template-columns:25px minmax(160px,1fr) 90px 80px}.taskrow>*:nth-child(5),.taskrow>*:nth-child(6){display:none}.content{padding:23px}.layout{grid-template-columns:190px 1fr}}@media(max-width:650px){.layout{display:block}.sidebar{position:sticky;top:0;z-index:5;flex-direction:row;overflow-x:auto;padding:8px;gap:3px}.brand,.sidebottom{display:none}.nav{white-space:nowrap;padding:9px 10px;font-size:12px}.nav .emoji{font-size:15px;width:auto}.content{padding:17px}.topbar{align-items:start}.topbar h1{font-size:21px}.cards{gap:9px}.metric{padding:12px}.metric strong{font-size:23px}.taskrow{grid-template-columns:22px minmax(100px,1fr) 65px}.taskrow>*:nth-child(4){display:none}.grid2{grid-template-columns:1fr}.breaks{grid-template-columns:1fr}.kanban{grid-template-columns:repeat(4,230px)}.toolbar input,.toolbar select{max-width:100%}.topbar .actions{flex-wrap:wrap;justify-content:end}.btn{padding:9px 11px}}
/* v0.2.0 Planner responsive */
#plannerContent .panel{box-shadow:none;border:1px solid #e4e9f0}
#plannerContent .toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:16px 0}
#plannerContent .toolbar label{display:flex;gap:8px;align-items:center}
#plannerContent .grid2{margin:16px 0}
@media(max-width:700px){#plannerContent .grid2{grid-template-columns:1fr}}

/* v0.4.0 workflow */
.workflowextra{border-top:1px solid #e7ecf5;margin-top:22px;padding-top:12px}.workflowextra h3{margin:17px 0 10px}.workflowextra .flex{margin-bottom:12px}.workflowextra .flex input{flex:1;min-width:0}.wfitem{display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:1px solid #edf1f7;padding:8px 0}.wfitem label{display:flex;align-items:center;gap:8px;margin:0;font-weight:500}.wfitem label input{width:auto}.bulkselect{font-size:11px;color:#708398;margin:0 0 4px;display:inline-flex;align-items:center;gap:4px}.bulkselect input{width:auto}#tasklist .taskrow{align-items:center}

/* v0.5.0: content begins at the top, not vertically centered. */
.layout{align-items:stretch;min-height:100vh}.content{margin:0 auto;align-self:start}.focuspanel{margin-bottom:18px}.focusclock{font-size:clamp(40px,6vw,68px);font-weight:800;letter-spacing:-2px;font-variant-numeric:tabular-nums;margin:14px 0}.focuscontrols{display:flex;gap:10px;flex-wrap:wrap}.focusmeta{display:flex;gap:12px;flex-wrap:wrap}.focusmeta span{background:#eff4fc;border-radius:9px;padding:10px 14px}.focuspick{max-width:560px}.focusassist{padding:14px;border-radius:12px;background:#f0f6ff;color:#35547d;margin:13px 0}.focuscycle{display:flex;flex-wrap:wrap;gap:12px;align-items:end}.focuscycle .field{max-width:160px}.focuspanel select{max-width:650px}@media(max-width:650px){.focusclock{font-size:46px}.focuscycle .field{max-width:45%}}

/* v0.6.0 task layout: one checkbox, grouped filters and contextual actions */
.task-tools{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding-bottom:13px;border-bottom:1px solid #edf1f7}.task-search{flex:1 1 280px}.task-search input{width:100%;max-width:none}.task-filter-controls{display:flex;flex:1 1 460px;align-items:center;gap:8px;flex-wrap:wrap}.task-filter-controls select{flex:1;min-width:140px;max-width:230px}.task-filter-presets{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:13px 0 7px}.task-filter-presets select{width:auto;min-width:175px}.task-filter-presets #taskCount{margin-left:auto}.bulkbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;background:#eff5ff;border:1px solid #cfe0ff;border-radius:12px;padding:10px 12px;margin:14px 0}.bulkbar[hidden]{display:none!important}.bulkbar select{width:auto;max-width:190px}.bulkbar span{font-weight:700;font-size:12px;color:#2455a1}.taskrow>input[type=checkbox],.taskrow.header input[type=checkbox]{width:16px;height:16px;margin:0;cursor:pointer}.taskrow.header{padding-top:17px}.task-panel .taskrow{min-width:620px}#tasklist{overflow-x:auto}.task-panel .tasktitle{font-size:13px}@media(max-width:800px){.task-filter-controls{flex-basis:100%}.task-tools{align-items:stretch}.task-filter-presets #taskCount{margin-left:0}.task-panel{padding:12px}.bulkbar select{min-width:110px}}

/* v0.7.0 Analytics */
.analytics-heading{flex-wrap:wrap;gap:12px}.analytics-heading .flex{flex-wrap:wrap}.analytics-heading select,.analytics-heading input{width:auto;min-width:135px}.analytics-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:17px 0 22px}.analytics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.analytics-grid section{border:1px solid #e7ecf5;border-radius:12px;padding:16px;min-width:0}.analytics-grid h3{margin:0 0 16px;font-size:14px}.analytics-bar{margin:0 0 15px}.analytics-bar-head{display:flex;justify-content:space-between;gap:10px;font-size:12px;margin-bottom:6px}.analytics-bar-head span{overflow-wrap:anywhere}.analytics-track{height:9px;background:#eef2f8;border-radius:8px;overflow:hidden}.analytics-track>div{height:100%;background:#3a73d7;border-radius:8px}.analytics-task{display:grid;grid-template-columns:minmax(140px,1fr) 140px 100px;gap:12px;padding:13px 9px;border-bottom:1px solid #e7ecf5;align-items:center}.analytics-task small{display:block;color:#738399;margin-top:5px}.pagination{margin-top:17px}.pagination span{color:#738399;font-size:12px}@media(max-width:800px){.analytics-grid{grid-template-columns:1fr}.analytics-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-task{grid-template-columns:minmax(100px,1fr) 90px}.analytics-task>span:last-child{display:none}}

/* v0.9 Mobile/PWA */
.task-pagination{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-top:15px;padding:13px 2px;color:#60748d;font-size:13px}.backup-import{margin:15px 0;padding:15px;border:1px solid #d8e4f4;background:#f8fbff;border-radius:12px}.backup-import input{max-width:520px;margin-bottom:12px}.layout{min-width:0}.content{overflow-wrap:anywhere}.panel{min-width:0}.actions{flex-wrap:wrap}
@media(max-width:800px){.layout{display:block}.sidebar{position:sticky;top:0;z-index:10;display:flex;flex-direction:row;gap:5px;padding:9px;max-width:100vw;overflow-x:auto;overscroll-behavior-x:contain}.sidebar .brand,.sidebar .sidebottom{display:none}.sidebar .nav{flex:0 0 auto;white-space:nowrap;font-size:12px;padding:9px 11px}.content{padding:16px;max-width:100vw}.topbar{gap:12px;align-items:flex-start}.topbar h1{font-size:23px}.topbar .actions{gap:6px}.kanban{grid-template-columns:repeat(4,minmax(240px,1fr));overflow-x:auto}.week{overflow-x:auto}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.topbar{flex-direction:column}.topbar .actions{width:100%;justify-content:flex-start}.cards{gap:8px}.metric{padding:13px}.metric strong{font-size:23px}.task-panel{padding:12px}.task-filter-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.task-filter-controls select{min-width:0;width:100%}.task-filter-controls .btn{grid-column:1/-1}.task-filter-presets{align-items:stretch}.task-filter-presets select{max-width:100%;width:100%}.taskrow{min-width:610px}.task-pagination{align-items:flex-start}.modalback{padding:8px}.modal{padding:16px;max-height:96dvh}.focusclock{font-size:40px}.grid2{grid-template-columns:1fr}}
