/* Arkemis Platform v0.9.11 — couche téléphone seulement. */
.mobile-menu-toggle,.mobile-nav-backdrop{display:none}

@media (max-width:767px){
  :root{--mobile-header:70px}
  html,body{width:100%;max-width:100%;overflow-x:hidden}
  body.mobile-nav-open{overflow:hidden;touch-action:none}
  button,a,input,select,textarea{touch-action:manipulation}
  input,select,textarea{font-size:16px!important}
  button,.primary,.secondary,.icon{min-height:44px}

  .app{display:block;min-height:100dvh;width:100%}
  .app>aside{
    display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;z-index:5002;
    width:min(320px,86vw);height:100dvh;padding:18px 12px max(18px,env(safe-area-inset-bottom));
    overflow-y:auto;background:#0c0c0d;border-right:1px solid #3b342b;
    transform:translateX(-105%);transition:transform .22s ease;box-shadow:18px 0 45px #0009
  }
  body.mobile-nav-open .app>aside{transform:translateX(0)}
  .app>aside .brand{display:flex;min-height:70px;justify-content:flex-start;padding:4px 10px 18px}
  .app>aside .brand img{display:block;width:72px;height:55px;object-fit:contain}
  .app>aside nav{display:flex;width:100%;margin-top:12px;gap:4px}
  .app>aside nav button{display:flex;width:100%;min-height:48px;justify-content:flex-start;padding:11px 12px;font-size:14px}
  .app>aside nav span,.app>aside nav em,.app>aside .version{display:block}
  .app>aside nav em{margin-left:auto}
  .app>aside .version{margin-top:auto;padding:20px 12px 4px}

  .mobile-nav-backdrop{
    display:block;position:fixed;inset:0;z-index:5001;width:100%;height:100dvh;min-height:0;
    padding:0;border:0;background:#000a;opacity:0;pointer-events:none;transition:opacity .2s ease
  }
  body.mobile-nav-open .mobile-nav-backdrop{opacity:1;pointer-events:auto}

  .app>main{display:block;width:100%;min-width:0;margin:0;padding:0 max(12px,env(safe-area-inset-right)) 32px max(12px,env(safe-area-inset-left));grid-column:auto}
  .app>main>header{
    position:sticky;top:0;z-index:100;display:grid;grid-template-columns:46px minmax(0,1fr) 44px;gap:10px;
    width:calc(100% + 24px);height:var(--mobile-header);margin-left:-12px;padding:8px 12px;
    background:#111e;border-bottom:1px solid #292929;backdrop-filter:blur(12px)
  }
  .mobile-menu-toggle{display:grid;place-items:center;width:44px;height:44px;min-height:44px;padding:0;border:1px solid #4b3b27;border-radius:10px;background:#211b14;color:#e3c08d;font-size:22px;cursor:pointer}
  .mobile-header-title{min-width:0}
  .app>main>header p{margin:0 0 3px;font-size:9px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .app>main>header h1{font-size:20px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .app>main>header .status{display:none}
  .app>main>header .ark-auth-logout{grid-column:3;width:44px;height:44px;min-height:44px;margin:0;padding:0;justify-self:end}

  .hero{display:block;margin-top:16px;padding:19px 16px;border-radius:12px}
  .hero h2{font-size:22px;line-height:1.18;margin:7px 0}
  .hero p{font-size:13px;line-height:1.45}
  .hero .stats,.stats{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:18px}
  .stats div{padding:10px;border:1px solid #312b23;border-radius:9px;background:#151515}
  .stats b{font-size:22px}

  .subnav,.project-folders,.catalog-filters,.asset-filters,.admin-cost-tabs,.admin-regime-switch,.mode-buttons{
    display:flex;max-width:100%;flex-wrap:nowrap;gap:8px;overflow-x:auto;overscroll-behavior-inline:contain;
    scrollbar-width:none;-webkit-overflow-scrolling:touch
  }
  .subnav::-webkit-scrollbar,.project-folders::-webkit-scrollbar,.catalog-filters::-webkit-scrollbar,.asset-filters::-webkit-scrollbar{display:none}
  .subnav button,.project-folders button,.catalog-filters button,.asset-filters button,.admin-cost-tabs button,.admin-regime-switch button,.mode-buttons button{flex:0 0 auto;white-space:nowrap}

  .toolbar,.reno-catalog-head,.reno-catalog-toolbar,.prefab-manager-toolbar{display:flex!important;flex-direction:column;align-items:stretch;gap:10px}
  .toolbar{margin:16px 0}
  .toolbar label{min-height:48px;flex:none}
  .toolbar button,.reno-catalog-toolbar button,.prefab-manager-toolbar button{width:100%}
  .estimate-type-switch,.project-type-choice,.asset-type-choice{display:grid;grid-template-columns:1fr;gap:10px}

  .project-list{display:flex;flex-direction:column;gap:10px}
  .project-row,.project-row-actions{display:flex!important;flex-direction:column;align-items:stretch;width:100%;gap:10px}
  .project-row{padding:14px}
  .project-open{width:100%;min-width:0}
  .project-open h3,.project-open p{overflow-wrap:anywhere}
  .project-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;text-align:left!important;gap:8px}
  .project-metrics>*{padding:9px;border-radius:8px;background:#111}
  .project-actions{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:7px}
  .project-actions button{width:100%;padding:8px 5px;justify-content:center}

  .workspace,.workspace-main,.workspace-side{display:block!important;width:100%;min-width:0}
  .workspace-side{margin-top:14px}
  .project-head,.section-title,.settings-actions,.zone-editor-head,.composition-card-head,.prefab-manager-head,.admin-section-head{
    display:flex!important;flex-direction:column;align-items:stretch!important;gap:10px
  }
  .project-head>*,.section-title>*,.settings-actions>*,.project-head select{max-width:100%;width:100%}
  .project-steps{display:flex;max-width:100%;overflow-x:auto;gap:8px;scrollbar-width:none}
  .project-steps button{flex:0 0 auto;min-width:145px}
  .client-strip{display:grid!important;grid-template-columns:1fr!important;gap:8px}
  .client-strip>*{min-width:0}
  .element-cards{display:flex;flex-direction:column;gap:10px}
  .element-card,.element-identity,.element-actions{display:flex!important;flex-direction:column;align-items:stretch!important;width:100%;gap:9px}
  .element-card{padding:14px}
  .element-actions{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))}
  .element-actions button{width:100%;min-width:0;justify-content:center}
  .summary-grid,.calculator-grid,.blueprint-grid,.composition-grid,.reno-calculated-grid,.admin-summary-grid,.asset-grid,.checks-grid{grid-template-columns:1fr!important}

  .form-grid,.reno-form-grid,.payment-choice-grid,.linked-finish-source,.employee-cost-fields,.employee-cost-results,.fixed-cost-row,.admin-charge-row,.asset-card-body,.asset-card-body>div,.asset-qr-panel{grid-template-columns:1fr!important}
  .form-grid,.reno-form-grid{gap:8px}
  .modal label{margin:10px 0}
  textarea{max-width:100%;min-height:92px}
  .manual-rfq-line,.opening-row,.layer-row,.floor-layer-row,.roof-layer-row{grid-template-columns:1fr!important}
  .wall-ab{grid-template-columns:1fr!important}

  .tablewrap,.admin-table,.reno-result-table{width:calc(100% + 24px);max-width:none;margin-left:-12px;border-left:0;border-right:0;border-radius:0;overflow-x:auto;-webkit-overflow-scrolling:touch}
  table{min-width:720px}
  .empty{padding:28px 14px}

  .supplier-rfq-head,.supplier-rfq-row,.supplier-request-document,.supplier-request-total,.supplier-message-items>div,.supplier-message-history>div{
    display:flex;flex-direction:column;align-items:stretch!important;gap:8px
  }
  .supplier-rfq-actions{display:grid!important;grid-template-columns:1fr;width:100%}
  .supplier-rfq-actions button,.supplier-rfq-head button,.supplier-request-document button{width:100%}
  .prefab-blueprint-card{flex-direction:column}
  .prefab-card-actions{display:grid;grid-template-columns:1fr;width:100%}
  .prefab-card-actions button{width:100%}

  .asset-card-head{grid-template-columns:44px minmax(0,1fr)}
  .asset-card-head .asset-status{grid-column:2;justify-self:start}
  .asset-card-body>img{width:120px;height:120px}
  .asset-card-actions{display:grid;grid-template-columns:1fr 1fr;padding:0 14px 14px}
  .asset-card-actions>*{width:100%;margin:0!important;text-align:center;justify-content:center}

  #modal-overlay{
    position:fixed;inset:0;z-index:6000;display:block;width:100vw;height:100dvh;padding:0!important;
    overflow:hidden;background:#090909
  }
  #modal-overlay>.modal{
    width:100vw!important;max-width:none!important;height:100dvh!important;max-height:100dvh!important;
    margin:0;padding:22px 14px max(32px,env(safe-area-inset-bottom));overflow-y:auto;overflow-x:hidden;
    border:0;border-radius:0;box-shadow:none;-webkit-overflow-scrolling:touch
  }
  #modal-overlay>.modal>.close{
    position:sticky;z-index:4;top:0;float:right;display:grid;place-items:center;width:44px;height:44px;
    min-height:44px;margin:-10px -3px 4px 10px;border:1px solid #444;border-radius:50%;background:#202020;color:#fff;font-size:24px
  }
  #modal-overlay>.modal h2{font-size:22px;line-height:1.2;margin:8px 48px 18px 0}
  #modal-overlay>.modal .save{position:relative;min-height:48px}

  .ark-auth-overlay{padding:max(14px,env(safe-area-inset-top)) 14px max(14px,env(safe-area-inset-bottom))!important}
  .ark-auth-card{width:100%!important;max-width:420px!important;padding:24px 20px!important;border-radius:16px!important}
  .ark-auth-brand-row{margin-bottom:20px!important;padding-bottom:16px!important}
  .ark-auth-brand-row img{width:150px!important;height:78px!important}
}
