/* Shared styles for form, approval, admin and profile pages (loads after styles.css). */
.page{padding-block:clamp(40px,7vw,88px)}
.page .narrow{width:min(720px,100% - 2*var(--gut));margin-inline:auto}
.page h1{font-size:clamp(2.4rem,6vw,4rem);margin:0 0 14px}
.page .lede{color:var(--ink-dim);font-size:1.15rem;margin:0 0 32px;max-width:56ch}
.formcard{background:var(--bottle-2);border:1px solid var(--brass-deep);border-radius:20px;padding:clamp(20px,4vw,40px);}
.field{display:grid;gap:6px;margin:0 0 20px}
.field label,.field .lbl{font:700 .85rem/1.2 var(--body);color:var(--amber-soft)}
.field .hint{font-size:.92rem;color:var(--ink-dim);margin:0}
input[type=text],input[type=email],input[type=url],input[type=number],textarea,select{width:100%;font:inherit;color:var(--ink);background:rgba(0,0,0,.28);border:1px solid var(--brass-deep);border-radius:12px;padding:13px 14px}
textarea{min-height:140px;resize:vertical}
input:focus,textarea:focus,select:focus{outline:2px solid var(--amber);outline-offset:1px}
.check{display:flex;gap:12px;align-items:flex-start;margin:0 0 14px;line-height:1.45}
.check input{width:22px;height:22px;margin-top:2px;accent-color:var(--amber);flex:none}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.msg{padding:14px 16px;border-radius:12px;margin:0 0 20px;font-weight:600}
.msg.err{background:rgba(190,60,40,.18);border:1px solid #c8503a;color:#ffd2c8}
.msg.ok{background:rgba(70,150,100,.2);border:1px solid #4a9b6c;color:#d4f3e0}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}
.btn[disabled]{opacity:.55;cursor:wait;transform:none}
.epbox{border-left:4px solid var(--amber);padding:4px 0 4px 18px;margin:0 0 28px}
.epbox h2{font-size:clamp(1.8rem,4vw,2.6rem);margin:4px 0 10px}
.pill{display:inline-block;font:800 .72rem/1 var(--body);letter-spacing:.12em;text-transform:uppercase;padding:6px 10px;border-radius:999px;border:1px solid var(--brass)}
.pill.pending,.pill.new{color:var(--amber-soft)}
.pill.approved,.pill.use_on_air,.pill.scheduled{color:#bff0d3;border-color:#4a9b6c;background:rgba(70,150,100,.18)}
.pill.changes_requested,.pill.contacted{color:#ffe2a8;border-color:var(--amber)}
.pill.revoked,.pill.passed{color:var(--ink-dim);border-color:var(--line)}
/* admin */
.admin .wrap{width:min(1180px,100% - 2*var(--gut))}
.tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px;padding-bottom:12px}
.tabs button{font:700 .95rem/1 var(--body);color:var(--ink-dim);background:none;border:1px solid transparent;border-radius:999px;padding:11px 18px;cursor:pointer}
.tabs button[aria-selected=true]{color:#1a100a;background:var(--amber)}
.tabs .count{opacity:.75;margin-left:6px}
.tbl{display:grid;gap:12px}
.item{background:rgba(0,0,0,.25);border:1px solid var(--line);border-radius:14px;padding:16px 18px;display:grid;gap:8px}
.item h3{font-size:1.5rem;margin:0}
.item .meta{color:var(--ink-dim);font-size:.92rem}
.item .body{white-space:pre-wrap}
.item .tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:4px}
.item select{width:auto;padding:8px 10px}
.btn-sm{padding:10px 16px;font-size:.92rem}
.linkbox{display:flex;gap:10px;flex-wrap:wrap;align-items:center;background:rgba(0,0,0,.35);border:1px dashed var(--amber);border-radius:12px;padding:12px 14px;word-break:break-all}
.linkbox code{flex:1 1 260px;font-size:.9rem;color:var(--amber-soft)}
/* profiles */
.profile{display:grid;grid-template-columns:minmax(220px,340px) 1fr;gap:clamp(24px,5vw,64px);align-items:start}
.profile .tag{font:800 clamp(1.6rem,3.4vw,2.4rem)/1.05 var(--display);color:var(--amber-soft);margin:0 0 18px}
.profile .facts{display:grid;gap:10px;margin:22px 0}
.profile .facts div{display:grid;grid-template-columns:130px 1fr;gap:12px;padding-top:10px}
.profile .facts dt{font:700 .78rem/1.4 var(--body);color:var(--amber)}
.profile .facts dd{margin:0}
.draft-note{background:rgba(240,165,58,.12);border:1px dashed var(--amber);border-radius:12px;padding:12px 16px;margin:0 0 24px;color:var(--amber-soft)}
@media(max-width:760px){.row2{grid-template-columns:1fr}.profile{grid-template-columns:1fr}.profile .facts div{grid-template-columns:1fr;gap:2px}}
[hidden]{display:none!important}
.admin section{padding:0}

.family{margin:clamp(36px,6vw,72px) 0 0;padding:10px;background:#2f1b0f;border:2px solid var(--brass);border-radius:6px}
.family img{display:block;width:100%;height:auto;border-radius:2px}
.family figcaption{font:800 1.1rem/1 var(--display);letter-spacing:.06em;text-transform:uppercase;color:var(--amber-soft);text-align:center;padding:12px 0 4px}
.epbox p{white-space:pre-line}

.clips{margin:0 0 18px;padding-left:1.1em}.clips li{margin:6px 0}.epbox h3{font-size:1.4rem;margin:22px 0 6px}

.cutlist{display:grid;gap:4px}.cutlist .check{padding:10px 0}.cutlist b{color:var(--amber-soft);font-weight:700;margin-right:6px}
.clips{list-style:none;padding:0}.clip{background:var(--bottle);border-radius:var(--r);padding:16px 18px;margin:0 0 12px}
.clip-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.clip.cut strong{text-decoration:line-through;opacity:.6}.clip .why{display:block;margin-top:6px;color:var(--amber-soft)}
.btn-sm{padding:10px 16px;font-size:.95rem;min-height:44px}
.cutlist .check span,.cutlist .check{font-weight:500;color:var(--ink);font-size:1rem}.cutlist .check b{color:var(--amber-soft)}
