/* Breakpoints tested at 1920,1440,1366,1280,1024,768,430,390,360. */
@media(max-width:1279px){:root{--sidebar-width:214px}.main{padding:27px 24px 42px}.topbar{padding:0 24px}.split{grid-template-columns:1fr}.grid4{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-side{padding-left:20px}}
@media(max-width:950px){.shell{display:block}.sidebar{height:auto;position:sticky;top:0;padding:10px 16px;flex-direction:row;align-items:center;gap:12px}.brand{padding:0;flex-shrink:0}.brandmark{width:36px;height:36px;font-size:14px}.brandname{font-size:16px}.brandsub{font-size:10px}.sidebar-content{flex:1;overflow-x:auto;overflow-y:hidden}.smalllabel,.sidebar-foot{display:none}.nav{flex-direction:row;gap:4px}.nav button{height:40px;padding:0 11px;white-space:nowrap;gap:7px;font-size:12px;width:auto}.nav button svg{width:16px}.nav-active-marker{display:none}.topbar{height:63px}.hero{padding:22px 24px;min-height:0}.hero-side{display:none}.mini-months{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.sidebar{display:block;position:sticky;top:0;padding:6px 10px}.brand{display:none}.sidebar-content{overflow:auto}.nav{justify-content:space-between;gap:4px}.nav button{height:46px;flex:1;min-width:36px;justify-content:center;padding:0 6px}.nav button span{display:none}.nav button svg{width:19px;height:19px}.topbar{height:57px;padding:0 13px}.crumb>span,.crumb>svg{display:none}.topright{gap:4px}.user-chip{padding-left:8px;margin-left:2px;gap:6px}.user-copy span{display:none}.user-copy b{max-width:90px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.avatar{width:32px;height:32px;font-size:11px}.topbar .btn.icon-button{width:35px;min-width:35px;height:35px}.main{padding:22px 14px 35px}.pagehead{display:block;margin-bottom:19px}.pagehead .actions{margin-top:15px}.pagehead h1{font-size:24px}.lead{line-height:1.6}.hero{padding:20px;border-radius:13px}.hero h2{font-size:22px}.hero p{font-size:12.5px;margin-bottom:14px}.grid4{gap:9px}.metric{min-height:120px;padding:13px}.metric-label{font-size:11px}.metric strong{font-size:28px;margin:7px 0 3px}.metric-icon{width:32px;height:32px;border-radius:9px}.metric-icon svg{width:15px}.metric-foot{font-size:10px}.panel{padding:17px}.split{gap:13px}.lineitem{flex-wrap:wrap}.lineitem .grow{flex:1 1 calc(100% - 60px)}.lineitem>.pill{margin-left:51px}.lineitem>.btn{margin-left:auto}.fields2,.fields3,.grid2,.grid3{grid-template-columns:1fr}.filterbar .input{width:100%;max-width:none}.table{min-width:700px}.dialog-head,.dialog-body,.dialog-footer{padding-left:20px;padding-right:20px}.calendar-panel{padding:13px}.calendar-workbar{flex-wrap:wrap}.calendar-period-title h2{font-size:20px}.calendar-toolbar{align-items:flex-start;gap:12px}.calendar-toolbar>.seg{width:100%;justify-content:center}.calendar-toolbar>.seg button{padding:6px 8px;font-size:11px}.calendar-filterbar{display:grid;grid-template-columns:1fr 1fr;gap:10px}.calendar-filterbar label{min-width:0}.calendar-filterbar label:first-child{grid-column:1/-1}.calendar-rangeline{display:block}.custom-dates{margin-top:12px;flex-wrap:wrap}.custom-dates input{max-width:125px}.cal-grid{gap:3px}.cal-day{min-height:66px;padding:4px;border-radius:6px}.cal-day .daynumber{font-size:11px;width:23px;height:23px}.cal-events{margin-top:5px;gap:3px}.cal-event{padding:2px 3px;font-size:8px;line-height:1.35;border-left-width:2px}.cal-more{font-size:8px}.weekday{font-size:10px}.mini-months{grid-template-columns:1fr 1fr;gap:8px}.minimonth{padding:12px}.calendar-legend{gap:9px}.gantt-headperson,.gantt-person{width:166px;min-width:166px}.gantt-person strong{max-width:145px}.day-request{flex-wrap:wrap}.day-request>.btn{margin-left:auto}.main-footer span{display:none}.login-card{padding:25px}}
@media(max-width:375px){.calendar-toolbar>.seg button{padding:6px 5px;font-size:10px}.metric-icon{display:none}.user-copy{display:none}.calendar-filterbar{grid-template-columns:1fr}.calendar-filterbar label:first-child{grid-column:auto}.hero-actions .btn{font-size:11px;padding:7px 8px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important;transform:none!important}}

@media(max-width:680px){.overlay{padding:6px}.dialog-panel{width:100%;max-height:calc(100dvh - 12px);border-radius:17px}.dialog-head{padding-top:17px;padding-bottom:17px}.dialog-head h2{font-size:20px}.dialog-body{padding-top:16px}.dialog-footer{padding-top:12px;padding-bottom:12px;flex-wrap:wrap}.dialog-footer .btn{min-height:41px}}
