/* CRM Stefan Security Mobile v0.1 — optimizare iPhone/iPad */
:root{
  --safe-top: env(safe-area-inset-top, 0px);
  --safe-right: env(safe-area-inset-right, 0px);
  --safe-bottom: env(safe-area-inset-bottom, 0px);
  --safe-left: env(safe-area-inset-left, 0px);
}
html,body{min-height:100%;overscroll-behavior-y:none}
body.iosApp{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}
body.iosApp input,body.iosApp select,body.iosApp textarea,body.iosApp button{font-size:16px}
body.iosApp button,body.iosApp .smallBtn{touch-action:manipulation}

@media(max-width:900px){
  body.iosApp{background:#f4f6fa}
  body.iosApp .app{display:block;min-height:100dvh}
  body.iosApp aside{
    position:fixed;z-index:950;left:0;right:0;bottom:0;top:auto;
    width:100%;height:auto;min-height:64px;flex-basis:auto;
    padding:7px max(8px,var(--safe-right)) calc(7px + var(--safe-bottom)) max(8px,var(--safe-left));
    background:rgba(23,32,51,.98);box-shadow:0 -8px 28px rgba(15,23,42,.18);
  }
  body.iosApp aside .brand{display:none}
  body.iosApp aside nav{display:flex;gap:5px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;padding:0 1px}
  body.iosApp aside nav::-webkit-scrollbar{display:none}
  body.iosApp aside nav button{
    flex:0 0 auto;width:auto;min-width:66px;min-height:49px;margin:0;padding:7px 9px;
    display:flex;align-items:center;justify-content:center;text-align:center;white-space:nowrap;
    border-radius:11px;font-size:11px;line-height:1.2;font-weight:700;
  }
  body.iosApp main{
    width:100%;padding:calc(var(--safe-top) + 13px) max(12px,var(--safe-right)) calc(86px + var(--safe-bottom)) max(12px,var(--safe-left));
  }
  body.iosApp header{display:block;margin-bottom:14px}
  body.iosApp header h1{font-size:23px;line-height:1.15}
  body.iosApp header p{display:none}
  body.iosApp .globalSearchWrap{width:100%;max-width:none;margin-top:11px}
  body.iosApp #globalSearch{min-height:44px;border-radius:12px}
  body.iosApp .viewAsWrap{margin-top:9px}
  body.iosApp .cards{grid-template-columns:1fr 1fr;gap:10px}
  body.iosApp .card,body.iosApp .panel{padding:14px;border-radius:13px}
  body.iosApp .num{font-size:25px}
  body.iosApp .toolbar{align-items:stretch;flex-direction:column;gap:8px}
  body.iosApp .toolbar>*{width:100%;max-width:none}
  body.iosApp .toolbar .primary,body.iosApp .toolbar button{min-height:44px}
  body.iosApp .form{display:block}
  body.iosApp .field{margin-bottom:13px}
  body.iosApp .field.full{grid-column:auto}
  body.iosApp .field input,body.iosApp .field select,body.iosApp .field textarea{min-height:44px;border-radius:10px}
  body.iosApp .field textarea{min-height:100px}
  body.iosApp .panel{overflow-x:auto;-webkit-overflow-scrolling:touch}
  body.iosApp table{min-width:680px}
  body.iosApp .modalish{width:calc(100vw - 18px);max-height:calc(100dvh - var(--safe-top) - var(--safe-bottom) - 20px);border-radius:15px}
  body.iosApp .modalActions{position:sticky;bottom:0;background:#fff;padding:10px 0 calc(4px + var(--safe-bottom));z-index:3}
  body.iosApp .maintenanceDetailPage,body.iosApp .maintenanceEditPage,
  body.iosApp .siteEditPage,body.iosApp .auditDetailPage{padding:calc(var(--safe-top) + 10px) 12px calc(78px + var(--safe-bottom))}
  body.iosApp .maintenanceOverlayClose{top:calc(var(--safe-top) + 8px);right:10px}
  body.iosApp .signaturePad canvas,body.iosApp canvas{max-width:100%;touch-action:none}
  body.iosApp .uploadBox,body.iosApp .mediaUploadBox{padding:12px}
  body.iosApp input[type="file"]{max-width:100%;min-height:44px}

  body.iosApp.loginMode aside,body.iosApp.loginMode header{display:none!important}
  body.iosApp.loginMode main{padding:0!important}
  body.iosApp.loginMode .webLoginScreen{min-height:100dvh;padding:calc(var(--safe-top) + 24px) 16px calc(var(--safe-bottom) + 24px)}
  body.iosApp.loginMode .webLoginCard{width:100%;max-width:430px;padding:26px 22px}
}

@media(max-width:430px){
  body.iosApp .cards{grid-template-columns:1fr}
  body.iosApp aside nav button{min-width:62px;padding-left:7px;padding-right:7px}
}

/* v0.3.11 — layout iPhone fără derulare orizontală */
@media(max-width:900px){
  body.iosApp,body.iosApp .app,body.iosApp main,body.iosApp #content,
  body.iosApp .panel,body.iosApp .client360,body.iosApp .client360Content{
    max-width:100vw;
    overflow-x:hidden!important;
  }
  body.iosApp main{min-width:0}
  body.iosApp .panel{overflow-x:hidden!important}

  /* Taburile din dosarul clientului se așază pe rânduri, nu prin swipe stânga/dreapta. */
  body.iosApp .client360Tabs{
    overflow:visible!important;
    flex-wrap:wrap!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:6px;
  }
  body.iosApp .client360Tabs button{
    white-space:normal!important;
    min-width:0;
    width:100%;
    padding:9px 7px;
    line-height:1.2;
  }
  body.iosApp .client360Header{
    align-items:flex-start;
    flex-direction:column;
    gap:10px;
    padding:14px;
  }
  body.iosApp .client360Header h2{font-size:21px;overflow-wrap:anywhere}
  body.iosApp .client360Content{padding:12px}

  /* Tabelele devin carduri verticale pe telefon. */
  body.iosApp table.crmMobileTable,
  body.iosApp table[data-mobile-table="true"]{
    display:block;
    width:100%!important;
    min-width:0!important;
    table-layout:auto;
  }
  body.iosApp table.crmMobileTable tbody,
  body.iosApp table[data-mobile-table="true"] tbody{
    display:block;
    width:100%;
  }
  body.iosApp table.crmMobileTable tr,
  body.iosApp table[data-mobile-table="true"] tr{
    display:block;
    width:100%;
    margin:0 0 10px;
    padding:7px 9px;
    border:1px solid #e4e7ec;
    border-radius:11px;
    background:#fff;
  }
  body.iosApp table.crmMobileTable tr:first-child,
  body.iosApp table[data-mobile-table="true"] tr:first-child{display:none}
  body.iosApp table.crmMobileTable td,
  body.iosApp table[data-mobile-table="true"] td{
    display:grid;
    grid-template-columns:minmax(92px,36%) minmax(0,1fr);
    gap:8px;
    width:100%!important;
    max-width:100%;
    min-width:0;
    padding:8px 3px;
    border:0;
    border-bottom:1px solid #eef1f5;
    white-space:normal!important;
    overflow-wrap:anywhere;
    word-break:break-word;
    font-size:13px;
  }
  body.iosApp table.crmMobileTable td:last-child,
  body.iosApp table[data-mobile-table="true"] td:last-child{border-bottom:0}
  body.iosApp table.crmMobileTable td::before,
  body.iosApp table[data-mobile-table="true"] td::before{
    content:attr(data-label);
    color:#667085;
    font-size:11px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.02em;
  }
  body.iosApp table.crmMobileTable td[colspan],
  body.iosApp table[data-mobile-table="true"] td[colspan]{display:block;text-align:center}
  body.iosApp table.crmMobileTable td[colspan]::before,
  body.iosApp table[data-mobile-table="true"] td[colspan]::before{display:none}
  body.iosApp table .smallBtn{margin:2px 3px 2px 0}
  body.iosApp .clientObjectiveActions{white-space:normal!important}

  /* Formularele tip dialog se văd ca o pagină compactă cu X sus. */
  body.iosApp .crmDialog,
  body.iosApp .crmDialog.crmDialogWide{
    width:calc(100vw - 12px)!important;
    max-width:none;
    max-height:calc(100dvh - var(--safe-top) - var(--safe-bottom) - 12px);
    margin:auto;
    border-radius:15px;
  }
  body.iosApp .crmDialogHeader{padding:14px 14px 12px}
  body.iosApp .crmDialogBody{padding:14px}
  body.iosApp .crmDialogActions{position:sticky;bottom:0;background:#fff;padding:10px 0 calc(4px + var(--safe-bottom));z-index:3}

  /* Vizualizarea documentelor ocupă ecranul disponibil. */
  body.iosApp .documentViewerWrap{
    min-height:0!important;
    height:calc(100dvh - var(--safe-top) - var(--safe-bottom) - 145px)!important;
    position:relative;
  }
}

@media(max-width:430px){
  body.iosApp .client360Tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
}
