/* ============================================================
   HeyVini UI refresh — 27 Aug 2026
   Presentation only. No product logic, data queries, permissions,
   task visibility, plan rules, or backend behavior live here.
   ============================================================ */

:root{
  --ux-bg:#F7F5F1;
  --ux-surface:#FFFFFF;
  --ux-line:#DCD8D2;
  --ux-muted:#66706F;
  --ux-shadow:0 10px 34px rgba(27,36,38,.055);
  --ux-radius:20px;
}

/* ---------- app shell ---------- */
#view-app{background:var(--ux-bg)}
#view-app .app{max-width:1240px;margin:0 auto;min-height:100vh;background:var(--ux-bg)}
#view-app .main{background:var(--ux-bg)}
#view-app .rail{background:#FBFAF8;border-right:1px solid var(--ux-line);padding:20px 12px}
#view-app .who-mini{padding:6px 8px 18px;margin-bottom:6px}
#view-app .who-mini .logo-img{width:38px;height:38px;border-radius:12px}
#view-app .who-mini b{font-family:Fraunces,Georgia,serif;font-size:1.08rem}
#view-app .who-mini small{color:var(--ux-muted)}
#view-app .nav-item{border-radius:14px;margin:2px 0;padding:12px 13px;font-weight:650;color:#53605E;transition:.18s ease}
#view-app .nav-item:hover,#view-app .nav-item.active{background:var(--teal-wash);color:var(--teal-deep)}
#view-app .nav-item.logout{margin-top:auto;color:#7B6560}

/* ---------- shared hierarchy ---------- */
#view-app .content{padding:34px 38px 96px;max-width:980px;margin:0 auto}
#view-app .c-head{margin-bottom:22px}
#view-app .c-head h2,#view-app .today-greet h2{font-family:Fraunces,Georgia,serif;font-size:2rem;line-height:1.08;margin-bottom:6px}
#view-app .c-head p,#view-app .today-greet p{color:var(--ux-muted);line-height:1.5;max-width:680px}
#view-app .card,#view-app .panel,#view-app .m-card,#view-app .up-card{border-radius:var(--ux-radius);border-color:var(--ux-line);box-shadow:var(--ux-shadow);background:var(--ux-surface)}
#view-app .panel{padding:21px}
#view-app .panel h3{font-family:Fraunces,Georgia,serif;font-size:1.28rem;margin-bottom:5px}
#view-app .psub{line-height:1.45;color:var(--ux-muted)}
#view-app .btn{border-radius:14px;font-weight:750}
#view-app .btn-primary{box-shadow:none}
#view-app .field input,#view-app .field select,#view-app .phone-row input,#view-app .phone-row select{border-radius:14px;min-height:48px;border-color:var(--ux-line)}
#view-app .field input:focus,#view-app .field select:focus{border-color:var(--teal);box-shadow:0 0 0 4px rgba(15,110,99,.08)}

/* ---------- Today: status first, then what matters ---------- */
#view-app .todayview{padding-top:30px}
#view-app .today-greet{margin-bottom:20px}
#view-app .rings{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}
#view-app .rcard{border:1px solid var(--ux-line);border-radius:20px;background:#fff;box-shadow:var(--ux-shadow);padding:18px;min-height:128px;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:0!important}
#view-app .rcard:nth-child(2){order:-1;background:linear-gradient(135deg,var(--teal-wash),#FAFCFB);border-color:#C9DED8}
#view-app .rcard .ring{display:none!important}
#view-app .rcard .lbl{margin:0!important;padding:0!important}
#view-app .rcard .lbl b{font-family:Fraunces,Georgia,serif;font-size:1.28rem;display:block;margin-bottom:7px;color:var(--ink)}
#view-app .rcard .lbl span{color:var(--ux-muted);line-height:1.45;font-size:.9rem}
#view-app .rcard .up{display:inline-flex!important;margin-top:11px!important;border-radius:999px!important;padding:6px 9px!important;font-size:.75rem!important;font-weight:800!important}
#view-app .cols{gap:14px}
#view-app .cols>.panel{border-radius:20px}
#view-app .chk{border-radius:16px;padding:13px 14px;border-color:var(--ux-line)}
#view-app .chk b{line-height:1.35}
#view-app .chk span{line-height:1.45;margin-top:4px}
#view-app .ci-empty{border-radius:17px;background:linear-gradient(135deg,var(--teal-wash),#FAFCFB);border-color:#CBDFDA}
#view-app .task{border-radius:16px;padding:14px 13px;margin-top:9px;border-color:var(--ux-line);background:#fff}
#view-app .task .tbody b{line-height:1.35}
#view-app .task .tbody span{color:var(--ux-muted);line-height:1.4}
#view-app .tpill{margin-left:7px;border-radius:999px}
#view-app .todayview .panel>h3{margin-bottom:13px}
#view-app .todayview .orbit{display:none!important}

