/* Post-login phone: SAME locked frame as #login-v2 (login-v2.css FINAL block), copied, not modified. */
#pl-phone[hidden], #pl-glass[hidden] { display: none !important; }
#pl-glass { position: fixed; z-index: 8999; top: 0; bottom: 0; left: 0;
  width: min(calc(min(600px, calc(100vh - 48px)) * 0.4922 + 100px), 100vw); pointer-events: none;
  background: rgba(4,12,28,.40); border-right: 1px solid rgba(180,220,255,.22);
  box-shadow: .75rem 0 3rem rgba(0,0,0,.35);
  backdrop-filter: blur(1.15rem) saturate(1.2); -webkit-backdrop-filter: blur(1.15rem) saturate(1.2); }
#pl-phone { --ph: min(600px, calc(100vh - 48px));
  position: fixed; z-index: 9000; top: 50%; left: 50px; transform: translateY(-50%);
  height: var(--ph); width: calc(var(--ph) * 0.4922); box-sizing: border-box; overflow: hidden;
  display: flex; flex-direction: column; align-items: stretch;
  border-radius: calc(var(--ph) * 0.083); border: calc(var(--ph) * 0.012) solid #0b0c0f;
  outline: 2px solid #4a4d55; outline-offset: 0;
  background:
    radial-gradient(ellipse 70% 40% at 25% 22%, rgba(40,150,140,.55), transparent 70%),
    radial-gradient(ellipse 60% 45% at 80% 48%, rgba(120,50,170,.6), transparent 72%),
    radial-gradient(ellipse 70% 35% at 45% 80%, rgba(45,75,170,.55), transparent 75%),
    linear-gradient(180deg, #18324a 0%, #1d2a52 50%, #1b2560 100%);
  box-shadow: 0 0 0 4px #2a2c31, 0 18px 50px rgba(0,0,0,.55);
  padding: calc(var(--ph) * 0.045) calc(var(--ph) * 0.045) 0;
  font-family: "Montserrat", "Helvetica Neue", Arial, sans-serif; color: #fff; }
#pl-phone::before { content: ""; position: absolute; top: calc(var(--ph) * 0.012); left: 50%; transform: translateX(-50%);
  width: calc(var(--ph) * 0.123); height: calc(var(--ph) * 0.036); border-radius: 99px; background: #000; }
#pl-phone .lv2-status { position: absolute; top: calc(var(--ph) * 0.02); left: calc(var(--ph) * 0.06); right: calc(var(--ph) * 0.06);
  display: flex; justify-content: space-between; font: 600 calc(var(--ph) * 0.0145) -apple-system, "Helvetica Neue", Arial, sans-serif; }
#pl-phone .lv2-status span:last-child { font-size: calc(var(--ph) * 0.013); }
#pl-phone .lv2-status i { display: inline-block; width: 3px; height: 8px; background: #fff; border-radius: 1px; vertical-align: -1px; }
#pl-phone .pl-mark { margin: calc(var(--ph) * 0.045) 0 0; text-align: center; white-space: nowrap; font-weight: 300;
  font-size: calc(var(--ph) * 0.025); letter-spacing: .5em; text-indent: .5em; }
#pl-phone .pl-mark small { font-size: 1em; letter-spacing: .05em; }
#pl-phone .pl-mark--bottom { flex: 0 0 calc(var(--ph) * 0.075); margin: 0; display: flex; align-items: center; justify-content: center;
  line-height: 1; font-size: calc(var(--ph) * 0.019); letter-spacing: .38em; text-indent: .38em; padding-top: calc(var(--ph) * 0.0023); }
#pl-phone .pl-centre { flex: 0 0 auto; margin: calc(var(--ph) * 0.103) 0 calc(var(--ph) * 0.037); }
#pl-phone .pl-centre p, #pl-phone .pl-call-caps p.pl-cap { margin: 0; text-align: center; font-weight: 200; font-synthesis: none; letter-spacing: .01em;
  font-size: calc(var(--ph) * 0.035); line-height: 1.08; padding: 0 4px; text-shadow: 0 2px 14px rgba(0,0,0,.35); }
#pl-phone .pl-controls { flex: 1 1 auto; display: flex; flex-direction: column; gap: calc(var(--ph) * 0.015); min-height: 0; }
#pl-phone .pl-sp { flex: 1 1 auto; }
#pl-phone button { font-family: inherit; color: #fff; cursor: pointer; margin: 0; }
/* the ONLY red outline on the phone */
#pl-phone .pl-rf { display: block; width: 100%; text-align: left; border: 1px solid #e0402e; border-radius: 6px; padding: 7px;
  background: rgba(6,10,24,.35); }
#pl-phone .pl-rf[hidden] { display: none; }
#pl-phone .pl-rf:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
#pl-phone .pl-rf-ban { display: block; background: #df3b26; color: #fff; text-align: center; font-weight: 400; font-size: calc(var(--ph) * 0.0317);
  letter-spacing: .04em; padding: 5px 0; border-radius: 2px; }
#pl-phone .pl-rf-body { display: block; margin-top: 7px; padding: 8px 10px; border-radius: 6px; background: rgba(6,10,24,.55); border: 1px solid rgba(255,255,255,.12); }
#pl-phone .pl-rf-body b { display: block; font-weight: 600; font-size: calc(var(--ph) * 0.0217); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#pl-phone .pl-rf-body span { display: block; font-weight: 200; font-size: calc(var(--ph) * 0.02); color: rgba(255,255,255,.8); margin-top: 3px;
  overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
/* three identical glass buttons: thin white border, never red/orange */
#pl-phone .pl-gbar { position: relative; height: calc(var(--ph) * 0.06); box-sizing: border-box; border-radius: 11px;
  border: 1px solid rgba(255,255,255,.55) !important; background: rgba(255,255,255,.08); box-shadow: none !important; outline: none;
  display: grid; place-items: center; font-weight: 700; font-size: calc(var(--ph) * 0.019); letter-spacing: .16em; text-indent: .16em; }
