.landing-shell { --landing-muted: var(--muted); --landing-border: var(--line); --landing-tint: var(--surface-2); --landing-ink: var(--accent-text); }
.landing-count { margin-inline-start: auto; min-width: 1.5rem; border-radius: 999px; padding: .05rem .45rem; background-color: #fff; box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent-fill) 45%, transparent); color: var(--sidebar-bg); font-size: .68rem; font-weight: 900; line-height: 1.5; text-align: center; flex-shrink: 0; }
.landing-nav-status { margin-inline-start: auto; color: var(--sidebar-muted); font-size: .65rem; }
.landing-nav-group { border: 1px solid transparent; border-radius: 1rem; transition: background-color .25s, border-color .25s; }
.landing-nav-group-current { border-color: rgb(255 255 255 / 8%); background-color: rgb(255 255 255 / 4%); }
.landing-nav-submenu { display: grid; gap: .15rem; margin: .15rem .35rem .45rem 1.35rem; padding-inline-start: .6rem; border-inline-start: 1px solid rgb(255 255 255 / 12%); }
.landing-nav-sublink { display: flex; align-items: center; gap: .55rem; min-height: 2.25rem; border-radius: .65rem; padding: .4rem .7rem; color: var(--sidebar-text); font-size: .76rem; font-weight: 700; text-decoration: none; transition: background-color .2s, color .2s; }
.landing-nav-sublink svg { width: 1.05rem; height: 1.05rem; opacity: .8; }
.landing-nav-sublink:hover { color: #fff; background-color: var(--sidebar-hover); }
.landing-nav-sublink-active, .landing-nav-sublink-active:hover { color: #fff; background-color: var(--accent-fill); box-shadow: 0 8px 20px -12px var(--accent-glow); }
.landing-nav-sublink-active svg { opacity: 1; }
.landing-shell .scenario-filters { margin-bottom: .55rem; }
.landing-filter-note { color: var(--landing-muted); font-size: .72rem; margin: 0 .25rem 1.4rem; }
.landing-shell .scenario-metric-grid .landing-metric-status { font-size: 1rem; font-weight: 600; }
.landing-table td { vertical-align: middle; }
.landing-record-title { font-weight: 700; }
.landing-empty { padding: 2rem; text-align: center; color: var(--landing-muted); }
.landing-empty p { margin: auto; max-width: 33rem; line-height: 2; font-size: .8rem; }
.landing-text-link { color: var(--landing-ink); font-size: .8rem; font-weight: 700; }
.landing-pad { padding: 1.5rem; }
.landing-pad h2 { color: var(--ink); font-weight: 800; margin-bottom: .8rem; font-size: 1rem; }
.landing-pad h3 { color: var(--ink); font-weight: 700; margin-bottom: .5rem; }
.landing-pagination { display: flex; justify-content: center; align-items: center; gap: 1rem; margin-top: 1.4rem; color: var(--landing-muted); font-size: .8rem; }
.landing-connection { max-width: 720px; margin: 2rem auto; text-align: center; padding: 2.8rem; }
.landing-connection-symbol { display: grid; width: 3.25rem; height: 3.25rem; place-items: center; margin-inline: auto; margin-bottom: 1rem; border-radius: 1rem; background-color: var(--accent-fill); background-image: linear-gradient(-140deg, color-mix(in srgb, var(--accent-fill) 60%, white), var(--accent-fill) 50%, var(--accent-2)); box-shadow: 0 12px 24px -12px var(--accent-glow); color: #fff; font-size: 1.6rem; }
.landing-connection h2 { color: var(--ink); font-size: 1.3rem; font-weight: 800; margin: 1rem 0; }
.landing-connection p, .landing-note { color: var(--landing-muted); line-height: 2; font-size: .82rem; }
.landing-connection-info { margin: 1.5rem 0; padding: 1.2rem; border: 1px solid var(--landing-border); border-radius: var(--radius); background-color: var(--landing-tint); text-align: left; }
.landing-connection-info h3 { font-weight: 700; margin-bottom: .5rem; }
.landing-connection-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.4rem; }
.landing-connection-card { display: flex; flex-direction: column; align-items: start; gap: .8rem; padding: 1.6rem; transition: transform .3s var(--ease-out), box-shadow .3s; }
.landing-connection-card:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); }
.landing-connection-card .landing-connection-symbol { margin: 0; }
.landing-connection-card h2 { color: var(--ink); font-size: 1.1rem; font-weight: 800; }
.landing-connection-card p { flex: 1; color: var(--landing-muted); line-height: 2; font-size: .82rem; }
.landing-connection-actions { display: flex; flex-wrap: wrap; gap: .7rem; }
.landing-external-notice { display: flex; align-items: start; justify-content: space-between; gap: 1rem; margin-bottom: 1.4rem; padding: 1.1rem 1.3rem; border-inline-start: 3px solid var(--accent-fill); background-color: var(--landing-tint); }
.landing-external-notice h2 { color: var(--ink); font-size: .95rem; font-weight: 800; margin-bottom: .3rem; }
.landing-external-notice p { color: var(--landing-muted); font-size: .78rem; line-height: 1.9; }
.landing-ad-form { position: relative; z-index: 10; overflow: visible; padding: 1.5rem; }
.landing-ad-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.2rem; }
.landing-ad-form-grid .landing-ad-wide { grid-column: 1 / -1; }
.landing-ad-form .field-group { min-width: 0; }
.landing-ad-form .jalali-input-wrap.jalali-picker-open { z-index: 1; }
.landing-ad-checkbox-group legend { color: inherit; font-size: .78rem; font-weight: 700; }
.landing-ad-form input:not([type="checkbox"]):not([type="radio"]), .landing-ad-form select, .landing-ad-form textarea { width: 100%; }
.landing-ad-form input[type="file"] { padding: .65rem; }
.landing-ad-form-actions { display: flex; align-items: center; gap: 1rem; margin-top: 1.4rem; padding-top: 1.2rem; border-top: 1px solid var(--landing-border); }
.landing-ad-form-actions p { color: var(--landing-muted); font-size: .75rem; }
.landing-ad-list-filters { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.landing-ad-list-panel { margin-top: 1.4rem; }
.landing-ad-list-panel .panel-heading p { margin-top: .25rem; color: var(--landing-muted); font-size: .72rem; }
.landing-ad-table-wrap { overflow-x: auto; }
.landing-ad-list-table { min-width: 980px; }
.landing-ad-list-table th, .landing-ad-list-table td { text-align: left; overflow-wrap: anywhere; }
.landing-ad-list-table th:first-child, .landing-ad-list-table td:first-child { min-width: 14rem; }
.landing-ad-list-table th:nth-child(3), .landing-ad-list-table td:nth-child(3) { min-width: 11rem; }
.landing-ad-checkbox { display: flex; align-items: center; gap: .7rem; min-height: 2.8rem; }
.landing-ad-checkbox input { width: 1.1rem; height: 1.1rem; accent-color: var(--accent-fill); }
.landing-report-empty { padding: 2rem; margin-top: 1.4rem; text-align: center; }
.landing-report-empty h2 { color: var(--ink); font-weight: 800; margin-bottom: .5rem; }
.landing-report-empty p { color: var(--landing-muted); font-size: .8rem; line-height: 1.9; }
.landing-provider-shortcut { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding: 1.2rem 1.5rem; margin-bottom: 1.2rem; border-color: var(--accent-line); background-color: var(--accent-soft); }
.landing-provider-shortcut h2, .landing-provider-summary h2 { color: var(--ink); margin: .25rem 0; font-size: 1rem; font-weight: 800; }
.landing-provider-shortcut p, .landing-provider-summary p { color: var(--landing-muted); line-height: 1.9; font-size: .8rem; }
.landing-provider-summary { display: flex; align-items: start; gap: 1.2rem; padding: 1.5rem; margin-bottom: 1.4rem; }
.landing-provider-summary .landing-connection-symbol { margin: 0; flex: 0 0 auto; }
.landing-provider-warning { margin-top: .5rem; }
.landing-provider-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.4rem; align-items: start; }
.landing-provider-form { display: grid; gap: 1rem; margin-top: 1rem; }
.landing-provider-form input { width: 100%; }
.landing-provider-form .button { justify-self: start; }
.landing-provider-actions { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; }
.landing-provider-single { max-width: 720px; }
.landing-provider-feedback { min-height: 1.6rem; color: var(--landing-muted); font-size: .8rem; line-height: 1.8; }
.landing-provider-divider { margin: 1.5rem 0; border: 0; border-top: 1px solid var(--landing-border); }
.landing-detail-grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(240px, 1fr); gap: 1.4rem; align-items: start; }
.landing-stack { display: grid; gap: 1.4rem; min-width: 0; }
.landing-section-title { display: flex; align-items: start; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.landing-summary > div { border-bottom: 1px solid var(--landing-border); padding: .75rem 0; }
.landing-summary dt { color: var(--landing-muted); font-size: .75rem; margin-bottom: .35rem; }
.landing-summary dd { color: var(--ink-2); font-size: .9rem; line-height: 1.9; overflow-wrap: anywhere; }
.landing-submit { display: grid; gap: 1.1rem; }
.landing-submit .button { justify-self: start; }
.landing-submit select { width: 100%; min-width: 0; }
.landing-submit button:disabled { cursor: not-allowed; opacity: .55; }
.landing-banner-gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); gap: 1rem; }
.landing-banner-gallery figure { min-width: 0; border: 1px solid var(--landing-border); border-radius: var(--radius); background-color: var(--landing-tint); padding: .7rem; transition: transform .3s var(--ease-out), box-shadow .3s; }
.landing-banner-gallery figure:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); }
.landing-banner-gallery img { width: 100%; max-height: 240px; object-fit: contain; }
.landing-banner-gallery figcaption { font-size: .75rem; color: var(--landing-muted); overflow-wrap: anywhere; margin-top: .5rem; }
.landing-link-state { display: grid; gap: .6rem; }
.landing-summary-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr)); column-gap: 1.6rem; }
.landing-summary-grid .landing-summary-wide { grid-column: 1 / -1; }
.landing-attachments { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1rem; }
.landing-request-info .landing-banner { margin-top: 1.6rem; padding-top: 1.2rem; border-top: 1px solid var(--landing-border); }
.landing-request-info .landing-banner-gallery { grid-template-columns: repeat(auto-fill, minmax(min(100%, 18rem), 1fr)); }
.landing-designer-link { display: grid; gap: .5rem; max-width: 40rem; }
.landing-banner { display: grid; gap: .8rem; min-width: 0; margin-top: 1.2rem; }
.landing-banner h3 { font-size: .9rem; margin-bottom: 0; }
.landing-banner .landing-banner-gallery figure:hover { transform: none; }
.landing-banner figcaption { display: grid; gap: .5rem; }
.landing-banner-actions { display: flex; flex-wrap: wrap; gap: .3rem 1rem; }
.landing-type-number { display: grid; justify-items: start; gap: .8rem; margin-top: 1.6rem; padding-top: 1.2rem; border-top: 1px solid var(--landing-border); }
.landing-type-number h3 { font-size: .9rem; margin-bottom: 0; }
.landing-type-number .copy-field { width: min(100%, 20rem); }
.landing-type-number .landing-note { margin: 0; }
.copy-field-label { color: var(--landing-muted); font-size: .75rem; }
.copy-field { display: flex; align-items: stretch; gap: .5rem; min-width: 0; }
.copy-field input { flex: 1; min-width: 0; }
.copy-field .button { flex: none; }
.copy-feedback { color: var(--landing-muted); font-size: .75rem; }
.landing-version, .landing-review { padding: 1.2rem 0; border-top: 1px solid var(--landing-border); }
.landing-version small, .landing-review small { color: var(--landing-muted); font-size: .7rem; }
.landing-review p { margin: .5rem 0; }
.landing-url, .landing-pad .prose-box { overflow-wrap: anywhere; }
.landing-notice { display: flex; align-items: center; justify-content: space-between; gap: 1rem; border-bottom: 1px solid var(--landing-border); padding: 1.2rem 0; }
.landing-notice p { margin-bottom: .5rem; }
.landing-shell a:focus-visible { outline: 2px solid var(--accent-fill); outline-offset: 3px; }
@media (max-width: 1100px) { .landing-detail-grid { grid-template-columns: 1fr; } }
@media (max-width: 1100px) { .landing-ad-list-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 800px) { .landing-provider-grid, .landing-connection-grid, .landing-ad-form-grid { grid-template-columns: 1fr; } .landing-ad-form-grid .landing-ad-wide { grid-column: auto; } }
@media (max-width: 640px) { .landing-pad { padding: 1rem; } .landing-connection { padding: 1.5rem; } .landing-notice, .landing-provider-shortcut { flex-direction: column; align-items: start; } }
