:root{--mobile-safe-bottom:env(safe-area-inset-bottom,0px);--mobile-safe-top:env(safe-area-inset-top,0px)}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}
body{overscroll-behavior-y:none}
button,a,input,select,textarea{touch-action:manipulation}
input,select,textarea,button{font-size:16px}
img,video,canvas{max-width:100%;height:auto}
.pwa-install-button{position:fixed;right:14px;bottom:calc(14px + var(--mobile-safe-bottom));z-index:10001;border:2px solid #171717;border-radius:14px;padding:11px 15px;background:#566c52;color:#fff;font-weight:900;box-shadow:3px 3px 0 #171717;cursor:pointer}
.pwa-install-button.secondary{background:#fff;color:#171717}
.pwa-install-sheet{position:fixed;inset:0;z-index:10003;background:rgba(0,0,0,.58);display:grid;align-items:end;padding:16px}
.pwa-install-panel{width:min(560px,100%);margin:0 auto;background:#fbf4e8;border:3px solid #171717;border-radius:24px 24px 16px 16px;padding:22px;box-shadow:7px 7px 0 #171717;max-height:86vh;overflow:auto}
.pwa-install-panel h2{margin:0 0 8px;font-size:clamp(24px,7vw,38px);line-height:1}
.pwa-install-panel p{line-height:1.5}.pwa-install-panel ol{padding-left:22px;line-height:1.7}
.pwa-install-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}
.pwa-install-actions button{min-height:48px;border:2px solid #171717;border-radius:12px;font-weight:900;background:#fff}.pwa-install-actions .primary{background:#566c52;color:#fff}
.pwa-network-status{position:fixed;left:50%;bottom:calc(76px + var(--mobile-safe-bottom));transform:translateX(-50%);z-index:10002;background:#171717;color:#fff;padding:8px 13px;border-radius:999px;font-weight:800;font-size:13px;white-space:nowrap}
.mobile-app-nav{display:none}
.mobile-update-toast{position:fixed;left:12px;right:12px;bottom:calc(76px + var(--mobile-safe-bottom));z-index:10002;background:#fff;border:2px solid #171717;border-radius:14px;padding:12px;box-shadow:4px 4px 0 #171717;align-items:center;gap:10px;justify-content:space-between}.mobile-update-toast button{border:2px solid #171717;border-radius:10px;background:#566c52;color:#fff;font-weight:900;padding:9px 12px}
@media(max-width:760px){
 body{padding-bottom:calc(76px + var(--mobile-safe-bottom))!important}
 .top,.topbar,header.top{padding-left:14px!important;padding-right:14px!important;gap:10px!important}
 .top img,.topbar img,header img{max-width:170px;height:auto}
 .top-actions{gap:6px!important;overflow-x:auto;max-width:58vw}.top-actions a,.top-actions button{white-space:nowrap;padding:8px 10px!important;font-size:13px!important}
 .layout,.workspace-layout,.dashboard-layout{display:block!important}.layout>aside,.workspace-layout>aside{display:none!important}
 main,.page,.container,.shell{max-width:100%!important;width:100%!important;margin:0!important}
 .page,.container,main{padding-left:12px!important;padding-right:12px!important}
 .hero{border-radius:18px!important;padding:18px!important}.hero h1{font-size:clamp(30px,10vw,52px)!important;overflow-wrap:anywhere}
 .cards,.stats,.summary-grid,.overview-grid,.grid,.two-col,.three-col{grid-template-columns:1fr!important}
 .card,.panel,.section,.box{min-width:0!important}
 .tabs{position:sticky!important;top:0;z-index:50;overflow-x:auto!important;display:flex!important;flex-wrap:nowrap!important;scroll-snap-type:x proximity;padding:8px 4px!important;background:rgba(251,244,232,.96);backdrop-filter:blur(8px)}
 .tabs button,.tabs a{flex:0 0 auto!important;scroll-snap-align:start;min-height:44px!important;padding:10px 14px!important}
 table{display:block;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}
 form,.form-grid{grid-template-columns:1fr!important}
 input,select,textarea,button,.btn{min-height:44px;max-width:100%}
 textarea{min-height:110px}
 .kanban,.board,.columns{overflow-x:auto!important;display:flex!important;gap:12px!important;scroll-snap-type:x mandatory;padding-bottom:12px}.kanban>* ,.board>* ,.columns>*{min-width:84vw!important;scroll-snap-align:start}
 .mobile-app-nav{position:fixed;display:grid;grid-template-columns:repeat(4,1fr);left:0;right:0;bottom:0;z-index:10000;padding:7px 8px calc(7px + var(--mobile-safe-bottom));background:#171717;border-top:3px solid #ef4a9b;box-shadow:0 -4px 18px rgba(0,0,0,.22)}
 .mobile-app-nav a{color:#fff;text-decoration:none;text-align:center;font-size:11px;font-weight:800;line-height:1.15;padding:6px 2px;border-radius:9px}.mobile-app-nav a span{display:block;font-size:20px;margin-bottom:3px}.mobile-app-nav a.active{background:#566c52}
 .pwa-install-button{bottom:calc(82px + var(--mobile-safe-bottom))}
 .pwa-install-actions{grid-template-columns:1fr}
}
@media(display-mode:standalone){.pwa-install-button{display:none!important}body{padding-top:var(--mobile-safe-top)}}

/* Phase 7B mobile install prompt controls */
.pwa-install-panel{position:relative}
.pwa-install-close{position:absolute;top:12px;right:12px;width:42px;height:42px;min-height:42px;border:2px solid #171717;border-radius:999px;background:#fff;color:#171717;font-size:28px;font-weight:900;line-height:1;display:grid;place-items:center;cursor:pointer;box-shadow:2px 2px 0 #171717}
.pwa-install-icon{width:58px;height:58px;border:3px solid #171717;border-radius:16px;background:#a9c0aa;display:grid;place-items:center;font-weight:950;margin:0 0 18px;box-shadow:3px 3px 0 #171717}
.pwa-install-actions{grid-template-columns:1fr}
.pwa-install-actions .text-action{border:0;background:transparent;box-shadow:none;text-decoration:underline;min-height:42px;color:#6b2828}
.pwa-install-actions button:disabled{opacity:.7;cursor:default}
@media(min-width:761px){.pwa-install-sheet[data-automatic="true"]{display:none}}
.pwa-notification-button{position:fixed;right:18px;bottom:calc(82px + env(safe-area-inset-bottom));z-index:90;border:3px solid #151515;border-radius:999px;padding:12px 16px;background:#d8f36a;color:#151515;font:800 14px "DM Sans",sans-serif;box-shadow:4px 4px 0 #151515;cursor:pointer}.pwa-notification-button.enabled{background:#9db9a6;opacity:.85}.pwa-notification-button:disabled{cursor:default}@media(min-width:1001px){.pwa-notification-button{bottom:22px}}
