@font-face{font-family:'Bauhaus';src:url('/fonts/BauhausRegular.ttf') format('truetype');font-weight:400;}
@font-face{font-family:'Bauhaus';src:url('/fonts/BauhausBold.ttf') format('truetype');font-weight:700;}
:root{
  --neu:#e8eae6; --ink:#000000; --red:#c40026; --red-d:#a0001e; --pine:#0e3d2e;
  --sh-out:7px 7px 14px rgba(163,175,166,.55),-7px -7px 14px rgba(255,255,255,.92);
  --sh-out-lg:11px 11px 24px rgba(163,175,166,.5),-11px -11px 24px rgba(255,255,255,.9);
  --sh-in:inset 5px 5px 10px rgba(163,175,166,.55),inset -5px -5px 10px rgba(255,255,255,.95);
  --sh-ava:4px 4px 9px rgba(163,175,166,.55),-4px -4px 9px rgba(255,255,255,.9);
}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent;}
body{font-family:"Public Sans","Segoe UI",Verdana,Geneva,sans-serif;background:#dfe3de;color:#000;min-height:100dvh;}
h1,h2,h3,h4,.bh{font-family:"Bauhaus","Public Sans",sans-serif;}
a{color:var(--red-d);}

/* ---------- auth pages ---------- */
.authwrap{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:18px;}
.authcard{width:min(430px,100%);background:var(--neu);border-radius:30px;box-shadow:var(--sh-out-lg);padding:34px 28px 26px;text-align:center;}
.catmark{width:92px;height:92px;margin:0 auto 10px;border-radius:50%;background:var(--neu);box-shadow:var(--sh-out);display:flex;align-items:center;justify-content:center;}
.wm{font-family:"Bauhaus",sans-serif;font-size:30px;font-weight:700;letter-spacing:3px;}
.tagline{font-size:13.5px;opacity:.75;margin:6px 0 22px;}
.banner{border-radius:16px;padding:12px 14px;font-size:13.5px;margin-bottom:14px;text-align:left;background:#fff;box-shadow:var(--sh-ava);}
.banner.err{border-left:6px solid var(--red);}
.banner.ok{border-left:6px solid var(--pine);}
.btn-google{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;border:none;cursor:pointer;text-decoration:none;border-radius:999px;background:var(--red);color:#fff;font-family:"Bauhaus",sans-serif;font-size:16.5px;padding:14px 0;box-shadow:var(--sh-out);transition:background .15s;}
.btn-google:hover{background:var(--red-d);}
.btn-google .g{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:#fff;color:var(--red);font-weight:700;font-size:16px;}
.fineprint{font-size:12.5px;opacity:.7;margin-top:16px;line-height:1.5;}
.field{width:100%;border:none;border-radius:14px;padding:13px 15px;font-family:inherit;font-size:14.5px;background:var(--neu);box-shadow:var(--sh-in);color:#000;outline:none;margin-bottom:13px;text-align:left;}
.field::placeholder{color:#000;opacity:.45;}
.btn-submit{width:100%;border:none;cursor:pointer;border-radius:999px;background:var(--red);color:#fff;font-family:"Bauhaus",sans-serif;font-size:16px;padding:13px 0;box-shadow:var(--sh-out);}
.btn-submit:hover{background:var(--red-d);}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;}
.foot{margin-top:20px;font-size:11.5px;opacity:.55;letter-spacing:.06em;}

/* ---------- app shell ---------- */
.app{position:relative;max-width:520px;margin:0 auto;min-height:100dvh;background:var(--neu);display:flex;flex-direction:column;box-shadow:var(--sh-out-lg);}
@media(min-width:900px){.app{max-width:760px;}}
.topbar{display:flex;align-items:center;gap:9px;padding:15px 18px 9px;flex:none;}
.topbar .wm{font-size:21px;letter-spacing:2px;}
.chip{display:inline-block;font-size:10px;font-weight:800;letter-spacing:.04em;border-radius:999px;padding:4px 10px;background:var(--neu);box-shadow:var(--sh-in);color:#000;white-space:nowrap;}
.chip.solid{background:var(--red);color:#fff;box-shadow:var(--sh-ava);}
.topbar .spacer{flex:1;}
.iconbtn{border:none;cursor:pointer;border-radius:999px;background:var(--neu);box-shadow:var(--sh-out);color:#000;font-family:"Bauhaus",sans-serif;font-size:12.5px;padding:8px 14px;}
.iconbtn:active{box-shadow:var(--sh-in);}
main{flex:1;overflow-y:auto;padding:6px 18px 150px;}
.panel{display:none;}
.panel.active{display:block;}
.ptitle{font-size:22px;margin:8px 0 4px;}
.psub{font-size:13px;opacity:.7;margin-bottom:14px;}
.card{background:var(--neu);border-radius:22px;box-shadow:var(--sh-out);padding:16px;margin-bottom:14px;}
.card h3{font-size:16px;margin-bottom:6px;}
.card p{font-size:13.5px;line-height:1.55;}
.well{background:var(--neu);border-radius:18px;box-shadow:var(--sh-in);padding:14px;margin-bottom:13px;font-size:13.5px;line-height:1.55;}
.statrow{display:flex;gap:11px;margin-bottom:14px;flex-wrap:wrap;}
.stat{flex:1;min-width:96px;background:var(--neu);border-radius:20px;box-shadow:var(--sh-out);padding:13px;text-align:center;}
.stat .n{font-family:"Bauhaus",sans-serif;font-size:25px;font-weight:700;}
.stat .l{font-size:10.5px;font-weight:700;letter-spacing:.05em;opacity:.65;}
.abtn{display:inline-block;border:none;border-radius:999px;font-family:"Bauhaus",sans-serif;font-size:13.5px;padding:10px 18px;cursor:pointer;background:var(--neu);box-shadow:var(--sh-out);color:#000;text-decoration:none;}
.abtn.red{background:var(--red);color:#fff;}
.abtn.disabled{opacity:.55;cursor:default;}

/* drawer */
.drawerwrap{position:fixed;inset:0;z-index:40;display:none;}
.drawerwrap.open{display:block;}
.scrim{position:absolute;inset:0;background:rgba(20,30,24,.35);}
.drawer{position:absolute;left:50%;transform:translate(-50%,0);top:0;width:min(520px,100%);max-height:82dvh;overflow-y:auto;background:var(--neu);border-radius:0 0 28px 28px;box-shadow:var(--sh-out-lg);padding:20px 20px 16px;}
.drawer h3{font-size:17px;margin-bottom:10px;}
.dlink{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:none;cursor:pointer;background:var(--neu);box-shadow:var(--sh-out);border-radius:16px;padding:13px 15px;font-family:inherit;font-size:14px;color:#000;margin-bottom:10px;text-decoration:none;}
.dlink .soon{margin-left:auto;}
.dlink:active{box-shadow:var(--sh-in);}

/* arch nav */
.arch{position:fixed;left:50%;transform:translateX(-50%);bottom:0;width:min(520px,100%);height:118px;z-index:30;pointer-events:none;}
@media(min-width:900px){.arch{width:min(760px,100%);}}
.arch .curve{position:absolute;left:-12%;right:-12%;bottom:-46px;height:118px;background:var(--neu);border-radius:50%/100% 100% 0 0;box-shadow:0 -8px 22px rgba(163,175,166,.45);}
.archrow{position:absolute;left:0;right:0;bottom:0;height:118px;display:flex;align-items:flex-end;justify-content:space-evenly;padding:0 8px 13px;}
.archbtn{pointer-events:auto;border:none;cursor:pointer;width:62px;height:62px;border-radius:50%;background:var(--neu);box-shadow:var(--sh-out);color:#000;font-family:"Bauhaus",sans-serif;font-size:10.5px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;}
.archbtn .ic{font-size:19px;line-height:1;}
.archbtn.active{background:var(--red);color:#fff;}
.archbtn:active{box-shadow:var(--sh-in);}
.catbtn{pointer-events:auto;border:none;cursor:pointer;width:76px;height:76px;border-radius:50%;background:var(--neu);box-shadow:var(--sh-out-lg);display:flex;align-items:center;justify-content:center;margin-bottom:16px;}
.catbtn:active{box-shadow:var(--sh-in);}

/* ---------- admin ---------- */
.urow{display:flex;align-items:center;gap:12px;background:var(--neu);border-radius:20px;box-shadow:var(--sh-out);padding:14px 15px;margin-bottom:12px;flex-wrap:wrap;}
.uava{width:44px;height:44px;flex:none;border-radius:50%;background:var(--neu);box-shadow:var(--sh-ava);display:flex;align-items:center;justify-content:center;font-family:"Bauhaus",sans-serif;font-weight:700;font-size:17px;}
.uinfo{flex:1;min-width:170px;}
.uinfo .un{font-weight:700;font-size:14.5px;}
.uinfo .ue{font-size:12.5px;opacity:.7;word-break:break-all;}
.uinfo .um{font-size:11.5px;opacity:.6;margin-top:2px;}
.sbtn{border:none;cursor:pointer;border-radius:999px;font-family:"Bauhaus",sans-serif;font-size:12px;padding:8px 14px;background:var(--neu);box-shadow:var(--sh-out);color:#000;}
.sbtn:active{box-shadow:var(--sh-in);}
.sbtn.red{background:var(--red);color:#fff;}
.sbtn.pine{background:var(--pine);color:#fff;}
select.field{appearance:none;-webkit-appearance:none;}
.inlineform{display:inline-flex;gap:8px;align-items:center;flex-wrap:wrap;}
.codeinp{width:130px;border:none;border-radius:14px;padding:10px 12px;font-family:"Bauhaus",sans-serif;font-size:17px;letter-spacing:4px;background:var(--neu);box-shadow:var(--sh-in);color:#000;outline:none;text-align:center;}
.supportstrip{position:sticky;top:0;z-index:25;background:#fff;border-left:7px solid var(--red);box-shadow:var(--sh-ava);padding:11px 16px;font-size:13.5px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.bigcode{font-family:"Bauhaus",sans-serif;font-size:27px;font-weight:700;letter-spacing:6px;}
.seclabel{font-family:"Bauhaus",sans-serif;font-size:13px;letter-spacing:.05em;text-transform:uppercase;margin:4px 0 12px;}
.flabel{display:block;font-size:12.5px;font-weight:700;margin:12px 0 5px;}
.hint{font-size:12px;opacity:.65;margin-top:12px;line-height:1.55;}
main .card{margin-bottom:4px;}
.favrow{display:flex;gap:14px;overflow-x:auto;padding:4px 2px 8px;}
.fav{display:flex;flex-direction:column;align-items:center;gap:5px;width:62px;flex:none;text-align:center;text-decoration:none;color:#000;}
.fav .uava{width:52px;height:52px;font-size:19px;}
.fav span:last-child{font-size:11px;line-height:1.25;}
.radiocard{display:flex;gap:11px;align-items:flex-start;background:#fff;border-radius:16px;box-shadow:var(--sh-ava);padding:13px 14px;margin-bottom:11px;cursor:pointer;font-size:13.5px;line-height:1.5;}
.radiocard input{margin-top:3px;accent-color:var(--red);width:17px;height:17px;flex:none;}
.herocat{width:150px;height:150px;margin:26px auto 6px;border-radius:50%;background:var(--neu);box-shadow:var(--sh-out);display:flex;align-items:center;justify-content:center;}
.herotitle{font-family:"Bauhaus",sans-serif;font-size:34px;line-height:1.15;text-align:center;margin:14px 8px 6px;}
.herotag{text-align:center;font-size:16.5px;line-height:1.6;opacity:.85;max-width:560px;margin:0 auto;}
.pillars{display:grid;gap:14px;margin-top:22px;}
@media(min-width:700px){.pillars{grid-template-columns:1fr 1fr 1fr;}}
.pillar{background:var(--neu);border-radius:22px;box-shadow:var(--sh-out);padding:18px;}
.pillar h3{font-family:"Bauhaus",sans-serif;font-size:16px;margin-bottom:7px;}
.pillar p{font-size:13.5px;line-height:1.6;}
.landwrap{max-width:860px;margin:0 auto;padding:0 16px 40px;}

/* ---------- phase 3: panels, Message HQ, calendar, cat modes ---------- */
html,body{overflow-x:clip;}
.inlineform{display:flex;}
.inlineform .field{min-width:0!important;flex:1 1 130px;width:auto;}
.uinfo{min-width:0;}
.ftab{border:none;cursor:pointer;border-radius:999px;background:var(--neu);box-shadow:var(--sh-out);color:#000;font-family:"Bauhaus",sans-serif;font-size:12.5px;padding:9px 16px;}
.ftab:active{box-shadow:var(--sh-in);}
.ftab.active{background:var(--red);color:#fff;}
.tchip{display:inline-block;font-size:9.5px;font-weight:800;letter-spacing:.05em;border-radius:999px;padding:3px 8px;background:var(--neu);box-shadow:var(--sh-in);color:#000;white-space:nowrap;vertical-align:2px;margin-left:6px;}
.tchip.q{background:transparent;box-shadow:none;border:1.5px dashed rgba(0,0,0,.45);}
.threadrow{display:flex;align-items:center;gap:12px;width:100%;text-align:left;border:none;cursor:pointer;background:var(--neu);box-shadow:var(--sh-out);border-radius:20px;padding:13px 15px;margin-bottom:12px;font-family:inherit;color:#000;}
.threadrow:active{box-shadow:var(--sh-in);}
.threadrow.open{background:#fff;box-shadow:var(--sh-ava);border-left:6px solid var(--red);}
.unreadot{width:9px;height:9px;border-radius:50%;background:#000;display:inline-block;}
.bubbles{display:flex;flex-direction:column;}
.bubble{max-width:84%;padding:10px 13px;border-radius:18px;font-size:14px;line-height:1.5;margin-bottom:8px;white-space:pre-wrap;}
.bubble.in{background:#fff;box-shadow:var(--sh-ava);align-self:flex-start;border-bottom-left-radius:6px;}
.bubble.out{background:var(--neu);box-shadow:var(--sh-in);align-self:flex-end;border-bottom-right-radius:6px;}
.composer{display:flex;gap:8px;align-items:center;}
.dot{width:6px;height:6px;border-radius:50%;display:inline-block;margin:0 1px;vertical-align:middle;}
.dot.escrow{background:var(--red);}
.dot.tours_calls{background:#000;}
.dot.personal{background:#9aa39c;}
.calgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;}
.caldow{text-align:center;font-size:10.5px;font-weight:800;opacity:.55;padding:2px 0;}
.calday{border:none;cursor:pointer;background:var(--neu);box-shadow:var(--sh-out);border-radius:14px;aspect-ratio:.92;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-family:inherit;font-size:13px;color:#000;padding:3px 0;}
.calday .dots{min-height:8px;line-height:1;}
.calday.today{box-shadow:var(--sh-in);}
.calday.sel{background:var(--red);color:#fff;}
.calday.sel .dot{background:#fff;}
.evrow{font-size:13.5px;padding:5px 0;}
@keyframes purr{0%{transform:scale(1);}40%{transform:scale(1.09) rotate(-2deg);}100%{transform:scale(1);}}
.catbtn.purr{animation:purr .32s ease;}
.archbtn,.arch .curve{transition:opacity .25s,transform .25s;}
body.catonly .archbtn{opacity:0;pointer-events:none;transform:translateY(18px);}
body.catonly .arch .curve{opacity:0;}