/* ---------- Chat ---------- */
#view-app .chatview{background:var(--ux-bg);max-width:900px;margin:0 auto;height:100vh;border-left:1px solid transparent;border-right:1px solid transparent}
#view-app .panel-top{background:rgba(255,255,255,.96);border-bottom:1px solid var(--ux-line);padding:15px 18px;box-shadow:0 4px 18px rgba(27,36,38,.025)}
#view-app .panel-top .logo-img{width:38px;height:38px;border-radius:12px}
#view-app .panel-top b{font-family:Fraunces,Georgia,serif;font-size:1.08rem}
#view-app .status{color:var(--ux-muted)}
#view-app .chat{background:#FCFBF9;padding:22px}
#view-app .msg{gap:9px;margin-bottom:13px}
#view-app .msg .av{width:34px;height:34px}
#view-app .msg .bubble{border-radius:17px;border-color:var(--ux-line);line-height:1.48;max-width:min(72%,620px);box-shadow:0 4px 16px rgba(27,36,38,.035)}
#view-app .msg.me .bubble{background:var(--teal);border-color:var(--teal);color:#fff;border-bottom-right-radius:6px}
#view-app .msg:not(.me) .bubble{border-bottom-left-radius:6px;background:#fff}
#view-app .quick{padding:9px 14px 11px;background:#fff;gap:7px;overflow-x:auto;flex-wrap:nowrap;border-top:1px solid #F1EEE9}
#view-app .quick button{white-space:nowrap;border-radius:999px;background:#fff;border:1px solid var(--ux-line);padding:9px 11px;color:#465250;font-weight:700}
#view-app .composer{background:#fff;border-top:1px solid var(--ux-line);padding:11px 12px}
#view-app .composer input{border-radius:14px;background:var(--ux-bg);border-color:var(--ux-line);min-height:46px}
#view-app .composer .send{border-radius:14px;width:46px;height:46px;box-shadow:none}

/* ---------- Weekly view ---------- */
#view-app .wk-nav{background:#fff;border:1px solid var(--ux-line);border-radius:17px;padding:9px;margin:10px 0 18px;box-shadow:var(--ux-shadow)}
#view-app .wk-nav b{font-family:Fraunces,Georgia,serif;font-size:1.02rem}
#view-app .rep-person{margin-bottom:15px;padding:21px;border-radius:20px!important}
#view-app .rep-person>h3{font-family:Fraunces,Georgia,serif;font-size:1.4rem;margin:0 0 20px!important;padding:0 0 13px;border-bottom:1px solid #EEEAE4;line-height:1.25}
#view-app .med-row{padding:13px 0;align-items:center;border-top:1px solid #F0ECE7}
#view-app .med-row.head{padding-top:0;border-top:0;margin-bottom:4px;color:var(--ux-muted);font-size:.76rem;font-weight:750;text-transform:uppercase;letter-spacing:.04em}
#view-app .med-name{line-height:1.5;padding-right:14px}
#view-app .med-name .tpill{display:inline-flex;margin-top:6px;margin-left:0;margin-right:5px}
#view-app .med-count{padding-left:14px;color:var(--ux-muted)}
#view-app .dots7{gap:7px}
#view-app .d7{width:19px;height:19px}
#view-app .rep-legend{background:#fff;border:1px solid var(--ux-line);border-radius:999px;padding:9px 13px;width:max-content;max-width:100%;color:var(--ux-muted)}

