/* V5.4: responsive/touch audit, narrow phones, landscape, safe areas */
html{width:100%;overflow-x:clip;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{max-width:100%;overflow-x:clip}
.layout,main,.panel,.view-pane,.columns,.form-grid,.v5-hero,.v5-top{min-width:0;max-width:100%}
img,svg{max-width:100%}button,a,input,select,textarea,summary{touch-action:manipulation}button,a,summary{ -webkit-tap-highlight-color:transparent}
button,select,input[type=submit],input[type=file]::file-selector-button{min-height:44px}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #806cff;outline-offset:2px}
input,select,textarea{font-size:16px;max-width:100%}
.planit-v5 .v5-greeting>div{min-width:0}.planit-v5 .v5-greeting h1{overflow-wrap:anywhere}.planit-v5 .v5-top{gap:10px}
.planit-v5 .v5-mini-stats>div{min-width:0}.planit-v5 .v5-mini-stats b{overflow-wrap:anywhere}
.planit-v5 .v5-hero-top{flex-wrap:wrap}.planit-v5 .v5-amount{overflow-wrap:anywhere}
.planit-v5 .list-row,.planit-v5 .job{min-width:0}.planit-v5 .list-row strong,.planit-v5 .job strong{overflow-wrap:anywhere}
.planit-v5 .section-head,.planit-v5 .v5-section-intro{flex-wrap:wrap;align-items:center;row-gap:12px}
.planit-v5 .month-nav{flex-wrap:nowrap;min-width:0}.planit-v5 .month-nav a{min-width:40px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.planit-v5 .calendar{min-width:0}.planit-v5 .day{overflow:hidden}.planit-v5 .chip,.planit-v5 .shift-chip{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere}
.planit-v5 .shift-details-sheet,.planit-v5 .add-panel{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.planit-v5 .shift-details-close,.planit-v5 .close-add{min-width:44px;min-height:44px}
.planit-v5 .shift-details-actions{flex-wrap:wrap}.planit-v5 .shift-details-actions>button,.planit-v5 .shift-details-actions form{flex:1;min-width:min(130px,100%)}.planit-v5 .shift-details-actions form button{width:100%}
@media(max-width:760px){
 .planit-v5 .layout{padding-inline:clamp(9px,3vw,18px)}
 .planit-v5 main{padding-bottom:calc(125px + env(safe-area-inset-bottom))!important}
 .planit-v5 .v51-bottom-nav{z-index:150!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;bottom:calc(8px + env(safe-area-inset-bottom))!important;min-height:68px;max-width:520px;margin-inline:auto}
 .planit-v5 .v51-bottom-nav a{min-height:46px;position:relative;z-index:1}
 .planit-v5 .v51-bottom-nav .v51-fab{position:relative;z-index:2;min-height:56px}
 .planit-v5 .v5-mini-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
 .planit-v5 .v5-mini-stats>div:last-child:nth-child(odd){grid-column:1/-1}
 .planit-v5 .v5-hero{padding:20px 15px 17px}
 .planit-v5 .v5-greeting{gap:9px}.planit-v5 .v5-avatar{width:46px;height:46px}
 .planit-v5 .v5-greeting h1{font-size:clamp(18px,5vw,24px)}
 .planit-v5 .panel{padding:clamp(10px,3vw,18px)}
 .planit-v5 .form-grid{grid-template-columns:1fr!important}
 .planit-v5 .add-panel{position:fixed!important;top:auto!important;bottom:0!important;left:0!important;transform:none!important;width:100%!important;max-width:100%!important;max-height:calc(100dvh - env(safe-area-inset-top) - 12px)!important;border-radius:24px 24px 0 0!important;padding-bottom:calc(22px + env(safe-area-inset-bottom))!important;overflow-y:auto!important;z-index:1002!important}
 .planit-v5 .modal-shade{z-index:1001!important}
 .planit-v5 .shift-details{z-index:1003!important}
 .planit-v5 .shift-details-sheet{max-height:calc(100dvh - env(safe-area-inset-top) - 12px);padding:20px 16px calc(24px + env(safe-area-inset-bottom))}
 .planit-v5 .shift-detail-row{gap:8px;flex-wrap:wrap}.planit-v5 .shift-detail-row span{overflow-wrap:anywhere}
 .planit-v5 .tabs{flex-wrap:wrap}.planit-v5 .tabs button{flex:1 1 90px}
 .planit-v5 .repeat-days{grid-template-columns:repeat(7,minmax(0,1fr))}
 .planit-v5 .repeat-days label{padding-inline:0;overflow:hidden}
 .planit-v5 .v5-profile{padding:20px 12px 60px}
 .planit-v5 .v5-profile-card{max-width:100%;padding:clamp(15px,4vw,30px)}
 .planit-v5 .v51-home-links a{min-height:65px}
}
@media(max-width:390px){
 .planit-v5 .v51-bottom-nav{left:5px;right:5px;padding:6px 2px!important;border-radius:20px!important}
 .planit-v5 .v51-bottom-nav a small{font-size:9px!important;letter-spacing:-.2px}
 .planit-v5 .v51-bottom-nav svg{width:20px;height:20px}
 .planit-v5 .v51-bottom-nav .v51-fab{width:50px;height:50px;min-height:50px;border-width:4px!important}
 .planit-v5 .v5-settings{width:40px;height:40px;flex:none}
 .planit-v5 .v5-eyebrow{letter-spacing:.8px}
 .planit-v5 .calendar{gap:2px}.planit-v5 .day{padding:2px;min-height:68px}
 .planit-v5 .chip,.planit-v5 .shift-chip{font-size:9px;line-height:1.25;padding:3px 2px}
 .planit-v5 .shift-chip small{font-size:8px}
}
@media(max-width:340px){.planit-v5 .v5-mini-stats{grid-template-columns:1fr}.planit-v5 .v5-mini-stats>div:last-child:nth-child(odd){grid-column:auto}.planit-v5 .v51-bottom-nav a small{font-size:8px!important}.planit-v5 .day{min-height:58px}}
@media(max-height:500px) and (orientation:landscape){.planit-v5 .v51-bottom-nav{min-height:52px;bottom:3px!important}.planit-v5 .v51-bottom-nav .v51-fab{width:46px;height:46px;min-height:46px;margin:-10px 0 0!important}.planit-v5 .v51-bottom-nav a{min-height:40px}.planit-v5 main{padding-bottom:90px!important}}
@media(hover:none){.planit-v5 .shift-chip:hover{filter:none}}
