:root{--pp-bg: #f5f7fa;--pp-surface: #ffffff;--pp-ink: #1a1f36;--pp-muted: #6b7280;--pp-line: #e5e9f0;--pp-blue: #0070ba;--pp-blue-deep: #003087;--pp-blue-hover: #005ea6;--pp-ok: #0d7a3f;--pp-ok-bg: #e8f8ef;--pp-warn: #b45309;--pp-warn-bg: #fff7ed;--pp-bad: #c81e1e;--pp-bad-bg: #fef2f2;--pp-shadow: 0 8px 28px rgba(0, 48, 135, .08);--pp-radius: 16px;--pp-radius-sm: 12px;--font-display: "Outfit", "Plus Jakarta Sans", sans-serif;--font-body: "Manrope", sans-serif;color-scheme:light;--bg: var(--pp-bg);--bg-elevated: var(--pp-surface);--ink: var(--pp-ink);--muted: var(--pp-muted);--line: var(--pp-line);--accent: var(--pp-blue);--accent-deep: var(--pp-blue-deep);--danger: var(--pp-bad);--warn: var(--pp-warn);--ok: var(--pp-ok);--shadow: var(--pp-shadow);--radius: var(--pp-radius)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:var(--font-body);background:var(--pp-bg);color:var(--pp-ink);line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.pp-page{min-height:100vh;min-height:100dvh;background:radial-gradient(ellipse 80% 50% at 100% -10%,rgba(0,112,186,.12),transparent 55%),radial-gradient(ellipse 60% 40% at -10% 20%,rgba(0,48,135,.08),transparent 50%),var(--pp-bg)}.home-page{position:relative;isolation:isolate;min-height:100vh;min-height:100dvh;overflow:hidden;color:#0b1f18;background:#f3faf6}.home-atmosphere{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}.home-blob{position:absolute;border-radius:50%;filter:blur(64px);opacity:.85;animation:home-drift 18s ease-in-out infinite alternate}.home-blob--a{width:min(58vw,520px);height:min(58vw,520px);left:-8%;top:-12%;background:radial-gradient(circle,#9ff0c8,#9ff0c800 70%)}.home-blob--b{width:min(70vw,640px);height:min(70vw,640px);right:-18%;top:18%;background:radial-gradient(circle,#7eb6ff,#7eb6ff00 72%);animation-delay:-6s}.home-blob--c{width:min(55vw,480px);height:min(55vw,480px);left:28%;bottom:-22%;background:radial-gradient(circle,#b6ffd9,#b6ffd900 70%);animation-delay:-11s}.home-web{position:absolute;inset:0;width:100%;height:100%;color:#0f5a4024;animation:home-web-pulse 10s ease-in-out infinite}@keyframes home-drift{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(3%,4%,0) scale(1.08)}}@keyframes home-web-pulse{0%,to{opacity:.55}50%{opacity:.9}}.home-topbar,.home-hero{position:relative;z-index:1}.home-topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem clamp(1.1rem,4vw,2.5rem)}.home-brand{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--font-display);font-weight:800;letter-spacing:-.03em;color:#0b1f18}.home-nav-link{font-weight:700;color:#3d6354;padding:.45rem .7rem;border-radius:999px;transition:background .15s ease,color .15s ease}.home-nav-link:hover{background:#0f5a4014;color:#0b1f18}.home-hero{min-height:calc(100dvh - 4.5rem);display:grid;place-content:center;justify-items:center;text-align:center;gap:.85rem;padding:1.5rem 1.25rem 3.5rem}.home-title{margin:0;font-family:var(--font-display);font-size:clamp(3.4rem,12vw,6.2rem);font-weight:800;letter-spacing:-.055em;line-height:.92;color:#07160f;animation:home-rise .75s ease both}.home-lede{margin:0;max-width:28rem;color:#3d6354;font-size:clamp(1rem,2.4vw,1.15rem);line-height:1.5;animation:home-rise .75s ease .1s both}.home-cta{display:inline-flex;align-items:center;justify-content:center;margin-top:.55rem;padding:.95rem 1.45rem;border-radius:999px;font-weight:800;color:#03140d;background:linear-gradient(135deg,#1fa87a,#7cffb2 55%,#d7ffe9);box-shadow:0 0 0 1px #1fa87a40,0 12px 32px #1fa87a47;transition:transform .15s ease,filter .15s ease;animation:home-rise .75s ease .16s both}.home-cta:hover{transform:translateY(-2px);filter:brightness(1.03)}.home-domain{margin:.35rem 0 0;font-size:.82rem;font-weight:700;letter-spacing:.04em;color:#6f8b7d;animation:home-rise .75s ease .2s both}@keyframes home-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.pp-topbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.9rem clamp(1rem,4vw,2rem);background:#ffffffdb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--pp-line);position:sticky;top:0;z-index:20}.pp-brand{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--font-display);font-weight:700;color:var(--pp-blue-deep);letter-spacing:-.02em}.pp-chip{font-size:.78rem;font-weight:600;color:var(--pp-blue-deep);background:#e8f1fa;border-radius:999px;padding:.35rem .7rem;white-space:nowrap}.pp-shell{width:min(640px,calc(100% - 2rem));margin:0 auto;padding:1.5rem 0 3.5rem}.pp-center{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center;gap:.75rem}.pp-kicker{margin:0 0 .4rem;font-size:.85rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--pp-blue)}.pp-display{margin:0 0 .75rem;font-family:var(--font-display);font-size:clamp(1.85rem,6vw,2.6rem);font-weight:800;letter-spacing:-.03em;color:var(--pp-blue-deep);line-height:1.15}.pp-title{margin:0 0 .5rem;font-family:var(--font-display);font-size:clamp(1.35rem,4vw,1.75rem);font-weight:700;color:var(--pp-blue-deep)}.pp-lede{margin:0 0 1.5rem;color:var(--pp-muted);font-size:1.02rem}.pp-muted{color:var(--pp-muted);font-size:.92rem}.pp-error{color:var(--pp-bad);font-weight:600;margin:.75rem 0 0}.pp-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:0;border-radius:999px;padding:.85rem 1.4rem;font-weight:700;cursor:pointer;transition:background .15s ease,transform .12s ease,box-shadow .15s ease}.pp-btn:disabled{opacity:.55;cursor:not-allowed}.pp-btn-primary{background:var(--pp-blue);color:#fff;box-shadow:0 6px 16px #0070ba47}.pp-btn-primary:hover:not(:disabled){background:var(--pp-blue-hover);transform:translateY(-1px)}.pp-btn-secondary{background:#fff;color:var(--pp-blue-deep);border:1px solid var(--pp-line)}.pp-btn-xl{width:100%;max-width:360px;padding:1rem 1.5rem;font-size:1.05rem}.pp-linkish{margin-top:.85rem;background:none;border:0;color:var(--pp-blue);font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.pp-welcome{display:flex;flex-direction:column;align-items:flex-start;padding-top:2rem}.pp-welcome .pp-btn-xl{align-self:stretch;max-width:none}.pp-bullets{margin:1.75rem 0 0;padding:0;list-style:none;display:grid;gap:.55rem;width:100%}.pp-bullets li{background:var(--pp-surface);border:1px solid var(--pp-line);border-radius:var(--pp-radius-sm);padding:.85rem 1rem;font-weight:600;color:var(--pp-ink);box-shadow:var(--pp-shadow)}.pp-bullets li:before{content:"✓ ";color:var(--pp-blue)}.pp-scanning,.pp-results{padding-top:1.25rem}.pp-progress-ring{--p: 0;width:112px;height:112px;border-radius:50%;margin:0 auto 1rem;display:grid;place-items:center;background:conic-gradient(var(--pp-blue) calc(var(--p) * 1%),#dbe7f3 0);animation:pp-pulse 1.6s ease-in-out infinite}.pp-progress-ring span{width:88px;height:88px;border-radius:50%;background:var(--pp-surface);display:grid;place-items:center;font-family:var(--font-display);font-weight:800;font-size:1.35rem;color:var(--pp-blue-deep)}@keyframes pp-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}.pp-step{text-align:center;color:var(--pp-muted);min-height:1.5em;margin:0 0 1rem}.pp-bar{height:8px;border-radius:999px;background:#dbe7f3;overflow:hidden;margin-bottom:1.5rem}.pp-bar-fill{height:100%;background:linear-gradient(90deg,var(--pp-blue),var(--pp-blue-deep));border-radius:inherit;transition:width .35s ease}.pp-module-list{list-style:none;margin:0;padding:0;display:grid;gap:.65rem}.pp-module{display:flex;align-items:center;justify-content:space-between;gap:.75rem;background:var(--pp-surface);border:1px solid var(--pp-line);border-radius:var(--pp-radius);padding:.95rem 1rem;box-shadow:var(--pp-shadow);animation:pp-rise .35s ease both}.pp-module--pending{opacity:.55}.pp-module--running{border-color:#0070ba73;box-shadow:0 0 0 3px #0070ba1f}.pp-module-btn{width:100%;text-align:left;cursor:pointer;font:inherit;color:inherit;transition:transform .12s ease,border-color .12s ease}.pp-module-btn:hover{transform:translateY(-1px);border-color:var(--pp-blue)}.pp-module-main{display:grid;gap:.15rem;min-width:0}.pp-module-main strong{font-family:var(--font-display);font-size:.98rem;color:var(--pp-blue-deep)}.pp-module-meta{font-size:.8rem;color:var(--pp-muted)}.pp-score-pill{flex-shrink:0;min-width:2.6rem;text-align:center;font-weight:800;font-family:var(--font-display);border-radius:999px;padding:.4rem .55rem;background:var(--pp-ok-bg);color:var(--pp-ok)}.pp-module[data-tone=warn] .pp-score-pill,.pp-module-btn[data-tone=warn] .pp-score-pill{background:var(--pp-warn-bg);color:var(--pp-warn)}.pp-module[data-tone=bad] .pp-score-pill,.pp-module-btn[data-tone=bad] .pp-score-pill{background:var(--pp-bad-bg);color:var(--pp-bad)}.pp-dot{width:10px;height:10px;border-radius:50%;background:var(--pp-blue);animation:pp-blink .9s ease-in-out infinite}@keyframes pp-blink{0%,to{opacity:1}50%{opacity:.25}}@keyframes pp-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.pp-overall{display:inline-flex;align-items:baseline;gap:.65rem;background:var(--pp-surface);border:1px solid var(--pp-line);border-radius:var(--pp-radius);padding:1rem 1.25rem;margin-bottom:1rem;box-shadow:var(--pp-shadow)}.pp-overall-num{font-family:var(--font-display);font-size:2.6rem;font-weight:800;color:var(--pp-ok);line-height:1}.pp-overall[data-tone=warn] .pp-overall-num{color:var(--pp-warn)}.pp-overall[data-tone=bad] .pp-overall-num{color:var(--pp-bad)}.pp-overall-label{font-weight:700;color:var(--pp-muted)}.pp-spinner{width:36px;height:36px;border:3px solid #dbe7f3;border-top-color:var(--pp-blue);border-radius:50%;animation:pp-spin .7s linear infinite}@keyframes pp-spin{to{transform:rotate(360deg)}}.pp-modal-root{position:fixed;inset:0;z-index:80;display:grid;place-items:end center;padding:0}@media(min-width:640px){.pp-modal-root{place-items:center;padding:1.25rem}}.pp-modal-backdrop{position:absolute;inset:0;border:0;background:#1a1f3673;cursor:pointer}.pp-modal{position:relative;z-index:1;width:min(560px,100%);max-height:min(92dvh,900px);background:var(--pp-surface);border-radius:20px 20px 0 0;box-shadow:0 -8px 40px #0000002e;display:flex;flex-direction:column;animation:pp-sheet .28s ease}@media(min-width:640px){.pp-modal{border-radius:20px;box-shadow:var(--pp-shadow)}}@keyframes pp-sheet{0%{transform:translateY(24px);opacity:.6}to{transform:none;opacity:1}}.pp-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.15rem 1.2rem .5rem}.pp-modal-head h2{margin:0;font-family:var(--font-display);font-size:1.25rem;color:var(--pp-blue-deep)}.pp-icon-btn{border:0;background:#f0f3f8;width:2rem;height:2rem;border-radius:999px;font-size:1.35rem;line-height:1;cursor:pointer;color:var(--pp-muted)}.pp-modal-body{padding:.5rem 1.2rem 1rem;overflow:auto;-webkit-overflow-scrolling:touch}.pp-modal-body h3{margin:1rem 0 .4rem;font-size:.95rem;color:var(--pp-blue-deep)}.pp-modal-body ul{margin:.35rem 0 .75rem;padding-left:1.15rem;color:var(--pp-ink)}.pp-terms-group{margin:.65rem 0;padding:.75rem .85rem;background:var(--pp-bg);border-radius:var(--pp-radius-sm)}.pp-terms-group strong{display:block;margin-bottom:.25rem;color:var(--pp-blue-deep);font-size:.9rem}.pp-modal-foot{display:flex;gap:.65rem;justify-content:flex-end;flex-wrap:wrap;padding:.85rem 1.2rem calc(.95rem + env(safe-area-inset-bottom));border-top:1px solid var(--pp-line);background:#fff}.pp-modal-foot .pp-btn{flex:1 1 auto;min-width:120px}.pp-finding-cards{list-style:none;margin:0;padding:0;display:grid;gap:.65rem}.pp-finding-cards li{border:1px solid var(--pp-line);border-radius:var(--pp-radius-sm);padding:.85rem;background:var(--pp-bg)}.pp-finding-cards li[data-status=threat]{border-color:#fecaca;background:var(--pp-bad-bg)}.pp-finding-cards li[data-status=warning]{border-color:#fed7aa;background:var(--pp-warn-bg)}.pp-finding-top{display:flex;justify-content:space-between;gap:.5rem;margin-bottom:.35rem}.pp-finding-cards strong{display:block;margin-bottom:.25rem;color:var(--pp-blue-deep)}.pp-finding-cards p{margin:0 0 .4rem;font-size:.9rem;color:var(--pp-ink)}.pp-finding-cat{font-size:.75rem;color:var(--pp-muted)}.pp-sev{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em;padding:.2rem .45rem;border-radius:999px;background:#e8f1fa;color:var(--pp-blue-deep)}.pp-sev--critical,.pp-sev--high{background:var(--pp-bad-bg);color:var(--pp-bad)}.pp-sev--medium{background:var(--pp-warn-bg);color:var(--pp-warn)}.pp-score-mini{font-weight:800;font-size:.85rem;color:var(--pp-ok)}.pp-score-mini[data-tone=warn]{color:var(--pp-warn)}.pp-score-mini[data-tone=bad]{color:var(--pp-bad)}.lede,.admin-sub{color:var(--pp-muted);max-width:40rem}.btn-ghost{background:#fff;color:var(--pp-blue-deep);border:1px solid var(--pp-line)}.btn:disabled{opacity:.55;cursor:not-allowed}.eyebrow{margin:0 0 .35rem;font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--pp-blue)}.stack-form{display:grid;gap:.85rem;margin-top:1.25rem;background:var(--pp-surface);border:1px solid var(--pp-line);border-radius:var(--pp-radius);padding:1.25rem;box-shadow:var(--pp-shadow)}.stack-form label{display:grid;gap:.35rem;font-weight:600;font-size:.9rem}.stack-form input,.stack-form select,.stack-form textarea,.admin-shell input,.admin-shell select,.admin-shell textarea,.modal input,.modal select,.modal textarea{width:100%;border:1px solid var(--pp-line);border-radius:10px;padding:.7rem .8rem;background:#fff;color:var(--pp-ink)}.form-error{color:var(--pp-bad);margin:0;font-weight:600}.admin-shell{width:min(1120px,calc(100% - 1.5rem));margin:0 auto;padding:1.25rem 0 3rem}.admin-top{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;align-items:flex-start;margin-bottom:1.25rem}.admin-top h1{margin:0;font-family:var(--font-display);font-size:clamp(1.4rem,4vw,1.9rem);color:var(--pp-blue-deep)}.admin-top-actions{display:flex;flex-wrap:wrap;gap:.5rem}.stat-row,.admin-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-bottom:1rem}@media(min-width:720px){.stat-row,.admin-stats{grid-template-columns:repeat(4,minmax(0,1fr))}}.stat-card,.admin-stats>*{background:var(--pp-surface);border:1px solid var(--pp-line);border-radius:var(--pp-radius-sm);padding:.9rem 1rem;box-shadow:var(--pp-shadow)}.tab-row,.admin-tabs{display:flex;gap:.4rem;overflow-x:auto;padding-bottom:.35rem;margin-bottom:1rem;-webkit-overflow-scrolling:touch}.tab-row button,.admin-tabs button{flex:0 0 auto;border:1px solid var(--pp-line);background:#fff;border-radius:999px;padding:.55rem .95rem;font-weight:700;color:var(--pp-muted);cursor:pointer}.tab-row button[aria-selected=true],.tab-row button.active,.admin-tabs button[aria-selected=true],.admin-tabs button.active{background:var(--pp-blue-deep);border-color:var(--pp-blue-deep);color:#fff}.panel,.user-card,.list-card,.active-card,.block-card{background:var(--pp-surface);border:1px solid var(--pp-line);border-radius:var(--pp-radius);padding:1rem;margin-bottom:.75rem;box-shadow:var(--pp-shadow)}.user-card-head,.card-head,.row-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:space-between}.row-actions{justify-content:flex-start}.session-list{list-style:none;margin:.75rem 0 0;padding:0;display:grid;gap:.45rem}.session-list button,.session-row{width:100%;text-align:left;border:1px solid var(--pp-line);background:var(--pp-bg);border-radius:10px;padding:.75rem;cursor:pointer;color:inherit}.pill,.badge{display:inline-flex;align-items:center;border-radius:999px;padding:.2rem .55rem;font-size:.75rem;font-weight:700;background:#e8f1fa;color:var(--pp-blue-deep)}.notice,.banner-ok{background:var(--pp-ok-bg);color:var(--pp-ok);border-radius:10px;padding:.75rem 1rem;margin-bottom:.75rem;font-weight:600}.modal-root{position:fixed;inset:0;z-index:70;display:grid;place-items:end center;background:#1a1f3666}@media(min-width:640px){.modal-root{place-items:center;padding:1rem}}.modal{width:min(560px,100%);max-height:92dvh;overflow:auto;background:#fff;border-radius:20px 20px 0 0;padding:1.15rem;box-shadow:var(--pp-shadow)}@media(min-width:640px){.modal{border-radius:20px}}.modal h2{margin:0 0 .75rem;font-family:var(--font-display);color:var(--pp-blue-deep)}.modal-actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end;margin-top:1rem}.admin-card,.admin-card.section{background:var(--pp-surface);border:1px solid var(--pp-line);border-radius:var(--pp-radius);padding:1rem;margin-bottom:.85rem;box-shadow:var(--pp-shadow)}.section-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.75rem}.section-head h2{margin:0;font-family:var(--font-display);font-size:1.1rem;color:var(--pp-blue-deep)}.admin-tabs button.is-active{background:var(--pp-blue-deep);border-color:var(--pp-blue-deep);color:#fff}.user-directory,.user-rows{list-style:none;margin:0;padding:0;display:grid;gap:.65rem}.user-block{border:1px solid var(--pp-line);border-radius:var(--pp-radius-sm);padding:.75rem;background:var(--pp-bg)}.user-block-head{display:flex;flex-wrap:wrap;gap:.5rem;align-items:flex-start;justify-content:space-between}.user-toggle{border:0;background:transparent;text-align:left;cursor:pointer;color:inherit;padding:0;flex:1 1 200px}.user-toggle strong{display:block;font-family:var(--font-display);color:var(--pp-blue-deep)}.user-meta,.meta,.table-sub{color:var(--pp-muted);font-size:.82rem}.chevron{margin-right:.35rem;color:var(--pp-blue)}.btn-danger{background:var(--pp-bad-bg);color:var(--pp-bad);border:1px solid #fecaca}.session-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:.75rem}.session-table{width:100%;border-collapse:collapse;font-size:.88rem;min-width:520px}.session-table th,.session-table td{text-align:left;padding:.55rem .4rem;border-bottom:1px solid var(--pp-line);vertical-align:top}.session-table th{color:var(--pp-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.03em}.session-title-btn{border:0;background:none;color:var(--pp-blue);font-weight:700;cursor:pointer;padding:0;text-align:left}.status-chip{display:inline-flex;border-radius:999px;padding:.15rem .5rem;font-size:.72rem;font-weight:800;text-transform:uppercase;background:#e8f1fa;color:var(--pp-blue-deep)}.status-chip--completed{background:var(--pp-ok-bg);color:var(--pp-ok)}.status-chip--active,.status-chip--pending{background:#e8f1fa;color:var(--pp-blue)}.status-chip--expired,.status-chip--blocked{background:var(--pp-bad-bg);color:var(--pp-bad)}.table-actions{white-space:nowrap}.table-actions .btn{padding:.4rem .65rem;font-size:.8rem;margin:.15rem}.geo-layout{display:grid;gap:.85rem}@media(min-width:860px){.geo-layout{grid-template-columns:1fr 1fr;align-items:start}}.empty{color:var(--pp-muted);margin:.5rem 0}.empty.tight{margin:.35rem 0}.form-notice,.banner-msg.form-notice{background:var(--pp-ok-bg);color:var(--pp-ok);border-radius:10px;padding:.75rem 1rem;font-weight:600}.banner-msg.form-error{background:var(--pp-bad-bg);padding:.75rem 1rem;border-radius:10px}@media(max-width:520px){.admin-top-actions,.row-actions,.cta-row,.modal-actions{width:100%}.admin-top-actions .btn,.row-actions .btn,.modal-actions .btn{flex:1 1 auto}.pp-shell{width:min(100% - 1.25rem,640px)}.user-block-head{flex-direction:column}.row-actions{width:100%}}.vault-page{min-height:100vh;min-height:100dvh;position:relative;overflow-x:hidden;background:radial-gradient(ellipse 80% 50% at 50% -8%,rgba(61,255,163,.22),transparent 55%),radial-gradient(ellipse 55% 40% at 100% 100%,rgba(43,212,168,.12),transparent 50%),linear-gradient(180deg,#04140e,#060d0a 40%,#030a07);color:#e8f6ef}.vault-page--boot{display:grid;place-items:center}.vault-topbar,.vault-shell,.vault-boot{position:relative;z-index:1}.vault-topbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.9rem clamp(1rem,4vw,1.75rem);border-bottom:1px solid rgba(124,255,178,.14);background:#04100cd1;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);position:sticky;top:0;z-index:40}.vault-brand{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--font-display);font-weight:700;color:#7cffb2;letter-spacing:-.02em}.vault-chip{font-size:.78rem;font-weight:700;color:#c9f7df;background:#7cffb21a;border:1px solid rgba(124,255,178,.22);border-radius:999px;padding:.4rem .75rem}.vault-shell{width:min(560px,calc(100% - 1.5rem));margin:0 auto;padding:1.15rem 0 3.25rem}.vault-center{text-align:center;display:grid;gap:.85rem;place-items:center;padding-top:3rem}.vault-boot{text-align:center;display:grid;gap:1.1rem;place-items:center}.vault-boot p{margin:0;color:#9ec9b3;font-weight:600}.vault-loader{display:flex;gap:.45rem}.vault-loader span{width:9px;height:9px;border-radius:50%;background:#7cffb2;box-shadow:0 0 12px #7cffb2b3;animation:vault-bounce .9s ease-in-out infinite}.vault-loader span:nth-child(2){animation-delay:.12s}.vault-loader span:nth-child(3){animation-delay:.24s}@keyframes vault-bounce{0%,80%,to{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-6px)}}.vault-kicker{margin:0 0 .25rem;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#7cffb2}.vault-display{margin:0 0 .55rem;font-family:var(--font-display);font-size:clamp(1.65rem,5.5vw,2.15rem);font-weight:800;letter-spacing:-.035em;color:#f4fff9;line-height:1.12}.vault-flag-inline{font-size:.92em}.vault-lede{margin:0 0 1rem;color:#9ec9b3;font-size:.98rem;line-height:1.5}.vault-lede strong{color:#e8f6ef}.vault-hint{color:#8eab9c;margin:0 0 .85rem;font-size:.92rem}.vault-error{color:#ff8f8f;font-weight:700;margin-top:.85rem}.vault-actions{display:grid;gap:.55rem;margin-top:.35rem}.vault-shell--results{padding-bottom:5.5rem}.vault-purge-bar{position:sticky;bottom:.75rem;z-index:30;margin-top:1rem;padding:.65rem;border-radius:18px;background:linear-gradient(180deg,#040e0a66,#040e0af5 35%);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,143,143,.22);box-shadow:0 -8px 28px #00000059}.vault-purge-bar .vault-btn{width:100%;margin:0}.vault-sheet-actions{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;width:100%}.vault-sheet-actions:has(>:only-child){grid-template-columns:1fr}.vault-sheet-actions--triple{grid-template-columns:1fr}@media(min-width:560px){.vault-sheet-actions--triple{grid-template-columns:1fr 1fr 1fr}}.vault-sheet-actions .vault-btn{width:100%;min-height:2.85rem;margin:0}.mail-compose{display:grid;gap:.85rem}.mail-seg{display:grid;grid-template-columns:1fr 1fr;gap:.35rem;padding:.3rem;border-radius:14px;background:#040e0abf;border:1px solid rgba(124,255,178,.14)}.mail-seg button{border:0;border-radius:10px;padding:.65rem .75rem;background:transparent;color:#8eab9c;font-weight:800;font-size:.86rem;cursor:pointer;font-family:var(--font-body)}.mail-seg button.is-active{background:linear-gradient(135deg,#1fa87a,#7cffb2);color:#03140d;box-shadow:0 0 18px #3dffa340}.mail-grid{display:grid;gap:.85rem}@media(min-width:860px){.mail-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;min-height:420px}}.mail-editor,.mail-preview{display:flex;flex-direction:column;gap:.65rem;min-width:0}.mail-form-grid{display:grid;gap:.7rem}@media(min-width:560px){.mail-form-grid{grid-template-columns:1fr 1fr}.mail-field--full{grid-column:1 / -1}}.mail-field{display:grid;gap:.35rem}.mail-field--grow{flex:1;min-height:0}.mail-field span{font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#7cffb2}.mail-field input,.mail-field select,.mail-field textarea{width:100%;border:1px solid rgba(124,255,178,.18);border-radius:12px;padding:.75rem .85rem;background:#06140f;color:#e8f6ef;font:inherit;resize:vertical}.mail-field textarea{min-height:220px;line-height:1.45}.mail-field input:focus,.mail-field select:focus,.mail-field textarea:focus{outline:none;border-color:#7cffb273;box-shadow:0 0 0 3px #3dffa31f}.mail-field input[readonly]{opacity:.75}.mail-hint{margin:0;color:#8eab9c;font-size:.82rem;line-height:1.4}.mail-notice{margin:0;color:#7cffb2;font-weight:700;font-size:.86rem}.mail-preview{border-radius:16px;border:1px solid rgba(124,255,178,.16);background:#040c09e6;overflow:hidden;min-height:320px}.mail-preview-head{display:flex;justify-content:space-between;gap:.5rem;align-items:center;padding:.7rem .85rem;border-bottom:1px solid rgba(124,255,178,.12);background:#7cffb20d}.mail-preview-head strong{color:#f2fff8;font-family:var(--font-display);font-size:.92rem}.mail-preview-head span{color:#8eab9c;font-size:.75rem;font-weight:700}.mail-frame{flex:1;width:100%;min-height:340px;border:0;background:#07110e;display:block}.vault-btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:14px;padding:.85rem 1.2rem;font-weight:800;cursor:pointer;font-family:var(--font-body);transition:transform .12s ease,filter .12s ease,box-shadow .12s ease}.vault-btn:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.2)}.vault-btn-glow{color:#03140d;background:linear-gradient(135deg,#1fa87a,#3dffb0 45%,#b6ffd9);box-shadow:0 0 0 1px #7cffb273,0 0 32px #3dffa373,0 12px 28px #00000073}.vault-btn-glow:hover:not(:disabled){filter:brightness(1.06);transform:translateY(-1px)}.vault-btn-xl{width:100%;font-size:1rem;padding:.95rem 1.25rem}.vault-btn-ghost{background:#7cffb20f;color:#d7efe4;border:1px solid rgba(124,255,178,.22)}.vault-btn-danger{color:#fff4f4;background:linear-gradient(135deg,#8a1f2a,#d64545 55%,#ff8f8f);box-shadow:0 0 0 1px #ff8f8f59,0 0 28px #d6454547,0 12px 28px #00000073}.vault-btn-danger:hover:not(:disabled){filter:brightness(1.05);transform:translateY(-1px)}.vault-text-btn{display:block;width:100%;margin-top:.85rem;background:none;border:0;color:#7cffb2;font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:.5rem}.vault-id{margin:0 0 .95rem;padding:.85rem .9rem;border-radius:16px;border:1px solid rgba(124,255,178,.18);background:linear-gradient(160deg,#10281ef2,#08140feb);box-shadow:0 0 0 1px #7cffb20d,0 12px 28px #0000004d}.vault-id-flag{display:flex;align-items:center;gap:.8rem;margin-bottom:.95rem}.vault-flag{font-size:2rem;line-height:1;filter:drop-shadow(0 0 8px rgba(124,255,178,.25))}.vault-id-flag strong{display:block;font-family:var(--font-display);color:#f2fff8;font-size:1.05rem}.vault-id-flag span{color:#8eab9c;font-size:.8rem}.vault-id-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.vault-id-wide{grid-column:1 / -1}.vault-id-grid h3{margin:0 0 .4rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.07em;color:#7cffb2}.vault-id-grid ul{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}.vault-id-grid li{font-size:.88rem;color:#d7efe4;word-break:break-word;padding:.5rem .6rem;border-radius:10px;background:#7cffb212;border:1px solid rgba(124,255,178,.1)}.vault-id-empty{color:#8eab9c!important;font-style:italic;background:transparent!important;border-style:dashed!important}.vault-progress-wrap{text-align:center;margin-bottom:1.25rem}.vault-progress-wrap h1{margin:.85rem 0 .35rem;font-family:var(--font-display);font-size:clamp(1.4rem,4vw,1.75rem);color:#f2fff8}.vault-ring{--p: 0;width:132px;height:132px;margin:0 auto;border-radius:50%;background:conic-gradient(#7cffb2 calc(var(--p) * 1%),#7cffb21a 0);display:grid;place-items:center;box-shadow:0 0 48px #7cffb247}.vault-ring-inner{width:104px;height:104px;border-radius:50%;background:#07140f;display:grid;place-items:center;align-content:center;gap:.1rem}.vault-ring-inner strong{font-family:var(--font-display);font-size:1.65rem;color:#7cffb2;line-height:1}.vault-ring-inner span{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:#8eab9c}.vault-step{min-height:1.4em;margin:0 0 .9rem;color:#9ec9b3}.vault-bar{height:7px;border-radius:999px;background:#7cffb21f;overflow:hidden}.vault-bar>div{height:100%;background:linear-gradient(90deg,#1fa87a,#7cffb2);box-shadow:0 0 16px #7cffb2a6;transition:width .28s ease}.vault-score-card{display:grid;gap:.7rem;margin:0 0 .95rem;padding:.9rem 1rem;border-radius:16px;border:1px solid rgba(124,255,178,.22);background:#081610f2;box-shadow:0 0 28px #7cffb21f}.vault-overall{display:inline-flex;align-items:baseline;gap:.65rem;margin:0;padding:0;border:0;background:none;box-shadow:none}.vault-overall strong{font-family:var(--font-display);font-size:clamp(2.35rem,8vw,2.9rem);color:#7cffb2;line-height:1}.vault-score-card[data-tone=warn] .vault-overall strong,.vault-overall[data-tone=warn] strong{color:#ffc857}.vault-score-card[data-tone=bad] .vault-overall strong,.vault-overall[data-tone=bad] strong{color:#ff7a7a}.vault-overall span{color:#8eab9c;font-weight:700}.vault-score-meta{display:flex;flex-wrap:wrap;gap:.4rem}.vault-score-meta span{display:inline-flex;align-items:center;gap:.28rem;padding:.26rem .55rem;border-radius:999px;font-size:.74rem;font-weight:700;color:#9ec9b3;background:#7cffb214;border:1px solid rgba(124,255,178,.12)}.vault-score-meta b{color:#e8f6ef;font-weight:800}.vault-dump-card{margin:.35rem 0 0;padding:1.05rem 1rem;border-radius:16px;border:1px solid rgba(255,143,143,.28);background:linear-gradient(160deg,#300e12f2,#0c080af2);text-align:center}.vault-dump-card--sheet{margin:.25rem 0 0}.vault-dump-label{display:block;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#ff8f8f;margin-bottom:.4rem}.vault-dump-pin{display:block;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:clamp(1.35rem,5vw,1.75rem);letter-spacing:.12em;word-break:break-all;color:#fff4f4;margin:0 0 .75rem}.vault-dump-pin--gone{letter-spacing:.2em;opacity:.55}.vault-dump-actions{display:grid;gap:.45rem;margin:0 0 .75rem}.vault-dump-actions .vault-btn{width:100%}.vault-dump-card p{margin:0;color:#e0b4b4;font-size:.9rem;line-height:1.45}.vault-terminate-timer{margin:.75rem 0 0!important;font-weight:800;color:#ffc857!important;font-variant-numeric:tabular-nums}.brand-mark{display:inline-grid;place-items:center;line-height:0;background:transparent}.brand-mark svg{display:block;filter:drop-shadow(0 0 10px rgba(61,255,163,.55)) drop-shadow(0 0 22px rgba(124,255,178,.35))}.vault-dump-loading{display:grid;gap:.9rem;place-items:center;padding:1.4rem .5rem;text-align:center;color:#9ec9b3;font-weight:600}.vault-modules{list-style:none;margin:0 0 .75rem;padding:0;display:grid;gap:.45rem}.vault-mod{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.78rem .85rem;border-radius:14px;border:1px solid rgba(124,255,178,.16);background:#08140fe6;animation:pp-rise .3s ease both;transition:border-color .15s ease,transform .12s ease,box-shadow .15s ease}.vault-mod--pending{opacity:.4}.vault-mod--running{border-color:#7cffb280;box-shadow:0 0 0 1px #7cffb226,0 0 28px #7cffb22e}.vault-mod>div{display:grid;gap:.18rem;min-width:0}.vault-mod strong{font-family:var(--font-display);color:#f2fff8;font-size:.98rem}.vault-mod span{font-size:.78rem;color:#8eab9c}.vault-mod em{font-style:normal;font-family:var(--font-display);font-weight:800;min-width:2.6rem;text-align:center;padding:.4rem .55rem;border-radius:999px;background:#7cffb224;color:#7cffb2}.vault-mod[data-tone=warn] em,.vault-mod-btn[data-tone=warn] em{background:#ffc85729;color:#ffc857}.vault-mod[data-tone=bad] em,.vault-mod-btn[data-tone=bad] em{background:#ff7a7a29;color:#ff7a7a}.vault-mod-btn{width:100%;text-align:left;cursor:pointer;font:inherit;color:inherit}.vault-mod-btn:hover{border-color:#7cffb280;box-shadow:0 0 24px #7cffb229;transform:translateY(-1px)}.vault-mod-btn:active{transform:translateY(0)}.vault-pulse{width:10px;height:10px;border-radius:50%;background:#7cffb2;box-shadow:0 0 14px #7cffb2;animation:pp-blink .85s ease-in-out infinite}.vault-findings{list-style:none;margin:0;padding:0;display:grid;gap:.65rem}.vault-findings li{padding:.9rem;border-radius:14px;border:1px solid rgba(124,255,178,.14);background:#05100cf2}.vault-findings li[data-status=threat]{border-color:#ff7a7a66;background:#300e0e8c}.vault-findings li[data-status=warning],.vault-findings li[data-status=partial],.vault-findings li[data-verdict=partial]{border-color:#ffc85766;background:#30220873}.vault-find-top{display:flex;justify-content:space-between;gap:.5rem;margin-bottom:.35rem}.vault-findings strong{display:block;color:#f2fff8;margin-bottom:.25rem}.vault-findings p{margin:0 0 .35rem;color:#c5e0d3;font-size:.9rem}.vault-findings small{color:#8eab9c}.vault-verdict{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;padding:.2rem .5rem;border-radius:999px}.vault-verdict--positive{background:#7cffb224;color:#7cffb2}.vault-verdict--partial{background:#ffc85729;color:#ffc857}.vault-verdict--negative{background:#ff7a7a29;color:#ff7a7a}.vault-sev{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;padding:.2rem .45rem;border-radius:999px;background:#7cffb21f;color:#7cffb2}.vault-sev--critical,.vault-sev--high{background:#ff7a7a29;color:#ff7a7a}.vault-sev--medium{background:#ffc85729;color:#ffc857}.ps-overlay{position:fixed;inset:0;z-index:120;display:grid;place-items:end center}@media(min-width:640px){.ps-overlay{place-items:center;padding:1.25rem}}.ps-overlay__dim{position:absolute;inset:0;border:0;background:#000604b8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:pointer}.ps-overlay--admin .ps-overlay__dim{background:#1018288c}.ps-dialog{position:relative;z-index:1;width:min(540px,100%);max-height:min(92dvh,880px);animation:ps-up .22s cubic-bezier(.22,1,.36,1)}.ps-dialog--wide{width:min(820px,100%)}@keyframes ps-up{0%{transform:translateY(28px);opacity:0}to{transform:none;opacity:1}}.ps-dialog__chrome{display:flex;flex-direction:column;max-height:min(92dvh,880px);border-radius:24px 24px 0 0;overflow:hidden;background:linear-gradient(180deg,#0e2219,#0a1812);border:1px solid rgba(124,255,178,.22);box-shadow:0 0 0 1px #7cffb20f,0 0 60px #3dffa31f,0 24px 60px #0000008c;color:#e8f6ef}.ps-overlay--admin .ps-dialog__chrome{background:#fff;color:#1a1f36;border:1px solid #e5e9f0;box-shadow:0 24px 60px #0f172a38}@media(min-width:640px){.ps-dialog__chrome{border-radius:22px}}.ps-dialog__handle{width:44px;height:4px;border-radius:999px;background:#7cffb247;margin:.6rem auto 0}.ps-overlay--admin .ps-dialog__handle{background:#d5dbe6}.ps-dialog__head{display:flex;justify-content:space-between;gap:1rem;padding:.85rem 1.25rem .55rem}.ps-dialog__titles h2{margin:0;font-family:var(--font-display);font-size:1.25rem;color:#7cffb2;letter-spacing:-.02em}.ps-overlay--admin .ps-dialog__titles h2{color:#003087}.ps-dialog__titles p{margin:.3rem 0 0;font-size:.88rem;color:#8eab9c}.ps-overlay--admin .ps-dialog__titles p{color:#6b7280}.ps-dialog__x{width:2.15rem;height:2.15rem;border:0;border-radius:999px;background:#7cffb21a;color:#b7f5d4;display:grid;place-items:center;cursor:pointer;flex-shrink:0}.ps-overlay--admin .ps-dialog__x{background:#eef1f6;color:#6b7280}.ps-dialog__body{padding:.25rem 1.25rem 1rem;overflow:auto;-webkit-overflow-scrolling:touch}.ps-dialog__foot{display:flex;flex-direction:column;gap:0;padding:.85rem 1.15rem calc(.95rem + env(safe-area-inset-bottom));border-top:1px solid rgba(124,255,178,.14);background:#040e0ae6}.ps-overlay--admin .ps-dialog__foot{border-top-color:#e5e9f0;background:#f8fafc}.ps-dialog__foot>*{width:100%}.ps-dialog__foot .vault-btn,.ps-dialog__foot .vault-btn-glow{margin-top:0}.ps-section{margin-bottom:1rem}.ps-section h3{margin:0 0 .45rem;font-size:.82rem;text-transform:uppercase;letter-spacing:.06em;color:#7cffb2}.ps-overlay--admin .ps-section h3{color:#0070ba}.ps-section ul{margin:0;padding-left:1.1rem;color:#cfe9dc}.ps-overlay--admin .ps-section ul{color:#374151}.ps-cov{margin:.55rem 0;padding:.75rem .85rem;border-radius:12px;background:#7cffb20f;border:1px solid rgba(124,255,178,.12)}.ps-cov strong{display:block;margin-bottom:.3rem;color:#f2fff8;font-size:.9rem}.ps-cov ul{margin:0;padding-left:1.05rem;font-size:.86rem;color:#9ec9b3}.modal-form{box-shadow:none!important;border:0!important;padding:0!important;background:transparent!important;margin:0!important}.form-grid{display:grid;gap:.75rem}@media(min-width:560px){.form-grid{grid-template-columns:1fr 1fr}}.hint{margin:0;color:var(--pp-muted);font-size:.88rem}.modal-actions{display:flex;flex-wrap:wrap;gap:.55rem;justify-content:flex-end;margin-top:.5rem}.modal-actions .btn{flex:1 1 120px}.btn-open-scan{background:linear-gradient(135deg,#0070ba,#003087)!important;color:#fff!important;border:0!important}.admin-app{min-height:100vh;min-height:100dvh;background:radial-gradient(ellipse 70% 40% at 0% 0%,rgba(61,255,163,.12),transparent 50%),radial-gradient(ellipse 50% 35% at 100% 0%,rgba(0,112,186,.08),transparent 45%),#070f0c;color:#e8f6ef}.admin-bar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.9rem clamp(1rem,4vw,2rem);border-bottom:1px solid rgba(124,255,178,.14);background:#040e0ae0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:sticky;top:0;z-index:40}.admin-brand{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--font-display);font-weight:700;color:#7cffb2}.admin-signout{background:none;border:0;color:#9ec9b3;font-weight:700;cursor:pointer}.admin-signout:hover{color:#7cffb2}.admin-main{width:min(1100px,calc(100% - 1.5rem));margin:0 auto;padding:1.25rem 0 3.5rem}.admin-login{width:min(420px,calc(100% - 2rem));margin:3rem auto}.admin-kicker{margin:0 0 .35rem;font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#7cffb2}.admin-login h1,.admin-hero h1{margin:0 0 .5rem;font-family:var(--font-display);font-size:clamp(1.5rem,4vw,2rem);color:#f2fff8;letter-spacing:-.03em}.admin-lede,.admin-hero p{margin:0;color:#9ec9b3;line-height:1.5}.admin-login-form{display:grid;gap:.85rem;margin-top:1.25rem;padding:1.15rem;border-radius:18px;border:1px solid rgba(124,255,178,.16);background:#0a1612e6}.admin-login-form label{display:grid;gap:.35rem;font-weight:600;font-size:.9rem}.admin-login-form input,.admin-login-form select{width:100%;border:1px solid rgba(124,255,178,.18);border-radius:12px;padding:.75rem .85rem;background:#06140f;color:#e8f6ef}.admin-btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:.7rem 1.1rem;font-weight:800;cursor:pointer;font-family:var(--font-body);font-size:.9rem;white-space:nowrap}.admin-btn:disabled{opacity:.5;cursor:not-allowed}.admin-btn-primary{background:#0070ba;color:#fff;box-shadow:0 6px 16px #0070ba47}.admin-btn-glow{color:#03140d;background:linear-gradient(135deg,#1fa87a,#7cffb2 60%,#b6ffd9);box-shadow:0 0 0 1px #7cffb259,0 0 22px #3dffa347}.admin-btn-ghost{background:#7cffb20f;color:#d7efe4;border:1px solid rgba(124,255,178,.18)}.admin-btn-danger{background:#ff7a7a1f;color:#ff8f8f;border:1px solid rgba(255,122,122,.28)}.admin-hero{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;align-items:flex-start;margin-bottom:1.15rem}.admin-hero-actions{display:flex;flex-wrap:wrap;gap:.5rem}.admin-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-bottom:1rem}@media(min-width:720px){.admin-stats{grid-template-columns:repeat(4,minmax(0,1fr))}}.admin-stat{padding:.9rem 1rem;border-radius:14px;border:1px solid rgba(124,255,178,.14);background:#0a1612e0}.admin-stat span{display:block;font-size:.75rem;color:#8eab9c;text-transform:uppercase;letter-spacing:.04em;font-weight:700}.admin-stat strong{font-family:var(--font-display);font-size:1.55rem;color:#7cffb2}.admin-tabs{display:flex;gap:.4rem;overflow-x:auto;padding-bottom:.35rem;margin-bottom:1rem;-webkit-overflow-scrolling:touch}.admin-tabs button{flex:0 0 auto;border:1px solid rgba(124,255,178,.16);background:#0a1612cc;border-radius:999px;padding:.55rem .95rem;font-weight:700;color:#8eab9c;cursor:pointer}.admin-tabs button.is-active{background:#7cffb2;border-color:#7cffb2;color:#03140d}.admin-banner{background:#7cffb21f;color:#7cffb2;border-radius:12px;padding:.75rem 1rem;font-weight:700;margin-bottom:.75rem}.admin-banner--err,.admin-error{background:#ff7a7a1f;color:#ff8f8f;border-radius:12px;padding:.75rem 1rem;font-weight:700;margin:0 0 .75rem}.admin-panel{border:1px solid rgba(124,255,178,.14);background:#08120eeb;border-radius:18px;padding:1rem;margin-bottom:.85rem}.admin-panel-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.85rem}.admin-panel-head h2{margin:0;font-family:var(--font-display);font-size:1.1rem;color:#f2fff8}.admin-empty{color:#8eab9c;margin:.35rem 0}.admin-users{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}.admin-user{border:1px solid rgba(124,255,178,.12);border-radius:14px;padding:.85rem;background:#040c09a6}.admin-user-head{display:flex;flex-wrap:wrap;gap:.65rem;align-items:flex-start;justify-content:space-between}.admin-user-toggle{border:0;background:transparent;color:inherit;text-align:left;cursor:pointer;display:flex;gap:.45rem;align-items:flex-start;padding:0;flex:1 1 220px}.admin-user-toggle strong{display:block;font-family:var(--font-display);color:#f2fff8}.admin-chevron{color:#7cffb2}.admin-flag{font-size:1.25rem;line-height:1.2}.admin-meta{display:block;color:#8eab9c;font-size:.82rem}.admin-actions{display:flex;flex-wrap:wrap;gap:.4rem}.admin-sessions{margin-top:.75rem;display:grid;gap:.55rem}.admin-session{display:flex;flex-wrap:wrap;gap:.65rem;justify-content:space-between;align-items:center;padding:.8rem;border-radius:12px;border:1px solid rgba(124,255,178,.12);background:#7cffb20a}.admin-session--solo{margin:0}.admin-session-main{display:grid;gap:.2rem;min-width:0;flex:1 1 200px}.admin-session-main strong{color:#f2fff8;font-family:var(--font-display)}.admin-session-chips{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.25rem}.admin-chip{display:inline-flex;border-radius:999px;padding:.18rem .55rem;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em;background:#7cffb21a;color:#7cffb2}.admin-chip--completed{background:#7cffb229;color:#7cffb2}.admin-chip--active,.admin-chip--pending{background:#0070ba33;color:#7eb6ff}.admin-chip--expired,.admin-chip--blocked{background:#ff7a7a29;color:#ff8f8f}.admin-geo{display:grid;gap:.85rem}@media(min-width:860px){.admin-geo{grid-template-columns:1fr 1fr;align-items:start}}@media(max-width:560px){.admin-hero-actions,.admin-actions{width:100%}.admin-hero-actions .admin-btn,.admin-actions .admin-btn{flex:1 1 auto}}.session-detail{display:grid;gap:.95rem}.admin-detail-loading{margin:0;font-size:.85rem;font-weight:700;color:#7cffb2}.detail-block-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.55rem}.detail-block-head h3{margin:0}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.detail-tile{padding:.7rem;border-radius:12px;background:#7cffb20f;border:1px solid rgba(124,255,178,.1)}.ps-overlay--admin .detail-tile{background:#f5f7fa;border-color:#e5e9f0}.detail-tile span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:#8eab9c;margin-bottom:.2rem}.detail-tile strong{color:inherit}.detail-block h3{margin:0 0 .5rem;font-size:.95rem}.link-code{display:block;word-break:break-all;font-size:.8rem;padding:.65rem;border-radius:10px;background:#00000040}.ps-overlay--admin .link-code{background:#f0f3f8}.summary-strip{display:flex;flex-wrap:wrap;gap:.5rem}.summary-strip span{padding:.35rem .65rem;border-radius:999px;background:#7cffb21a;font-size:.8rem;font-weight:700}.dual-strip{margin:.35rem 0 .55rem}.dual-pill{display:inline-flex;padding:.22rem .55rem;border-radius:999px;font-size:.68rem;font-weight:800;letter-spacing:.04em}.dual-pill--positive{background:#7cffb224;color:#7cffb2}.dual-pill--partial{background:#ffc85729;color:#ffc857}.dual-pill--negative{background:#ff7a7a29;color:#ff8f8f}.dual-grid{display:grid;gap:.5rem;grid-template-columns:1fr}@media(min-width:640px){.dual-grid{grid-template-columns:1fr 1fr}}.dual-card{padding:.65rem .7rem;border-radius:12px;border:1px solid rgba(124,255,178,.14);background:#04100cb8}.dual-card span{display:block;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#8eab9c;margin-bottom:.2rem}.dual-card strong{display:block;font-size:.9rem;color:#f2fff8;margin-bottom:.25rem}.dual-card p{margin:0;font-size:.8rem;color:#c5e0d3;line-height:1.4}.dual-card small{display:block;margin-top:.3rem;color:#8eab9c;font-size:.72rem}.finding-list{list-style:none;margin:.55rem 0 0;padding:0;display:grid;gap:.45rem}.finding-list>li{border-radius:14px;border:1px solid rgba(124,255,178,.14);background:#08140fe0;overflow:hidden}.finding-toggle{width:100%;border:0;background:transparent;color:inherit;text-align:left;padding:.8rem .85rem;cursor:pointer;font:inherit}.finding-toggle:hover{background:#7cffb20d}.finding-top{display:flex;justify-content:space-between;gap:.5rem;align-items:center;margin-bottom:.35rem}.finding-cat{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#8eab9c}.finding-toggle strong{display:block;color:#f2fff8;font-family:var(--font-display);margin-bottom:.2rem}.finding-preview{margin:0;color:#9ec9b3;font-size:.84rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.finding-body{padding:.75rem .85rem .85rem;border-top:1px solid rgba(124,255,178,.1)}.street-panel{display:grid;gap:.7rem;padding:.85rem;border-radius:16px;border:1px solid rgba(124,255,178,.16);background:#06120deb}.street-panel--empty{opacity:.9}.street-panel-head{display:flex;flex-wrap:wrap;gap:.65rem;justify-content:space-between;align-items:flex-start}.street-panel-head strong{display:block;color:#f2fff8;font-family:var(--font-display)}.street-panel-head p{margin:.25rem 0 0;color:#9ec9b3;font-size:.86rem;line-height:1.4}.street-panel-links{display:flex;flex-wrap:wrap;gap:.4rem}.street-preview{position:relative;display:block;width:100%;border:0;padding:0;border-radius:12px;overflow:hidden;cursor:pointer;background:#04140e}.street-preview img{display:block;width:100%;height:180px;object-fit:cover}.street-preview span{position:absolute;inset:auto 0 0;padding:.55rem .75rem;background:linear-gradient(transparent,#000000bf);color:#e8f6ef;font-weight:700;font-size:.82rem;text-align:left}.street-leaflet{width:100%;height:260px;border-radius:12px;overflow:hidden;border:1px solid rgba(124,255,178,.14);background:#04140e;z-index:0}.street-leaflet .leaflet-control-attribution{font-size:10px;background:#040e0ad9;color:#9ec9b3}.street-coords{margin:.2rem 0 0!important;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem!important;color:#7cffb2!important}.street-note{margin:0;color:#8eab9c;font-size:.8rem;line-height:1.45}.kv{display:grid;gap:.4rem;margin:0}.kv>div{display:grid;grid-template-columns:100px 1fr;gap:.35rem}.kv dt{color:#8eab9c;margin:0}.kv dd{margin:0;word-break:break-word}.kv-wide{grid-template-columns:1fr!important}