/* ---------- Care circle ---------- */
#view-app .care-orbit-wrap{background:#fff;border:1px solid var(--ux-line);border-radius:22px;box-shadow:var(--ux-shadow);padding:22px 16px;margin:12px 0 18px;overflow:hidden}
#view-app .care-orbit-copy{text-align:center;margin-bottom:8px}
#view-app .care-orbit-copy h3{font-family:Fraunces,Georgia,serif;font-size:1.35rem;margin:0 0 5px}
#view-app .care-orbit-copy p{margin:0;color:var(--ux-muted);font-size:.88rem}
#view-app .care-orbit{width:390px;height:315px;max-width:100%;margin:4px auto 0;position:relative}
#view-app .care-ring{position:absolute;left:50%;top:50%;width:275px;height:205px;transform:translate(-50%,-50%);border:1.5px dashed #C9D8D4;border-radius:50%}
#view-app .care-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;gap:10px;z-index:2}
#view-app .care-person,#view-app .care-helper{background:#fff;border:1px solid var(--ux-line);box-shadow:0 9px 24px rgba(37,53,49,.09);text-align:center}
#view-app .care-person{width:102px;border-radius:18px;padding:12px 7px}
#view-app .care-helper{position:absolute;width:86px;border-radius:15px;padding:9px 6px;z-index:3}
#view-app .care-person .care-av,#view-app .care-helper .care-av{margin:0 auto;border-radius:50%;display:grid;place-items:center;font-weight:800}
#view-app .care-person .care-av{width:45px;height:45px;color:#fff;background:var(--teal)}
#view-app .care-helper .care-av{width:34px;height:34px;background:var(--terra-wash);color:var(--terra)}
#view-app .care-person b,#view-app .care-helper b{display:block;margin-top:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#view-app .care-person small,#view-app .care-helper small{display:block;color:var(--ux-muted);font-size:.7rem;line-height:1.3;margin-top:2px}
#view-app .care-helper[data-pos="0"]{left:4px;top:34px}
#view-app .care-helper[data-pos="1"]{right:4px;top:40px}
#view-app .care-helper[data-pos="2"]{left:20px;bottom:15px}
#view-app .care-helper[data-pos="3"]{right:20px;bottom:12px}
#view-app .care-helper[data-pos="4"]{left:50%;transform:translateX(-50%);top:2px}
#view-app #member-list{display:grid;gap:9px}
#view-app .m-card{overflow:hidden;box-shadow:none}
#view-app .m-row{min-height:68px;padding:11px 14px}
#view-app .m-row>.av{width:42px;height:42px}
#view-app .m-id b{font-size:.98rem}
#view-app .m-id .role{color:var(--ux-muted);text-transform:none}
#view-app .m-panel{background:#FCFBF9;border-top-color:var(--ux-line);padding:16px}
#view-app .pill-row{gap:6px}
#view-app .statpill{border-radius:999px}
#view-app .invite{border-radius:14px}
#view-app .addbox{border-radius:20px;background:#fff;border:1px solid var(--ux-line);box-shadow:var(--ux-shadow);padding:20px}
#view-app .addbox h3{font-family:Fraunces,Georgia,serif;font-size:1.3rem}
#view-app .cap-note{color:var(--ux-muted);margin-bottom:12px}

/* ---------- Useful contacts ---------- */
#view-app [data-view="contacts"]{max-width:760px;margin:0 auto}
#view-app [data-view="contacts"]>.card{max-width:680px!important;padding:20px!important}
#view-app [data-view="contacts"]>.card>h3,#view-app [data-view="contacts"]>.card>.psub{display:none}
#view-app #fc-list{display:grid;gap:9px;margin-bottom:22px}
#view-app .fc-row{border:1px solid var(--ux-line);border-radius:16px;padding:13px 14px;background:#fff;box-shadow:0 3px 14px rgba(27,36,38,.025)}
#view-app .fc-ico{width:42px;height:42px;border-radius:13px;background:var(--teal-wash);display:grid;place-items:center}
#view-app .fc-main b{font-size:.96rem}
#view-app .fc-main span{color:var(--ux-muted);line-height:1.35;margin-top:3px}
#view-app .fc-form{border-top:1px solid var(--ux-line);padding-top:16px;margin-top:4px;background:#FCFBF9;border-radius:16px;padding:16px}
#view-app .fc-form .field{margin-bottom:11px}
#view-app .fc-actions{display:flex;gap:8px;margin-top:12px}

