:root{
  --rp-navy:#082d55;
  --rp-blue:#164b7d;
  --rp-teal:#16b7bd;
  --rp-teal-dark:#0a818b;
  --rp-ink:#10243c;
  --rp-muted:#64758a;
  --rp-surface:#ffffff;
  --rp-bg:#f3f7fb;
  --rp-line:#d7e1eb;
  --rp-soft:#eaf3f8;
  --rp-shadow:0 10px 28px rgba(11,45,81,.11);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html{min-height:100%;background:var(--rp-bg)}
body{margin:0;min-height:100vh;background:linear-gradient(180deg,#eaf5f8 0,#f5f8fb 220px,#f3f7fb 100%);color:var(--rp-ink)}
button,input{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
[hidden]{display:none!important}
.mobile-app-shell{min-height:100vh;display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom)}
.mobile-topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:calc(10px + env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 10px max(16px,env(safe-area-inset-left));background:rgba(8,45,85,.97);box-shadow:0 4px 18px rgba(8,45,85,.18);backdrop-filter:blur(12px)}
.mobile-brand{display:flex;align-items:center;gap:11px;color:#fff;text-decoration:none;min-width:0}
.mobile-brand img{width:48px;height:48px;border-radius:14px;object-fit:cover;box-shadow:0 2px 10px rgba(0,0,0,.24)}
.mobile-brand span{display:grid;gap:1px;min-width:0}
.mobile-brand strong{font-size:1rem;line-height:1.15;white-space:nowrap}
.mobile-brand small{font-size:.68rem;color:#9ee8ea;white-space:nowrap}
.mobile-install-button{border:1px solid rgba(255,255,255,.55);background:#fff;color:var(--rp-navy);font-weight:800;border-radius:12px;padding:10px 14px;min-height:44px}
.mobile-main{width:min(100%,980px);margin:0 auto;padding:22px max(16px,env(safe-area-inset-right)) 28px max(16px,env(safe-area-inset-left));flex:1}
.mobile-card{background:var(--rp-surface);border:1px solid var(--rp-line);border-radius:20px;box-shadow:var(--rp-shadow)}
.mobile-status-card{display:flex;align-items:center;gap:16px;padding:24px}
.mobile-status-card h1,.mobile-card h1{margin:0 0 5px;font-size:1.35rem}
.mobile-status-card p{margin:0;color:var(--rp-muted)}
.mobile-spinner{width:34px;height:34px;border-radius:999px;border:4px solid #dce9ee;border-top-color:var(--rp-teal);animation:rpSpin .8s linear infinite;flex:0 0 auto}
@keyframes rpSpin{to{transform:rotate(360deg)}}
.mobile-auth-layout{overflow:hidden}
.mobile-auth-brand{display:flex;justify-content:center;align-items:center;background:radial-gradient(circle at 50% 45%,#124f80,#062443 75%);padding:26px 18px 18px;border-radius:20px 20px 0 0}
.mobile-auth-brand img{width:min(58vw,260px);aspect-ratio:1;object-fit:cover;border-radius:28px}
.mobile-auth-content{padding:24px}
.mobile-eyebrow{margin:0 0 7px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;font-size:.74rem;color:var(--rp-teal-dark)}
.mobile-muted{color:var(--rp-muted);line-height:1.45}
.mobile-auth-content form{display:grid;gap:9px;margin-top:20px}
.mobile-auth-content label{font-weight:750;font-size:.92rem}
.mobile-auth-content input{width:100%;min-height:50px;border:1px solid #b9c8d7;border-radius:12px;padding:11px 13px;color:var(--rp-ink);background:#fff;font-size:16px}
.mobile-auth-content input:focus{outline:3px solid rgba(22,183,189,.18);border-color:var(--rp-teal-dark)}
.mobile-password-row{display:grid;grid-template-columns:1fr auto;gap:8px}
.mobile-password-toggle{min-width:70px}
.mobile-primary-button,.mobile-secondary-button,.mobile-primary-link{min-height:46px;border-radius:12px;padding:11px 16px;font-weight:800;border:1px solid transparent;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.mobile-primary-button,.mobile-primary-link{background:var(--rp-navy);color:#fff;border-color:var(--rp-navy)}
.mobile-secondary-button{background:#fff;color:var(--rp-navy);border-color:#afc0d0}
.mobile-primary-button:disabled,.mobile-secondary-button:disabled{background:#e9eef3;color:#7a8998;border-color:#cbd5df;cursor:not-allowed;box-shadow:none;opacity:1}
.mobile-full-button{width:100%;margin-top:8px}
.mobile-message{min-height:22px;margin:13px 0 6px;color:#9b3e18;font-weight:650;line-height:1.4}
.mobile-text-link{color:var(--rp-blue);font-weight:750;text-decoration-thickness:1px;text-underline-offset:3px}
#mobileUnsupported{padding:26px}
.mobile-welcome-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 20px;margin-bottom:22px;border-top:4px solid var(--rp-teal)}
.mobile-welcome-card h1{font-size:1.55rem}
.mobile-welcome-card p{margin:5px 0 0}
.mobile-dashboard-section{margin-bottom:22px}
.mobile-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:0 2px 12px}
.mobile-section-heading h2{margin:0;font-size:1.13rem}
.mobile-section-heading p{margin:4px 0 0;color:var(--rp-muted);font-size:.9rem}
.mobile-dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.mobile-tile{position:relative;min-height:144px;padding:17px;border:1px solid var(--rp-line);border-radius:17px;background:#fff;box-shadow:0 6px 20px rgba(11,45,81,.075);display:flex;flex-direction:column;gap:7px}
.mobile-tile-icon{width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,#dff7f5,#dcecf8);display:grid;place-items:center;color:var(--rp-navy);font-size:1.3rem;font-weight:900}
.mobile-tile h3{margin:2px 0 0;font-size:1rem;line-height:1.25}
.mobile-tile p{margin:0;color:var(--rp-muted);font-size:.82rem;line-height:1.35}
.mobile-tile-status{margin-top:auto;align-self:flex-start;padding:4px 8px;border-radius:999px;background:#edf4f8;color:#526b80;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.mobile-install-card,.mobile-foundation-note{padding:20px;margin-top:16px}
.mobile-install-card{display:flex;align-items:center;justify-content:space-between;gap:18px}
.mobile-install-card h2,.mobile-foundation-note h2{margin:0 0 6px;font-size:1.05rem}
.mobile-install-card p,.mobile-foundation-note p{margin:0;line-height:1.5}
.mobile-foundation-note .mobile-text-link{display:inline-block;margin-top:12px}
.mobile-footer{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;padding:18px 16px calc(18px + env(safe-area-inset-bottom));color:#6d7f91;font-size:.78rem}
.mobile-footer span+span:before{content:"•";margin-right:10px}
@media (min-width:720px){
  .mobile-main{padding-top:32px}
  .mobile-auth-layout{display:grid;grid-template-columns:minmax(280px,.8fr) 1.2fr}
  .mobile-auth-brand{border-radius:20px 0 0 20px;min-height:470px}
  .mobile-auth-content{padding:36px}
  .mobile-dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:520px){
  .mobile-brand small{display:none}
  .mobile-brand img{width:43px;height:43px}
  .mobile-main{padding-top:16px}
  .mobile-welcome-card{align-items:flex-start}
  .mobile-welcome-card .mobile-secondary-button{padding:9px 12px;min-height:42px}
  .mobile-dashboard-grid{grid-template-columns:1fr}
  .mobile-tile{min-height:118px}
  .mobile-install-card{align-items:stretch;flex-direction:column}
  .mobile-install-card .mobile-primary-button{width:100%}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.mobile-spinner{animation:none}}

.mobile-tile-button{width:100%;text-align:left;color:inherit;font:inherit;cursor:pointer}
.mobile-tile-button:hover,.mobile-tile-button:focus-visible{border-color:#9bcbd0;box-shadow:0 10px 24px rgba(11,45,81,.12);outline:none}
.mobile-tile-open{margin-top:auto;align-self:flex-start;color:var(--rp-teal-dark);font-size:.74rem;font-weight:850}
.mobile-feature-panel{padding:20px;margin-bottom:22px}
.mobile-feature-header{display:flex;align-items:center;gap:14px;padding-bottom:16px;border-bottom:1px solid var(--rp-line)}
.mobile-feature-header h2{margin:0;font-size:1.25rem}
.mobile-feature-header .mobile-eyebrow{margin-bottom:3px}
.mobile-feature-loading{display:flex;align-items:center;gap:14px;padding:24px 4px;color:var(--rp-muted)}
.mobile-placement-card{margin-top:18px;padding:18px;border:1px solid #b8dce1;border-radius:16px;background:linear-gradient(135deg,#effafa,#f7fbfd)}
.mobile-placement-card h3{margin:0;font-size:1.08rem}
.mobile-placement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;margin:16px 0 0}
.mobile-placement-grid div{min-width:0}
.mobile-placement-grid dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--rp-muted);font-weight:800}
.mobile-placement-grid dd{margin:3px 0 0;font-weight:700;overflow-wrap:anywhere}
.mobile-feature-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:16px 0}
.mobile-feature-tabs button{min-height:48px;border:1px solid #b8c8d7;border-radius:12px;background:#fff;color:var(--rp-navy);font-weight:800;padding:9px 10px}
.mobile-feature-tabs button.is-active{background:var(--rp-navy);color:#fff;border-color:var(--rp-navy)}
.mobile-feature-section{padding:18px 0 4px}
.mobile-feature-section-subtle{margin-top:18px;padding:18px;border-radius:15px;background:#f7fafc;border:1px solid var(--rp-line)}
.mobile-feature-section h3{margin:0 0 8px;font-size:1.08rem}
.mobile-section-copy{margin-bottom:16px}
.mobile-section-copy p{margin:0;color:var(--rp-muted);line-height:1.5}
.mobile-permission-card{padding:15px;border-left:4px solid #d99b00;background:#fff8e8;border-radius:10px;margin-bottom:16px}
.mobile-check-row{display:flex!important;gap:10px;align-items:flex-start;margin-top:9px;font-weight:650!important;line-height:1.45}
.mobile-check-row input{width:20px!important;height:20px!important;min-height:0!important;flex:0 0 auto;margin-top:1px}
.mobile-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.mobile-feature-section label,.mobile-assigned-form label{display:grid;gap:6px;margin:12px 0;font-weight:750;font-size:.9rem}
.mobile-feature-section input[type="text"],.mobile-feature-section input[type="file"],.mobile-feature-section select,.mobile-feature-section textarea,.mobile-assigned-form select,.mobile-assigned-form textarea{width:100%;border:1px solid #b9c8d7;border-radius:11px;padding:11px 12px;background:#fff;color:var(--rp-ink);font:inherit;font-size:16px}
.mobile-feature-section textarea,.mobile-assigned-form textarea{resize:vertical;line-height:1.4}
.mobile-capture-actions{display:flex;gap:9px;flex-wrap:wrap;margin:14px 0}
.mobile-hidden-file{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.mobile-video-preview{display:grid;gap:10px;margin:14px 0;padding:12px;border:1px solid var(--rp-line);border-radius:14px;background:#07192d;color:#fff}
.mobile-video-preview video{width:100%;max-height:52vh;background:#000;border-radius:10px}
.mobile-video-preview>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.mobile-video-preview>div span{color:#c6d5e4}
.mobile-secure-recorder{display:grid;gap:10px;margin:14px 0;padding:12px;border:1px solid #244d72;border-radius:14px;background:#07192d;color:#fff}
.mobile-secure-recorder-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.mobile-secure-recorder-heading span{font-variant-numeric:tabular-nums;color:#c6d5e4;font-weight:800}
.mobile-secure-recorder video{width:100%;max-height:58vh;background:#000;border-radius:10px;object-fit:contain}
.mobile-secure-recorder .mobile-capture-actions{margin:2px 0 0}
.mobile-text-button{appearance:none;border:0;background:transparent;color:var(--rp-blue);font:inherit;font-weight:800;text-decoration:underline;text-underline-offset:3px;padding:3px 0;cursor:pointer}
.mobile-neutral-message{color:#526b80}
.mobile-alert{padding:14px 15px;border-radius:11px;line-height:1.45;margin:14px 0}
.mobile-alert-warning{background:#fff7e5;border-left:4px solid #d99b00}
.mobile-alert-error{background:#fff1ee;border-left:4px solid #bf4c2d;color:#7d2f1a}
.mobile-empty-state{margin:12px 0;color:var(--rp-muted);font-style:italic}
.mobile-record-list{display:grid;gap:10px;margin-top:12px}
.mobile-record-item{display:grid;gap:8px;padding:13px;border:1px solid var(--rp-line);border-radius:12px;background:#fff}
.mobile-record-item p{margin:3px 0 0;color:var(--rp-muted);font-size:.82rem}
.mobile-record-meta{display:flex;gap:10px;flex-wrap:wrap;color:var(--rp-muted);font-size:.8rem}
.mobile-record-actions{display:flex;gap:14px;flex-wrap:wrap}
.mobile-assigned-form{margin-top:16px;padding:16px;border:1px solid #b8dce1;border-radius:14px;background:#f2fbfb}
.mobile-assigned-form h4{margin:0 0 8px;font-size:1rem}
@media (max-width:520px){
  .mobile-feature-panel{padding:15px}
  .mobile-feature-header{align-items:flex-start;flex-direction:column}
  .mobile-feature-tabs{grid-template-columns:1fr}
  .mobile-placement-grid,.mobile-form-grid{grid-template-columns:1fr}
  .mobile-capture-actions{display:grid;grid-template-columns:1fr}
  .mobile-capture-actions .mobile-primary-button,.mobile-capture-actions .mobile-secondary-button{width:100%}
}

.mobile-send-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;margin-top:4px}
.mobile-send-row select{width:100%;border:1px solid #b9c8d7;border-radius:10px;padding:10px 11px;background:#fff;color:var(--rp-ink);font:inherit;font-size:16px}
.mobile-video-editor{margin-top:16px;padding:16px;border:1px solid #9fcbd1;border-radius:15px;background:#f5fbfc}
.mobile-video-editor[hidden]{display:none}
.mobile-editor-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.mobile-editor-heading h3{margin:0}
.mobile-editor-note{margin:8px 0 12px;color:var(--rp-muted);line-height:1.45}
.mobile-video-editor>video{width:100%;max-height:52vh;background:#000;border-radius:10px}
.mobile-video-editor input[type="number"],.mobile-video-editor input[type="text"],.mobile-video-editor textarea{width:100%;border:1px solid #b9c8d7;border-radius:11px;padding:11px 12px;background:#fff;color:var(--rp-ink);font:inherit;font-size:16px}
.mobile-annotation-builder{margin:14px 0;padding:13px;border:1px solid var(--rp-line);border-radius:12px;background:#fff}
.mobile-annotation-builder h4{margin:0 0 8px}
.mobile-annotation-entry{display:grid;grid-template-columns:minmax(120px,.35fr) minmax(0,1fr);gap:10px}
.mobile-annotation-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:start;padding:8px 0;border-top:1px solid var(--rp-line)}
@media (max-width:520px){.mobile-send-row,.mobile-annotation-entry,.mobile-annotation-row{grid-template-columns:1fr}}

.mobile-trim-panel{margin:14px 0;padding:14px;border:1px solid var(--rp-line);border-radius:12px;background:#fff}
.mobile-trim-heading{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px}
.mobile-trim-heading h4{margin:0 0 3px}
.mobile-trim-heading p{margin:0;color:var(--rp-muted);font-size:.86rem}
.mobile-trim-heading>span{font-variant-numeric:tabular-nums;color:var(--rp-muted);font-size:.84rem;white-space:nowrap}
.mobile-trim-timeline{position:relative;height:30px;border-radius:999px;background:#d9e2eb;overflow:visible;cursor:pointer;outline:none}
.mobile-trim-timeline:focus{box-shadow:0 0 0 3px rgba(11,111,125,.18)}
.mobile-trim-selected{position:absolute;top:0;bottom:0;left:0;width:100%;background:#9fd3d8;border-radius:inherit}
.mobile-trim-playhead{position:absolute;top:0;bottom:0;width:3px;background:#0a3158;transform:translateX(-1px);pointer-events:none;z-index:3}
#veTimelineMarkers{position:absolute;inset:0;z-index:2;pointer-events:none}
.mobile-timeline-marker{position:absolute;top:50%;width:14px;height:14px;border:2px solid #fff;border-radius:50%;background:#0b6f7d;transform:translate(-50%,-50%);padding:0;pointer-events:auto;cursor:pointer}
.mobile-trim-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px}
.mobile-trim-actions .mobile-secondary-button{width:100%}
@media (max-width:720px){.mobile-trim-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.mobile-trim-heading{flex-direction:column}.mobile-trim-actions{grid-template-columns:1fr}}

.mobile-trim-handle{position:absolute;top:50%;width:24px;height:34px;transform:translate(-50%,-50%);border:2px solid #fff;border-radius:8px;background:#0a3158;box-shadow:0 1px 5px rgba(0,0,0,.24);z-index:5;cursor:ew-resize;touch-action:none;padding:0}
.mobile-trim-handle::after{content:"";position:absolute;left:50%;top:7px;bottom:7px;width:2px;background:#fff;transform:translateX(-50%);border-radius:2px;box-shadow:-4px 0 0 rgba(255,255,255,.75),4px 0 0 rgba(255,255,255,.75)}
.mobile-trim-handle:focus{outline:none;box-shadow:0 0 0 3px rgba(11,111,125,.25),0 1px 5px rgba(0,0,0,.24)}
.mobile-trim-handle-start{margin-left:1px}
.mobile-trim-handle-end{margin-left:-1px}
@media (max-width:520px){.mobile-trim-handle{width:28px;height:38px}}

.mobile-danger-link{color:#9f1d20!important}
.mobile-danger-link:hover,.mobile-danger-link:focus{text-decoration-thickness:2px}
.mobile-archive-section{margin-top:14px}
.mobile-record-item-archived{background:#f7f9fb;border-style:dashed}

