:root{font-family:'DM Sans',sans-serif;color:#493e55;background:#fdf9fa;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #cf9ec4;outline-offset:2px}.shell{min-height:100vh;display:flex}.sidebar{width:236px;flex-shrink:0;background:#fff;border-right:1px solid #f0e6ed;padding:25px 16px;display:flex;flex-direction:column;gap:18px;position:sticky;top:0;height:100vh}.brand{font-family:Nunito,sans-serif;font-weight:900;line-height:1.15;font-size:19px;letter-spacing:-.4px;color:#795577;display:flex;gap:10px;align-items:center}.logo{width:41px;height:41px;background:#f8e1ee;border-radius:15px;display:grid;place-items:center;font-size:21px}.tiny{font-size:11px;color:#a89dab}.nav{display:flex;flex-direction:column;gap:5px}.nav-btn{border:0;text-align:left;background:none;color:#807486;padding:12px 14px;border-radius:13px;display:flex;align-items:center;gap:11px;font-weight:700}.nav-btn:hover,.nav-btn.active{background:#fcebf2;color:#aa6285}.nav-icon{font-size:19px}.side-bottom{margin-top:auto;padding:14px;background:#fbf4f8;border-radius:17px;color:#8a7588;font-size:12px;line-height:1.6}.main{width:calc(100% - 236px);max-width:1430px;padding:28px 40px 50px;margin:0 auto}.top{display:flex;gap:15px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;margin-bottom:23px}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-weight:900;font-size:10px;color:#c389a8}.h1{font-family:Nunito,sans-serif;font-size:30px;color:#51415e;margin:4px 0 4px;font-weight:900;line-height:1.15}.muted{color:#9a8f9e;font-size:13px}.controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.pill,.button{border-radius:15px;border:1px solid #f0dfe8;background:white;padding:10px 14px;font-weight:800;color:#7b6075;font-size:13px}.pill.active,.button.primary{background:#e9a9c2;color:#fff;border-color:#e9a9c2}.button.secondary{background:#f3ebf6;border-color:#f3ebf6}.button.danger{background:#fff0f0;color:#a85666}.button.small{padding:7px 11px;font-size:11px}.button:hover,.pill:hover{filter:brightness(.98)}.card{background:white;border:1px solid #f0e8ed;border-radius:21px;box-shadow:0 10px 35px rgba(107,71,98,.04);padding:23px}.section-title{font-family:Nunito,sans-serif;font-size:19px;font-weight:900;margin:0 0 6px;color:#584661}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.stat{padding:18px;background:white;border:1px solid #f1e7ee;border-radius:18px}.stat strong{font:900 29px Nunito}.stat span{display:block;color:#968b98;font-size:12px}.hero{background:linear-gradient(105deg,#fff2f5,#fff8ee 55%,#f1f6ef);border:1px solid #f7e6ec;border-radius:23px;padding:24px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.hero h2{font:900 23px Nunito;margin:5px 0}.town-wrap{border-radius:28px;border:1px solid #e9e8e0;background:linear-gradient(160deg,#f1fbeb,#e2f1e0);padding:25px 18px 22px;overflow:hidden;position:relative;min-height:470px}.town-wrap::before{content:'';position:absolute;inset:0;background-image:radial-gradient(#cfe0c3 1px,transparent 1px);background-size:22px 22px;opacity:.65}.town-title{position:relative;text-align:center;font:900 20px Nunito;color:#6b856c}.town-caption{position:relative;text-align:center;font-size:12px;color:#88a289;margin-bottom:20px}.town-grid{display:grid;position:relative;grid-template-columns:repeat(4,1fr);gap:22px 12px}.building{position:relative;min-height:144px;border:0;background:transparent;padding:0;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:3px;transition:transform .15s}.building:hover{transform:translateY(-5px)}.building-house{position:relative;width:86px;height:74px;border-radius:6px 9px 11px 11px;background:#f6b5ca;border:3px solid rgba(114,90,110,.14);box-shadow:10px 11px 0 #ddb3c0,11px 14px 0 #b4d2ae;transform:skewY(-5deg)}.building-house:before{content:'';position:absolute;left:-8px;right:-6px;top:-19px;height:24px;clip-path:polygon(9% 100%,48% 0,92% 16%,100% 100%);background:#d58fb3;border:2px solid rgba(102,83,110,.08)}.building-house:after{content:'';position:absolute;bottom:0;left:31px;width:23px;height:39px;background:#fff3e8;border-radius:12px 12px 0 0;box-shadow:inset 0 0 0 3px #d9a7b6}.building:nth-child(2) .building-house{background:#dac5f4;box-shadow:10px 11px 0 #b7a2d3,11px 14px 0 #b4d2ae}.building:nth-child(2) .building-house:before{background:#aa91cd}.building:nth-child(3) .building-house{background:#f6d3a5;box-shadow:10px 11px 0 #dfb98f,11px 14px 0 #b4d2ae}.building:nth-child(3) .building-house:before{background:#cfb08d}.building:nth-child(4) .building-house{background:#b9ddd5;box-shadow:10px 11px 0 #97c2b7,11px 14px 0 #b4d2ae}.building:nth-child(4) .building-house:before{background:#8bbeb6}.building:nth-child(5) .building-house{background:#eee2a6;box-shadow:10px 11px 0 #d4c693,11px 14px 0 #b4d2ae}.building:nth-child(5) .building-house:before{background:#ceb781}.building:nth-child(6) .building-house{background:#c7c5ed;box-shadow:10px 11px 0 #adabe0,11px 14px 0 #b4d2ae}.building:nth-child(6) .building-house:before{background:#9997cd}.building:nth-child(7) .building-house{background:#ebbaa6;box-shadow:10px 11px 0 #d79f93,11px 14px 0 #b4d2ae}.building:nth-child(7) .building-house:before{background:#c48f87}.building:nth-child(8) .building-house{background:#a8d7b3;box-shadow:10px 11px 0 #8dbea2,11px 14px 0 #b4d2ae}.building:nth-child(8) .building-house:before{background:#81b99b}.building img{height:55px;width:55px;object-fit:contain;position:absolute;top:45px;left:50%;transform:translateX(-50%);z-index:2;filter:drop-shadow(0 2px 1px #ffffff80)}.building .name{font:900 14px Nunito;margin-top:6px;color:#60516a}.building small{font-size:10px;color:#75836d}.tag{display:inline-block;background:#f9e4ee;color:#ad6a8d;font-size:10px;font-weight:800;padding:5px 9px;border-radius:20px}.tag.green{background:#e4f4e9;color:#498066}.agent-card{display:flex;align-items:center;gap:12px;padding:13px;border:1px solid #f2e7ee;border-radius:16px;background:#fff}.avatar{border-radius:18px;background:#fff0f6;height:57px;width:57px;object-fit:contain}.agent-card b{font-family:Nunito}.agent-card p{font-size:11px;color:#a298a5;margin:3px 0}.split{display:grid;grid-template-columns:285px 1fr;gap:16px}.list-row{padding:13px;border:1px solid #eee5eb;border-radius:14px;margin-bottom:8px;cursor:pointer}.list-row.selected{border-color:#ddaac3;background:#fff5f8}.messages{height:370px;overflow:auto;display:flex;flex-direction:column;gap:12px;background:#fcfafb;border-radius:18px;padding:17px}.bubble{max-width:86%;border-radius:16px 16px 16px 5px;padding:13px 16px;background:white;border:1px solid #f3e9ee;white-space:pre-wrap;font-size:13px;line-height:1.65}.bubble.user{align-self:flex-end;border-radius:16px 16px 5px 16px;background:#f9e0ea;border-color:#f6d8e6}.bubble.assistant{align-self:flex-start}.chat-input{display:flex;gap:9px;align-items:flex-end;margin-top:12px}.input,textarea,select{padding:11px 12px;background:#fff;border:1px solid #e9dfe8;border-radius:12px;color:#574b60;width:100%}textarea{resize:vertical;min-height:75px}.label{display:block;color:#887b89;font-weight:800;font-size:12px;margin:11px 0 6px}.stack{display:flex;flex-direction:column;gap:12px}.row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.divider{height:1px;background:#f2e8ee;margin:13px 0}.callout{padding:12px 15px;border-radius:14px;background:#fff5eb;color:#906f50;font-size:12px;line-height:1.6}.ok{background:#eaf7ed;color:#5b8965}.empty{padding:35px;text-align:center;color:#aa9daa;border:1px dashed #e9dce6;border-radius:16px}.auth{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 25% 15%,#fce4f1,transparent 40%),radial-gradient(circle at 85% 75%,#e8f5e7,transparent 40%),#fffafc}.auth-card{width:100%;max-width:450px;padding:34px;background:#fff;border-radius:30px;border:1px solid #f3e6ee;box-shadow:0 20px 90px #d6adc322}.auth-card h1{font:900 30px Nunito;margin:10px 0}.auth-card p{color:#93899a;font-size:14px;line-height:1.7}.auth-image{display:flex;justify-content:center;gap:7px}.auth-image img{height:80px;width:80px;object-fit:contain}.status{margin:10px 0;color:#a06d85;font-size:12px;min-height:15px}.banner{background:#fff9e6;border:1px solid #f6dfb6;border-radius:14px;padding:10px 14px;font-size:12px;color:#947a50;margin:0 0 15px}.progress{height:8px;border-radius:20px;background:#f1e9f0;overflow:hidden}.progress >span{height:100%;display:block;background:#e9a9c2}.space{height:18px}.town-bottom{margin-top:17px;display:flex;justify-content:center;gap:9px}.topright{display:flex;gap:10px;align-items:center}.login-note{color:#af7a90}.hide{display:none!important}@media(max-width:980px){.main{padding:20px}.town-grid{grid-template-columns:repeat(4,1fr)}.grid.four{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.shell{display:block;padding-bottom:75px}.sidebar{position:fixed;bottom:0;left:0;right:0;top:auto;height:auto;z-index:10;width:100%;padding:7px 6px 14px;box-shadow:0 -8px 20px #c8a6bd25;background:#fff;display:block}.sidebar .brand,.side-bottom{display:none}.nav{display:flex;flex-direction:row;justify-content:space-around;gap:0}.nav-btn{padding:8px 5px;min-width:0;display:flex;flex-direction:column;gap:2px;font-size:9px}.nav-icon{font-size:18px}.main{width:100%;padding:19px 14px 28px}.h1{font-size:25px}.grid,.grid.two{grid-template-columns:1fr}.grid.four{grid-template-columns:repeat(2,1fr)}.town-wrap{min-height:400px;padding:18px 10px}.town-grid{grid-template-columns:repeat(2,1fr);gap:10px 2px}.building{min-height:129px}.building-house{width:72px;height:63px}.building img{height:50px;width:50px;top:39px}.hero{padding:17px}.hero h2{font-size:19px}.split{grid-template-columns:1fr}.messages{height:330px}.card{padding:16px}.top{margin-bottom:13px}.building:nth-child(n+7){display:none}}
.town-avatar{position:absolute;width:55px;height:55px;object-fit:contain;top:45px;left:50%;transform:translateX(-50%);z-index:2}.building small{max-width:180px;text-align:center}.agent-card.list-row{margin:0}.stat{border:1px solid #f1e7ee}.auth-image .avatar{height:82px;width:82px}.messages .empty{margin:auto;width:100%}.card select{max-width:100%}
@media(max-width:720px){.building:nth-child(n+7){display:flex}.building{min-height:137px}.town-grid{gap:12px 2px}}

/* Accessible password login and setup flows */
.auth-links{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin:16px 0 8px}
.text-link{background:none;border:0;padding:4px 0;color:#a65c83;text-decoration:underline;text-underline-offset:3px;cursor:pointer;font-size:12px;font-weight:800;font-family:inherit}
.text-link:hover,.text-link:focus-visible{color:#713957}
.password-form .button{min-height:43px}
.account-settings{margin-top:18px;max-width:650px}
.account-settings .password-form{max-width:430px}
.auth input:focus-visible,.account-settings input:focus-visible{outline:2px solid #d58dad;outline-offset:2px}
