
:root{--navy:#001e46;--deep:#071b43;--blue:#294d90;--gold:#c8943f;--ink:#0c1a3d;--muted:#62708f;--line:#e1e7f1;--canvas:#f4f6fc;--rose:#f5e6e3;--green:#117857}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--canvas);color:var(--ink);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px;line-height:1.5}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}.shell{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:100vh}.aside{position:sticky;top:0;height:100vh;padding:20px 13px;background:linear-gradient(160deg,#001e46 10%,#15376c 75%,#13264a);color:white;overflow:auto}.brand{display:flex;flex-direction:column;background:#fff;border-radius:13px;padding:8px;margin:0 4px 18px}.brand img{display:block;width:100%;max-width:100%;height:auto;max-height:96px;object-fit:contain;object-position:center}.brand small{color:#344b70;text-align:center;font-weight:800;font-size:10px;letter-spacing:.1em}.aside a{display:block;color:#dfe9ff;text-decoration:none;border-radius:8px;font-size:12px;font-weight:700;padding:11px 13px}.aside a:hover,.aside a.on{background:#ffffff20;color:#fff}.aside .sect{color:#a2b7db;font-size:10px;text-transform:uppercase;letter-spacing:.13em;font-weight:800;padding:15px 13px 6px}.aside-note{padding:13px;border:1px solid #ffffff28;background:#ffffff12;border-radius:12px;margin:22px 5px;font-size:11px;color:#e0e9f8}.main{min-width:0}.top{position:sticky;top:0;z-index:4;min-height:68px;display:flex;justify-content:space-between;align-items:center;padding:12px 28px;background:#fff;border-bottom:1px solid var(--line);gap:12px}.top strong{color:var(--navy);font-size:13px}.top small{color:var(--muted);font-size:11px}.top a{color:#173b7b;text-decoration:none;border:1px solid #d1dbee;border-radius:9px;padding:9px 12px;font-size:12px;font-weight:800}.content{max-width:1650px;margin:auto;padding:27px 28px 70px}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:#a36c24;font-weight:900}.head{display:flex;align-items:start;justify-content:space-between;gap:16px;flex-wrap:wrap}.head h1{font-size:29px;margin:5px 0 8px;letter-spacing:-.035em}.head p{color:var(--muted);max-width:850px;margin:0;font-size:13px}.btn{background:#fff;border:1px solid #cbd5e6;padding:10px 13px;border-radius:9px;color:#183c73;font-size:12px;font-weight:800}.btn.primary{background:var(--navy);border-color:var(--navy);color:white}.btn.subtle{background:#f9fbff}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.muted{color:var(--muted)}.panel{background:#fff;border:1px solid var(--line);box-shadow:0 3px 15px #0f2c5108;border-radius:15px;padding:17px}.banner{margin:19px 0;background:#fffbf3;border:1px solid #f0dfbe;border-radius:13px;padding:13px 17px;color:#74521b;font-size:12px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}.metric{padding:16px 17px;border:1px solid var(--line);background:#fff;border-radius:13px}.metric small{color:var(--muted);font-size:11px;font-weight:800}.metric strong{display:block;font-size:27px;color:var(--navy);margin-top:5px}.sprint-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0 15px}.sprint-tab{border:1px solid #d6deef;background:#fff;padding:15px;text-align:left;border-radius:13px;color:var(--ink);cursor:pointer}.sprint-tab.selected{border:2px solid #2d509a;background:#f1f5ff;padding:14px}.sprint-tab b{display:block;font-size:14px}.sprint-tab small{display:block;font-size:11px;color:var(--muted);margin-top:3px}.sprint-tab .rate{display:block;background:#e8edf6;height:5px;border-radius:6px;overflow:hidden;margin-top:10px}.sprint-tab .rate i{display:block;background:#2060a8;height:100%}.sprint-summary{display:flex;justify-content:space-between;gap:15px;align-items:center}.sprint-summary h2{margin:0 0 5px;font-size:19px}.sprint-summary p{color:var(--muted);margin:0;font-size:12px}.pill{background:#ecf1fb;color:#244c91;border-radius:100px;font-size:10px;font-weight:800;padding:5px 9px;white-space:nowrap}.pill.orange{background:#fff0d9;color:#925a12}.pill.red{background:#ffebeb;color:#aa3535}.pill.green{background:#e6f7ee;color:#147047}.section-title{display:flex;align-items:end;justify-content:space-between;gap:10px;margin:27px 0 12px}.section-title h2{margin:0;font-size:18px}.section-title p{margin:3px 0 0;color:var(--muted);font-size:11px}.filters{display:flex;gap:9px;flex-wrap:wrap;margin:12px 0}.search,.sel{border:1px solid #d1daeb;background:#fff;border-radius:9px;padding:10px 12px;color:var(--ink);min-height:39px}.search{width:min(330px,100%)}.board{display:grid;grid-template-columns:repeat(5,minmax(205px,1fr));gap:10px;align-items:start;overflow-x:auto;padding-bottom:8px}.board-col{background:#eff3f9;border:1px solid #e1e7f2;border-radius:12px;padding:10px;min-height:180px}.col-head{display:flex;align-items:center;justify-content:space-between;color:#304669;font-weight:900;font-size:11px;padding:3px 5px 11px;text-transform:uppercase;letter-spacing:.055em}.col-head span{display:grid;place-items:center;background:#fff;border-radius:12px;min-width:22px;height:22px}.ticket{background:#fff;border:1px solid #dfe6f1;border-left:3px solid #6d88ba;border-radius:9px;margin-bottom:9px;padding:11px;box-shadow:0 2px 4px #0e285006}.ticket.high{border-left-color:#c1811c}.ticket.highest{border-left-color:#b13f3f}.ticket .topline{display:flex;justify-content:space-between;align-items:center;gap:8px}.ticket .id{font-size:9px;font-weight:900;color:#35548c}.ticket .prio{font-size:9px;color:#8a5e1f;font-weight:800}.ticket h4{font-size:12px;line-height:1.36;margin:7px 0}.ticket p{color:var(--muted);font-size:10px;margin:0 0 10px}.ticket .meta{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:10px}.tag{font-size:9px;background:#eff2fa;color:#35527c;padding:4px 6px;border-radius:6px;font-weight:800}.tag.be{background:#fff2df;color:#99651a}.ticket select{width:100%;border:1px solid #d8dfed;border-radius:6px;padding:7px;background:#fbfcff;color:#213b63;font-size:10px;font-weight:700}.ticket .detail{border-top:1px solid #edf1f7;margin-top:9px;padding-top:8px;color:#52637e;font-size:10px}.ticket .detail strong{color:#344968}.empty{font-size:11px;color:#91a0b6;padding:18px 4px;text-align:center}.scrum-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-row{display:flex;gap:9px;flex-wrap:wrap;margin:10px 0 14px}.formfield{display:block;flex:1;min-width:160px}.formfield b{display:block;margin-bottom:5px;font-size:11px;color:#365172}.formfield input,.formfield select,.formfield textarea{width:100%;padding:10px 11px;background:#fff;border:1px solid #d5dfef;border-radius:8px;font-size:12px;color:#1c345b}.formfield textarea{min-height:90px;resize:vertical}.formfield textarea:focus,.formfield select:focus,.search:focus{outline:2px solid #a8bced;outline-offset:1px}.scrum-grid h3{font-size:14px;margin:0 0 8px}.ceremonies{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.ceremony{padding:13px;border-radius:11px;border:1px solid #e5ebf4;background:#fbfcff}.ceremony b{font-size:12px}.ceremony small{display:block;color:var(--muted);margin:5px 0 10px}.ceremony textarea{width:100%;min-height:100px;resize:vertical;border:1px solid #d8e0ed;border-radius:7px;padding:9px;font-size:11px;color:var(--ink)}.feedback{font-size:11px;color:var(--green);font-weight:800;min-height:18px}.guide{display:grid;grid-template-columns:1fr 1fr;gap:13px}.guide h3{margin:2px 0 8px;font-size:13px}.guide p,.guide li{font-size:11px;color:#4c5b78}.guide ul{padding-left:17px}.guide li{margin:6px 0}.footer{border-top:1px solid var(--line);margin-top:28px;padding-top:15px;color:var(--muted);font-size:10px}.toast{position:fixed;bottom:20px;right:20px;background:#001e46;color:#fff;padding:12px 16px;border-radius:10px;font-size:12px;max-width:340px;box-shadow:0 15px 35px #001e4644;z-index:99}.hide{display:none!important}@media(max-width:1230px){.shell{grid-template-columns:185px minmax(0,1fr)}.board{grid-template-columns:repeat(5,215px)}.scrum-grid{grid-template-columns:1fr}}@media(max-width:850px){.shell{display:block}.aside{height:auto;position:static;display:flex;gap:5px;align-items:center;overflow-x:auto;padding:8px}.aside .brand{width:145px;flex-shrink:0;margin:0 6px 0 0}.aside .brand img{height:42px}.aside .sect,.aside .aside-note{display:none}.aside a{white-space:nowrap;padding:9px}.top{padding:11px 15px}.content{padding:19px 13px 50px}.stats{grid-template-columns:repeat(2,1fr)}.sprint-tabs,.ceremonies,.guide{grid-template-columns:1fr}.head h1{font-size:23px}.sprint-summary{display:block}.sprint-summary .pill{display:inline-block;margin-top:8px}}@media print{.aside,.top,.actions,.filters,.ticket select,.form-row,.btn,.feedback{display:none!important}.shell{display:block}.content{padding:0}.board{display:grid;grid-template-columns:repeat(2,1fr)}.board-col{break-inside:avoid}.panel{box-shadow:none}.ticket{break-inside:avoid}.ceremony textarea{border:0}.sprint-tabs{display:none}}

/* Alignment-only patch. Does not alter sprint data, IDs, statuses or saving. */
.sprint-tabs{align-items:stretch}
.sprint-tab{display:flex;flex-direction:column;min-width:0;min-height:123px;justify-content:flex-start}
.sprint-tab b{line-height:1.35;overflow-wrap:break-word}
.sprint-tab small{line-height:1.42;flex:1;overflow-wrap:break-word}
.sprint-tab .rate{flex-shrink:0;width:100%}
.stats .metric{display:flex;flex-direction:column;align-items:flex-start;min-width:0;min-height:100px}
.stats .metric strong{margin-top:auto;overflow-wrap:anywhere}
.section-title{align-items:center;flex-wrap:wrap}
.sprint-summary{align-items:flex-start;flex-wrap:wrap}
.board{grid-template-columns:repeat(5,minmax(220px,1fr));align-items:start;max-width:100%;scrollbar-gutter:stable}
.board-col{min-width:0}
.col-head{min-height:34px;gap:6px}
.ticket{min-width:0}
.ticket .topline{align-items:flex-start}
.ticket .topline>*{min-width:0;overflow-wrap:break-word}
.ticket h4{overflow-wrap:break-word;min-height:30px}
.ticket p,.ticket .detail{overflow-wrap:break-word}
.ticket select{min-height:34px}
.scrum-grid .panel,.ceremonies .ceremony{min-width:0}
.ceremonies .ceremony{display:flex;flex-direction:column}
.ceremony textarea{flex:1;min-height:110px}
@media(max-width:1230px){.board{grid-template-columns:repeat(5,225px)}}
@media(max-width:850px){.sprint-tab{min-height:0}.sprint-tab small{flex:initial}.board{grid-template-columns:repeat(5,225px)}}


.sprint-tabs{grid-template-columns:repeat(4,1fr)}
.progress-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:17px;box-shadow:0 3px 15px #0f2c5108}
.progress-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap;margin-bottom:12px}
.progress-head h2{margin:0 0 4px;font-size:17px}.progress-head p{margin:0;color:var(--muted);font-size:11px}
.sync-pill{background:#ecf1fb;color:#244c91;border-radius:100px;font-size:10px;font-weight:800;padding:5px 9px}
.progline label{display:flex;justify-content:space-between;gap:8px;font-size:12px;font-weight:800;color:#203a66;margin-bottom:6px}
.progline .bar{height:8px;background:#e8edf6;border-radius:8px;overflow:hidden;margin-bottom:6px}
.progline .bar span{display:block;height:100%;background:#2060a8}.progline .bar.gold span{background:var(--gold)}.progline .bar.green span{background:var(--green)}
.progs{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.daynav{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:10px 0 12px}
.timetable{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--line);border-radius:13px;overflow:hidden;table-layout:fixed}
.timetable th{background:#f3f6fc;color:#304669;font-size:11px;text-transform:uppercase;letter-spacing:.05em;text-align:left;padding:10px;border-bottom:1px solid var(--line)}
.timetable td{vertical-align:top;padding:9px;border-bottom:1px solid #edf1f7;border-right:1px solid #edf1f7}
.timetable td:first-child{width:118px;font-weight:900;color:#a36c24;font-size:12px;background:#fbfcff}
.timetable tr.lunch td{background:#fffbf3;color:#8a6a2f;font-size:11px;font-weight:800}
.timetable tr.routine td{background:#f6fbf8;color:#2e6b4d;font-size:11px}
.timetable .ticket{margin:0}
.tablewrap{overflow-x:auto}
.cov{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;font-size:11px}
.cov th{background:#f3f6fc;text-align:left;padding:9px;color:#304669;font-size:10px;text-transform:uppercase;letter-spacing:.05em}
.cov td{padding:9px;border-top:1px solid #edf1f7;vertical-align:top}
.cov td.k{font-weight:900;color:#35548c;white-space:nowrap}
.daynote{background:#fff4f2;border:1px solid #f0cfc8;color:#8a3b2c;border-radius:11px;padding:12px 15px;font-size:12px;margin-bottom:10px}
.cal-head,.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.cal-head{margin-bottom:6px}.cal-head span{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:#56658a;text-align:center}
.cal-cell{position:relative;text-align:left;background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px;min-height:94px;display:flex;flex-direction:column;gap:3px;font:inherit;color:#1c2b4a;cursor:pointer}
.cal-cell:disabled{cursor:default}.cal-cell.blank{border:0;background:transparent;min-height:0;padding:0;cursor:default}
.cal-cell b{font-size:15px}.cal-cell>span{font-size:10px;color:#68738f}.cal-cell em{font-style:normal;font-size:9px;font-weight:900;color:#244c91;text-transform:uppercase;letter-spacing:.04em}
.cal-cell.sp-W1{border-top:4px solid #2060a8}.cal-cell.sp-W2{border-top:4px solid #b8891f}.cal-cell.sp-W3{border-top:4px solid #2e8a5f}.cal-cell.sp-W4{border-top:4px solid #c0392b}
.cal-cell.off,.cal-cell.past{background:#f6f8fb;color:#7a86a3}.cal-cell.sel{box-shadow:0 0 0 2px #2060a8 inset}
.cal-counts{font-size:10px;color:#415474}.cal-bar{height:5px;background:#e8edf6;border-radius:5px;overflow:hidden;margin-top:auto}.cal-bar span{display:block;height:100%;background:#2e8a5f}
.cal-blk{font-size:9px;font-weight:900;color:#ba513e}
.blockwhy{background:#fff4f2;border:1px solid #f0cfc8;color:#8a3b2c;border-radius:9px;padding:7px 9px;font-size:11px;margin-top:8px}
.modal-back{position:fixed;inset:0;background:#0f2c5166;display:flex;align-items:center;justify-content:center;z-index:60;padding:16px}
.modal-back.hide{display:none}
.modal{background:#fff;border-radius:16px;max-width:460px;width:100%;padding:22px;box-shadow:0 18px 50px #0f2c5140}
.modal h3{margin:0 0 6px;font-size:18px;color:#0f2c52}.modal-sub{margin:0 0 14px;color:var(--muted);font-size:12px}
.modal textarea{width:100%;min-height:110px;border:1px solid #c8d3e6;border-radius:10px;padding:10px;font:inherit;font-size:13px;box-sizing:border-box;resize:vertical}
.modal-hint{color:var(--muted);font-size:11px}
@media(max-width:850px){.progs{grid-template-columns:1fr}.timetable{min-width:760px}.cal-cell{min-height:70px;padding:5px;min-width:0;overflow:hidden}.cal-cell b{font-size:12px}.cal-cell>span,.cal-counts{font-size:9px}.cal-head span{font-size:8px}.cal-cell em{font-size:8px}}
@media print{.timetable .ticket select{display:none}}

/* Pages are separate static files; no redirects, no SPA routing. */
body[data-page="home"] #daytime {display:none}
body[data-page="daily"] .banner,body[data-page="daily"] .progress-wrap,body[data-page="daily"] #stats,body[data-page="daily"] #tabs,body[data-page="daily"] #sprint-goal,body[data-page="daily"] #board,body[data-page="daily"] #coverage,body[data-page="daily"] #standup,body[data-page="daily"] #ceremonies,body[data-page="daily"] #guide {display:none}
.top .actions{flex-wrap:wrap;justify-content:flex-end}.top .btn{font-size:10px;padding:7px 9px}
.db-message{margin-bottom:14px;padding:12px 14px;border:1px solid #c3d6ed;background:#f2f7ff;border-radius:12px;color:#1b3a60;font-size:12px}
.db-message.error{background:#fff4f2;color:#8a3b2c;border-color:#edc6bd}
.ticket .reason-btn{display:block;width:100%;margin-top:7px;padding:5px 7px;border-radius:6px;border:1px solid #e2e7f1;background:#f9fbff;color:#35527c;font-size:10px;text-align:left}
.sync-conflict{border-left:4px solid #ba513e}
@media(max-width:850px){.top{position:static}.top .actions{justify-content:flex-start}}
