:root{font:14px/1.55 Inter,Segoe UI,system-ui,sans-serif;color:#233755;background:#f5f7fc;font-synthesis:none}*{box-sizing:border-box}body{margin:0}a{color:#3267d5;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,summary{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #82aafa}[hidden]{display:none!important}#welcome-header{padding:54px 24px 20px;text-align:center}h1,h2,p{margin-top:0}h1{font-size:30px;letter-spacing:-.7px}h2{font-size:20px;letter-spacing:-.35px;font-weight:650;margin-bottom:12px}.eyebrow{font-size:10px;font-weight:750;letter-spacing:.14em;color:#8292ae;margin-bottom:8px}main{max-width:1180px;margin:auto;padding:24px}section{background:#fff;border:1px solid #e5eaf3;border-radius:15px;padding:26px;margin-bottom:22px;box-shadow:0 4px 22px #23375504}#login{max-width:470px;margin:0 auto}#login form{display:grid}.authenticated #welcome-header{display:none}.authenticated main{max-width:none;padding:0 30px 30px 272px}.sidebar{position:fixed;inset:0 auto 0 0;width:242px;background:linear-gradient(165deg,#122e63,#184d8c 80%,#1b6494);color:white;padding:30px 16px;display:flex;flex-direction:column;z-index:10}.brand{display:flex;align-items:center;gap:10px;font-size:20px;letter-spacing:-.5px;padding:0 8px 32px}.brand-icon{display:grid;place-items:center;background:#ffffff20;border-radius:12px;min-width:34px;height:34px;color:#7eddda}.sidebar-label{font-size:10px;letter-spacing:.13em;color:#b2c6e4;margin:0 8px 10px}.sidebar select{width:100%;font-size:12px;color:#173760;background:#fff;border:0;padding:13px 10px;min-width:0;margin-bottom:27px}.sidebar nav{display:grid;gap:6px}.sidebar nav a{padding:13px 12px;display:flex;gap:13px;align-items:center;color:#c6d8ee;border-radius:9px;font-weight:550}.sidebar nav a span{font-size:22px;width:25px;line-height:1}.sidebar nav a.active{background:#fff;color:#195fd0;box-shadow:0 4px 16px #0b255522}.sidebar nav a:hover:not(.active){background:#ffffff10;color:#fff}.sidebar-bottom{margin-top:auto;font-size:11px;color:#c4d6ec;padding:22px 8px 0}.sidebar-bottom p{margin:7px 0 0;color:#86a9d1}.privacy-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#61d5b0;margin-right:6px}.workspace-top{display:flex;justify-content:space-between;align-items:center;min-height:116px;padding:22px 0}.workspace-top h1{margin:0}.workspace-badge{font-size:12px;border:1px solid #dce6f5;color:#6b82a4;border-radius:20px;padding:6px 13px;background:#fff}.row{display:flex;justify-content:space-between;align-items:center;gap:16px}.row h2{margin:0}.muted{color:#7c8ba1;font-size:13px;margin:10px 0 18px}button{border:1px solid #2866db;background:#2866db;color:#fff;border-radius:8px;padding:10px 17px;cursor:pointer;font-weight:600;transition:background .15s}button:hover{background:#1c51b8}button.secondary{background:#eff5ff;border-color:#e6eeff;color:#3267cf}button:disabled{opacity:.5;cursor:default}form{display:flex;gap:16px;align-items:end;flex-wrap:wrap}label{display:grid;gap:7px;flex:1;min-width:160px;color:#62728a;font-size:12px;font-weight:600}input,select,textarea{border:1px solid #dce3ef;border-radius:8px;padding:11px 12px;color:#304463;background:#fff;width:100%;min-width:0}input[type=checkbox]{width:auto;justify-self:start}details{padding:18px 0;border-bottom:1px solid #edf0f7}summary{cursor:pointer;font-weight:600;color:#3c5679}details form,details p{margin-top:18px}pre{white-space:pre-wrap;overflow:auto;background:#f6f8fc;padding:18px;border-radius:10px;font-size:12px}.metrics{display:flex;gap:16px;margin:24px 0;padding:20px 0;border-top:1px solid #edf0f6;border-bottom:1px solid #edf0f6}.metrics>div{min-width:150px;border-right:1px solid #e6ebf4;padding:0 30px 0 4px}.metrics>div:last-child{border:0}.metrics strong{display:block;font-size:28px;line-height:1.25;letter-spacing:-.7px;color:#2458a8}.metrics span{font-size:11px;color:#8a98ac;letter-spacing:.025em}.filters{display:flex;gap:14px;align-items:end}.filters label{max-width:210px}.filters .search-label{max-width:none;flex:2}.table{overflow:auto;margin:0 -26px}table{width:100%;border-collapse:collapse;font-size:12px}th{font-size:10px;letter-spacing:.035em;color:#91a0b5;text-transform:uppercase;background:#fafbfe;white-space:nowrap;font-weight:650}th,td{text-align:left;padding:17px 15px;border-bottom:1px solid #edf1f7}th:first-child,td:first-child{padding-left:26px}td{color:#667995}tbody tr:hover{background:#f8faff}td:first-child{white-space:nowrap;color:#3e587d}.page-cell{max-width:250px;overflow-wrap:anywhere;color:#2b5cac}.test-badge{font-size:8px;background:#fff3de;color:#b17d25;padding:3px 6px;border-radius:4px;margin-left:7px;white-space:nowrap}.device-cell{white-space:nowrap}.session-actions{min-width:175px}.session-actions button{font-size:11px;padding:7px 9px;margin:2px;border:0}.play-action{background:#eaf2ff;color:#2866ce}.play-action:hover{color:#fff}.journey-action{background:transparent;color:#557297}.journey-action:hover{background:#eef3fa}.delete-action{background:transparent;color:#a3aebb;font-weight:400}.delete-action:hover{background:#fff0f0;color:#c45050}.empty-state{text-align:center;padding:55px!important;color:#899ab2!important;white-space:normal!important}iframe{width:100%;height:700px;border:1px solid #dce5f0;border-radius:10px;background:#f7f9fc}#status:empty{display:none}#status{white-space:pre-wrap;background:#fff3d9;color:#826126;padding:14px;border-radius:8px;margin-top:16px}#cloud-disable{margin-top:18px}.section-heading{display:flex;gap:16px;align-items:center;margin-bottom:24px}.section-heading h2{margin-bottom:3px}.section-heading p{margin:0}.heat-icon{display:grid;place-items:center;font-size:28px;color:#ed7956;background:#fff1e9;width:54px;height:54px;border-radius:13px;flex-shrink:0}.heat-empty{padding:24px;background:#f5f8ff;color:#6380aa;border:1px dashed #cfddf2;border-radius:10px;margin:24px 0}#heatmaps-section>p:last-child{font-size:12px;color:#8a98ac;margin-top:20px}#account-section form,#cloud-form{max-width:850px}section{scroll-margin-top:20px}@media(min-width:1600px){.workspace{max-width:1600px;margin:auto}}@media(max-width:1050px){.authenticated main{padding-left:228px;padding-right:18px}.sidebar{width:210px}.brand{font-size:17px}.metrics>div{min-width:100px;padding-right:18px}.filters{flex-wrap:wrap}.filters .search-label{flex-basis:100%}.workspace-top h1{font-size:26px}}@media(max-width:700px){.sidebar{position:static;width:100%;padding:18px 14px}.brand{padding:0 0 16px}.sidebar-label,.sidebar-bottom{display:none}.sidebar select{margin-bottom:12px}.sidebar nav{display:flex;overflow:auto;gap:6px}.sidebar nav a{white-space:nowrap;font-size:12px;padding:10px}.sidebar nav a span{font-size:16px;width:auto}.authenticated main{padding:0}.workspace{padding:0 12px 20px}.workspace-top{min-height:95px;padding:20px 4px}.workspace-top h1{font-size:25px}.workspace-badge{display:none}section{padding:18px;border-radius:12px}.table{margin:0 -18px}.metrics{gap:8px}.metrics>div{min-width:0;flex:1;padding:0 8px}.metrics strong{font-size:24px}.metrics span{font-size:10px}.filters label{min-width:130px;max-width:none}form{display:grid;width:100%}label{min-width:0}h2{font-size:17px}button{padding:10px 12px}iframe{height:70vh;min-height:480px}.section-heading{align-items:start}.heat-icon{width:42px;height:42px}.row{align-items:start}.row .secondary{font-size:11px}.eyebrow{font-size:9px}}

/* Dedicated replay surface: the recording list keeps its position underneath. */
html{scrollbar-gutter:stable}body.replay-open{overflow:hidden}
dialog#player-section{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:#eef3fa;color:#233755;overflow:hidden;box-shadow:0 0 70px #122e6350}
dialog#player-section[open]{display:flex;flex-direction:column;animation:replay-enter .28s cubic-bezier(.22,.7,.25,1)}
dialog#player-section::backdrop{background:#18335b55}
.replay-topbar{display:flex;align-items:center;gap:24px;flex-shrink:0;background:#fff;border-bottom:1px solid #dce6f4;padding:16px 22px;min-height:84px}
.replay-heading{min-width:0;flex:1}.replay-heading h2{font-size:17px;margin:0 0 4px}.replay-heading p{font-size:12px;margin:0;color:#7588a4;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.replay-tag{font-size:11px;padding:7px 12px;border-radius:20px;background:#edf4ff;color:#3b69ab}
#player-section #player{flex:1;min-height:0;width:100%;height:0;border:0;border-radius:0;display:block}
#replay-loading{margin:32px;color:#627b9c;font-size:15px}
@keyframes replay-enter{from{transform:translateX(-100%);opacity:.5}to{transform:translateX(0);opacity:1}}
@media(prefers-reduced-motion:reduce){dialog#player-section[open]{animation:none}}
@media(max-width:700px){.replay-topbar{padding:12px;gap:12px;flex-wrap:wrap;min-height:76px}.replay-topbar button{font-size:12px}.replay-tag{display:none}.replay-heading{flex-basis:100%}.replay-heading h2{display:none}#player-section #player{min-height:0;height:0}}

.billing-actions{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0}#customers-table button{margin:4px;font-size:12px}#stripe-webhook-url{white-space:pre-wrap;overflow-wrap:anywhere}#stripe-form{max-width:650px}[hidden]{display:none!important}

/* Page Viewer brand */
:root{background:#f6f8f2;color:#213a31}.sidebar{background:linear-gradient(165deg,#162d28,#254b3c);overflow-y:auto}.brand-icon{color:#b8ef65}.sidebar nav a.active{color:#244b34;background:#eff8e4}.sidebar nav a{padding-block:10px}.metrics strong{color:#315b3c}button{background:#254b3c}button:hover{background:#37674b}.workspace-badge{background:#eaf3df;color:#4b6939}.sidebar-label,.sidebar-bottom{color:#bcd1c1}.sidebar nav a{color:#d0dfd0}.eyebrow{color:#71876d}

.pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:22px}.pagination span{font-size:13px}.pagination button:disabled{opacity:.45;cursor:not-allowed}

.replay-row>td{padding:12px!important;background:#eef3fa}.replay-row section{margin:0!important}section#player-section{position:static;display:block;width:100%;background:#eef3fa}section#player-section[hidden]{display:none}section#player-section #player{display:block;width:100%;height:650px;border:0}section#player-section #player[hidden]{display:none}.replay-row .replay-topbar{padding:10px;min-height:0}.replay-row{overflow-anchor:none}

.access-card{max-width:490px!important;padding:36px!important}.access-card form{display:grid!important;gap:18px}.access-card form[hidden]{display:none!important}.access-card h2{font-size:28px;line-height:1.2}.access-card p{color:#71809a}.access-card .access-note{font-size:12px;line-height:1.6}.access-card .code-boxes{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.code-boxes input{text-align:center;font-size:25px;font-weight:650;padding:12px 0}.access-back{border:0;background:transparent!important;color:#3562bc;margin-top:18px;padding:6px 0}#mail-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}@media(max-width:600px){.access-card{padding:23px!important}.access-card .code-boxes{gap:5px}#mail-settings{grid-template-columns:1fr}}

/* Mobile identity stays in view; navigation is an explicit vertical menu. */
.brand-row{display:flex;align-items:center;justify-content:space-between}#menu-toggle{display:none}
@media(max-width:700px){
 .authenticated .sidebar{position:sticky;inset:auto;top:0;z-index:100;overflow:visible;padding:10px 12px;box-shadow:0 3px 12px #102b2520}
 .brand-row{gap:12px;margin-bottom:8px}.sidebar .brand{padding:0;min-width:0;font-size:18px;gap:9px}.sidebar .brand-icon{min-width:30px;height:30px;border-radius:9px}
 #menu-toggle{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:7px 10px;border:1px solid #ffffff35;color:white;background:#ffffff0d;font-size:12px}
 #menu-toggle svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
 #menu-toggle[aria-expanded=true]{background:#ffffff25}
 .sidebar #projects{margin:0;width:100%;height:42px;padding:9px 12px;font-size:13px}
 .sidebar #main-navigation{display:none;position:absolute;top:100%;left:0;right:0;max-height:calc(100vh - 130px);max-height:calc(100dvh - 130px);overflow-y:auto;overscroll-behavior:contain;padding:10px 12px 16px;background:#1c3c31;border-top:1px solid #ffffff20;box-shadow:0 10px 18px #102b2530}
 .sidebar.mobile-menu-open #main-navigation{display:grid;gap:4px}
 .sidebar #main-navigation a{min-height:44px;white-space:normal;font-size:14px;padding:11px 12px;align-items:center}
 .sidebar #main-navigation a span{width:24px;font-size:20px}
 html{scroll-padding-top:124px}
}

.pv-logo{display:inline-block;flex:none;vertical-align:middle;object-fit:contain}.access-card>.pv-logo{margin-bottom:18px}

/* Responsive access, without disabling browser zoom. */
.access-card{width:100%;min-width:0;overflow-wrap:anywhere}.access-card form{grid-template-columns:minmax(0,1fr)}.access-card form>*{min-width:0;max-width:100%}.access-card label{min-width:0}.access-card input{width:100%;min-width:0;max-width:100%;font-size:16px}.access-card .code-boxes input{font-size:25px}@media(max-width:600px){body:not(.authenticated) main{padding:16px}.access-card h2{font-size:26px}.access-card button{white-space:normal}}

.access-card .remember-choice{display:flex;align-items:center;gap:10px;font-size:14px}.access-card .remember-choice input{width:20px;height:20px;flex:0 0 20px}

.stats-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:22px 0}.stats-summary>div{padding:20px;background:#f3f6fc;border-radius:12px;display:grid;gap:5px}.stats-summary strong{font-size:28px;color:#235bb4}.stats-summary span{font-size:12px;color:#62728a}.stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.stats-card{border:1px solid #e2e8f2;border-radius:12px;padding:20px;min-width:0}.stats-card h3{margin:0 0 18px}.stats-card p{font-size:14px;line-height:1.6}.stats-wide{grid-column:1/-1}.stats-map svg{width:100%;max-height:350px;display:block}.stats-map path[tabindex]{cursor:pointer}.stats-map path:focus{stroke:#112c66;stroke-width:2}.stats-rank{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 16px;margin:12px 0;font-size:13px}.stats-rank span{overflow-wrap:anywhere}.stats-rank i{grid-column:1/-1;height:5px;background:#4882da;border-radius:4px}.stats-days{display:flex;align-items:end;gap:5px;overflow-x:auto;padding-bottom:12px}.stats-days>div{flex:1;min-width:22px;display:flex;align-items:center;flex-direction:column;gap:5px;font-size:11px}.stats-days i{width:100%;background:#4882da;border-radius:3px 3px 0 0}.stats-table-scroll{overflow-x:auto}.stats-hours{width:100%;border-collapse:separate;border-spacing:3px;min-width:660px}.stats-hours td,.stats-hours th{padding:5px;text-align:center;font-size:11px}.stats-check{display:flex;align-items:center;gap:8px}.stats-check input{width:18px;height:18px}@media(max-width:700px){.stats-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stats-grid{grid-template-columns:minmax(0,1fr)}.stats-card{padding:15px}.stats-summary>div{padding:15px}}

.stats-scroll-controls{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid #e2e8f2}.stats-scroll-controls span{font-size:12px;color:#5a7190;text-align:center}.stats-scroll-controls button{min-width:40px;min-height:40px;padding:7px;background:#edf3ff;color:#3267cf;border-color:#dce6f5}.stats-weekday{font-size:11px;color:#597698}.stats-hours th:first-child{position:sticky;left:0;background:white;z-index:1}

.heat-number-setting{display:flex;align-items:center;gap:8px;margin:14px 0}.heat-color-key{display:flex;align-items:center;gap:10px;max-width:370px;font-size:13px}.heat-color-key i{height:12px;flex:1;min-width:70px;border-radius:20px;background:linear-gradient(90deg,#0055ff,#00ddff,#ffff00,#ff0000)}

.replay-row,#player-section,#playback{overflow-anchor:none;scroll-margin-top:90px}

/* Catalogue forms share the panel spacing without changing recording controls. */
#plan-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:850px;margin:24px 0 32px}#plan-form label{min-width:0}#plan-form input:not([type=checkbox]){width:100%;min-width:0}#plan-form .billing-actions,#plan-status{grid-column:1/-1}#plan-form label:has(input[type=checkbox]){grid-column:1/-1;display:flex;align-items:center;gap:10px}#plan-form input[type=checkbox]{width:auto}#admin-plans,#billing-plans{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}#admin-plans strong,#billing-plans strong{font-size:21px;overflow-wrap:anywhere}#admin-plans p,#billing-plans p{font-size:16px}#platform-stripe>details{margin-top:30px}@media(max-width:600px){#plan-form{grid-template-columns:1fr}}
