/* GENERATED by tools/build_ui_assets_v185.py; do not edit directly. */

/* === sharehome-foundation-v143.css === */
/* v143 foundation: scoped manager command center and mandatory password setup. */
.hm143-center{padding:23px;border-radius:24px;background:linear-gradient(130deg,#f1f9fa,#f9fbff);border:1px solid #d7e8eb;box-shadow:0 12px 32px rgba(20,58,69,.05);margin:14px 0 22px;color:#183843}
.hm143-center__head{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px}
.hm143-center__eyebrow{display:inline-block;color:#157e7d;font-weight:800;font-size:11px;margin-bottom:6px}
.hm143-center__head h2{font-size:21px;letter-spacing:-.2px;margin:2px 0 7px}
.hm143-center__head p{font-size:12px;line-height:1.9;color:#57717c;margin:0}
.hm143-center__badge{display:inline-block;flex:0 0 auto;font-weight:900;color:#136c6c;background:#d5f2ee;border:1px solid #a4dcd6;border-radius:40px;padding:9px 15px}
.hm143-center__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.hm143-center__item{display:flex;align-items:flex-start;gap:12px;min-height:112px;text-decoration:none;background:white;border:1px solid #deebee;border-radius:17px;padding:17px;color:#173b46;transition:transform .17s ease,box-shadow .17s ease,border-color .17s ease}
.hm143-center a.hm143-center__item:hover{border-color:#77b5b6;box-shadow:0 9px 24px rgba(14,86,95,.1);transform:translateY(-2px)}
.hm143-center a.hm143-center__item:focus-visible{outline:3px solid #20aba8;outline-offset:2px}
.hm143-center__icon{font-size:22px;border-radius:13px;display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;color:#0d777f;background:#e5f5f7}
.hm143-center__item--attention .hm143-center__icon{color:#a5631d;background:#fff1da}
.hm143-center__item small{display:block;font-size:12px;color:#5f7681;font-weight:700;line-height:1.6}
.hm143-center__item strong{display:block;font-size:27px;line-height:1.4;margin:2px 0}
.hm143-center__item em{display:block;font-size:11px;color:#13787a;font-weight:700;font-style:normal}
.hm143-center__status{display:flex;flex-wrap:wrap;align-items:center;gap:12px 25px;margin-top:16px;padding-top:15px;border-top:1px solid #d7e8eb;color:#496672;font-size:12px}
.hm143-center__status b{color:#153b45;font-size:15px}
.hm143-center__status a{margin-inline-start:auto;color:#0e777c;text-decoration:none;font-weight:900}
.hm143-password-alert{border:1px solid #f1c47f;background:#fff9ec;color:#734b15;padding:16px 20px;margin:16px 0;border-radius:15px}
.hm143-password-alert strong{display:block;font-size:16px;margin-bottom:5px}.hm143-password-alert p{margin:0;line-height:2}
.sidebar-user-row .logout-form{margin:0;padding:0;flex:0 0 auto;display:flex;align-items:stretch}
.sidebar-user-row .logout-form button.logout-link{font:inherit;cursor:pointer;appearance:none;text-align:start}
@media(max-width:900px){.hm143-center__grid{grid-template-columns:1fr 1fr}.hm143-center__head h2{font-size:19px}}
@media(max-width:600px){.hm143-center{padding:16px;border-radius:20px}.hm143-center__head{align-items:flex-start;gap:9px}.hm143-center__head h2{font-size:18px}.hm143-center__head p{font-size:11px}.hm143-center__badge{padding:7px 9px;font-size:11px}.hm143-center__grid{grid-template-columns:1fr;gap:9px}.hm143-center__item{min-height:88px;padding:12px}.hm143-center__item strong{font-size:23px}.hm143-center__status{gap:9px 14px}.hm143-center__status a{width:100%;margin-top:5px}}
@media(prefers-reduced-motion:reduce){.hm143-center__item{transition:none}}


/* === sharehome-global-layout-guard-v147.css === */
/* Ham-Melk v147 — cross-page RTL layout integrity.
   Keep this stylesheet after shared and page-specific styles. These rules only
   correct layout collisions; they do not change data or application actions. */

/* All management routes use a visible fixed 286px sidebar above 900px.
   A legacy 980px media query removed the content's right margin while keeping
   the sidebar visible, so at 901–980px the sidebar covered forms and buttons.
   The period page had its own workaround in v146; extend it to every route. */
@media screen and (min-width:901px) and (max-width:980px) {
  html[dir="rtl"] body .app-shell > .workspace {
    box-sizing:border-box!important;
    margin-right:286px!important;
    width:calc(100% - 286px)!important;
    max-width:calc(100% - 286px)!important;
    min-width:0!important;
  }
  /* Owner filters retain a desktop three-control row until 900px. Once the
     sidebar is accounted for, that row needs to wrap instead of pushing its
     sort selector outside the viewport. */
  body .app-shell .owner-list-toolbar-v26 {
    display:block!important;
  }
  body .app-shell .owner-toolbar-controls-v26 {
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-top:10px!important;
  }
  body .app-shell .owner-toolbar-controls-v26 .owner-search-v26 {
    grid-column:1/-1!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  body .app-shell .owner-toolbar-controls-v26 select {
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }

}

/* The charge six-column grid needs internal horizontal scrolling at 901–1024px.
   The application viewport remains fixed; no financial column is truncated. */
@media screen and (min-width:901px) and (max-width:1024px) {
  /* The charge list's 6-column grid has a 715px minimum intrinsic width.
     Scroll *inside* its card and wrap its toolbar rather than scrolling the
     whole page or hiding financial columns. */
  body .app-shell .charge-summary-v46,
  body .app-shell .charge-summary-v46.owner-mode,
  body .app-shell .charge-summary-v46.detail-summary {
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    min-width:0!important;
  }
  body .app-shell .charge-toolbar-v46 {
    display:flex!important;
    flex-wrap:wrap!important;
    min-width:0!important;
  }
  body .app-shell .charge-search-v46 {
    flex:1 1 100%!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
  }
  body .app-shell .charge-filter-v46 {
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow-x:auto!important;
  }
  body .app-shell .charge-list-panel-v46 {
    min-width:0!important;
    max-width:100%!important;
    overflow-x:auto!important;
    overscroll-behavior-x:contain;
  }
  body .app-shell .charge-list-head-v46,
  body .app-shell .charge-account-row-v46 {
    min-width:715px;
  }
}

/* Design-system.js replaces a native select with a visual .ds-select widget.
   Shared form rules otherwise give the hidden original a large min-height,
   padding and full width. Constrain only the visually-hidden originals, not
   ordinary select fields or visible custom widgets. */
@media screen {
  body .app-shell select.ds-native-select {
    position:absolute!important;
    inset-block-start:0!important;
    inset-inline-start:0!important;
    width:1px!important;
    min-width:0!important;
    max-width:1px!important;
    height:1px!important;
    min-height:0!important;
    max-height:1px!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    opacity:0!important;
    clip-path:inset(50%)!important;
    pointer-events:none!important;
  }
  body .app-shell label:has(> select.ds-native-select) {
    position:relative;
  }
  /* Permit grid and panel children to shrink instead of moving the entire
     RTL document; genuinely wide tables keep their own horizontal scroll. */
  body .app-shell :is(.workspace,.page-content,.panel,.form-grid,.grid-form,.table-wrap) {
    min-width:0;
  }
  body .app-shell .page-content .table-wrap:not(.mobile-cards) {
    max-width:100%;
    overscroll-behavior-inline:contain;
  }
}


/* === sharehome-batch-v148.css === */
/* Ham-Melk v148: dashboard task readability, safe mobile card layout.
   Loaded last, without overriding period/lottery forms or global scroll guards. */
.hm148-owner-summary {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-block:16px 22px;min-width:0;}
.hm148-owner-summary__item {display:flex;flex-direction:column;gap:5px;min-width:0;padding:17px 16px;background:#fff;border:1px solid #dce6f5;border-radius:18px;text-decoration:none!important;color:#1d304f!important;box-shadow:0 7px 18px rgba(27,58,105,.035);}
.hm148-owner-summary__item:hover,.hm148-owner-summary__item:focus-visible {border-color:#7296de;box-shadow:0 8px 24px rgba(48,91,168,.1);outline-offset:3px;}
.hm148-owner-summary__item.has-action {border-color:#96b5f4;background:#f4f8ff;}
.hm148-owner-summary__item span {font-size:13px;font-weight:800;line-height:1.7;color:#506583;}
.hm148-owner-summary__item strong {font-size:clamp(22px,2.6vw,29px);line-height:1.3;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;}
.hm148-owner-summary__item small {font-size:12px;color:#647894;}
.hm148-owner-summary__item .hm148-owner-summary__money {font-size:clamp(18px,1.7vw,25px);}
.hm148-financial-status {display:flex;justify-content:space-between;align-items:center;gap:20px;min-width:0;padding:15px 17px;margin:12px 0;background:#f3f7ff;border-radius:17px;border:1px solid #dbe7fc;}
.hm148-financial-status__amount {display:flex;flex-direction:column;gap:3px;min-width:0;}
.hm148-financial-status__amount small {font-size:12px;color:#59708d;}
.hm148-financial-status__amount strong {font-size:clamp(19px,2vw,28px);line-height:1.5;color:#18345b;overflow-wrap:anywhere;}
.hm148-financial-status__amount em {font-size:12px;color:#64758c;font-style:normal;}
.hm148-financial-status__actions {display:flex;flex-wrap:wrap;align-items:center;gap:8px;max-width:65%;}
.hm148-financial-status__actions a {text-decoration:none;font-size:12px;font-weight:800;padding:8px 11px;border-radius:10px;color:#31599d;background:#fff;border:1px solid #d7e2f6;line-height:1.7;}
.hm148-financial-status__actions a:focus-visible {outline:2px solid #3c70c7;outline-offset:3px;}
@media(max-width:1150px) {.hm148-owner-summary {grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:760px) {.hm148-financial-status {display:block;}.hm148-financial-status__actions {margin-top:12px;max-width:none;}.hm148-owner-summary {gap:9px;margin-block:12px 18px;}.hm148-owner-summary__item {padding:12px 11px;border-radius:13px;}}
@media(max-width:360px) {.hm148-owner-summary {grid-template-columns:minmax(0,1fr);}}
@media(prefers-reduced-motion:reduce){.hm148-owner-summary__item{transition:none!important;}}


/* === sharehome-batch-v149.css === */
/* Ham-Melk v149 — responsive manager information cards; no business logic. */
.hm149-command-links {display:flex;flex-wrap:wrap;gap:9px;min-width:0;margin-block:12px;}
.hm149-command-links>a {border:1px solid #d7e2f6;padding:10px 14px;border-radius:10px;background:#f7faff;color:#31599d;text-decoration:none;font-size:13px;font-weight:700;}
.hm149-command-links>a:focus-visible {outline:2px solid #3e75c4;outline-offset:3px;}
.hm149-restricted-note {background:linear-gradient(135deg,#f8fbff,#eef5ff);}
body .home-command-v44,body .hm143-center,body .dashboard-kpis-v44,body .quick-work-v44,
body .owner-home-v44,body .owner-primary-actions-v44,body .hm148-owner-summary {min-width:0;max-width:100%;}
@media (max-width:1100px) {
  body .hm143-center__grid {grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));}
  body .hm143-center__status {display:flex;flex-wrap:wrap;gap:10px;}
}
@media (max-width:650px) {
  body .hm143-center__head {display:flex;flex-wrap:wrap;gap:10px;}
  body .hm143-center__badge {max-width:100%;white-space:normal;}
  body .hm148-financial-status {flex-wrap:wrap;align-items:flex-start;}
  body .hm148-financial-status__actions {width:100%;max-width:100%;}
  body .hm148-financial-status__actions a {flex:1 1 130px;text-align:center;}
  body .hm149-command-links>a {flex:1 1 145px;text-align:center;}
}


/* === hammelk-mobile-v157.css === */
/* Ham-Melk v157 — mobile-first usability polish. Isolated from business logic. */
@media screen and (max-width:900px){
  /* Use available OS Persian fonts. No downloaded font or dependency needed. */
  body{--app-font-family:var(--hm186-font-body,"Yekan","B Yekan",Tahoma,sans-serif);font-family:var(--app-font-family)!important;-webkit-text-size-adjust:100%;text-size-adjust:100%}
  .app-shell :is(h1,h2,h3,.topbar-title>b){font-family:var(--hm186-font-title,"Titr","B Titr",Tahoma,sans-serif)!important}
  .app-shell .sidebar-nav{font-family:var(--app-font-family)!important}
  /* The off-canvas sidebar is a modal navigation surface, not page content. */
  body.sidebar-open{overflow:hidden!important;overscroll-behavior:contain}
  body.sidebar-open .sidebar{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
  body.sidebar-open .sidebar-nav{overscroll-behavior:contain}
  .app-shell,.workspace,.page-content{min-width:0;max-width:100%}
  .app-shell .page-content{padding-bottom:calc(100px + env(safe-area-inset-bottom,0px))!important}
  .app-shell .topbar-title{min-width:0;overflow-wrap:anywhere}
  .app-shell .topbar-title b{line-height:1.45!important}
  /* Prevent iOS Safari zoom-on-focus and make all text entry readable. */
  .app-shell :is(input[type=text],input[type=search],input[type=email],input[type=tel],input[type=url],input[type=password],input[type=number],input:not([type]),textarea,select){font-size:16px!important;line-height:1.5!important;max-width:100%}
  /* Numeric/Latin identifiers remain readable and wrap instead of widening forms. */
  body.owner-interface-v80 .page-content :is(.owner-next-v44,.owner-credit-compact-v44,.period-card,.message-card,.history-record,.account-card,.charge-list-panel-v46){min-width:0;max-width:100%}
  body.owner-interface-v80 .page-content :is(.owner-next-v44,.owner-credit-compact-v44,.owner-alert-content-v81,.message-card,.history-record,.account-card){overflow-wrap:anywhere}
  body.owner-interface-v80 :is(.owner-stay-main-action-v33,.owner-action-card-v81,.hm148-owner-summary__item,.owner-shortcut-v81){touch-action:manipulation}
  body.owner-interface-v80 :is(.owner-stay-main-action-v33,.owner-action-card-v81,.hm148-owner-summary__item,.owner-shortcut-v81):focus-visible{outline:3px solid #285ee5!important;outline-offset:3px}
  /* Keyboard entry: navigation dock must not sit over the current field. */
  body.hm157-form-focus .mobile-dock{display:none!important}
  body.hm157-form-focus .app-shell .page-content{padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))!important}
  /* Visible UI status text: avoid hidden 10px micro-copy in owner flows. */
  body.owner-interface-v80 :is(.account-summary-grid article span,.owner-upcoming-v44 .period-type,.hm-pledge-wizard-hint){font-size:max(12px,var(--ty-meta,13px))!important;line-height:1.65!important}
  body.owner-interface-v80 .hm148-owner-summary__item small{font-size:13px!important;line-height:1.6!important}
  body.owner-interface-v80 .owner-alert-content-v81 small{font-size:14px!important}
  .hm157-calendar-mobile-hint{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;padding:10px 12px;margin:8px 0;background:#f0f6ff;border:1px solid #d7e5fb;border-radius:12px;color:#3b577b;font-size:13px;line-height:1.7}
  .hm157-calendar-mobile-hint a{font-weight:850;color:#2857a8;text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
  .hm157-calendar-mobile-hint a:focus-visible{outline:2px solid #285ee5;outline-offset:2px}
}
.hm157-calendar-mobile-hint{display:none}
@media screen and (max-width:900px){.hm157-calendar-mobile-hint{display:flex}}
@media screen and (max-width:359px){
  body.owner-interface-v80 .owner-primary-actions-v44{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.owner-interface-v80 .owner-primary-actions-v44>.owner-action-card-v81:first-child{grid-column:1/-1}
  body.owner-interface-v80 .hm148-owner-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .mobile-dock a,.mobile-dock button{font-size:12px!important;min-width:0;padding-inline:2px!important}
}
/* Notification preferences: a compact, accessible settings screen for owners. */
.hm157-notice-page{width:min(100%,850px);margin-inline:auto;min-width:0}
.hm157-notice-head{background:linear-gradient(130deg,#f2f7ff,#fff);border:1px solid #dbe5f5;border-radius:18px;padding:18px 20px;margin-bottom:14px}
.hm157-notice-head h1{font-size:clamp(20px,2.2vw,24px)!important;line-height:1.5!important;margin:6px 0!important}
.hm157-notice-head p{color:#526580;margin:0;font-size:14px;line-height:1.8}
.hm157-notice-form{display:grid;gap:14px}
.hm157-notice-section{background:#fff;border:1px solid #dce5ef;border-radius:18px;padding:17px;min-width:0}
.hm157-notice-section h2{font-size:17px!important;margin:0 0 14px!important}
.hm157-notice-switch{display:flex;align-items:center;gap:13px;min-width:0;min-height:64px;padding:11px 12px;border:1px solid #e4eaf3;border-radius:12px;margin-bottom:9px;cursor:pointer;color:#273b55;background:#fafcff}
.hm157-notice-switch>input[type=checkbox]{flex:0 0 23px!important;width:23px!important;height:23px!important;min-width:23px!important;min-height:23px!important;margin:0;accent-color:#3468cf;cursor:pointer}
.hm157-notice-switch>span{min-width:0;display:grid;gap:3px}
.hm157-notice-switch strong{display:block;font-size:15px;font-weight:850;line-height:1.5}
.hm157-notice-switch small{display:block;font-size:13px;line-height:1.7;color:#586d86}
.hm157-notice-field{display:grid;gap:7px;font-size:14px;font-weight:800;margin:2px 0 11px}
.hm157-notice-field>input{font-size:16px!important;min-height:48px;border:1px solid #d4dfed;border-radius:10px;padding:9px 12px}
.hm157-notice-links{display:flex;flex-wrap:wrap;gap:7px;margin:-1px 0 13px;padding-inline:3px}
.hm157-notice-links a{display:inline-flex;align-items:center;min-height:44px;font-size:13px;color:#2459b4;background:#eef4ff;border:1px solid #d9e7ff;border-radius:10px;padding:7px 11px;text-decoration:none;font-weight:800}
.hm157-notice-tip{font-size:13px;color:#526580;line-height:1.8;margin:3px 0 0}
.hm157-notice-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:#fff;border:1px solid #dce5ef;border-radius:16px;padding:14px 17px}
.hm157-notice-actions button{min-height:48px!important;font-size:15px!important}
.hm157-notice-actions p{margin:0;color:#5d6e84;font-size:13px;line-height:1.7}
.hm157-notice-page :is(input,button,a):focus-visible{outline:3px solid #3a75d8;outline-offset:2px}
@media(max-width:600px){
  .hm157-notice-head{padding:14px}
  .hm157-notice-section{padding:12px;border-radius:14px}
  .hm157-notice-switch{padding:10px;min-height:66px}
  .hm157-notice-actions{display:grid;gap:7px;padding:12px}
  .hm157-notice-actions button{width:100%}
}
@media(prefers-reduced-motion:reduce){.hm157-notice-page *{scroll-behavior:auto!important}}
/* Owner messenger assistant: secondary links must be thumb-friendly. */
@media screen and (max-width:900px){
  body.owner-interface-v80 .eas-footer a{
    display:inline-flex;align-items:center;justify-content:center;
    min-height:44px;padding:9px 12px;margin:2px;
    border:1px solid #d6e4f7;border-radius:10px;
    background:#f2f6ff;color:#2857a8;text-decoration:none;
    font-size:14px;line-height:1.5;
  }
  .hm157-notice-switch small{font-size:14px}
}


/* === hammelk-profile-layout-v158.css === */
/* Ham-Melk v158 — profile layout: prevent the shared account-card tile
   flex rule from placing a profile form next to its heading. */
.account-layout > .account-main > section.account-card {
  display: block !important;
  flex: none !important;
  align-items: initial !important;
  gap: 0 !important;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  padding: 0 !important;
}
.account-layout > .account-main > section.account-card > .account-card-head,
.account-layout > .account-main > section.account-card > .account-form {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}
.account-layout .account-field-grid,
.account-layout .account-field-grid > label {
  min-width: 0;
  max-width: 100%;
}
.account-layout .account-field-grid :is(input, textarea),
.account-layout .account-password-form :is(input, textarea) {
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
}
/* Tablet and smaller desktop windows have less room after the side navigation.
   Keep the account form above the security panel instead of crushing its fields. */
@media screen and (max-width: 1250px) {
  .account-layout {grid-template-columns:minmax(0,1fr) !important;}
  .account-layout > .account-side {grid-template-columns:minmax(0,1fr);}
  .account-layout .account-field-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media screen and (max-width: 640px) {
  .account-layout,
  .account-layout > .account-main,
  .account-layout > .account-side {
    min-width: 0;
    grid-template-columns: minmax(0, 1fr);
  }
  .account-layout > .account-main > section.account-card > .account-card-head {
    padding: 16px 14px 12px;
  }
  .account-layout > .account-main > section.account-card > .account-form {
    padding: 14px;
  }
  .account-layout .account-field-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 13px;
  }
  .account-layout .account-field-grid > label {
    font-size: 14px;
    line-height: 1.6;
  }
  .account-layout .account-field-grid :is(input, textarea) {
    width: 100%;
    font-size: 16px !important;
    line-height: 1.5;
    min-height: 46px;
  }
  .account-layout .account-actions > .button {width: 100%; min-height: 48px;}
}
@media (hover: none) {
  .account-layout > .account-main > section.account-card:hover {transform:none;}
}


/* === hm-city-pick-v170.css === */
/* Central city picker: fixed portal works inside modal/dialog overflow containers. */
input[data-city-suggest] { min-width: 0; background-image: none; }
input[data-city-suggest]:focus { outline-offset: 2px; }
.hm-city-hint-v170 { display:block; margin-top:6px; font-size:.76rem; line-height:1.65; color:#60728a; font-weight:500; }
.hm-city-hint-v170.hm-city-error-v170 { color:#ad3444; }
.hm-city-options-v170 {
  position:fixed; z-index:2147482000; overflow-y:auto; overscroll-behavior:contain;
  background:#fff; border:1px solid #d7e2f0; border-radius:16px;
  box-shadow:0 16px 46px rgba(23,45,78,.19), 0 4px 10px rgba(23,45,78,.07);
  padding:6px; text-align:right; color:#21364e; box-sizing:border-box;
  -webkit-overflow-scrolling:touch;
}
.hm-city-options-v170[hidden] { display:none !important; }
.hm-city-option-v170 {
  display:flex; flex-direction:row; justify-content:space-between; align-items:center;
  gap:12px; width:100%; min-height:44px; padding:9px 12px; border:0; border-radius:10px;
  background:transparent; color:#263e56; cursor:pointer; font:inherit; text-align:right;
  -webkit-tap-highlight-color:transparent;
}
.hm-city-option-v170 strong { font-size:.94rem; font-weight:750; }
.hm-city-option-v170 span { font-size:.81rem; white-space:nowrap; color:#637d9b; }
.hm-city-option-v170:is(:hover,:focus-visible,.is-active) { background:#eaf3ff; outline:none; }
.hm-city-option-v170.is-active strong { color:#2057ad; }
.hm-city-empty-v170 {padding:16px 10px;line-height:1.8;color:#65778c;font-size:.9rem;}
@media(max-width:650px){
  .hm-city-options-v170 { border-radius:13px; }
  .hm-city-option-v170 { min-height:48px; }
  .hm-city-option-v170 span { font-size:.76rem; }
}

/* Stable grid width independent of content and hint length. */
.app-shell .form-grid.owner-fields,
.app-shell .owner-form-grid.owner-fields {
  width:100%;
  max-width:100%;
  min-width:0;
}
/* v171 — Stable, intrinsic-content-independent owner form columns.
   The late .form-grid/.owner-form-grid selector in app-bundle-v44.css
   otherwise overwrites .owner-fields and creates an implicit auto column. */
@media (min-width: 901px) {
  .app-shell .form-grid.owner-fields,
  .app-shell .owner-form-grid.owner-fields,
  .app-shell .owner-fields.form-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
  .app-shell .form-grid.owner-fields > .span-3,
  .app-shell .owner-form-grid.owner-fields > .span-3 {grid-column:1/-1 !important;}
  .app-shell .form-grid.owner-fields > .span-2,
  .app-shell .owner-form-grid.owner-fields > .span-2 {grid-column:span 2 !important;}
}
.app-shell .form-grid.owner-fields > *,
.app-shell .owner-form-grid.owner-fields > *,
.app-shell .form-grid.owner-fields label,
.app-shell .form-grid.owner-fields input,
.app-shell .form-grid.owner-fields select,
.app-shell .form-grid.owner-fields textarea,
.app-shell .form-grid.owner-fields .hm-city-hint-v170 {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}
.app-shell .form-grid.owner-fields .hm-city-hint-v170 {
  width: 100%;
  overflow-wrap: anywhere;
}
@media (max-width: 900px) {
  .app-shell .form-grid.owner-fields,
  .app-shell .owner-form-grid.owner-fields {
    display: grid;
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .app-shell .form-grid.owner-fields > .span-2,
  .app-shell .form-grid.owner-fields > .span-3 {
    grid-column: auto;
  }
}


/* === hm-header-info-v182.css === */
/* v182: isolated shared-header information. No changes to page business layouts. */
@media screen {
  .app-shell .topbar.topbar-modern.hm-header-v182{container:hm-topbar / inline-size;gap:16px!important;isolation:isolate}
  .app-shell .hm-header-v182 .topbar-title{flex:0 1 auto;max-width:210px;min-width:60px}
  .app-shell .hm-header-v182 .topbar-title>b,.app-shell .hm-header-v182 .topbar-meta{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .app-shell .hm-header-v182 .topbar-actions{flex:0 0 auto;margin-inline-start:0!important}
  .hm-header-info-v182{flex:1 1 auto;display:flex;align-items:center;justify-content:center;gap:22px;min-width:0;max-width:980px;margin-inline:auto;color:#34445f;font-family:inherit}
  .hm-header-info-v182 [hidden],.hm182-dialog [hidden],.hm182-settings [hidden]{display:none!important}
  .hm-header-info-v182 .hm182-open{appearance:none;background:transparent!important;border:0!important;box-shadow:none!important;padding:4px 3px;min-height:44px;color:inherit;font:inherit;cursor:pointer;border-radius:8px;text-align:right;line-height:1.5}
  .hm-header-info-v182 .hm182-open:hover{background:#f4f7fb!important}
  .hm-header-info-v182 .hm182-open:focus-visible,.hm182-dialog button:focus-visible,.hm182-dialog a:focus-visible{outline:2px solid #315bd6;outline-offset:3px}
  .hm182-icon{display:inline-block;width:20px;height:20px;flex:0 0 20px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}
  .hm-header-info-v182 .hm182-date{display:flex;align-items:center;gap:9px;flex:0 0 auto;position:relative}
  .hm182-calendar-icon{color:#71829c}
  .hm182-date-copy{display:flex;flex-direction:column;gap:1px;white-space:nowrap}
  .hm182-date-full{font-size:12px!important;font-weight:750;line-height:1.65}
  .hm182-hijri{font-size:11px!important;color:#68768c;line-height:1.6}
  .hm182-date-short,.hm182-today-label,.hm182-occasion-indicator{display:none}
  .hm-header-info-v182 .hm182-occasion{display:flex;align-items:center;gap:8px;min-width:0;flex:0 1 310px;border-inline-start:1px solid #e5eaf1!important;border-radius:0!important;padding-inline-start:18px}
  .hm182-occasion-dot,.hm182-occasion-indicator{width:6px;height:6px;flex:0 0 6px;background:#b28530;border-radius:50%}
  .hm182-occasion-copy{display:flex;flex-direction:column;gap:2px;min-width:0}
  .hm182-eyebrow{font-size:11px!important;color:#6b7890;font-weight:500;line-height:1.6}
  .hm182-occasion .hm182-eyebrow{color:#89651e}
  .hm182-occasion-title{font-size:12px!important;font-weight:600;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .hm182-more{font-size:11px!important;color:#8a6929;background:#fbf5e8;border-radius:5px;white-space:nowrap;padding:1px 4px}
  .hm-header-info-v182 .hm182-weather{display:flex;align-items:center;gap:14px;flex:0 0 auto;border-inline-start:1px solid #e5eaf1!important;border-radius:0!important;padding-inline-start:18px}
  .hm182-city{display:flex;align-items:center;gap:5px;position:relative;white-space:nowrap;font-size:12px!important}
  .hm182-city .hm182-icon{width:18px;height:18px;flex-basis:18px;color:#77879f}
  .hm182-city[data-icon="sun"] .hm182-icon,.hm182-city[data-icon="partly"] .hm182-icon{color:#a67b24}
  .hm182-temperature{font-size:13px!important;font-weight:750;font-variant-numeric:tabular-nums;min-width:26px;text-align:left}
  .hm182-stale-mark{color:#986f21;font-size:15px;position:absolute;inset-inline-end:-5px;top:-4px}
  /* Dialog enters the top layer: no clipping by sticky/overflow page containers. */
  .hm182-dialog{position:fixed;inset:auto;top:var(--hm182-panel-top,76px);left:var(--hm182-panel-left,20px);margin:0;width:460px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 90px);padding:0;overflow:auto;overscroll-behavior:contain;border:1px solid #dfe6ef;border-radius:16px;background:#fff;color:#2b3c54;box-shadow:0 16px 50px #24345424;font-family:inherit;font-size:13px;line-height:1.8;text-align:right}
  .hm182-dialog:not([open]){display:none!important}
  .hm182-dialog[open]{display:block}
  .hm182-dialog::backdrop{background:rgba(19,32,52,.10)}
  .hm182-dialog-heading{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px;border-bottom:1px solid #edf0f5;background:#fff;position:sticky;top:0;z-index:1}
  .hm182-dialog h2{font-size:17px!important;font-weight:800;margin:0;line-height:1.6}
  .hm182-close{display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid #e3e9f1;border-radius:9px;background:white;color:#68788d;cursor:pointer}
  .hm182-panel-dates{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:16px 20px;background:#f8fafc}
  .hm182-panel-dates>div{display:grid;gap:4px}
  .hm182-panel-dates strong{font-size:13px!important;font-weight:750}
  .hm182-note{font-size:12px!important;font-weight:400;color:#69788d;line-height:1.9;margin:8px 0;overflow-wrap:anywhere}
  .hm182-panel-dates>.hm182-note{grid-column:1/-1;margin:0;font-size:11px!important}
  .hm182-panel-section{padding:14px 20px;border-top:1px solid #edf0f5}
  .hm182-panel-section h3{font-size:14px!important;font-weight:750;margin:0 0 10px}
  .hm182-section-meta{font-size:11px!important;font-weight:400;color:#6f7e93;display:inline-block;margin-inline-start:8px}
  .hm182-occasion-list{margin:0;padding-inline-start:19px;color:#4f5e72;font-size:13px}
  .hm182-occasion-list:empty{display:none}
  .hm182-occasion-list li{padding:2px 0}
  .hm182-occasion-list li::marker{color:#b18a3e}
  .hm182-weather-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .hm182-weather-card{border:1px solid #e5eaf2;border-radius:11px;padding:11px 12px;min-width:0;background:#fff}
  .hm182-weather-card-top{display:flex;align-items:center;gap:7px;font-weight:700}
  .hm182-weather-card-top .hm182-icon{color:#7b8ca4}
  .hm182-weather-card bdi{font-size:25px!important;display:block;font-weight:750;line-height:1.7;direction:ltr;text-align:right}
  .hm182-weather-card p{font-size:12px!important;line-height:1.8;margin:0;color:#627189}
  .hm182-weather-card small{font-size:10px!important;line-height:1.8;display:block;color:#718096}
  .hm182-weather-card .hm182-stale-label{display:inline-block;background:#fcf2df;color:#8b6320;padding:0 5px;border-radius:4px;margin-top:3px;font-size:11px}
  .hm182-sources{font-size:10px;color:#7c899a;margin-top:10px;line-height:1.8}
  .hm182-sources a,.hm182-settings-link,.hm182-dialog-footer a{color:#355eac;text-decoration:underline;text-underline-offset:3px}
  .hm182-sources a{display:inline}
  .hm182-settings-link{font-size:12px}
  .hm182-dialog-footer{display:flex;justify-content:space-between;gap:10px;padding:12px 20px;border-top:1px solid #edf0f5;font-size:10px;color:#748197;background:#fafbfd}
  .hm182-dialog-footer a{white-space:nowrap}
  .hm182-weather-form{display:grid;gap:9px;max-width:760px}
  .hm182-check{display:flex!important;align-items:flex-start;gap:9px;font-size:13px;line-height:1.8;cursor:pointer}
  .hm182-check input[type=checkbox]{width:18px!important;height:18px!important;min-width:18px;flex:0 0 18px;margin:3px 0 0;accent-color:#4264b7}
  .hm182-settings-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}
  .hm182-diagnostic{padding:12px 16px;border:1px solid #dce5ef;background:#f8fafc;border-radius:10px;margin-top:14px;white-space:pre-line;font-size:12px;line-height:1.9;overflow-wrap:anywhere}
  /* Container widths account for sidebar width and long page headings. */
  @container hm-topbar (max-width:950px){
    .hm-header-info-v182{gap:14px}
    .hm-header-info-v182 .hm182-occasion{flex-basis:210px;padding-inline-start:12px}
    .hm-header-info-v182 .hm182-weather{gap:10px;padding-inline-start:12px}
  }
  @container hm-topbar (max-width:820px){
    .hm-header-info-v182 .hm182-occasion{display:none}
    .hm182-occasion-indicator:not([hidden]){display:block;position:absolute;inset-inline-start:1px;top:4px}
  }
  @container hm-topbar (max-width:660px){
    .hm-header-info-v182 .hm182-weather{display:none}
  }
  @container hm-topbar (max-width:490px){
    .hm-header-info-v182{flex:0 0 auto;margin-inline-start:auto;margin-inline-end:0}
    .hm182-date-full,.hm182-hijri{display:none}
    .hm182-date-short{display:block;font-size:12px!important;font-weight:750}
    .hm182-today-label{display:block;font-size:10px!important;color:#697c98}
    .hm-header-info-v182 .hm182-date{gap:5px}
    .hm182-calendar-icon{width:17px;height:17px;flex-basis:17px}
  }
  @media(max-width:900px){
    .app-shell .topbar.topbar-modern.hm-header-v182{gap:10px!important}
    .app-shell .hm-header-v182 .topbar-title{max-width:190px}
    .app-shell .hm-header-v182 .menu-button{margin:0!important;flex:0 0 36px}
  }
  @media(max-width:520px){
    .app-shell .topbar.topbar-modern.hm-header-v182{gap:7px!important;padding-inline:10px!important}
    .app-shell .hm-header-v182 .topbar-title{flex:1 1 auto;min-width:0;max-width:140px}
    .app-shell .hm-header-v182 .topbar-actions{gap:6px!important}
    .app-shell .hm-header-v182 .topbar-actions .icon-button,.app-shell .hm-header-v182 .small-avatar{width:34px!important;height:36px!important;min-width:34px!important}
    .hm182-dialog{left:12px!important;top:70px!important;width:calc(100vw - 24px);max-height:calc(100dvh - 84px);border-radius:13px}
    .hm182-dialog-heading,.hm182-panel-section,.hm182-panel-dates{padding-inline:15px}
    .hm182-panel-dates{grid-template-columns:1fr;gap:10px}
    .hm182-dialog-footer{flex-wrap:wrap;padding-inline:15px}
  }
  @media(max-width:359px){
    .app-shell .topbar.topbar-modern.hm-header-v182{gap:5px!important;padding-inline:8px!important}
    .hm182-calendar-icon{display:none}
    .app-shell .hm-header-v182 .topbar-title>b{font-size:12px!important}
  }
  @media(prefers-reduced-motion:reduce){.hm-header-info-v182 *,.hm182-dialog *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
}
@media print{.hm-header-info-v182,.hm182-dialog{display:none!important}}

