/* Protected administration interface */
:root {
  --admin-bg: #f4f6f9;
  --admin-panel: #fff;
  --admin-border: #dfe4eb;
  --admin-muted: #667085;
  --admin-sidebar: #0d2744;
}

* { box-sizing: border-box; }
body.admin-body { background: var(--admin-bg); color: #1d2939; font-size: .925rem; }
.admin-shell { display: flex; min-height: 100vh; }
.admin-sidebar { position: fixed; inset: 0 auto 0 0; z-index: 20; display: flex; width: 280px; flex-direction: column; padding: 1.25rem 1rem; background: var(--admin-sidebar); color: #fff; }
.admin-brand { display: flex; flex-direction: column; margin: .25rem .5rem 2rem; color: #fff; font-size: 1.2rem; font-weight: 700; line-height: 1.1; text-decoration: none; }
.admin-brand span { margin-top: .3rem; color: #a8c0d9; font-size: .67rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.admin-nav { display: grid; gap: .7rem; overflow-y: auto; }
.admin-nav-group { display: grid; gap: .22rem; padding-top: .55rem; border-top: 1px solid rgba(255,255,255,.12); }
.admin-nav-group:first-child { padding-top: 0; border-top: 0; }
.admin-nav-group > p { margin: 0 .8rem .12rem; color: #7895b3; font-size: .58rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.admin-nav a, .admin-logout { display: flex; align-items: center; gap: .75rem; width: 100%; padding: .7rem .8rem; border: 0; border-radius: .45rem; background: transparent; color: #cdd9e6; text-align: left; text-decoration: none; }
.admin-nav a:hover, .admin-nav a.active, .admin-logout:hover { background: rgba(255,255,255,.1); color: #fff; }
.admin-nav i { width: 1.2rem; text-align: center; }
.admin-nav-label { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-nav-badges { display: flex; flex: 0 0 auto; align-items: center; flex-direction: column; gap: .16rem; margin-left: auto; }
.admin-nav-count { min-width: 1.7rem; max-width: 5.8rem; overflow: hidden; padding: .08rem .42rem; border-radius: 999px; background: rgba(255,255,255,.14); color: #fff; font-size: .63rem; font-variant-numeric: tabular-nums; font-weight: 700; line-height: 1.15; text-align: center; text-overflow: ellipsis; white-space: nowrap; }
.maintenance-dot { background: #f79009; }
.admin-nav-new { display: inline-grid; min-width: 1.15rem; height: 1.15rem; place-items: center; padding: 0 .28rem; border-radius: 999px; background: #d92d20; color: #fff; font-size: .6rem; font-weight: 800; line-height: 1; box-shadow: 0 0 0 2px rgba(217,45,32,.14); }
.admin-main { width: calc(100% - 280px); margin-left: 280px; }
.admin-header { position: sticky; top: 0; z-index: 15; display: flex; align-items: center; min-height: 68px; gap: 1rem; padding: .75rem 2rem; border-bottom: 1px solid var(--admin-border); background: rgba(255,255,255,.96); }
.sidebar-toggle { display: none; border: 0; background: transparent; }
.admin-search { position: relative; display: flex; align-items: center; width: min(600px, 70%); padding: .6rem .7rem .6rem 2.55rem; border: 1px solid var(--admin-border); border-radius: .5rem; background: #fff; color: #667085; text-align: left; }
.admin-search i { position: absolute; top: 50%; left: .9rem; color: #98a2b3; transform: translateY(-50%); }
.admin-search span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-search kbd { margin-left: auto; padding: .18rem .4rem; border: 1px solid var(--admin-border); border-radius: .3rem; background: #f9fafb; color: #667085; font-family: inherit; font-size: .68rem; white-space: nowrap; }
.admin-search:hover, .admin-search:focus { border-color: #7ca8d7; box-shadow: 0 0 0 .2rem rgba(0,75,156,.1); }
.admin-user { display: inline-flex; margin-left: auto; align-items: center; gap: .45rem; color: var(--admin-muted); text-decoration: none; white-space: nowrap; }
.admin-user:hover { color: var(--admin-brand); }
.admin-user-copy { display: flex; flex-direction: column; align-items: flex-start; line-height: 1.15; }
.admin-user-name { font-weight: 650; }
.admin-user-role { margin-top: .14rem; color: var(--admin-brand); font-size: .68rem; font-weight: 700; }
.current-ip-status.is-allowed { color: #157347; }
.current-ip-status.is-blocked { color: #b42318; }
.search-palette { width: min(680px, calc(100% - 2rem)); max-height: min(720px, calc(100vh - 4rem)); padding: 0; border: 1px solid var(--admin-border); border-radius: .75rem; background: #fff; box-shadow: 0 1.5rem 4rem rgba(13,39,68,.24); }
.search-palette::backdrop { background: rgba(13,39,68,.48); backdrop-filter: blur(2px); }
.search-palette-head { display: flex; align-items: center; gap: .75rem; padding: .9rem 1rem; border-bottom: 1px solid var(--admin-border); }
.search-palette-head > i { color: #98a2b3; }
.search-palette-head input { flex: 1; min-width: 0; border: 0; outline: 0; font-size: 1rem; }
.search-palette-head button { padding: .2rem .4rem; border: 1px solid var(--admin-border); border-radius: .3rem; background: #f9fafb; color: #667085; font-size: .68rem; }
.search-palette-status { padding: .7rem 1rem; color: var(--admin-muted); font-size: .78rem; }
.search-palette-results { max-height: 480px; overflow-y: auto; padding: 0 .5rem .5rem; }
.search-palette-results a { display: block; padding: .75rem; border-radius: .5rem; color: #1d2939; text-decoration: none; }
.search-palette-results a:hover, .search-palette-results a.active { background: #edf4fb; }
.search-palette-results strong, .search-palette-results span, .search-palette-results small { display: block; }
.search-palette-results span { margin-top: .15rem; color: var(--admin-muted); font-size: .8rem; }
.search-palette-results small { margin-top: .2rem; color: #475467; }
.search-palette-all { display: flex; align-items: center; justify-content: space-between; padding: .75rem 1rem; border-top: 1px solid var(--admin-border); color: var(--brand-primary); font-size: .82rem; text-decoration: none; }
.admin-content { width: 100%; max-width: none; padding: 2rem clamp(1.5rem, 2vw, 3.5rem); }
.maintenance-banner { display: flex; align-items: center; gap: .55rem; margin-bottom: 1rem; padding: .7rem 1rem; border: 1px solid #f5c26b; border-radius: .55rem; background: #fffaeb; color: #7a2e0e; }
.maintenance-banner span { color: #93370d; }
.maintenance-banner a { margin-left: auto; color: #7a2e0e; font-weight: 700; }
.page-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; }
.page-heading h1 { margin: 0 0 .35rem; font-size: 1.8rem; font-weight: 700; }
.page-heading p:not(.eyebrow) { margin: 0; color: var(--admin-muted); }
.eyebrow { margin: 0 0 .3rem; color: var(--brand-primary); font-size: .7rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.quick-actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.metric-grid { display: grid; grid-template-columns: repeat(7, minmax(135px, 1fr)); gap: .85rem; margin-bottom: 1.25rem; }
.metric-card { display: flex; align-items: center; gap: .75rem; min-height: 95px; padding: 1rem; border: 1px solid var(--admin-border); border-radius: .6rem; background: #fff; }
.metric-card > i { display: grid; width: 2.35rem; height: 2.35rem; place-items: center; border-radius: .45rem; background: #edf4fb; color: var(--brand-primary); }
.metric-card strong, .metric-card span { display: block; }
.metric-card strong { font-size: 1.45rem; line-height: 1.15; }
.metric-card span { margin-top: .15rem; color: var(--admin-muted); font-size: .78rem; }
.content-grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr); gap: 1.25rem; }
.detail-grid { display: grid; grid-template-columns: minmax(320px, 1fr) minmax(320px, 1fr); gap: 1.25rem; }
.panel { overflow: hidden; border: 1px solid var(--admin-border); border-radius: .65rem; background: var(--admin-panel); box-shadow: 0 1px 2px rgba(16,24,40,.03); }
.panel-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding: 1rem 1.2rem; border-bottom: 1px solid var(--admin-border); }
.panel-heading h2 { margin: 0; font-size: 1rem; }
.panel-heading p { margin: .2rem 0 0; color: var(--admin-muted); font-size: .8rem; }
.panel-heading a { font-size: .83rem; text-decoration: none; }
.compact-table { margin: 0; }
.compact-table th { padding: .65rem .8rem; border-bottom-color: var(--admin-border); background: #f9fafb; color: #475467; font-size: .72rem; font-weight: 700; letter-spacing: .025em; text-transform: uppercase; white-space: nowrap; }
.table-sort-button { display: inline-flex; align-items: center; gap: .35rem; padding: 0; border: 0; background: transparent; color: inherit; font: inherit; font-weight: inherit; letter-spacing: inherit; text-transform: inherit; }
.table-sort-button::after { content: '\2195'; color: #98a2b3; font-size: .8rem; }
th[aria-sort="ascending"] .table-sort-button::after { content: '\2191'; color: var(--brand-primary); }
th[aria-sort="descending"] .table-sort-button::after { content: '\2193'; color: var(--brand-primary); }
.table-sort-button:hover, .table-sort-button:focus-visible { color: var(--brand-primary); }
.compact-table td { padding: .75rem .8rem; border-bottom-color: #edf0f3; vertical-align: middle; }
.compact-table tbody tr:last-child td { border-bottom: 0; }
.compact-table td small { display: block; margin-top: .15rem; color: var(--admin-muted); }
.compact-table td a { text-decoration: none; }
.empty-state { padding: 2rem !important; color: var(--admin-muted); text-align: center; }
.customer-stack { padding: .5rem 1.2rem; }
.customer-stack > a { display: flex; align-items: center; justify-content: space-between; padding: .8rem 0; border-bottom: 1px solid #edf0f3; color: #1d2939; text-decoration: none; }
.customer-stack > a:last-child { border-bottom: 0; }
.customer-stack small { display: block; color: var(--admin-muted); }
.customer-stack time { color: var(--admin-muted); font-size: .8rem; }
.filter-bar { display: grid; grid-template-columns: 2fr 1fr 1fr auto; align-items: end; gap: .75rem; margin-bottom: 1rem; padding: 1rem; border: 1px solid var(--admin-border); border-radius: .6rem; background: #fff; }
.filter-bar.filter-wide { grid-template-columns: repeat(4, minmax(140px, 1fr)); }
.filter-bar label { display: block; margin-bottom: .3rem; color: var(--admin-muted); font-size: .76rem; font-weight: 600; }
.status { display: inline-block; padding: .22rem .5rem; border-radius: 999px; background: #eef2f6; color: #475467; font-size: .73rem; font-weight: 600; }
.status-active { background: #e8f5ee; color: #207044; }
.status-inactive { background: #f2f4f7; color: #667085; }
.status-warning { background: #fef0c7; color: #b54708; }
.form-panel { padding: 1.25rem; }
.form-panel fieldset { margin: 0 0 1.5rem; padding: 0 0 1.5rem; border: 0; border-bottom: 1px solid var(--admin-border); }
.form-panel legend { margin-bottom: .9rem; font-size: 1rem; font-weight: 700; }
.form-actions { display: flex; justify-content: flex-end; }
.customer-position-wrap { margin-top: 1.25rem; padding-top: 1.25rem; border-top: 1px solid var(--admin-border); }
.customer-position-wrap h3 { margin: 0 0 .25rem; font-size: .95rem; }
.customer-position-wrap p { margin: 0 0 .8rem; color: var(--admin-muted); font-size: .78rem; }
.customer-position-actions { display: flex; align-items: center; flex-wrap: wrap; gap: .75rem; margin-bottom: .9rem; }
.customer-position-actions [data-position-status] { color: var(--admin-muted); font-size: .78rem; }
.customer-position-actions [data-position-status].is-error { color: #b42318; }
.customer-position-actions [data-position-status].is-success { color: #147a45; }
.customer-position-fields { display: grid; grid-template-columns: minmax(150px, 1fr) minmax(150px, 1fr) auto; align-items: end; gap: .75rem; margin-bottom: .75rem; }
.customer-position-map { height: 320px; border: 1px solid var(--admin-border); border-radius: .5rem; background: #e8edf3; }
.detail-list { display: grid; grid-template-columns: 120px 1fr; gap: .8rem; margin: 0; padding: 1.2rem; }
.detail-list dt { color: var(--admin-muted); font-size: .78rem; }
.detail-list dd { margin: 0; }
.detail-list + form { padding: 0 1.2rem 1.2rem; }
.pre-line { white-space: pre-line; }
.activity-list { padding: .6rem 1.2rem; }
.activity-list > div { display: flex; gap: .75rem; padding: .7rem 0; border-bottom: 1px solid #edf0f3; }
.activity-list > div:last-child { border: 0; }
.activity-list p, .activity-list small { display: block; margin: 0; }
.activity-list small { margin-top: .2rem; color: var(--admin-muted); }
.activity-icon { display: grid; flex: 0 0 2rem; height: 2rem; place-items: center; border-radius: 50%; background: #edf4fb; color: var(--brand-primary); }
.timeline { padding: 1rem 1.2rem; }
.timeline article { display: grid; grid-template-columns: 125px 1fr; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid #edf0f3; }
.timeline article:last-child { border: 0; }
.timeline time, .timeline time small { display: block; color: var(--admin-muted); }
.timeline h3 { margin: .5rem 0 .25rem; font-size: 1rem; }
.timeline p { margin: .2rem 0; }
.due-dot { display: inline-block; width: .55rem; height: .55rem; margin-right: .4rem; border-radius: 50%; background: #98a2b3; }
.urgency-month .due-dot { background: #5188bd; }
.urgency-week .due-dot { background: #bd8a2d; }
.urgency-today .due-dot { background: #b85d32; }
.urgency-overdue .due-dot { background: #a83a47; }
.urgency-overdue { background: #fff9f9; }
.period-tabs { display: flex; flex-wrap: wrap; gap: .35rem; margin-bottom: 1rem; }
.period-tabs a { padding: .48rem .75rem; border: 1px solid var(--admin-border); border-radius: .4rem; background: #fff; color: #475467; font-size: .82rem; text-decoration: none; }
.period-tabs a.active { border-color: var(--brand-primary); background: #edf4fb; color: var(--brand-primary); font-weight: 600; }
.reminder-actions { display: flex; align-items: center; gap: .5rem; }
.reminder-actions form { display: flex; align-items: center; gap: .35rem; }
.reminder-actions input { width: 135px; }
.admin-auth-body { display: grid; min-height: 100vh; place-items: center; padding: 1rem; background: linear-gradient(135deg, #edf4fb, #f7f9fc); }
.login-wrap { width: min(100%, 420px); }
.login-card { padding: 2rem; border: 1px solid var(--admin-border); border-radius: .8rem; background: #fff; box-shadow: 0 1.2rem 3rem rgba(13,39,68,.12); }
.login-brand { color: var(--brand-primary); font-size: 1.25rem; font-weight: 700; text-decoration: none; }
.login-card .eyebrow { margin-top: 1.75rem; }
.login-card h1 { margin-bottom: 1.5rem; font-size: 1.65rem; }
.login-trap { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.back-link { display: block; margin-top: 1rem; color: var(--admin-muted); font-size: .82rem; text-align: center; text-decoration: none; }
.map-settings-panel { display: flex; align-items: end; justify-content: space-between; gap: 1.5rem; margin-bottom: 1rem; padding: 1rem; border: 1px solid var(--admin-border); border-radius: .65rem; background: #fff; }
.map-settings-panel h2 { margin: 0 0 .2rem; font-size: 1rem; }
.map-settings-panel p { margin: 0; color: var(--admin-muted); font-size: .8rem; }
.map-thresholds { display: flex; align-items: end; gap: .75rem; }
.map-thresholds label { display: block; margin-bottom: .3rem; color: var(--admin-muted); font-size: .76rem; font-weight: 600; }
.map-thresholds .form-control { width: 105px; }
.map-panel { overflow: hidden; border: 1px solid var(--admin-border); border-radius: .65rem; background: #fff; box-shadow: 0 1px 2px rgba(16,24,40,.03); }
.map-toolbar { display: grid; grid-template-columns: 1.35fr repeat(5, minmax(125px, 1fr)); align-items: end; gap: .75rem; padding: 1rem; border-bottom: 1px solid var(--admin-border); }
.map-toolbar label { display: block; margin-bottom: .3rem; color: var(--admin-muted); font-size: .76rem; font-weight: 600; }
.map-meta { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .7rem 1rem; }
.map-meta p { margin: 0; color: var(--admin-muted); font-size: .78rem; text-align: right; }
.map-legend { display: flex; flex-wrap: wrap; gap: .8rem; color: #475467; font-size: .76rem; }
.map-legend span { display: inline-flex; align-items: center; gap: .35rem; }
.map-demo-toggle { display: inline-flex; align-items: center; gap: .45rem; margin-top: .55rem; color: #8a4b08; font-size: .74rem; font-weight: 700; cursor: pointer; }
.map-dot { display: inline-block; width: .7rem; height: .7rem; border: 1px solid rgba(16,24,40,.25); border-radius: 50%; }
.map-dot-red { background: #ff3b30; box-shadow: 0 0 .45rem rgba(255,59,48,.55); } .map-dot-yellow { background: #ffd60a; box-shadow: 0 0 .45rem rgba(255,214,10,.55); } .map-dot-green { background: #30d158; box-shadow: 0 0 .45rem rgba(48,209,88,.55); } .map-dot-gray { background: #a7b0be; box-shadow: 0 0 .35rem rgba(88,100,116,.35); }
.customer-map { width: 100%; height: clamp(480px, 68vh, 820px); border-block: 1px solid var(--admin-border); background: #e8edf3; }
.map-precision-note { margin: 0; padding: .7rem 1rem; color: var(--admin-muted); font-size: .76rem; }
.map-precision-note i { margin-right: .3rem; color: var(--brand-primary); }
.map-popup { max-height: 320px; overflow-y: auto; }
.map-popup article { padding: .55rem 0; border-bottom: 1px solid #edf0f3; }
.map-popup article:first-child { padding-top: 0; } .map-popup article:last-child { padding-bottom: 0; border-bottom: 0; }
.map-popup a { color: var(--brand-primary); font-size: .9rem; font-weight: 700; text-decoration: none; }
.map-popup small { display: block; margin-top: .15rem; color: #667085; }
.map-popup-status { display: inline-block; margin-top: .35rem; padding: .15rem .4rem; border-radius: 999px; font-size: .68rem; font-weight: 700; }
.map-popup-red { background: #fee4e2; color: #b42318; } .map-popup-yellow { background: #fef0c7; color: #b54708; } .map-popup-green { background: #dcfae6; color: #067647; } .map-popup-gray { background: #eaecf0; color: #475467; }
.map-cluster-count { display: grid !important; place-items: center; border: 0; background: transparent; color: #fff; font-size: .68rem; font-weight: 800; text-shadow: 0 1px 2px rgba(0,0,0,.6); pointer-events: none; }
.team-grid { grid-template-columns: minmax(0, 3fr) minmax(300px, 1fr); }
.invite-panel form { padding: 1.2rem; }
.team-actions { min-width: 290px; }
.team-actions form { display: inline-block; margin: .15rem; }
.performance-controls { display: grid; grid-template-columns: minmax(140px,.45fr) minmax(320px,1fr) minmax(320px,1fr); gap: 1rem 1.5rem; padding: 1rem 1.2rem; }
.performance-controls fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.performance-controls label, .performance-controls legend { margin-bottom: .35rem; color: var(--admin-muted); font-size: .76rem; font-weight: 700; }
.performance-switches, .performance-user-options { display: flex; flex-wrap: wrap; gap: .45rem .7rem; }
.performance-switch { display: inline-flex; align-items: center; gap: .4rem; margin: 0 !important; padding: .38rem .58rem; border: 1px solid var(--admin-border); border-radius: 999px; background: #fff; color: #344054 !important; cursor: pointer; }
.performance-switch input { position: absolute; opacity: 0; pointer-events: none; }
.performance-switch span { position: relative; width: 1.8rem; height: 1rem; border-radius: 999px; background: #d0d5dd; transition: background .18s ease; }
.performance-switch span::after { position: absolute; top: 2px; left: 2px; width: .75rem; height: .75rem; border-radius: 50%; background: #fff; box-shadow: 0 1px 2px rgba(16,24,40,.22); content: ''; transition: transform .18s ease; }
.performance-switch input:checked + span { background: var(--metric-color,var(--brand-primary)); }
.performance-switch input:checked + span::after { transform: translateX(.8rem); }
.performance-switch input:focus-visible + span { outline: 3px solid rgba(23,92,211,.2); outline-offset: 2px; }
.performance-user-options { max-height: 86px; overflow-y: auto; padding: .45rem .55rem; border: 1px solid var(--admin-border); border-radius: .45rem; }
.performance-user-options label { margin: 0; color: #344054; font-weight: 500; }
.performance-user-options small { color: var(--admin-muted); }
.performance-control-actions { display: flex; align-items: center; justify-content: flex-end; grid-column: 1 / -1; gap: .5rem; padding-top: .75rem; border-top: 1px solid var(--admin-border); }
.performance-kpis { display: grid; grid-template-columns: repeat(5,minmax(150px,1fr)); gap: .85rem; margin-top: 1rem; }
.performance-kpi { display: flex; align-items: center; gap: .75rem; min-height: 92px; padding: 1rem; border: 1px solid var(--admin-border); border-top: 3px solid var(--metric-color,var(--brand-primary)); border-radius: .65rem; background: #fff; box-shadow: 0 1px 2px rgba(16,24,40,.03); }
.performance-kpi > i { display: grid; flex: 0 0 2.35rem; height: 2.35rem; place-items: center; border-radius: .5rem; background: color-mix(in srgb,var(--metric-color,var(--brand-primary)) 11%,white); color: var(--metric-color,var(--brand-primary)); }
.performance-kpi strong, .performance-kpi span { display: block; }
.performance-kpi strong { font-size: 1.4rem; line-height: 1; }
.performance-kpi span { margin-top: .25rem; color: var(--admin-muted); font-size: .74rem; }
.performance-kpi-total { --metric-color:#344054; }
.performance-section { overflow: visible; }
.performance-legend { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .5rem .8rem; color: var(--admin-muted); font-size: .72rem; }
.performance-legend span { display: inline-flex; align-items: center; gap: .3rem; }
.performance-legend i, .distribution-list i { width: .65rem; height: .65rem; border-radius: 50%; }
.employee-comparison { display: grid; }
.employee-comparison-row { display: grid; grid-template-columns: minmax(190px,.7fr) minmax(360px,2fr) 70px; align-items: center; gap: 1rem; padding: 1rem 1.2rem; border-bottom: 1px solid #edf0f3; }
.employee-comparison-row:last-child { border-bottom: 0; }
.employee-comparison-name strong, .employee-comparison-name small, .employee-comparison-total strong, .employee-comparison-total small { display: block; }
.employee-comparison-name small, .employee-comparison-total small { margin-top: .15rem; color: var(--admin-muted); font-size: .72rem; }
.employee-comparison-bars { display: grid; gap: .35rem; }
.employee-metric-row { display: grid; grid-template-columns: 95px minmax(120px,1fr) 42px; align-items: center; gap: .55rem; font-size: .72rem; }
.employee-metric-row > span { overflow: hidden; color: var(--admin-muted); text-overflow: ellipsis; white-space: nowrap; }
.employee-metric-track { height: .55rem; overflow: hidden; border-radius: 999px; background: #eef2f6; }
.employee-metric-track i { display: block; min-width: 0; height: 100%; border-radius: inherit; }
.employee-metric-row strong { text-align: right; }
.employee-comparison-total { text-align: right; }
.trend-chart-scroll { overflow-x: auto; padding: 1.2rem; }
.trend-chart { display: grid; grid-template-columns: repeat(var(--trend-columns,12),minmax(74px,1fr)); align-items: end; gap: .65rem; min-width: 680px; }
.trend-column { display: grid; grid-template-rows: 1.25rem 190px 1.4rem; gap: .3rem; min-width: 0; text-align: center; }
.trend-total { color: #475467; font-size: .7rem; font-weight: 700; }
.trend-bars { display: flex; align-items: flex-end; justify-content: center; gap: 3px; border-bottom: 1px solid var(--admin-border); background: repeating-linear-gradient(to top,#edf0f3 0,#edf0f3 1px,transparent 1px,transparent 45px); }
.trend-bars > i { width: min(16px,22%); min-height: 0; border-radius: 3px 3px 0 0; }
.trend-column small { color: var(--admin-muted); font-size: .66rem; white-space: nowrap; }
.performance-distribution { display: grid; grid-template-columns: 220px minmax(320px,1fr); align-items: center; gap: 2rem; padding: 1.5rem 2rem; }
.distribution-donut { display: grid; width: 190px; height: 190px; place-items: center; border-radius: 50%; }
.distribution-donut > div { display: grid; width: 112px; height: 112px; place-items: center; align-content: center; border-radius: 50%; background: #fff; box-shadow: 0 0 0 1px rgba(16,24,40,.04); }
.distribution-donut strong, .distribution-donut span { display: block; text-align: center; }
.distribution-donut strong { font-size: 1.65rem; line-height: 1; }
.distribution-donut span { margin-top: .35rem; color: var(--admin-muted); font-size: .7rem; }
.distribution-list { display: grid; gap: .2rem; }
.distribution-list > div { display: grid; grid-template-columns: 12px minmax(180px,1fr) 70px 70px; align-items: center; gap: .65rem; padding: .65rem .25rem; border-bottom: 1px solid #edf0f3; }
.distribution-list > div:last-child { border-bottom: 0; }
.distribution-list strong, .distribution-list small { text-align: right; }
.distribution-list small { color: var(--admin-muted); }
.list-pagination { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1rem; padding: .7rem .85rem; border: 1px solid var(--admin-border); border-radius: .6rem; background: #fff; }
.list-pagination p { margin: 0; color: var(--admin-muted); font-size: .78rem; }
.list-pagination nav { display: flex; align-items: center; gap: .25rem; }
.list-pagination .page-link { display: grid; min-width: 2rem; height: 2rem; place-items: center; padding: 0 .45rem; border: 1px solid var(--admin-border); border-radius: .4rem; color: #475467; font-size: .76rem; text-decoration: none; }
.list-pagination .page-link:hover, .list-pagination .page-link.active { border-color: var(--brand-primary); background: #edf4fb; color: var(--brand-primary); }
.list-pagination .page-link.active { font-weight: 800; }
.list-pagination .page-link.disabled { opacity: .4; pointer-events: none; }
.list-pagination .page-gap { padding: 0 .15rem; color: var(--admin-muted); }
.report-note { margin: 1rem 0 0; color: var(--admin-muted); font-size: .78rem; }
.report-note i { margin-right: .3rem; color: var(--brand-primary); }
.inquiry-list { display: grid; gap: 1rem; }
.inquiry-body { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .45fr); }
.inquiry-body .detail-list { grid-template-columns: 100px 1fr; }
.inquiry-actions { padding: 1.2rem; border-left: 1px solid var(--admin-border); background: #f9fafb; }
.inquiry-actions form { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: .45rem; margin-bottom: 1rem; }
.inquiry-actions form:last-child { margin-bottom: 0; }
.inquiry-actions label { grid-column: 1 / -1; color: var(--admin-muted); font-size: .76rem; font-weight: 600; }
.inquiry-reply { width: 100%; margin-bottom: 1rem; }
.inquiry-status-new { background: #eaf2ff; color: #175cd3; }
.inquiry-status-in_progress { background: #fef0c7; color: #b54708; }
.inquiry-status-done { background: #e8f5ee; color: #207044; }
.inquiry-category-tabs span { display: inline-block; min-width: 1.35rem; margin-left: .25rem; padding: .05rem .35rem; border-radius: 999px; background: #eef2f6; text-align: center; }
.inquiry-category { display: inline-block; margin-bottom: .4rem; padding: .18rem .48rem; border-radius: 999px; font-size: .68rem; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; }
.inquiry-category-customer { background: #eaf2ff; color: #175cd3; }
.inquiry-category-career { background: #f4ebff; color: #6941c6; }
.inquiry-category-appointment { background: #ecfdf3; color: #067647; }
.reminder-filter, .calendar-filter { grid-template-columns: minmax(260px, 1fr) auto auto; }
.calendar-filter-admin { grid-template-columns: minmax(260px, 1fr) minmax(220px, .45fr) auto auto; }
.calendar-panel { overflow: hidden; }
.calendar-heading { display: flex; align-items: center; justify-content: center; gap: 1.25rem; padding: 1rem; border-bottom: 1px solid var(--admin-border); text-align: center; }
.calendar-heading h2 { margin: 0; font-size: 1.15rem; text-transform: capitalize; }
.calendar-heading p { margin: .2rem 0 0; color: var(--admin-muted); font-size: .76rem; }
.calendar-scroll { overflow-x: auto; }
.calendar-grid { display: grid; grid-template-columns: repeat(7, minmax(145px, 1fr)); min-width: 1015px; }
.calendar-weekday { padding: .55rem; border-bottom: 1px solid var(--admin-border); background: #f9fafb; color: var(--admin-muted); font-size: .72rem; font-weight: 700; text-align: center; text-transform: uppercase; }
.calendar-day { min-height: 135px; padding: .45rem; border-right: 1px solid var(--admin-border); border-bottom: 1px solid var(--admin-border); background: #fff; }
.calendar-day:nth-child(7n) { border-right: 0; }
.calendar-day > time { display: grid; width: 1.65rem; height: 1.65rem; place-items: center; margin-bottom: .3rem; border-radius: 50%; color: #475467; font-size: .75rem; font-weight: 700; }
.calendar-day.outside-month { background: #fafafa; opacity: .55; }
.calendar-day.today > time { background: var(--brand-primary); color: #fff; }
.calendar-events { display: grid; gap: .25rem; max-height: 100px; overflow-y: auto; }
.calendar-event { display: block; padding: .3rem .4rem; border-left: 3px solid; border-radius: .25rem; color: #344054; font-size: .68rem; line-height: 1.25; text-decoration: none; }
.calendar-event:hover { filter: brightness(.97); }
.calendar-event strong, .calendar-event span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.calendar-event-contract { border-color: #175cd3; background: #eff4ff; }
.calendar-event-contact { border-color: #079455; background: #ecfdf3; }
.calendar-event-appointment { border-color: #9333ea; background: #faf5ff; }
.calendar-legend { display: flex; gap: 1rem; padding: .75rem 1rem; color: var(--admin-muted); font-size: .74rem; }
.calendar-legend span { display: flex; align-items: center; gap: .35rem; }
.calendar-color { width: .65rem; height: .65rem; border-radius: .15rem; }
.calendar-color.contract { background: #175cd3; } .calendar-color.contact { background: #079455; } .calendar-color.appointment { background: #9333ea; }
.catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.provider-groups { display: grid; gap: .85rem; padding: 0 1rem 1rem; }
.provider-group { border: 1px solid var(--admin-border); border-radius: 10px; overflow: hidden; }
.provider-group-head { display: grid; grid-template-columns: auto minmax(200px, 1fr) auto auto auto; align-items: center; gap: .55rem; padding: .65rem 1rem; background: #f9fafb; border-bottom: 1px solid var(--admin-border); }
.provider-group-head span { color: var(--admin-muted); font-size: .72rem; white-space: nowrap; }
.provider-group-types { padding: .35rem 1rem .75rem 2.1rem; }
.provider-type-row { display: grid; grid-template-columns: auto minmax(180px, 1fr) auto auto auto; align-items: center; gap: .55rem; padding: .4rem 0; }
.provider-type-row + .provider-type-row { border-top: 1px solid var(--admin-border); }
.provider-type-row span { color: var(--admin-muted); font-size: .72rem; white-space: nowrap; }
.provider-type-add { display: grid; grid-template-columns: 1fr auto; gap: .55rem; margin-top: .55rem; }
.provider-group .form-check { margin: 0; white-space: nowrap; }
.catalog-hint { color: var(--admin-muted); font-size: .75rem; margin: .25rem 0 .5rem; }
.catalog-add { display: grid; grid-template-columns: .7fr 1fr auto; gap: .55rem; padding: 1rem; background: #f9fafb; }
.catalog-provider-add { grid-template-columns: 1fr auto; }
.partner-create-form { display: grid; grid-template-columns: 1fr 1.2fr .35fr 1fr auto auto; align-items: end; gap: .75rem; padding: 1.2rem; }
.partner-create-form label:not(.form-check), .partner-admin-card form label:not(.form-check) { display: block; margin-bottom: .3rem; color: var(--admin-muted); font-size: .76rem; font-weight: 650; }
.partner-create-form .form-check { margin-bottom: .55rem; white-space: nowrap; }
.partner-admin-grid { display: grid; grid-template-columns: repeat(3, minmax(260px, 1fr)); gap: 1rem; }
.partner-admin-card { overflow: hidden; }
.partner-admin-preview { display: grid; min-height: 125px; place-items: center; padding: 1rem; border-bottom: 1px solid var(--admin-border); background: linear-gradient(135deg, #f8fbff, #fff); text-align: center; }
.partner-admin-preview img { max-width: 190px; max-height: 66px; object-fit: contain; }
.partner-admin-preview strong { color: #243b53; font-size: 1.25rem; }
.partner-admin-preview span { margin-top: -1.7rem; color: var(--admin-muted); font-size: .7rem; }
.partner-admin-card form { display: grid; gap: .75rem; padding: 1rem; }
.partner-admin-card .partner-delete-form { border-top: 1px solid #f4c7c7; background: #fffafa; }
.partner-delete-form .form-check { margin: 0; color: #912018; font-size: .74rem; }
.partner-admin-card form small { display: block; margin-top: .3rem; color: var(--admin-muted); font-size: .68rem; }
.partner-admin-row { display: grid; grid-template-columns: 110px 1fr; align-items: end; gap: 1rem; }
.partner-admin-row .form-check { margin-bottom: .55rem; }
.maintenance-grid { grid-template-columns: repeat(2, minmax(300px, 1fr)); }
.maintenance-content { padding: 1.2rem; }
.maintenance-content label:not(.form-check) { display: block; margin-bottom: .35rem; color: var(--admin-muted); font-size: .78rem; font-weight: 600; }
.maintenance-content code { color: inherit; }
.selection-column { width: 2.4rem; text-align: center; }
.bulk-delete-bar { display: flex; align-items: center; gap: 1rem; padding: .85rem 1rem; border-top: 1px solid #fda29b; background: #fff5f5; }
.bulk-delete-bar strong { margin-right: auto; color: #912018; white-space: nowrap; }
.bulk-delete-bar .form-check { margin: 0; color: #7a271a; font-size: .75rem; }
.bulk-delete-bar .btn { white-space: nowrap; }
.team-lead-form { display: flex; min-width: 230px; gap: .35rem; }

@media (max-width: 1250px) { .metric-grid { grid-template-columns: repeat(4, 1fr); } .performance-controls { grid-template-columns: repeat(2,minmax(0,1fr)); } .performance-kpis { grid-template-columns: repeat(3,1fr); } .partner-create-form { grid-template-columns: repeat(2,minmax(0,1fr)); } .partner-admin-grid { grid-template-columns: repeat(2,minmax(260px,1fr)); } }
@media (max-width: 900px) {
  .admin-sidebar { transform: translateX(-100%); transition: transform .2s ease; }
  .sidebar-open .admin-sidebar { transform: translateX(0); }
  .admin-main { width: 100%; margin-left: 0; }
  .sidebar-toggle { display: inline-block; }
  .admin-user { display: none; }
  .admin-content { padding: 1.25rem; }
  .content-grid, .detail-grid, .team-grid, .inquiry-body, .catalog-grid, .partner-admin-grid { grid-template-columns: 1fr; }
  .inquiry-actions { border-top: 1px solid var(--admin-border); border-left: 0; }
  .filter-bar, .filter-bar.filter-wide { grid-template-columns: repeat(2, 1fr); }
  .map-toolbar { grid-template-columns: repeat(2, 1fr); }
  .map-settings-panel { align-items: stretch; flex-direction: column; }
  .map-meta { align-items: flex-start; flex-direction: column; }
  .map-meta p { text-align: left; }
  .employee-comparison-row { grid-template-columns: minmax(170px,.6fr) minmax(300px,1.4fr) 60px; }
}
@media (max-width: 620px) {
  .admin-header { padding: .65rem 1rem; }
  .admin-search { width: 100%; }
  .admin-content { padding: 1rem; }
  .page-heading { flex-direction: column; }
  .metric-grid { grid-template-columns: repeat(2, 1fr); }
  .filter-bar, .filter-bar.filter-wide { grid-template-columns: 1fr; }
  .customer-position-fields { grid-template-columns: 1fr; }
  .map-toolbar { grid-template-columns: 1fr; }
  .provider-group-head, .provider-type-row, .provider-type-add, .catalog-add, .catalog-provider-add { grid-template-columns: 1fr; }
  .provider-group-types { padding-left: 1rem; }
  .partner-create-form { grid-template-columns: 1fr; }
  .bulk-delete-bar { align-items: stretch; flex-direction: column; }
  .bulk-delete-bar strong { margin-right: 0; }
  .map-thresholds { align-items: stretch; flex-direction: column; }
  .map-thresholds .form-control { width: 100%; }
  .customer-map { height: 65vh; min-height: 420px; }
  .detail-list { grid-template-columns: 1fr; }
  .detail-list dd { margin-top: -.5rem; }
  .timeline article { grid-template-columns: 1fr; }
  .reminder-actions { align-items: flex-start; flex-direction: column; }
  .performance-controls, .performance-kpis { grid-template-columns: 1fr; }
  .performance-control-actions { align-items: stretch; flex-direction: column; }
  .performance-control-actions .btn { width: 100%; }
  .performance-legend { justify-content: flex-start; }
  .panel-heading:has(.performance-legend) { flex-direction: column; }
  .employee-comparison-row { grid-template-columns: 1fr; }
  .employee-comparison-total { text-align: left; }
  .performance-distribution { grid-template-columns: 1fr; justify-items: center; padding: 1.2rem; }
  .distribution-list { width: 100%; }
  .distribution-list > div { grid-template-columns: 12px minmax(120px,1fr) 45px 55px; }
  .list-pagination { align-items: flex-start; flex-direction: column; }
  .list-pagination nav { max-width: 100%; overflow-x: auto; }
}
.pending-invitation-tools{position:relative}.pending-invitation-tools summary{list-style:none;cursor:pointer}.pending-invitation-tools summary::-webkit-details-marker{display:none}.pending-invitation-tools[open]{min-width:280px}.pending-invitation-form,.pending-invitation-delete{display:grid;gap:.45rem;margin-top:.6rem;padding:.7rem;border:1px solid #dce5ef;border-radius:.65rem;background:#f8fafc}.pending-invitation-form label,.pending-invitation-delete label{font-size:.78rem;color:#526077}.pending-invitation-delete{border-color:#f4c7c7;background:#fffafa}
.backup-settings-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);gap:1.5rem}.automatic-backup-form{display:grid;gap:.75rem;padding:1rem;border:1px solid #dce5ef;border-radius:.8rem;background:#f8fafc}.backup-status{border-top:1px solid #e4eaf1;display:flex;gap:.5rem;flex-wrap:wrap}@media(max-width:850px){.backup-settings-grid{grid-template-columns:1fr}}
