.reference-trigger{position:fixed;right:0;top:46%;z-index:52;min-height:108px;padding:13px 9px;border:1px solid #0c6b5c;border-right:0;border-radius:8px 0 0 8px;background:#0c6b5c;color:#fff;font:600 12px/1.2 var(--sans);letter-spacing:0;writing-mode:vertical-rl;cursor:pointer;box-shadow:0 7px 20px rgba(8,74,64,.18)}
.reference-trigger:hover{background:#084a40}
.reference-trigger:focus-visible,.reference-drawer button:focus-visible,.reference-drawer a:focus-visible{outline:3px solid rgba(12,107,92,.28);outline-offset:3px}
.reference-backdrop{position:fixed;inset:0;z-index:69;background:rgba(12,24,28,.26)}
.reference-backdrop[hidden]{display:none!important}
.reference-drawer{position:fixed;top:0;right:0;bottom:0;z-index:70;display:flex;width:min(430px,calc(100vw - 24px));padding:22px;flex-direction:column;border-left:1px solid var(--line);background:#f7faf9;box-shadow:-16px 0 40px rgba(20,40,45,.14);transform:translateX(105%);visibility:hidden;transition:transform .2s ease,visibility .2s ease}
body.reference-open{overflow:hidden}
body.reference-open .reference-drawer{transform:translateX(0);visibility:visible}
.reference-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.reference-head h2{margin:2px 0 0;font-family:var(--serif);font-size:24px;letter-spacing:0}
.reference-eyebrow{color:var(--pine);font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:0;text-transform:uppercase}
.reference-close{display:grid;width:34px;height:34px;place-items:center;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);font-size:20px;line-height:1;cursor:pointer}
.reference-close:hover{border-color:var(--pine);background:var(--pine-tint)}
.reference-intro{margin:14px 0;color:var(--ink-soft);font-size:13px}
.reference-case-tabs,.reference-section-tabs{display:grid;gap:7px}
.reference-case-tabs{grid-template-columns:1fr 1fr}
.reference-section-tabs{grid-template-columns:repeat(5,1fr);margin-top:10px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.reference-case-tabs button,.reference-section-tabs button{min-width:0;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink-soft);cursor:pointer}
.reference-case-tabs button{padding:9px 8px;font-size:12px;font-weight:600;line-height:1.35;overflow-wrap:anywhere}
.reference-section-tabs button{padding:7px 3px;font-size:10.5px}
.reference-case-tabs button.active,.reference-section-tabs button.active{border-color:var(--pine);background:var(--pine-tint);color:var(--pine-deep);font-weight:650}
.reference-case-tabs button.pending-review::after{content:"";display:inline-block;width:6px;height:6px;margin-left:6px;border-radius:50%;background:#b18b2d;vertical-align:middle}
.reference-content{flex:1;overflow:auto;padding:15px 3px 20px 0}
.reference-content h3{margin:0 0 8px;font-size:17px}
.reference-content h4{margin:17px 0 6px;color:var(--pine-deep);font-size:13px}
.reference-content p{margin:0;color:var(--ink-soft);font-size:13px}
.reference-content ul{margin:8px 0 0;padding-left:19px;color:var(--ink-soft);font-size:13px}
.reference-content li{margin-bottom:7px}
.reference-overview{display:flex;flex-direction:column;gap:13px}
.reference-overview .reference-review-note{color:#725817;font-size:12px;font-weight:650}
.reference-note{padding:12px;border-left:3px solid var(--pine);border-radius:0 7px 7px 0;background:var(--pine-tint)}
.reference-deliverables{display:grid;gap:0}
.reference-deliverable{padding:13px 0;border-bottom:1px solid var(--line-soft)}
.reference-deliverable h4{margin:0 0 5px;font-size:14px}
.reference-files{display:flex;margin-top:8px;flex-wrap:wrap;gap:5px}
.reference-files b{width:100%;color:var(--ink-faint);font-size:10.5px;text-transform:uppercase}
.reference-files code{max-width:100%;padding:3px 5px;overflow-wrap:anywhere;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--pine-deep);font-family:var(--mono);font-size:10.5px}
.reference-safety{display:grid;gap:10px}
.reference-safety-rule{display:grid;gap:8px;padding:12px;border-left:3px solid #c66b65;background:#fbf2f1}
.reference-safety-rule.human{border-left-color:#b18b2d;background:#faf7eb}
.reference-safety-rule>strong{color:var(--safe-red,#9f3a38);font-size:12px}
.reference-safety-rule.human>strong{color:#6f5818}
.reference-safety-rule div{font-size:12.5px;line-height:1.55}
.reference-safety-rule b{display:block;margin-bottom:2px;color:var(--ink);font-size:10.5px;text-transform:uppercase}
.reference-safety-rule span{color:var(--ink-soft)}
.reference-stage-risk-title{margin-top:12px!important}
.reference-stage-list{display:flex;flex-direction:column;gap:9px}
.reference-stage{overflow:hidden;border:1px solid var(--line);border-radius:7px;background:#fff}
.reference-stage summary{display:flex;align-items:center;gap:9px;padding:11px 12px;cursor:pointer;list-style:none}
.reference-stage summary::-webkit-details-marker{display:none}
.reference-stage summary span{color:var(--pine);font-family:var(--mono);font-size:10.5px;font-weight:600}
.reference-stage summary strong{font-size:12.5px}
.reference-stage-body{display:grid;gap:9px;padding:11px 12px;border-top:1px solid var(--line-soft);background:#fafcfb}
.reference-stage-body div{font-size:12.5px;color:var(--ink-soft)}
.reference-stage-body b{display:block;margin-bottom:2px;color:var(--ink);font-size:10.5px;text-transform:uppercase}
.reference-stage-body .danger{padding-left:9px;border-left:2px solid #d7aaa7;color:#8d3f3b}
.reference-actions{display:flex;flex-wrap:wrap;gap:8px;padding-top:13px;border-top:1px solid var(--line)}
.reference-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 11px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--pine-deep);font-size:12px;font-weight:600;text-decoration:none}
.reference-actions a:hover{border-color:var(--pine);background:var(--pine-tint)}
.reference-action-disabled{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 11px;border:1px solid #d7dfdd;border-radius:7px;background:#f2f5f4;color:var(--ink-faint);font-size:12px;font-weight:600;cursor:not-allowed}

@media(max-width:720px){
  .reference-trigger{top:auto;right:14px;bottom:var(--floating-controls-bottom,220px);min-height:42px;padding:9px 12px;border-right:1px solid #0c6b5c;border-radius:8px;writing-mode:horizontal-tb}
  .reference-drawer{top:auto;left:0;width:100%;height:min(82vh,720px);padding:18px;border-top:1px solid var(--line);border-left:0;transform:translateY(105%)}
  body.reference-open .reference-drawer{transform:translateY(0)}
}

@media(max-width:440px){.reference-section-tabs{grid-template-columns:repeat(3,1fr)}}
@media(prefers-reduced-motion:reduce){.reference-drawer{transition:none}}