/* ---------- Account ---------- */
#view-app [data-view="account"]{max-width:760px;margin:0 auto}
#view-app [data-view="account"]>.card{max-width:640px!important;border-radius:22px!important;padding:22px!important}
#view-app [data-view="account"]>.card .field{margin-bottom:14px}
#view-app [data-view="account"]>.card .field label{font-weight:750;margin-bottom:7px}

/* ---------- Plan ---------- */
#view-app .up-grid{gap:14px}
#view-app .up-card{padding:22px;border-radius:22px}
#view-app .up-card.cur{border:2px solid var(--teal);background:linear-gradient(180deg,#fff,#FBFDFD)}
#view-app .up-card .nm{font-family:Fraunces,Georgia,serif;font-size:1.22rem}
#view-app .up-card .pr{font-family:Fraunces,Georgia,serif}
#view-app .up-card ul{line-height:1.65;color:var(--ux-muted)}

/* ---------- Mobile navigation ---------- */
#view-app .ux-mobile-nav{display:none}

@media(max-width:760px){
  #view-app .app-top{display:flex;background:rgba(255,255,255,.97);border-bottom:1px solid var(--ux-line);box-shadow:none;padding:10px 14px}
  #view-app .app-top .brand .logo-img{width:34px;height:34px;border-radius:11px}
  #view-app .app-top .out{display:none}
  #view-app .rail{display:none}
  #view-app .app{display:block}
  #view-app .main{width:100%;padding:0}
  #view-app .content{padding:20px 15px 94px;max-width:none}
  #view-app .todayview{padding-top:18px}
  #view-app .c-head h2,#view-app .today-greet h2{font-size:1.8rem}
  #view-app .rings{grid-template-columns:1fr;gap:9px}
  #view-app .rcard{padding:16px;min-height:112px}
  #view-app .rcard .lbl b{font-size:1.2rem}
  #view-app .cols{grid-template-columns:1fr;gap:10px}
  #view-app .panel{padding:17px}

  #view-app .chatview{height:calc(100vh - 58px);padding-bottom:72px}
  #view-app .panel-top{padding:12px 14px}
  #view-app .chat{padding:16px 12px}
  #view-app .msg .bubble{max-width:86%;font-size:.94rem}
  #view-app .quick{padding-left:10px;padding-right:10px}

  #view-app .wk-nav{padding:7px}
  #view-app .wk-nav .btn{padding:8px 9px;font-size:.77rem}
  #view-app .rep-person{padding:16px 13px}
  #view-app .rep-person>h3{margin-bottom:20px!important;padding-bottom:12px}
  #view-app .med-row{grid-template-columns:minmax(88px,1.2fr) minmax(150px,2fr);gap:8px;padding:13px 0}
  #view-app .med-count{grid-column:1/-1;padding:2px 0 0;color:var(--ux-muted);font-size:.78rem}
  #view-app .dots7{gap:5px}
  #view-app .d7{width:16px;height:16px}

  #view-app .care-orbit-wrap{padding:18px 7px}
  #view-app .care-orbit{height:330px;max-width:355px}
  #view-app .care-ring{width:240px;height:195px}
  #view-app .care-person{width:94px}
  #view-app .care-helper{width:80px}
  #view-app .care-helper[data-pos="0"]{left:0}
  #view-app .care-helper[data-pos="1"]{right:0}
  #view-app .care-helper[data-pos="2"]{left:8px}
  #view-app .care-helper[data-pos="3"]{right:8px}

  #view-app .addbox{padding:17px}
  #view-app .row2{grid-template-columns:1fr}
  #view-app [data-view="contacts"]>.card,#view-app [data-view="account"]>.card{padding:16px!important}
  #view-app .up-grid{grid-template-columns:1fr}

  #view-app .ux-mobile-nav{display:grid;position:fixed;z-index:1000;left:0;right:0;bottom:0;grid-template-columns:repeat(4,1fr);background:rgba(255,255,255,.97);border-top:1px solid var(--ux-line);padding:7px 6px calc(7px + env(safe-area-inset-bottom));box-shadow:0 -8px 30px rgba(30,45,42,.06);backdrop-filter:blur(14px)}
  #view-app .ux-mobile-nav button{border:0;background:none;color:#687270;font-size:0;font-weight:750;padding:5px 2px;border-radius:10px;display:flex;flex-direction:column;align-items:center;gap:3px;min-height:51px;justify-content:center}
  #view-app .ux-mobile-nav button span{font-size:.67rem;line-height:1.05}
  #view-app .ux-mobile-nav button::before{content:"";width:21px;height:21px;background:currentColor;display:block;mask-repeat:no-repeat;mask-position:center;mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain}
  #view-app .ux-mobile-nav button[data-u="today"]::before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M3 11 12 3l9 8v9a1 1 0 0 1-1 1h-5v-6H9v6H4a1 1 0 0 1-1-1Z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M3 11 12 3l9 8v9a1 1 0 0 1-1 1h-5v-6H9v6H4a1 1 0 0 1-1-1Z'/%3E%3C/svg%3E")}
  #view-app .ux-mobile-nav button[data-u="chat"]::before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M21 12a8 8 0 0 1-8 8H7l-4 3v-4a8 8 0 1 1 18-7Z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M21 12a8 8 0 0 1-8 8H7l-4 3v-4a8 8 0 1 1 18-7Z'/%3E%3C/svg%3E")}
  #view-app .ux-mobile-nav button[data-u="family"]::before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Ccircle cx='12' cy='8' r='3'/%3E%3Ccircle cx='5' cy='12' r='2'/%3E%3Ccircle cx='19' cy='12' r='2'/%3E%3Cpath d='M6 20a6 6 0 0 1 12 0M1.5 20a4 4 0 0 1 4-4M22.5 20a4 4 0 0 0-4-4'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Ccircle cx='12' cy='8' r='3'/%3E%3Ccircle cx='5' cy='12' r='2'/%3E%3Ccircle cx='19' cy='12' r='2'/%3E%3Cpath d='M6 20a6 6 0 0 1 12 0M1.5 20a4 4 0 0 1 4-4M22.5 20a4 4 0 0 0-4-4'/%3E%3C/svg%3E")}
  #view-app .ux-mobile-nav button[data-u="more"]::before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='5' cy='12' r='2'/%3E%3Ccircle cx='12' cy='12' r='2'/%3E%3Ccircle cx='19' cy='12' r='2'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='5' cy='12' r='2'/%3E%3Ccircle cx='12' cy='12' r='2'/%3E%3Ccircle cx='19' cy='12' r='2'/%3E%3C/svg%3E")}
  #view-app .ux-mobile-nav button.active{color:var(--teal-deep);background:var(--teal-wash)}
  #view-app .ux-more-sheet{position:fixed;left:10px;right:10px;bottom:74px;z-index:1001;background:#fff;border:1px solid var(--ux-line);border-radius:20px;box-shadow:0 18px 55px rgba(27,36,38,.16);padding:10px;display:grid;gap:4px}
  #view-app .ux-more-sheet.hidden{display:none!important}
  #view-app .ux-more-sheet button{border:0;background:#fff;border-radius:13px;padding:13px 14px;text-align:left;font-weight:720;color:var(--ink)}
  #view-app .ux-more-sheet button:hover{background:var(--teal-wash)}
}

