/* V2 extends the existing navy / gold interface. */
.tabs{grid-template-columns:repeat(6,minmax(0,1fr))}
.tab,.btn,.langbtn{cursor:pointer}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #a77b1f;outline-offset:3px}
.btn:disabled{cursor:not-allowed;opacity:.55}
[hidden]{display:none!important}
.v2-eyebrow{font-size:11px;font-weight:800;letter-spacing:1.5px;color:#87621a;margin-bottom:8px}
.v2-intro{max-width:760px;line-height:1.6}
.v2-card{border-top:3px solid var(--gold)}
.v2-admin-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px 0;padding:14px;border:1px solid #d4b775;border-radius:12px;background:#fffaf0}
.v2-admin-row{min-width:0;margin:16px 0;border:1px solid var(--line);border-radius:10px;padding:14px;overflow-wrap:anywhere}
.v2-admin-row legend{font-weight:700;padding:0 6px}
.v2-admin-editor textarea{min-height:72px;resize:vertical;width:100%;box-sizing:border-box}
.v2-admin-actions{flex-wrap:wrap;margin-top:16px}
.v2-admin-preview{overflow-wrap:anywhere}
.calendar-schedule h3,.v2-admin-editor h3{overflow-wrap:anywhere}
.v2-schedule-summary{border:1px solid #d4b775;padding:14px;border-radius:10px;background:#fffaf0}
.v2-schedule-summary dl{display:grid;grid-template-columns:minmax(100px,1fr) 1fr;gap:8px;margin-bottom:0}
.v2-schedule-summary dt{font-weight:700}
.v2-schedule-summary dd{margin:0;overflow-wrap:anywhere}
@media(max-width:600px){.v2-admin-toolbar{align-items:stretch;flex-direction:column}.v2-admin-editor .grid,.calendar-schedule .grid,.v2-schedule-summary dl{grid-template-columns:1fr}.v2-admin-actions .btn{width:100%}}
.v2-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}
.v2-heading h2{margin-bottom:6px}
.v2-badge{display:inline-flex;align-items:center;gap:5px;border:1px solid #d4b775;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:800;white-space:nowrap;background:#fffaf0;color:#634815}
.v2-capacity{padding:12px;border:1px solid var(--line);border-radius:10px;background:#f6f9fd;line-height:1.55;grid-column:1/-1}
.v2-result{margin:18px 0 0;padding-top:16px;border-top:1px solid var(--line)}
.v2-result .summary{grid-template-columns:repeat(3,minmax(0,1fr))}
.v2-result .metric strong{font-size:22px;color:var(--navy);overflow-wrap:anywhere}
.v2-gauge{margin:16px 0;background:#f6f9fd;border:1px solid var(--line);padding:14px;border-radius:12px}
.v2-gauge-labels{display:flex;justify-content:space-between;gap:10px;line-height:1.5;font-size:12px}
.v2-gauge-track{height:14px;border:1px solid #bcc9dc;border-radius:99px;background:#fff;overflow:hidden;margin:10px 0}
.v2-gauge-fill{height:100%;background:var(--navy);width:var(--fill)}
.v2-gauge.exceeded .v2-gauge-fill{background:#a34816}
.v2-warning{padding:12px 14px;border:1px solid #c28b50;border-radius:10px;background:#fff6e8;color:#713c16;font-size:13px;line-height:1.6;margin:12px 0}
.v2-message{font-size:13px;line-height:1.6;margin-top:10px;overflow-wrap:anywhere}
.v2-note{font-size:12px;color:#4b5e77;line-height:1.6;margin:12px 0 0}
.v2-origin{padding:10px 12px;background:#eef5ff;border-radius:9px;font-size:12px;line-height:1.6;margin:14px 0}
.v2-protocol-controls{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:12px;margin:16px 0}
.v2-protocol-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.v2-protocol{margin:0;min-width:0;box-shadow:none}
.v2-protocol h3{overflow-wrap:anywhere;margin:10px 0}
.v2-protocol .actions{margin-top:14px}
.v2-protocol-meta{display:flex;flex-wrap:wrap;gap:10px;color:#586a82;font-size:12px;line-height:1.5}
.v2-protocol summary{cursor:pointer;padding:10px 0;font-weight:700;font-size:13px;line-height:1.5}
.v2-protocol-row{padding:14px 0;border-top:1px solid var(--line);line-height:1.5}
.v2-protocol-row h4{margin:0 0 8px;font-size:14px}
.v2-protocol-row dl{display:grid;grid-template-columns:120px minmax(0,1fr);gap:8px;margin:10px 0;font-size:12px}
.v2-protocol-row dt{color:#596c83}.v2-protocol-row dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.v2-literature{border-top:1px solid var(--line);margin-top:12px;padding-top:12px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.6}
.v2-saved-list{display:grid;gap:10px;margin-top:12px}
.v2-saved-item{padding:12px;border:1px solid var(--line);border-radius:10px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;line-height:1.6}
.v2-saved-item strong{overflow-wrap:anywhere}
.v2-record-grid{margin:14px 0}
.v2-record-grid textarea{min-height:80px;resize:vertical}
textarea{width:100%;padding:12px;border:1px solid #bdc9d8;border-radius:9px;margin-top:6px;font:inherit;background:#fff}
.modal-card:has(.v2-record){max-width:680px}
.v2-record .actions{position:sticky;bottom:-18px;background:#fff;padding:14px 0 8px;border-top:1px solid var(--line)}
.v2-empty{padding:28px 16px;text-align:center;background:#f6f9fd;border:1px dashed #bdc9d8;border-radius:12px;line-height:1.6}
.v2-meta-line{font-size:12px;color:#596c83;margin-top:6px;line-height:1.5;overflow-wrap:anywhere}
.v2-count{font-size:12px;color:#586a82;line-height:1.6}
.v2-source-review{margin-top:14px;border:1px solid #c9a24b;border-radius:10px;padding:12px;background:#fffaf0}
.v2-source-review>summary{color:#634815}
.v2-source-warning{font-size:13px;font-weight:700;color:#634815;line-height:1.6;margin:8px 0}
.v2-source-preserved{font:inherit;font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere;margin:10px 0;padding:12px;background:#fff;border:1px solid #dce4ef;border-radius:8px}
.schedule-note{font-size:13px;color:#4b5e77;line-height:1.6}
@media(max-width:700px){.tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.tab{min-height:44px}.v2-protocol-grid{grid-template-columns:1fr}.v2-heading{flex-direction:column}.v2-result .summary{grid-template-columns:repeat(2,minmax(0,1fr))}.v2-saved-item{flex-direction:column;align-items:stretch}.v2-saved-item .btn{width:100%}}
@media(max-width:520px){.v2-protocol-controls,.v2-record-grid,.v2-calculator-grid{grid-template-columns:1fr}.v2-protocol-row dl{grid-template-columns:1fr;gap:4px}.v2-protocol-row dd{margin-bottom:5px}.v2-actions .btn{width:100%;flex:auto}.v2-result .metric strong{font-size:19px}.modal{padding:9px}.modal-card{padding:14px;max-height:94dvh}.v2-record .actions{bottom:-14px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
