/* Club Owner Forms & Documents (Oct 17 2026): the same panel in the web app (/app/owner/forms) and in Admin v2
   (a Hunting Club's Documents and waivers). Neutral colours that sit on both; blaze orange for the main action.
   Every button and field is at least 44 px tall (touch), and nothing needs hover. */
.cf {
    --cf-accent: #E26B2B;
    --cf-line: color-mix(in srgb, currentColor 18%, transparent);
    --cf-soft: color-mix(in srgb, currentColor 5%, transparent);
    --cf-ok: #2e7d32;
    --cf-bad: #c62828;
    --cf-warn: #a35a00;
    display: grid;
    gap: 16px;
    max-width: 900px;
    font-size: 15px;
    line-height: 1.45;
}
@media (prefers-color-scheme: dark) {
    .cf { --cf-ok: #81c784; --cf-bad: #ef9a9a; --cf-warn: #ffb74d; }
}
.cf h2 { font-size: 17px; margin: 0 0 6px; }
.cf h3 { font-size: 14px; margin: 14px 0 6px; text-transform: uppercase; letter-spacing: .04em; opacity: .8; }
.cf-card { border: 1px solid var(--cf-line); border-radius: 12px; padding: 14px 16px; background: var(--cf-soft); min-width: 0; }
.cf-small { font-size: 13px; opacity: .78; }
.cf-muted { opacity: .7; }
.cf-note { border-left: 4px solid var(--cf-accent); padding: 10px 12px; background: var(--cf-soft); border-radius: 6px; margin: 0; }
.cf-ok { color: var(--cf-ok); font-weight: 600; margin: 0; }
.cf-error { color: var(--cf-bad); font-weight: 600; margin: 0; }
.cf-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.cf-list li { min-height: 44px; display: flex; align-items: center; gap: 8px; border-bottom: 1px solid var(--cf-line); }
.cf-list a { color: inherit; font-weight: 600; }
.cf-field { display: grid; gap: 4px; font-weight: 600; font-size: 14px; margin: 8px 0; }
.cf-field input, .cf-field select, .cf-field textarea, .cf-rename {
    min-height: 44px; font: inherit; font-weight: 400; padding: 8px 10px; border-radius: 8px;
    border: 1px solid var(--cf-line); background: transparent; color: inherit; width: 100%; box-sizing: border-box;
}
.cf-field textarea { min-height: 88px; font-family: ui-monospace, monospace; font-size: 13px; }
.cf-tick { display: flex; gap: 10px; align-items: flex-start; min-height: 44px; padding: 8px 0; font-weight: 600; }
.cf-tick input { width: 22px; height: 22px; flex: none; margin-top: 2px; accent-color: var(--cf-accent); }
.cf-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.cf-btn {
    min-height: 44px; min-width: 44px; padding: 8px 16px; border-radius: 10px; border: 1px solid var(--cf-line);
    background: transparent; color: inherit; font: inherit; font-weight: 600; cursor: pointer; display: inline-flex;
    align-items: center; justify-content: center; text-decoration: none; box-sizing: border-box;
}
.cf-btn.sm { padding: 6px 12px; font-size: 14px; }
.cf-btn.primary { background: var(--cf-accent); border-color: var(--cf-accent); color: #fff; }
.cf-btn:disabled { opacity: .5; cursor: default; }
.cf-btn:focus-visible, .cf-field input:focus-visible, .cf-field select:focus-visible { outline: 3px solid var(--cf-accent); outline-offset: 2px; }
.cf-file { position: relative; overflow: hidden; }
.cf-file input[type=file] { position: absolute; inset: 0; opacity: 0; cursor: pointer; width: 100%; }
.cf-docs, .cf-people, .cf-changes { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.cf-doc { display: grid; gap: 8px; padding: 10px 0; border-bottom: 1px solid var(--cf-line); }
.cf-doc.retired .cf-doc-main { opacity: .6; }
.cf-doc-main { display: grid; gap: 2px; min-width: 0; }
.cf-doc-main b { overflow-wrap: anywhere; }
.cf-doc-actions { display: flex; flex-wrap: wrap; gap: 6px; }
.cf-flag { color: var(--cf-warn); font-weight: 700; }
.cf-people li { display: flex; justify-content: space-between; gap: 12px; min-height: 44px; align-items: center; border-bottom: 1px solid var(--cf-line); }
.cf-people li > span:first-child { min-width: 0; overflow-wrap: anywhere; }
.cf-yes { color: var(--cf-ok); font-weight: 600; white-space: nowrap; }
.cf-no { color: var(--cf-bad); font-weight: 600; white-space: nowrap; }
.cf-head { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 12px; }
.cf-head h3 { margin: 0; flex: 1 1 auto; }
.cf-changes li { font-size: 14px; }
.cf-changes time { font-variant-numeric: tabular-nums; opacity: .75; margin-right: 6px; }
.cf-details summary { min-height: 44px; display: flex; align-items: center; cursor: pointer; font-weight: 600; }
.cf-backdrop { position: fixed; inset: 0; background: rgba(0, 0, 0, .45); z-index: 40; }
.cf-confirm {
    position: fixed; z-index: 41; left: 0; right: 0; bottom: 0; max-height: 85vh; overflow: auto;
    border-top: 4px solid var(--cf-accent); border-radius: 16px 16px 0 0; padding: 18px 16px calc(18px + env(safe-area-inset-bottom));
    background: Canvas; color: CanvasText; box-shadow: 0 -8px 30px rgba(0, 0, 0, .25);
}
@media (min-width: 760px) {
    .cf-confirm { left: 50%; right: auto; bottom: auto; top: 50%; transform: translate(-50%, -50%); width: min(560px, calc(100vw - 32px));
        border: 2px solid var(--cf-accent); border-radius: 14px; }
}
.cf-confirm h3 { text-transform: none; letter-spacing: 0; font-size: 17px; opacity: 1; margin: 0 0 8px; }
.cf-confirm dl { display: grid; grid-template-columns: max-content 1fr; gap: 4px 12px; margin: 0; }
.cf-confirm dt { font-weight: 600; opacity: .8; }
.cf-confirm dd { margin: 0; overflow-wrap: anywhere; }
.cf-check { margin-top: 10px; }
.cf-check ul { margin: 6px 0; padding-left: 18px; }
.cf-finding.high b { color: var(--cf-bad); }
.cf-finding.medium b { color: var(--cf-warn); }
@media (min-width: 760px) {
    .cf-doc { grid-template-columns: 1fr auto; align-items: center; }
    .cf-add { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
    .cf-add .cf-tick, .cf-add .cf-actions, .cf-add p { grid-column: 1 / -1; }
}
