/* AKIŞ Task V14.16 — final design system layer, loaded after legacy versions.
   Roles and API access remain independent from the viewport. */
:root{--akis-accent:#117ff0;--akis-focus:#eb970b;--akis-radius:18px;--akis-line:#dfebf7;--akis-shadow:0 14px 34px rgba(22,59,107,.065)}
:where(#app,.auth-view) :is(button,input,select,textarea,a):focus-visible{outline:3px solid var(--akis-focus)!important;outline-offset:3px;scroll-margin:100px}
:where(#app,.auth-view) button:disabled{cursor:not-allowed;opacity:.54}
:where(#app,.auth-view) :is(input,select,textarea){accent-color:var(--akis-accent)}
:where(#app,.auth-view) :is(button,a){-webkit-tap-highlight-color:transparent}
#app .main-content :is(.panel,.v8-block,.shared-card,.m149-task-card,.m149-list){overflow-wrap:anywhere}
#app :is(.simple-page,.panel,.table-wrap,.v8-table-scroll){min-width:0;max-width:100%}
#app .main-content :is(.table-wrap,.v8-table-scroll){scrollbar-width:thin}
#app .page-heading{min-width:0}
#app .loading-screen{color:#597693}
/* Desktop: consistent spacing and tables without scaling a phone layout. */
@media(min-width:901px){
  body:has(#app.m149-admin-app){background:#f3f7fc!important}
  #app.m149-admin-app{max-width:none!important;min-height:100vh}
  #app.m149-admin-app .app-content{min-width:0}
  #app.m149-admin-app #main{width:100%;box-sizing:border-box;max-width:1680px;margin-inline:auto}
  #app.m149-admin-app .simple-page :is(.panel,.v8-block){border-radius:var(--akis-radius)}
  #app.m149-admin-app .table-wrap,#app.m149-admin-app .v8-table-scroll{overflow-x:auto}
  #app.m149-admin-app .simple-page table{border-collapse:separate;border-spacing:0}
  #app.m149-admin-app :is(.btn-primary,.btn-secondary){min-height:40px}
  #app.m149-admin-app .sidebar{overscroll-behavior:contain}
  .auth-view .auth-card :is(input,button.primary){min-height:49px}
}
/* Mobile/tablet: ergonomic controls, safe areas, readable cards, no accidental horizontal scroll. */
@media(max-width:900px){
  html,body{max-width:100%;overflow-x:clip}
  #app.m149-member-app{width:100%!important;max-width:520px!important;min-width:0;min-height:100dvh}
  #app.m149-member-app .app-content{min-width:0;overflow:clip}
  #app.m149-member-app #topbar{padding-inline:max(14px,env(safe-area-inset-left)) max(14px,env(safe-area-inset-right))!important}
  #app.m149-member-app #main{min-width:0;padding-bottom:calc(116px + env(safe-area-inset-bottom))!important;overflow:visible}
  #app.m149-member-app #mobileNav{width:min(520px,100%)!important;max-width:100vw;padding-left:max(7px,env(safe-area-inset-left))!important;padding-right:max(7px,env(safe-area-inset-right))!important}
  #app.m149-member-app #mobileNav>button:not(.mobile-add){min-height:48px;min-width:0;touch-action:manipulation}
  #app.m149-member-app :is(.m149-quick button,.m149-top-btn,.m149-list-row button){touch-action:manipulation}
  #app.m149-member-app .m149-page{min-width:0}
  #app.m149-member-app .m149-home :is(.m149-stats,.m149-quick){min-width:0}
  #app.m149-member-app .m149-task-title{min-width:0;overflow-wrap:anywhere}
  #app.m149-member-app #modalRoot .modal-backdrop{width:100vw!important;max-width:100vw!important;overscroll-behavior:contain}
  #app.m149-member-app #modalRoot :is(.modal,.modal-body){max-width:100vw;overscroll-behavior:contain}
  #app.m149-member-app #modalRoot .modal :is(input,textarea,select){font-size:16px}
  #app.m149-member-app .m1414-management .m1414-menu-tile{min-height:64px}
  #app.m149-member-app .m1414-menu-copy small{line-height:1.5}
  #app.m149-member-app .m149-settings-card{max-width:100%;box-sizing:border-box}
  #app.m149-member-app table.m1414-card-table tbody td:before{min-width:70px}
  .auth-view .auth-layout{width:100%!important;min-height:100dvh}
  .auth-view :is(.auth-card,.auth-main,.auth-content){max-width:100%;box-sizing:border-box}
  .auth-view .auth-card :is(input,select,textarea){font-size:16px}
}
@media(max-width:360px){
  #app.m149-member-app #main{padding-left:12px!important;padding-right:12px!important}
  #app.m149-member-app #topbar{padding-left:11px!important;padding-right:11px!important}
  #app.m149-member-app #mobileNav>button:not(.mobile-add){font-size:9px!important;letter-spacing:-.15px}
  #app.m149-member-app #mobileNav .mobile-add{flex-basis:53px!important;width:53px!important;height:53px!important}
  #app.m149-member-app .m149-stats{gap:7px}
  #app.m149-member-app .m149-stat{min-width:0;padding:10px 6px}
}
@media(prefers-reduced-motion:reduce){
  #app *,#app *:before,#app *:after,.auth-view *{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}
}
