/* Last layer: readable type, keyboard controls and text scaling without clipping content. */
:root{font-size:16px;color:#263746;--loa-scale:1}
body{line-height:1.55}
input,select,textarea,button{line-height:1.45}
.zoom-controls{display:flex;align-items:center;border:1px solid #cbd5e1;border-radius:8px;background:#fff;flex-shrink:0}
.zoom-controls button{padding:7px 10px;min-height:40px;background:transparent;color:#243b53;font-size:.9375rem;font-weight:650;border-radius:6px}
.zoom-controls button:disabled{opacity:.45;cursor:default}
.zoom-controls button:hover:not(:disabled){background:#eaf2f7}
.mode-notice{display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px;border:1px solid #dae4e9;background:#f8fafc;padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:.875rem;color:#425466}
.demo-notice{border-color:#e9c56c;background:#fff9eb;color:#634716}
.mode-notice .link{font-size:.875rem;text-decoration:underline}
.page-heading p,.note,.task-excerpt,.project-card>p{font-size:1rem;line-height:1.6}
.task-title,.project-card h3,.agenda-title strong{line-height:1.5}
.project-card>p{height:auto;min-height:3.2em;max-height:none;overflow:visible}
.metric small,.team-work,.agenda-title small,td small,.field,.check,.task-person,.task-date{font-size:.9375rem}
.nav,.project-tabs button{font-size:.9375rem}
.nav{white-space:normal;height:auto}
.project-tabs button{white-space:nowrap}
.calendar-event{font-size:.875rem;line-height:1.4}
.calendar-day{min-width:0;overflow:hidden}
.workspace>header{height:auto;min-height:72px;gap:12px;flex-wrap:wrap;padding-top:10px;padding-bottom:10px}
.top-right{gap:12px;justify-content:flex-end}
.form-grid,.details-grid,.metrics,.project-grid,.team-grid{min-width:0}
.details-grid dd,.system-panel li{overflow-wrap:anywhere}
.details-grid dt{font-size:.875rem}
td{white-space:normal;overflow-wrap:anywhere}
.table-wrap{max-width:100%;overflow:auto}
.table-wrap table{min-width:760px}
.system-panel ul{padding-left:1.5em;line-height:1.8}
.form-body{overflow-wrap:anywhere}
@media(min-width:901px){aside{width:calc(242px * var(--loa-scale))}.workspace{margin-left:calc(242px * var(--loa-scale))}}
@media(max-width:1100px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.project-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}}
@media(min-width:601px) and (max-width:900px){.nav{font-size:0}.zoom-controls button{min-height:40px}.workspace>header{position:static}.project-tabs{position:static}}
@media(max-width:600px){.workspace>header{position:static;align-items:flex-start}.top-right{width:100%;justify-content:flex-start}.nav{font-size:.875rem;min-width:92px}.page-heading{flex-wrap:wrap}.page-heading h1{font-size:1.7rem}.actions{flex-wrap:wrap}.form-grid,.details-grid{grid-template-columns:1fr}.metric strong{font-size:1.8rem}.team-grid{grid-template-columns:1fr}.modal-footer{flex-wrap:wrap}.modal-footer button{font-size:.9375rem;white-space:normal}.project-tabs{position:static}.calendar-weekdays span{font-size:.875rem}.calendar-actions{flex-wrap:wrap}.calendar-day{padding:2px}.calendar-event{display:none}.day-number{font-size:.9375rem}.day-more{font-size:.875rem}.calendar-heading{flex-wrap:wrap}.agenda button{grid-template-columns:1fr;justify-items:start}.agenda-date{min-width:0}.kanban{grid-template-columns:repeat(4,minmax(260px,1fr))}.checklist-row{grid-template-columns:auto minmax(0,1fr) auto}}
@media print{aside,.zoom-controls,.top-right,.mode-notice{display:none}.workspace{margin:0}main{padding:0}.table-wrap{overflow:visible}}

.date-control{display:flex;gap:8px;align-items:center}.date-control input{min-width:0;flex:1}.date-control button{white-space:nowrap;font-size:.875rem}.date-field details{margin-top:6px}.date-field summary{cursor:pointer;color:#365c74;font-size:.875rem}.date-field details input{margin-top:8px;width:100%;min-height:42px;border:1px solid #b8c5d1;border-radius:6px;padding:9px}.date-field small{display:block;margin-top:5px;font-size:.875rem}.date-field input:invalid:not(:placeholder-shown){border-color:#b42318}.schedule-add{font-size:.875rem;padding:8px}.task-card-footer{flex-wrap:wrap}.schedule-list article{padding:16px 0;border-bottom:1px solid #dce4ea}.schedule-list p{margin:7px 0}.top-right{max-width:100%}
@media(max-width:600px){.date-control{flex-wrap:wrap}.date-control input{flex-basis:100%}.date-control button{min-height:42px}}
