*{box-sizing:border-box}
body{margin:0;background:#f4f1eb;color:#302b25;font:14px/1.5 Arial,sans-serif}
.shell{max-width:960px;margin:auto;padding:32px 20px}
.top{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d9d0c2;padding-bottom:16px;margin-bottom:28px;gap:12px;flex-wrap:wrap}
.brand{letter-spacing:.18em;font-size:13px}
.who{font-size:12px;color:#756e63}
.eyebrow,.label{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:#877351}
h1{font:400 34px Georgia,serif;margin:8px 0 12px}
h2{font:400 22px Georgia,serif;margin:0 0 12px}
.card{background:#fff;border:1px solid #e0d8ca;padding:24px;margin-bottom:20px}
label{display:block;margin-bottom:14px}
label .label{display:block;margin-bottom:6px}
input,select{width:100%;height:42px;padding:10px;font:14px Arial,sans-serif;color:#302b25;background:#faf9f6;border:1px solid #d9d1c4;border-radius:0}
input:focus,select:focus,textarea:focus{outline:1px solid #89734e;outline-offset:2px}
button{padding:11px 18px;border:1px solid #302b25;background:#302b25;color:#fff;font:13px Arial,sans-serif;cursor:pointer}
button.secondary{background:transparent;color:#302b25}
button:disabled{opacity:.5;cursor:not-allowed}
.row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.msg{min-height:20px;font-size:13px}
.msg.error{color:#a5483b}
.msg.ok{color:#4f6b3a}
.fine{font-size:12px;color:#83796b}
.qr{background:#fff;border:1px solid #e0d8ca;width:200px;height:200px;padding:8px}
.qr img{width:100%;height:100%}
code{background:#faf9f6;border:1px solid #e0d8ca;padding:2px 6px;font-size:13px;word-break:break-all}
[hidden]{display:none!important}
table{width:100%;border-collapse:collapse;font-size:13px}
th,td{text-align:left;padding:8px;border-bottom:1px solid #eee8de;vertical-align:top}
th{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#877351;font-weight:400}
.pass{color:#4f6b3a;font-weight:bold}
.fail{color:#a5483b;font-weight:bold}
textarea{width:100%;min-height:84px;padding:10px;font:14px Arial,sans-serif;color:#302b25;background:#faf9f6;border:1px solid #d9d1c4;border-radius:0;resize:vertical}
.program{border-top:1px solid #eee8de;padding-top:16px;margin-top:16px}
.program h3{font:400 18px Georgia,serif;margin:0 0 6px}
.pill{display:inline-block;padding:2px 8px;border:1px solid #d9d1c4;font-size:11px;letter-spacing:.06em}
.thread p{margin:0 0 12px}
.thread .meta{font-size:11px;color:#83796b}
.brand a{color:inherit;text-decoration:none}
.brand{display:flex;align-items:center;gap:10px}
.brand img.duck{width:26px;height:26px}

/* Tick boxes in our colors, not the browser blue (Lee, 20 Oct 2026). */
input[type=checkbox],input[type=radio]{accent-color:#302b25}

/* Studio bar (owner pages, 21 Oct 2026) */
.studio-nav{display:flex;gap:18px;font-size:13px;flex-wrap:wrap;align-items:center}.studio-nav a{color:#302b25;text-decoration:none;padding-bottom:4px;white-space:nowrap}.studio-nav a.on{border-bottom:1px solid #302b25}.studio-nav .count{display:inline-block;min-width:18px;padding:0 5px;margin-left:5px;background:#c49a3a;color:#fff;font-size:10px;line-height:18px;text-align:center;border-radius:9px}
#chat-slot:empty{display:none}
/* Two rows: brand + chat / email / sign out, then the tabs */
.studio-top{flex-wrap:wrap;row-gap:14px}.studio-top .brand a{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:inherit}.studio-top .studio-nav{order:3;flex-basis:100%;gap:24px;border-top:1px solid #e4ddd0;padding-top:12px}.studio-top .row{flex-wrap:nowrap;align-items:center;gap:12px}
