:root{color:#24312e;background:#f3f6f5;font-family:Avenir Next,Segoe UI,sans-serif;line-height:1.4}*{box-sizing:border-box}html,body,#app{margin:0;height:100%}.app-shell{position:relative;height:100%;min-height:100vh;min-height:100dvh}button,input{font:inherit}.screen{min-height:100%;display:grid;place-items:center;padding:calc(88px + env(safe-area-inset-top)) 16px 24px}.brand{display:block;width:min(100%,136px);height:auto;margin:0 auto 22px}.card{width:min(100%,420px);background:#fff;border-radius:20px;padding:28px 22px;box-shadow:0 16px 40px #117a6b1f}.postal-setup{width:min(100%,600px)}.postal-setup h1{text-align:center}.empty-test{width:auto;text-align:center}.empty-test h1{margin:0}h1,h2{margin:0 0 16px}label{display:grid;gap:6px;margin-bottom:14px;font-size:.92rem}input[type=email],input[type=password],input[type=text]{width:100%;height:46px;border:0;border-radius:12px;background:#e7eeec;padding:0 14px;color:#24312e}input:focus{outline:2px solid #29c4a9}.password{position:relative;display:block}.password input{padding-right:46px}.password .eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:34px;height:34px;display:grid;place-items:center;padding:0;border:0;background:transparent;color:#5d6d69;cursor:pointer}.password .eye svg{width:22px;height:22px}.password .eye:hover,.password .eye[aria-pressed=true]{color:#117a6b}.check{display:flex;align-items:center;gap:8px;margin:4px 0 18px}.primary,.secondary,.row{width:100%;border:0;border-radius:999px;cursor:pointer}.primary{height:48px;background:#117a6b;color:#fff;letter-spacing:.04em}.primary:disabled{opacity:.6;cursor:default}.secondary{height:44px;margin-top:10px;background:transparent;color:#117a6b}.message{margin:0 0 12px}.error{color:#9b1c1c}.ok{color:#117a6b}.hint{font-size:.92rem}.hint.quiet{margin:0 0 18px;color:#8a9693}.link{border:0;background:none;color:#117a6b;padding:0;cursor:pointer;text-decoration:underline}.test{position:absolute;top:0;right:0;bottom:0;left:0}.frame{position:absolute;z-index:0;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0;background:#fff}.install-veil{position:absolute;top:0;right:0;bottom:0;left:0;z-index:45;background:#5a62606b;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.install-banner{position:absolute;top:calc(12px + env(safe-area-inset-top));left:12px;right:12px;display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:18px;background:#fff;box-shadow:0 10px 28px #117a6b29}.install-logo{width:72px;height:auto;flex:none}.install-copy{flex:1;min-width:0}.install-copy strong{display:block}.install-copy p{margin:4px 0 0;color:#5d6d69;font-size:.88rem}.install-actions{display:flex;align-items:center;gap:8px;flex:none}.install-banner .lang-trigger{height:40px;box-shadow:none}.install-add{flex:none;height:40px;padding:0 14px;border:0;border-radius:999px;background:#117a6b;color:#fff;cursor:pointer}.dock{position:absolute;top:calc(16px + env(safe-area-inset-top));right:16px;z-index:40;display:flex;align-items:center;gap:10px}.lang{position:relative}.lang-trigger{display:flex;align-items:center;gap:8px;height:44px;padding:0 12px 0 10px;border:1px solid #d7e3e0;border-radius:999px;background:#fff;color:#24312e;box-shadow:0 8px 24px #117a6b2e;cursor:pointer}.lang-trigger .chevron{width:16px;height:16px;color:#5d6d69;transition:transform .15s ease}.lang.open .chevron{transform:rotate(180deg)}.lang-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:1;margin:0;padding:6px;list-style:none;min-width:168px;border:1px solid #d7e3e0;border-radius:14px;background:#fff;box-shadow:0 12px 32px #117a6b2e}.lang-menu button{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:0;border-radius:10px;background:transparent;color:#24312e;cursor:pointer;font-size:.92rem;text-align:left}.lang-menu button.active,.lang-menu button:hover{background:#e7f3f0}.flag{display:block;width:22px;height:16px;border-radius:2px;overflow:hidden;box-shadow:inset 0 0 0 1px #0000001f;flex:none}.flag svg{display:block;width:100%;height:100%}.fab{position:static;width:56px;height:56px;padding:0;border:0;border-radius:50%;display:grid;place-items:center;line-height:0;background:#117a6b;color:#fff;box-shadow:0 8px 24px #117a6b59;cursor:pointer}.fab svg{display:block;width:26px;height:26px}.backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:50;background:#12201c59;display:flex;align-items:center;justify-content:center;padding:16px}.modal{width:min(100%,440px);max-height:calc(100% - 32px);overflow:auto;background:#fff;border-radius:20px;padding:22px;box-shadow:0 16px 40px #00000029}.modal header{display:flex;align-items:center;justify-content:space-between;gap:12px}.modal h2{margin:0}.modal label{margin:16px 0 6px}.modal .hint{margin:0;color:#5d6d69}.who{margin:12px 0 0;color:#5d6d69}.modal-actions{margin-top:18px;padding-top:10px;border-top:1px solid #e4eeeb}.ghost{border:0;background:transparent;color:#117a6b;cursor:pointer}.row{text-align:left;background:#eef4f2;color:#24312e;padding:14px 16px;border-radius:14px;margin-top:8px}.row.danger{background:#fdecec;color:#9b1c1c}
