/* Scoped to the gated policy host; uses the existing app theme tokens. */
#screen-policy > .policy-back { align-self: flex-start; margin: 1rem 1.25rem 0; }  /* K100 D14: «←» as on the other screens */
.policy-panel { width: 100%; max-width: 36rem; min-width: 0; margin: 0 auto; padding: 1.25rem; line-height: 1.5; overflow-wrap: anywhere; }
.policy-panel h2 { font-size: 1.4rem; margin-bottom: .35rem; }
.policy-panel h3 { font-size: 1.1rem; }
.policy-panel aside { background: var(--card); border: 1px solid var(--line); border-radius: .75rem; padding: 1rem; margin: 1rem 0; }
.policy-panel fieldset { min-width: 0; border: 1px solid var(--line); border-radius: .75rem; padding: .75rem 1rem; margin: 1rem 0; }
.policy-panel legend { padding: 0 .25rem; font-weight: 600; }
.policy-panel label { display: block; margin: 1rem 0; }
.policy-panel fieldset label { display: flex; align-items: center; justify-content: space-between; min-height: 44px; margin: .25rem 0; }
.policy-panel input[type=checkbox] { width: 1.2rem; height: 1.2rem; margin-inline: .5rem; accent-color: var(--terra); }
.policy-panel select, .policy-panel textarea { display: block; width: 100%; min-width: 0; box-sizing: border-box; margin-top: .5rem; padding: .75rem; font: inherit; color: var(--ink); background: var(--bg); border: 1px solid var(--line); border-radius: .5rem; }
.policy-panel textarea { min-height: 7rem; }
.policy-panel input[type=file] { display: block; width: 100%; min-width: 0; margin-top: .5rem; font: inherit; }
.policy-panel input[type=file]::file-selector-button { min-height: 44px; padding: .5rem .75rem; margin-right: .5rem; border: 1px solid var(--line); border-radius: .5rem; background: var(--card); color: var(--ink); font: inherit; cursor: pointer; }
.policy-panel button { display: block; margin: .75rem 0; min-height: 44px; padding: .75rem 1.25rem; font: inherit; border: 1px solid var(--line); border-radius: 999px; cursor: pointer; }
.policy-panel button:not(.btn-primary):not([type=submit]) { background: var(--card); color: var(--ink); }
.policy-panel button[type=submit] { background: var(--terra); color: #fff; border-color: transparent; font-weight: 600; }
.policy-panel button:disabled, .policy-panel input:disabled { opacity: .55; cursor: not-allowed; }
/* K036: the processed image before a clarification upload */
.policy-panel .policy-preview { margin: .75rem 0; padding: .75rem; border: 1px solid var(--line); border-radius: .75rem; }
.policy-panel .policy-preview img { display: block; max-width: 100%; max-height: 320px; width: auto; border-radius: .5rem; border: 1px solid var(--line); }
.policy-panel .policy-preview-review { border-color: var(--terra); }