/* ============================================================
   Approved login + onboarding presentation.
   This is intentionally bundled here so the production page always
   loads it with ux-refresh.css; existing auth/onboarding logic stays
   in app.js and ux-refresh.js.
   ============================================================ */
#view-auth{background:#EDEBE8;min-height:100vh;padding:24px;display:grid;place-items:center}
#view-auth.hidden{display:none!important}
#view-auth .auth-card{width:min(100%,480px);min-height:610px;background:#fff;border:1px solid rgba(0,0,0,.035);border-radius:28px;padding:28px 24px;box-shadow:0 24px 70px rgba(31,50,47,.14);display:flex;flex-direction:column;justify-content:center;color:#1B2426}
#view-auth .brand-center{margin:0 auto 24px;display:flex;justify-content:center}
#view-auth .brand-center .logo-img{width:54px;height:54px;border-radius:16px;box-shadow:0 8px 22px rgba(15,110,99,.12)}
#view-auth h2{font-family:Fraunces,Georgia,serif;font-size:2rem;line-height:1.12;margin:0 0 8px;text-align:center;color:#1B2426}
#view-auth .sub{text-align:center;color:#66706F;line-height:1.5;margin:0 auto 25px;max-width:390px}
#view-auth .field{margin-bottom:15px}
#view-auth .field label{display:block;font-size:.91rem;font-weight:750;margin-bottom:8px;color:#1B2426}
#view-auth .field input{width:100%;min-height:51px;border:1.5px solid #DCD8D2;border-radius:14px;padding:14px 15px;background:#fff;color:#1B2426;font:inherit;transition:.18s ease}
#view-auth .field input:focus{outline:0;border-color:#0F6E63;box-shadow:0 0 0 4px rgba(15,110,99,.08)}
#view-auth .btn-primary{width:100%;min-height:51px;border-radius:14px;background:#0F6E63;box-shadow:none;font-weight:800;margin-top:3px}
#view-auth .btn-primary:hover{background:#0B564D}
#view-auth .switch-line{text-align:center;color:#66706F;font-size:.84rem;line-height:1.45;margin:17px 0 0}
#view-auth .switch-line a{color:#0F6E63;font-weight:750;cursor:pointer}
#view-auth .err{color:#A64C39;font-size:.84rem;line-height:1.4;margin-top:12px}
#view-auth .code-input{text-align:center;font-size:1.2rem;letter-spacing:.22em;font-weight:750}

