/* Signed-in workspace only. Marketing and extension pages retain their styles. */
#appFrame { font-size: 14px; line-height: 1.55; }
#appFrame .panel h2 { font-size: 24px; line-height: 1.25; letter-spacing: -.025em; }
#appFrame .panel h3 { font-size: 17px; line-height: 1.35; letter-spacing: -.01em; }
#appFrame .panel p, #appFrame .panel label, #appFrame .panel button,
#appFrame .panel input, #appFrame .panel select, #appFrame .panel textarea { font-size: 14px; line-height: 1.5; }
#appFrame .panel small { font-size: 13px; line-height: 1.5; font-weight: 400; }
#appFrame .panel .eyebrow { font-size: 11px; line-height: 1.4; letter-spacing: .09em; }
#appFrame .panel :is(input,select,textarea):not([type=checkbox]):not([type=radio]) { max-width: 100%; min-width: 0; border-radius: 8px; }
#appFrame .panel :is(input[type=checkbox],input[type=radio]) { width: 16px; height: 16px; flex-shrink: 0; }
#appFrame .panel label { gap: 8px; font-weight: 600; }
#appFrame .panel .section-heading { gap: 20px; margin-bottom: 22px; align-items: start; }
#appFrame .panel .section-heading p:not(.eyebrow) { max-width: 58ch; color: var(--muted); }
#appFrame .console-disclosure { margin: 14px 0; border-radius: 12px; }
#appFrame .console-disclosure > summary { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 16px 18px; font-size: 15px; line-height: 1.5; font-weight: 650; cursor: pointer; }
#appFrame .console-disclosure > summary::before { content: "›"; font-size: 20px; line-height: 1; color: var(--muted); }
#appFrame .console-disclosure[open] > summary::before { transform: rotate(90deg); }
#appFrame .console-disclosure > summary::marker { content: ""; }
#appFrame .console-disclosure > summary::-webkit-details-marker { display: none; }
#appFrame .console-disclosure > .dropdown-panel { padding: 18px; }
#appFrame .console-disclosure > summary:focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; }
#appFrame .rules-summary-note { font-size: 12px; font-weight: 400; color: var(--muted); margin-left: auto; }
#ruleCatalogPanel .category-catalog { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
#ruleCatalogPanel .category-choice-row { grid-template-columns: minmax(0,1fr); align-content: start; gap: 16px; padding: 18px; border-radius: 10px; }
#ruleCatalogPanel .category-card > div { min-width: 0; overflow-wrap: anywhere; }
#ruleCatalogPanel .category-card strong { font-size: 15px; line-height: 1.4; }
#ruleCatalogPanel .category-card small { font-size: 13px; margin-top: 6px; }
#ruleCatalogPanel .category-select-label { grid-template-columns: minmax(0,1fr) minmax(120px,150px); align-items: center; }
#ruleCatalogPanel .category-select-label span { font-size: 12px; font-weight: 600; }
#ruleCatalogPanel .category-search-toolbar { display: block; margin: 0 0 16px; }
#ruleCatalogPanel .category-search-toolbar label { min-width: 0; width: 100%; }
#ruleCatalogPanel .category-search-toolbar input { min-width: 0; width: 100%; }
#ruleCatalogPanel .policy-explainer { padding: 14px 16px; margin-bottom: 18px; border-radius: 8px; }
#ruleCatalogPanel .site-list-form { gap: 20px; margin: 0; }
#ruleCatalogPanel .site-list-form textarea { min-height: 150px; resize: vertical; }
#ruleCatalogPanel .policy-safeguard-grid { gap: 18px; }
#ruleCatalogPanel .policy-safeguard-grid > section { padding: 0; border: 0; background: transparent; }
#ruleCatalogPanel .policy-safeguard-grid .console-disclosure { margin: 0; }
#blockRulePreview .rule-preview-results { padding-left: 20px; }
#blockRulePreview .rule-preview-results li { margin: 10px 0; overflow-wrap: anywhere; }
#blockRulePreview [data-rule-warnings]:not(:empty) { padding: 14px; border: 1px solid #bc9243; border-radius: 8px; color: var(--text); background: var(--surface-muted); }
#blockRulePreview [data-rule-confirm-wrap] { display: flex; align-items: start; }
#blockRulePreview [data-rule-confirm-wrap][hidden] { display: none; }
@media (max-width: 900px) {
  #ruleCatalogPanel .category-catalog { grid-template-columns: minmax(0,1fr); }
  #appFrame .rules-summary-note { width: 100%; margin-left: 22px; }
  #appFrame .panel .section-heading { flex-wrap: wrap; }
}
@media (max-width: 600px) {
  #ruleCatalogPanel { padding: 16px; }
  #ruleCatalogPanel .console-disclosure > summary { padding: 12px; }
  #ruleCatalogPanel .console-disclosure > .dropdown-panel { padding: 12px; background: transparent; }
  #ruleCatalogPanel .category-choice-row { padding: 12px; }
}
#appFrame .access-request-card textarea { width: 100%; box-sizing: border-box; min-height: 64px; margin: 8px 0; }
