/* ShahrVam v552 — root mobile responsive contract.
   Loaded last on purpose: it resolves accumulated desktop-first rules without changing business logic. */
:root{
  --v552-mobile-nav-h:56px;
  --v552-mobile-gap:8px;
  --v552-mobile-radius:14px;
}

@media (max-width:900px){
  /* The old rule reserved dock space on the login screen instead of the authenticated app. */
  body.auth-active{padding-bottom:0!important}
  body:not(.auth-active){
    padding-bottom:calc(var(--v552-mobile-nav-h) + 14px + env(safe-area-inset-bottom))!important;
  }
  body:not(.auth-active) #page-content{
    padding-bottom:14px!important;
    scroll-padding-bottom:calc(var(--v552-mobile-nav-h) + 18px + env(safe-area-inset-bottom));
  }

  /* Bottom navigation: 3 primary destinations + More = 4 stable targets. */
  .tiam-mobile-bottom-v358{
    right:8px!important;left:8px!important;
    bottom:max(6px,env(safe-area-inset-bottom))!important;
    min-height:var(--v552-mobile-nav-h)!important;
    padding:4px!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:3px!important;
    border-radius:16px!important;
    box-shadow:0 7px 20px rgba(16,42,67,.16)!important;
  }
  .tiam-mobile-bottom-v358 button{
    min-height:46px!important;
    padding:4px 2px!important;
    border-radius:11px!important;
    gap:1px!important;
    font-size:10px!important;
    font-weight:750!important;
  }
  .tiam-mobile-bottom-v358 button svg{width:19px!important;height:19px!important}
  .tiam-mobile-bottom-v358 button span{line-height:1.25!important}
  .tiam-mobile-more-v358>section{
    max-height:min(68vh,620px)!important;
    padding:12px 12px calc(14px + env(safe-area-inset-bottom))!important;
    border-radius:20px 20px 0 0!important;
  }
  .tiam-mobile-more-v358 section>div{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  .tiam-mobile-more-v358 section>div>button{min-height:52px!important;padding:8px!important}

  /* Compact two-row mobile page header. Actions never wrap into a tall icon wall. */
  body:not(.auth-active) #page-content > .tiam-page-hero,
  body:not(.auth-active) #page-content > .rec-workspace-hero.tiam-page-hero{
    min-height:0!important;
    grid-template-columns:38px minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    gap:7px 9px!important;
    margin-bottom:9px!important;
    padding:8px 9px!important;
    border-radius:14px!important;
    overflow:visible!important;
  }
  body:not(.auth-active) #page-content > .tiam-page-hero .tiam-page-hero__visual{
    width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;
    border-radius:10px!important;
  }
  body:not(.auth-active) #page-content > .tiam-page-hero .tiam-page-hero__visual>svg{width:19px!important;height:19px!important;min-width:19px!important;min-height:19px!important}
  body:not(.auth-active) #page-content > .tiam-page-hero .tiam-page-hero__copy :where(h1,h2){
    font-size:18px!important;line-height:1.45!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  }
  body:not(.auth-active) #page-content > .tiam-page-hero .tiam-page-hero__actions{
    grid-column:1/-1!important;
    width:100%!important;
    min-height:36px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    flex-wrap:nowrap!important;
    gap:6px!important;
    overflow:visible!important;
    padding:0!important;
  }
  body:not(.auth-active) #page-content > .tiam-page-hero .tiam-page-hero__actions > :where(button,a,summary,.brokerage-v347-count,.v387-toolbar-chip){
    flex:0 0 auto!important;
    width:36px!important;min-width:36px!important;height:36px!important;min-height:36px!important;
    padding:0!important;border-radius:9px!important;
  }
  body:not(.auth-active) #page-content > .tiam-page-hero .tiam-page-hero__actions > :where(button,a,summary) > svg{width:17px!important;height:17px!important;min-width:17px!important;min-height:17px!important}
  body:not(.auth-active) #page-content > .tiam-page-hero .tiam-page-hero__actions > :where(button,a).tiam-header-action--text > span{
    display:none!important;
  }

  /* JS moves excess page actions into this accessible native details menu. */
  .tiam-mobile-head-more{position:relative!important;flex:0 0 36px!important;width:36px!important;height:36px!important;min-width:36px!important}
  .tiam-mobile-head-more>summary{
    list-style:none!important;width:36px!important;height:36px!important;min-width:36px!important;padding:0!important;
    display:grid!important;place-items:center!important;border-radius:9px!important;cursor:pointer!important;
  }
  .tiam-mobile-head-more>summary::-webkit-details-marker{display:none!important}
  .tiam-mobile-head-more>summary svg{width:17px!important;height:17px!important;display:block!important;stroke:currentColor!important;fill:none!important}
  .tiam-mobile-head-more__menu{
    position:absolute!important;z-index:1600!important;top:42px!important;inset-inline-start:0!important;
    width:min(280px,calc(100vw - 28px))!important;
    padding:7px!important;
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;
    border:1px solid #d7e2ea!important;border-radius:13px!important;background:#fff!important;color:#173b57!important;
    box-shadow:0 18px 42px rgba(11,39,62,.24)!important;
  }
  .tiam-mobile-head-more:not([open])>.tiam-mobile-head-more__menu{display:none!important}
  .tiam-mobile-head-more__menu > :where(button,a,summary,span,details){
    box-sizing:border-box!important;width:100%!important;min-width:0!important;min-height:42px!important;height:auto!important;
    padding:7px 8px!important;margin:0!important;border:1px solid #dce6ed!important;border-radius:10px!important;
    background:#f8fbfd!important;color:#214762!important;box-shadow:none!important;
    display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:7px!important;
    text-decoration:none!important;font-size:11px!important;white-space:normal!important;
  }
  .tiam-mobile-head-more__menu > :where(button,a,summary,span,details) svg{width:18px!important;height:18px!important;flex:0 0 18px!important;color:inherit!important}
  .tiam-mobile-head-more__menu > :where(button,a,summary,span,details) :where(span,b,small){color:inherit!important;font-size:inherit!important}

  /* Safe fallback for wide operational tables: scroll rather than crush Persian text letter-by-letter. */
  .table-wrap{overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
  .data-table.tiam-mobile-wide-table{min-width:680px!important;width:max-content!important;max-width:none!important}
  .data-table.tiam-mobile-wide-table th{white-space:nowrap!important}
  .data-table.tiam-mobile-wide-table td{word-break:normal!important;overflow-wrap:normal!important}

  /* Brokerage dashboard cards: true mobile density, not one giant card per row. */
  body[data-page="brokerage"] .brokerage-v285-page{gap:7px!important}
  body[data-page="brokerage"] .brokerage-v285-summary{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;overflow:visible!important;
  }
  body[data-page="brokerage"] .brokerage-v285-summary article{
    min-height:58px!important;padding:7px 8px!important;border-radius:13px!important;gap:7px!important;
  }
  body[data-page="brokerage"] .brokerage-v285-summary article:last-child:nth-child(odd){grid-column:1/-1!important}
  body[data-page="brokerage"] .brokerage-v285-summary-icon{width:30px!important;height:30px!important;min-width:30px!important;flex-basis:30px!important;border-radius:9px!important}
  body[data-page="brokerage"] .brokerage-v285-summary-icon svg{width:17px!important;height:17px!important}
  body[data-page="brokerage"] .brokerage-v285-summary small{font-size:10.5px!important;line-height:1.35!important}
  body[data-page="brokerage"] .brokerage-v285-summary b{font-size:17px!important;line-height:1.25!important}
  body[data-page="brokerage"] .brokerage-v436-controls{padding:6px!important;border-radius:13px!important}

  /* "وضعیت کارمندان کارگزاری" becomes readable record cards on phones. */
  body[data-page="brokerage"] .brokerage-employee-status-card{padding:9px!important;border-radius:14px!important}
  body[data-page="brokerage"] .brokerage-employee-status-card .section-title{margin-bottom:7px!important}
  body[data-page="brokerage"] .brokerage-employee-status-wrap{overflow:visible!important;max-height:none!important;border:0!important}
  body[data-page="brokerage"] .brokerage-employee-status-table,
  body[data-page="brokerage"] .brokerage-employee-status-table tbody{display:block!important;width:100%!important;min-width:0!important}
  body[data-page="brokerage"] .brokerage-employee-status-table thead{display:none!important}
  body[data-page="brokerage"] .brokerage-employee-status-table tbody{display:grid!important;gap:7px!important}
  body[data-page="brokerage"] .brokerage-employee-status-table tbody tr{
    display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
    height:auto!important;min-height:0!important;padding:0!important;
    border:1px solid #dbe5ec!important;border-radius:12px!important;background:#fff!important;
    box-shadow:0 2px 8px rgba(18,49,75,.05)!important;overflow:hidden!important;
  }
  body[data-page="brokerage"] .brokerage-employee-status-table tbody td{
    display:grid!important;place-items:center!important;align-content:center!important;gap:1px!important;
    min-width:0!important;height:auto!important;min-height:46px!important;padding:5px 3px!important;
    border:0!important;border-inline-start:1px solid #edf1f4!important;border-top:1px solid #edf1f4!important;
    text-align:center!important;white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important;
    font-size:12px!important;font-weight:800!important;color:#173b57!important;
  }
  body[data-page="brokerage"] .brokerage-employee-status-table tbody td::before{
    content:attr(data-label);display:block!important;font-size:9.5px!important;font-weight:650!important;line-height:1.25!important;color:#718596!important;
  }
  body[data-page="brokerage"] .brokerage-employee-status-table tbody td:first-child{
    grid-column:1/-1!important;min-height:40px!important;padding:7px 10px!important;
    display:flex!important;align-items:center!important;justify-content:flex-start!important;
    border:0!important;background:#f3f7fa!important;text-align:right!important;
    font-size:13px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  }
  body[data-page="brokerage"] .brokerage-employee-status-table tbody td:first-child::before{display:none!important}

  /* Credit assessment KPI cards: 2×2 compact matrix. */
  body[data-page="credit-assessment"] .credit-v118-summary-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;margin-bottom:8px!important;
  }
  body[data-page="credit-assessment"] .credit-v118-summary-card{
    min-height:64px!important;padding:8px 9px!important;border-radius:14px!important;
    grid-template-columns:30px minmax(0,1fr)!important;gap:7px!important;
  }
  body[data-page="credit-assessment"] .v381-credit-kpi-icon,
  body[data-page="credit-assessment"] .credit-v118-summary-art{width:30px!important;height:30px!important}
  body[data-page="credit-assessment"] .credit-v118-summary-copy small{font-size:10.5px!important}
  body[data-page="credit-assessment"] .credit-v118-summary-copy b{font-size:16px!important;line-height:1.25!important}
  body[data-page="credit-assessment"] .credit-v118-summary-copy b.is-money{font-size:14.5px!important}
  body[data-page="credit-assessment"] .credit-v380-fund{gap:7px!important;margin-top:7px!important}
  body[data-page="credit-assessment"] .credit-v380-fund-head{min-height:42px!important;padding:6px 8px!important;border-radius:9px!important}
  body[data-page="credit-assessment"] .credit-v380-fund-head h3{font-size:13px!important}
  body[data-page="credit-assessment"] .credit-v368-fund-actions{gap:5px!important;width:100%!important}
  body[data-page="credit-assessment"] .credit-v368-fund-actions .btn{min-height:32px!important;height:32px!important;padding:0 8px!important;font-size:10.5px!important;flex:1 1 auto!important}
  body[data-page="credit-assessment"] .credit-v380-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;border:0!important;background:transparent!important;overflow:visible!important}
  body[data-page="credit-assessment"] .credit-v380-metrics>div{min-height:54px!important;padding:7px 8px!important;border:1px solid #dce5eb!important;border-radius:9px!important}
  body[data-page="credit-assessment"] .credit-v380-metrics b{font-size:12.5px!important}
}

@media (max-width:420px){
  body:not(.auth-active) #page-content > .tiam-page-hero .tiam-page-hero__copy :where(h1,h2){font-size:17px!important}
  body[data-page="brokerage"] .brokerage-employee-status-table tbody td{font-size:11.5px!important}
  body[data-page="credit-assessment"] .credit-v118-summary-copy b.is-money{font-size:13.5px!important}
}

@media print{
  .tiam-mobile-head-more{display:none!important}
}