#pl-phone .pl-gbar:hover { background: rgba(255,255,255,.14); }
#pl-phone .pl-gbar:focus-visible { box-shadow: 0 0 0 2px rgba(255,255,255,.85) !important; }
#pl-phone .pl-orb { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); width: 24px; height: 24px; border-radius: 50%;
  background: radial-gradient(circle at 35% 35%, #bfe3ff, #3b8cff 45%, #1747b8 80%); box-shadow: 0 0 10px rgba(80,160,255,.8); }
#pl-phone .pl-orb::after { content: ""; position: absolute; inset: 7px 5px; background: repeating-linear-gradient(90deg,#fff 0 1.5px,transparent 1.5px 3.5px);
  -webkit-mask: radial-gradient(ellipse 50% 50%,#000 60%,transparent 100%); opacity: .9; }
/* the post-login phone covers the old left sidebar content */
body.pl-phone-on .page-two-phone-glass > * { visibility: hidden; }
@media (max-width: 600px) { #pl-phone, #pl-glass { display: none !important; } }
/* Fish occlusion for the guide run (marina-choreo guideActive): behind the real panel, then pops out by Start */
body.pl-phone-on .page-two-white { position: relative; z-index: 20; }
body.pl-phone-on #page-two-marina-btn:not(.is-behind) { z-index: 40 !important; }
body.pl-phone-on #page-two-marina-btn.is-behind { z-index: -1 !important; }
@keyframes pl-pop { 0% { opacity: 0; filter: blur(3px); } 100% { opacity: 1; filter: none; } }
@media (prefers-reduced-motion: reduce) { body.pl-phone-on #page-two-marina-btn.is-popping .page-two-fish { animation: none; } }

/* ================= iPad main area (Spencer 2026-10-12): same UI language as the phone ================= */
/* Background = the ORIGINAL login video (#marina-loop, assets/marina-globe-loop.mp4, styles.css .cinema-video) showing through.
   22c714f had replaced it with a static, re-positioned poster image; restored 2026-10-12. */
body.pl-phone-on #page-two-screen { background: transparent !important; }
body.pl-phone-on #cinema { display: block !important; pointer-events: none; } /* same element, file and .cinema-video styling as the login */
body.pl-phone-on #cinema .cinema-fish, body.pl-phone-on #cinema .cinema-labels { display: none !important; }
body.pl-phone-on .page-two-phone-col, body.pl-phone-on .page-two-phone-glass { background: transparent !important; box-shadow: none !important; border: 0 !important; }
body.pl-phone-on .page-two-white { background: transparent !important; box-shadow: none !important; }
body.pl-phone-on .page-two-white::before { content: ""; position: fixed; z-index: 0; pointer-events: none;
  left: calc(min(600px, calc(100vh - 48px)) * 0.4922 + 100px + 56px); right: 44px; top: 44px; bottom: 44px;
  border-radius: 44px; border: 12px solid #0b0c0f; outline: 2px solid #4a4d55;
  box-shadow: 0 0 0 4px #2a2c31, 0 18px 50px rgba(0,0,0,.55);
  background:
    radial-gradient(ellipse 60% 45% at 18% 20%, rgba(40,150,140,.50), transparent 70%),
    radial-gradient(ellipse 55% 50% at 82% 45%, rgba(120,50,170,.55), transparent 72%),
    radial-gradient(ellipse 70% 40% at 45% 85%, rgba(45,75,170,.50), transparent 75%),
    linear-gradient(180deg, rgba(24,50,74,.96) 0%, rgba(29,42,82,.96) 50%, rgba(27,37,96,.96) 100%); }
body.pl-phone-on .page-two-white::after { /* front camera dot, no home bar */
  content: ""; position: fixed; z-index: 0; pointer-events: none; top: 48px; left: calc((min(600px, calc(100vh - 48px)) * 0.4922 + 156px + 100vw - 44px) / 2);
  width: 6px; height: 6px; border-radius: 50%; background: #1d1f25; transform: translateX(-50%); }
body.pl-phone-on .angel-client-home { position: fixed !important; z-index: 1; box-sizing: border-box;
  left: calc(min(600px, calc(100vh - 48px)) * 0.4922 + 156px + 12px + 30px) !important; right: calc(44px + 12px + 30px) !important;
  top: calc(44px + 12px + 26px) !important; bottom: calc(44px + 12px + 92px) !important; width: auto !important; height: auto !important;
  margin: 0 !important; padding: 0 6px 0 0 !important; overflow-y: auto; background: transparent !important; box-shadow: none !important; border: 0 !important;
  color: #fff; font-family: "Montserrat", sans-serif; scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.25) transparent; }
body.pl-phone-on .angel-client-home h1 { color: #fff !important; font-weight: 200 !important; font-size: 34px !important; letter-spacing: .01em; }
body.pl-phone-on .angel-client-home .angel-home-count { color: #ff8a7a !important; }
body.pl-phone-on .angel-client-home .angel-home-actions button { background: rgba(255,255,255,.08) !important; color: #fff !important;
  border: 1px solid rgba(255,255,255,.35) !important; border-radius: 99px !important; font-weight: 400 !important; box-shadow: none !important; }
body.pl-phone-on .angel-client-home .angel-home-actions button:hover { background: rgba(255,255,255,.16) !important; }
body.pl-phone-on .angel-client-home .angel-home-flag, body.pl-phone-on .angel-client-home .angel-home-upload,
body.pl-phone-on .angel-client-home .angel-latest-download, body.pl-phone-on .angel-client-home .angel-home-files {
  background: rgba(6,10,24,.55) !important; border: 1px solid rgba(255,255,255,.16) !important; border-radius: 14px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.07) !important; color: #fff !important; }
body.pl-phone-on .angel-client-home .angel-home-flag.pl-active { border: 2px solid #e0402e !important; box-shadow: 0 0 0 4px rgba(224,64,46,.16), inset 0 1px 0 rgba(255,255,255,.07) !important; }
body.pl-phone-on .angel-client-home h2, body.pl-phone-on .angel-client-home .angel-home-title { color: #fff !important; font-weight: 600 !important; }
body.pl-phone-on .angel-client-home p, body.pl-phone-on .angel-client-home .angel-home-action, body.pl-phone-on .angel-client-home .angel-home-step,
body.pl-phone-on .angel-client-home .angel-home-note, body.pl-phone-on .angel-client-home label, body.pl-phone-on .angel-client-home .angel-home-status { color: rgba(255,255,255,.72) !important; font-weight: 300; }
body.pl-phone-on .angel-client-home select { background: rgba(6,10,24,.6); color: #fff; border: 1px solid rgba(255,255,255,.3); border-radius: 8px; }
body.pl-phone-on .angel-client-home .angel-home-flag-icon { background: #d93a2b !important; color: #fff !important; box-shadow: 0 2px 6px rgba(217,58,43,.45); }
body.pl-phone-on .angel-client-home .angel-home-snooze { background: rgba(255,255,255,.08) !important; color: rgba(255,255,255,.88) !important;
  border: 1px solid rgba(255,255,255,.25) !important; border-radius: 99px !important; box-shadow: none !important; }
body.pl-phone-on .angel-client-home .angel-home-start { background: transparent !important; color: #ff9a8c !important; border: 1.5px solid #e0402e !important;
  border-radius: 99px !important; box-shadow: none !important; animation: none !important; }
body.pl-phone-on .angel-client-home .angel-home-start[data-marina-start] { background: linear-gradient(180deg,#e2483a,#c22f22) !important; color: #fff !important;
  border: 2px solid #ff7a1a !important; animation: pl-pulse 1.8s ease-in-out infinite !important; box-shadow: 0 0 14px 2px rgba(255,122,26,.6) !important; }
@keyframes pl-pulse { 0%,100% { box-shadow: 0 0 0 0 rgba(255,122,26,0); border-color: rgba(255,122,26,.6); } 50% { box-shadow: 0 0 14px 2px rgba(255,122,26,.6); border-color: #ff7a1a; } }
@media (prefers-reduced-motion: reduce) { body.pl-phone-on .angel-client-home .angel-home-start[data-marina-start] { animation: none !important; } }
body.pl-phone-on .page-two-white-bottom { position: fixed !important; z-index: 1; left: calc(min(600px, calc(100vh - 48px)) * 0.4922 + 156px + 12px + 30px) !important;
  right: calc(44px + 12px + 30px) !important; bottom: calc(44px + 12px + 26px) !important; top: auto !important; width: auto !important; margin: 0 !important; padding: 0 !important; }
body.pl-phone-on #page-two-chat-form { background: rgba(6,10,24,.55) !important; border: 1px solid rgba(255,255,255,.28) !important; box-shadow: inset 0 1px 0 rgba(255,255,255,.08) !important;
  backdrop-filter: blur(6px); border-radius: 99px !important; }
body.pl-phone-on #page-two-chat-form input, body.pl-phone-on #page-two-chat-form textarea { background: transparent !important; color: #fff !important; font-family: "Montserrat", sans-serif; font-weight: 300; }
body.pl-phone-on #page-two-chat-form input::placeholder, body.pl-phone-on #page-two-chat-form textarea::placeholder { color: rgba(255,255,255,.6) !important; }
/* order pop-up: glass, locked phone language */
#pl-order[hidden] { display: none !important; }
#pl-order { position: fixed; z-index: 9500; left: calc(min(600px, calc(100vh - 48px)) * 0.4922 + 156px + (100vw - (min(600px, calc(100vh - 48px)) * 0.4922 + 156px) - 44px) / 2); top: 50%; transform: translate(-50%, -50%); width: 300px; box-sizing: border-box;
  padding: 20px 20px 16px; border-radius: 16px; background: rgba(6,10,24,.78); border: 1px solid rgba(255,255,255,.35);
  backdrop-filter: blur(10px) saturate(1.2); -webkit-backdrop-filter: blur(10px) saturate(1.2); box-shadow: 0 18px 50px rgba(0,0,0,.5);
  color: #fff; font-family: "Montserrat", sans-serif; text-align: center; }
#pl-order p { margin: 0 0 14px; font-weight: 200; font-size: 18px; line-height: 1.2; }
#pl-order button { font: 700 12px "Montserrat", sans-serif; letter-spacing: .16em; text-indent: .16em; color: #fff; cursor: pointer;
  height: 34px; min-width: 110px; border-radius: 11px; border: 1px solid rgba(255,255,255,.55); background: rgba(255,255,255,.08); }
#pl-order button:focus-visible { box-shadow: 0 0 0 2px rgba(255,255,255,.85); outline: none; }
/* dive splash: ripple on the active card */
body.pl-phone-on .angel-client-home .angel-home-flag { position: relative; overflow: hidden; }
body.pl-phone-on .angel-client-home .angel-home-flag.pl-splash::after { content: ""; position: absolute; left: 42%; top: 50%; width: 20px; height: 20px;
  margin: -10px 0 0 -10px; border-radius: 50%; border: 2px solid rgba(160,220,255,.85); pointer-events: none; animation: pl-ripple .9s ease-out forwards; }
@keyframes pl-ripple { 0% { transform: scale(.3); opacity: 1; } 100% { transform: scale(7); opacity: 0; } }
@media (prefers-reduced-motion: reduce) { body.pl-phone-on .angel-client-home .angel-home-flag.pl-splash::after { animation: none; display: none; } }
/* Start = GREEN 'go' (Spencer 2026-10-12). Active: green fill + glow ring pulsing ~1/s (scale 1→1.06, flash)
   AND a RED outline blinking at the same time. Rings are pseudo-elements so earlier !important rules can't freeze them. */
body.pl-phone-on .angel-client-home .angel-home-start { background: rgba(46,204,113,.14) !important; color: rgba(190,240,210,.75) !important;
  border: 1.5px solid rgba(46,204,113,.45) !important; animation: none !important; box-shadow: none !important; }
body.pl-phone-on .angel-client-home .angel-home-start[data-marina-start] { position: relative; overflow: visible !important;
  background: linear-gradient(180deg,#3ddc84,#2ecc71) !important; color: #fff !important; border: 2px solid #e0402e !important;
  text-shadow: 0 1px 2px rgba(0,60,20,.45); animation: pl-go 1s ease-in-out infinite !important; }
body.pl-phone-on .angel-client-home .angel-home-start[data-marina-start]::after { content: ""; position: absolute; inset: -2px; border-radius: inherit; pointer-events: none;
  animation: pl-glow 1s ease-in-out infinite; }
body.pl-phone-on .angel-client-home .angel-home-start[data-marina-start]::before { content: ""; position: absolute; inset: -5px; border-radius: 99px; pointer-events: none;
  border: 2px solid #ff2a1a; animation: pl-redblink 1s ease-in-out infinite; }
@keyframes pl-go { 0%, 100% { transform: scale(1); filter: brightness(1); } 45% { transform: scale(1.06); filter: brightness(1.3); } 60% { filter: brightness(1.12); } }
@keyframes pl-glow { 0%, 100% { box-shadow: 0 0 0 0 rgba(46,204,113,.75), 0 0 8px 1px rgba(46,204,113,.45); } 45% { box-shadow: 0 0 0 8px rgba(46,204,113,.25), 0 0 28px 9px rgba(46,204,113,.9); } }
@keyframes pl-redblink { 0%, 100% { opacity: 1; } 50% { opacity: .15; } }
@media (prefers-reduced-motion: reduce) {
  body.pl-phone-on .angel-client-home .angel-home-start[data-marina-start], body.pl-phone-on .angel-client-home .angel-home-start[data-marina-start]::after,
  body.pl-phone-on .angel-client-home .angel-home-start[data-marina-start]::before { animation: none !important; }
  body.pl-phone-on .angel-client-home .angel-home-start[data-marina-start]::after { box-shadow: 0 0 0 3px rgba(46,204,113,.5), 0 0 16px 4px rgba(46,204,113,.6); } }
body.pl-phone-on .angel-client-home .angel-home-flag { overflow: visible; }
/* active Start text: white with a thin red outline for readability on green */
body.pl-phone-on .angel-client-home .angel-home-start[data-marina-start] { font-weight: 700 !important; -webkit-text-stroke: 1px #d62020; paint-order: stroke fill;
  text-shadow: 1px 0 0 #d62020, -1px 0 0 #d62020, 0 1px 0 #d62020, 0 -1px 0 #d62020 !important; }
@supports (-webkit-text-stroke: 1px red) { body.pl-phone-on .angel-client-home .angel-home-start[data-marina-start] { text-shadow: none !important; } }
#pl-phone .pl-mark--bottom { cursor: pointer; }
#pl-phone .pl-mark--bottom:focus-visible { outline: 2px solid rgba(255,255,255,.85); outline-offset: -6px; border-radius: 10px; }
/* dive: ripple centred on the active Start + brief extra green flash */
.pl-dive-ripple { position: fixed; z-index: 45; width: 24px; height: 24px; margin: -12px 0 0 -12px; border-radius: 50%; pointer-events: none;
  border: 2px solid rgba(160,255,200,.9); box-shadow: 0 0 18px 6px rgba(46,204,113,.7); animation: pl-ripple .9s ease-out forwards; }
body.pl-phone-on .angel-client-home .angel-home-start.pl-dive-flash { filter: brightness(1.6) drop-shadow(0 0 14px rgba(46,204,113,.95)) !important; }
@media (prefers-reduced-motion: reduce) { .pl-dive-ripple { display: none; } }

/* ===== Upload + My Drive screens inside the landscape iPad (same box as the red-flag list) ===== */
body.pl-phone-on { --pl-in-l: calc(min(600px, calc(100vh - 48px)) * 0.4922 + 156px + 42px); --pl-in-r: 86px; }
body.pl-phone-on #page-two-drop-wrap, body.pl-phone-on #page-two-vault-calendar {
  position: fixed !important; z-index: 2; left: var(--pl-in-l) !important; right: var(--pl-in-r) !important; width: auto !important;
  top: 82px !important; bottom: 156px !important; height: auto !important; max-height: none !important; margin: 0 !important;
  padding: 40px 4px 8px 0 !important; box-sizing: border-box; overflow-y: auto !important; overflow-x: hidden !important;
  background: transparent !important; box-shadow: none !important; border: 0 !important; transform: none !important;
  color: #fff; font-family: "Montserrat", sans-serif; scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.25) transparent; }
body.pl-phone-on #page-two-drop-wrap .page-two-drop-glow { display: none !important; }
body.pl-phone-on #page-two-drop-wrap .page-two-redflags-card, body.pl-phone-on #page-two-drop-wrap .page-two-drop,
body.pl-phone-on #page-two-vault-calendar .page-two-vault-shell, body.pl-phone-on #page-two-vault-calendar .page-two-vault-nav,
body.pl-phone-on #page-two-vault-calendar .page-two-vault-main, body.pl-phone-on #page-two-vault-calendar section,
body.pl-phone-on #page-two-vault-calendar .page-two-vault-doc {
  background: rgba(6,10,24,.55) !important; border: 1px solid rgba(255,255,255,.16) !important; border-radius: 14px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.07) !important; color: #fff !important; max-width: 100% !important; box-sizing: border-box; }
body.pl-phone-on #page-two-drop-wrap .page-two-redflags-card, body.pl-phone-on #page-two-drop-wrap .page-two-drop { width: auto !important; margin-left: 0 !important; margin-right: 0 !important; }
body.pl-phone-on #page-two-vault-calendar .page-two-vault-shell { background: transparent !important; border: 0 !important; height: auto !important; min-height: 100%; }
body.pl-phone-on #page-two-drop-wrap *, body.pl-phone-on #page-two-vault-calendar * { color: inherit; font-family: "Montserrat", sans-serif; }
body.pl-phone-on #page-two-drop-wrap :is(h1,h2,h3,h4), body.pl-phone-on #page-two-vault-calendar :is(h1,h2,h3,h4) { color: #fff !important; font-weight: 300 !important; }
body.pl-phone-on #page-two-drop-wrap :is(p,small,span,label), body.pl-phone-on #page-two-vault-calendar :is(p,small,span,label) { color: rgba(255,255,255,.75) !important; }
body.pl-phone-on #page-two-drop-wrap button, body.pl-phone-on #page-two-vault-calendar button:not(.page-two-vault-doc) {
  background: rgba(255,255,255,.08) !important; color: #fff !important; border: 1px solid rgba(255,255,255,.35) !important; border-radius: 99px !important; box-shadow: none !important; }
body.pl-phone-on #page-two-vault-calendar .page-two-vault-nav-item.is-drive-folder, body.pl-phone-on #page-two-vault-calendar button[aria-current], body.pl-phone-on #page-two-vault-calendar .is-active {
  background: rgba(255,255,255,.18) !important; }
body.pl-phone-on #page-two-vault-calendar .page-two-vault-doc-thumb, body.pl-phone-on #page-two-vault-calendar .page-two-vault-doc-sheet { background: rgba(255,255,255,.10) !important; }
body.pl-devskip #page-two-vault-calendar .angel-received-documents { display: none !important; }
#pl-back[hidden] { display: none !important; }
#pl-back { position: fixed; z-index: 46; left: var(--pl-in-l); top: 72px; font: 400 12.5px "Montserrat", sans-serif; color: #fff; cursor: pointer;
  background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.35); border-radius: 99px; padding: 6px 14px; }
#pl-back:hover { background: rgba(255,255,255,.16); }
.pl-glass-note { margin: 0 0 12px !important; padding: 10px 14px; border-radius: 12px; background: rgba(6,10,24,.6); border: 1px solid rgba(255,255,255,.3);
  color: #fff !important; font: 300 13px "Montserrat", sans-serif; }
#pl-dev-upload-note { border-color: rgba(255,180,90,.6); }
.pl-glass-note.pl-blink { animation: pl-note 0.6s ease-in-out 2; }
@keyframes pl-note { 50% { background: rgba(255,180,90,.25); } }
/* simplified call state on the left phone */
#pl-phone .pl-call[hidden] { display: none !important; }
#pl-phone .pl-call { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 14px 10px; border-radius: 12px;
  background: rgba(6,10,24,.45); border: 1px solid rgba(255,255,255,.22); margin-top: 10px; }
#pl-phone .pl-call p { margin: 0; font-weight: 200; font-size: calc(var(--ph) * 0.03); text-align: center; }
#pl-phone .pl-call-orb { position: relative; right: auto; top: auto; transform: none; width: 46px; height: 46px; animation: pl-ring 1.2s ease-in-out infinite; }
#pl-phone .pl-call .pl-gbar { width: 100%; }
@keyframes pl-ring { 0%,100% { box-shadow: 0 0 10px rgba(80,160,255,.8); } 50% { box-shadow: 0 0 0 10px rgba(80,160,255,.18), 0 0 22px rgba(80,160,255,.95); } }
@media (prefers-reduced-motion: reduce) { #pl-phone .pl-call-orb { animation: none; } }
/* while on call the call panel replaces the three buttons (END CALL returns them) */
#pl-phone.pl-on-call #pl-upload, #pl-phone.pl-on-call #pl-evidence { visibility: hidden !important; pointer-events: none; }
/* END CALL: same slot/size as TALK TO MARINA, red glass pill */
#pl-phone #pl-marina.pl-end { border-color: rgba(255,120,110,.85); background: linear-gradient(180deg, rgba(214,32,32,.55), rgba(140,12,20,.45)); box-shadow: 0 0 14px rgba(214,32,32,.45); }
#pl-phone #pl-marina.pl-end .pl-orb { display: none; }
#pl-phone .pl-call-caps { width: 100%; max-height: calc(var(--ph) * 0.16); overflow: hidden; }
#pl-phone .pl-call-acts { display: flex; gap: 6px; width: 100%; }
#pl-phone .pl-call-acts .pl-gbar { flex: 1; }
#pl-phone .pl-call-acts [hidden] { display: none !important; }
/* one-shot Start flash when Marina says "Simply click Start…" */
body.pl-phone-on .angel-home-start.pl-start-flash { animation: pl-start-flash .85s ease-out 1 !important; }
@keyframes pl-start-flash { 0% { box-shadow: 0 0 0 0 rgba(46,204,113,.95), 0 0 0 2px #d62020; filter: brightness(1.6); transform: scale(1.08); } 100% { box-shadow: 0 0 0 18px rgba(46,204,113,0), 0 0 0 2px #d62020; filter: none; transform: scale(1); } }
@media (prefers-reduced-motion: reduce) { body.pl-phone-on .angel-home-start.pl-start-flash { animation: none !important; filter: brightness(1.4); } }
/* captions = greeting typography (shared rule above), only the size differs: 22px at --ph 600, scaled with the phone */
#pl-phone .pl-call-caps p.pl-cap { font-size: calc(var(--ph) * 22 / 600); margin-bottom: calc(var(--ph) * 0.012); }
#pl-phone .pl-call-caps { max-height: none; flex: 1 1 auto; overflow: hidden; display: flex; flex-direction: column; justify-content: flex-end; }
/* during a call the phone body shows ONLY the call interface */
#pl-phone.pl-on-call .pl-centre, #pl-phone.pl-on-call #pl-redflag { display: none !important; }
#pl-phone.pl-on-call .pl-call { flex: 1 1 auto; min-height: 0; margin-top: calc(var(--ph) * 0.04); }
#pl-phone.pl-on-call .pl-sp { flex: 0 0 0; }
#pl-phone .pl-controls > .pl-gbar { flex-shrink: 0; }
/* Customer support: call-only, same glass button as the stack */
#pl-phone #pl-support { display: none; text-transform: uppercase; }
#pl-phone.pl-on-call #pl-support { display: block; }
#pl-phone .pl-call-caps { min-height: 0; }
/* cards always fit the iPad screen width (narrow viewports: the base grid column was a fixed px track) */
body.pl-phone-on .angel-client-home .angel-home-content { grid-template-columns: minmax(0, 1fr) !important; width: 100% !important; max-width: 100% !important; }
body.pl-phone-on .angel-client-home .angel-home-flag { min-width: 0; max-width: 100%; box-sizing: border-box; }
body.pl-phone-on .angel-client-home .angel-home-flag-copy { min-width: 0; }
#pl-back { z-index: 2147483000 !important; }
/* ===== View Evidence page (DRAFT 5) inside the iPad screen: same box as .angel-client-home ===== */
.pl-ev { display: none; }
body.pl-phone-on.pl-ev-on .pl-ev { display: block; position: fixed; z-index: 2; box-sizing: border-box;
  left: calc(min(600px, calc(100vh - 48px)) * 0.4922 + 156px + 12px + 30px); right: calc(44px + 12px + 30px);
  top: calc(44px + 12px + 26px); bottom: calc(44px + 12px + 92px); overflow-y: auto; padding: 0 6px 0 0;
  color: #fff; font-family: "Montserrat", sans-serif; scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.25) transparent;
  --ph: min(600px, calc(100vh - 48px)); --pw: calc(var(--ph) * 0.4922); }
body.pl-phone-on.pl-ev-on .angel-client-home { visibility: hidden !important; }
body.pl-phone-on.pl-ev-on #page-two-marina-btn { visibility: hidden !important; }
.pl-ev-head { display: flex; align-items: center; justify-content: space-between; margin: 0 0 12px; }
.pl-ev-head h1 { margin: 0; font-weight: 200; font-size: 34px; letter-spacing: .01em; color: #fff; }
.pl-ev-count { margin: 0; color: #ff8a7a; font-weight: 700; font-size: 12px; }
.pl-ev-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 22px; }
.pl-ev-tab { display: inline-flex; align-items: center; min-height: 44px; padding: 10px 17px; font: 400 18px "Montserrat", sans-serif; color: #fff; cursor: pointer;
  border-radius: 99px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.35); }
.pl-ev-tab:hover { background: rgba(255,255,255,.16); }
.pl-ev-tab.is-active { background: rgba(255,255,255,.18); }
.pl-ev-month { margin: 0 0 12px; font-weight: 300; font-size: 20px; }
.pl-ev-list { display: grid; grid-template-columns: minmax(0,1fr); gap: 16px; }
.pl-ev-card { min-width: 0; overflow: hidden; padding: 10px 14px; border-radius: 14px; background: rgba(6,10,24,.55); border: 1px solid rgba(255,255,255,.16); box-shadow: inset 0 1px 0 rgba(255,255,255,.07); }
.pl-ev-card.amber { border-left: 5px solid #f5a623; }
.pl-ev-card.cert { border-left: 5px solid #2ecc71; }
.pl-ev-top { display: flex; align-items: center; gap: 12px; margin: 2px 0 10px; min-width: 0; }
.pl-ev-top h2 { margin: 0; font-size: 16px; font-weight: 600; }
.pl-ev-top p { margin: 0; font-size: 13px; font-weight: 300; color: rgba(255,255,255,.72); }
.pl-ev-pill { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; padding: 3px 10px; border-radius: 99px; border: 1px solid; white-space: nowrap; }
.pl-ev-pill i { width: 8px; height: 8px; border-radius: 50%; }
.pl-ev-pill.amber { color: #ffd28a; border-color: rgba(245,166,35,.6); background: rgba(245,166,35,.12); } .pl-ev-pill.amber i { background: #f5a623; box-shadow: 0 0 6px #f5a623; }
.pl-ev-pill.green { color: #bff0d2; border-color: rgba(46,204,113,.5); background: rgba(46,204,113,.12); } .pl-ev-pill.green i { background: #2ecc71; }
/* file boxes replicate the phone RED FLAG box (#pl-phone .pl-rf), width = phone inner width */
.pl-ev-boxes { display: grid; gap: 12px; align-items: stretch; grid-template-columns: repeat(4, minmax(0, calc(var(--pw) - var(--ph) * .024 - var(--ph) * .09))); }
.pl-ev-box { display: block; min-width: 0; text-align: left; font-family: inherit; color: #fff; cursor: pointer; margin: 0;
  border: 1px solid #e0402e; border-radius: 6px; padding: 7px; background: rgba(6,10,24,.35); }
.pl-ev-box.pdf, .pl-ev-box.xlsx { border-color: rgba(255,255,255,.3); }
.pl-ev-ban { display: block; background: #df3b26; color: #fff; text-align: center; font-weight: 400; font-size: calc(var(--ph) * .0317); letter-spacing: .04em; padding: 5px 0; border-radius: 2px; }
.pl-ev-box.pdf .pl-ev-ban { background: rgba(217,58,43,.75); }
.pl-ev-box.xlsx .pl-ev-ban { background: rgba(30,158,79,.85); }
.pl-ev-body { display: block; margin-top: 7px; padding: 8px 10px; border-radius: 6px; background: rgba(6,10,24,.55); border: 1px solid rgba(255,255,255,.12); }
.pl-ev-body b { display: block; font-weight: 600; font-size: calc(var(--ph) * .0217); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pl-ev-body span { display: block; font-weight: 300; font-size: calc(var(--ph) * .0215); color: rgba(255,255,255,.85); margin-top: 3px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } /* file name slightly larger than the draft's .02 */
.pl-ev-box.seal { border: 0; background: none; display: flex; align-items: center; justify-content: center; cursor: default; }
.pl-ev-seal { width: 76px; height: 76px; }
.pl-ev-box:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.pl-ev-toast { position: fixed; z-index: 2147483001; left: 50%; bottom: 120px; transform: translate(-50%, 20px); opacity: 0; pointer-events: none; transition: opacity .2s, transform .2s;
  padding: 10px 18px; border-radius: 99px; background: rgba(6,10,24,.8); border: 1px solid rgba(255,255,255,.3); color: #fff; font: 300 14px "Montserrat", sans-serif; backdrop-filter: blur(8px); }
.pl-ev-toast.on { opacity: 1; transform: translate(-50%, 0); }
.pl-ev-tabs { flex-wrap: nowrap; gap: 6px; } .pl-ev-tab { padding: 10px 14px; white-space: nowrap; }
/* UPLOAD WTD'S at the top of the phone body, under MARINA */
#pl-phone .pl-top-upload { flex: 0 0 auto; margin-top: calc(var(--ph) * 0.03); }
#pl-phone .pl-top-upload + .pl-centre { margin-top: calc(var(--ph) * 0.05); }
#pl-phone.pl-on-call .pl-top-upload { visibility: hidden; pointer-events: none; }
body.pl-fish-paused #page-two-marina-btn { visibility: hidden !important; }
/* snooze-all confirm: same glass family as the order pop-up */
#pl-upconfirm[hidden], #pl-snzconfirm[hidden] { display: none !important; }
#pl-upconfirm, #pl-snzconfirm { position: fixed; z-index: 2147483002; left: 50%; top: 50%; transform: translate(-50%, -50%); width: min(420px, 80vw); box-sizing: border-box;
  padding: 22px 22px 18px; border-radius: 18px; background: rgba(6,10,24,.72); border: 1px solid rgba(255,255,255,.3); backdrop-filter: blur(14px);
  box-shadow: 0 18px 50px rgba(0,0,0,.5); color: #fff; font-family: "Montserrat", sans-serif; text-align: center; }
#pl-upconfirm p, #pl-snzconfirm p { margin: 0 0 16px; font-weight: 300; font-size: 17px; line-height: 1.35; }
.pl-upconfirm-row { display: flex; gap: 10px; justify-content: center; }
.pl-upconfirm-row button { min-width: 110px; padding: 10px 18px; border-radius: 99px; border: 1px solid rgba(255,255,255,.45); background: rgba(255,255,255,.1); color: #fff; font: 400 15px "Montserrat", sans-serif; cursor: pointer; }
.pl-upconfirm-row button:hover { background: rgba(255,255,255,.2); }
.pl-marina-line { position: fixed; z-index: 2147483001; left: 50px; bottom: 30px; width: calc(min(600px, calc(100vh - 48px)) * 0.4922); box-sizing: border-box; opacity: 0; transform: translateY(8px);
  transition: opacity .2s, transform .2s; pointer-events: none; padding: 10px 14px; border-radius: 14px; background: rgba(6,10,24,.8); border: 1px solid rgba(255,255,255,.3);
  color: #fff; font: 300 14px/1.35 "Montserrat", sans-serif; text-align: center; backdrop-filter: blur(8px); }
.pl-marina-line.on { opacity: 1; transform: none; }
.pl-ev-devtag { display: inline-block; margin-top: 6px; font-size: 10px; letter-spacing: .04em; padding: 2px 8px; border-radius: 99px; color: #ffd28a; border: 1px solid rgba(245,166,35,.6); background: rgba(245,166,35,.12); }
/* Vault loader (option A): emblem centred in the phone body, gold glow pulse, greeting typography caption */
#pl-phone .pl-vault-loader { display: none; }
#pl-phone.pl-vault-loading .pl-centre, #pl-phone.pl-vault-loading #pl-redflag { display: none !important; }
#pl-phone.pl-vault-loading .pl-vault-loader { display: flex; flex: 1 1 auto; flex-direction: column; align-items: center; justify-content: center; gap: calc(var(--ph) * 0.02); min-height: 0; }
#pl-phone.pl-vault-loading .pl-sp { flex: 0 0 0; }
#pl-phone .pl-vault-emblem { width: calc(var(--ph) * 0.26); height: auto; filter: drop-shadow(0 0 12px rgba(255,200,80,.75)) drop-shadow(0 0 28px rgba(255,170,40,.45)); animation: pl-vault-pulse 1.4s ease-in-out infinite; }
@keyframes pl-vault-pulse { 0%,100% { transform: scale(.92); opacity: .7; filter: drop-shadow(0 0 8px rgba(255,200,80,.55)) drop-shadow(0 0 18px rgba(255,170,40,.3)); }
  50% { transform: scale(1.04); opacity: 1; filter: drop-shadow(0 0 16px rgba(255,210,90,.95)) drop-shadow(0 0 36px rgba(255,170,40,.6)); } }
#pl-phone .pl-vault-cap { margin: 0; text-align: center; font-weight: 200; font-synthesis: none; letter-spacing: .01em; font-size: calc(var(--ph) * 0.035); line-height: 1.08; padding: 0 4px; text-shadow: 0 2px 14px rgba(0,0,0,.35); }
#pl-phone .pl-vault-dots span { display: inline-block; width: 6px; height: 6px; margin: 0 3px; border-radius: 50%; background: #ffd27a; animation: pl-vault-dot 1.2s infinite; }
#pl-phone .pl-vault-dots span:nth-child(2) { animation-delay: .2s; } #pl-phone .pl-vault-dots span:nth-child(3) { animation-delay: .4s; }
@keyframes pl-vault-dot { 0%,100% { opacity: .2; } 50% { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { #pl-phone .pl-vault-emblem, #pl-phone .pl-vault-dots span { animation: none; opacity: 1; } }
/* snoozed red flags stay listed and workable: dimmed, countdown pill (tap = resume + open), Start still live */
body.pl-phone-on .angel-client-home .angel-home-flag.is-snoozed { opacity: .72; }
body.pl-phone-on .angel-client-home .angel-home-flag.is-snoozed .angel-home-flag-copy { filter: saturate(.6); }
body.pl-phone-on .angel-client-home .angel-home-snoozed-pill { color: #ffd28a !important; border-color: rgba(245,166,35,.6) !important; background: rgba(245,166,35,.12) !important; font-variant-numeric: tabular-nums; }
body.pl-phone-on .angel-client-home .angel-home-flag.is-snoozed .angel-home-start { animation: none !important; box-shadow: 0 0 0 1px rgba(46,204,113,.6) !important; }
#pl-phone .pl-rf.is-snoozed .pl-rf-ban { animation: none !important; }
#pl-phone .pl-rf.is-snoozed .pl-rf-body::after { content: "snoozed \00b7 tap to resume"; display: block; margin-top: 3px; font-size: calc(var(--ph) * 0.018); color: #ffd28a; font-weight: 300; }
/* no scrollbar on the left glass column (old page-2b login card overflowed; the post-login phone is a separate fixed layer) */
body.pl-phone-on .page-two-phone-glass, body.pl-phone-on .page-two-phone-col { overflow: hidden !important; scrollbar-width: none !important; }
body.pl-phone-on .page-two-phone-glass::-webkit-scrollbar, body.pl-phone-on .page-two-phone-col::-webkit-scrollbar { display: none !important; }
/* ===== spacing cleanup (item 6) ===== */
/* phone stack: one rhythm under MARINA (24px at --ph 600): wordmark -> UPLOAD -> greeting -> RED FLAG */
#pl-phone .pl-top-upload { margin-top: calc(var(--ph) * 0.03); }
#pl-phone .pl-top-upload + .pl-centre { margin: calc(var(--ph) * 0.04) 0 calc(var(--ph) * 0.04); }
/* bottom stack keeps the same 9px rhythm and a small gap above SCRAP ANGEL AI */
#pl-phone .pl-controls { padding-bottom: calc(var(--ph) * 0.012); }
/* Snooze and Start columns share one width and right edge */
body.pl-phone-on .angel-client-home .angel-home-flag-actions { align-items: stretch !important; }
body.pl-phone-on .angel-client-home .angel-home-flag-actions .angel-home-snooze,
body.pl-phone-on .angel-client-home .angel-home-flag-actions .angel-home-start { width: 172px !important; min-width: 172px !important; box-sizing: border-box !important; margin-left: 0 !important; margin-right: 0 !important; }
/* vault cards: symmetric inner padding (12 top/bottom, 16 sides after the 5px rim) */
.pl-ev-card { padding: 12px 16px 12px 14px; }
.pl-ev-top { margin: 0 0 10px; }
/* ===== LOCKED_11 background treatment (Spencer approved 2026-10-12): one smoky tinted-glass pane over the ORIGINAL
   login video (same file/position), below the sidebar, phone and iPad. Video still plays through, softened. ===== */
body.pl-phone-on #cinema::after { content: ""; position: fixed; inset: 0; z-index: 1; pointer-events: none;
  background: rgba(10,12,22,.58); -webkit-backdrop-filter: blur(22px) saturate(1.25); backdrop-filter: blur(22px) saturate(1.25); }
/* left sidebar merges into the same pane: no second (phone) video, no extra tint step, no bright edge */
body.pl-phone-on .page-two-phone-video { visibility: hidden !important; }
body.pl-phone-on .page-two-phone-col, body.pl-phone-on .page-two-phone-glass { background: transparent !important; border: 0 !important; box-shadow: none !important;
  -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
body.pl-phone-on #pl-glass { background: rgba(10,12,22,.12) !important; border-right: 1px solid rgba(255,255,255,.05) !important; box-shadow: none !important;
  -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
/* main panel only (right of the sidebar): deeper, grey/silvery smoke to match LOCKED_11. Soft 60px seam at the sidebar edge. */
body.pl-phone-on #cinema::before { content: ""; position: fixed; top: 0; bottom: 0; right: 0; z-index: 2; pointer-events: none;
  left: calc(min(600px, calc(100vh - 48px)) * 0.4922 + 100px - 30px);
  background: linear-gradient(rgba(120,125,140,.12), rgba(120,125,140,.12)), rgba(6,8,14,.16);
  -webkit-backdrop-filter: saturate(.85); backdrop-filter: saturate(.85);
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 60px); mask-image: linear-gradient(90deg, transparent 0, #000 60px); }
/* LOCKED_11 v3 (Spencer: the right way round): sidebar = light, clear glass; main panel = dark grey/silver smoke. */
body.pl-phone-on #cinema::after { background: rgba(10,12,22,.18) !important; -webkit-backdrop-filter: blur(8px) saturate(1.15) !important; backdrop-filter: blur(8px) saturate(1.15) !important; }
body.pl-phone-on #cinema::before { background: linear-gradient(rgba(120,125,140,.14), rgba(120,125,140,.14)), rgba(10,12,22,.52) !important;
  -webkit-backdrop-filter: blur(18px) saturate(.85) !important; backdrop-filter: blur(18px) saturate(.85) !important; }
/* v3 tune vs LOCKED_11 samples: sidebar shows the original phone-column video glow again (translucent glass),
   panel is a lighter silver-grey smoke (LOCKED_11 panel ~rgb(64-90) neutral grey) */
body.pl-phone-on .page-two-phone-video { visibility: visible !important; }
body.pl-phone-on #cinema::before { background: linear-gradient(rgba(138,140,146,.40), rgba(138,140,146,.40)), rgba(10,12,22,.30) !important;
  -webkit-backdrop-filter: blur(18px) saturate(.45) !important; backdrop-filter: blur(18px) saturate(.45) !important; }
/* sidebar: light translucent frosted glass over the phone-column video (as before 5b54d2c, lighter tint) */
body.pl-phone-on .page-two-phone-glass { background: rgba(10,12,22,.18) !important; -webkit-backdrop-filter: blur(1.4rem) saturate(1.25) !important; backdrop-filter: blur(1.4rem) saturate(1.25) !important; }
/* ===== vault phone sequence: only the phase content + SCRAP ANGEL AI wordmark ===== */
#pl-phone.pl-vault-cycle .pl-centre, #pl-phone.pl-vault-cycle .pl-top-upload, #pl-phone.pl-vault-cycle #pl-evidence,
#pl-phone.pl-vault-cycle #pl-marina, #pl-phone.pl-vault-cycle #pl-support, #pl-phone.pl-vault-cycle #pl-call { display: none !important; }
#pl-phone.pl-vault-cycle .pl-sp { flex: 0 0 0; }
#pl-phone.pl-vault-cycle:not([data-vphase="flag"]) #pl-redflag { display: none !important; }
#pl-phone.pl-vault-cycle:not([data-vphase="flag"]) .pl-controls { flex: 0 0 0; min-height: 0; overflow: hidden; }
#pl-phone.pl-vault-cycle[data-vphase="flag"] .pl-controls { justify-content: center; }
#pl-phone.pl-vault-cycle[data-vphase="flag"] .pl-vault-loader { display: none !important; }
#pl-phone.pl-vault-cycle[data-vphase="full"] .pl-vault-loader, #pl-phone.pl-vault-cycle[data-vphase="opening"] .pl-vault-loader {
  display: flex; flex: 1 1 auto; flex-direction: column; align-items: center; justify-content: center; gap: calc(var(--ph) * 0.02); min-height: 0; }
#pl-phone.pl-vault-cycle[data-vphase="full"] .pl-vault-cap, #pl-phone.pl-vault-cycle[data-vphase="full"] .pl-vault-dots { display: none; }
#pl-phone.pl-vault-cycle[data-vphase="full"] .pl-vault-emblem { width: 100%; max-width: 100%; }
/* Upload mitigation evidence flag: no "Download to submit yourself" blocks in the client upload view */
body.pl-phone-on.pl-up-mitigation .page-two-client-download { display: none !important; }
#pl-up-mit { display: block; width: min(360px, 100%); margin: 8px auto 16px; height: 48px; border-radius: 99px; border: 1px solid rgba(255,255,255,.55);
  background: rgba(255,255,255,.1); color: #fff; font: 600 15px "Montserrat", sans-serif; letter-spacing: .06em; cursor: pointer; }
#pl-up-mit:hover { background: rgba(255,255,255,.2); }
body:not(.pl-up-mitigation) #pl-up-mit { display: none; }
/* ===== Upload tickets designed view (first take) — reuses the vault (.pl-ev) chrome ===== */
body.pl-phone-on.pl-ut-on .pl-ut { display: block; position: fixed; z-index: 2; box-sizing: border-box;
  left: calc(min(600px, calc(100vh - 48px)) * 0.4922 + 156px + 12px + 30px); right: calc(44px + 12px + 30px);
  top: calc(44px + 12px + 26px); bottom: calc(44px + 12px + 92px); overflow-y: auto; padding: 0 6px 0 0; color: #fff; font-family: "Montserrat", sans-serif;
  scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.25) transparent; --ph: min(600px, calc(100vh - 48px)); --pw: calc(var(--ph) * 0.4922); }
body.pl-phone-on.pl-ut-on .angel-client-home, body.pl-phone-on.pl-ut-on #page-two-marina-btn { visibility: hidden !important; }
.pl-ut-meta { display: flex; align-items: center; gap: 10px; margin: -8px 0 14px; }
.pl-ut-chip { display: inline-flex; align-items: center; padding: 6px 14px; border-radius: 99px; font-size: 13px; font-weight: 300; color: rgba(255,255,255,.85); background: rgba(6,10,24,.45); border: 1px solid rgba(255,255,255,.2); }
.pl-ut-pill { display: inline-flex; align-items: center; min-height: 36px; padding: 6px 16px; border-radius: 99px; font: 400 14px "Montserrat", sans-serif; color: #fff; cursor: pointer; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.35); }
.pl-ut-pill:hover { background: rgba(255,255,255,.16); }
.pl-ut-drop { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; min-height: 170px; margin: 0 0 18px; border-radius: 16px;
  border: 2px dashed rgba(255,255,255,.35); background: rgba(6,10,24,.38); box-shadow: inset 0 1px 0 rgba(255,255,255,.06); text-align: center; padding: 18px; }
.pl-ut-drop.over { border-color: #2ecc71; background: rgba(46,204,113,.10); }
.pl-ut-drop-title { margin: 0; font-weight: 200; font-size: 22px; }
.pl-ut-choose { min-height: 44px; padding: 10px 22px; font-size: 16px; }
.pl-ut-types { margin: 0; font-size: 12px; letter-spacing: .12em; color: rgba(255,255,255,.6); }
.pl-ut-listhead { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 12px; }
.pl-ut-listhead .pl-ev-month { margin: 0; }
.pl-ut-send { min-height: 44px; padding: 10px 24px; border-radius: 99px; border: 1px solid #2ecc71; background: #2ecc71; color: #fff; font: 600 15px "Montserrat", sans-serif; cursor: pointer; box-shadow: 0 0 14px rgba(46,204,113,.45); }
.pl-ut-send:disabled { background: rgba(46,204,113,.14); color: rgba(190,240,210,.6); border-color: rgba(46,204,113,.35); box-shadow: none; cursor: not-allowed; }
.pl-ut-list { grid-template-columns: repeat(auto-fill, minmax(0, calc(var(--pw) - var(--ph) * .024 - var(--ph) * .09))) !important; }
.pl-ut-box { cursor: default; }
.pl-ut-box .pl-ev-ban { background: rgba(217,58,43,.75); }
.pl-ut-box.xlsx .pl-ev-ban { background: rgba(30,158,79,.85); }
.pl-ut-box .pl-ev-body b { display: flex; align-items: center; gap: 6px; }
.pl-ut-dot { flex: none; width: 8px; height: 8px; border-radius: 50%; }
.pl-ut-dot.green { background: #2ecc71; box-shadow: 0 0 6px #2ecc71; } .pl-ut-dot.amber { background: #f5a623; box-shadow: 0 0 6px #f5a623; } .pl-ut-dot.red { background: #e0402e; box-shadow: 0 0 6px #e0402e; }
.pl-ut-photo { display: flex; align-items: center; justify-content: center; gap: 16px; width: 100%; min-height: 96px; margin: 0 0 14px; border-radius: 18px; cursor: pointer;
  background: rgba(255,255,255,.14); border: 1.5px solid rgba(255,255,255,.75); color: #fff; font: 600 24px "Montserrat", sans-serif; letter-spacing: .02em;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 6px 22px rgba(0,0,0,.25); }
.pl-ut-photo:hover { background: rgba(255,255,255,.22); }
.pl-ut-photo:focus-visible { outline: 3px solid #ffd27a; outline-offset: 3px; }
.pl-ut-drop { min-height: 140px; }
.pl-ut-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(200px, 240px); gap: 14px; align-items: stretch; }
.pl-ut-row .pl-ut-list { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)) !important; align-content: start; }
.pl-ut-row .pl-ut-photo { flex-direction: column; margin: 0; min-height: 150px; height: 100%; gap: 12px; padding: 16px; font-size: 24px; }
.pl-ut-row .pl-ut-photo svg { width: 64px; height: 64px; }
/* Single active iPad view: the Upload tickets section also carries .pl-ev (shared glass styling), so the vault's
   "body.pl-ev-on .pl-ev" display rule was showing it under the vault. Upload is visible ONLY with pl-ut-on. */
body.pl-phone-on:not(.pl-ut-on) .pl-ut { display: none !important; }
body.pl-phone-on.pl-ut-on .pl-ev:not(.pl-ut) { display: none !important; }
/* My Drive (client phone view): ~82% scale, wide landscape layout inside the iPad */
body.pl-phone-on .page-two-vault-calendar { font-size: 82%; }
body.pl-phone-on .page-two-vault-shell { display: flex; flex-direction: column; height: 100%; max-height: 100%; overflow: hidden; }
body.pl-phone-on .page-two-vault-nav { width: auto !important; display: flex; flex-direction: row; align-items: center; gap: 10px; padding: 6px 18px !important; flex: 0 0 auto; }
body.pl-phone-on .page-two-vault-brand, body.pl-phone-on #angel-overview-link { display: none !important; }
body.pl-phone-on .page-two-vault-new { width: auto !important; height: 34px !important; padding: 0 16px !important; font-size: 13px !important; border-radius: 999px !important; margin: 0 !important; }
body.pl-phone-on .page-two-vault-nav-list { display: flex !important; flex-direction: row; gap: 8px; height: auto !important; overflow: visible !important; }
body.pl-phone-on .page-two-vault-nav-item { width: auto !important; min-height: 0 !important; height: 34px !important; padding: 0 14px !important; font-size: 13px !important; border-radius: 999px !important; white-space: nowrap; margin: 0 !important; }
body.pl-phone-on .page-two-vault-nav-item .page-two-vault-nav-sub, body.pl-phone-on .page-two-vault-nav-item small { display: none !important; }
body.pl-phone-on .page-two-vault-main { width: auto !important; flex: 1 1 auto; min-height: 0; overflow-y: auto; padding: 8px 18px 14px !important; }
body.pl-phone-on .page-two-vault-main-head { display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap; min-height: 0 !important; margin-bottom: 8px; }
body.pl-phone-on .page-two-vault-main-title { font-size: 20px !important; margin: 0 !important; }
body.pl-phone-on .page-two-vault-main-sub { font-size: 12px !important; margin: 0 !important; flex: 1 1 auto; }
body.pl-phone-on .page-two-vault-view { margin: 0 0 0 auto !important; transform: scale(.85); }
body.pl-phone-on .pl-glass-note { font-size: 12px !important; margin: 0 0 8px !important; padding: 6px 12px !important; }
body.pl-phone-on .page-two-vault-docs.is-drive-list { display: block !important; height: auto !important; }
.pl-md-row { display: grid; grid-template-columns: minmax(0,1fr) 70px 190px 80px; gap: 12px; align-items: center; width: 100%; box-sizing: border-box;
  padding: 9px 14px; margin: 0 0 6px; border-radius: 12px; border: 1px solid rgba(255,255,255,.12); background: rgba(10,14,30,.42);
  color: rgba(255,255,255,.9); font: 300 13px/1.3 Montserrat, system-ui, sans-serif; text-align: left; cursor: pointer; }
.pl-md-row span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pl-md-row:hover, .pl-md-row:focus-visible { background: rgba(255,255,255,.1); outline: none; border-color: rgba(255,255,255,.35); }
.pl-md-head { background: none; border-color: transparent; cursor: default; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: rgba(255,255,255,.55); padding-top: 2px; padding-bottom: 2px; }
.pl-md-c1 { text-transform: uppercase; font-size: 11px; letter-spacing: .06em; color: rgba(255,255,255,.7); }
/* LOG OUT pill: sidebar space under the phone, phone-button style (thin white border, spaced caps) */
#pl-logout { position: fixed; z-index: 2147483000; box-sizing: border-box; border-radius: 11px; border: 1px solid rgba(255,255,255,.55);
  background: rgba(255,255,255,.08); color: #fff; font-family: "Montserrat", sans-serif; font-weight: 700; letter-spacing: .16em; text-indent: .16em;
  display: grid; place-items: center; cursor: pointer; padding: 0; backdrop-filter: blur(8px); }
#pl-logout:hover { background: rgba(255,255,255,.14); }
#pl-logout:focus-visible { outline: none; box-shadow: 0 0 0 2px rgba(255,255,255,.85); }
#pl-logout[hidden], #pl-logout-confirm[hidden] { display: none !important; }
#pl-logout-confirm { position: fixed; z-index: 2147483002; left: 50%; top: 50%; transform: translate(-50%, -50%); width: min(420px, 80vw); box-sizing: border-box;
  padding: 22px 22px 18px; border-radius: 18px; background: rgba(6,10,24,.72); border: 1px solid rgba(255,255,255,.3); backdrop-filter: blur(14px);
  box-shadow: 0 18px 50px rgba(0,0,0,.5); color: #fff; font-family: "Montserrat", sans-serif; text-align: center; }
#pl-logout-confirm p { margin: 0 0 16px; font-weight: 300; font-size: 17px; line-height: 1.35; }
/* Scrap Angel logo above the phone + About us view (single active iPad view) */
#pl-about-logo { position: fixed; z-index: 2147483000; padding: 0; border: 0; background: none; cursor: pointer; }
#pl-about-logo img { width: 100%; height: 100%; display: block; object-fit: contain; }
#pl-about-logo:focus-visible { outline: 2px solid rgba(255,255,255,.85); outline-offset: 4px; border-radius: 6px; }
#pl-about-logo[hidden] { display: none !important; }
.pl-ab { display: none; }
body.pl-phone-on.pl-ab-on .pl-ab { display: flex; flex-direction: column; position: absolute; inset: 0; z-index: 5; box-sizing: border-box; padding: 64px 61px 128px; color: #fff; font-family: "Montserrat", sans-serif; overflow: hidden; }
body.pl-phone-on.pl-ab-on .angel-client-home, body.pl-phone-on.pl-ab-on #page-two-marina-btn, body.pl-phone-on.pl-ab-on .page-two-fish-btn, body.pl-phone-on.pl-ab-on .page-two-vault-calendar { visibility: hidden !important; }
.pl-ab-back { align-self: flex-start; height: 28px; padding: 0 14px; border-radius: 999px; border: 1px solid rgba(255,255,255,.3); background: rgba(255,255,255,.08); color: #fff; font: 300 12px "Montserrat", sans-serif; cursor: pointer; }
.pl-ab-head { display: flex; align-items: baseline; gap: 16px; margin: 14px 0; }
.pl-ab-head h1 { margin: 0; font-weight: 200; font-size: 30px; letter-spacing: .02em; }
.pl-ab-draft { font-size: 11px; letter-spacing: .04em; padding: 3px 10px; border-radius: 99px; color: #ffd28a; border: 1px solid rgba(245,166,35,.6); background: rgba(245,166,35,.12); }
.pl-ab-body { display: grid; grid-template-columns: 230px minmax(0,1fr); gap: 18px; flex: 1 1 auto; min-height: 0; }
.pl-ab-nav { display: flex; flex-direction: column; gap: 8px; }
.pl-ab-navitem { text-align: left; padding: 11px 14px; border-radius: 12px; border: 1px solid rgba(255,255,255,.14); background: rgba(10,14,30,.42); color: rgba(255,255,255,.85); font: 300 14px "Montserrat", sans-serif; cursor: pointer; }
.pl-ab-navitem:hover { background: rgba(255,255,255,.1); }
.pl-ab-navitem.is-active { border-color: rgba(255,255,255,.55); background: rgba(255,255,255,.14); color: #fff; }
.pl-ab-pane { overflow-y: auto; padding: 18px 22px; border-radius: 16px; border: 1px solid rgba(255,255,255,.14); background: rgba(10,14,30,.45); backdrop-filter: blur(10px); }
.pl-ab-pane h2 { margin: 0 0 10px; font-weight: 300; font-size: 20px; }
.pl-ab-pane p { margin: 0 0 12px; font-weight: 300; font-size: 15px; line-height: 1.55; color: rgba(255,255,255,.88); }
.pl-ab-body { margin-right: 28px; margin-bottom: 14px; }
/* line-question red flag: inline glass input + green Submit */
.angel-lq-wrap { margin-top: 8px; }
.angel-lq { display: flex; gap: 8px; align-items: center; max-width: 440px; }
.angel-lq-input { flex: 1 1 auto; min-width: 0; height: 34px; box-sizing: border-box; padding: 0 12px; border-radius: 10px; border: 1px solid rgba(255,255,255,.4);
  background: rgba(255,255,255,.08); color: #fff; font: 400 14px/1 "Montserrat", sans-serif; letter-spacing: .08em; outline: none; }
.angel-lq-input::placeholder { color: rgba(255,255,255,.55); text-transform: none; letter-spacing: .02em; font-weight: 300; }
.angel-lq-input:focus { border-color: #fff; box-shadow: 0 0 0 2px rgba(255,255,255,.25); }
.angel-lq-submit { height: 34px; padding: 0 18px; border-radius: 999px; border: 1px solid rgba(255,255,255,.5); background: #2ecc71; color: #fff; font: 600 13px "Montserrat", sans-serif; cursor: pointer; }
.angel-lq-submit:disabled { opacity: .55; cursor: default; }
.angel-lq-msg { margin: 6px 0 0; min-height: 0; font: 300 12px "Montserrat", sans-serif; color: rgba(255,255,255,.8); }
.angel-home-flag.is-invalid .angel-lq-input { border-color: #ff6b6b; }
.angel-home-flag.is-invalid .angel-lq-msg { color: #ffb3b3; }
.angel-home-flag.is-received { border-color: #2ecc71 !important; box-shadow: 0 0 0 1px #2ecc71, 0 0 18px rgba(46,204,113,.35) !important; }
.angel-home-flag.is-received .angel-lq-msg { color: #7dffb0; font-weight: 500; }
.angel-lq-example { display: inline-block; margin-top: 6px; font-size: 10px; letter-spacing: .04em; padding: 2px 8px; border-radius: 99px; color: #ffd28a; border: 1px solid rgba(245,166,35,.6); background: rgba(245,166,35,.12); }
/* Upload Waste Transfer Documents (redesign 2026-10-12): large type, two equal big buttons in one glass drop zone.
   Sizes: title 30px, buttons 104px tall / 24px labels / 44px icons, hint 18px, list 17px. All white-on-dark (AA). */
body.pl-phone-on .pl-ut .pl-ev-head h1 { font-size: 30px; }
body.pl-phone-on .pl-ut .pl-ev-count { font-size: 18px; }
.pl-ut-drop { display: flex; flex-direction: column; align-items: stretch; gap: 14px; min-height: 0 !important; margin: 0 0 16px; padding: 18px 20px 14px;
  border-radius: 16px; border: 1.5px dashed rgba(255,255,255,.4); background: rgba(10,14,30,.45); backdrop-filter: blur(10px); }
.pl-ut-btns { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.pl-ut-big { display: flex; align-items: center; justify-content: center; gap: 16px; min-height: 104px; padding: 0 20px; border-radius: 16px; cursor: pointer;
  border: 1.5px solid rgba(255,255,255,.6); background: rgba(255,255,255,.12); color: #fff; font: 500 24px "Montserrat", sans-serif; letter-spacing: .01em; }
.pl-ut-big svg { width: 44px; height: 44px; flex: none; }
.pl-ut-big:hover { background: rgba(255,255,255,.2); }
.pl-ut-big:focus-visible { outline: 3px solid #ffd27a; outline-offset: 3px; }
.pl-ut-big.pl-ut-photo { border-color: #fff; background: rgba(255,255,255,.2); box-shadow: 0 0 0 1px rgba(255,255,255,.25), 0 8px 24px rgba(0,0,0,.25); flex-direction: row; margin: 0; width: auto; height: auto; }
.pl-ut-hint { margin: 0; text-align: center; font: 400 18px "Montserrat", sans-serif; color: rgba(255,255,255,.88); }
.pl-ut-listhead { margin: 0 0 10px; }
.pl-ut-listtitle { margin: 0; font: 400 20px "Montserrat", sans-serif; color: #fff; }
.pl-ut-send { font-size: 18px; min-height: 46px; }
.pl-ut-list { display: flex !important; flex-direction: column; gap: 8px; }
.pl-ut-frow { display: grid; grid-template-columns: 56px minmax(0,1fr) auto auto; gap: 12px; align-items: center; padding: 9px 14px; border-radius: 12px;
  border: 1px solid rgba(255,255,255,.16); background: rgba(10,14,30,.45); color: #fff; font: 400 17px/1.3 "Montserrat", sans-serif; }
.pl-ut-ext { text-align: center; font-size: 13px; font-weight: 600; letter-spacing: .06em; padding: 4px 0; border-radius: 6px; background: rgba(217,58,43,.85); }
.pl-ut-ext.xlsx { background: rgba(30,158,79,.9); } .pl-ut-ext.img { background: rgba(70,110,200,.9); }
.pl-ut-names { display: flex; flex-direction: column; min-width: 0; }
.pl-ut-names span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pl-ut-auto { font-size: 17px; color: rgba(255,255,255,.82); font-weight: 300; }
.pl-ut-status { display: inline-flex; align-items: center; gap: 6px; font-size: 17px; white-space: nowrap; }
.pl-ut-frow .pl-ev-devtag { margin: 0; font-size: 12px; }
/* tab row stays on one line with the longer names: tighten slightly on narrower screens (no wrapping) */
.pl-ev-tabs .pl-ev-tab, body.pl-phone-on .angel-client-home .angel-home-actions button { font-size: clamp(14px, 1.22vw, 18px) !important; padding-left: clamp(10px, 1.05vw, 17px) !important; padding-right: clamp(10px, 1.05vw, 17px) !important; white-space: nowrap; }
/* TALK TO MARINA removed from the phone at rest (HELP under the phone starts the call); its slot is END CALL during a call */
#pl-phone:not(.pl-on-call) #pl-marina { display: none !important; }
#pl-help { position: fixed; z-index: 2147483000; box-sizing: border-box; border-radius: 11px; border: 1px solid rgba(255,255,255,.55);
  background: rgba(255,255,255,.08); color: #fff; font-family: "Montserrat", sans-serif; font-weight: 700; letter-spacing: .16em; text-indent: .16em;
  display: grid; place-items: center; cursor: pointer; padding: 0; backdrop-filter: blur(8px); }
#pl-help:hover { background: rgba(255,255,255,.14); }
#pl-help:focus-visible { outline: none; box-shadow: 0 0 0 2px rgba(255,255,255,.85); }
#pl-help[hidden] { display: none !important; }
/* HF12 certified slot (replaces the green seal) */
.pl-ev-box.seal { border: 1px solid rgba(46,204,113,.45); background: rgba(10,14,30,.4); border-radius: 12px; }
.pl-ev-hf12 { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; width: 100%; height: 100%; padding: 6px 0; box-sizing: border-box; }
.pl-ev-hf12 img { height: 70%; max-height: 82px; width: auto; aspect-ratio: 1; object-fit: contain; filter: drop-shadow(0 0 8px rgba(255,210,120,.35)); }
.pl-ev-hf12-t { font: 500 14px/1 "Montserrat", sans-serif; letter-spacing: .08em; color: #8ff0b4; }
.pl-ev-dayhead { margin: 18px 0 8px !important; font: 400 19px/1.2 "Montserrat", sans-serif !important; color: #fff !important; letter-spacing: .01em; }
.pl-ev-list > .pl-ev-dayhead:first-child { margin-top: 4px !important; }
/* ---------- TIDY (iter-next, 2026-10-12): spacing / type-scale / radii consistency across the iPad pages ---------- */
/* 1. one page-title size on every iPad page */
body.pl-phone-on .angel-client-home .angel-home-head h1, body.pl-phone-on .pl-ev .pl-ev-head h1, body.pl-phone-on .pl-ut .pl-ev-head h1, body.pl-phone-on .pl-ab-head h1 { font-size: 32px !important; font-weight: 200 !important; line-height: 42px !important; }
/* 2. the "N actions" count looks the same everywhere */
body.pl-phone-on .pl-ev .pl-ev-count, body.pl-phone-on .pl-ut .pl-ev-count { font-size: 18px !important; font-weight: 300 !important; }
/* 3. same gap from title to tab row */
body.pl-phone-on .pl-ev .pl-ev-head, body.pl-phone-on .pl-ut .pl-ev-head { min-height: 42px; margin-bottom: 12px !important; }
/* 4. one card radius (14px) for flag cards, vault cards, the upload drop zone, upload rows and the About pane */
.pl-ut-drop, .pl-ab-pane { border-radius: 14px !important; }
.pl-ut-frow, .pl-ab-navitem, .pl-md-row { border-radius: 12px !important; }
.pl-ut-big { border-radius: 14px !important; }
/* 5. line-question Submit: a green pill like Start (it was rendering white) */
body.pl-phone-on .angel-client-home .angel-lq .angel-lq-submit { height: 38px; min-height: 0; padding: 0 20px !important; border-radius: 99px !important; border: 1px solid rgba(255,255,255,.45) !important;
  background: #2ecc71 !important; color: #fff !important; font: 600 15px "Montserrat", sans-serif !important; box-shadow: none !important; }
body.pl-phone-on .angel-client-home .angel-lq .angel-lq-submit:disabled { opacity: .55; }
body.pl-phone-on .angel-client-home .angel-lq-input { height: 38px; font-size: 15px; }
/* 6. vault card header text matches the red-flag card subtitle scale; pills align on the text centre line */
.pl-ev-top { align-items: center !important; gap: 10px !important; }
.pl-ev-top p { font-size: 14px !important; color: rgba(255,255,255,.82) !important; }
.pl-ev-top h2 { font-size: 16px !important; font-weight: 600 !important; }
/* 7. About: Back link sits where the other pages' title starts, title below with the same title-to-content gap */
.pl-ab-head { margin: 10px 0 12px !important; }
/* call captions: show only the current line so an older one can't sit half-clipped under "On a call with Marina" */
#pl-phone .pl-call-caps { justify-content: center !important; padding-top: calc(var(--ph) * 0.008); }
#pl-phone .pl-call-caps p.pl-cap:not(:last-child) { display: none; }
/* ---------- Vault optimisation (Spencer guide, 2026-10-12) ---------- */
/* 1. cards and their four slots fill the full content width (no capped slot columns / dead right column) */
body.pl-phone-on .pl-ev:not(.pl-ut) .pl-ev-boxes { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 12px; }
body.pl-phone-on .pl-ev:not(.pl-ut) .pl-ev-card { width: 100%; box-sizing: border-box; overflow: visible; }
/* 2. whole tidy borders: amber (live, slow 2s glow pulse) and green (certified), closed on all four sides */
.pl-ev-card.amber, .pl-ev-card.cert { border-width: 1.5px !important; border-style: solid !important; }
.pl-ev-card.amber { border-color: #f5a623 !important; animation: plAmberGlow 2s ease-in-out infinite; }
.pl-ev-card.cert { border-color: #2ecc71 !important; box-shadow: 0 0 10px rgba(46,204,113,.18) !important; }
@keyframes plAmberGlow { 0%,100% { box-shadow: 0 0 4px rgba(245,166,35,.25); } 50% { box-shadow: 0 0 18px rgba(245,166,35,.6), 0 0 2px rgba(245,166,35,.9) inset; } }
@media (prefers-reduced-motion: reduce) { .pl-ev-card.amber { animation: none; box-shadow: 0 0 10px rgba(245,166,35,.4); } }
/* 3. the last card scrolls fully clear of the Marina chat bar */
body.pl-phone-on .pl-ev:not(.pl-ut) .pl-ev-list { padding-bottom: 32px; }
/* 4. readable file names: wrap up to two lines instead of one truncated line */
body.pl-phone-on .pl-ev:not(.pl-ut) .pl-ev-body b, body.pl-phone-on .pl-ev:not(.pl-ut) .pl-ev-body span {
  white-space: normal !important; overflow: hidden; text-overflow: clip; display: -webkit-box !important; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow-wrap: anywhere; line-height: 1.3; }
/* HF12 Certified tile: same size as the other slots */
body.pl-phone-on .pl-ev:not(.pl-ut) .pl-ev-box.seal { display: flex; align-items: center; justify-content: center; height: 100%; min-height: 100%; cursor: pointer; padding: 6px; font: inherit; color: #fff; }
body.pl-phone-on .pl-ev:not(.pl-ut) .pl-ev-box.seal:hover { background: rgba(46,204,113,.10); }
body.pl-phone-on .pl-ev:not(.pl-ut) .pl-ev-box.seal:focus-visible { outline: 2px solid #8ff0b4; outline-offset: 2px; }
.pl-ev-hf12 img { height: auto !important; width: 56% !important; max-width: 84px; max-height: none !important; filter: drop-shadow(0 0 6px rgba(255,255,255,.25)) !important; }
.pl-ev-hf12-t { font-size: 15px !important; margin-top: 4px; }
/* vault card actions + support dialog */
.pl-ev-actions { display: flex; gap: 10px; justify-content: flex-end; margin-top: 10px; }
.pl-ev-act { height: 36px; padding: 0 16px; border-radius: 99px; border: 1px solid rgba(255,255,255,.45); background: rgba(255,255,255,.08); color: #fff; font: 400 14px "Montserrat", sans-serif; cursor: pointer; }
.pl-ev-act:hover { background: rgba(255,255,255,.16); }
.pl-ev-act:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
#pl-supconfirm[hidden] { display: none !important; }
#pl-supconfirm { position: fixed; z-index: 2147483002; left: 50%; top: 50%; transform: translate(-50%, -50%); width: min(460px, 80vw); box-sizing: border-box; padding: 22px 22px 18px;
  border-radius: 18px; background: rgba(6,10,24,.78); border: 1px solid rgba(255,255,255,.3); backdrop-filter: blur(14px); box-shadow: 0 18px 50px rgba(0,0,0,.5); color: #fff; font-family: "Montserrat", sans-serif; text-align: center; }
#pl-supconfirm p { margin: 0 0 12px; font-weight: 300; font-size: 17px; }
#pl-supconfirm textarea { width: 100%; box-sizing: border-box; margin: 0 0 14px; padding: 10px 12px; border-radius: 12px; border: 1px solid rgba(255,255,255,.35); background: rgba(255,255,255,.08); color: #fff; font: 300 15px/1.4 "Montserrat", sans-serif; resize: vertical; }
dialog.angel-repeat-dialog { z-index: 2147483003; }
/* ---------- Vault in-iPad document preview (dev samples, 2026-10-12) ---------- */
.pl-ev-pv { position: fixed; z-index: 2147482990; box-sizing: border-box; display: flex; flex-direction: column; gap: 12px; padding: 18px 22px;
  background: linear-gradient(160deg, rgba(14,58,74,.94), rgba(46,24,78,.94)); border-radius: 22px; backdrop-filter: blur(16px); color: #fff; font-family: "Montserrat", sans-serif; }
.pl-ev-pv-bar { display: flex; align-items: center; gap: 14px; }
.pl-ev-pv-t { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.pl-ev-pv-t b { font-weight: 500; font-size: 18px; }
.pl-ev-pv-t span { font-weight: 300; font-size: 13px; opacity: .8; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pl-ev-pv-body { flex: 1; min-height: 0; overflow: auto; border-radius: 14px; background: rgba(0,0,0,.25); border: 1px solid rgba(255,255,255,.18); padding: 14px; display: flex; justify-content: center; align-items: flex-start; }
.pl-ev-pv-page { max-width: 100%; height: auto; border-radius: 6px; box-shadow: 0 8px 26px rgba(0,0,0,.45); background: #fff; }
.pl-ev-pv-table { border-collapse: collapse; width: 100%; font-size: 15px; font-weight: 300; }
.pl-ev-pv-table th, .pl-ev-pv-table td { border: 1px solid rgba(255,255,255,.22); padding: 8px 10px; text-align: left; }
.pl-ev-pv-table th { font-weight: 500; background: rgba(255,255,255,.08); }
.pl-ev-pv-load { margin: auto; opacity: .8; font-weight: 300; }
/* ---------- Page fish on vault + upload (one fish; main fish hidden there) ---------- */
body.pl-phone-on.pl-ev-on #page-two-marina-btn, body.pl-phone-on.pl-ut-on #page-two-marina-btn { visibility: hidden !important; }
.pl-pagefish { position: fixed; z-index: 2147482980; width: 64px; height: 64px; left: -200px; top: -200px; pointer-events: none; opacity: 0;
  transition: left 1.1s cubic-bezier(.45,.05,.3,1), top 1.1s cubic-bezier(.45,.05,.3,1), opacity .35s; }
.pl-pagefish.on { opacity: 1; }
.pl-pagefish.dim { opacity: .55; }
.pl-pagefish button { pointer-events: auto; width: 100%; height: 100%; padding: 0; border: 0; background: none; cursor: pointer; animation: pl-fishbob 2.4s ease-in-out infinite; border-radius: 50%; }
.pl-pagefish button:focus-visible { outline: 2px solid #8ff0b4; outline-offset: 2px; }
.pl-pagefish img { width: 100%; height: 100%; object-fit: contain; transition: transform .45s; filter: drop-shadow(0 4px 8px rgba(0,0,0,.35)); }
@keyframes pl-fishbob { 0%,100% { transform: translateY(0) rotate(-3deg); } 50% { transform: translateY(-6px) rotate(3deg); } }
@media (prefers-reduced-motion: reduce) { .pl-pagefish, .pl-pagefish img { transition: none; } .pl-pagefish button { animation: none; } }
/* Marina caption pop-up sits ABOVE the HELP / LOG OUT pills (never covers them) */

/* Duplicate-download pop-up: glass style */
dialog.angel-repeat-dialog { background: rgba(6,10,24,.78) !important; color: #fff !important; border: 1px solid rgba(255,255,255,.3) !important; border-radius: 18px !important;
  backdrop-filter: blur(14px); box-shadow: 0 18px 50px rgba(0,0,0,.5); font-family: "Montserrat", sans-serif; text-align: center; padding: 24px 24px 18px !important; max-width: min(440px, 82vw) !important; }
dialog.angel-repeat-dialog::backdrop { background: rgba(4,8,20,.45); backdrop-filter: blur(2px); }
dialog.angel-repeat-dialog h2 { margin: 0 0 12px; font-weight: 400; font-size: 19px; line-height: 1.3; }
dialog.angel-repeat-dialog p { margin: 0 0 10px; font-weight: 300; font-size: 15px; line-height: 1.45; color: rgba(255,255,255,.88); }
dialog.angel-repeat-dialog button { min-height: 40px; margin: 8px 5px 0 !important; padding: 9px 20px !important; border-radius: 999px !important; border: 1px solid rgba(255,255,255,.45) !important;
  background: rgba(255,255,255,.08) !important; color: #fff !important; font: 400 14px "Montserrat", sans-serif !important; letter-spacing: .04em; cursor: pointer; }
dialog.angel-repeat-dialog button:hover { background: rgba(255,255,255,.18) !important; }
dialog.angel-repeat-dialog button:focus-visible { outline: 2px solid #8ff0b4; outline-offset: 2px; }
dialog.angel-repeat-dialog[open] { position: fixed !important; inset: 0 !important; margin: auto !important; height: fit-content; }
/* A Marina call (fish tap / HELP) takes over the phone even while the vault cycle runs */
#pl-phone.pl-vault-cycle.pl-on-call #pl-call:not([hidden]) { display: flex !important; }
#pl-phone.pl-vault-cycle.pl-on-call #pl-marina, #pl-phone.pl-vault-cycle.pl-on-call #pl-support { display: flex !important; justify-content: center; align-items: center; }
#pl-phone.pl-vault-cycle.pl-on-call .pl-vault-loader, #pl-phone.pl-vault-cycle.pl-on-call #pl-redflag { display: none !important; }
#pl-phone.pl-vault-cycle.pl-on-call .pl-controls { flex: 1 1 auto !important; min-height: auto !important; overflow: visible !important; }
/* ---------- Glenn real vault cards (dev, 2026-10-12): red rejected card, notes, history, missing + not-yet-issued slots ---------- */
.pl-ev-card.red { border: 1.5px solid #e74c3c !important; box-shadow: 0 0 10px rgba(231,76,60,.2) !important; }
.pl-ev-pill.red { color: #ffb3aa; border-color: rgba(231,76,60,.7); background: rgba(231,76,60,.14); }
.pl-ev-pill.red i { background: #e74c3c; }
.pl-ev-note { margin: 2px 0 10px; font: 300 14px/1.4 "Montserrat", sans-serif; color: rgba(255,255,255,.82); }
.pl-ev-history { margin: 0 0 12px; padding: 10px 12px; border-radius: 12px; border: 1px solid rgba(231,76,60,.35); background: rgba(231,76,60,.07); font: 300 13.5px/1.45 "Montserrat", sans-serif; color: rgba(255,255,255,.85); }
.pl-ev-history b { display: block; font-weight: 500; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: #ffb3aa; margin-bottom: 4px; }
.pl-ev-history p { margin: 2px 0; }
.pl-ev-box.missing, .pl-ev-box.certnone { cursor: default; opacity: .78; border-style: dashed !important; }
.pl-ev-box.missing .pl-ev-ban { background: rgba(245,166,35,.35) !important; }
.pl-ev-box.certnone .pl-ev-ban { background: rgba(255,255,255,.12) !important; color: rgba(255,255,255,.75); font-size: 13px; letter-spacing: .08em; }
.pl-ev-box.csv .pl-ev-ban { background: #2d7d9a; }
.pl-ev-pending { color: #ffd28a; font-style: italic; }
.pl-ev-pv-tablewrap { width: 100%; overflow: auto; }
.pl-ev-pv-table { font-size: 13px; white-space: nowrap; }
.pl-ev-pv-more { margin: 8px 2px 0; font: 300 12.5px "Montserrat", sans-serif; opacity: .75; }
/* ---------- Preview: all PDF pages (lazy) + XLSX sheet tabs with sticky header ---------- */
.pl-ev-pv-body.pl-ev-pv-pages { flex-direction: column; align-items: center; gap: 18px; }
.pl-ev-pv-pg { margin: 0; width: min(100%, 820px); display: flex; flex-direction: column; align-items: center; gap: 6px; }
.pl-ev-pv-ph { width: 100%; aspect-ratio: 1 / 1.414; display: flex; align-items: center; justify-content: center; border-radius: 6px; background: rgba(255,255,255,.06); border: 1px dashed rgba(255,255,255,.2); font: 300 14px "Montserrat", sans-serif; color: rgba(255,255,255,.7); }
.pl-ev-pv-pg .pl-ev-pv-page { width: 100%; }
.pl-ev-pv-pgno { font: 300 13px "Montserrat", sans-serif; color: rgba(255,255,255,.78); letter-spacing: .04em; }
.pl-ev-pv-sheetcol { width: 100%; min-height: 0; height: 100%; display: flex; flex-direction: column; gap: 10px; }
.pl-ev-pv-tabs { display: flex; gap: 8px; overflow-x: auto; padding: 2px 2px 6px; flex: 0 0 auto; scrollbar-width: thin; }
.pl-ev-pv-tab { flex: 0 0 auto; padding: 6px 14px; border-radius: 999px; border: 1px solid rgba(255,255,255,.3); background: rgba(255,255,255,.06); color: rgba(255,255,255,.85); font: 300 13px "Montserrat", sans-serif; cursor: pointer; white-space: nowrap; }
.pl-ev-pv-tab:hover { background: rgba(255,255,255,.14); }
.pl-ev-pv-tab.on { background: rgba(255,255,255,.22); border-color: rgba(255,255,255,.75); color: #fff; font-weight: 500; }
.pl-ev-pv-tab:focus-visible { outline: 2px solid #8ff0b4; outline-offset: 2px; }
.pl-ev-pv-sheetcol .pl-ev-pv-tablewrap { flex: 1 1 auto; min-height: 0; overflow: auto; border-radius: 10px; }
.pl-ev-pv-table th { position: sticky; top: 0; z-index: 1; background: rgba(28,40,70,.97) !important; }
/* ---------- About us explainer sequence (2026-10-12) ---------- */
.pl-ab-stage { flex: 1 1 auto; min-height: 0; margin-right: 28px; display: flex; }
.pl-ab-page { flex: 1; min-height: 0; display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 22px; padding: 18px; border-radius: 18px;
  border: 1px solid rgba(255,255,255,.16); background: rgba(10,14,30,.45); backdrop-filter: blur(10px); box-sizing: border-box; }
.pl-ab-page.noimg { grid-template-columns: minmax(0, 1fr); padding: 28px 34px; }
.pl-ab-shots { position: relative; min-height: 0; display: flex; gap: 12px; align-items: center; justify-content: center; border-radius: 14px; background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.12); padding: 10px; overflow: hidden; }
.pl-ab-shots img { max-width: 100%; max-height: 100%; min-width: 0; object-fit: contain; border-radius: 10px; box-shadow: 0 8px 24px rgba(0,0,0,.45); }
.pl-ab-shots.two img:first-child { flex: 3 1 0; } .pl-ab-shots.two img:last-child { flex: 1 1 0; }
.pl-ab-ex { position: absolute; left: 12px; bottom: 10px; font: 300 11px "Montserrat", sans-serif; letter-spacing: .04em; padding: 2px 9px; border-radius: 99px; color: rgba(255,255,255,.85); background: rgba(6,10,24,.7); border: 1px solid rgba(255,255,255,.25); }
.pl-ab-text { overflow-y: auto; display: flex; flex-direction: column; justify-content: center; }
.pl-ab-step { font: 300 12px "Montserrat", sans-serif; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.6); margin-bottom: 8px; }
.pl-ab-text h2 { margin: 0 0 14px; font-weight: 200; font-size: 32px; line-height: 1.15; letter-spacing: .01em; }
.pl-ab-text p { margin: 0 0 12px; font-weight: 300; font-size: 16px; line-height: 1.55; color: rgba(255,255,255,.9); }
.pl-ab-seqnav { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin: 14px 28px 0 0; }
.pl-ab-prev, .pl-ab-next { min-width: 110px; height: 38px; padding: 0 18px; border-radius: 999px; border: 1px solid rgba(255,255,255,.4); background: rgba(255,255,255,.08); color: #fff; font: 300 14px "Montserrat", sans-serif; letter-spacing: .04em; cursor: pointer; }
.pl-ab-prev:hover, .pl-ab-next:hover { background: rgba(255,255,255,.18); }
.pl-ab-prev:disabled { opacity: .35; cursor: default; }
.pl-ab-prev:focus-visible, .pl-ab-next:focus-visible, .pl-ab-dot:focus-visible { outline: 2px solid #8ff0b4; outline-offset: 2px; }
.pl-ab-dots { display: flex; gap: 10px; }
.pl-ab-dot { width: 10px; height: 10px; padding: 0; border-radius: 50%; border: 1px solid rgba(255,255,255,.55); background: transparent; cursor: pointer; }
.pl-ab-dot.on { background: #fff; box-shadow: 0 0 8px rgba(255,255,255,.6); }
.pl-ab-shots.two img:first-child { flex: 0 0 auto; width: 68%; height: auto; }
.pl-ab-shots.two img:last-child { flex: 0 0 auto; width: 26%; height: auto; }
.pl-ab-seqnav { margin-bottom: 34px; }
body.pl-phone-on.pl-ab-on .pl-ab { padding-bottom: 120px; }
/* Registration disabled (Spencer 2026-10-12): no device registration / sign-up UI anywhere */
#reg-divider, #btn-register-device, #register-screen, #step-register, #step-need-mobile { display: none !important; }
