* { box-sizing: border-box; }
html { font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: var(--as-text); background: var(--as-bg); }
body { margin: 0; min-width: 320px; background: var(--as-bg); }
button, a { font: inherit; }
a { color: inherit; }

.app-shell { min-height: 100%; display: grid; grid-template-columns: var(--as-sidebar-width) minmax(0, 1fr); }
.sidebar { min-height: 100vh; background: linear-gradient(180deg, #3E86BC 0%, #23689B 100%); color: #fff; padding: 22px 14px 16px; display: flex; flex-direction: column; }
.brand { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; padding: 0 8px 20px; }
.brand-logo { display: block; width: 190px; max-width: 100%; height: auto; object-fit: contain; }
.brand-portal-label { padding-left: 4px; font-size: 11px; font-weight: 700; letter-spacing: .10em; color: rgba(255,255,255,.90); }
.main-nav { display: grid; gap: 5px; }
.nav-link, .secondary-nav-link { min-height: var(--as-touch-min); display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: var(--as-radius-sm); text-decoration: none; color: rgba(255,255,255,.95); transition: background .15s ease, color .15s ease; }
.nav-link:hover, .secondary-nav-link:hover { background: rgba(255,255,255,.14); }
.nav-link.active { background: #2D9BDF; color: #fff; box-shadow: inset 0 0 0 1px rgba(255,255,255,.08); }
.nav-icon { width: 22px; display: grid; place-items: center; opacity: .96; }
.nav-icon svg { width: 18px; height: 18px; stroke: currentColor; }
.sidebar-footer { margin-top: auto; border-top: 1px solid rgba(255,255,255,.24); padding-top: 16px; display: grid; gap: 5px; }
.sidebar-section-label { font-size: 10px; letter-spacing: .08em; opacity: .76; padding: 0 12px 6px; }
.logout-button { min-height: var(--as-touch-min); margin-top: 10px; border: 0; border-radius: var(--as-radius-sm); background: rgba(255,255,255,.12); color: rgba(255,255,255,.76); text-align: left; padding: 10px 12px; }

.main-area { min-width: 0; }
.topbar { position: relative; background: var(--as-surface); min-height: 112px; border-bottom: 1px solid var(--as-border); display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 18px 32px 26px; }
.topbar h1 { margin: 0; font-size: clamp(22px, 2vw, 30px); letter-spacing: -.02em; }
.topbar p { margin: 6px 0 0; color: #5e7081; }
.topbar-right { display: flex; align-items: center; gap: 12px; }
.topbar-utility { display: flex; align-items: center; gap: 10px; margin-right: 8px; }
.utility-icon { position: relative; width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; color: var(--as-navy-2); background: #f4f7fa; border: 1px solid #e4eaf0; font-weight: 700; }
.utility-icon b { position: absolute; right: -3px; top: -4px; min-width: 18px; height: 18px; padding: 0 4px; display: grid; place-items: center; border-radius: 999px; background: var(--as-danger); color: #fff; font-size: 10px; line-height: 1; }
.utility-icon.no-badge { font-size: 16px; }
.account-avatar { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; background: var(--as-blue-soft); color: var(--as-blue); font-size: 12px; font-weight: 800; }
.account-copy { display: grid; gap: 2px; min-width: 160px; }
.account-copy span { color: var(--as-muted); font-size: 12px; }
.last-updated { position: absolute; right: 32px; bottom: 8px; color: #718293; font-size: 10px; }
.page-root { width: min(var(--as-content-max), 100%); padding: 18px 24px 38px; margin: 0 auto; }

.next-action { border: 1px solid #f2c56d; background: linear-gradient(90deg, #fffaf0 0%, #fffdf8 100%); border-radius: var(--as-radius-md); padding: 16px 18px; margin-bottom: 16px; box-shadow: var(--as-shadow-sm); }
.next-action-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.next-action-title { display: flex; align-items: center; gap: 10px; }
.next-action-title strong { font-size: 15px; }
.action-count { min-width: 25px; height: 25px; display: grid; place-items: center; border-radius: 999px; background: #fff0cc; color: #9a5a00; font-size: 12px; font-weight: 800; }
.next-action-note { color: var(--as-muted); font-size: 12px; }
.action-items { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
.action-item { min-width: 0; border: 1px solid #f0dfb8; background: rgba(255,255,255,.82); border-radius: 10px; padding: 11px 12px; display: grid; grid-template-columns: 30px minmax(0,1fr) auto; gap: 10px; align-items: center; }
.action-item-icon { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: #fff4da; color: #a76500; }
.action-item strong { display: block; font-size: 12px; }
.action-item span { display: block; color: var(--as-muted); font-size: 11px; margin-top: 2px; }
.action-item a { min-height: 34px; display: inline-flex; align-items: center; text-decoration: none; color: var(--as-blue); font-size: 11px; font-weight: 700; }

.kpi-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 14px; }
.card { background: var(--as-surface); border: 1px solid var(--as-border); border-radius: var(--as-radius-md); box-shadow: var(--as-shadow-sm); min-width: 0; }
.kpi-card { padding: 19px; display: grid; grid-template-columns: 58px minmax(0,1fr); gap: 15px; align-items: center; min-height: 132px; transition: transform .15s ease, box-shadow .15s ease; }
.kpi-card:hover { transform: translateY(-1px); box-shadow: var(--as-shadow-card); }
.kpi-icon { width: 58px; height: 58px; display: grid; place-items: center; border-radius: 50%; background: var(--as-blue-soft); color: var(--as-blue); }
.kpi-icon svg { width: 29px; height: 29px; stroke: currentColor; }
.kpi-icon.warning { background: #fff0df; color: #dc7a11; }
.kpi-icon.danger { background: var(--as-danger-soft); color: var(--as-danger); }
.kpi-icon.success { background: var(--as-success-soft); color: var(--as-success); }
.kpi-label { font-size: 13px; font-weight: 700; }
.kpi-value { font-size: 29px; line-height: 1.1; font-weight: 800; margin-top: 4px; letter-spacing: -.02em; }
.kpi-value.success-text { color: var(--as-success); }
.kpi-meta { color: #647586; font-size: 12px; margin-top: 2px; }
.kpi-link { color: var(--as-blue); font-size: 12px; margin-top: 9px; display: inline-block; text-decoration: none; }

.dashboard-grid { display: grid; grid-template-columns: 1.05fr 1.05fr 1.1fr; gap: 14px; margin-bottom: 14px; }
.panel { padding: 18px; }
.panel h2 { font-size: 17px; margin: 0 0 14px; }
.panel-footer { display: flex; justify-content: center; padding-top: 13px; margin-top: 13px; border-top: 1px solid #edf1f4; }
.panel-footer a { color: var(--as-blue); text-decoration: none; font-size: 12px; }

.priority-layout { display: grid; grid-template-columns: 150px minmax(0,1fr); gap: 18px; align-items: center; min-height: 180px; }
.donut { width: 148px; height: 148px; border-radius: 50%; display: grid; place-items: center; background: conic-gradient(#d92835 0 14.2857%, #f07d1c 14.2857% 42.8571%, #f0b51e 42.8571% 71.4286%, #347fd6 71.4286% 85.7143%, #20a79a 85.7143% 100%); position: relative; }
.donut::after { content: ""; width: 86px; height: 86px; background: #fff; border-radius: 50%; position: absolute; box-shadow: inset 0 0 0 1px #edf1f4; }
.donut-center { position: relative; z-index: 1; display: grid; text-align: center; line-height: 1.05; }
.donut-center strong { font-size: 28px; }
.donut-center span { color: #667787; font-size: 10px; margin-top: 4px; }
.priority-list { display: grid; gap: 10px; }
.priority-row { display: flex; justify-content: space-between; align-items: center; gap: 12px; font-size: 13px; }
.priority-label { display: inline-flex; align-items: center; gap: 9px; }
.dot { width: 10px; height: 10px; border-radius: 50%; background: #347fd6; }
.dot.danger { background: #d92835; }
.dot.warning { background: #f07d1c; }
.dot.medium { background: #f0b51e; }
.dot.info { background: #20a79a; }

.status-list { display: grid; gap: 14px; padding-top: 7px; }
.status-row { display: grid; grid-template-columns: 145px minmax(0,1fr) 28px; gap: 12px; align-items: center; font-size: 12px; }
.bar-track { height: 10px; background: #eef2f5; border-radius: 999px; overflow: hidden; }
.bar { height: 100%; border-radius: 999px; background: #3f8ee8; }
.bar.warning { background: #ee8a20; }
.bar.success { background: #20a79a; }
.bar.danger { background: #e2aa17; }
.bar.empty { background: transparent; }

.appointments { display: grid; gap: 10px; }
.appointment { display: grid; grid-template-columns: 54px minmax(0,1fr) 18px; gap: 12px; align-items: center; border-bottom: 1px solid #edf1f4; padding-bottom: 10px; }
.appointment:last-child { border-bottom: 0; padding-bottom: 0; }
.date-box { border: 1px solid var(--as-border); border-radius: 8px; padding: 6px 4px; text-align: center; font-size: 9px; color: var(--as-muted); background: #fbfcfd; }
.date-box strong { display: block; font-size: 20px; color: var(--as-navy); line-height: 1.05; }
.date-box.danger strong { color: var(--as-danger); }
.appointment-title { font-size: 12px; font-weight: 700; }
.appointment-meta { margin-top: 3px; color: #68798a; font-size: 10px; line-height: 1.45; }
.appointment-chevron { color: #7c8c9b; font-size: 20px; }

.lower-grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(280px, .95fr); gap: 14px; margin-bottom: 14px; }
.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; font-size: 12px; }
th { color: var(--as-muted); font-size: 10px; text-transform: uppercase; letter-spacing: .04em; text-align: left; padding: 9px 8px; border-bottom: 1px solid var(--as-border); }
td { padding: 10px 8px; border-bottom: 1px solid #edf1f4; vertical-align: top; }
.badge { display: inline-flex; min-height: 24px; align-items: center; padding: 3px 8px; border-radius: 999px; font-size: 11px; background: var(--as-info-soft); color: #1765a8; white-space: nowrap; }
.badge.warning { background: var(--as-warning-soft); color: var(--as-warning); }
.badge.danger { background: var(--as-danger-soft); color: var(--as-danger); }
.badge.success { background: var(--as-success-soft); color: var(--as-success); }
.table-actions { white-space: nowrap; display: inline-flex; align-items: center; gap: 8px; }
.table-action { min-height: 30px; display: inline-flex; align-items: center; padding: 4px 9px; border-radius: 7px; background: #f1f4f7; color: #596a79; text-decoration: none; font-size: 10px; font-weight: 700; }
.row-menu { color: #6f8090; font-size: 18px; line-height: 1; }
.messages { display: grid; gap: 14px; }
.message { display: grid; grid-template-columns: 34px minmax(0,1fr); gap: 10px; align-items: start; }
.message-icon { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 8px; background: #f2f5f8; color: #536778; }
.message-icon.danger { color: var(--as-danger); background: var(--as-danger-soft); }
.message-icon svg { width: 17px; height: 17px; stroke: currentColor; }
.message strong { font-size: 12px; display: block; }
.message p { margin: 3px 0 0; color: var(--as-muted); font-size: 11px; line-height: 1.45; }

.object-strip { padding: 18px; }
.object-strip-header { display: flex; justify-content: space-between; gap: 12px; align-items: center; margin-bottom: 12px; }
.object-strip-header h2 { margin: 0; font-size: 17px; }
.object-strip-header a { color: var(--as-blue); text-decoration: none; font-size: 12px; }
.object-cards { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 12px; }
.object-card { border: 1px solid var(--as-border); border-radius: 9px; padding: 0; overflow: hidden; min-width: 0; background: #fff; }
.object-thumb { height: 72px; overflow: hidden; background: linear-gradient(180deg, #e9f4fb 0%, #f5f8fb 100%); }
.object-thumb svg { display: block; width: 100%; height: 100%; }
.object-copy { padding: 10px 11px 11px; }
.object-card strong { display: block; font-size: 12px; }
.object-card .object-city { display: block; color: var(--as-muted); font-size: 11px; margin-top: 2px; }
.object-card .badge { margin-top: 8px; }

.placeholder-page { display: grid; gap: 14px; }
.placeholder-hero { padding: 24px; }
.placeholder-hero h2 { margin: 0 0 8px; font-size: 24px; }
.placeholder-hero p { margin: 0; color: var(--as-muted); max-width: 760px; line-height: 1.6; }
.placeholder-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 14px; }
.placeholder-card { padding: 18px; min-height: 132px; }
.placeholder-card strong { display: block; margin-bottom: 8px; }
.placeholder-card span { color: var(--as-muted); font-size: 13px; line-height: 1.5; }
.skeleton-tag { display: inline-flex; margin-top: 12px; padding: 5px 8px; border-radius: 999px; background: #eef4f8; color: #526878; font-size: 11px; }

@media (max-width: 1199px) {
  .app-shell { grid-template-columns: 210px minmax(0,1fr); }
  .brand-logo { width: 170px; }
  .kpi-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .dashboard-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .dashboard-grid > :last-child { grid-column: 1 / -1; }
  .object-cards { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .placeholder-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .action-items { grid-template-columns: 1fr; }
}

@media (max-width: 767px) {
  .app-shell { display: block; }
  .sidebar { min-height: auto; padding: 12px; }
  .brand { padding-bottom: 10px; }
  .brand-logo { width: 165px; }
  .brand-portal-label { display: none; }
  .main-nav { display: flex; overflow-x: auto; gap: 6px; padding-bottom: 4px; }
  .nav-link { flex: 0 0 auto; white-space: nowrap; }
  .sidebar-footer { display: none; }
  .topbar { min-height: auto; padding: 16px; align-items: flex-start; }
  .topbar-right, .last-updated { display: none; }
  .page-root { padding: 12px 12px 26px; }
  .kpi-grid, .dashboard-grid, .lower-grid, .placeholder-grid { grid-template-columns: 1fr; }
  .dashboard-grid > :last-child { grid-column: auto; }
  .priority-layout { grid-template-columns: 1fr; justify-items: center; }
  .priority-list { width: 100%; }
  .object-cards { grid-template-columns: 1fr; }
  .status-row { grid-template-columns: 118px minmax(0,1fr) 24px; }
  .table-wrap table, .table-wrap thead, .table-wrap tbody, .table-wrap tr, .table-wrap th, .table-wrap td { display: block; }
  .table-wrap thead { display: none; }
  .table-wrap tr { border: 1px solid var(--as-border); border-radius: var(--as-radius-sm); padding: 8px; margin-bottom: 8px; }
  .table-wrap td { border: 0; padding: 5px 4px; }
}
/* KDP_04_MY_OBJECTS_PAGE_V1_0_START */
.objects-page { display: grid; gap: 16px; }
.objects-hero { padding: 20px; display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.objects-hero-copy { min-width: 0; }
.objects-hero h2 { margin: 0 0 6px; font-size: 22px; }
.objects-hero p { margin: 0; color: var(--as-muted); line-height: 1.5; max-width: 760px; }
.objects-scope-pill { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 7px; min-height: 36px; padding: 7px 11px; border: 1px solid #cce0ee; border-radius: 999px; background: #f3f9fc; color: #315d7b; font-size: 12px; font-weight: 700; }
.objects-scope-pill svg { width: 16px; height: 16px; }

.objects-summary-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.objects-summary-card { padding: 16px; display: flex; align-items: center; gap: 12px; min-width: 0; }
.objects-summary-icon { width: 44px; height: 44px; border-radius: 14px; display: grid; place-items: center; background: #e8f4fb; color: #267bb3; flex: 0 0 auto; }
.objects-summary-icon.warning { background: #fff2df; color: #c77714; }
.objects-summary-icon.danger { background: #fee9eb; color: #d43a43; }
.objects-summary-icon.success { background: #e6f6ef; color: #208866; }
.objects-summary-icon svg { width: 22px; height: 22px; }
.objects-summary-copy { min-width: 0; }
.objects-summary-label { color: var(--as-muted); font-size: 12px; font-weight: 700; }
.objects-summary-value { font-size: 27px; line-height: 1.05; font-weight: 800; margin-top: 2px; }
.objects-summary-meta { margin-top: 3px; color: var(--as-muted); font-size: 11px; }

.objects-toolbar { padding: 14px; display: grid; grid-template-columns: minmax(220px, 1fr) minmax(180px, 220px) minmax(180px, 220px) auto; gap: 10px; align-items: end; }
.objects-control { display: grid; gap: 5px; min-width: 0; }
.objects-control label { font-size: 11px; font-weight: 800; color: #4c6577; }
.objects-control input,
.objects-control select { width: 100%; min-height: var(--as-touch-min); border: 1px solid var(--as-border); border-radius: 10px; background: #fff; color: var(--as-text); padding: 9px 11px; font: inherit; font-size: 14px; outline: none; }
.objects-control input:focus,
.objects-control select:focus { border-color: #3E86BC; box-shadow: 0 0 0 3px rgba(62,134,188,.14); }
.objects-reset { min-height: var(--as-touch-min); border: 1px solid var(--as-border); border-radius: 10px; background: #f7fafc; color: #31566f; padding: 9px 14px; font: inherit; font-weight: 800; cursor: pointer; }
.objects-reset:hover { background: #eef5f9; }

.objects-result-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: var(--as-muted); font-size: 12px; padding: 0 2px; }
.objects-result-row strong { color: var(--as-text); }
.objects-view-note { display: inline-flex; align-items: center; gap: 6px; }

.objects-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.portfolio-object-card { overflow: hidden; display: grid; grid-template-rows: auto 1fr; min-width: 0; }
.portfolio-object-visual { height: 112px; background: #eaf4fa; border-bottom: 1px solid var(--as-border); }
.portfolio-object-visual svg { width: 100%; height: 100%; display: block; }
.portfolio-object-body { padding: 14px; display: grid; gap: 12px; }
.portfolio-object-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.portfolio-object-title { min-width: 0; }
.portfolio-object-title strong { display: block; font-size: 15px; }
.portfolio-object-title span { display: block; color: var(--as-muted); font-size: 12px; margin-top: 3px; }
.portfolio-object-id { display: inline-flex; margin-top: 6px; color: #668094; font-size: 10px; font-weight: 800; letter-spacing: .04em; }
.portfolio-object-status { flex: 0 0 auto; }
.portfolio-object-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid var(--as-border); border-radius: 10px; overflow: hidden; }
.portfolio-object-metric { padding: 9px 8px; text-align: center; min-width: 0; background: #fbfdfe; }
.portfolio-object-metric + .portfolio-object-metric { border-left: 1px solid var(--as-border); }
.portfolio-object-metric strong { display: block; font-size: 15px; }
.portfolio-object-metric span { display: block; margin-top: 2px; color: var(--as-muted); font-size: 10px; line-height: 1.2; }
.portfolio-object-next { display: flex; align-items: flex-start; gap: 9px; min-height: 42px; }
.portfolio-object-next svg { width: 18px; height: 18px; color: #49708b; flex: 0 0 auto; margin-top: 1px; }
.portfolio-object-next div { min-width: 0; }
.portfolio-object-next strong { display: block; font-size: 12px; }
.portfolio-object-next span { display: block; margin-top: 2px; color: var(--as-muted); font-size: 11px; }
.portfolio-object-actions { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding-top: 2px; }
.object-open-button { min-height: var(--as-touch-min); border: 0; border-radius: 9px; background: #e8f4fb; color: #146fa8; padding: 9px 12px; font: inherit; font-size: 12px; font-weight: 800; cursor: pointer; }
.object-open-button:hover { background: #d9edf8; }
.object-case-link { min-height: var(--as-touch-min); display: inline-flex; align-items: center; color: #426a84; text-decoration: none; font-size: 12px; font-weight: 700; }
.object-case-link:hover { text-decoration: underline; }
.objects-empty { grid-column: 1 / -1; padding: 32px; text-align: center; }
.objects-empty strong { display: block; font-size: 16px; }
.objects-empty span { display: block; color: var(--as-muted); margin-top: 5px; }

.object-detail-panel { padding: 18px; display: none; scroll-margin-top: 18px; }
.object-detail-panel.open { display: grid; gap: 14px; }
.object-detail-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.object-detail-head h2 { margin: 0; font-size: 20px; }
.object-detail-head p { margin: 4px 0 0; color: var(--as-muted); font-size: 12px; }
.object-detail-close { min-width: var(--as-touch-min); min-height: var(--as-touch-min); border: 1px solid var(--as-border); border-radius: 9px; background: #fff; color: #4c687a; font: inherit; font-size: 18px; cursor: pointer; }
.object-detail-close:hover { background: #f3f7f9; }
.object-detail-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.object-detail-tile { padding: 12px; border: 1px solid var(--as-border); border-radius: 10px; background: #fbfdfe; }
.object-detail-tile span { display: block; color: var(--as-muted); font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.object-detail-tile strong { display: block; margin-top: 5px; font-size: 13px; }
.object-detail-callout { padding: 13px 14px; border-left: 4px solid #3E86BC; border-radius: 8px; background: #f2f8fc; }
.object-detail-callout.warning { border-left-color: #e28a20; background: #fff8ef; }
.object-detail-callout.danger { border-left-color: #d43a43; background: #fff2f3; }
.object-detail-callout.success { border-left-color: #2b9a72; background: #f0faf6; }
.object-detail-callout strong { display: block; font-size: 12px; }
.object-detail-callout span { display: block; margin-top: 3px; color: var(--as-muted); font-size: 11px; }
.object-detail-links { display: flex; flex-wrap: wrap; gap: 8px; }
.object-detail-links a { min-height: var(--as-touch-min); display: inline-flex; align-items: center; padding: 8px 12px; border-radius: 9px; background: #eef5f9; color: #2f617f; text-decoration: none; font-size: 12px; font-weight: 800; }
.object-detail-links a:hover { background: #e1eef5; }

@media (max-width: 1199px) {
  .objects-summary-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .objects-toolbar { grid-template-columns: minmax(220px, 1fr) minmax(170px, 210px); }
  .objects-reset { width: fit-content; }
  .objects-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .object-detail-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 767px) {
  .objects-hero { display: grid; }
  .objects-scope-pill { width: fit-content; }
  .objects-summary-grid,
  .objects-toolbar,
  .objects-grid,
  .object-detail-grid { grid-template-columns: 1fr; }
  .objects-toolbar { align-items: stretch; }
  .objects-reset { width: 100%; }
  .objects-result-row { align-items: flex-start; flex-direction: column; }
  .portfolio-object-metrics { grid-template-columns: 1fr; }
  .portfolio-object-metric + .portfolio-object-metric { border-left: 0; border-top: 1px solid var(--as-border); }
  .portfolio-object-actions { align-items: stretch; flex-direction: column; }
  .object-open-button,
  .object-case-link { width: 100%; justify-content: center; }
}
/* KDP_04_MY_OBJECTS_PAGE_V1_0_END */

/* KDP_05_MY_PLANTS_PAGE_V1_0_START */
.plants-page { display: grid; gap: 16px; }
.plants-hero { padding: 20px; display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.plants-hero-copy { min-width: 0; }
.plants-hero h2 { margin: 0 0 6px; font-size: 22px; }
.plants-hero p { margin: 0; color: var(--as-muted); line-height: 1.5; max-width: 780px; }
.plants-scope-pill { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 7px; min-height: 36px; padding: 7px 11px; border: 1px solid #cce0ee; border-radius: 999px; background: #f3f9fc; color: #315d7b; font-size: 12px; font-weight: 700; }
.plants-scope-pill svg { width: 16px; height: 16px; }

.plants-summary-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.plants-summary-card { padding: 16px; display: flex; align-items: center; gap: 12px; min-width: 0; }
.plants-summary-icon { width: 44px; height: 44px; border-radius: 14px; display: grid; place-items: center; background: #e8f4fb; color: #267bb3; flex: 0 0 auto; }
.plants-summary-icon.warning { background: #fff2df; color: #c77714; }
.plants-summary-icon.danger { background: #fee9eb; color: #d43a43; }
.plants-summary-icon.success { background: #e6f6ef; color: #208866; }
.plants-summary-icon svg { width: 22px; height: 22px; }
.plants-summary-label { color: var(--as-muted); font-size: 12px; font-weight: 700; }
.plants-summary-value { font-size: 27px; line-height: 1.05; font-weight: 800; margin-top: 2px; }
.plants-summary-meta { margin-top: 3px; color: var(--as-muted); font-size: 11px; }

.plants-toolbar { padding: 14px; display: grid; grid-template-columns: minmax(220px, 1fr) minmax(190px, 230px) minmax(170px, 210px) minmax(170px, 210px) auto; gap: 10px; align-items: end; }
.plants-control { display: grid; gap: 5px; min-width: 0; }
.plants-control label { font-size: 11px; font-weight: 800; color: #4c6577; }
.plants-control input,
.plants-control select { width: 100%; min-height: var(--as-touch-min); border: 1px solid var(--as-border); border-radius: 10px; background: #fff; color: var(--as-text); padding: 9px 11px; font: inherit; font-size: 14px; outline: none; }
.plants-control input:focus,
.plants-control select:focus { border-color: #3E86BC; box-shadow: 0 0 0 3px rgba(62,134,188,.14); }
.plants-reset { min-height: var(--as-touch-min); border: 1px solid var(--as-border); border-radius: 10px; background: #f7fafc; color: #31566f; padding: 9px 14px; font: inherit; font-weight: 800; cursor: pointer; }
.plants-reset:hover { background: #eef5f9; }

.plants-result-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: var(--as-muted); font-size: 12px; padding: 0 2px; }
.plants-result-row strong { color: var(--as-text); }
.plants-view-note { display: inline-flex; align-items: center; gap: 6px; }

.plants-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.plant-card { overflow: hidden; display: grid; min-width: 0; }
.plant-card-head { padding: 14px; display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; background: linear-gradient(135deg,#f4fafe 0%,#eaf5fb 100%); border-bottom: 1px solid var(--as-border); }
.plant-identity { display: flex; align-items: flex-start; gap: 11px; min-width: 0; }
.plant-symbol { width: 46px; height: 46px; border-radius: 14px; display: grid; place-items: center; color: #1d739f; background: #d9eef8; flex: 0 0 auto; }
.plant-symbol svg { width: 24px; height: 24px; }
.plant-title { min-width: 0; }
.plant-title strong { display: block; font-size: 15px; line-height: 1.25; }
.plant-title span { display: block; color: var(--as-muted); font-size: 11px; margin-top: 3px; }
.plant-id { display: inline-flex; margin-top: 5px; color: #668094; font-size: 10px; font-weight: 800; letter-spacing: .04em; }
.plant-card-body { padding: 14px; display: grid; gap: 12px; }
.plant-object-line { display: flex; align-items: center; gap: 7px; color: #49697d; font-size: 12px; }
.plant-object-line svg { width: 16px; height: 16px; flex: 0 0 auto; }
.plant-metrics { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border: 1px solid var(--as-border); border-radius: 10px; overflow: hidden; }
.plant-metric { padding: 9px 7px; text-align: center; background: #fbfdfe; min-width: 0; }
.plant-metric + .plant-metric { border-left: 1px solid var(--as-border); }
.plant-metric strong { display: block; font-size: 13px; }
.plant-metric span { display: block; margin-top: 2px; color: var(--as-muted); font-size: 10px; line-height: 1.2; }
.plant-next { display: flex; align-items: flex-start; gap: 9px; min-height: 42px; }
.plant-next svg { width: 18px; height: 18px; color: #49708b; flex: 0 0 auto; margin-top: 1px; }
.plant-next strong { display: block; font-size: 12px; }
.plant-next span { display: block; color: var(--as-muted); font-size: 11px; margin-top: 2px; }
.plant-actions { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.plant-open-button { min-height: var(--as-touch-min); border: 0; border-radius: 9px; background: #e8f4fb; color: #146fa8; padding: 9px 12px; font: inherit; font-size: 12px; font-weight: 800; cursor: pointer; }
.plant-open-button:hover { background: #d9edf8; }
.plant-object-link { min-height: var(--as-touch-min); display: inline-flex; align-items: center; color: #426a84; text-decoration: none; font-size: 12px; font-weight: 700; }
.plant-object-link:hover { text-decoration: underline; }
.plants-empty { grid-column: 1 / -1; padding: 32px; text-align: center; }
.plants-empty strong { display: block; font-size: 16px; }
.plants-empty span { display: block; color: var(--as-muted); margin-top: 5px; }

.plant-detail-panel { padding: 18px; display: none; scroll-margin-top: 18px; }
.plant-detail-panel.open { display: grid; gap: 14px; }
.plant-detail-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.plant-detail-head h2 { margin: 0; font-size: 20px; }
.plant-detail-head p { margin: 4px 0 0; color: var(--as-muted); font-size: 12px; }
.plant-detail-close { min-width: var(--as-touch-min); min-height: var(--as-touch-min); border: 1px solid var(--as-border); border-radius: 9px; background: #fff; color: #4c687a; font: inherit; font-size: 18px; cursor: pointer; }
.plant-detail-close:hover { background: #f3f7f9; }
.plant-detail-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.plant-detail-tile { padding: 12px; border: 1px solid var(--as-border); border-radius: 10px; background: #fbfdfe; }
.plant-detail-tile span { display: block; color: var(--as-muted); font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.plant-detail-tile strong { display: block; margin-top: 5px; font-size: 13px; }
.plant-detail-callout { padding: 13px 14px; border-left: 4px solid #3E86BC; border-radius: 8px; background: #f2f8fc; }
.plant-detail-callout.warning { border-left-color: #e28a20; background: #fff8ef; }
.plant-detail-callout.danger { border-left-color: #d43a43; background: #fff2f3; }
.plant-detail-callout.success { border-left-color: #2b9a72; background: #f0faf6; }
.plant-detail-callout strong { display: block; font-size: 12px; }
.plant-detail-callout span { display: block; margin-top: 3px; color: var(--as-muted); font-size: 11px; }
.plant-detail-links { display: flex; flex-wrap: wrap; gap: 8px; }
.plant-detail-links a { min-height: var(--as-touch-min); display: inline-flex; align-items: center; padding: 8px 12px; border-radius: 9px; background: #eef5f9; color: #2f617f; text-decoration: none; font-size: 12px; font-weight: 800; }
.plant-detail-links a:hover { background: #e1eef5; }

@media (max-width: 1199px) {
  .plants-summary-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .plants-toolbar { grid-template-columns: minmax(220px,1fr) minmax(180px,220px); }
  .plants-reset { width: fit-content; }
  .plants-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .plant-detail-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 767px) {
  .plants-hero { display: grid; }
  .plants-scope-pill { width: fit-content; }
  .plants-summary-grid,
  .plants-toolbar,
  .plants-grid,
  .plant-detail-grid { grid-template-columns: 1fr; }
  .plants-toolbar { align-items: stretch; }
  .plants-reset { width: 100%; }
  .plants-result-row { align-items: flex-start; flex-direction: column; }
  .plant-metrics { grid-template-columns: 1fr; }
  .plant-metric + .plant-metric { border-left: 0; border-top: 1px solid var(--as-border); }
  .plant-actions { align-items: stretch; flex-direction: column; }
  .plant-open-button,
  .plant-object-link { width: 100%; justify-content: center; }
}
/* KDP_05_MY_PLANTS_PAGE_V1_0_END */

/* KDP_06_CASES_PAGE_V1_0_START */
.cases-page { display: grid; gap: 16px; }
.cases-hero { padding: 20px; display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.cases-hero-copy { min-width: 0; }
.cases-hero h2 { margin: 0 0 6px; font-size: 22px; }
.cases-hero p { margin: 0; color: var(--as-muted); line-height: 1.5; max-width: 820px; }
.cases-scope-pill { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 7px; min-height: 36px; padding: 7px 11px; border: 1px solid #cce0ee; border-radius: 999px; background: #f3f9fc; color: #315d7b; font-size: 12px; font-weight: 700; }
.cases-scope-pill svg { width: 16px; height: 16px; }

.cases-summary-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.cases-summary-card { padding: 16px; display: flex; align-items: center; gap: 12px; min-width: 0; }
.cases-summary-icon { width: 44px; height: 44px; border-radius: 14px; display: grid; place-items: center; background: #e8f4fb; color: #267bb3; flex: 0 0 auto; }
.cases-summary-icon.warning { background: #fff2df; color: #c77714; }
.cases-summary-icon.danger { background: #fee9eb; color: #d43a43; }
.cases-summary-icon.success { background: #e6f6ef; color: #208866; }
.cases-summary-icon svg { width: 22px; height: 22px; }
.cases-summary-label { color: var(--as-muted); font-size: 12px; font-weight: 700; }
.cases-summary-value { font-size: 27px; line-height: 1.05; font-weight: 800; margin-top: 2px; }
.cases-summary-meta { margin-top: 3px; color: var(--as-muted); font-size: 11px; }

.cases-toolbar { padding: 14px; display: grid; grid-template-columns: minmax(240px,1.2fr) minmax(150px,.7fr) minmax(170px,.8fr) minmax(180px,.9fr) minmax(170px,.8fr) auto; gap: 10px; align-items: end; }
.cases-control { display: grid; gap: 5px; min-width: 0; }
.cases-control label { font-size: 11px; font-weight: 800; color: #4c6577; }
.cases-control input,
.cases-control select { width: 100%; min-height: var(--as-touch-min); border: 1px solid var(--as-border); border-radius: 10px; background: #fff; color: var(--as-text); padding: 9px 11px; font: inherit; font-size: 14px; outline: none; }
.cases-control input:focus,
.cases-control select:focus { border-color: #3E86BC; box-shadow: 0 0 0 3px rgba(62,134,188,.14); }
.cases-reset { min-height: var(--as-touch-min); border: 1px solid var(--as-border); border-radius: 10px; background: #f7fafc; color: #31566f; padding: 9px 14px; font: inherit; font-weight: 800; cursor: pointer; }
.cases-reset:hover { background: #eef5f9; }

.cases-result-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: var(--as-muted); font-size: 12px; padding: 0 2px; }
.cases-result-row strong { color: var(--as-text); }
.cases-view-note { display: inline-flex; align-items: center; gap: 6px; }

.cases-table-wrap { overflow: hidden; }
.cases-table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.cases-table th { padding: 11px 12px; text-align: left; border-bottom: 1px solid var(--as-border); color: #617889; font-size: 10px; font-weight: 800; letter-spacing: .03em; text-transform: uppercase; background: #f8fbfd; }
.cases-table td { padding: 12px; border-bottom: 1px solid #edf2f5; vertical-align: middle; font-size: 12px; }
.cases-table tr:last-child td { border-bottom: 0; }
.cases-table tbody tr:hover { background: #fbfdfe; }
.case-priority-cell { width: 102px; }
.case-main-cell { width: 23%; }
.case-context-cell { width: 21%; }
.case-status-cell { width: 150px; }
.case-due-cell { width: 135px; }
.case-next-cell { width: 22%; }
.case-action-cell { width: 105px; text-align: right; }
.case-priority { display: inline-flex; align-items: center; gap: 7px; font-weight: 800; white-space: nowrap; }
.case-priority-dot { width: 9px; height: 9px; border-radius: 50%; flex: 0 0 auto; }
.case-priority.critical .case-priority-dot { background: #dc2f3a; }
.case-priority.high .case-priority-dot { background: #e67e22; }
.case-priority.medium .case-priority-dot { background: #e3ad22; }
.case-priority.low .case-priority-dot { background: #2f83cf; }
.case-priority.info .case-priority-dot { background: #17a695; }
.case-title { display: block; font-size: 13px; font-weight: 800; color: var(--as-text); line-height: 1.3; }
.case-id { display: block; margin-top: 3px; color: #748999; font-size: 10px; font-weight: 700; }
.case-context strong { display: block; font-size: 12px; }
.case-context span { display: block; margin-top: 3px; color: var(--as-muted); font-size: 10px; }
.case-due { display: grid; gap: 2px; }
.case-due strong { font-size: 12px; }
.case-due span { color: var(--as-muted); font-size: 10px; }
.case-due.overdue strong,
.case-due.overdue span { color: #c92f3b; }
.case-next-step { display: grid; gap: 2px; }
.case-next-step strong { font-size: 11px; }
.case-next-step span { color: var(--as-muted); font-size: 10px; line-height: 1.35; }
.case-open-button { min-height: var(--as-touch-min); border: 1px solid #c9deeb; border-radius: 9px; background: #eef6fb; color: #216891; padding: 8px 11px; font: inherit; font-size: 11px; font-weight: 800; cursor: pointer; }
.case-open-button:hover { background: #e0eff7; }

.cases-empty { padding: 24px; text-align: center; display: grid; gap: 5px; }
.cases-empty span { color: var(--as-muted); font-size: 12px; }

.case-detail-panel { display: none; padding: 18px; border-left: 4px solid #3E86BC; }
.case-detail-panel.open { display: grid; gap: 15px; }
.case-detail-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.case-detail-head h2 { margin: 0 0 4px; font-size: 20px; }
.case-detail-head p { margin: 0; color: var(--as-muted); font-size: 12px; }
.case-detail-close { width: 44px; height: 44px; border: 1px solid var(--as-border); border-radius: 10px; background: #f8fbfd; color: #466579; font-size: 22px; cursor: pointer; }
.case-detail-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.case-detail-tile { padding: 12px; border: 1px solid var(--as-border); border-radius: 10px; background: #fbfdfe; min-width: 0; }
.case-detail-tile span { display: block; color: var(--as-muted); font-size: 10px; }
.case-detail-tile strong { display: block; margin-top: 4px; font-size: 12px; overflow-wrap: anywhere; }
.case-detail-callout { padding: 13px 14px; border-left: 4px solid #3E86BC; border-radius: 8px; background: #f2f8fc; }
.case-detail-callout.warning { border-left-color: #e28a20; background: #fff8ef; }
.case-detail-callout.danger { border-left-color: #d43a43; background: #fff2f3; }
.case-detail-callout.success { border-left-color: #2b9a72; background: #f0faf6; }
.case-detail-callout strong { display: block; font-size: 12px; }
.case-detail-callout span { display: block; margin-top: 3px; color: var(--as-muted); font-size: 11px; }
.case-detail-description { padding: 13px 14px; border: 1px solid var(--as-border); border-radius: 10px; background: #fff; }
.case-detail-description strong { display: block; font-size: 12px; }
.case-detail-description p { margin: 5px 0 0; color: var(--as-muted); font-size: 11px; line-height: 1.5; }
.case-detail-timeline { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; }
.case-timeline-step { position: relative; padding: 10px 10px 10px 28px; border: 1px solid var(--as-border); border-radius: 9px; background: #fbfdfe; }
.case-timeline-step::before { content: ''; position: absolute; left: 10px; top: 14px; width: 8px; height: 8px; border-radius: 50%; background: #3E86BC; }
.case-timeline-step strong { display: block; font-size: 10px; }
.case-timeline-step span { display: block; margin-top: 3px; color: var(--as-muted); font-size: 9px; }
.case-detail-links { display: flex; flex-wrap: wrap; gap: 8px; }
.case-detail-links a { min-height: var(--as-touch-min); display: inline-flex; align-items: center; padding: 8px 12px; border-radius: 9px; background: #eef5f9; color: #2f617f; text-decoration: none; font-size: 12px; font-weight: 800; }
.case-detail-links a:hover { background: #e1eef5; }

@media (max-width: 1199px) {
  .cases-summary-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .cases-toolbar { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .cases-reset { width: fit-content; }
  .case-detail-grid,
  .case-detail-timeline { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .cases-table-wrap { overflow-x: auto; }
  .cases-table { min-width: 1020px; }
}
@media (max-width: 767px) {
  .cases-hero { display: grid; }
  .cases-scope-pill { width: fit-content; }
  .cases-summary-grid,
  .cases-toolbar,
  .case-detail-grid,
  .case-detail-timeline { grid-template-columns: 1fr; }
  .cases-reset { width: 100%; }
  .cases-result-row { align-items: flex-start; flex-direction: column; }
  .cases-table-wrap { overflow: visible; background: transparent; border: 0; box-shadow: none; }
  .cases-table,
  .cases-table tbody,
  .cases-table tr,
  .cases-table td { display: block; width: 100%; }
  .cases-table thead { display: none; }
  .cases-table { min-width: 0; }
  .cases-table tbody { display: grid; gap: 12px; }
  .cases-table tr { border: 1px solid var(--as-border); border-radius: 12px; background: #fff; overflow: hidden; }
  .cases-table td { border-bottom: 1px solid #edf2f5; padding: 11px 13px; }
  .cases-table td:last-child { border-bottom: 0; }
  .case-action-cell { text-align: left; }
  .case-open-button { width: 100%; }
}
/* KDP_06_CASES_PAGE_V1_0_END */

/* KDP_07_INSPECTIONS_PAGE_V1_0_START */
.inspections-page { display: grid; gap: 16px; }
.inspections-hero { padding: 20px; display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.inspections-hero-copy { min-width: 0; }
.inspections-hero h2 { margin: 0 0 6px; font-size: 22px; }
.inspections-hero p { margin: 0; color: var(--as-muted); line-height: 1.5; max-width: 840px; }
.inspections-scope-pill { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 7px; min-height: 36px; padding: 7px 11px; border: 1px solid #cce0ee; border-radius: 999px; background: #f3f9fc; color: #315d7b; font-size: 12px; font-weight: 700; }
.inspections-scope-pill svg { width: 16px; height: 16px; }

.inspections-summary-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.inspections-summary-card { padding: 16px; display: flex; align-items: center; gap: 12px; min-width: 0; }
.inspections-summary-icon { width: 44px; height: 44px; border-radius: 14px; display: grid; place-items: center; background: #e8f4fb; color: #267bb3; flex: 0 0 auto; }
.inspections-summary-icon.warning { background: #fff2df; color: #c77714; }
.inspections-summary-icon.danger { background: #fee9eb; color: #d43a43; }
.inspections-summary-icon.success { background: #e6f6ef; color: #208866; }
.inspections-summary-icon svg { width: 22px; height: 22px; }
.inspections-summary-label { color: var(--as-muted); font-size: 12px; font-weight: 700; }
.inspections-summary-value { font-size: 27px; line-height: 1.05; font-weight: 800; margin-top: 2px; }
.inspections-summary-meta { margin-top: 3px; color: var(--as-muted); font-size: 11px; }

.inspections-toolbar { padding: 14px; display: grid; grid-template-columns: minmax(240px,1.2fr) minmax(170px,.8fr) minmax(170px,.8fr) minmax(180px,.9fr) minmax(170px,.8fr) auto; gap: 10px; align-items: end; }
.inspections-control { display: grid; gap: 5px; min-width: 0; }
.inspections-control label { font-size: 11px; font-weight: 800; color: #4c6577; }
.inspections-control input,
.inspections-control select { width: 100%; min-height: var(--as-touch-min); border: 1px solid var(--as-border); border-radius: 10px; background: #fff; color: var(--as-text); padding: 9px 11px; font: inherit; font-size: 14px; outline: none; }
.inspections-control input:focus,
.inspections-control select:focus { border-color: #3E86BC; box-shadow: 0 0 0 3px rgba(62,134,188,.14); }
.inspections-reset { min-height: var(--as-touch-min); border: 1px solid var(--as-border); border-radius: 10px; background: #f7fafc; color: #31566f; padding: 9px 14px; font: inherit; font-weight: 800; cursor: pointer; }
.inspections-reset:hover { background: #eef5f9; }

.inspections-result-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: var(--as-muted); font-size: 12px; padding: 0 2px; }
.inspections-result-row strong { color: var(--as-text); }
.inspections-view-note { display: inline-flex; align-items: center; gap: 6px; }

.inspections-table-wrap { overflow: hidden; }
.inspections-table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.inspections-table th { padding: 11px 12px; text-align: left; border-bottom: 1px solid var(--as-border); color: #617889; font-size: 10px; font-weight: 800; letter-spacing: .03em; text-transform: uppercase; background: #f8fbfd; }
.inspections-table td { padding: 12px; border-bottom: 1px solid #edf2f5; vertical-align: middle; font-size: 12px; }
.inspections-table tr:last-child td { border-bottom: 0; }
.inspections-table tbody tr:hover { background: #fbfdfe; }
.inspection-date-cell { width: 140px; }
.inspection-main-cell { width: 22%; }
.inspection-context-cell { width: 24%; }
.inspection-status-cell { width: 155px; }
.inspection-result-cell { width: 22%; }
.inspection-action-cell { width: 105px; text-align: right; }
.inspection-date-box { display: grid; gap: 2px; }
.inspection-date-box strong { font-size: 12px; }
.inspection-date-box span { color: var(--as-muted); font-size: 10px; }
.inspection-title { display: block; font-size: 13px; font-weight: 800; color: var(--as-text); line-height: 1.3; }
.inspection-id { display: block; margin-top: 3px; color: #748999; font-size: 10px; font-weight: 700; }
.inspection-context strong { display: block; font-size: 12px; }
.inspection-context span { display: block; margin-top: 3px; color: var(--as-muted); font-size: 10px; }
.inspection-result { display: grid; gap: 2px; }
.inspection-result strong { font-size: 11px; }
.inspection-result span { color: var(--as-muted); font-size: 10px; line-height: 1.35; }
.inspection-open-button { min-height: var(--as-touch-min); border: 1px solid #c9deeb; border-radius: 9px; background: #eef6fb; color: #216891; padding: 8px 11px; font: inherit; font-size: 11px; font-weight: 800; cursor: pointer; }
.inspection-open-button:hover { background: #e0eff7; }
.inspections-empty { padding: 24px; text-align: center; display: grid; gap: 5px; }
.inspections-empty span { color: var(--as-muted); font-size: 12px; }

.inspection-detail-panel { display: none; padding: 18px; border-left: 4px solid #3E86BC; }
.inspection-detail-panel.open { display: grid; gap: 15px; }
.inspection-detail-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.inspection-detail-head h2 { margin: 0 0 4px; font-size: 20px; }
.inspection-detail-head p { margin: 0; color: var(--as-muted); font-size: 12px; }
.inspection-detail-close { width: 44px; height: 44px; border: 1px solid var(--as-border); border-radius: 10px; background: #f8fbfd; color: #466579; font-size: 22px; cursor: pointer; }
.inspection-detail-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.inspection-detail-tile { padding: 12px; border: 1px solid var(--as-border); border-radius: 10px; background: #fbfdfe; min-width: 0; }
.inspection-detail-tile span { display: block; color: var(--as-muted); font-size: 10px; }
.inspection-detail-tile strong { display: block; margin-top: 4px; font-size: 12px; overflow-wrap: anywhere; }
.inspection-detail-callout { padding: 13px 14px; border-left: 4px solid #3E86BC; border-radius: 8px; background: #f2f8fc; }
.inspection-detail-callout.warning { border-left-color: #e28a20; background: #fff8ef; }
.inspection-detail-callout.danger { border-left-color: #d43a43; background: #fff2f3; }
.inspection-detail-callout.success { border-left-color: #2b9a72; background: #f0faf6; }
.inspection-detail-callout strong { display: block; font-size: 12px; }
.inspection-detail-callout span { display: block; margin-top: 3px; color: var(--as-muted); font-size: 11px; }
.inspection-detail-description { padding: 13px 14px; border: 1px solid var(--as-border); border-radius: 10px; background: #fff; }
.inspection-detail-description strong { display: block; font-size: 12px; }
.inspection-detail-description p { margin: 5px 0 0; color: var(--as-muted); font-size: 11px; line-height: 1.5; }
.inspection-detail-timeline { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; }
.inspection-timeline-step { position: relative; padding: 10px 10px 10px 28px; border: 1px solid var(--as-border); border-radius: 9px; background: #fbfdfe; }
.inspection-timeline-step::before { content: ''; position: absolute; left: 10px; top: 14px; width: 8px; height: 8px; border-radius: 50%; background: #3E86BC; }
.inspection-timeline-step strong { display: block; font-size: 10px; }
.inspection-timeline-step span { display: block; margin-top: 3px; color: var(--as-muted); font-size: 9px; }
.inspection-detail-links { display: flex; flex-wrap: wrap; gap: 8px; }
.inspection-detail-links a { min-height: var(--as-touch-min); display: inline-flex; align-items: center; padding: 8px 12px; border-radius: 9px; background: #eef5f9; color: #2f617f; text-decoration: none; font-size: 12px; font-weight: 800; }
.inspection-detail-links a:hover { background: #e1eef5; }

@media (max-width: 1199px) {
  .inspections-summary-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .inspections-toolbar { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .inspections-reset { width: fit-content; }
  .inspection-detail-grid,
  .inspection-detail-timeline { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .inspections-table-wrap { overflow-x: auto; }
  .inspections-table { min-width: 980px; }
}
@media (max-width: 767px) {
  .inspections-hero { display: grid; }
  .inspections-scope-pill { width: fit-content; }
  .inspections-summary-grid,
  .inspections-toolbar,
  .inspection-detail-grid,
  .inspection-detail-timeline { grid-template-columns: 1fr; }
  .inspections-reset { width: 100%; }
  .inspections-result-row { align-items: flex-start; flex-direction: column; }
  .inspections-table-wrap { overflow: visible; background: transparent; border: 0; box-shadow: none; }
  .inspections-table,
  .inspections-table tbody,
  .inspections-table tr,
  .inspections-table td { display: block; width: 100%; }
  .inspections-table thead { display: none; }
  .inspections-table { min-width: 0; }
  .inspections-table tbody { display: grid; gap: 12px; }
  .inspections-table tr { border: 1px solid var(--as-border); border-radius: 12px; background: #fff; overflow: hidden; }
  .inspections-table td { border-bottom: 1px solid #edf2f5; padding: 11px 13px; }
  .inspections-table td:last-child { border-bottom: 0; }
  .inspection-action-cell { text-align: left; }
  .inspection-open-button { width: 100%; }
}
/* KDP_07_INSPECTIONS_PAGE_V1_0_END */

/* KDP_08_DEADLINES_APPOINTMENTS_PAGE_V1_0_START */
.schedule-page { display: grid; gap: 16px; }
.schedule-hero { padding: 20px; display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.schedule-hero-copy { min-width: 0; }
.schedule-hero h2 { margin: 0 0 6px; font-size: 22px; }
.schedule-hero p { margin: 0; color: var(--as-muted); line-height: 1.5; max-width: 860px; }
.schedule-scope-pill { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 7px; min-height: 36px; padding: 7px 11px; border: 1px solid #cce0ee; border-radius: 999px; background: #f3f9fc; color: #315d7b; font-size: 12px; font-weight: 700; }
.schedule-scope-pill svg { width: 16px; height: 16px; }

.schedule-summary-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.schedule-summary-card { padding: 16px; display: flex; align-items: center; gap: 12px; min-width: 0; }
.schedule-summary-icon { width: 44px; height: 44px; border-radius: 14px; display: grid; place-items: center; background: #e8f4fb; color: #267bb3; flex: 0 0 auto; }
.schedule-summary-icon.danger { background: #fee9eb; color: #d43a43; }
.schedule-summary-icon.warning { background: #fff2df; color: #c77714; }
.schedule-summary-icon.success { background: #e6f6ef; color: #208866; }
.schedule-summary-icon svg { width: 22px; height: 22px; }
.schedule-summary-label { color: var(--as-muted); font-size: 12px; font-weight: 700; }
.schedule-summary-value { font-size: 27px; line-height: 1.05; font-weight: 800; margin-top: 2px; }
.schedule-summary-meta { margin-top: 3px; color: var(--as-muted); font-size: 11px; }

.schedule-toolbar { padding: 14px; display: grid; grid-template-columns: minmax(240px,1.25fr) minmax(150px,.65fr) minmax(175px,.75fr) minmax(180px,.8fr) minmax(175px,.75fr) auto; gap: 10px; align-items: end; }
.schedule-control { display: grid; gap: 5px; min-width: 0; }
.schedule-control label { font-size: 11px; font-weight: 800; color: #4c6577; }
.schedule-control input,
.schedule-control select { width: 100%; min-height: var(--as-touch-min); border: 1px solid var(--as-border); border-radius: 10px; background: #fff; color: var(--as-text); padding: 9px 11px; font: inherit; font-size: 14px; outline: none; }
.schedule-control input:focus,
.schedule-control select:focus { border-color: #3E86BC; box-shadow: 0 0 0 3px rgba(62,134,188,.14); }
.schedule-reset { min-height: var(--as-touch-min); border: 1px solid var(--as-border); border-radius: 10px; background: #f7fafc; color: #31566f; padding: 9px 14px; font: inherit; font-weight: 800; cursor: pointer; }
.schedule-reset:hover { background: #eef5f9; }

.schedule-result-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: var(--as-muted); font-size: 12px; padding: 0 2px; }
.schedule-result-row strong { color: var(--as-text); }
.schedule-view-note { display: inline-flex; align-items: center; gap: 6px; }
.schedule-view-note svg { width: 18px; height: 18px; }

.schedule-table-wrap { overflow: hidden; }
.schedule-table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.schedule-table th { padding: 11px 12px; text-align: left; border-bottom: 1px solid var(--as-border); color: #617889; font-size: 10px; font-weight: 800; letter-spacing: .03em; text-transform: uppercase; background: #f8fbfd; }
.schedule-table td { padding: 12px; border-bottom: 1px solid #edf2f5; vertical-align: middle; font-size: 12px; }
.schedule-table tr:last-child td { border-bottom: 0; }
.schedule-table tbody tr:hover { background: #fbfdfe; }
.schedule-date-cell { width: 145px; }
.schedule-type-cell { width: 105px; }
.schedule-main-cell { width: 21%; }
.schedule-context-cell { width: 22%; }
.schedule-status-cell { width: 165px; }
.schedule-next-cell { width: 21%; }
.schedule-action-cell { width: 95px; text-align: right; }
.schedule-date-box { display: grid; gap: 2px; }
.schedule-date-box strong { font-size: 12px; }
.schedule-date-box span { color: var(--as-muted); font-size: 10px; }
.schedule-type-badge { display: inline-flex; align-items: center; gap: 6px; min-height: 30px; padding: 5px 8px; border-radius: 999px; font-size: 10px; font-weight: 800; }
.schedule-type-badge.deadline { background: #fff2df; color: #9b5d12; }
.schedule-type-badge.appointment { background: #e8f4fb; color: #286d9c; }
.schedule-type-badge svg { width: 14px; height: 14px; }
.schedule-title { display: block; font-size: 13px; font-weight: 800; color: var(--as-text); line-height: 1.3; }
.schedule-id { display: block; margin-top: 3px; color: #748999; font-size: 10px; font-weight: 700; }
.schedule-context strong { display: block; font-size: 12px; }
.schedule-context span { display: block; margin-top: 3px; color: var(--as-muted); font-size: 10px; }
.schedule-next strong { display: block; font-size: 11px; }
.schedule-next span { display: block; margin-top: 3px; color: var(--as-muted); font-size: 10px; line-height: 1.35; }
.schedule-open-button { min-height: 38px; border: 1px solid var(--as-border); border-radius: 9px; background: #f5f8fa; color: #31566f; padding: 7px 12px; font: inherit; font-size: 11px; font-weight: 800; cursor: pointer; }
.schedule-open-button:hover { background: #eaf2f7; }
.schedule-empty { padding: 28px; display: grid; gap: 4px; text-align: center; color: var(--as-muted); }
.schedule-empty strong { color: var(--as-text); }

.schedule-detail-panel { display: none; padding: 18px; border-left: 4px solid #3E86BC; }
.schedule-detail-panel.open { display: block; }
.schedule-detail-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin-bottom: 14px; }
.schedule-detail-head h2 { margin: 0 0 4px; font-size: 20px; }
.schedule-detail-head p { margin: 0; color: var(--as-muted); font-size: 11px; }
.schedule-detail-close { width: 40px; height: 40px; border: 1px solid var(--as-border); border-radius: 10px; background: #f7fafc; color: #456174; font: inherit; font-size: 22px; cursor: pointer; }
.schedule-detail-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.schedule-detail-tile { padding: 11px; border: 1px solid var(--as-border); border-radius: 10px; background: #fbfdfe; display: grid; gap: 4px; }
.schedule-detail-tile span { color: var(--as-muted); font-size: 10px; font-weight: 700; }
.schedule-detail-tile strong { font-size: 12px; }
.schedule-detail-callout { margin-top: 12px; padding: 12px 14px; border-radius: 10px; display: grid; gap: 3px; }
.schedule-detail-callout.danger { background: #fff0f1; border-left: 3px solid #d43a43; }
.schedule-detail-callout.warning { background: #fff6e8; border-left: 3px solid #d88a23; }
.schedule-detail-callout.info { background: #edf7fc; border-left: 3px solid #3E86BC; }
.schedule-detail-callout.success { background: #edf8f3; border-left: 3px solid #2e9877; }
.schedule-detail-callout strong { font-size: 12px; }
.schedule-detail-callout span { color: var(--as-muted); font-size: 11px; }
.schedule-detail-description { margin-top: 12px; padding: 12px; border: 1px solid var(--as-border); border-radius: 10px; background: #fff; }
.schedule-detail-description strong { font-size: 12px; }
.schedule-detail-description p { margin: 5px 0 0; color: var(--as-muted); font-size: 11px; line-height: 1.45; }
.schedule-detail-timeline { margin-top: 12px; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; }
.schedule-timeline-step { padding: 10px; border: 1px solid var(--as-border); border-radius: 10px; display: grid; gap: 3px; position: relative; padding-left: 24px; }
.schedule-timeline-step::before { content: ''; position: absolute; left: 10px; top: 14px; width: 6px; height: 6px; border-radius: 999px; background: #3E86BC; }
.schedule-timeline-step strong { font-size: 10px; }
.schedule-timeline-step span { color: var(--as-muted); font-size: 10px; line-height: 1.35; }
.schedule-detail-links { margin-top: 12px; display: flex; flex-wrap: wrap; gap: 8px; }
.schedule-detail-links a { min-height: 38px; display: inline-flex; align-items: center; padding: 7px 10px; border-radius: 9px; background: #eef6fb; color: #216c9e; text-decoration: none; font-size: 11px; font-weight: 800; }

@media (max-width: 1199px) {
  .schedule-summary-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .schedule-toolbar { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .schedule-reset { width: 100%; }
  .schedule-table { min-width: 1080px; }
  .schedule-table-wrap { overflow-x: auto; }
  .schedule-detail-grid,
  .schedule-detail-timeline { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 767px) {
  .schedule-hero { flex-direction: column; }
  .schedule-scope-pill { align-self: flex-start; }
  .schedule-summary-grid,
  .schedule-toolbar,
  .schedule-detail-grid,
  .schedule-detail-timeline { grid-template-columns: 1fr; }
  .schedule-result-row { align-items: flex-start; flex-direction: column; }
  .schedule-table-wrap { overflow: visible; background: transparent; border: 0; box-shadow: none; }
  .schedule-table,
  .schedule-table tbody,
  .schedule-table tr,
  .schedule-table td { display: block; width: 100%; }
  .schedule-table thead { display: none; }
  .schedule-table { min-width: 0; }
  .schedule-table tbody { display: grid; gap: 12px; }
  .schedule-table tr { border: 1px solid var(--as-border); border-radius: 12px; background: #fff; overflow: hidden; }
  .schedule-table td { border-bottom: 1px solid #edf2f5; padding: 11px 13px; }
  .schedule-table td:last-child { border-bottom: 0; }
  .schedule-action-cell { text-align: left; }
  .schedule-open-button { width: 100%; }
}
/* KDP_08_DEADLINES_APPOINTMENTS_PAGE_V1_0_END */

/* KDP_09_DOCUMENTS_PAGE_V1_0_START */
.documents-page { display: grid; gap: 16px; }
.documents-hero { padding: 20px; display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.documents-hero-copy { min-width: 0; }
.documents-hero h2 { margin: 0 0 6px; font-size: 22px; }
.documents-hero p { margin: 0; color: var(--as-muted); line-height: 1.5; max-width: 880px; }
.documents-scope-pill { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 7px; min-height: 36px; padding: 7px 11px; border: 1px solid #cce0ee; border-radius: 999px; background: #f3f9fc; color: #315d7b; font-size: 12px; font-weight: 700; }
.documents-scope-pill svg { width: 16px; height: 16px; }

.documents-summary-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.documents-summary-card { padding: 16px; display: flex; align-items: center; gap: 12px; min-width: 0; }
.documents-summary-icon { width: 44px; height: 44px; border-radius: 14px; display: grid; place-items: center; background: #e8f4fb; color: #267bb3; flex: 0 0 auto; }
.documents-summary-icon.info { background: #edf3ff; color: #416fbd; }
.documents-summary-icon.danger { background: #fee9eb; color: #d43a43; }
.documents-summary-icon.success { background: #e6f6ef; color: #208866; }
.documents-summary-icon svg { width: 22px; height: 22px; }
.documents-summary-label { color: var(--as-muted); font-size: 12px; font-weight: 700; }
.documents-summary-value { font-size: 27px; line-height: 1.05; font-weight: 800; margin-top: 2px; }
.documents-summary-meta { margin-top: 3px; color: var(--as-muted); font-size: 11px; }

.documents-toolbar { padding: 14px; display: grid; grid-template-columns: minmax(250px,1.25fr) minmax(175px,.8fr) minmax(170px,.75fr) minmax(180px,.8fr) minmax(175px,.75fr) auto; gap: 10px; align-items: end; }
.documents-control { display: grid; gap: 5px; min-width: 0; }
.documents-control label { font-size: 11px; font-weight: 800; color: #4c6577; }
.documents-control input,
.documents-control select { width: 100%; min-height: var(--as-touch-min); border: 1px solid var(--as-border); border-radius: 10px; background: #fff; color: var(--as-text); padding: 9px 11px; font: inherit; font-size: 14px; outline: none; }
.documents-control input:focus,
.documents-control select:focus { border-color: #3E86BC; box-shadow: 0 0 0 3px rgba(62,134,188,.14); }
.documents-reset { min-height: var(--as-touch-min); border: 1px solid var(--as-border); border-radius: 10px; background: #f7fafc; color: #31566f; padding: 9px 14px; font: inherit; font-weight: 800; cursor: pointer; }
.documents-reset:hover { background: #eef5f9; }

.documents-result-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: var(--as-muted); font-size: 12px; padding: 0 2px; }
.documents-result-row strong { color: var(--as-text); }
.documents-view-note { display: inline-flex; align-items: center; gap: 6px; }
.documents-view-note svg { width: 18px; height: 18px; }

.documents-table-wrap { overflow: hidden; }
.documents-table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.documents-table th { padding: 11px 12px; text-align: left; border-bottom: 1px solid var(--as-border); color: #617889; font-size: 10px; font-weight: 800; letter-spacing: .03em; text-transform: uppercase; background: #f8fbfd; }
.documents-table td { padding: 12px; border-bottom: 1px solid #edf2f5; vertical-align: middle; font-size: 12px; }
.documents-table tr:last-child td { border-bottom: 0; }
.documents-table tbody tr:hover { background: #fbfdfe; }
.documents-status-cell { width: 145px; }
.documents-main-cell { width: 25%; }
.documents-category-cell { width: 165px; }
.documents-context-cell { width: 24%; }
.documents-date-cell { width: 155px; }
.documents-action-cell { width: 95px; text-align: right; }
.document-status-badge { display: inline-flex; align-items: center; gap: 6px; min-height: 30px; padding: 5px 9px; border-radius: 999px; font-size: 10px; font-weight: 800; white-space: nowrap; }
.document-status-badge.new { background: #e8f4fb; color: #286d9c; }
.document-status-badge.available { background: #e8f7ef; color: #257b5e; }
.document-status-badge.action { background: #fee9eb; color: #bd3740; }
.document-status-badge.archived { background: #eef1f3; color: #677885; }
.document-status-badge svg { width: 14px; height: 14px; }
.document-title { display: block; font-size: 13px; font-weight: 800; color: var(--as-text); line-height: 1.3; }
.document-id { display: block; margin-top: 3px; color: #748999; font-size: 10px; font-weight: 700; }
.document-category-badge { display: inline-flex; align-items: center; min-height: 28px; padding: 5px 8px; border-radius: 8px; background: #f1f6f9; color: #45677d; font-size: 10px; font-weight: 800; }
.document-context strong { display: block; font-size: 12px; }
.document-context span { display: block; margin-top: 3px; color: var(--as-muted); font-size: 10px; }
.document-date strong { display: block; font-size: 11px; }
.document-date span { display: block; margin-top: 3px; color: var(--as-muted); font-size: 10px; }
.documents-open-button { min-height: 38px; border: 1px solid var(--as-border); border-radius: 9px; background: #f5f8fa; color: #31566f; padding: 7px 12px; font: inherit; font-size: 11px; font-weight: 800; cursor: pointer; }
.documents-open-button:hover { background: #eaf2f7; }
.documents-empty { padding: 28px; display: grid; gap: 4px; text-align: center; color: var(--as-muted); }
.documents-empty strong { color: var(--as-text); }

.documents-detail-panel { display: none; padding: 18px; border-left: 4px solid #3E86BC; }
.documents-detail-panel.open { display: block; }
.documents-detail-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin-bottom: 14px; }
.documents-detail-head h2 { margin: 0 0 4px; font-size: 20px; }
.documents-detail-head p { margin: 0; color: var(--as-muted); font-size: 11px; }
.documents-detail-close { width: 40px; height: 40px; border: 1px solid var(--as-border); border-radius: 10px; background: #f7fafc; color: #456174; font: inherit; font-size: 22px; cursor: pointer; }
.documents-detail-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.documents-detail-tile { padding: 11px; border: 1px solid var(--as-border); border-radius: 10px; background: #fbfdfe; display: grid; gap: 4px; }
.documents-detail-tile span { color: var(--as-muted); font-size: 10px; font-weight: 700; }
.documents-detail-tile strong { font-size: 12px; }
.documents-detail-callout { margin-top: 12px; padding: 12px 14px; border-radius: 10px; display: grid; gap: 3px; }
.documents-detail-callout.danger { background: #fff0f1; border-left: 3px solid #d43a43; }
.documents-detail-callout.info { background: #edf7fc; border-left: 3px solid #3E86BC; }
.documents-detail-callout.success { background: #edf8f3; border-left: 3px solid #2e9877; }
.documents-detail-callout.muted { background: #f3f5f6; border-left: 3px solid #84939d; }
.documents-detail-callout strong { font-size: 12px; }
.documents-detail-callout span { color: var(--as-muted); font-size: 11px; }
.documents-preview { margin-top: 12px; padding: 16px; border: 1px solid var(--as-border); border-radius: 12px; background: #fff; display: grid; grid-template-columns: 54px minmax(0,1fr); gap: 14px; align-items: center; }
.documents-preview-icon { width: 54px; height: 64px; border-radius: 8px; background: #eef6fb; color: #2d79aa; display: grid; place-items: center; }
.documents-preview-icon svg { width: 28px; height: 28px; }
.documents-preview strong { display: block; font-size: 12px; }
.documents-preview p { margin: 5px 0 0; color: var(--as-muted); font-size: 11px; line-height: 1.45; }
.documents-detail-links { margin-top: 12px; display: flex; flex-wrap: wrap; gap: 8px; }
.documents-detail-links a { min-height: 38px; display: inline-flex; align-items: center; padding: 7px 10px; border-radius: 9px; background: #eef6fb; color: #216c9e; text-decoration: none; font-size: 11px; font-weight: 800; }

@media (max-width: 1199px) {
  .documents-summary-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .documents-toolbar { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .documents-reset { width: 100%; }
  .documents-table { min-width: 1040px; }
  .documents-table-wrap { overflow-x: auto; }
  .documents-detail-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 767px) {
  .documents-hero { flex-direction: column; }
  .documents-scope-pill { align-self: flex-start; }
  .documents-summary-grid,
  .documents-toolbar,
  .documents-detail-grid { grid-template-columns: 1fr; }
  .documents-result-row { align-items: flex-start; flex-direction: column; }
  .documents-table-wrap { overflow: visible; background: transparent; border: 0; box-shadow: none; }
  .documents-table,
  .documents-table tbody,
  .documents-table tr,
  .documents-table td { display: block; width: 100%; }
  .documents-table thead { display: none; }
  .documents-table { min-width: 0; }
  .documents-table tbody { display: grid; gap: 12px; }
  .documents-table tr { border: 1px solid var(--as-border); border-radius: 12px; background: #fff; overflow: hidden; }
  .documents-table td { border-bottom: 1px solid #edf2f5; padding: 11px 13px; }
  .documents-table td:last-child { border-bottom: 0; }
  .documents-action-cell { text-align: left; }
  .documents-open-button { width: 100%; }
}
/* KDP_09_DOCUMENTS_PAGE_V1_0_END */

/* KDP_10_MESSAGES_PAGE_V1_0_START */
.messages-page { display: grid; gap: 16px; }
.messages-hero { padding: 20px; display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.messages-hero-copy { min-width: 0; }
.messages-hero h2 { margin: 0 0 6px; font-size: 22px; }
.messages-hero p { margin: 0; color: var(--as-muted); line-height: 1.5; max-width: 880px; }
.messages-scope-pill { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 7px; min-height: 36px; padding: 7px 11px; border: 1px solid #cce0ee; border-radius: 999px; background: #f3f9fc; color: #315d7b; font-size: 12px; font-weight: 700; }
.messages-scope-pill svg { width: 16px; height: 16px; }

.messages-summary-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.messages-summary-card { padding: 16px; display: flex; align-items: center; gap: 12px; min-width: 0; }
.messages-summary-icon { width: 44px; height: 44px; border-radius: 14px; display: grid; place-items: center; background: #e8f4fb; color: #267bb3; flex: 0 0 auto; }
.messages-summary-icon.info { background: #edf3ff; color: #416fbd; }
.messages-summary-icon.danger { background: #fee9eb; color: #d43a43; }
.messages-summary-icon.success { background: #e6f6ef; color: #208866; }
.messages-summary-icon svg { width: 22px; height: 22px; }
.messages-summary-label { color: var(--as-muted); font-size: 12px; font-weight: 700; }
.messages-summary-value { font-size: 27px; line-height: 1.05; font-weight: 800; margin-top: 2px; }
.messages-summary-meta { margin-top: 3px; color: var(--as-muted); font-size: 11px; }

.messages-toolbar { padding: 14px; display: grid; grid-template-columns: minmax(250px,1.25fr) minmax(175px,.8fr) minmax(175px,.8fr) minmax(180px,.85fr) minmax(175px,.75fr) auto; gap: 10px; align-items: end; }
.messages-control { display: grid; gap: 5px; min-width: 0; }
.messages-control label { font-size: 11px; font-weight: 800; color: #4c6577; }
.messages-control input,
.messages-control select { width: 100%; min-height: var(--as-touch-min); border: 1px solid var(--as-border); border-radius: 10px; background: #fff; color: var(--as-text); padding: 9px 11px; font: inherit; font-size: 14px; outline: none; }
.messages-control input:focus,
.messages-control select:focus { border-color: #3E86BC; box-shadow: 0 0 0 3px rgba(62,134,188,.14); }
.messages-reset { min-height: var(--as-touch-min); border: 1px solid var(--as-border); border-radius: 10px; background: #f7fafc; color: #31566f; padding: 9px 14px; font: inherit; font-weight: 800; cursor: pointer; }
.messages-reset:hover { background: #eef5f9; }

.messages-result-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: var(--as-muted); font-size: 12px; padding: 0 2px; }
.messages-result-row strong { color: var(--as-text); }
.messages-view-note { display: inline-flex; align-items: center; gap: 6px; }
.messages-view-note svg { width: 18px; height: 18px; }

.messages-table-wrap { overflow: hidden; }
.messages-table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.messages-table th { padding: 11px 12px; text-align: left; border-bottom: 1px solid var(--as-border); color: #617889; font-size: 10px; font-weight: 800; letter-spacing: .03em; text-transform: uppercase; background: #f8fbfd; }
.messages-table td { padding: 12px; border-bottom: 1px solid #edf2f5; vertical-align: middle; font-size: 12px; }
.messages-table tr:last-child td { border-bottom: 0; }
.messages-table tbody tr:hover { background: #fbfdfe; }
.messages-status-cell { width: 135px; }
.messages-main-cell { width: 29%; }
.messages-category-cell { width: 130px; }
.messages-context-cell { width: 24%; }
.messages-date-cell { width: 150px; }
.messages-action-cell { width: 95px; text-align: right; }
.message-status-badge { display: inline-flex; align-items: center; gap: 6px; min-height: 30px; padding: 5px 9px; border-radius: 999px; font-size: 10px; font-weight: 800; white-space: nowrap; }
.message-status-badge.unread { background: #e8f4fb; color: #286d9c; }
.message-status-badge.action { background: #fee9eb; color: #bd3740; }
.message-status-badge.read { background: #e8f7ef; color: #257b5e; }
.message-status-badge.archived { background: #eef1f3; color: #677885; }
.message-status-badge svg { width: 14px; height: 14px; }
.message-subject { display: block; font-size: 13px; font-weight: 800; color: var(--as-text); line-height: 1.3; }
.message-preview { display: block; margin-top: 3px; color: #748999; font-size: 10px; line-height: 1.35; }
.message-category-badge { display: inline-flex; align-items: center; min-height: 28px; padding: 5px 8px; border-radius: 8px; background: #f1f6f9; color: #45677d; font-size: 10px; font-weight: 800; }
.message-context strong { display: block; font-size: 12px; }
.message-context span { display: block; margin-top: 3px; color: var(--as-muted); font-size: 10px; }
.message-date strong { display: block; font-size: 11px; }
.message-date span { display: block; margin-top: 3px; color: var(--as-muted); font-size: 10px; }
.messages-open-button { min-height: 38px; border: 1px solid var(--as-border); border-radius: 9px; background: #f5f8fa; color: #31566f; padding: 7px 12px; font: inherit; font-size: 11px; font-weight: 800; cursor: pointer; }
.messages-open-button:hover { background: #eaf2f7; }
.messages-empty { padding: 28px; display: grid; gap: 4px; text-align: center; color: var(--as-muted); }
.messages-empty strong { color: var(--as-text); }

.messages-detail-panel { display: none; padding: 18px; border-left: 4px solid #3E86BC; }
.messages-detail-panel.open { display: block; }
.messages-detail-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin-bottom: 14px; }
.messages-detail-head h2 { margin: 0 0 4px; font-size: 20px; }
.messages-detail-head p { margin: 0; color: var(--as-muted); font-size: 11px; }
.messages-detail-close { width: 40px; height: 40px; border: 1px solid var(--as-border); border-radius: 10px; background: #f7fafc; color: #456174; font: inherit; font-size: 22px; cursor: pointer; }
.messages-detail-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.messages-detail-tile { padding: 11px; border: 1px solid var(--as-border); border-radius: 10px; background: #fbfdfe; display: grid; gap: 4px; }
.messages-detail-tile span { color: var(--as-muted); font-size: 10px; font-weight: 700; }
.messages-detail-tile strong { font-size: 12px; }
.messages-detail-callout { margin-top: 12px; padding: 12px 14px; border-radius: 10px; display: grid; gap: 3px; }
.messages-detail-callout.danger { background: #fff0f1; border-left: 3px solid #d43a43; }
.messages-detail-callout.info { background: #edf7fc; border-left: 3px solid #3E86BC; }
.messages-detail-callout.success { background: #edf8f3; border-left: 3px solid #2e9877; }
.messages-detail-callout.muted { background: #f3f5f6; border-left: 3px solid #84939d; }
.messages-detail-callout strong { font-size: 12px; }
.messages-detail-callout span { color: var(--as-muted); font-size: 11px; }
.messages-body { margin-top: 12px; padding: 16px; border: 1px solid var(--as-border); border-radius: 12px; background: #fff; }
.messages-body strong { display: block; margin-bottom: 7px; font-size: 12px; }
.messages-body p { margin: 0; color: #4b6171; font-size: 12px; line-height: 1.6; }
.messages-attachment { margin-top: 12px; padding: 12px; border: 1px solid var(--as-border); border-radius: 10px; background: #f9fcfd; display: flex; align-items: center; gap: 10px; }
.messages-attachment-icon { width: 36px; height: 36px; border-radius: 10px; background: #edf6fb; color: #2d79aa; display: grid; place-items: center; }
.messages-attachment-icon svg { width: 18px; height: 18px; }
.messages-attachment strong { display: block; font-size: 11px; }
.messages-attachment span { display: block; margin-top: 2px; color: var(--as-muted); font-size: 10px; }
.messages-readonly-note { margin-top: 12px; padding: 11px 13px; border-radius: 10px; background: #f3f7fa; color: #506a7b; font-size: 11px; border: 1px solid #dfe9ef; }
.messages-detail-links { margin-top: 12px; display: flex; flex-wrap: wrap; gap: 8px; }
.messages-detail-links a { min-height: 38px; display: inline-flex; align-items: center; padding: 7px 10px; border-radius: 9px; background: #eef6fb; color: #216c9e; text-decoration: none; font-size: 11px; font-weight: 800; }

@media (max-width: 1199px) {
  .messages-summary-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .messages-toolbar { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .messages-reset { width: 100%; }
  .messages-table { min-width: 1040px; }
  .messages-table-wrap { overflow-x: auto; }
  .messages-detail-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 767px) {
  .messages-hero { flex-direction: column; }
  .messages-scope-pill { align-self: flex-start; }
  .messages-summary-grid,
  .messages-toolbar,
  .messages-detail-grid { grid-template-columns: 1fr; }
  .messages-result-row { align-items: flex-start; flex-direction: column; }
  .messages-table-wrap { overflow: visible; background: transparent; border: 0; box-shadow: none; }
  .messages-table,
  .messages-table tbody,
  .messages-table tr,
  .messages-table td { display: block; width: 100%; }
  .messages-table thead { display: none; }
  .messages-table { min-width: 0; }
  .messages-table tbody { display: grid; gap: 12px; }
  .messages-table tr { border: 1px solid var(--as-border); border-radius: 12px; background: #fff; overflow: hidden; }
  .messages-table td { border-bottom: 1px solid #edf2f5; padding: 11px 13px; }
  .messages-table td:last-child { border-bottom: 0; }
  .messages-action-cell { text-align: left; }
  .messages-open-button { width: 100%; }
}
/* KDP_10_MESSAGES_PAGE_V1_0_END */

/* KDP_11_APPROVALS_PAGE_V1_0_START */
.approvals-page { display: grid; gap: 16px; }
.approvals-hero { padding: 20px; display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.approvals-hero-copy { min-width: 0; }
.approvals-hero h2 { margin: 0 0 6px; font-size: 22px; }
.approvals-hero p { margin: 0; color: var(--as-muted); line-height: 1.5; max-width: 900px; }
.approvals-scope-pill { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 7px; min-height: 36px; padding: 7px 11px; border: 1px solid #cce0ee; border-radius: 999px; background: #f3f9fc; color: #315d7b; font-size: 12px; font-weight: 700; }
.approvals-scope-pill svg { width: 16px; height: 16px; }

.approvals-summary-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.approvals-summary-card { padding: 16px; display: flex; align-items: center; gap: 12px; min-width: 0; }
.approvals-summary-icon { width: 44px; height: 44px; border-radius: 14px; display: grid; place-items: center; background: #e8f4fb; color: #267bb3; flex: 0 0 auto; }
.approvals-summary-icon.danger { background: #fee9eb; color: #d43a43; }
.approvals-summary-icon.warning { background: #fff4df; color: #bd7a15; }
.approvals-summary-icon.success { background: #e6f6ef; color: #208866; }
.approvals-summary-icon svg { width: 22px; height: 22px; }
.approvals-summary-label { color: var(--as-muted); font-size: 12px; font-weight: 700; }
.approvals-summary-value { font-size: 27px; line-height: 1.05; font-weight: 800; margin-top: 2px; }
.approvals-summary-meta { margin-top: 3px; color: var(--as-muted); font-size: 11px; }

.approvals-toolbar { padding: 14px; display: grid; grid-template-columns: minmax(250px,1.25fr) minmax(175px,.8fr) minmax(175px,.8fr) minmax(180px,.85fr) minmax(175px,.75fr) auto; gap: 10px; align-items: end; }
.approvals-control { display: grid; gap: 5px; min-width: 0; }
.approvals-control label { font-size: 11px; font-weight: 800; color: #4c6577; }
.approvals-control input,
.approvals-control select { width: 100%; min-height: var(--as-touch-min); border: 1px solid var(--as-border); border-radius: 10px; background: #fff; color: var(--as-text); padding: 9px 11px; font: inherit; font-size: 14px; outline: none; }
.approvals-control input:focus,
.approvals-control select:focus { border-color: #3E86BC; box-shadow: 0 0 0 3px rgba(62,134,188,.14); }
.approvals-reset { min-height: var(--as-touch-min); border: 1px solid var(--as-border); border-radius: 10px; background: #f7fafc; color: #31566f; padding: 9px 14px; font: inherit; font-weight: 800; cursor: pointer; }
.approvals-reset:hover { background: #eef5f9; }

.approvals-result-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: var(--as-muted); font-size: 12px; padding: 0 2px; }
.approvals-result-row strong { color: var(--as-text); }
.approvals-view-note { display: inline-flex; align-items: center; gap: 6px; }
.approvals-view-note svg { width: 18px; height: 18px; }

.approvals-table-wrap { overflow: hidden; }
.approvals-table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.approvals-table th { padding: 11px 12px; text-align: left; border-bottom: 1px solid var(--as-border); color: #617889; font-size: 10px; font-weight: 800; letter-spacing: .03em; text-transform: uppercase; background: #f8fbfd; }
.approvals-table td { padding: 12px; border-bottom: 1px solid #edf2f5; vertical-align: middle; font-size: 12px; }
.approvals-table tr:last-child td { border-bottom: 0; }
.approvals-table tbody tr:hover { background: #fbfdfe; }
.approvals-status-cell { width: 145px; }
.approvals-main-cell { width: 29%; }
.approvals-type-cell { width: 145px; }
.approvals-context-cell { width: 23%; }
.approvals-date-cell { width: 150px; }
.approvals-action-cell { width: 95px; text-align: right; }
.approval-status-badge { display: inline-flex; align-items: center; gap: 6px; min-height: 30px; padding: 5px 9px; border-radius: 999px; font-size: 10px; font-weight: 800; white-space: nowrap; }
.approval-status-badge.action { background: #fee9eb; color: #bd3740; }
.approval-status-badge.review { background: #fff2d9; color: #9f6814; }
.approval-status-badge.approved { background: #e8f7ef; color: #257b5e; }
.approval-status-badge.declined { background: #eef1f3; color: #677885; }
.approval-status-badge svg { width: 14px; height: 14px; }
.approval-title { display: block; font-size: 13px; font-weight: 800; color: var(--as-text); line-height: 1.3; }
.approval-subtitle { display: block; margin-top: 3px; color: #748999; font-size: 10px; line-height: 1.35; }
.approval-type-badge { display: inline-flex; align-items: center; min-height: 28px; padding: 5px 8px; border-radius: 8px; background: #f1f6f9; color: #45677d; font-size: 10px; font-weight: 800; }
.approval-context strong { display: block; font-size: 12px; }
.approval-context span { display: block; margin-top: 3px; color: var(--as-muted); font-size: 10px; }
.approval-date strong { display: block; font-size: 11px; }
.approval-date span { display: block; margin-top: 3px; color: var(--as-muted); font-size: 10px; }
.approvals-open-button { min-height: 38px; border: 1px solid var(--as-border); border-radius: 9px; background: #f5f8fa; color: #31566f; padding: 7px 12px; font: inherit; font-size: 11px; font-weight: 800; cursor: pointer; }
.approvals-open-button:hover { background: #eaf2f7; }
.approvals-empty { padding: 28px; display: grid; gap: 4px; text-align: center; color: var(--as-muted); }
.approvals-empty strong { color: var(--as-text); }

.approvals-detail-panel { display: none; padding: 18px; border-left: 4px solid #3E86BC; }
.approvals-detail-panel.open { display: block; }
.approvals-detail-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin-bottom: 14px; }
.approvals-detail-head h2 { margin: 0 0 4px; font-size: 20px; }
.approvals-detail-head p { margin: 0; color: var(--as-muted); font-size: 11px; }
.approvals-detail-close { width: 40px; height: 40px; border: 1px solid var(--as-border); border-radius: 10px; background: #f7fafc; color: #456174; font: inherit; font-size: 22px; cursor: pointer; }
.approvals-detail-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.approvals-detail-tile { padding: 11px; border: 1px solid var(--as-border); border-radius: 10px; background: #fbfdfe; display: grid; gap: 4px; }
.approvals-detail-tile span { color: var(--as-muted); font-size: 10px; font-weight: 700; }
.approvals-detail-tile strong { font-size: 12px; }
.approvals-detail-callout { margin-top: 12px; padding: 12px 14px; border-radius: 10px; display: grid; gap: 3px; }
.approvals-detail-callout.danger { background: #fff0f1; border-left: 3px solid #d43a43; }
.approvals-detail-callout.warning { background: #fff7e8; border-left: 3px solid #c78418; }
.approvals-detail-callout.success { background: #edf8f3; border-left: 3px solid #2e9877; }
.approvals-detail-callout.muted { background: #f3f5f6; border-left: 3px solid #84939d; }
.approvals-detail-callout strong { font-size: 12px; }
.approvals-detail-callout span { color: var(--as-muted); font-size: 11px; }
.approvals-reason { margin-top: 12px; padding: 16px; border: 1px solid var(--as-border); border-radius: 12px; background: #fff; }
.approvals-reason strong { display: block; margin-bottom: 7px; font-size: 12px; }
.approvals-reason p { margin: 0; color: #4b6171; font-size: 12px; line-height: 1.6; }
.approvals-permission-note { margin-top: 12px; padding: 11px 13px; border-radius: 10px; background: #f3f7fa; color: #506a7b; font-size: 11px; border: 1px solid #dfe9ef; }
.approvals-decision-row { margin-top: 12px; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.approvals-decision-button { min-height: 40px; border: 1px solid #cbd9e2; border-radius: 9px; padding: 8px 12px; font: inherit; font-size: 11px; font-weight: 800; }
.approvals-decision-button[disabled] { background: #eef2f4; color: #82919b; cursor: not-allowed; }
.approvals-decision-hint { color: var(--as-muted); font-size: 10px; }
.approvals-detail-links { margin-top: 12px; display: flex; flex-wrap: wrap; gap: 8px; }
.approvals-detail-links a { min-height: 38px; display: inline-flex; align-items: center; padding: 7px 10px; border-radius: 9px; background: #eef6fb; color: #216c9e; text-decoration: none; font-size: 11px; font-weight: 800; }

@media (max-width: 1199px) {
  .approvals-summary-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .approvals-toolbar { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .approvals-reset { width: 100%; }
  .approvals-table { min-width: 1040px; }
  .approvals-table-wrap { overflow-x: auto; }
  .approvals-detail-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 767px) {
  .approvals-hero { flex-direction: column; }
  .approvals-scope-pill { align-self: flex-start; }
  .approvals-summary-grid,
  .approvals-toolbar,
  .approvals-detail-grid { grid-template-columns: 1fr; }
  .approvals-result-row { align-items: flex-start; flex-direction: column; }
  .approvals-table-wrap { overflow: visible; background: transparent; border: 0; box-shadow: none; }
  .approvals-table,
  .approvals-table tbody,
  .approvals-table tr,
  .approvals-table td { display: block; width: 100%; }
  .approvals-table thead { display: none; }
  .approvals-table { min-width: 0; }
  .approvals-table tbody { display: grid; gap: 12px; }
  .approvals-table tr { border: 1px solid var(--as-border); border-radius: 12px; background: #fff; overflow: hidden; }
  .approvals-table td { border-bottom: 1px solid #edf2f5; padding: 11px 13px; }
  .approvals-table td:last-child { border-bottom: 0; }
  .approvals-action-cell { text-align: left; }
  .approvals-open-button { width: 100%; }
}
/* KDP_11_APPROVALS_PAGE_V1_0_END */

/* KDP_12_PROFILE_PAGE_V1_0_START */
.profile-page { display: grid; gap: 16px; }
.profile-hero { padding: 20px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.profile-identity { display: flex; align-items: center; gap: 16px; min-width: 0; }
.profile-avatar { width: 68px; height: 68px; border-radius: 20px; display: grid; place-items: center; background: linear-gradient(145deg,#e8f4fb,#d9edf8); color: #1f6797; font-size: 22px; font-weight: 900; letter-spacing: .04em; flex: 0 0 auto; }
.profile-identity-copy { min-width: 0; }
.profile-identity h2 { margin: 0 0 5px; font-size: 24px; }
.profile-identity p { margin: 0; color: var(--as-muted); }
.profile-role-pill { margin-top: 10px; display: inline-flex; align-items: center; gap: 7px; min-height: 34px; padding: 6px 10px; border-radius: 999px; background: #e8f4fb; color: #286b99; border: 1px solid #cfe4f1; font-size: 12px; font-weight: 800; }
.profile-role-pill svg { width: 15px; height: 15px; }
.profile-scope-pill { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 7px; min-height: 38px; padding: 8px 12px; border: 1px solid #cce0ee; border-radius: 999px; background: #f3f9fc; color: #315d7b; font-size: 12px; font-weight: 800; }
.profile-scope-pill svg { width: 16px; height: 16px; }
.profile-summary-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.profile-summary-card { padding: 16px; display: flex; align-items: center; gap: 12px; min-width: 0; }
.profile-summary-icon { width: 44px; height: 44px; border-radius: 14px; display: grid; place-items: center; background: #e8f4fb; color: #267bb3; flex: 0 0 auto; }
.profile-summary-icon.success { background: #e6f6ef; color: #208866; }
.profile-summary-icon.warning { background: #fff4df; color: #bd7a15; }
.profile-summary-icon svg { width: 22px; height: 22px; }
.profile-summary-label { color: var(--as-muted); font-size: 12px; font-weight: 700; }
.profile-summary-value { font-size: 18px; line-height: 1.15; font-weight: 800; margin-top: 2px; overflow-wrap: anywhere; }
.profile-summary-meta { margin-top: 3px; color: var(--as-muted); font-size: 11px; }
.profile-columns { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.profile-panel { padding: 18px; }
.profile-panel h2 { margin: 0 0 14px; font-size: 18px; }
.profile-info-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.profile-info-tile { border: 1px solid var(--as-border); border-radius: 12px; padding: 12px; min-width: 0; background: #fbfdfe; }
.profile-info-tile span { display: block; font-size: 11px; font-weight: 800; color: var(--as-muted); margin-bottom: 4px; }
.profile-info-tile strong { display: block; font-size: 14px; overflow-wrap: anywhere; }
.profile-permission-panel { padding: 18px; }
.profile-permission-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
.profile-permission-head h2 { margin: 0 0 4px; font-size: 18px; }
.profile-permission-head p { margin: 0; color: var(--as-muted); font-size: 13px; }
.profile-permission-note { display: inline-flex; align-items: center; gap: 6px; color: #315d7b; background: #f3f9fc; border: 1px solid #d2e5f0; border-radius: 999px; padding: 6px 10px; font-size: 11px; font-weight: 800; white-space: nowrap; }
.profile-permission-note svg { width: 15px; height: 15px; }
.profile-permission-table { width: 100%; border-collapse: collapse; }
.profile-permission-table th { text-align: left; color: #50687a; font-size: 11px; letter-spacing: .02em; padding: 10px; border-bottom: 1px solid var(--as-border); }
.profile-permission-table td { padding: 11px 10px; border-bottom: 1px solid #edf2f5; font-size: 13px; vertical-align: middle; }
.profile-permission-table tr:last-child td { border-bottom: 0; }
.profile-permission-status { display: inline-flex; align-items: center; gap: 6px; min-height: 28px; padding: 4px 8px; border-radius: 999px; font-size: 11px; font-weight: 800; }
.profile-permission-status.allowed { background: #e8f6ef; color: #24755b; }
.profile-permission-status.denied { background: #f2f4f6; color: #687782; }
.profile-permission-status svg { width: 14px; height: 14px; }
.profile-security-row { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.profile-security-tile { border: 1px solid var(--as-border); border-radius: 12px; padding: 12px; background: #fbfdfe; }
.profile-security-tile span { display: block; color: var(--as-muted); font-size: 11px; font-weight: 800; margin-bottom: 4px; }
.profile-security-tile strong { font-size: 14px; }
.profile-boundary { margin-top: 12px; border-left: 3px solid #3E86BC; border-radius: 8px; background: #f5faff; padding: 11px 12px; color: #456779; font-size: 12px; line-height: 1.5; }
.profile-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
.profile-action-link, .profile-action-disabled { min-height: var(--as-touch-min); display: inline-flex; align-items: center; justify-content: center; gap: 7px; border-radius: 10px; padding: 9px 13px; font: inherit; font-size: 13px; font-weight: 800; text-decoration: none; }
.profile-action-link { background: #edf6fb; color: #276c9b; border: 1px solid #d2e5f0; }
.profile-action-link:hover { background: #e2f0f8; }
.profile-action-disabled { border: 1px solid #d8e0e5; background: #f5f7f8; color: #89959e; cursor: not-allowed; }
@media (max-width: 1199px) {
  .profile-summary-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .profile-columns { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
  .profile-hero { align-items: flex-start; flex-direction: column; }
  .profile-scope-pill { align-self: flex-start; }
  .profile-summary-grid { grid-template-columns: 1fr; }
  .profile-info-grid { grid-template-columns: 1fr; }
  .profile-security-row { grid-template-columns: 1fr; }
  .profile-permission-head { flex-direction: column; }
  .profile-permission-note { white-space: normal; }
  .profile-permission-table, .profile-permission-table tbody, .profile-permission-table tr, .profile-permission-table td { display: block; width: 100%; }
  .profile-permission-table thead { display: none; }
  .profile-permission-table tr { border: 1px solid var(--as-border); border-radius: 12px; padding: 8px; margin-bottom: 9px; }
  .profile-permission-table td { border: 0; padding: 5px 7px; }
  .profile-permission-table td::before { content: attr(data-label); display: block; color: var(--as-muted); font-size: 10px; font-weight: 800; margin-bottom: 2px; }
}
/* KDP_12_PROFILE_PAGE_V1_0_END */

/* KDP_13_CONTACTS_PAGE_V1_0_START */
.contacts-page { display: grid; gap: 16px; }
.contacts-hero { padding: 20px; display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.contacts-hero h2 { margin: 0 0 6px; font-size: 22px; }
.contacts-hero p { margin: 0; color: var(--as-muted); max-width: 760px; line-height: 1.5; }
.contacts-scope-pill { display: inline-flex; align-items: center; gap: 7px; min-height: 38px; padding: 8px 12px; border: 1px solid #cce0ee; border-radius: 999px; background: #f3f9fc; color: #315d7b; font-size: 12px; font-weight: 800; white-space: nowrap; }
.contacts-scope-pill svg { width: 16px; height: 16px; }
.contacts-summary-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.contacts-summary-card { padding: 16px; display: flex; align-items: center; gap: 12px; min-width: 0; }
.contacts-summary-icon { width: 44px; height: 44px; border-radius: 14px; display: grid; place-items: center; background: #e8f4fb; color: #267bb3; flex: 0 0 auto; }
.contacts-summary-icon.success { background: #e6f6ef; color: #208866; }
.contacts-summary-icon.warning { background: #fff4df; color: #bd7a15; }
.contacts-summary-icon svg { width: 22px; height: 22px; }
.contacts-summary-label { color: var(--as-muted); font-size: 12px; font-weight: 700; }
.contacts-summary-value { font-size: 19px; line-height: 1.15; font-weight: 800; margin-top: 2px; }
.contacts-summary-meta { margin-top: 3px; color: var(--as-muted); font-size: 11px; }
.contacts-filter-card { padding: 14px; display: grid; grid-template-columns: minmax(220px,1.7fr) minmax(180px,.8fr) minmax(180px,.8fr) auto; gap: 12px; align-items: end; }
.contacts-filter-field { display: grid; gap: 6px; min-width: 0; }
.contacts-filter-field label { font-size: 11px; font-weight: 800; color: #50687a; }
.contacts-filter-field input, .contacts-filter-field select { min-height: var(--as-touch-min); width: 100%; border: 1px solid var(--as-border); border-radius: 10px; background: #fff; padding: 10px 12px; font: inherit; color: var(--as-text); }
.contacts-reset { min-height: var(--as-touch-min); border: 1px solid #d2e0e8; border-radius: 10px; background: #f7fafc; color: #38596f; padding: 9px 13px; font: inherit; font-weight: 800; cursor: pointer; }
.contacts-reset:hover { background: #edf5f9; }
.contacts-result-head { display: flex; justify-content: space-between; gap: 12px; align-items: center; color: var(--as-muted); font-size: 12px; font-weight: 700; }
.contacts-result-scope { display: inline-flex; align-items: center; gap: 6px; }
.contacts-result-scope svg { width: 15px; height: 15px; }
.contacts-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.contact-card { padding: 0; overflow: hidden; display: grid; min-width: 0; }
.contact-card-head { padding: 16px; display: flex; align-items: flex-start; gap: 12px; border-bottom: 1px solid #edf2f5; background: #fbfdfe; }
.contact-avatar { width: 46px; height: 46px; border-radius: 14px; display: grid; place-items: center; background: #e8f4fb; color: #267bb3; flex: 0 0 auto; }
.contact-avatar.customer { background: #eef3f6; color: #5a6e7c; }
.contact-avatar svg { width: 22px; height: 22px; }
.contact-card-copy { min-width: 0; flex: 1 1 auto; }
.contact-card-copy h3 { margin: 0 0 4px; font-size: 17px; overflow-wrap: anywhere; }
.contact-card-copy p { margin: 0; color: var(--as-muted); font-size: 12px; line-height: 1.4; }
.contact-owner-pill { display: inline-flex; align-items: center; min-height: 26px; padding: 4px 8px; border-radius: 999px; background: #edf6fb; color: #2c6f9a; font-size: 10px; font-weight: 900; white-space: nowrap; }
.contact-owner-pill.customer { background: #f1f4f6; color: #62727d; }
.contact-card-body { padding: 14px 16px; display: grid; gap: 10px; }
.contact-info-row { display: grid; grid-template-columns: 92px minmax(0,1fr); gap: 10px; align-items: start; font-size: 12px; }
.contact-info-row span { color: var(--as-muted); font-weight: 700; }
.contact-info-row strong { overflow-wrap: anywhere; }
.contact-card-actions { padding: 0 16px 16px; display: flex; gap: 10px; align-items: center; }
.contact-open { min-height: var(--as-touch-min); display: inline-flex; align-items: center; justify-content: center; border: 1px solid #d2e5f0; border-radius: 10px; background: #edf6fb; color: #276c9b; padding: 9px 13px; font: inherit; font-size: 13px; font-weight: 800; cursor: pointer; }
.contact-open:hover { background: #e2f0f8; }
.contacts-empty { grid-column: 1 / -1; padding: 30px 18px; text-align: center; color: var(--as-muted); }
.contact-detail { padding: 18px; border-left: 4px solid #3E86BC; }
.contact-detail[hidden] { display: none; }
.contact-detail-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; margin-bottom: 14px; }
.contact-detail-head h2 { margin: 0 0 4px; font-size: 20px; }
.contact-detail-head p { margin: 0; color: var(--as-muted); font-size: 12px; }
.contact-detail-close { width: 42px; height: 42px; border: 1px solid var(--as-border); border-radius: 10px; background: #f7fafc; color: #526b7c; font-size: 20px; cursor: pointer; }
.contact-detail-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.contact-detail-tile { border: 1px solid var(--as-border); border-radius: 12px; padding: 12px; background: #fbfdfe; }
.contact-detail-tile span { display: block; color: var(--as-muted); font-size: 11px; font-weight: 800; margin-bottom: 4px; }
.contact-detail-tile strong { font-size: 13px; overflow-wrap: anywhere; }
.contact-purpose { margin-top: 12px; padding: 12px; border-radius: 10px; background: #f5faff; border-left: 3px solid #3E86BC; color: #456779; font-size: 12px; line-height: 1.5; }
.contact-boundary { margin-top: 12px; padding: 11px 12px; border-radius: 10px; background: #f5f7f8; color: #657681; font-size: 12px; line-height: 1.5; }
.contact-detail-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
.contact-detail-link, .contact-detail-disabled { min-height: var(--as-touch-min); display: inline-flex; align-items: center; justify-content: center; border-radius: 10px; padding: 9px 13px; font: inherit; font-size: 13px; font-weight: 800; text-decoration: none; }
.contact-detail-link { background: #edf6fb; color: #276c9b; border: 1px solid #d2e5f0; }
.contact-detail-link:hover { background: #e2f0f8; }
.contact-detail-disabled { border: 1px solid #d8e0e5; background: #f5f7f8; color: #89959e; cursor: not-allowed; }
@media (max-width: 1199px) {
  .contacts-summary-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .contacts-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .contacts-filter-card { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .contact-detail-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 767px) {
  .contacts-hero { flex-direction: column; }
  .contacts-scope-pill { white-space: normal; }
  .contacts-summary-grid { grid-template-columns: 1fr; }
  .contacts-filter-card { grid-template-columns: 1fr; }
  .contacts-grid { grid-template-columns: 1fr; }
  .contacts-result-head { align-items: flex-start; flex-direction: column; }
  .contact-detail-grid { grid-template-columns: 1fr; }
  .contact-info-row { grid-template-columns: 1fr; gap: 3px; }
}
/* KDP_13_CONTACTS_PAGE_V1_0_END */

/* KDP_14_SETTINGS_PAGE_V1_0_START */
.settings-page { display: grid; gap: 16px; }
.settings-hero { padding: 20px; display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.settings-hero h2 { margin: 0 0 6px; font-size: 22px; }
.settings-hero p { margin: 0; color: var(--as-muted); max-width: 760px; line-height: 1.5; }
.settings-scope-pill { display: inline-flex; align-items: center; gap: 7px; min-height: 38px; padding: 8px 12px; border: 1px solid #cce0ee; border-radius: 999px; background: #f3f9fc; color: #315d7b; font-size: 12px; font-weight: 800; white-space: nowrap; }
.settings-scope-pill svg { width: 16px; height: 16px; }
.settings-summary-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.settings-summary-card { padding: 16px; display: flex; align-items: center; gap: 12px; min-width: 0; }
.settings-summary-icon { width: 44px; height: 44px; border-radius: 14px; display: grid; place-items: center; background: #e8f4fb; color: #267bb3; flex: 0 0 auto; }
.settings-summary-icon.success { background: #e6f6ef; color: #208866; }
.settings-summary-icon.warning { background: #fff4df; color: #bd7a15; }
.settings-summary-icon.neutral { background: #eef2f5; color: #617583; }
.settings-summary-icon svg { width: 22px; height: 22px; }
.settings-summary-label { color: var(--as-muted); font-size: 12px; font-weight: 700; }
.settings-summary-value { font-size: 18px; line-height: 1.15; font-weight: 800; margin-top: 2px; overflow-wrap: anywhere; }
.settings-summary-meta { margin-top: 3px; color: var(--as-muted); font-size: 11px; }
.settings-section { padding: 18px; }
.settings-section-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 14px; margin-bottom: 14px; }
.settings-section-head h3 { margin: 0 0 4px; font-size: 18px; }
.settings-section-head p { margin: 0; color: var(--as-muted); font-size: 12px; line-height: 1.5; }
.settings-lock-pill { display: inline-flex; align-items: center; gap: 6px; min-height: 32px; padding: 6px 9px; border-radius: 999px; background: #f3f6f8; color: #657985; font-size: 10px; font-weight: 900; white-space: nowrap; }
.settings-lock-pill svg { width: 14px; height: 14px; }
.settings-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.setting-row { min-height: 78px; border: 1px solid var(--as-border); border-radius: 12px; background: #fbfdfe; padding: 12px 13px; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 14px; align-items: center; }
.setting-copy { min-width: 0; }
.setting-copy strong { display: block; font-size: 13px; margin-bottom: 3px; }
.setting-copy span { display: block; color: var(--as-muted); font-size: 11px; line-height: 1.4; }
.setting-value { text-align: right; min-width: 100px; }
.setting-value strong { font-size: 13px; }
.setting-value small { display: block; margin-top: 3px; color: var(--as-muted); font-size: 10px; }
.setting-state { display: inline-flex; align-items: center; gap: 6px; min-height: 28px; padding: 5px 8px; border-radius: 999px; background: #e8f6ef; color: #277c5f; font-size: 10px; font-weight: 900; }
.setting-state.off { background: #f0f3f5; color: #687984; }
.setting-state svg { width: 13px; height: 13px; }
.settings-boundary { padding: 13px 14px; border-radius: 12px; border-left: 4px solid #3E86BC; background: #f5faff; color: #486a7e; font-size: 12px; line-height: 1.55; }
.settings-security-note { padding: 12px 13px; border-radius: 10px; background: #edf8f3; color: #356d58; font-size: 12px; line-height: 1.5; margin-top: 12px; }
.settings-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.settings-link, .settings-disabled { min-height: var(--as-touch-min); display: inline-flex; align-items: center; justify-content: center; border-radius: 10px; padding: 9px 13px; font: inherit; font-size: 13px; font-weight: 800; text-decoration: none; }
.settings-link { background: #edf6fb; color: #276c9b; border: 1px solid #d2e5f0; }
.settings-link:hover { background: #e2f0f8; }
.settings-disabled { border: 1px solid #d8e0e5; background: #f5f7f8; color: #89959e; cursor: not-allowed; }
@media (max-width: 1199px) {
  .settings-summary-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 767px) {
  .settings-hero { flex-direction: column; }
  .settings-scope-pill { white-space: normal; }
  .settings-summary-grid { grid-template-columns: 1fr; }
  .settings-grid { grid-template-columns: 1fr; }
  .setting-row { grid-template-columns: 1fr; }
  .setting-value { text-align: left; }
  .settings-section-head { flex-direction: column; }
}
/* KDP_14_SETTINGS_PAGE_V1_0_END */
