.permission-page.is-active { display: grid; grid-template-rows: auto minmax(0, 1fr); }
.permission-content { min-height: 0; padding: 16px; overflow: auto; }
.permission-overview { padding: 16px; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); }
.permission-overview-copy h2 { margin: 0 0 8px; font-size: 19px; line-height: 1.35; }
.permission-overview-copy > p:last-child { margin: 0; color: var(--text); font-size: 11px; line-height: 1.6; }
.permission-overview-stats { margin-top: 15px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; }
.permission-overview-stats span { padding: 10px; border-radius: 8px; background: var(--surface-subtle); }
.permission-overview-stats strong, .permission-overview-stats small { display: block; }
.permission-overview-stats strong { font-size: 14px; }
.permission-overview-stats small { margin-top: 3px; color: var(--muted); font-size: 8px; }
.permission-section-grid { margin-top: 12px; display: grid; gap: 8px; }
.permission-section-grid > button { min-height: 78px; padding: 11px; display: flex; align-items: center; gap: 10px; border: 1px solid var(--border); border-radius: 10px; text-align: left; background: var(--surface); }
.permission-section-grid > button:hover { border-color: #93c5fd; background: var(--primary-soft); }
.permission-section-icon { width: 34px; height: 34px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 8px; color: var(--primary); background: var(--primary-soft); }
.permission-section-icon .icon { width: 19px; height: 19px; stroke-width: 1.5; }
.permission-section-grid span { min-width: 0; flex: 1; }
.permission-section-grid strong, .permission-section-grid small, .permission-section-grid em { display: block; }
.permission-section-grid strong { font-size: 12px; }
.permission-section-grid small { margin-top: 3px; color: var(--text); font-size: 9px; }
.permission-section-grid em { margin-top: 5px; overflow: hidden; color: var(--muted); font-size: 8px; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.permission-section-grid b { color: var(--muted); font-size: 16px; }
.permission-section-head { display: flex; align-items: flex-start; gap: 10px; }
.permission-section-head > button { min-height: 30px; padding: 0 8px; border: 1px solid var(--border); border-radius: 7px; color: var(--text); background: var(--surface); font-size: 9px; }
.permission-section-head h2 { margin: 0; font-size: 19px; }
.permission-section-head > div > p:last-child { margin: 5px 0 0; color: var(--muted); font-size: 10px; }
.permission-page-tabs { margin: 14px 0 12px; display: flex; gap: 4px; overflow-x: auto; border-bottom: 1px solid var(--border); }
.permission-page-tabs button { padding: 9px 11px; flex: 0 0 auto; color: var(--muted); border-bottom: 2px solid transparent; font-size: 10px; font-weight: 700; }
.permission-page-tabs button.is-active { color: var(--primary); border-color: var(--primary); }
.permission-toolbar { margin-bottom: 10px; display: flex; align-items: center; gap: 7px; flex-wrap: wrap; }
.permission-toolbar > .search-field { width: 100%; }
.permission-filter-chips { display: flex; gap: 5px; overflow-x: auto; }
.permission-filter-chips button { min-height: 28px; padding: 0 8px; flex: 0 0 auto; border: 1px solid var(--border); border-radius: 7px; color: var(--muted); background: var(--surface); font-size: 8px; }
.permission-filter-chips button.is-active { color: var(--primary); border-color: #bfdbfe; background: var(--primary-soft); }
.permission-toolbar > .primary-button { margin-left: auto; }
.permission-toolbar-actions { margin-left: auto; display: flex; gap: 6px; }
.permission-toolbar-actions button { min-height: 34px; padding: 0 10px; font-size: 8px; }
.permission-master-detail { min-height: 0; display: grid; }
.permission-record-list { min-width: 0; overflow: hidden; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); }
.permission-record-list > header { min-height: 53px; padding: 10px 12px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--border); }
.permission-record-list > header strong, .permission-record-list > header small { display: block; }
.permission-record-list > header strong { font-size: 11px; }
.permission-record-list > header small { margin-top: 3px; color: var(--muted); font-size: 8px; }
.permission-record-list > header em { color: var(--muted); font-size: 8px; font-style: normal; }
.permission-record { width: 100%; min-height: 74px; padding: 10px 12px; display: flex; align-items: center; gap: 9px; border-bottom: 1px solid var(--border); text-align: left; }
.permission-record:last-child { border-bottom: 0; }
.permission-record:hover, .permission-record.is-selected { background: var(--primary-soft); }
.permission-record-main { min-width: 0; flex: 1; }
.permission-record-main > span { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.permission-record-main strong { font-size: 11px; }
.permission-record-main code { padding: 2px 4px; border-radius: 4px; color: var(--muted); background: var(--surface-subtle); font-size: 7px; }
.permission-record-main small { display: block; margin-top: 6px; overflow: hidden; color: var(--text); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.permission-record-side { flex: 0 0 auto; text-align: right; }
.permission-record-side time, .permission-record-side b { display: block; }
.permission-record-side time { color: var(--muted); font-size: 7px; }
.permission-record-side b { margin-top: 6px; color: var(--muted); font-size: 14px; }
.permission-status { padding: 3px 6px; border-radius: 5px; color: var(--text); background: var(--surface-subtle); font-size: 7px; font-weight: 700; }
.permission-status.is-success { color: var(--success); background: #f0fdf4; }
.permission-status.is-primary { color: var(--primary); background: var(--primary-soft); }
.permission-status.is-warning { color: var(--warning); background: #fff7ed; }
.permission-status.is-danger { color: var(--danger); background: #fef2f2; }
.permission-inline-detail { display: none; min-width: 0; overflow: auto; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); }
.permission-detail-empty { min-height: 280px; padding: 30px; display: grid; place-items: center; align-content: center; text-align: center; }
.permission-detail-empty strong { font-size: 13px; }
.permission-detail-empty p { max-width: 240px; margin: 7px 0 0; color: var(--muted); font-size: 9px; line-height: 1.5; }
.permission-detail-card > header { padding: 14px; display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; border-bottom: 1px solid var(--border); }
.permission-detail-card h2 { margin: 0; font-size: 16px; }
.permission-detail-card header code { display: block; margin-top: 5px; color: var(--muted); font-size: 8px; }
.permission-detail-tabs { padding: 8px 10px; display: flex; gap: 4px; overflow-x: auto; border-bottom: 1px solid var(--border); }
.permission-detail-tabs button { min-height: 29px; padding: 0 8px; flex: 0 0 auto; border-radius: 6px; color: var(--muted); font-size: 8px; }
.permission-detail-tabs button.is-active { color: var(--primary); background: var(--primary-soft); font-weight: 700; }
.permission-detail-body { padding: 13px; }
.permission-detail-fields { margin: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: var(--border); }
.permission-detail-fields > div { min-width: 0; padding: 9px; background: var(--surface); }
.permission-detail-fields dt { color: var(--muted); font-size: 8px; }
.permission-detail-fields dd { margin: 5px 0 0; overflow-wrap: anywhere; font-size: 10px; font-weight: 700; }
.permission-related-list { display: grid; gap: 7px; }
.permission-related-list button { min-height: 52px; padding: 9px; display: flex; align-items: center; text-align: left; border: 1px solid var(--border); border-radius: 8px; }
.permission-related-list button span { min-width: 0; flex: 1; }
.permission-related-list strong, .permission-related-list small { display: block; }
.permission-related-list strong { font-size: 10px; }
.permission-related-list small { margin-top: 4px; color: var(--muted); font-size: 8px; }
.permission-detail-note { padding: 14px; border-radius: 8px; background: var(--surface-subtle); }
.permission-detail-note strong { font-size: 11px; }
.permission-detail-note p { margin: 6px 0 0; color: var(--muted); font-size: 9px; line-height: 1.5; }
.permission-detail-card > footer { padding: 10px 13px; display: flex; justify-content: flex-end; gap: 7px; flex-wrap: wrap; border-top: 1px solid var(--border); }
.permission-detail-card > footer .primary-button, .permission-detail-card > footer .secondary-button, .permission-detail-card > footer .danger-button { min-height: 34px; font-size: 9px; }
.permission-list-empty { padding: 32px; color: var(--muted); text-align: center; font-size: 10px; }
.permission-detail-sheet #permissionDetailBody { margin: -4px -2px 0; }
#permissionActionBody .field textarea { width: 100%; padding: 10px 12px; resize: vertical; border: 1px solid var(--border); border-radius: 9px; color: var(--ink); background: var(--surface); }
.permission-action-form { display: grid; gap: 11px; }
.permission-action-form .field { margin: 0; }
.permission-upload { width: 100%; min-height: 76px; display: flex; align-items: center; justify-content: center; gap: 7px; border: 1px dashed var(--border-strong); border-radius: 9px; color: var(--primary); font-size: 9px; }
.permission-upload .icon { width: 16px; }
.permission-confirm-action { padding: 8px 4px 3px; text-align: center; }
.permission-confirm-action > .icon { width: 42px; height: 42px; padding: 11px; border-radius: 50%; color: var(--primary); background: var(--primary-soft); }
.permission-confirm-action h3 { margin: 11px 0 6px; font-size: 14px; }
.permission-confirm-action p { margin: 0; color: var(--muted); font-size: 9px; }
.permission-action-menu { display: grid; gap: 7px; }
.permission-action-menu > button { min-height: 60px; padding: 9px 10px; display: flex; align-items: center; gap: 9px; border: 1px solid var(--border); border-radius: 9px; text-align: left; }
.permission-action-menu > button > span:first-child { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 8px; color: var(--primary); background: var(--primary-soft); }
.permission-action-menu > button > span:nth-child(2) { min-width: 0; flex: 1; }
.permission-action-menu strong { font-size: 10px; }
.permission-action-menu .icon { width: 15px; }
.permission-action-menu > button > .icon { color: var(--muted); }

@media (min-width: 768px) {
  .device-pad .permission-content { padding: 22px 26px; }
  .device-pad .permission-overview { display: grid; grid-template-columns: minmax(0, 1fr) 330px; align-items: center; gap: 24px; }
  .device-pad .permission-overview-stats { margin-top: 0; }
  .device-pad .permission-section-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .device-pad .permission-toolbar > .search-field { width: min(320px, 42%); }
  .device-pad .permission-master-detail { grid-template-columns: minmax(330px, .85fr) minmax(380px, 1.15fr); gap: 12px; }
  .device-pad .permission-inline-detail { display: block; }
}