#view-onboard{background:#EDEBE8;min-height:100vh;padding:24px;display:grid;place-items:center}
#view-onboard.hidden{display:none!important}
#view-onboard>.ux-legacy-onboard{display:none!important}
.ux-onboard{width:min(100%,480px)}
.ux-ob-card{min-height:730px;background:#fff;border-radius:28px;padding:22px;box-shadow:0 24px 70px rgba(31,50,47,.14);display:flex;flex-direction:column;color:#1B2426}
.ux-ob-top{display:flex;justify-content:space-between;align-items:center;color:#66706F;font-size:.88rem;font-weight:700}
.ux-ob-brand{display:flex;align-items:center;gap:9px;color:#1B2426}.ux-ob-brand img{width:36px;height:36px;border-radius:11px}.ux-ob-brand b{font-size:1rem}
.ux-ob-progress{height:7px;background:#F7F5F1;border-radius:999px;overflow:hidden;margin:12px 0 28px}.ux-ob-progress i{display:block;height:100%;background:#0F6E63;border-radius:999px}
.ux-ob-card h1{font-family:Fraunces,Georgia,serif;font-size:2rem;line-height:1.12;margin:0 0 8px}.ux-ob-card h2{font-family:Fraunces,Georgia,serif;font-size:1.5rem;margin:0 0 14px;text-align:center}
.ux-ob-sub{color:#66706F;line-height:1.5;margin:0 0 22px}
.ux-ob-label{display:block;font-size:.92rem;font-weight:750;margin:18px 0 8px}.ux-ob-label span{font-weight:500;color:#66706F;font-size:.82rem}
.ux-ob-input{width:100%;border:1.5px solid #DCD8D2;border-radius:14px;padding:14px 15px;min-height:49px;background:#fff;color:#333;font:inherit}.ux-ob-input:focus{outline:0;border-color:#0F6E63;box-shadow:0 0 0 4px rgba(15,110,99,.08)}
.ux-ob-choices{display:grid;gap:10px}.ux-ob-choice{width:100%;display:flex;align-items:center;gap:11px;text-align:left;border:1.5px solid #DCD8D2;border-radius:16px;padding:14px 15px;background:#fff;color:#1B2426;cursor:pointer}.ux-ob-choice.on{border-color:#0F6E63;background:#E4EFEC;box-shadow:inset 0 0 0 1px #0F6E63}.ux-ob-choice svg{width:24px;height:24px;flex:0 0 auto}.ux-ob-choice b{display:block;font-size:.94rem}.ux-ob-choice small{display:block;color:#66706F;margin-top:3px;line-height:1.35}.ux-ob-channel,.ux-ob-times{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ux-ob-times{margin-bottom:4px}
.ux-ob-choice.ux-wa svg{color:#25D366}.ux-ob-choice.ux-tg svg{color:#229ED9}.ux-ob-choice.ux-wa.on{border-color:#25D366;background:#F1FBF5}.ux-ob-choice.ux-tg.on{border-color:#229ED9;background:#F1F8FD}
.ux-ob-phone{display:grid;grid-template-columns:minmax(132px,42%) 1fr;gap:9px}.ux-ob-phone select,.ux-ob-phone input{width:100%;min-width:0;border:1.5px solid #DCD8D2;border-radius:14px;padding:13px 12px;min-height:49px;background:#fff;color:#333;font:inherit}.ux-ob-phone select:focus,.ux-ob-phone input:focus{outline:0;border-color:#0F6E63;box-shadow:0 0 0 4px rgba(15,110,99,.08)}.ux-ob-phone-help{font-size:.76rem;color:#66706F;margin-top:6px;line-height:1.35}
.ux-ob-actions{margin-top:auto;padding-top:28px;display:flex;gap:10px}.ux-ob-next,.ux-ob-finish{border:0;border-radius:14px;padding:15px 18px;background:#0F6E63;color:#fff;font-weight:800;cursor:pointer}.ux-ob-next{flex:1}.ux-ob-next:hover,.ux-ob-finish:hover{background:#0B564D}.ux-ob-back{border:0;border-radius:14px;padding:15px 18px;background:#F7F5F1;color:#1B2426;font-weight:800;cursor:pointer}
.ux-ob-hello{background:linear-gradient(135deg,#E4EFEC,#F9FCFB);border:1px solid #cfe0dc;border-radius:18px;padding:16px;margin-top:16px}.ux-ob-hello small{display:block;font-size:.74rem;letter-spacing:.08em;font-weight:800;color:#0B564D}.ux-ob-hello b{display:block;font-family:Fraunces,Georgia,serif;font-size:1.2rem;margin:5px 0}.ux-ob-hello span{color:#66706F;font-size:.85rem}
.ux-ob-summary{background:#F7F5F1;border:1px solid #DCD8D2;border-radius:18px;padding:15px;margin-top:18px}.ux-ob-summary b{display:block;margin-bottom:5px}.ux-ob-summary span{color:#66706F;font-size:.88rem;line-height:1.4}.ux-ob-tos{display:flex;align-items:flex-start;gap:8px;margin:15px 2px 0;font-size:.82rem;color:#66706F;line-height:1.4}.ux-ob-tos input{margin-top:2px;accent-color:#0F6E63}
.ux-ob-done-icon{width:76px;height:76px;border-radius:50%;background:#F6E7DF;color:#C2562F;display:grid;place-items:center;font-size:32px;margin:70px auto 18px}.ux-ob-card:has(.ux-ob-done-icon)>h1,.ux-ob-card:has(.ux-ob-done-icon)>.ux-ob-sub{text-align:center}.ux-ob-divider{height:1px;background:#DCD8D2;margin:22px 0}.ux-ob-finish{width:100%;margin-top:auto}
.ux-ob-error{min-height:22px;color:#A64C39;font-size:.84rem;margin-top:10px;line-height:1.4}

@media(max-width:600px){
  #view-auth{padding:0;background:#fff;display:block}
  #view-auth .auth-card{width:100%;min-height:100vh;border:0;border-radius:0;box-shadow:none;padding:38px 18px calc(24px + env(safe-area-inset-bottom));justify-content:center}
  #view-auth h2{font-size:1.9rem}
  #view-onboard{padding:0;background:#fff;display:block}
  .ux-onboard{width:100%}.ux-ob-card{width:100%;min-height:100vh;border-radius:0;box-shadow:none;padding:18px;padding-bottom:calc(18px + env(safe-area-inset-bottom))}.ux-ob-card h1{font-size:1.9rem}.ux-ob-channel,.ux-ob-times{gap:8px}.ux-ob-phone{grid-template-columns:128px 1fr}
}
