:root{--ink:#0d1d16;--ink-2:#26352e;--forest:#103526;--forest-2:#184a36;--forest-3:#226049;--bg:#f4efe6;--paper:#fffcf6;--card:#fff;--line:#e8e0d2;--line-2:#f0eadf;--muted:#5f6b64;--faint:#8a948f;--orange:#ff6a13;--orange-2:#ff8b3d;--orange-soft:#fff0e2;--orange-ink:#b44800;--sage:#e4eee7;--sage-ink:#17603e;--blue-soft:#e7f0fb;--blue-ink:#1d4f86;--red:#c23a2b;--red-soft:#fdecea;--amber-soft:#fff5d6;--amber-ink:#86560a;--radius:18px;--radius-sm:12px;--shadow:0 1px 2px #0d1d160d, 0 8px 24px -14px #0d1d1640;--shadow-lg:0 24px 60px -24px #0d1d1666;--display:"Manrope", ui-sans-serif, system-ui, sans-serif;--body:"DM Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--nav-h:68px;--topbar-h:55px}*{box-sizing:border-box}html,body,#root{min-height:100%}body{font-family:var(--body);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;margin:0;font-size:16px;line-height:1.5}a{color:inherit}button{font:inherit}h1,h2,h3,h4{font-family:var(--display);letter-spacing:-.025em;margin:0;line-height:1.15}h1{font-size:30px;font-weight:800}h2{font-size:21px;font-weight:800}h3{font-size:17px;font-weight:750}p{margin:0}.muted{color:var(--muted)}.faint{color:var(--faint)}.small{font-size:14px}.tiny{font-size:12.5px}.stack{gap:12px;display:grid}.stack-lg{gap:20px;display:grid}.row{align-items:center;gap:10px;display:flex}.between{justify-content:space-between}.wrap-row{flex-wrap:wrap}.grow{flex:1;min-width:0}.pre{white-space:pre-wrap}.btn{cursor:pointer;white-space:nowrap;border:0;border-radius:14px;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:0 20px;font-size:16px;font-weight:700;text-decoration:none;transition:transform .12s,background .15s,box-shadow .15s;display:inline-flex}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.55;cursor:default}.btn-primary{background:var(--orange);color:#fff;box-shadow:0 8px 20px -10px #ff6a13e6}.btn-primary:hover:not(:disabled){background:#ff5a00}.btn-dark{background:var(--forest);color:#fff}.btn-soft{background:var(--card);color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line)}.btn-soft:hover:not(:disabled){box-shadow:inset 0 0 0 1.5px #d8cdb9}.btn-ghost{color:var(--ink-2);background:0 0;min-height:40px;padding:0 12px}.linkish{font:inherit;color:var(--ink);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700;text-decoration:underline}.linkish:disabled{opacity:.5}.btn-danger{background:var(--red-soft);color:var(--red)}.btn-sm{border-radius:11px;min-height:38px;padding:0 14px;font-size:14.5px}.btn-block{width:100%}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}.card-flat{background:var(--paper);border-radius:var(--radius);border:1px solid var(--line);padding:18px}.card h2+p,.card h3+p{margin-top:4px}.card-link{text-decoration:none;transition:transform .12s;display:block}.card-link:active{transform:scale(.99)}.section-title{letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin:8px 2px 4px;font-size:13px;font-weight:800}.badge{letter-spacing:.03em;white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:800;display:inline-flex}.b-enquiry{background:var(--orange-soft);color:var(--orange-ink)}.b-booked{background:var(--sage);color:var(--sage-ink)}.b-in_progress{background:var(--blue-soft);color:var(--blue-ink)}.b-complete{color:#4d5953;background:#ece9e2}.b-closed{color:#7a817d;background:#efedea}.b-you{background:var(--orange);color:#fff}.b-info{background:var(--blue-soft);color:var(--blue-ink)}.b-warn{background:var(--amber-soft);color:var(--amber-ink)}.field{gap:6px;display:grid}.field>span{font-size:14.5px;font-weight:700}.field small{color:var(--muted);font-size:13.5px}.input,.textarea,.select{width:100%;font:inherit;color:var(--ink);background:var(--card);border:1.5px solid var(--line);border-radius:13px;outline:none;padding:12px 14px;font-size:16px;transition:border .15s,box-shadow .15s}.input:focus,.textarea:focus,.select:focus{border-color:var(--forest-3);box-shadow:0 0 0 4px #2260491f}.textarea{resize:vertical;min-height:110px;line-height:1.5}.seg{background:#ebe4d7;border-radius:13px;grid-auto-flow:column;gap:4px;padding:4px;display:inline-grid}.seg button{cursor:pointer;color:var(--muted);background:0 0;border:0;border-radius:10px;padding:9px 14px;font-weight:700}.seg button.on{background:var(--card);color:var(--ink);box-shadow:var(--shadow)}.check{border:1.5px solid var(--line);background:var(--card);cursor:pointer;border-radius:14px;align-items:flex-start;gap:12px;padding:14px;display:flex}.check input{width:20px;height:20px;accent-color:var(--orange);margin-top:2px}.error{background:var(--red-soft);color:var(--red);border-radius:12px;padding:12px 14px;font-size:14.5px;font-weight:600}.notice{background:var(--sage);color:var(--sage-ink);border-radius:12px;padding:12px 14px;font-size:14.5px;font-weight:600}.channel-tip{background:var(--sage);color:var(--sage-ink);border-radius:12px;margin-top:8px;padding:12px 14px;font-size:14.5px;line-height:1.45}.channel-tip .linkish{color:var(--sage-ink)}.warnbox{background:var(--amber-soft);color:var(--amber-ink);border-radius:12px;padding:12px 14px;font-size:14.5px}.shell{grid-template-columns:250px 1fr;min-height:100vh;display:grid}.side{background:var(--forest);color:#e6efe9;flex-direction:column;gap:6px;height:100vh;padding:22px 16px;display:flex;position:sticky;top:0}.side .brand{font-family:var(--display);color:#fff;align-items:center;gap:10px;margin:0 8px 22px;font-size:21px;font-weight:800;text-decoration:none;display:flex}.side .brand .mark{background:var(--forest-2);border-radius:10px;place-items:center;width:34px;height:34px;display:grid}.side .brand .mark img{width:26px}.side a.nav{color:#cfe0d6;border-radius:12px;align-items:center;gap:12px;padding:11px 12px;font-weight:600;text-decoration:none;display:flex}.side a.nav:hover{color:#fff;background:#ffffff0f}.side a.nav.on{color:#fff;background:#ffffff1a}.side a.nav .count{background:var(--orange);color:#fff;border-radius:999px;margin-left:auto;padding:1px 8px;font-size:12px;font-weight:800}.main{min-width:0}.topbar{z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line-2);background:#f4efe6e6;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:none;position:sticky;top:0}.topbar .brand{font-family:var(--display);align-items:center;gap:8px;font-size:19px;font-weight:800;text-decoration:none;display:flex}.topbar .brand .mark{background:var(--forest);border-radius:9px;place-items:center;width:30px;height:30px;display:grid}.topbar .brand .mark img{width:22px}.page{max-width:880px;margin:0 auto;padding:28px 24px 120px}.page-head{justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:20px;display:flex}.tabbar{display:none}@media (width<=860px){.shell{grid-template-columns:1fr}.side{display:none}.topbar{display:flex}.page{padding:18px 16px calc(var(--nav-h) + 40px)}h1{font-size:26px}.tabbar{z-index:40;height:calc(var(--nav-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line);background:#fffcf6f5;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar a{color:var(--faint);flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:11.5px;font-weight:700;text-decoration:none;display:flex;position:relative}.tabbar a.on{color:var(--forest)}.tabbar a .count{background:var(--orange);color:#fff;border-radius:999px;padding:0 6px;font-size:10.5px;font-weight:800;position:absolute;top:8px;left:52%}}.list{gap:10px;display:grid}.item{background:var(--card);box-shadow:var(--shadow);border-radius:16px;align-items:flex-start;gap:14px;padding:14px 16px;text-decoration:none;display:flex}.item .ic{background:var(--orange-soft);width:40px;height:40px;color:var(--orange-ink);border-radius:12px;flex:none;place-items:center;display:grid}.item .ic.green{background:var(--sage);color:var(--sage-ink)}.item .ic.grey{color:#58645e;background:#efebe3}.item h3{font-size:16px}.item p{color:var(--muted);margin-top:2px;font-size:14.5px}.task-item{border-left:4px solid var(--orange)}.day{margin-bottom:18px}.day-head{justify-content:space-between;align-items:baseline;margin:0 2px 8px;display:flex}.day-head h3{font-size:16px}.slot{background:var(--card);box-shadow:var(--shadow);border-radius:14px;grid-template-columns:78px 1fr;gap:12px;margin-bottom:8px;padding:12px 14px;text-decoration:none;display:grid}.slot .t{font-family:var(--display);font-size:15px;font-weight:800;line-height:1.2}.slot .t small{font-family:var(--body);color:var(--muted);font-size:12.5px;font-weight:500;display:block}.slot.outside{box-shadow:none;background:#f7f3eb;border:1px dashed #d9cfbd}.slot.time_off,.slot.busy{box-shadow:none;background:#f2efe9}.empty{text-align:center;color:var(--muted);background:var(--paper);border:1px dashed var(--line);border-radius:16px;padding:28px 16px}.page.chat-page{padding-bottom:0}.chat-wrap{flex-direction:column;height:calc(100vh - 150px);display:flex}@media (width<=860px){.page.chat-page{height:calc(100dvh - var(--topbar-h) - var(--nav-h) - env(safe-area-inset-bottom));flex-direction:column;padding-bottom:10px;display:flex}.chat-page .chat-wrap{flex:1;height:auto;min-height:0}}.chat-scroll{flex-direction:column;flex:1;gap:8px;padding:8px 2px 16px;display:flex;overflow-y:auto}.msg{white-space:pre-wrap;overflow-wrap:anywhere;border-radius:18px;min-width:0;max-width:82%;padding:10px 14px;font-size:15.5px;line-height:1.45}.msg.me{background:var(--forest);color:#fff;border-bottom-right-radius:6px;align-self:flex-end}.msg.them,.msg.cust{background:var(--card);box-shadow:var(--shadow);border-bottom-left-radius:6px;align-self:flex-start}.msg.chippy{background:#dff3d6;border-bottom-right-radius:6px;align-self:flex-end}.msg .meta{opacity:.65;margin-top:4px;font-size:11.5px;display:block}.msg a{color:inherit;word-break:break-all;text-decoration:underline}.times-facts{background:var(--card);box-shadow:var(--shadow);border-radius:16px;gap:12px;padding:14px 16px;display:grid}.tf-row{gap:1px;min-width:0;display:grid}.tf-label{color:var(--muted);font-size:13px;font-weight:600}.tf-work{margin:0;line-height:1.4}.tf-pair{grid-template-columns:auto minmax(0,1fr);gap:24px;display:grid}.tf-row+.tf-pair{border-top:1px solid var(--line-2);padding-top:10px}.inline-field{width:100%;min-width:0;font:inherit;color:var(--ink);border:0;border-bottom:1.5px dashed var(--line);background:0 0;border-radius:0;outline:none;padding:6px 0;font-weight:600}.inline-field:focus{border-bottom-color:var(--forest);border-bottom-style:solid}.inline-field::placeholder{color:var(--muted);font-weight:500}select.inline-field{cursor:pointer;width:auto;padding-right:4px}.time-day{gap:8px;display:grid}.time-day-label{font-size:15px;font-weight:700}.time-blocks{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.time-block{text-align:left;border:1.5px solid var(--line);background:var(--card);min-width:0;font:inherit;color:var(--ink);cursor:pointer;border-radius:14px;justify-items:start;gap:1px;padding:10px 10px 10px 11px;display:grid;position:relative;container-type:inline-size}.time-block-part{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:12px;font-weight:700}.time-block-span{white-space:nowrap;letter-spacing:-.01em;font-size:clamp(13.5px,11.2cqi,16px);font-weight:700}.time-block-arrive{color:var(--muted);font-size:13px}.time-block-note{color:var(--amber-ink);font-size:12.5px;font-weight:600}.time-block.on .time-block-note{color:#ffd88a}.time-block-tick{position:absolute;top:10px;right:10px}.time-block.on{background:var(--forest);border-color:var(--forest);color:#fff}.time-block.on .time-block-part,.time-block.on .time-block-arrive{color:#ffffffc7}.time-block:disabled{opacity:.4;cursor:default}.own-time{background:var(--card);box-shadow:var(--shadow);border-radius:16px;padding:14px}.day-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.day-grid-head{text-align:center;color:var(--faint);padding-bottom:2px;font-size:12px;font-weight:700}.day-cell{border:1.5px solid var(--line-2);background:var(--paper);min-height:44px;font:inherit;color:var(--ink);cursor:pointer;border-radius:12px;align-content:center;place-items:center;padding:2px 0;font-size:15px;font-weight:700;line-height:1.1;display:grid}.day-cell small{color:var(--muted);text-transform:uppercase;font-size:10.5px;font-weight:700}.day-cell.today{border-color:var(--forest-3)}.day-cell.weekend{color:var(--muted);background:0 0;font-weight:600}.hour-cell:disabled{opacity:.35;cursor:default}.day-cell:hover,.hour-cell:hover{border-color:var(--forest-3)}.hour-grid{grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:6px;display:grid}.hour-cell{border:1.5px solid var(--line-2);background:var(--paper);min-height:50px;font:inherit;color:var(--ink);cursor:pointer;border-radius:12px;justify-items:center;gap:0;padding:6px 4px;line-height:1.2;display:grid}.hour-cell b{font-size:15.5px}.hour-cell span{color:var(--muted);font-size:12px}.sorted{padding-top:20px}.sorted h1{font-size:26px;line-height:1.2}.sorted-mark{background:var(--sage);width:52px;height:52px;color:var(--forest);border-radius:50%;place-items:center;display:grid}.sorted-times{background:var(--card);box-shadow:var(--shadow);border-radius:16px;margin:0;padding:4px 16px;list-style:none}.sorted-times li{border-bottom:1px solid var(--line-2);justify-content:space-between;gap:12px;padding:12px 0;font-size:16px;display:flex}.sorted-times li:last-child{border-bottom:0}.sorted-times li span{color:var(--ink-2);white-space:nowrap;justify-items:end;font-weight:600;display:grid}.sorted-times li span small{color:var(--muted);font-size:13px;font-weight:500}.sorted-answer{background:var(--card);box-shadow:var(--shadow);white-space:pre-wrap;border-radius:16px;margin:0;padding:12px 16px}.day-h{margin:0;font-size:18px}.day-list{background:var(--card);box-shadow:var(--shadow);border-radius:16px;padding:0 16px}.day-row{border-bottom:1px solid var(--line-2);color:var(--ink);align-items:center;gap:10px;padding:12px 0;text-decoration:none;display:flex}.day-row:last-child{border-bottom:0}.day-row .grow{gap:2px;min-width:0;display:grid}.day-row svg{color:var(--muted);flex-shrink:0}.day-row-top{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.nowrap{white-space:nowrap}.yesno{grid-template-columns:1fr 1fr;gap:8px;display:grid}.yesno button{border:1.5px solid var(--line);background:var(--card);min-height:52px;font:inherit;color:var(--ink);cursor:pointer;border-radius:14px;font-size:15.5px;font-weight:700}.yesno button.on{border-color:var(--forest);background:var(--forest);color:#fff}.btn-primary.idle{background:var(--line-2);color:var(--muted);box-shadow:none;opacity:1}.pill{white-space:nowrap;border-radius:999px;flex-shrink:0;padding:4px 10px;font-size:12.5px;font-weight:700}.pill-you{background:var(--orange);color:#fff}.pill-wait{background:var(--line-2);color:var(--ink-2)}.pill-on{background:var(--sage);color:var(--sage-ink)}.pill-booked{background:var(--forest);color:#fff}.pill-done{background:var(--sage);color:var(--sage-ink)}.pill-closed{background:var(--line-2);color:var(--muted)}.state{border-radius:14px;gap:2px;padding:12px 14px;font-size:15px;display:grid}.state b{font-family:var(--display);letter-spacing:-.01em;font-size:17px}.state span{color:inherit;opacity:.85}.state-you{background:var(--orange-soft);color:var(--orange-ink)}.state-wait{background:var(--line-2);color:var(--ink-2)}.state-on{background:var(--sage);color:var(--sage-ink)}.state-booked{background:var(--forest);color:#fff}.state-done{background:var(--sage);color:var(--sage-ink)}.state-closed{background:var(--line-2);color:var(--muted)}details.about>summary{cursor:pointer;color:var(--muted);font-size:14.5px;font-weight:700}.job-photos{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.job-photos.one{grid-template-columns:1fr}.job-photos img{aspect-ratio:1;object-fit:cover;background:var(--line-2);border-radius:12px;width:100%;display:block}.job-photos.one img{aspect-ratio:4/3}.facts{gap:12px;margin:0;display:grid}.facts>div{gap:1px;display:grid}.facts dt{color:var(--muted);font-size:13px;font-weight:600}.facts dd{overflow-wrap:anywhere;min-width:0;margin:0}.suggestion{text-align:left;background:var(--card);border:1.5px solid var(--line);font:inherit;color:var(--ink);cursor:pointer;border-radius:14px;padding:11px 14px;font-size:15px;line-height:1.4}.suggestion:hover{border-color:var(--forest-3)}.suggestion.on{border-color:var(--forest);background:var(--sage)}.msg-media{white-space:normal;flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.msg-media img{object-fit:cover;background:#0000000d;border-radius:12px;width:132px;height:132px;display:block}.msg-media audio{width:100%;max-width:260px}.msg-media .msg-file{align-items:center;gap:6px;font-weight:600;text-decoration:none;display:inline-flex}.composer{align-items:flex-end;gap:8px;padding-top:10px;display:flex}.composer .textarea{border-radius:16px;min-height:50px;max-height:160px}.typing{background:var(--card);box-shadow:var(--shadow);border-radius:18px;align-self:flex-start;gap:4px;padding:12px 14px;display:inline-flex}.typing i{background:var(--faint);border-radius:50%;width:7px;height:7px;animation:1.2s infinite blink}.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,to{opacity:.3}40%{opacity:1}}.focus{flex-direction:column;min-height:100vh;display:flex}.focus-top{justify-content:space-between;align-items:center;width:100%;max-width:720px;margin:0 auto;padding:16px 20px;display:flex}.focus-top .brand{font-family:var(--display);align-items:center;gap:9px;font-size:20px;font-weight:800;text-decoration:none;display:flex}.focus-top .brand .mark{background:var(--forest);border-radius:10px;place-items:center;width:32px;height:32px;display:grid}.focus-top .brand .mark img{width:24px}.focus-body{flex:1;width:100%;max-width:620px;margin:0 auto;padding:12px 20px 60px}.focus-top .brand .biz-mark{object-fit:cover;width:34px;height:34px;box-shadow:0 0 0 1px var(--line);border-radius:50%;flex:none}.focus-top .brand .biz-initials{background:var(--sage);color:var(--sage-ink);font-family:var(--body);box-shadow:none;place-items:center;font-size:13.5px;font-weight:800;display:grid}.focus-foot{width:100%;max-width:620px;color:var(--faint);text-align:center;margin:0 auto;padding:0 20px 28px;font-size:12.5px}.focus-foot a{color:inherit}.focus-body h1{margin-bottom:8px;font-size:32px}.progress{background:#e6ddcd;border-radius:99px;height:6px;margin:6px 0 22px;overflow:hidden}.progress i{background:var(--orange);border-radius:99px;height:100%;transition:width .3s;display:block}.sample-phone{box-shadow:var(--shadow-lg);background:#0b1511;border-radius:34px;max-width:380px;margin:0 auto;padding:10px}.sample-screen{background:#efe7da;border-radius:26px;overflow:hidden}.sample-head{color:#fff;background:var(--forest);align-items:center;gap:10px;padding:14px 14px 12px;display:flex}.sample-head.owner{background:#2b2118}.sample-head img{width:28px}.sample-label{text-align:center;letter-spacing:.06em;text-transform:uppercase;padding:8px;font-size:12.5px;font-weight:800}.sample-label.customer{background:var(--sage);color:var(--sage-ink)}.sample-label.owner{background:var(--orange);color:#fff}.sample-chat{flex-direction:column;gap:8px;min-height:360px;padding:14px 12px 18px;display:flex}.sb{border-radius:14px;max-width:86%;padding:8px 12px;font-size:14.5px;line-height:1.4;animation:.25s both pop;box-shadow:0 1px #0000000f}.sb.left{background:#fff;border-top-left-radius:5px;align-self:flex-start}.sb.right{background:#d6f5c9;border-top-right-radius:5px;align-self:flex-end}.sb b{letter-spacing:.06em;text-transform:uppercase;color:var(--orange);margin-bottom:2px;font-size:10.5px;display:block}@keyframes pop{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.option{background:var(--card);border:2px solid var(--line);cursor:pointer;text-align:left;border-radius:16px;align-items:center;gap:14px;width:100%;padding:16px;display:flex}.option.on{border-color:var(--orange);box-shadow:0 0 0 4px #ff6a131f}.option .when{font-family:var(--display);font-size:18px;font-weight:800}.radio{border:2px solid #cfc4b1;border-radius:50%;flex:none;place-items:center;width:22px;height:22px;display:grid}.option.on .radio{border-color:var(--orange)}.option.on .radio:after{content:"";background:var(--orange);border-radius:50%;width:11px;height:11px}.invoice{box-shadow:var(--shadow);background:#fff;border-radius:18px;padding:26px}.invoice table{border-collapse:collapse;width:100%;margin:16px 0}.invoice td{border-bottom:1px solid var(--line-2);padding:10px 0}.invoice td:last-child{text-align:right;font-weight:700}.invoice .total td{font-size:19px;font-family:var(--display);border:0;font-weight:800}.kv{grid-template-columns:auto 1fr;gap:6px 16px;font-size:15px;display:grid}.kv dt{color:var(--muted)}.kv dd{margin:0;font-weight:600}.backdrop{z-index:60;background:#0d1d1673;justify-content:center;align-items:flex-end;animation:.15s fade;display:flex;position:fixed;inset:0}@media (width>=700px){.backdrop{align-items:center}}.sheet{background:var(--paper);width:100%;max-width:560px;max-height:92vh;padding:22px 20px calc(24px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0;animation:.2s up;overflow-y:auto}@media (width>=700px){.sheet{border-radius:22px}}.sheet-head{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}@keyframes fade{0%{opacity:0}}@keyframes up{0%{opacity:0;transform:translateY(20px)}}.banner{border-radius:16px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:14px 16px;font-size:15px;font-weight:600;display:flex}.banner.info{background:var(--blue-soft);color:var(--blue-ink)}.banner.warn{background:var(--amber-soft);color:var(--amber-ink)}.banner.bad{background:var(--red-soft);color:var(--red)}.stat-row{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.stat{background:var(--card);box-shadow:var(--shadow);border-radius:16px;padding:14px}.stat b{font-family:var(--display);letter-spacing:-.02em;font-size:24px;font-weight:800;display:block}.stat span{color:var(--muted);font-size:13px;font-weight:600}.hero-card{background:linear-gradient(135deg, var(--forest) 0%, #0b2a1e 100%);color:#fff;border-radius:22px;padding:22px;position:relative;overflow:hidden}.hero-card:after{content:"";background:radial-gradient(closest-side,#ff8a3d59,#0000);border-radius:50%;width:200px;height:200px;position:absolute;top:-60px;right:-60px}.hero-card .muted{color:#b9d0c3}.spinner{border:2.5px solid #0000001f;border-top-color:var(--orange);border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.center-page{place-items:center;min-height:60vh;display:grid}.dev-grid{grid-template-columns:280px 1fr 1fr;gap:16px;min-height:100vh;padding:16px;display:grid}@media (width<=1100px){.dev-grid{grid-template-columns:1fr}}.dev-phone{background:#0b1511;border-radius:30px;flex-direction:column;min-height:640px;max-height:88vh;padding:10px;display:flex}.dev-phone .screen{background:#efe7da;border-radius:22px;flex-direction:column;flex:1;display:flex;overflow:hidden}.dev-phone .head{background:var(--forest);color:#fff;padding:12px 14px;font-size:14px;font-weight:700}.dev-phone .scroll{flex-direction:column;flex:1;gap:6px;padding:12px;display:flex;overflow-y:auto}.dev-phone .composer{background:#e6ddcf;padding:8px}.logo-picker{align-items:center;gap:14px;display:flex}.logo-circle{object-fit:cover;background:var(--line-2);width:72px;height:72px;box-shadow:0 0 0 1px var(--line);border-radius:50%;flex:none}.framer{text-align:center;justify-items:center;gap:10px;display:grid}.framer-circle{touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;width:220px;height:220px;box-shadow:0 0 0 1px var(--line), 0 0 0 6px var(--line-2);border-radius:50%;position:relative;overflow:hidden}.framer-circle:active{cursor:grabbing}.framer-circle img{pointer-events:none;max-width:none;position:absolute;top:0;left:0}.framer-zoom{width:220px;accent-color:var(--forest)}.wa-profile{text-align:center;justify-items:center;gap:2px;padding:6px 0 4px;display:grid}.wa-profile .logo-circle{width:96px;height:96px;margin-bottom:8px}.wa-profile b{font-size:17px}
