:root{--green-950:#123b2a;--green-900:#164f36;--green-700:#26724d;--green-100:#dcecdf;--green-50:#eef6ed;--ink:#1e2c25;--muted:#68776f;--line:#d8e1d8;--paper:#f6f8f2;--white:#fff;--danger:#a23b34;--shadow:0 16px 45px #123b2a1a;--viva-green:#4caf50;--viva-deep-green:#285c38}*{box-sizing:border-box}html{background:var(--paper)}body{color:var(--ink);background:var(--paper);font-family:var(--font-figtree), Arial, Helvetica, sans-serif;margin:0;font-size:85%}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.offline-banner{z-index:50;top:max(10px, env(safe-area-inset-top));right:max(10px, env(safe-area-inset-right));color:#fff;background:#70401f;border:1px solid #ffffff40;border-radius:6px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;width:min(330px,100vw - 20px);min-height:40px;padding:7px 7px 7px 11px;font-size:10px;line-height:1.25;display:grid;position:fixed;box-shadow:0 8px 24px #123b2a38}.offline-banner-close{width:30px;height:30px;color:inherit;cursor:pointer;background:#ffffff1f;border:0;border-radius:3px;place-items:center;padding:0;display:inline-grid}.offline-banner-close:hover{background:#fff3}.offline-banner-close:focus-visible{outline-offset:1px;outline:2px solid #fff}.admin-header,.admin-title-row,.admin-actions,.admin-meta{justify-content:space-between;align-items:center;gap:16px;display:flex}.brand-mark{color:var(--green-900);letter-spacing:.18em;margin:0;font-size:23px;font-weight:800}.eyebrow{color:var(--green-700);letter-spacing:.12em;text-transform:uppercase;margin:4px 0 0;font-size:10px;font-weight:700}.icon-button{width:44px;height:44px;color:var(--green-900);border:1px solid var(--line);background:var(--green-50);border-radius:50%;place-items:center;display:inline-grid}h1{color:var(--green-950);margin:0;font-size:clamp(24px,3.4vw,34px);line-height:1.1}.viva-registration-page{height:100vh;height:100svh;color:var(--white);background:var(--viva-deep-green);overflow:hidden}.viva-registration-shell{isolation:isolate;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;margin:0 auto;display:flex;position:relative;overflow:hidden}.registration-visual{flex:0 0 clamp(162px,34.8vw + 42px,410px);justify-content:center;align-items:flex-start;width:100%;display:flex;overflow:hidden}.registration-arms{width:100vw;max-width:none;height:auto;margin-top:max(clamp(22px, 6svh, 24px), env(safe-area-inset-top));pointer-events:none;display:block}.registration-content{width:min(100%,640px);min-height:0;padding:0 clamp(14px, 4vw, 32px) max(6px, env(safe-area-inset-bottom));flex:auto;grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);gap:clamp(5px,.8svh,9px);display:grid}.registration-branding{min-width:0}.registration-logo{width:clamp(108px,32vw,154px);max-width:100%;height:auto;margin:0 auto clamp(4px,.7svh,7px);display:block}.registration-intro{text-align:center;max-width:500px;margin:0 auto}.registration-intro h1{color:var(--white);font-size:clamp(12px,3.23vw,15px);line-height:1.14}.registration-form{align-content:center;gap:clamp(8px,1.7svh,20px);width:100%;max-width:560px;min-height:0;margin:0 auto;display:grid}.registration-form>label{gap:clamp(3px,.6svh,6px);display:grid}.registration-form>label>span{color:var(--white);font-size:clamp(10px,2.85vw,14px);font-weight:800;line-height:1.1}.registration-form input:not([type=checkbox]),.registration-form select{width:100%;min-height:clamp(38px,5.3svh,50px);color:var(--white);border:2px solid var(--white);background:0 0;border-radius:10px;outline:none;padding:6px 15px;font-size:clamp(12px,3.23vw,15px)}.registration-form input:not([type=checkbox]):focus,.registration-form select:focus{box-shadow:0 0 0 5px #ffffff47}.registration-form input::placeholder{color:#ffffffad}.registration-form input[type=date],.registration-form select{padding-right:46px}.registration-form input[type=date]::-webkit-calendar-picker-indicator{filter:invert();opacity:1;cursor:pointer}.registration-form select{-webkit-appearance:none;appearance:none;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 15px center;background-repeat:no-repeat;background-size:12px 8px}.registration-form select option{color:var(--ink);background:var(--white)}.legal-checks{gap:clamp(5px,.8svh,7px);display:grid}.legal-check{white-space:nowrap;align-items:center;gap:4px;font-size:clamp(8px,2.25vw,10px);display:flex;position:relative}.legal-checkbox-input{z-index:1;opacity:0;cursor:pointer;width:clamp(18px,4.6vw,23px);height:clamp(18px,4.6vw,23px);margin:0;position:absolute;top:50%;left:0;transform:translateY(-50%)}.legal-checkbox-label{cursor:pointer;align-items:center;gap:8px;display:inline-flex}.legal-checkbox-box{border:2px solid var(--white);background:0 0;border-radius:1px;flex:none;width:clamp(18px,4.6vw,23px);height:clamp(18px,4.6vw,23px);position:relative}.legal-checkbox-box:after{border:solid var(--white);content:"";border-width:0 2px 2px 0;width:6px;height:11px;transition:transform .12s ease-out;position:absolute;top:45%;left:50%;transform:translate(-50%,-58%)rotate(45deg)scale(0)}.legal-checkbox-input:checked+.legal-checkbox-label .legal-checkbox-box:after{transform:translate(-50%,-58%)rotate(45deg)scale(1)}.legal-checkbox-input:focus-visible+.legal-checkbox-label .legal-checkbox-box{outline-offset:3px;outline:3px solid #ffffff61}.legal-link{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:2px solid;border-radius:0;padding:0;font-weight:800;text-decoration:none}.legal-link:focus-visible{outline:3px solid var(--white);outline-offset:5px}.button{cursor:pointer;border:0;border-radius:4px;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:0 18px;font-size:11px;font-weight:800;display:inline-flex}.button:disabled{opacity:.5;cursor:not-allowed}.button-submit{width:min(100%,230px);min-height:clamp(40px,5.6svh,48px);color:var(--viva-green);background:var(--white);letter-spacing:.08em;border-radius:6px;margin:1px auto 0;font-size:clamp(13px,3.4vw,15px)}.button-primary{color:#fff;background:var(--green-900)}.button-secondary{color:var(--green-900);border:1px solid var(--green-900);background:0 0}.form-message{align-items:center;gap:8px;margin:-4px 0 0;font-size:12px;display:flex}.registration-form .form-error{color:#6f211d;background:#fff1ef;border-radius:4px;padding:5px 9px;font-size:9px;font-weight:700}.form-success{color:var(--green-700)}.registration-footer{z-index:2;justify-content:center;min-height:24px;margin:0;display:flex;position:relative}.sync-drawer-handle{color:#ffffffc7;cursor:pointer;touch-action:none;background:#285c386b;border:0;border-radius:4px 4px 0 0;place-items:center;width:68px;height:24px;padding:0;display:inline-grid}.sync-drawer-handle:hover{color:var(--white);background:#285c389e}.sync-drawer-handle:focus-visible{outline:2px solid var(--white);outline-offset:1px}.sync-drawer{z-index:70;align-items:end;display:grid;position:fixed;inset:0}.sync-drawer-backdrop{cursor:default;background:#123b2a61;border:0;padding:0;position:absolute;inset:0}.sync-drawer-panel{z-index:1;width:min(100%,560px);padding:7px clamp(18px, 5vw, 28px) max(22px, env(safe-area-inset-bottom));color:var(--ink);background:var(--white);touch-action:pan-y;border-radius:8px 8px 0 0;justify-self:center;gap:16px;display:grid;position:relative;box-shadow:0 -14px 36px #123b2a3d}.sync-drawer-grip{color:#9aaba0;justify-self:center}.sync-drawer-heading{justify-content:space-between;align-items:center;gap:16px;min-height:36px;display:flex}.sync-drawer-heading h2{color:var(--green-950);margin:0;font-size:clamp(15px,4.25vw,19px);line-height:1.15}.sync-drawer-close{width:36px;height:36px;color:var(--green-900);border:1px solid var(--line);background:var(--white);cursor:pointer;border-radius:4px;flex:none;place-items:center;padding:0;display:inline-grid}.sync-drawer-close:focus-visible{outline:3px solid var(--green-100);outline-offset:1px}.registration-sync-link{width:100%;min-height:46px;color:var(--white);background:var(--viva-deep-green);border:0;border-radius:4px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:11px;font-weight:800;text-decoration:none;display:inline-flex}.registration-sync-link:focus-visible{outline:3px solid var(--white);outline-offset:2px}.legal-modal{z-index:80;place-items:center;padding:clamp(16px,4vw,32px);display:grid;position:fixed;inset:0}.legal-modal-backdrop{cursor:default;background:#123b2a94;border:0;padding:0;position:absolute;inset:0}.legal-modal-panel{z-index:1;width:min(860px,100%);max-height:min(78svh,720px);color:var(--ink);background:var(--white);border-radius:8px;grid-template-rows:auto minmax(0,1fr);display:grid;position:relative;overflow:hidden;box-shadow:0 18px 60px #123b2a59}.legal-modal-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;min-height:58px;padding:14px clamp(16px,4vw,24px);display:flex}.legal-modal-heading h2{color:var(--green-950);margin:0;font-size:clamp(15px,3.4vw,22px);line-height:1.15}.legal-modal-close{width:38px;height:38px;color:var(--green-900);border:1px solid var(--line);background:var(--white);cursor:pointer;border-radius:4px;flex:none;place-items:center;padding:0;display:inline-grid}.legal-modal-close:focus-visible{outline:3px solid var(--green-100);outline-offset:1px}.legal-modal-body{-webkit-overflow-scrolling:touch;min-height:0;padding:clamp(16px,4vw,26px);overflow-y:auto}.legal-modal-body p{color:var(--ink);margin:0 0 12px;font-size:clamp(12px,2.75vw,15px);line-height:1.45}.legal-modal-body p:last-child{margin-bottom:0}.thank-you-page{min-height:100vh;min-height:100svh;color:var(--white);background:var(--viva-deep-green);overflow-x:hidden}.thank-you-shell{width:min(100%,980px);min-height:100vh;flex-direction:column;align-items:center;min-height:100svh;margin:0 auto;padding:0 clamp(32px,10vw,98px) clamp(20px,3svh,34px);display:flex}.thank-you-plane{object-fit:contain;pointer-events:none;max-width:none;height:auto;display:block;position:static}.thank-you-plane-top{align-self:flex-start;width:min(100vw,600px);margin-left:calc(-1*clamp(32px,10vw,98px))}.thank-you-plane-bottom{align-self:flex-end;width:min(100vw,620px);margin-top:clamp(18px,3svh,34px);margin-left:auto;margin-right:calc(-1*clamp(32px,10vw,98px))}.thank-you-top-section,.thank-you-middle-section,.thank-you-bottom-section{width:100%}.thank-you-intro h1{color:var(--white);margin:0;font-size:clamp(26px,6.38vw,44px);font-weight:800;line-height:1.04}.thank-you-intro p{max-width:700px;margin:clamp(17px,2.5svh,28px) 0 0;font-size:clamp(13px,3.23vw,20px);line-height:1.12}.thank-you-middle-section{margin-top:clamp(20px,2.8svh,34px)}.thank-you-guidelines{width:100%}.thank-you-guidelines h2{color:var(--white);margin:0 0 clamp(14px,2svh,22px);font-size:clamp(14px,3.57vw,23px);line-height:1.1}.guidelines-list{gap:clamp(10px,1.5svh,20px);margin:0;padding:0;list-style:none;display:grid}.guidelines-list li{padding-left:clamp(13px,3vw,25px);font-size:clamp(12px,3.02vw,19px);line-height:1.16;position:relative}.guidelines-list li:before{content:"•";color:var(--white);position:absolute;left:0}.thank-you-bottom-section{text-align:center;margin-top:auto;padding-top:clamp(34px,6svh,64px)}.thank-you-closing{justify-items:center;width:100%;display:grid}.closing-text{color:var(--white);margin:0;font-size:clamp(30px,6.8vw,46px);font-weight:800;line-height:1}.thank-you-reset{min-height:0;color:var(--white);box-shadow:none;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;border-radius:0;justify-content:center;align-items:center;margin-top:clamp(14px,2.5svh,24px);padding:0;font-size:clamp(10px,2.13vw,15px);font-weight:700;text-decoration:underline;text-decoration-thickness:1px;display:inline-flex}.thank-you-reset:focus-visible{outline:2px solid var(--white);outline-offset:4px}.offline-page{text-align:center;place-content:center;gap:14px;max-width:520px;min-height:100svh;margin:auto;padding:32px;display:grid}.offline-page p:not(.brand-mark){color:var(--muted);line-height:1.5}.offline-page .button{justify-self:center;text-decoration:none}.sync-access-page{background:var(--paper);place-items:center;min-height:100svh;padding:24px;display:grid}.sync-access-panel{border:1px solid var(--line);background:var(--white);width:min(100%,460px);box-shadow:var(--shadow);text-align:center;border-radius:8px;justify-items:center;gap:18px;padding:clamp(28px,6vw,48px);display:grid}.sync-access-panel>svg{color:var(--green-700)}.sync-access-panel h1{font-size:clamp(22px,4.25vw,31px)}.sync-access-panel>p:not(.brand-mark){color:var(--muted);margin:0;line-height:1.5}.sync-access-form{text-align:left;gap:16px;width:100%;margin:8px 0;display:grid}.sync-access-form label{gap:7px;display:grid}.sync-access-form label span{color:var(--green-950);font-size:11px;font-weight:700}.sync-access-form input{background:#fbfdf9;border:1px solid #bfcfc0;border-radius:4px;outline:none;width:100%;min-height:48px;padding:10px 12px}.sync-access-form input:focus{border-color:var(--green-700);box-shadow:0 0 0 3px var(--green-100)}.sync-access-form .button{width:100%}.sync-access-error{color:var(--danger);margin:0;font-size:11px;font-weight:700}.admin-page{min-height:100svh}.admin-header{background:var(--white);border-bottom:1px solid var(--line);min-height:72px;padding:0 clamp(20px,5vw,72px)}.back-link{color:var(--green-900);align-items:center;gap:7px;font-size:12px;font-weight:700;text-decoration:none;display:inline-flex}.admin-label{color:var(--muted);font-size:11px}.admin-lock-button{color:var(--green-900);border:1px solid var(--line);background:var(--white);cursor:pointer;border-radius:4px;align-items:center;gap:7px;padding:8px 10px;font-size:11px;font-weight:700;display:inline-flex}.admin-content{width:min(1180px,100%);margin:0 auto;padding:clamp(28px,5vw,64px) clamp(20px,5vw,40px)}.admin-title-row{align-items:flex-start}.admin-title-row h1{margin-top:8px;font-size:clamp(22px,3.4vw,32px)}.connection-grid{gap:8px;min-width:220px;display:grid}.connection-pill{border-radius:4px;align-items:center;gap:8px;padding:9px 12px;font-size:11px;font-weight:700;display:inline-flex}.is-online{color:#276746;background:var(--green-100)}.is-offline{color:#8b4d24;background:#f8eadc}.summary-grid{border:1px solid var(--line);background:var(--line);grid-template-columns:repeat(4,1fr);gap:1px;margin:38px 0 24px;display:grid}.summary-grid>div{background:var(--white);gap:10px;padding:20px;display:grid}.summary-grid span{color:var(--muted);font-size:11px}.summary-grid strong{color:var(--green-950);font-size:26px}.admin-actions{flex-wrap:wrap;justify-content:flex-start}.admin-meta{color:var(--muted);flex-wrap:wrap;justify-content:flex-start;margin:22px 0;font-size:11px}.admin-meta span{align-items:center;gap:7px;display:inline-flex}.filter-row{flex-wrap:wrap;gap:8px;margin:28px 0 12px;display:flex}.filter-button{min-height:36px;color:var(--green-900);border:1px solid var(--line);background:var(--white);cursor:pointer;border-radius:4px;padding:0 13px}.filter-button.active{color:#fff;border-color:var(--green-900);background:var(--green-900)}.records-table-wrap{border:1px solid var(--line);background:var(--white);overflow-x:auto}.records-table{border-collapse:collapse;width:100%;min-width:720px;font-size:12px}.records-table th,.records-table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:15px 16px}.records-table th{color:var(--muted);background:var(--green-50);text-transform:uppercase;letter-spacing:.06em;font-size:10px}.records-table tr:last-child td{border-bottom:0}.records-table td small{color:var(--muted);margin-top:4px;display:block}.status{border-radius:3px;padding:5px 8px;font-size:9px;font-weight:800;display:inline-flex}.status-synced{color:#276746;background:var(--green-100)}.status-pending,.status-syncing{color:#805723;background:#f7ecd4}.status-error{color:var(--danger);background:#f7dfdc}.error-detail{max-width:220px;color:var(--danger);font-size:10px}.empty-state{color:var(--muted);text-align:center;margin:0;padding:32px}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:680px){.admin-header{padding:0 18px}.admin-label{display:none}.admin-title-row{display:grid}.connection-grid{width:100%;min-width:0}.summary-grid{grid-template-columns:repeat(2,1fr)}.admin-actions .button{flex:190px}}@media (max-height:740px){.thank-you-page{height:auto;min-height:100svh;overflow:hidden auto}.thank-you-shell{min-height:100svh;padding-bottom:20px}.thank-you-bottom-section{margin-top:38px;padding-top:0}.registration-visual{flex-basis:clamp(142px,34.8vw + 36px,190px)}.registration-content{gap:4px;padding-inline:clamp(14px,4vw,24px)}.registration-logo{width:104px;margin-bottom:3px}.registration-intro h1{font-size:11px;line-height:1.12}.registration-form{gap:6px}.registration-form>label>span{font-size:9px}.registration-form>label{gap:3px}.registration-form input:not([type=checkbox]),.registration-form select{min-height:34px;padding-block:3px;font-size:11px}.legal-checks{gap:4px}.legal-check{font-size:7px}.legal-checkbox-input,.legal-checkbox-box{width:16px;height:16px}.button-submit{min-height:34px;font-size:12px}.sync-drawer-handle{height:22px}}
