:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#111718;--page-deep:#030b0d;--surface-0:#1b1c1e;--surface-1:#202123;--surface-2:#252628;--surface-3:#2a2b2d;--text-main:#f5f6f5;--text-secondary:#babdbb;--text-muted:#858987;--border:#ffffff1a;--border-subtle:#ffffff0f;--weol-deep:#082b22;--weol-forest:#0b4938;--weol-core:#008d68;--weol-signal:#00b47d;--weol-mint:#86d9ba;--error:#e47f79;--warning:#d8b46a;background:var(--page);color:var(--text-main);font-synthesis:none;text-rendering:optimizelegibility;font-family:Sora,Avenir Next,Manrope,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{background:radial-gradient(circle at 88% 4%, #00b47d0b, transparent 27%), var(--page);overflow-x:hidden}button,input,select{font:inherit}button{color:inherit;-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--weol-mint);outline-offset:3px}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.eyebrow{color:var(--weol-signal);letter-spacing:.07em;text-transform:uppercase;font-size:11px;font-weight:600}h1,h2,h3,p{margin:0}h1{letter-spacing:-.03em;font-size:clamp(30px,8vw,40px);font-weight:350;line-height:1.1}.auth-page{isolation:isolate;min-height:100dvh;padding:max(24px, env(safe-area-inset-top)) 18px max(24px, env(safe-area-inset-bottom));background:radial-gradient(circle at 80% 8%,#ffffff0a,#0000 30%),radial-gradient(circle at 12% 88%,#00b47d0b,#0000 31%),#171819;align-content:center;justify-items:center;gap:20px;display:grid;position:relative;overflow:hidden}.auth-page:before{z-index:-1;content:"";pointer-events:none;background-image:linear-gradient(#ffffff04 1px,#0000 1px);background-size:100% 5px;position:fixed;inset:0}.auth-watermark{z-index:-1;opacity:.028;filter:grayscale();pointer-events:none;width:min(58vw,250px);position:absolute;top:3.5vh;left:calc(50% + 55px)}.auth-card{border:1px solid var(--border);background:linear-gradient(145deg,#ffffff09,#0000 45%),linear-gradient(#1d1e20,#191a1c);border-radius:8px;width:min(100%,370px);padding:clamp(24px,7vw,30px);position:relative;box-shadow:0 28px 78px #0000005c}.weol-logo{object-fit:contain;height:auto;display:block}.weol-logo--hero{width:150px;margin:0 0 42px}.weol-logo--compact{width:124px}.weol-logo--animated{animation:5.2s ease-in-out infinite weol-logo-breathe}@keyframes weol-logo-breathe{0%,to{opacity:.92;filter:drop-shadow(0 0 #00b47d00)}50%{opacity:1;filter:drop-shadow(0 0 11px #00b47d33)}}.lead,.auth-success p{color:var(--text-secondary);margin:0 0 26px;font-size:14px;line-height:1.55}.auth-success h1{margin:10px 0}.invitation-login-context{margin-bottom:24px}.invitation-login-context .lead{margin-top:10px;margin-bottom:0}.connectivity-status{width:fit-content;color:var(--warning);align-items:center;gap:7px;margin:-24px 0 27px;font-size:12px;display:flex}.connectivity-status span{font-size:8px}form{gap:16px;display:grid}label{color:var(--text-secondary);gap:7px;font-size:12px;display:grid}input,select{border:1px solid var(--border);background:linear-gradient(145deg, #ffffff06, transparent 58%), var(--surface-1);width:100%;min-width:0;min-height:52px;color:var(--text-main);caret-color:var(--weol-signal);border-radius:8px;outline:0;padding:0 15px;transition:border-color .18s cubic-bezier(.2,.8,.2,1),background .18s cubic-bezier(.2,.8,.2,1)}input:hover,select:hover{border-color:#ffffff2e}input:focus,select:focus{border-color:var(--weol-signal);background:var(--surface-2)}button{cursor:pointer;border:0;border-radius:8px;min-height:48px;padding:0 16px;transition:transform .18s cubic-bezier(.2,.8,.2,1),filter .18s,background .18s}button:hover:not(:disabled){filter:brightness(1.07)}button:active:not(:disabled){transform:scale(.985)}button:disabled{cursor:wait;opacity:.62}form>button[type=submit],.auth-success>button:not(.secondary-button){background:linear-gradient(135deg, var(--weol-core), var(--weol-signal));color:#fff;border:1px solid #23e0a72e;width:100%;min-height:52px;margin-top:2px;font-weight:500;box-shadow:inset 0 1px #ffffff29,0 11px 26px #087a5529}.secondary-button{border:1px solid var(--border);background:var(--surface-1);width:100%;color:var(--text-main);margin-top:10px}.auth-actions{justify-content:space-between;align-items:center;gap:12px;margin-top:22px;display:flex}.auth-link,.registration-button{min-height:44px;color:var(--text-secondary);background:0 0;border:0;padding:0 5px;font-size:12px;font-weight:400}.auth-link:hover:not(:disabled),.registration-button:hover:not(:disabled){color:var(--weol-mint);filter:none}.support-message{color:var(--text-secondary);margin:12px 0 0;font-size:12px;line-height:1.5}.form-message,.history-message{color:var(--error);margin:0;font-size:13px;line-height:1.45}.auth-footer{color:var(--text-muted);margin:0;font-size:11px;position:relative}.app-shell{min-height:100dvh;padding-bottom:calc(76px + env(safe-area-inset-bottom));background:radial-gradient(circle at 78% 5%, #00b47d0e, transparent 24%), var(--page-deep)}.app-header{z-index:10;min-height:62px;padding:max(8px, env(safe-area-inset-top)) 18px 6px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(#030b0dfa,#030b0dd6);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.app-header__identity,.app-header__person{align-items:center;display:flex}.app-header__identity{gap:2px}.app-header__person{gap:7px}.identity-avatar{border:1px solid var(--border);width:34px;height:34px;color:var(--text-main);background:linear-gradient(145deg,#343839,#1d2223);border-radius:50%;place-items:center;font-size:10px;font-weight:600;display:grid}.icon-button{width:44px;min-height:44px;color:var(--text-secondary);background:0 0;border:0;place-items:center;padding:0;display:grid}.icon-button:hover:not(:disabled){filter:none;background:#ffffff0d}.offline-banner{color:#e3c98f;text-align:center;background:#d8b46a14;border-block:1px solid #d8b46a38;padding:10px 18px;font-size:12px;line-height:1.45}.module-page{width:min(100%,480px);margin:0 auto;padding:24px 16px 26px}.access-dashboard{gap:12px;padding-top:8px;animation:.24s cubic-bezier(.2,.75,.25,1) both route-in;display:grid}.access-intro{min-height:70px;padding:8px 3px 10px;position:relative;overflow:hidden}.access-intro h1{z-index:1;color:var(--text-main);letter-spacing:-.025em;font-size:clamp(22px,7vw,31px);font-weight:350;line-height:1.15;position:relative}.access-intro h1 span{color:var(--weol-signal)}.access-intro small{z-index:1;max-width:70%;color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;margin-top:7px;font-size:12px;display:block;position:relative;overflow:hidden}.access-intro img{opacity:.04;filter:grayscale();width:122px;position:absolute;top:-23px;right:7px}.page-heading{margin-bottom:22px;animation:.24s cubic-bezier(.2,.75,.25,1) both route-in}.page-heading h1,.centered-state h1{margin:8px 0 9px}.page-heading>p,.centered-state p{max-width:40ch;color:var(--text-secondary);font-size:13px;line-height:1.55}.centered-state{align-content:center;justify-items:start;min-height:calc(100dvh - 170px);display:grid}.centered-state>svg{color:var(--warning);margin-bottom:8px}.object-list,.checkpoint-list{gap:12px;display:grid}.object-card{border:1px solid var(--border);background:linear-gradient(145deg,#ffffff09,#0000 52%),#101719;border-radius:8px;overflow:hidden;box-shadow:0 20px 48px #00000040}.object-card__header{border-bottom:1px solid var(--border-subtle);background:radial-gradient(circle at 8% 30%,#00b47d14,#0000 34%),linear-gradient(120deg,#ffffff05,#0000 50%);align-items:center;gap:12px;padding:16px;display:flex}.object-icon{width:42px;height:42px;color:var(--weol-signal);background:#00b47d14;border:1px solid #00b47d3d;border-radius:8px;flex:0 0 42px;place-items:center;display:grid}.object-card__eyebrow{color:var(--weol-signal);letter-spacing:.07em;margin-bottom:4px;font-size:9px;font-weight:600;display:block}.object-card h2{letter-spacing:-.015em;margin:0 0 4px;font-size:17px;font-weight:450;line-height:1.25}.object-card__header p,.empty-note{color:var(--text-muted);font-size:11px;line-height:1.45}.object-card>.empty-note{padding:16px}.checkpoint-list{padding:13px}.checkpoint{gap:8px;display:grid}.checkpoint+.checkpoint{border-top:1px solid var(--border-subtle);padding-top:12px}.checkpoint h3{color:var(--weol-signal);align-items:center;gap:7px;font-size:12px;font-weight:450;display:flex}.checkpoint h3 svg{color:var(--weol-signal)}.device-rows,.device-row{gap:6px;display:grid}.device-row--1{grid-template-columns:1fr}.device-row--2{grid-template-columns:repeat(2,minmax(0,1fr))}.device-row--3{grid-template-columns:repeat(3,minmax(0,1fr))}.access-device{background:linear-gradient(180deg, #0a9f77f0, #007052f0), var(--weol-core);color:#fff;text-align:left;border:1px solid #23e0a733;justify-content:center;align-items:center;gap:10px;min-width:0;min-height:58px;padding:9px 10px;display:flex;box-shadow:inset 0 1px #ffffff29,0 9px 24px #00000029}.access-device__icon{color:currentColor;flex:none;place-items:center;display:grid}.access-device__copy{gap:2px;min-width:0;display:grid}.access-device strong{text-overflow:ellipsis;font-size:12px;font-weight:500;line-height:1.25;overflow:hidden}.access-device small{color:#ffffffb3;text-overflow:ellipsis;font-size:9px;font-weight:400;line-height:1.25;overflow:hidden}.access-device[data-state=pending]{background:#0a2923;border-color:#86d9ba61}.access-device[data-state=confirmed]{color:var(--weol-mint);background:#0a211d;border-color:#86d9ba70}.access-device[data-state=failed]{color:#f2aaa5;background:#30201f;border-color:#e47f7961}.access-device[data-state=unknown],.access-device[data-state=offline]{color:#e3c98f;background:#29251d;border-color:#d8b46a4d}.access-device--readonly{border-color:var(--border);box-shadow:none;color:var(--text-secondary);background:linear-gradient(145deg,#ffffff0d,#0000 62%),#151c1e}.access-device--readonly small{color:var(--text-muted)}.access-device:disabled{cursor:default;filter:none}.bottom-nav{z-index:30;min-height:calc(68px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--border-subtle);background:#1b1c1ef7;grid-template-columns:repeat(2,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -18px 40px #00000029}.bottom-nav a{min-width:0;min-height:68px;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:5px;font-size:10px;text-decoration:none;transition:color .18s cubic-bezier(.2,.8,.2,1);display:flex;position:relative}.bottom-nav a:before{content:"";background:0 0;width:26px;height:3px;position:absolute;top:0}.bottom-nav a[aria-current=page]{color:var(--weol-signal)}.bottom-nav a[aria-current=page]:before{background:var(--weol-signal);box-shadow:0 2px 10px #00b47d57}.object-select{max-width:360px;margin-top:18px}.history-message{margin-bottom:14px}.passage-list{border:1px solid var(--border);background:var(--border-subtle);border-radius:8px;gap:1px;margin:0 0 16px;padding:0;list-style:none;display:grid;overflow:hidden;box-shadow:0 18px 44px #0000002e}.passage-list li{background:#101719;grid-template-columns:9px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;display:grid}.passage-state{background:var(--text-muted);border-radius:50%;width:9px;height:9px}.passage-state--confirmed{background:var(--weol-signal);box-shadow:0 0 0 3px #00b47d17}.passage-state--failed{background:var(--error)}.passage-list li>div:nth-child(2){gap:2px;display:grid}.passage-list strong{font-size:12px;font-weight:500}.passage-list span,.passage-list small,.passage-list time{color:var(--text-muted);font-size:9px}.passage-list time{text-align:right}.secondary-action,.text-action{border:1px solid var(--border);background:var(--surface-1);width:100%;min-height:48px;color:var(--text-main);margin:6px 0}.text-action{color:var(--weol-signal);background:0 0;border-color:#0000}@keyframes route-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (width>=600px){.app-shell{border-inline:1px solid var(--border-subtle);max-width:480px;margin:0 auto}.bottom-nav{width:480px;left:50%;right:auto;transform:translate(-50%)}}@media (width<=370px){.auth-page{align-content:start}.auth-card{margin-top:24px}.weol-logo--hero{width:138px;margin-bottom:34px}.weol-logo--compact{width:108px}.device-row--3{grid-template-columns:repeat(2,minmax(0,1fr))}.device-row--3>:last-child:nth-child(odd){grid-column:1/-1}}@media (width<=330px){.device-row--2,.device-row--3{grid-template-columns:1fr}.device-row--3>:last-child:nth-child(odd){grid-column:auto}}@media (prefers-reduced-motion:reduce){.weol-logo--animated,.access-dashboard,.page-heading{animation:none}*,:before,:after{scroll-behavior:auto;transition-duration:1ms}}
