*{box-sizing:border-box}
:root{--navy:#102a3a;--navy2:#173647;--bg:#f4f7f9;--card:#fff;--line:#dfe6eb;--text:#14212c;--muted:#71808a;--green:#21865f;--yellow:#f0b72a;--red:#df4a4a;--blue:#2f80ed}
html,body{margin:0;background:#e9eef2;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--text)}button,select,input{font:inherit}.app{max-width:600px;margin:0 auto;min-height:100vh;background:var(--bg);padding-bottom:88px}.hero{background:linear-gradient(180deg,#102a3a,#173647);color:#fff;padding:22px 17px 17px;border-radius:0 0 28px 28px}.hero-top{display:flex;justify-content:space-between;gap:12px}.eyebrow{font-size:11px;letter-spacing:1.25px;font-weight:850;opacity:.65}.hero h1{margin:5px 0 4px;font-size:29px}.date{font-size:13px;opacity:.72}.site{border:1px solid #ffffff20;background:#ffffff10;color:#fff;border-radius:999px;padding:9px 12px;font-size:12px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:16px}.stat{background:#ffffff10;border:1px solid #ffffff1c;border-radius:14px;padding:11px 8px}.stat b{display:block;font-size:19px}.stat span{font-size:9px;opacity:.7}.capacity{background:#fff;color:var(--text);border-radius:15px;padding:13px;margin-top:11px}.caprow{display:flex;justify-content:space-between;gap:10px}.caprow b{font-size:13px}.caprow span{font-size:12px;font-weight:850}.bar{height:7px;background:#e7ecef;border-radius:99px;overflow:hidden;margin-top:9px}.bar i{display:block;height:100%;background:var(--green)}.content{padding:16px 14px}.sectionhead{display:flex;justify-content:space-between;align-items:center;margin:2px 2px 9px}.sectionhead h2{font-size:13px;margin:0;color:#5e6f79;text-transform:uppercase;letter-spacing:.7px}.linkbtn{border:0;background:none;color:var(--blue);font-weight:800;font-size:12px}.teamrow{display:flex;gap:8px;overflow:auto;padding-bottom:10px;scrollbar-width:none}.teampill{min-width:104px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:11px 9px;text-align:center}.teampill.active{background:var(--navy);color:#fff;border-color:var(--navy)}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;margin:0 auto 7px;background:#eaf1ff;color:var(--blue);font-weight:900}.teampill.active .avatar{background:#ffffff16;color:#fff}.teampill b{display:block;font-size:13px}.teampill span{font-size:11px;color:var(--muted)}.teampill.active span{color:#d4e0e7}.quick{display:grid;grid-template-columns:1.3fr 1fr .75fr;gap:8px;margin-bottom:12px}.qbtn{border:1px solid var(--line);background:white;border-radius:999px;padding:10px 8px;font-size:11px;font-weight:850;color:var(--blue)}.qbtn.red{color:#b43c3c;border-color:#efc8c8}.qbtn.yellow{color:#906710;border-color:#efd98d}.teamcard{background:#fff;border:1px solid var(--line);border-radius:16px;padding:13px 14px;display:flex;justify-content:space-between;align-items:center;margin-bottom:11px}.teamcard h3{margin:0;font-size:17px}.teamcard p{margin:3px 0 0;font-size:11px;color:var(--muted)}.capacitybadge{padding:7px 9px;border-radius:9px;background:#e7f5ee;color:var(--green);font-size:11px;font-weight:850}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:13px;min-height:145px}.panel h3{font-size:13px;margin:0 0 10px}.wastebig{font-size:26px;font-weight:900;margin:20px 0 4px}.panel small{color:var(--muted)}.alertbox{margin-top:11px;background:#fff5f5;border:1px solid #f0cccc;border-radius:16px;padding:13px}.alertrow{background:#fff;border-radius:11px;padding:9px;margin-top:8px}.alertrow strong{font-size:12px;display:block}.alertrow span{font-size:11px;color:var(--muted)}.actions{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.action{border:1px solid var(--line);background:#fff;border-radius:14px;padding:12px 5px;min-height:72px;font-size:10px;font-weight:800}.action i{display:block;font-style:normal;font-size:20px;margin-bottom:6px}.view{display:none}.view.active{display:block}.subhead{background:var(--navy);color:#fff;padding:19px 16px 17px;border-radius:0 0 24px 24px}.back{border:0;background:#ffffff12;color:#fff;border-radius:10px;padding:9px 11px;font-weight:800}.subhead h1{font-size:25px;margin:15px 0 3px}.subhead p{margin:0;font-size:12px;opacity:.72}.tasklist{padding:14px}.task{background:#fff;border:1px solid var(--line);border-radius:15px;padding:13px;margin-bottom:9px}.tasktop{display:flex;justify-content:space-between;gap:8px}.task h3{font-size:15px;margin:0 0 4px}.project{font-size:10px;font-weight:850;background:#edf2f5;border-radius:7px;padding:5px 7px;height:max-content}.meta{font-size:11px;color:var(--muted)}.status{font-size:10px;font-weight:850;border-radius:999px;padding:6px 9px}.todo{background:#eef1f3}.doing{background:#fff3dc;color:#93610f}.waiting{background:#fff0e4;color:#a45c18}.done{background:#e6f4ed;color:#187954}.waitbox{margin-top:9px;background:#fff7ef;border:1px solid #f0ddc7;border-radius:11px;padding:9px;display:flex;justify-content:space-between;gap:8px;align-items:center}.waitbox b{font-size:11px}.waitbox span{font-size:10px;color:#85694f}.waitbox button{border:0;background:#9a6812;color:#fff;border-radius:8px;padding:8px;font-size:10px;font-weight:800}.editrow{display:flex;gap:8px;margin-top:9px}.editrow button{flex:1;border:1px solid var(--line);background:#fafcfd;border-radius:10px;padding:9px 6px;font-size:10px;font-weight:800}.bottomnav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(600px,100%);height:76px;background:var(--navy);display:grid;grid-template-columns:repeat(4,1fr);z-index:10;padding-bottom:env(safe-area-inset-bottom)}.navitem{border:0;background:none;color:#cbd6dd;font-size:10px;font-weight:800}.navitem span{display:block;font-size:20px;margin-bottom:5px}.navitem.active{color:#4c96ff}.modal{position:fixed;inset:0;background:#0c17208f;display:none;align-items:flex-end;justify-content:center;z-index:30}.modal.open{display:flex}.sheet{width:100%;max-width:600px;background:#fff;border-radius:20px 20px 0 0;padding:18px 18px calc(18px + env(safe-area-inset-bottom))}.sheet h2{margin:0 0 13px}.field{margin:10px 0}.field label{display:block;font-size:10px;font-weight:850;color:#66747e;margin-bottom:5px}.field select,.field input{width:100%;border:1px solid var(--line);border-radius:11px;padding:12px;background:#fff}.checkgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.check{border:1px solid var(--line);border-radius:10px;padding:10px;font-size:12px}.sheet-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.sheet-actions button{border:0;border-radius:12px;padding:12px;font-weight:850}.save{background:var(--navy);color:#fff}.cancel{background:#eef2f4}.toast{position:fixed;left:50%;bottom:92px;transform:translateX(-50%);background:#102a3a;color:#fff;padding:10px 13px;border-radius:999px;font-size:11px;display:none;z-index:40}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.admin-card{position:relative;min-height:145px;text-align:left;border:1px solid var(--line);background:#fff;border-radius:17px;padding:16px;color:var(--text)}.admin-card>span{display:block;font-size:26px;margin-bottom:16px}.admin-card b{display:block;font-size:15px;margin-bottom:5px}.admin-card small{display:block;font-size:11px;line-height:1.35;color:var(--muted)}.admin-card em{position:absolute;top:11px;right:11px;font-style:normal;font-size:9px;font-weight:850;color:#84919a;background:#eef2f4;border-radius:999px;padding:5px 7px}.admin-card.disabled{opacity:.58}.template-add{width:100%;border:0;background:var(--navy);color:#fff;border-radius:13px;padding:13px;font-weight:850;margin-bottom:12px}.template-row{background:#fff;border:1px solid var(--line);border-radius:14px;padding:13px;margin-bottom:9px;display:flex;align-items:center;justify-content:space-between;gap:12px}.template-row b{display:block;font-size:14px}.template-row span{display:block;color:var(--muted);font-size:11px;margin-top:4px}.template-row button{border:1px solid var(--line);background:#fafcfd;border-radius:9px;padding:8px 10px;font-size:10px;font-weight:850}.template-actions{display:flex;gap:7px;flex-wrap:wrap}.template-row .delete-template{color:var(--red);background:#fff6f6;border-color:#f1c9c9}.template-off{opacity:.6}.empty-admin{text-align:center;color:var(--muted);font-size:12px;padding:30px 10px}.planner-wrap{padding:14px}.planner-help{font-size:11px;color:var(--muted);line-height:1.45;margin:0 2px 10px}.planner-people{display:flex;gap:8px;overflow:auto;padding:2px 0 12px;scrollbar-width:none}.planner-person{min-width:108px;border:1px solid var(--line);background:#fff;border-radius:13px;padding:10px 11px;text-align:left;cursor:grab}.planner-person b{display:block;font-size:12px}.planner-person span{display:block;font-size:10px;color:var(--muted);margin-top:3px}.planner-person.selected{background:var(--navy);border-color:var(--navy);color:#fff}.planner-person.selected span{color:#d6e1e8}.planner-person.over{border-color:#efb8b8}.planner-person.over span{color:var(--red)}.planner-table{background:#fff;border:1px solid var(--line);border-radius:15px;overflow:hidden}.planner-head,.planner-row{display:grid;grid-template-columns:1.15fr 1.35fr 1.55fr .55fr;gap:0}.planner-head{background:#edf2f5;color:#62717b;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.35px}.planner-head span{padding:9px 8px;border-right:1px solid #dfe6eb}.planner-head span:last-child{border-right:0;text-align:right}.planner-row{border-top:1px solid var(--line);min-height:68px;align-items:stretch;border-left:5px solid var(--project-color)}.planner-project,.planner-task,.planner-drop,.planner-hours{padding:10px 8px;border-right:1px solid #edf1f3;display:flex;align-items:center}.planner-project{font-size:10px;font-weight:850;word-break:break-word;flex-direction:column;align-items:flex-start;justify-content:center}.project-day{display:block;margin-top:5px;color:var(--muted);font-size:9px}.planner-task{flex-direction:column;align-items:flex-start;justify-content:center}.planner-task b{font-size:12px}.planner-task small{font-size:8px;color:var(--muted);margin-top:4px}.planner-drop{flex-wrap:wrap;gap:5px;align-content:center}.planner-drop.dragover{background:#edf6ff}.planner-hours{border-right:0;justify-content:flex-end;font-size:11px;font-weight:900}.assigned-person{border:0;background:#e8f1ff;color:#245f9c;border-radius:999px;padding:6px 8px;font-size:9px;font-weight:850}.assigned-person i{font-style:normal;margin-left:4px}.drop-hint{font-size:9px;color:#9aa6ad}.planner-empty{padding:28px 12px;text-align:center;color:var(--muted);font-size:12px}.actions-two{grid-template-columns:1fr 1fr}.project-chip{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:5px 8px;background:#edf2f5;font-size:9px;font-weight:900;white-space:nowrap}.project-chip:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--project-color)}.project-dot{display:inline-block!important;width:8px;height:8px;border-radius:50%;margin:0 6px 0 0!important}.color-field{display:flex;align-items:center;gap:12px}.timeline-row{position:relative;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px;margin-bottom:9px;display:grid;grid-template-columns:72px 1fr auto;align-items:center;gap:10px}.timeline-row:before{content:"";position:absolute;left:35px;top:-10px;height:10px;border-left:2px solid #ccd7dd}.timeline-row:first-child:before{display:none}.timeline-date{background:#edf2f5;border-radius:10px;padding:8px;text-align:center}.timeline-date b{display:block;font-size:12px}.timeline-date small{display:block;font-size:9px;color:var(--muted);margin-top:3px}.timeline-name b{font-size:13px}.timeline-row button{border:1px solid var(--line);background:#fafcfd;border-radius:9px;padding:7px 8px;font-size:9px;font-weight:850}.timeline-row .delete-template{color:var(--red)}
@media(max-width:520px){.planner-wrap{padding:10px 8px}.planner-head,.planner-row{grid-template-columns:1.1fr 1.35fr 1.65fr .55fr}.planner-head span,.planner-project,.planner-task,.planner-drop,.planner-hours{padding-left:6px;padding-right:6px}.template-row{align-items:flex-start}.timeline-row{grid-template-columns:65px 1fr}.timeline-row .template-actions{grid-column:2}.timeline-row:before{left:32px}}
@media(min-width:800px){.app{max-width:1400px}.bottomnav{width:min(1400px,100%)}.hero{padding-left:24px;padding-right:24px}.content,.tasklist,.planner-wrap{padding-left:24px;padding-right:24px}.teamrow{overflow:visible}.teampill{flex:1}.admin-grid{grid-template-columns:repeat(4,1fr)}.planner-person{flex:1}.planner-head,.planner-row{grid-template-columns:1.2fr 1.8fr 2fr .6fr}}