.site-header { position:relative; }
.save-site-toggle { position:absolute; top:4px; right:env(safe-area-inset-right,0px); z-index:2; writing-mode:vertical-rl; background:var(--red)!important; color:#fff!important; border:0!important; border-radius:5px 0 0 5px; min-width:44px; min-height:44px; padding:7px 12px!important; font:600 11px/1.2 Arial,Helvetica,sans-serif; }
.save-site-toggle svg,.save-mobile-label { display:none; }
.site-header .save-site-toggle span { padding:0; color:inherit; }
.save-site-toggle[hidden],.save-native[hidden],.standalone-back[hidden] { display:none!important; }
.save-drawer { position:fixed; inset:0 0 0 auto; margin:0; border:0; border-left:4px solid var(--red); padding:28px; width:min(420px,calc(100% - 24px)); max-width:calc(100% - 24px); height:100dvh; max-height:100dvh; overflow-y:auto; overscroll-behavior:contain; background:#fff; color:var(--ink); box-shadow:-12px 0 36px #0003; font:15px/1.65 Arial,Helvetica,sans-serif; }
.save-drawer::backdrop { background:#08111b99; }
.save-drawer[open] { animation:save-slide-in .18s ease-out; }
.save-drawer-head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.save-drawer h2 { font:600 24px/1.3 Arial,Helvetica,sans-serif; margin:0; }
.save-close { min-width:44px; min-height:44px; border:0; background:transparent; color:var(--ink); font:30px Arial,sans-serif; }
.save-drawer p { margin:16px 0; }
.save-drawer label { display:block; font-weight:600; margin-top:20px; }
.save-drawer select { width:100%; max-width:100%; min-height:44px; font:16px Arial,sans-serif; padding:10px; margin-top:7px; background:#fff; color:var(--ink); border:1px solid #aebbc9; border-radius:4px; }
.save-drawer h3 { font-size:18px; line-height:1.4; margin:24px 0 12px; }
.save-steps { padding-left:24px; }
.save-steps li { margin:12px 0; }
.save-native { margin-top:10px; padding:10px 14px; background:var(--red); color:#fff; border:0; border-radius:4px; min-height:44px; }
.save-status:empty { display:none; }
.save-online,.save-reassurance,.save-alternative,.save-status { font-size:13px; line-height:1.65; }
.save-reassurance { padding-top:16px; border-top:1px solid var(--line); color:var(--muted); }
.standalone-back { min-height:32px; background:transparent; border:0; color:var(--ink); }
@keyframes save-slide-in { from { transform:translateX(100%); } to { transform:translateX(0); } }
@media(max-width:600px) {
  .header-inner { display:grid; grid-template-columns:minmax(0,1fr); gap:0; padding:7px 78px 7px 16px; min-height:88px; }
  .header-inner .brand { width:170px; max-width:100%; }
  .site-header .header-inner nav { flex-direction:row; align-items:center; justify-content:flex-start; gap:16px; font-size:11px; }
  .site-header .header-inner nav>a { min-height:24px; }
  .site-header .header-inner nav button { min-height:24px; }
  .save-site-toggle { top:20px; right:max(4px,env(safe-area-inset-right,0px)); writing-mode:horizontal-tb; min-height:44px; padding:8px!important; display:inline-flex; align-items:center; gap:4px; font-size:12px; }
  .save-site-toggle svg { display:block; width:17px; height:17px; }
  .save-desktop-label { display:none; }
  .site-header .save-site-toggle .save-mobile-label { display:inline; }
  .save-drawer { padding:20px max(18px,env(safe-area-inset-right,0px)) max(20px,env(safe-area-inset-bottom,0px)) 18px; }
  .save-drawer h2 { font-size:22px; }
}
@media(prefers-reduced-motion:reduce) { .save-drawer[open] { animation:none; } }
@media print { .save-site-toggle,.save-drawer,.standalone-back { display:none!important; } }
