@import url("./service-illustrations.css");
/* Evently Business — shared visual system inspired by the Bookinda workspace. */
body.business-portal {
  --purple:#268d7c; --muted:#718186; --line:#e4ecec;
  --ink:#183438; --mint:#278877; --mint-soft:#e6f6f0;
  --violet:#7663d6; --violet-soft:#efecfc; --blue:#467bb3; --blue-soft:#eaf2fd;
  --amber:#a66a1d; --amber-soft:#fff3e3; --rose:#b6617d; --rose-soft:#fcecf2;
  color:var(--ink); background:#f5f8f8; font-size:14px;
  -webkit-font-smoothing:antialiased;
}
.business-portal h1,.business-portal h2,.business-portal h3{letter-spacing:-.025em;color:var(--ink)}
.business-portal button{transition:background .15s,box-shadow .15s,transform .15s;background:var(--mint-soft);color:#236d62;line-height:1.35}
.business-portal button:hover{background:#d9efe7;box-shadow:0 3px 10px #193b3610}
.business-portal button:active{transform:translateY(1px)}
.business-portal button.primary,.business-portal .dashboard-intro>button{background:#319b88;color:#fff;box-shadow:0 5px 12px #26877518}
.business-portal button.primary:hover,.business-portal .dashboard-intro>button:hover{background:#257f70}
.business-portal button.danger{background:#fff0f1;color:#ae3e55}
.business-portal button.danger:hover{background:#ffe1e6}
.business-portal button:disabled{box-shadow:none;transform:none}
.business-portal :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid #69bfae;outline-offset:3px}
.business-portal .icon-button{display:inline-flex;align-items:center;justify-content:center;gap:8px}
.business-portal button>.menu-icon{width:18px;height:18px}
.business-portal input,.business-portal select,.business-portal textarea{border-color:#d9e4e4;border-radius:11px;background:#fff;min-height:46px;box-shadow:0 1px 2px #16343a03}
.business-portal input:hover,.business-portal select:hover,.business-portal textarea:hover{border-color:#a8c8c1}
.business-portal input:focus,.business-portal select:focus,.business-portal textarea:focus{border-color:#51a99a}
.business-portal label{color:#51676d;font-size:13px;font-weight:550}
.business-portal .help{font-size:12px;color:#728388}
.business-portal .row{row-gap:10px}
.business-shell{background:#f5f8f8;grid-template-columns:248px minmax(0,1fr)}
.business-shell .sidebar{background:linear-gradient(160deg,#172f33,#12272a);color:#d5e4e5;padding:24px 14px 18px;scrollbar-width:thin;scrollbar-color:#456367 transparent;gap:22px}
.business-shell .brand,.business-portal .auth .brand{display:flex;align-items:center;gap:11px;letter-spacing:-.7px;font-size:23px;font-weight:750}
.business-shell .brand{padding:0 9px 18px;border-bottom:1px solid #ffffff0e}
.brand-mark{object-fit:contain;border-radius:10px;width:40px;height:40px;flex:none;filter:drop-shadow(0 3px 7px #00000014)}
.brand-sub{display:block;font-size:11px;font-weight:550;letter-spacing:2px;margin-top:2px;text-transform:uppercase;color:#9dc1bf}
.business-portal .auth .brand-sub{color:#6c8785}
.business-shell .nav{gap:12px}
.business-shell .nav-group{gap:3px}
.business-shell .nav button,.business-shell .nav-branch summary{background:transparent;font-weight:500;border-radius:10px;padding:10px 12px;min-height:44px;color:#b8cccf;font-size:13px;gap:11px;transition:background .15s}
.business-shell .nav .menu-icon{width:20px;height:20px;stroke-width:1.7;opacity:.85}
.business-shell .nav button:hover,.business-shell .nav-branch summary:hover{background:#ffffff08;color:#fff;box-shadow:none}
.business-shell .nav button.active{background:#274a47;color:#fff;box-shadow:inset 3px 0 #5ec5af}
.business-shell .nav button.active .menu-icon{color:#71d4be;opacity:1}
.business-shell .nav-group:nth-child(2)>.nav-caption{color:#8aaab4}
.business-shell .nav-group:nth-child(2) .menu-icon{color:#a0b6d7}
.business-shell .nav-group:nth-child(3) .menu-icon{color:#d5b2de}
.business-shell .nav-group:nth-child(4) .menu-icon{color:#b0d3c1}
.business-shell .nav-caption{font-size:10px;color:#7e9ba0;font-weight:650;letter-spacing:1.8px;margin:15px 12px 8px}
.business-shell .nav-submenu{border-left:1px solid #ffffff1a;margin-left:22px;padding:5px 0 8px 12px}
.business-shell .nav .nav-subitem{font-size:12px;font-weight:450;padding:8px 10px;gap:8px}
.business-shell .nav .nav-subitem .menu-icon{width:15px;height:15px}
.business-shell .nav-branch[open]>summary{color:#f3fcfa}
.business-shell .foot{border-top:1px solid #ffffff12;padding:14px 8px 0;margin-top:12px}
.business-shell .foot label{font-size:11px;color:#9ebbbd}
.business-shell .foot select{background:#213f42;border-color:#365356;color:#e6f2f1;font-size:12px}
.business-shell .foot button{background:#234145;color:#c2d9d9;min-height:38px;font-size:12px}
.business-shell .foot .help{overflow-wrap:anywhere;color:#91b2b5;font-size:11px}
.business-shell .workspace{min-width:0;padding:28px 32px 48px}
.business-shell .top{margin:-28px -32px 26px;padding:17px 32px;background:#fff;border-color:#e5ecec;min-height:84px;box-shadow:0 2px 8px #12353503;gap:12px}
.business-shell .top h1{font-size:22px;letter-spacing:-.6px;margin-bottom:3px;font-weight:750}
.business-shell .top .muted{font-size:12px}
.header-shortcuts{display:flex;gap:4px;align-items:center;padding-right:12px;border-right:1px solid var(--line)}
.business-shell .header-shortcut{background:transparent;color:#74878b;width:40px;min-height:40px;padding:9px;border-radius:50%;display:grid;place-items:center}
.business-shell .header-shortcut:hover{background:#f0f7f5;color:var(--mint)}
.business-shell .header-shortcut .menu-icon{width:20px;height:20px}
.business-shell .top [data-action=refresh]{background:#fff;border:1px solid #dfe8e8;color:#526c70;font-size:12px}
.business-shell .top>.row:last-child{gap:12px}
.business-portal .local-preview-notice{display:flex;align-items:center;font-size:11px;color:#457e73;background:#edf7f2;border:1px solid #dcefe5;padding:9px 13px;border-radius:10px;margin-bottom:22px}
.business-portal .local-preview-notice:before{content:'';width:7px;height:7px;border-radius:50%;background:#4cab8e;margin-right:10px;flex:none}
.business-shell .card{background:#fff;border:1px solid #e1e9e9;border-radius:17px;padding:23px;box-shadow:0 3px 8px #1b3d3804;min-width:0}
.business-shell .cards{gap:18px;align-items:start}
.business-shell .cards>.card{height:100%}
.business-portal .visual-heading{display:flex;align-items:center;gap:10px;line-height:1.35}
.business-portal h2.visual-heading{font-size:17px;margin-bottom:17px}
.business-portal h3.visual-heading{font-size:14px}
.heading-icon{width:35px;height:35px;border-radius:10px;background:#f0f6f5;color:var(--mint);display:inline-grid;place-items:center;flex:none}
.heading-icon .menu-icon{width:18px;height:18px}
.heading-icon.tone-chart,.heading-icon.tone-document{background:var(--violet-soft);color:var(--violet)}
.heading-icon.tone-users{background:var(--blue-soft);color:var(--blue)}
.heading-icon.tone-star{background:var(--amber-soft);color:var(--amber)}
.heading-icon.tone-image,.heading-icon.tone-bell{background:var(--rose-soft);color:var(--rose)}
.business-portal .dashboard-intro{margin:4px 0 24px;gap:18px}
.intro-eyebrow{display:block;font-size:10px;font-weight:750;letter-spacing:1.7px;color:#728e8c;margin-bottom:7px}
.business-portal .dashboard-intro h2{font-size:31px;font-weight:750;letter-spacing:-1px;line-height:1.2}
.business-portal .dashboard-intro p{font-size:12px;margin-top:8px}
.business-portal .grid{gap:16px}
.business-portal .dashboard-metric{padding:20px 18px;gap:13px;position:relative;overflow:hidden;min-height:115px;border-top:3px solid #79c2b1}
.business-portal .dashboard-metric:after{content:'';position:absolute;right:-18px;top:-22px;width:80px;height:80px;border-radius:50%;background:#f0faf7;pointer-events:none}
.business-portal .dashboard-metric>div{min-width:0;position:relative;z-index:1}
.business-portal .metric-icon{width:46px;height:46px;border-radius:13px;background:#e3f5ef;color:#318d78;position:relative;z-index:1}
.business-portal .metric-icon .menu-icon{width:23px;height:23px}
.business-portal .dashboard-metric strong{font-size:26px;color:#18383a;font-weight:750;letter-spacing:-.8px}
.business-portal .dashboard-metric small{font-size:11px;line-height:1.5}
.business-portal .metric-wallet{border-top-color:#a494df}
.business-portal .metric-wallet .metric-icon{background:var(--violet-soft);color:var(--violet)}
.business-portal .metric-wallet:after{background:#f6f3fc}
.business-portal .metric-users{border-top-color:#e8b575}
.business-portal .metric-users .metric-icon{background:var(--amber-soft);color:var(--amber)}
.business-portal .metric-users:after{background:#fff8ee}
.business-portal .metric-chart{border-top-color:#80b6e1}
.business-portal .metric-chart .metric-icon{background:var(--blue-soft);color:var(--blue)}
.business-portal .metric-chart:after{background:#f1f7fc}
.business-portal .dashboard-panels{gap:20px;margin:24px 0}
.business-portal .dashboard-panels>.card:nth-child(2){--chart-a:#8b7ada;--chart-b:#b5a7ed}
.business-portal .dashboard-totals{gap:25px;padding:18px 0;border-top:1px solid #f0f4f4;margin-top:16px}
.business-portal .dashboard-totals small{font-size:11px}
.business-portal .dashboard-totals strong{font-size:22px;letter-spacing:-.6px;color:#234348}
.business-portal .dashboard-bars{height:170px;padding:14px 0 0;background:repeating-linear-gradient(to top,transparent 0,transparent 39px,#ecf2f2 40px,#ecf2f2 41px);border-bottom-color:#dce7e7;gap:7px}
.business-portal .dashboard-bars span{background:linear-gradient(180deg,var(--chart-a,#46b7a0),var(--chart-b,#93d4c4));width:60%;max-width:42px;border-radius:6px 6px 0 0;box-shadow:0 -2px 8px #548f8010}
.business-portal .dashboard-bars small{color:#7b9196}
.business-portal .dashboard-bars>div>small:first-child{font-weight:700;color:#446668}
.business-portal .tabs{background:#f0f4f3;padding:4px;border-radius:11px;gap:3px}
.business-portal .tabs button{background:transparent;color:#758685;min-height:35px;padding:7px 12px;font-size:12px}
.business-portal .tabs button.active{background:#fff;color:#236d60;box-shadow:0 2px 5px #284e4112}
.business-portal .appointment-row{padding:16px 3px;gap:12px;border-color:#edf2f2;line-height:1.5;box-shadow:none}
.business-portal .appointment-row:hover{background:#f7fbf9;box-shadow:none}
.appointment-symbol{width:32px;height:32px;border-radius:10px;background:#eaf6f2;color:#4d9e8c;display:grid;place-items:center;flex:none}
.appointment-symbol .menu-icon{width:17px;height:17px}
.business-portal .appointment-time{font-size:11px;color:#608285;width:84px}
.business-portal .appointment-row strong{font-size:13px}
.business-portal .appointment-row small{font-size:11px;color:#7b8d90}
.business-portal .staff-avatar{background:var(--blue-soft);color:#507eaf;border:3px solid #fff;box-shadow:0 0 0 1px #e5eef6;font-weight:700;width:42px;height:42px}
.business-portal .staff-summary{border-color:#edf2f2}
.business-portal .staff-summary:nth-of-type(2n) .staff-avatar{background:var(--violet-soft);color:#8069be}
.business-portal .setup-row{padding:7px 0;border-bottom:1px solid #f0f5f4;gap:12px}
.business-portal .setup-row:last-child{border:0}
.business-portal .setup-row>div{min-width:0;flex:1}
.business-portal .setup-row>button{font-size:12px;color:#317f70;border:1px solid #deede6;background:#f3faf7;border-radius:9px;white-space:normal}
.business-portal .setup-check{display:grid;place-items:center;width:25px;height:25px;background:#f3f5f5;border-radius:50%;color:#9aacaf;flex:none}
.business-portal .setup-check.done{background:#e9f6ee;color:#378b68}
.business-portal .setup-progress{height:7px;border-radius:7px}
.business-portal .badge{display:inline-flex;align-items:center;gap:5px;font-weight:600;font-size:10px;padding:5px 9px;border-radius:7px;background:var(--violet-soft);color:#6e5ba8;line-height:1.3}
.business-portal .badge:before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.7;flex:none}
.business-portal .badge:is(.confirmed,.completed,.active,.checkedIn){background:#e4f5ec;color:#33825a}
.business-portal .badge:is(.pendingApproval,.offered,.held){background:#fff2d9;color:#99691d}
.business-portal .badge:is(.cancelledByCustomer,.cancelledByBusiness,.suspended,.rejected,.blocked){background:#fce9ed;color:#a75467}
.business-portal .badge:is(.expired,.inactive,.archived){background:#edf1f3;color:#71848a}
.business-portal .tablewrap{border-radius:14px}
.business-portal .list{font-size:13px}
.business-portal .list th{background:#f4f8f7;color:#6c8284;padding:15px 16px;font-size:10px;text-transform:uppercase;letter-spacing:.8px;font-weight:700;white-space:nowrap}
.business-portal .list td{padding:16px;border-color:#edf2f1;line-height:1.5}
.business-portal .list tbody tr:hover{background:#fafcfb}
.business-portal .list tbody tr:nth-child(even){background:#fcfefd}
.business-portal .list td strong{font-size:13px;font-weight:650;color:#25464a}
.business-portal .list button{background:#edf6f2;color:#368573;min-height:36px;font-size:11px;padding:8px 11px}
.business-portal .toolbar{padding:15px 18px;border:1px solid #e3ece8;border-radius:14px;background:#fff;gap:12px}
.business-portal .toolbar input,.business-portal .toolbar select{font-size:12px;min-height:42px}
.business-portal .toolbar>.row{gap:8px}
.business-portal .visual-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;min-height:165px;padding:30px 18px;color:#7d9295;font-size:13px;background:radial-gradient(ellipse at center,#fafdfc,transparent 70%);overflow-wrap:anywhere}
.empty-graphic{position:relative;display:grid;place-items:center;width:68px;height:68px;border-radius:22px;background:#edf6f3;color:#81aca3;box-shadow:0 0 0 8px #f6faf8}
.empty-graphic .menu-icon{width:29px;height:29px}
.empty-graphic i{position:absolute;right:-3px;top:-4px;width:15px;height:15px;border:3px solid #fff;background:#d6c8f3;border-radius:50%}
.business-portal .message{font-size:13px;background:#eff4f5;border-radius:14px 14px 14px 3px}
.business-portal .message.own{background:#e0f3eb;border-radius:14px 14px 3px 14px;color:#285f53}
.business-portal .messages{padding:8px 12px;background:#fafcfb;border-radius:13px;border:1px solid #edf3ef}
.business-portal .service-photo{height:175px;border-radius:12px;background:#f1f6f4}
.business-portal .calendar{border-color:#e0eae6;border-radius:12px;overflow:hidden;background:#fff}
.business-portal .day{border-color:#e5eeea}
.business-portal .day.today{background:#eaf8f0}
.business-portal .time-event{border-radius:7px;border-color:#75b8a7;background:#edf8f1;color:#286455;box-shadow:0 1px 4px #224b3610}
.business-portal .time-event:has(.pendingApproval){background:#fff5e3;border-color:#d9b77a}
.business-portal .calendar-summary{border-radius:0 0 12px 12px;background:#f9fcfa;gap:12px}
.business-portal .business-note{border:0;border-top:3px solid #e4c677;box-shadow:0 4px 12px #70542308;border-radius:14px}
.business-portal .business-note.note-mint{border-color:#9ad4b7}
.business-portal .business-note.note-pink{border-color:#e6a9c0}
.business-portal .business-note.note-blue{border-color:#a0c3eb}
.business-portal .business-note.note-purple{border-color:#c2abdf}
.business-portal .warn{background:#fff7e9;border:1px solid #f2e4c9;color:#8e702d;font-size:12px;border-radius:11px}
.business-portal .error{color:#ae5068}
.business-portal dialog{padding:26px;border:1px solid #dfebe6;border-radius:19px;box-shadow:0 22px 85px #143e3733;max-height:90dvh;color:var(--ink)}
.business-portal dialog::backdrop{background:#153b3866;backdrop-filter:blur(3px)}
.business-portal #editorBody>h2{padding-bottom:18px;margin-bottom:20px;border-bottom:1px solid #e5ede8;font-size:20px;gap:12px}
.business-portal #editorBody>h2 .heading-icon{width:42px;height:42px;border-radius:12px}
.business-portal dialog .question{background:#fafcfb;border:1px solid #e2ece7;border-radius:13px;padding:16px;margin:14px 0}
.business-portal fieldset{border:1px solid #e0ebe6;border-radius:12px;min-width:0}
.business-portal legend{font-size:12px;padding:0 7px;color:#598277}
.business-portal .image-picker{border:1px dashed #b9d8ca;background:#f7fcf9;border-radius:13px;padding:16px}
.business-portal .auth{border:1px solid #e0ede7;box-shadow:0 20px 65px #25544810;background:#fff}
.business-portal .auth .brand{margin-bottom:26px;color:#254947}
.business-portal .auth h1{font-size:29px}
.business-portal .auth>.muted{font-size:13px}
.business-portal #notice{background:#244e48;box-shadow:0 8px 30px #234c3826;border:1px solid #4f7d71;border-radius:13px;font-size:13px}
@media(min-width:1450px){.business-shell .workspace{padding-left:42px;padding-right:42px}.business-shell .top{margin-left:-42px;margin-right:-42px;padding-left:42px;padding-right:42px}.business-portal #content{max-width:1560px;margin-inline:auto}}
@media(max-width:1200px){.business-portal .grid{grid-template-columns:repeat(2,minmax(0,1fr))}.business-shell .top>.row:last-child{gap:7px}.header-shortcuts{gap:0;padding-right:7px}.business-shell .header-shortcut{width:34px;min-height:36px}.business-shell .top{padding-inline:24px}.business-shell .workspace{padding-inline:24px}.business-shell .top{margin-inline:-24px}}
@media(max-width:950px){.business-shell{grid-template-columns:215px minmax(0,1fr)}.business-shell .brand{font-size:21px;gap:8px}.brand-mark{width:35px;height:35px}.business-shell .top h1{font-size:19px}.business-shell .header-shortcuts{display:none}.business-portal .dashboard-intro h2{font-size:28px}.business-portal .dashboard-panels{grid-template-columns:1fr}.business-portal .dashboard-metric strong{font-size:25px}}
@media(max-width:700px){
 .business-shell{display:flex;flex-direction:column}.business-shell .sidebar{padding:13px 16px;gap:0;position:relative;height:auto;overflow:visible}
 .business-shell .brand{border:0;padding:0;font-size:19px;gap:9px}.business-shell .brand-mark{width:31px;height:31px}.business-shell .brand-sub{display:inline;font-size:12px;letter-spacing:0;margin-left:6px;text-transform:none;font-weight:450;color:#a3c1bf}
 .business-shell.menu-open .nav{padding-top:17px;grid-template-columns:1fr 1fr;gap:12px;align-items:start}.business-shell .nav button,.business-shell .nav-branch summary{font-size:12px;min-height:44px;padding:9px 8px;gap:7px}.business-shell .nav .menu-icon{width:17px;height:17px}.business-shell .nav-caption{margin:12px 8px 6px;font-size:9px}.business-shell .nav-submenu{margin-left:15px;padding-left:6px}.business-shell .nav .nav-subitem{font-size:11px}
 .business-shell .workspace{padding:18px 15px 35px}.business-shell .top{margin:-18px -15px 18px;padding:12px 15px;min-height:76px;gap:10px}.business-shell .top>.row{gap:8px}.business-shell .top h1{font-size:17px}.business-shell .top .muted{font-size:11px}.business-shell .top>.row:last-child{gap:6px;margin-left:0}.business-shell .top [data-action=refresh]{min-height:36px;font-size:11px;padding:8px 10px}.business-shell .top .badge{font-size:9px;padding:4px 7px}.business-shell .menu-toggle{background:#edf5f1;padding:9px;min-height:38px;font-size:11px}.business-shell .menu-toggle span{display:none}
 .business-portal .local-preview-notice{font-size:10px;line-height:1.5;padding:8px 10px;margin:0 0 18px}
 .business-portal .dashboard-intro{margin-bottom:18px;align-items:flex-start;gap:12px}.business-portal .dashboard-intro h2{font-size:28px}.business-portal .dashboard-intro p{font-size:10px}.intro-eyebrow{font-size:9px;letter-spacing:1.4px}.business-portal .dashboard-intro>button{font-size:11px;padding:10px 12px;min-height:40px}.business-portal .grid{gap:10px}.business-portal .dashboard-metric{padding:15px 12px;min-height:140px;flex-direction:column;align-items:flex-start;gap:9px}.business-portal .metric-icon{width:35px;height:35px;border-radius:10px}.business-portal .metric-icon .menu-icon{width:19px;height:19px}.business-portal .dashboard-metric strong{font-size:23px}.business-portal .dashboard-metric small{font-size:10px}
 .business-shell .card{padding:18px;border-radius:14px}.business-portal h2.visual-heading{font-size:15px;gap:8px}.heading-icon{width:31px;height:31px;border-radius:9px}.business-portal .dashboard-panels{gap:14px;margin-top:18px}.business-portal .dashboard-totals{gap:17px;padding:15px 0}.business-portal .dashboard-totals strong{font-size:20px}.business-portal .dashboard-totals small{font-size:10px}.business-portal .dashboard-bars{height:155px;gap:4px}.business-portal .tabs button{font-size:10px;padding:7px 9px;min-height:33px}
 .business-portal .appointment-row{flex-wrap:wrap;gap:8px;padding:14px 0}.business-portal .appointment-time{width:calc(100% - 45px);font-size:11px}.business-portal .appointment-row>.badge{margin-left:auto}.business-portal .appointment-row>span:nth-child(3){max-width:66%}.business-portal .appointment-row .badge{font-size:9px}
 .business-portal .toolbar{padding:12px;gap:10px}.business-portal .toolbar>label{width:100%;flex-basis:100%}.business-portal .toolbar input,.business-portal .toolbar select{max-width:100%}.business-portal .tablewrap{padding:0}.business-portal .list td,.business-portal .list th{padding:13px 12px}.business-portal .setup-row{align-items:flex-start;gap:8px}.business-portal .setup-row button{font-size:11px;max-width:100%}.business-portal .cards{grid-template-columns:1fr}.business-portal .visual-empty{min-height:155px;font-size:12px}
 .business-portal dialog{padding:20px 17px;width:calc(100vw - 24px);max-height:91dvh;border-radius:17px}.business-portal #editorBody>h2{font-size:18px;padding-bottom:15px;line-height:1.4}.business-portal #editorBody>h2 .heading-icon{width:35px;height:35px}.business-portal dialog label{font-size:12px}.business-portal dialog .question{padding:13px}.business-portal .formgrid{grid-template-columns:1fr}.business-portal .auth{margin:24px 12px;padding:26px}.business-portal .auth .brand{font-size:24px}.business-portal .auth .brand-sub{display:block;margin-left:0;font-size:10px;letter-spacing:2px;text-transform:uppercase}.business-portal button{min-height:44px}
}
@media(prefers-reduced-motion:reduce){.business-portal *{transition:none!important;scroll-behavior:auto!important}}
.business-portal .dashboard-line{margin:8px 0 16px;padding-top:5px}
.business-portal .dashboard-line svg{display:block;width:100%;height:auto;min-height:165px}
.business-portal .chart-legend{display:flex;align-items:center;justify-content:center;gap:7px;font-size:10px;color:#629084;margin:10px 0 0}
.business-portal .chart-legend span{width:17px;height:3px;background:#4aa98f;position:relative;border-radius:3px}
.business-portal .chart-legend span:after{content:'';position:absolute;left:6px;top:-2px;width:7px;height:7px;border-radius:50%;background:#4aa98f}
.business-portal button.subtle-danger{background:#fcf0f2;color:#a75a6b}
.business-portal button.subtle-danger:hover{background:#fae5e9}
.business-portal .calendar-event{background:#edf8f3;color:#346c5b}
.business-portal .calendar-event.pendingApproval{background:#fff2d8;color:#93651d}
.business-portal .calendar-event.noShow{background:#fbecee;color:#a15b69}
.business-portal .calendar-event.completed{background:#e2f3e8;color:#3a805a}
.business-portal .time-calendar{max-height:none}
.business-portal .time-head{background:#f2f7f5;color:#567b71;border-color:#e0eae5}

/* Provider-controlled reminder settings use compact selectable time cards. */
.business-portal .reminder-time-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin:14px 0 20px}
.business-portal .reminder-time-grid label{display:flex;align-items:center;gap:10px;border:1px solid #dcebe7;background:#f6fbf9;border-radius:12px;padding:12px;font-size:14px}
.business-portal .reminder-time-grid label:has(input:checked){border-color:#5dac9b;background:#eaf7f1;color:#236353}
.business-portal #booking-reminder-settings input[type=checkbox]{width:20px;min-width:20px;height:20px;min-height:20px;margin:0;accent-color:#398b78}

.business-portal .retention-case{border-top:3px solid #6eae99}.business-portal .retention-case h3{display:flex;align-items:center;gap:9px;margin:0}.business-portal .retention-case .note-text{white-space:pre-wrap;padding:12px;background:#f5faf7;border-radius:10px}.business-portal .retention-case>.row:last-child{margin-top:16px;flex-wrap:wrap}
/* Appointment composer: a focused, two-step side panel. */
.business-portal dialog.booking-composer{position:fixed;inset:0 0 0 auto;margin:0;width:min(620px,100vw);max-width:100vw;height:100dvh;max-height:100dvh;border:0;border-radius:22px 0 0 22px;padding:0;overflow:auto;box-shadow:-20px 0 65px #152f3420}
.booking-composer #editorBody{min-height:100%;display:flex;flex-direction:column}.composer-header{position:sticky;top:0;z-index:5;background:#fff;border-bottom:1px solid #e3ece8;padding:26px 28px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.composer-header h2{margin:0;font-size:23px}.composer-close{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:transparent!important}.composer-steps{list-style:none;padding:0;display:flex;gap:20px;margin:12px 0 0;color:#879995;font-size:13px}.composer-steps li[aria-current=step]{color:#268775;font-weight:700}
.booking-composer form{flex:1;display:flex;flex-direction:column}.booking-composer #bookingFields{padding:24px 28px;flex:1;min-width:0}.composer-search{margin-bottom:22px}.composer-services{display:grid;gap:10px}.composer-service{display:flex;align-items:center;gap:14px;text-align:left;padding:18px!important;background:#f7faf9!important;border:1px solid transparent;border-radius:14px!important;color:#253d41!important;position:relative;min-height:82px}.composer-service:before{content:"";width:4px;align-self:stretch;background:#53b6a2;border-radius:4px}.composer-service.tone-1:before{background:#9880d4}.composer-service.tone-2:before{background:#dd85a2}.composer-service.tone-3:before{background:#68a5d1}.composer-service[aria-pressed=true]{border-color:#42a58f;background:#edf8f3!important}.composer-service-copy{flex:1;min-width:0;overflow-wrap:anywhere}.composer-service-copy strong{display:block;font-size:16px;font-weight:650}.composer-service-copy small{display:block;margin-top:5px;color:#6c7e83;font-size:13px}.composer-selection{width:24px;height:24px;border:2px solid #ccdad6;border-radius:50%;display:grid;place-items:center;color:#fff;flex:none}.composer-service[aria-pressed=true] .composer-selection{background:#329b84;border-color:#329b84}.composer-summary{padding:14px 18px;background:#eef7f3;border-radius:13px;font-weight:650;margin-bottom:20px}.composer-day-actions{display:flex;gap:8px;margin:18px 0 12px}.composer-part{display:flex;gap:7px;flex-wrap:wrap;border:0;padding:0;margin:20px 0}.composer-part legend{font-size:13px;font-weight:600;margin-bottom:10px;color:#6b8180}.composer-part label{margin:0;position:relative}.composer-part input{position:absolute;opacity:0;min-height:0!important;width:1px}.composer-part span{display:block;padding:10px 15px;border:1px solid #dce7e3;border-radius:11px;background:#fff;font-size:13px;cursor:pointer}.composer-part input:checked+span{background:#e2f3ed;border-color:#58ae99;color:#216a5a}.composer-part input:focus-visible+span{outline:3px solid #69bfae;outline-offset:2px}.composer-find{width:100%;margin-bottom:18px}.composer-availability h3{margin:6px 0}.composer-availability p{color:#728388;font-size:13px}.composer-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:15px 0 24px}.composer-slot{position:relative;display:flex!important;align-items:center;gap:9px;padding:14px;border:1px solid #dce7e3;border-radius:13px;cursor:pointer;margin:0!important;background:#fff}.composer-slot input{position:absolute;opacity:0;width:1px;min-height:0!important}.composer-slot strong{display:block;font-size:19px;color:#294840}.composer-slot small{display:block;font-size:11px;margin-top:5px;overflow-wrap:anywhere}.composer-slot>span{flex:1;min-width:0}.composer-slot>svg{width:17px;height:17px;color:#268d7c;visibility:hidden}.composer-slot:has(input:checked){border-color:#52aa95;background:#edf8f2}.composer-slot:has(input:checked)>svg{visibility:visible}.composer-slot:has(input:focus-visible){outline:3px solid #69bfae;outline-offset:2px}.composer-footer{position:sticky;bottom:0;z-index:5;background:#fff;border-top:1px solid #e3ece8;padding:18px 28px;display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap;margin-top:auto}.booking-composer #bookingFeedback:not(:empty){padding:0 28px 15px;color:#aa4255}.composer-guest-search{padding:24px 28px;flex-direction:row!important;align-items:flex-end;gap:12px;flex:0!important}.composer-guest-search label{flex:1;margin:0}.booking-composer [data-guest-list]{padding:0 28px 24px}.composer-guest-avatar{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#e1eee8;color:#277767;font-size:18px;flex:none}
@media(max-width:600px){.business-portal dialog.booking-composer{border-radius:0}.composer-header{padding:20px}.booking-composer #bookingFields{padding:20px}.composer-footer{padding:16px 20px}.composer-header h2{font-size:21px}.composer-part span{padding:10px 12px}.composer-slots{gap:8px}.composer-slot{padding:12px}.composer-service{padding:15px!important}.composer-guest-search{padding:20px}.booking-composer [data-guest-list]{padding:0 20px 20px}}
.business-portal .composer-part{border:0;padding:0}.business-portal .composer-part label{padding:0}.composer-steps li{white-space:nowrap}
.composer-guest-name{margin:10px 0 0;font-size:13px;color:#617a75;font-weight:550}.composer-services [aria-busy=true]{opacity:.6}
.business-portal .staff-calendar-card{padding:0;overflow:hidden;border-radius:20px;box-shadow:0 12px 32px #24493809}
.business-portal .staff-calendar-card .time-calendar{grid-template-columns:76px repeat(var(--columns),minmax(220px,1fr));isolation:isolate;overscroll-behavior-x:contain;overscroll-behavior-y:auto}
.business-portal .staff-calendar-card .time-head{background:#fff;min-height:104px;box-sizing:border-box;border-bottom:1px solid #dde8e3;z-index:5;display:flex;align-items:center}
.business-portal .staff-day-head{gap:12px;border-left:1px solid #e6ede9;padding:16px}
.business-portal .staff-calendar-avatar{width:46px;height:46px;flex:0 0 46px;position:relative;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,#d9f1e6,#e2e5ff);color:#347361;font-size:16px;font-weight:750;box-shadow:0 0 0 3px #f6faf8;overflow:hidden}
.business-portal .staff-calendar-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.business-portal .staff-day-heading{min-width:0;display:grid;gap:4px}
.business-portal .staff-day-heading strong{font-size:14px;line-height:1.4;overflow-wrap:anywhere}
.business-portal .staff-day-heading small{font-size:11px;line-height:1.4}
.business-portal .staff-day-status{font-size:10px;color:#357560;background:#eaf6ef;border-radius:6px;padding:3px 6px;justify-self:start;line-height:1.4}
.business-portal .staff-day-off .staff-day-status{color:#8b687b;background:#f4edf2}
.business-portal .staff-off-band{position:absolute;left:0;right:0;background:repeating-linear-gradient(135deg,#eaf0ee70 0,#eaf0ee70 5px,#e0e8e665 5px,#e0e8e665 6px);pointer-events:none;z-index:0}
.business-portal .staff-calendar-card .time-column{background-color:#fff;background-image:repeating-linear-gradient(to bottom,transparent 0,transparent calc(var(--timeline-height) / var(--hours) / 2 - 1px),#edf1ef calc(var(--timeline-height) / var(--hours) / 2 - 1px),#edf1ef calc(var(--timeline-height) / var(--hours) / 2))}
.business-portal .staff-calendar-card .time-event{z-index:1;border-radius:10px;box-shadow:0 2px 5px #214f3410}
.business-portal .staff-calendar-card .current-time{z-index:3}
.business-portal .staff-calendar-card .time-labels{position:sticky;left:0;background:#fff;z-index:4}
.business-portal .staff-calendar-card .time-head:first-child{left:0;z-index:6;font-size:12px;color:#798a81}
.business-portal .staff-calendar-card .calendar-summary{padding:15px 20px}
.business-portal .calendar-zone{font-size:11px;white-space:nowrap;border-radius:8px;padding:7px 10px;background:#f2f6f4;color:#74847b}
@media(max-width:700px){.business-portal .staff-calendar-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;padding:16px}.business-portal .staff-calendar-controls label{min-width:0;margin:0;font-size:12px}.business-portal .staff-calendar-controls select{width:100%;max-width:100%;min-width:0}.business-portal .staff-calendar-controls>.primary{grid-column:1/-1;justify-self:start}.business-portal .staff-calendar-controls .calendar-zone{white-space:normal;overflow-wrap:anywhere;justify-self:start}}
@media(max-width:700px){.business-portal .staff-calendar-card .time-calendar{grid-template-columns:62px repeat(var(--columns),minmax(210px,1fr))}.business-portal .staff-day-head{padding:12px;gap:10px}.business-portal .staff-calendar-avatar{width:40px;height:40px;flex-basis:40px}.business-portal .staff-calendar-card .time-head{min-height:98px}}

.business-portal .schedule-day-toggle{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:4px 0 12px}.business-portal .schedule-day-toggle .check{margin:0;min-height:44px;font-weight:650;color:#37675b;gap:10px}.business-portal .schedule-off-choice{margin:0;flex:1;min-width:160px}.business-portal .schedule-clock select{min-width:64px;padding:10px}.business-portal .schedule-day legend{font-weight:700;color:#304d44}.business-portal .schedule-windows{padding-top:5px;border-top:1px solid #e8eeeb}
.business-portal [data-location-address]{display:grid;gap:16px}.business-portal [data-location-address] [data-city-results]:empty,.business-portal [data-address-results]:empty,.business-portal [data-address-status]:empty{display:none}.business-portal .map-editor{border:1px solid #dcece8;background:linear-gradient(135deg,#f7fcfa,#f0f8f8);border-radius:20px;padding:18px}.business-portal .map-editor h3{margin:0;display:flex;gap:8px;align-items:center}.business-portal .map-editor .business-map{margin-top:16px;min-height:360px;box-shadow:0 12px 30px #184c4220;border:1px solid #dcece8}.business-portal .map-coordinates{margin-top:12px;font-size:.85rem;color:#58756d}.business-portal [data-location-address] [data-geography]>p.help:last-child{font-size:.7rem;opacity:.65}.business-portal [data-display-preferences]{display:grid;gap:14px;max-width:520px}@media(max-width:600px){.business-portal .map-editor{padding:12px}.business-portal .map-editor .business-map{min-height:280px}}

/* Publication controls are prominent on the dashboard and initial setup. */
.business-portal .business-publication{margin-bottom:22px;border-color:#d7e8e2;background:linear-gradient(115deg,#fff,#f5fbf8)}.business-portal .business-publication h2{margin:0;font-size:20px}.business-portal .publication-status{padding:7px 12px;border-radius:20px;font-size:13px;font-weight:700}.business-portal .publication-status.is-public{background:#def4e8;color:#176243}.business-portal .publication-status.is-private{background:#f0f2f4;color:#53616a}.business-portal .publication-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.business-portal button.publication-start,.business-portal button.publication-pause{display:flex;align-items:center;justify-content:center;gap:8px;min-height:40px;max-width:100%;padding:9px 14px;border-radius:10px;font-size:14px;font-weight:700;line-height:1.4;white-space:normal;text-align:center;color:#fff;border:0;transition:background .15s,box-shadow .15s}.business-portal button.publication-start{background:#16824c;box-shadow:0 8px 20px #16824c25}.business-portal button.publication-start:hover:not(:disabled){background:#106b3d}.business-portal button.publication-pause{background:#c73748;box-shadow:0 8px 20px #c7374820}.business-portal button.publication-pause:hover:not(:disabled){background:#aa2636}.business-portal .publication-actions button:disabled{opacity:.45;box-shadow:none;cursor:default}.business-portal .publication-actions .icon{width:18px;height:18px;flex-shrink:0}.business-portal .business-publication .help{margin-bottom:0}@media(max-width:650px){.business-portal .publication-actions{gap:8px}.business-portal button.publication-start,.business-portal button.publication-pause{font-size:14px;min-height:44px;padding:10px 12px}}

/* Conversation bubbles: incoming left, own messages right. */
.business-portal .messages{display:flex;flex-direction:column;gap:12px;padding:16px 8px;min-height:220px;max-height:52vh;overscroll-behavior:contain;overflow:auto}.business-portal .message{align-self:flex-start;width:fit-content;max-width:85%;margin:0;padding:12px 16px;overflow-wrap:anywhere;white-space:pre-wrap;border-radius:18px 18px 18px 4px;background:#edf1f5;color:#263b44}.business-portal .message.own{align-self:flex-end;margin:0;background:#d9f2e9;border-radius:18px 18px 4px 18px}.business-portal .message time{display:block;text-align:right;font-size:11px;opacity:.7;margin-top:6px}.business-portal .message img{display:block;max-width:100%;max-height:360px;border-radius:12px;margin-top:8px}.business-portal .message-booking{display:grid;gap:8px;margin-top:8px}.business-portal #send{border-top:1px solid #e3ebe8;margin-top:12px;padding-top:10px}.business-portal #send textarea{min-height:90px}

/* Compact publication controls in the top-right toolbar. */
.business-portal .publication-shortcuts{display:flex;align-items:center;gap:4px}
.business-portal .header-shortcut.publication-start,.business-portal .header-shortcut.publication-pause{width:40px;height:40px;min-height:40px;padding:9px;border-radius:50%;font-size:inherit;box-shadow:none;flex-shrink:0}
.business-portal .header-shortcut.publication-start{background:#16824c;color:#fff}
.business-portal .header-shortcut.publication-pause{background:#c73748;color:#fff}
.business-portal .publication-shortcuts button:disabled{opacity:.32;cursor:default}
.business-portal .publication-shortcuts .icon{width:20px;height:20px}
@media(max-width:650px){.business-portal .top{flex-wrap:wrap;gap:12px}.business-portal .top>.row:last-child{margin-left:auto}.business-portal .header-shortcuts{padding-right:6px;gap:2px}}

@media(max-width:650px){.business-portal .business-shell .header-shortcuts{display:flex}.business-portal .business-shell .top>.row:last-child{flex-wrap:wrap;justify-content:flex-end}.business-portal .business-shell .header-shortcut{width:36px;height:36px;min-height:36px;padding:8px}.business-portal .business-shell .header-shortcut .icon{width:20px;height:20px}}

/* Dismissible, temporary operation feedback. */
.dismissible-feedback{display:flex;align-items:flex-start;gap:12px}
.dismissible-feedback .feedback-text{flex:1;min-width:0;overflow-wrap:anywhere}
.dismissible-feedback button.feedback-close{flex:0 0 32px;width:32px;height:32px;min-height:32px;margin:-4px -4px -4px 0;padding:0;border:0;border-radius:8px;background:transparent;color:inherit;font-size:24px;line-height:1;box-shadow:none}
.dismissible-feedback button.feedback-close:hover{background:#80808020}

/* Scoped inbox layout: a compact directory and an expansive conversation. */
.business-portal .business-chat-layout{grid-template-columns:minmax(280px,360px) minmax(0,1fr);align-items:start}
.business-portal .conversation-sidebar{padding:20px}
.business-portal .conversation-search,.business-portal .conversation-period{font-size:12px;margin:12px 0}
.business-portal .conversation-group h3{font-size:11px;color:#72858c;margin:22px 0 8px;letter-spacing:.04em}
.business-portal .conversation-item{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:transparent;color:#263b44;border:1px solid transparent;padding:12px 10px;margin:4px 0;border-radius:14px}
.business-portal .conversation-item:hover{background:#f2f8f6}
.business-portal .conversation-item.selected{background:#e5f5ee;border-color:#bfe5d6}
.business-portal .conversation-avatar{display:grid;place-items:center;flex:0 0 44px;height:44px;border-radius:50%;background:#e5efec;color:#28786a;font-size:14px;font-weight:700}
.business-portal .conversation-copy{display:grid;gap:5px;min-width:0;flex:1}
.business-portal .conversation-copy strong{font-size:14px;overflow-wrap:anywhere}
.business-portal .conversation-copy small{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:12px}
.business-portal .conversation-copy time{font-size:11px;color:#7b8d93}
.business-portal .conversation-chevron{font-size:22px;color:#77958b}
.business-portal .business-chat-layout #thread{min-height:570px}
.business-portal .business-chat-layout .messages{min-height:320px;padding:20px 16px}
.business-portal .chat-message-row{display:flex;width:100%;flex:none;justify-content:flex-start}
.business-portal .chat-message-row.outgoing{justify-content:flex-end}
.business-portal .chat-message-row .message{margin:0;max-width:78%;width:auto}
.business-portal .chat-message-row.outgoing .message{background:#daf3e8;color:#215c4c}
.business-portal .chat-message-row.incoming .message{background:#edf1f5;color:#263b44}
.business-portal .business-chat-layout #send textarea{min-height:64px}
@media(max-width:800px){.business-portal .business-chat-layout{grid-template-columns:minmax(0,1fr)}.business-portal .conversation-sidebar [data-conversation-rows]{max-height:300px;overflow:auto}.business-portal .business-chat-layout #thread{min-height:0}.business-portal .chat-message-row .message{max-width:90%}}

/* App-like inbox: directory left, conversation right; each pane scrolls independently. */
.business-portal .business-chat-layout{display:grid;grid-template-columns:minmax(250px,320px) minmax(0,1fr);gap:0;align-items:stretch;border:1px solid #dce8ec;border-radius:24px;overflow:hidden;background:#fff;height:clamp(570px,78vh,900px)}
.business-portal .business-chat-layout>.card{border:0;border-radius:0;margin:0;min-width:0}
.business-portal .business-chat-layout .conversation-sidebar{overflow:auto;padding:22px 14px;background:#fff;border-right:1px solid #e1ebef}
.business-portal .conversation-sidebar h2{font-size:18px;padding:0 8px}
.business-portal .conversation-group h3{padding:0 10px}
.business-portal .conversation-item{padding:13px 10px;min-height:82px;border-radius:16px}
.business-portal .conversation-item.selected{background:#e8f4fa;border-color:#c6e4ef;box-shadow:inset 3px 0 #147799}
.business-portal .conversation-avatar{position:relative;overflow:hidden;width:48px;height:48px;flex:0 0 48px;background:linear-gradient(145deg,#d8eff5,#eef4fb);color:#397f99;border:2px solid #fff;box-shadow:0 0 0 1px #dbeaf0}
.business-portal .conversation-avatar svg{width:31px;height:31px;align-self:end}
.business-portal .conversation-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.business-portal .conversation-copy strong{font-size:15px;color:#203444}
.business-portal .conversation-copy small{color:#788696;max-width:100%}
.business-portal .business-chat-layout #thread{display:flex;flex-direction:column;min-height:0;padding:0;background:#f4f9fc;overflow:hidden}
.business-portal .chat-contact-header{display:flex;gap:13px;align-items:center;padding:20px 24px;background:#fff;border-bottom:1px solid #e1ebef;flex:none}
.business-portal .chat-contact-header h2{margin:0 0 4px;font-size:18px;overflow-wrap:anywhere}
.business-portal .business-chat-layout .messages{display:flex;flex-direction:column;align-items:stretch;gap:14px;flex:1;min-height:120px;max-height:none;overflow:auto;padding:26px 24px}
.business-portal .business-chat-layout .chat-message-row{display:flex;width:100%;justify-content:flex-start}
.business-portal .business-chat-layout .chat-message-row.outgoing{justify-content:flex-end}
.business-portal .business-chat-layout .chat-message-row .message{max-width:76%;padding:13px 17px;border-radius:19px 19px 19px 5px;line-height:1.5;overflow-wrap:anywhere;box-shadow:0 2px 6px #153c4b08;background:#fff;border:1px solid #e1ebf0}
.business-portal .business-chat-layout .chat-message-row.outgoing .message{background:#137b9b;border-color:#137b9b;color:#fff;border-radius:19px 19px 5px 19px;margin-left:auto}
.business-portal .chat-message-row time{display:block;text-align:right;font-size:10px;opacity:.7;margin-top:5px}
.business-portal .business-chat-layout #send{flex:none;background:#fff;border-top:1px solid #e1ebef;padding:12px 22px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;align-items:end}
.business-portal .business-chat-layout #send label{margin:0;font-size:12px}
.business-portal .business-chat-layout #send label:first-child{grid-column:1/-1}
.business-portal .business-chat-layout #send textarea{min-height:52px;max-height:130px;border-radius:18px;background:#f5f9fb}
.business-portal .business-chat-layout #send input[type=file]{font-size:11px;max-width:100%;padding:6px;min-height:36px}
.business-portal .business-chat-layout #send [data-attachment]{grid-column:1/-1;margin:0;overflow-wrap:anywhere;font-size:12px}
.business-portal .business-chat-layout #send [data-attachment]:empty{display:none}
.business-portal .business-chat-layout #send button{grid-column:2;grid-row:2;border-radius:20px;background:#137b9b;color:#fff;min-width:90px}
@media(max-width:800px){.business-portal .business-chat-layout{grid-template-columns:1fr;height:auto}.business-portal .business-chat-layout .conversation-sidebar{border-right:0;border-bottom:1px solid #e1ebef}.business-portal .conversation-sidebar [data-conversation-rows]{max-height:220px}.business-portal .business-chat-layout #thread{height:650px;max-height:85dvh}.business-portal .business-chat-layout .messages{padding:18px 12px}.business-portal .business-chat-layout .chat-message-row .message{max-width:88%}.business-portal .chat-contact-header{padding:16px}.business-portal .business-chat-layout #send{padding:12px}}

.business-portal .header-shortcut[data-id="messages"],.business-portal .nav [data-id="messages"]{position:relative}
.business-portal .chat-unread-badge{display:inline-flex;align-items:center;justify-content:center;min-width:19px;height:19px;padding:0 5px;border-radius:20px;background:#e74768;color:white;font-size:11px;font-weight:750;line-height:1;border:2px solid white;margin-left:auto}
.business-portal .header-shortcut .chat-unread-badge{position:absolute;top:-4px;right:-6px;margin:0}
.business-portal .chat-unread-badge[hidden]{display:none}

/* Tripelfy service workspace: clear actions, colourful navigation and soft depth. */
.business-portal{--service-blue:#137da0;--service-violet:#8063dc;--service-coral:#e97968}
.business-portal .business-shell{background:#f4f8fb}
.business-shell .sidebar{background:radial-gradient(ellipse at 0 0,#235965 0,transparent 45%),linear-gradient(160deg,#183e47,#142b39);border-right:0}
.business-shell .brand-mark{width:46px;height:46px;border-radius:14px;box-shadow:0 4px 14px #071d3945}
.business-shell .nav-caption{font-size:10px;letter-spacing:1.2px;color:#a5c2ce;margin-top:22px;line-height:1.6}
.business-shell .nav button,.business-shell .nav-branch summary{color:#d8e6ec;gap:10px;min-height:48px;padding:8px 10px;border-radius:13px}
.business-shell .nav .nav-icon{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:10px;background:#63d9cc20;color:#79e0cd;box-shadow:inset 0 0 0 1px #ffffff0a}
.business-shell .nav .nav-icon .menu-icon{color:inherit;width:19px;height:19px}
.business-shell .nav .nav-tone-calendar,.business-shell .nav .nav-tone-clock{background:#5aaff22b;color:#99d1ff}
.business-shell .nav .nav-tone-message,.business-shell .nav .nav-tone-image{background:#48cad42a;color:#80e1e9}
.business-shell .nav .nav-tone-users,.business-shell .nav .nav-tone-lock{background:#a28af82b;color:#c9b7ff}
.business-shell .nav .nav-tone-heart,.business-shell .nav .nav-tone-bell{background:#fa91b22a;color:#ffb6d2}
.business-shell .nav .nav-tone-catalog,.business-shell .nav .nav-tone-document{background:#ffc06c26;color:#ffcf8d}
.business-shell .nav .nav-tone-chart,.business-shell .nav .nav-tone-star{background:#e3ce6526;color:#f5df89}
.business-shell .nav button.active{background:#eefaff;color:#193e52;box-shadow:0 5px 15px #071d3926;border-left-color:#66d4e5}
.business-shell .nav button.active .nav-icon{background:#d7f0f6;color:#147c9c}
.business-shell .nav button:hover,.business-shell .nav-branch summary:hover{background:#ffffff0d}
.business-shell .nav .nav-subitem{min-height:39px;font-size:12px;padding:5px 8px}
.business-shell .nav .nav-subitem .nav-icon{width:26px;height:26px;border-radius:8px}
.business-shell .nav .nav-subitem .menu-icon{width:15px;height:15px}
.business-shell .top{background:#ffffffed;gap:16px;flex-wrap:wrap;box-shadow:0 3px 16px #1d506005}
.business-shell .top>.row:last-child{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-left:auto}
.business-shell .header-shortcuts{display:flex;flex-wrap:wrap;gap:6px;border:0;padding:0}
.business-shell .header-shortcut{background:#edf6fa;color:#2586a7;border-radius:12px}
.business-shell .header-shortcut[data-id="messages"]{background:#e8f6f4;color:#1e9d91}
.business-shell .header-shortcut[data-id="notifications"]{background:#fff1e6;color:#d18a35}
.business-shell .header-shortcut[data-id="profile"]{background:#f0ebfc;color:#8265cf}
.business-portal .publication-shortcuts{gap:8px;margin-left:6px}
.business-portal .header-shortcut.publication-start,.business-portal .header-shortcut.publication-pause{display:flex;width:auto;height:auto;min-height:40px;padding:10px 13px;border-radius:12px;gap:7px;font-size:12px;font-weight:700;line-height:1.35;white-space:nowrap}
.business-portal .publication-shortcuts .menu-icon{width:17px;height:17px;flex:none}
.business-portal .header-shortcut.publication-start{background:#178854;box-shadow:0 3px 9px #16824c20}
.business-portal .header-shortcut.publication-pause{background:#c94255;box-shadow:0 3px 9px #c737481a}
.business-portal .publication-shortcuts button:disabled{opacity:.48;box-shadow:none}
.business-portal .dashboard-intro{position:relative;overflow:hidden;padding:28px 30px;border:1px solid #daedf3;border-radius:22px;background:radial-gradient(ellipse at 80% 0,#d6f5ee,transparent 55%),linear-gradient(120deg,#fff,#edf7fb);margin-bottom:20px}
.business-portal .dashboard-intro:before{content:'';position:absolute;width:210px;height:210px;border:30px solid #71c7dc15;border-radius:50%;right:20%;top:-115px;pointer-events:none}
.business-portal .dashboard-intro>div,.business-portal .dashboard-intro>button{position:relative}
.business-portal .dashboard-intro h2{font-size:34px;color:#173e52;margin:9px 0}
.business-portal .intro-eyebrow{color:#418493;letter-spacing:1.6px}
.business-portal .dashboard-quick-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:22px}
.business-portal .quick-action{display:flex;align-items:center;gap:11px;min-height:76px;padding:15px;background:#fff;border:1px solid #e0ebf0;border-radius:16px;text-align:left;box-shadow:0 3px 12px #24537104;color:#254655}
.business-portal .quick-action>span:not([data-chat-unread]){display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:13px;background:#e9f3ff;color:#4c95d4}
.business-portal .quick-action>strong{flex:1;font-size:13px;line-height:1.45}
.business-portal .quick-action>.menu-icon{width:17px;height:17px;color:#85a1ae;flex:none}
.business-portal .quick-check>span:not([data-chat-unread]){background:#e3f7ef;color:#27a878}.business-portal .quick-message>span:not([data-chat-unread]){background:#e1f6f8;color:#238fa8}.business-portal .quick-image>span:not([data-chat-unread]){background:#f1eaff;color:#906ed3}
.business-portal .quick-action:hover{border-color:#9bcbd9;transform:translateY(-2px);box-shadow:0 8px 20px #2453710b}
.business-portal .card{border-radius:19px;box-shadow:0 5px 20px #24537105}
.business-portal .heading-icon{border-radius:12px;background:#e3f5f1;color:#2c9b86}
.business-portal .heading-icon.tone-message,.business-portal .heading-icon.tone-image{background:#e4f4fa;color:#2089ac}.business-portal .heading-icon.tone-users{background:#f0eafd;color:#8464cd}.business-portal .heading-icon.tone-document,.business-portal .heading-icon.tone-catalog{background:#fff1df;color:#c68c39}.business-portal .heading-icon.tone-star{background:#fff4d8;color:#c79a31}
.business-portal .dashboard-metric{border-radius:19px;min-height:126px;box-shadow:0 5px 20px #24537105}.business-portal .metric-icon{border-radius:15px}
.business-portal .visual-empty .empty-graphic{background:linear-gradient(145deg,#e6f7fb,#eef0fc);color:#408daa;border-radius:25px}
@media(max-width:1200px){.business-portal .dashboard-quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.business-shell .top{align-items:flex-start}.business-portal .publication-shortcuts{margin-left:0}}
@media(max-width:950px){.business-shell .header-shortcuts{display:flex}.business-shell .top>.row:last-child{width:100%;justify-content:flex-end}.business-portal .dashboard-intro{padding:24px}}
@media(max-width:650px){.business-shell .brand-mark{width:36px;height:36px}.business-shell.menu-open .nav{grid-template-columns:1fr}.business-shell .nav .nav-icon{width:30px;height:30px}.business-shell .top>.row:last-child{justify-content:flex-start}.business-portal .header-shortcuts{width:100%;gap:7px}.business-portal .publication-shortcuts{flex-wrap:wrap;width:100%;margin-top:3px}.business-portal .header-shortcut.publication-start,.business-portal .header-shortcut.publication-pause{min-height:44px;flex:1;padding:11px 9px;font-size:11px;justify-content:center}.business-portal .dashboard-intro{padding:21px;gap:16px;border-radius:18px}.business-portal .dashboard-intro h2{font-size:28px}.business-portal .dashboard-quick-actions{gap:9px}.business-portal .quick-action{padding:11px;gap:8px;min-height:83px}.business-portal .quick-action>span:not([data-chat-unread]){width:33px;height:33px;border-radius:10px}.business-portal .quick-action>strong{font-size:11px}.business-portal .quick-action>.menu-icon{display:none}}

.business-portal .social-profile-button{display:inline-flex;align-items:center;gap:7px;background:#eaf4fc;color:#237ca1;border-radius:11px;font-size:12px;padding:9px 12px;min-height:38px;margin:4px}
.business-portal .social-profile-button .menu-icon{width:17px;height:17px;flex:none}
.business-portal .birthday-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:20px;background:#fff0f6;color:#bd4b82;font-size:11px;font-weight:700;white-space:nowrap;margin:5px 0 0}
.business-portal .birthday-badge .menu-icon{width:15px;height:15px;flex:none}
.business-portal .calendar-event .birthday-badge{font-size:9px;padding:2px 5px;max-width:100%;overflow:hidden}.business-portal .calendar-event .birthday-badge .menu-icon{width:12px;height:12px}
.business-portal .social-guest-profile{max-width:650px}.business-portal .social-guest-cover{height:150px;border-radius:18px;background:radial-gradient(ellipse at 70% 20%,#a9e2df,transparent 70%),linear-gradient(120deg,#257f9f,#8ab6db);display:grid;place-items:center;overflow:hidden;color:#ffffff66}.business-portal .social-guest-cover>.menu-icon{width:70px;height:70px}.business-portal .social-guest-cover img{width:100%;height:100%;object-fit:cover}
.business-portal .social-guest-identity{display:flex;align-items:center;gap:18px;margin:-30px 18px 20px;position:relative}.business-portal .social-guest-avatar{display:grid;place-items:center;width:80px;height:80px;border-radius:50%;background:#edf1fc;color:#7868b9;border:4px solid #fff;font-size:23px;font-weight:750;overflow:hidden;flex:none;box-shadow:0 3px 12px #20485a18}.business-portal .social-guest-avatar img{width:100%;height:100%;object-fit:cover}.business-portal .social-guest-identity h2{margin:38px 0 5px;border:0;padding:0}.business-portal .social-guest-identity p{margin:0;color:#6d8a99}
.business-portal .social-privacy-label{display:flex;align-items:center;gap:8px;font-size:12px;color:#6a8391;background:#f2f7fa;padding:12px;border-radius:12px}.business-portal .social-privacy-label .menu-icon{width:17px;height:17px;flex:none}
.business-portal .social-guest-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.business-portal .social-guest-fields>div{padding:14px;background:#f7fafc;border:1px solid #e5edf2;border-radius:13px;min-width:0}.business-portal .social-guest-fields dt{font-size:11px;color:#6f8795;margin-bottom:6px}.business-portal .social-guest-fields dd{font-size:14px;font-weight:550;color:#24495e;margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.business-portal .social-follower-identity{display:flex;align-items:center;gap:12px;margin-bottom:12px}.business-portal .social-follower-identity .social-guest-avatar{width:54px;height:54px;font-size:17px}.business-portal .social-follower-identity h3{margin:0;font-size:16px}.business-portal .social-follower-identity p{margin:5px 0 0;font-size:12px;color:#78929f}
@media(max-width:650px){.business-portal .social-guest-fields{grid-template-columns:1fr}.business-portal .social-guest-identity{margin-inline:10px;gap:12px}.business-portal .social-guest-identity h2{font-size:20px}.business-portal .social-profile-button{white-space:normal}.business-portal .birthday-badge{font-size:10px}}

/* Social-style business feed */
.business-feed{max-width:800px;margin:0 auto;padding-bottom:36px}.business-feed svg{width:21px;height:21px;flex-shrink:0}.feed-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:4px 0 20px}.feed-heading h2{margin:0;font-size:25px}.feed-heading p{margin:6px 0;color:#768b96;font-size:14px}.feed-heading .primary{display:flex;align-items:center;gap:9px}.feed-composer{display:flex;align-items:center;gap:13px;width:100%;background:#fff;border:1px solid #dfebf0;border-radius:20px;padding:17px 20px;margin-bottom:22px;box-shadow:0 5px 18px #16374b04;text-align:left}.feed-composer>span:nth-child(2){flex:1;color:#78919f;background:#f2f7fa;border-radius:24px;padding:13px 17px}.feed-composer>svg{color:#28a987}.feed-avatar{width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,#daf3ef,#e4efff);color:#19758a;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;font-size:15px;font-weight:750}.feed-avatar img{width:100%;height:100%;object-fit:cover}.feed-post{background:white;border:1px solid #dfeaf0;border-radius:20px;margin-bottom:24px;box-shadow:0 6px 25px #12354806;overflow:visible}.feed-post-header{padding:20px 22px 14px;display:flex;align-items:center;gap:12px}.feed-post-header>div{flex:1}.feed-post-header strong{font-size:16px;color:#193945}.feed-post-meta{display:flex;align-items:center;gap:6px;font-size:12px;color:#7d8c97;margin-top:4px}.feed-post-meta svg{width:12px;height:12px}.feed-post-menu{position:relative}.feed-post-menu summary{cursor:pointer;color:#728895;list-style:none;padding:10px;border-radius:50%;letter-spacing:2px}.feed-post-menu summary::-webkit-details-marker{display:none}.feed-post-menu>div{position:absolute;right:0;top:38px;z-index:3;background:white;border:1px solid #dfeaf0;padding:8px;border-radius:14px;box-shadow:0 8px 30px #12354818;min-width:160px}.feed-post-menu button{display:block;width:100%;margin:3px 0;text-align:left}.feed-post-text{margin:0;padding:0 22px 19px;font-size:17px;line-height:1.65;color:#233e4a;white-space:pre-wrap;overflow-wrap:anywhere}.feed-photo{display:block;width:100%;margin:0;padding:0!important;border:0!important;border-radius:0!important;background:#eef3f6;overflow:hidden;cursor:zoom-in}.feed-photo img{display:block;width:100%;height:auto!important;max-height:650px;object-fit:contain!important;min-height:100px}.feed-stats{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 22px;color:#7b8d99;font-size:13px}.feed-stats button{border:0;background:transparent;padding:0;font-size:13px;color:#7b8d99}.feed-actions{display:flex;border-top:1px solid #edf1f5;border-bottom:1px solid #edf1f5;margin:0 18px;padding:5px 0;gap:5px}.feed-actions button{flex:1;display:flex;align-items:center;justify-content:center;gap:9px;background:transparent;color:#687f8c;border:0;padding:12px;font-size:14px;font-weight:650}.feed-actions button:hover{background:#f0f7fa}.feed-actions button[aria-pressed=true]{color:#147baf;background:#eaf6fc}.feed-actions button[aria-pressed=true] svg{fill:#c1e9fb}.feed-comments{padding:4px 22px}.feed-comment{display:flex;gap:10px;margin:13px 0}.feed-comment .feed-avatar{width:35px;height:35px;font-size:11px}.feed-comment>div{min-width:0;flex:1}.feed-comment-bubble{background:#f2f6f9;border-radius:0 17px 17px 17px;padding:10px 14px;display:inline-block;max-width:100%}.feed-comment-bubble strong{font-size:13px;color:#243d4c}.feed-comment-bubble p{margin:4px 0 0;font-size:14px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.feed-comment time{display:block;margin:5px 12px 0;font-size:11px;color:#8a9ca8}.feed-more-comments{display:flex;align-items:center;gap:7px;margin:2px 22px 10px;border:0;background:transparent;padding:8px 0;font-size:13px;color:#187c9c}.feed-comment-form{display:flex;gap:9px;padding:12px 22px 20px;align-items:flex-end}.feed-comment-form label{flex:1;min-width:0;margin:0}.feed-comment-form textarea{margin:0;border-radius:22px;min-height:45px;max-height:180px;background:#f3f7fa;padding:12px 16px;resize:vertical;font-size:14px}.feed-comment-form button{height:44px;width:44px;border-radius:50%;background:#16819c;color:white;border:0;display:flex;align-items:center;justify-content:center;padding:0}.feed-status{font-size:12px;color:#8e7954;margin:9px 22px}.feed-status:empty{display:none}.feed-load-more{display:flex;align-items:center;gap:8px;margin:12px auto}.feed-empty{padding:50px;text-align:center;color:#7892a0}.feed-empty svg{width:50px;height:50px;color:#56bba9}.feed-lightbox{border:0;background:#10232a;padding:45px 15px 15px;max-width:95vw;max-height:95vh;border-radius:18px}.feed-lightbox::backdrop{background:#10232ad9}.feed-lightbox img{max-width:90vw;max-height:80vh;object-fit:contain;display:block}.feed-lightbox button{position:absolute;right:10px;top:7px;font-size:27px;padding:2px 12px;border:0;color:white;background:transparent}.business-feed [hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:600px){.feed-heading{align-items:flex-start}.feed-heading h2{font-size:21px}.feed-heading .primary{font-size:12px;padding:10px}.feed-heading p{font-size:12px}.feed-composer{padding:12px;gap:8px}.feed-composer>span:nth-child(2){padding:10px;font-size:12px}.feed-post-header{padding:16px}.feed-post-text{padding:0 16px 16px;font-size:16px}.feed-post-meta{flex-wrap:wrap;font-size:11px}.feed-stats{padding:12px 16px;font-size:12px}.feed-comments{padding:0 14px}.feed-comment-form{padding:12px 14px 16px}.feed-more-comments{margin-left:16px}.feed-post{border-radius:16px}.feed-avatar{width:40px;height:40px}}

/* Badges are siblings of navigation icons and labels. */
.business-shell .nav button[data-id="messages"],.business-shell .nav button[data-id="notifications"]{display:flex;align-items:center;gap:10px;position:relative}
.business-shell .nav .chat-unread-badge{flex:0 0 auto;width:auto;min-width:21px;height:21px;max-width:none;padding:0 5px;margin-left:auto;white-space:nowrap;box-sizing:border-box;background:#e74768;color:#fff;line-height:1}
.business-shell .header-shortcut[data-id="messages"],.business-shell .header-shortcut[data-id="notifications"]{position:relative}
.business-shell .header-shortcut .chat-unread-badge{display:inline-flex;position:absolute;top:-4px;right:-5px;width:auto;min-width:19px;height:19px;padding:0 4px;font-size:11px;line-height:1}
.business-shell .chat-unread-badge[hidden]{display:none!important}

/* Per-viewer deletion keeps the receipt on one readable line, even in compact bubbles. */
.business-portal .business-chat-layout .chat-message-row .message{position:relative;padding-right:44px}
.business-portal .business-chat-layout .chat-message-row .message time{white-space:nowrap}
.business-portal .business-chat-layout .message .chat-delete-message{position:absolute;top:8px;right:6px;float:none;display:inline-flex;min-width:28px;min-height:28px;width:28px;height:28px;padding:4px;margin:0;background:transparent;color:inherit;border-radius:50%;box-shadow:none}
.business-portal .business-chat-layout .message .chat-delete-message:hover,.business-portal .business-chat-layout .message .chat-delete-message:focus-visible{background:#ffffff28}

/* Selected navigation must retain contrast on hover and keyboard focus. */
.business-shell .nav button.active:hover,.business-shell .nav button.active:focus-visible{background:#e0f4fa;color:#193e52}
.business-shell .nav button:not(.active):hover,.business-shell .nav-branch summary:hover{color:#fff;background:#ffffff16}

/* Keep every navigation state readable, including selected hover. */
.business-shell .nav button.active,.business-shell .nav button.active:hover,.business-shell .nav button.active:focus-visible{background:#eaf9ff;color:#173e52;box-shadow:inset 3px 0 #50c7d5}
.business-shell .nav button:not(.active):hover,.business-shell .nav button:not(.active):focus-visible,.business-shell .nav-branch summary:hover{background:#2c5662;color:#fff}
.business-shell .nav .nav-label{color:inherit!important;flex:1;min-width:0;width:auto;line-height:1.4;text-align:left}
.business-shell .nav .nav-label:hover{color:inherit!important}
.business-shell .activity-menu-badge,.business-portal .activity-menu-badge{display:inline-flex;align-items:center;justify-content:center;flex:none;min-width:22px;height:22px;padding:0 5px;margin-left:auto;border-radius:20px;background:#ea496b;color:#fff!important;font-size:11px;font-weight:750;line-height:1;box-sizing:border-box;position:relative}
.business-shell .header-shortcut .activity-menu-badge{position:absolute;right:-5px;top:-4px;margin:0;border:2px solid white}
.business-shell [data-approval-count]{display:none!important}
.business-portal .activity-menu-badge[hidden]{display:none!important}
.business-portal .notification-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:24px;align-items:start}
.business-portal .notification-existing,.business-portal .notification-changes{display:flex;flex-direction:column;gap:20px;min-width:0}
.business-portal .notification-layout .card{margin:0}
.business-portal .notification-layout h2{display:flex;align-items:center;gap:9px;font-size:18px}
.business-portal .activity-total{display:grid;place-items:center;min-width:29px;height:29px;padding:0 6px;border-radius:10px;background:#e4f5fa;color:#147e99;font-size:12px;font-weight:750}
.business-portal .activity-item,.business-portal .activity-task{display:flex;gap:13px;padding:18px 0;border-bottom:1px solid #e6eef1;align-items:flex-start}
.business-portal .activity-item:last-child,.business-portal .activity-task:last-child{border-bottom:0}
.business-portal .activity-symbol,.business-portal .activity-task-icon{width:38px;height:38px;display:grid;place-items:center;background:#f0eaff;color:#8b66d2;border-radius:12px;flex:none}
.business-portal .activity-task-icon{background:#fff0da;color:#c68c31}
.business-portal .activity-item>div,.business-portal .activity-task>div{flex:1;min-width:0}
.business-portal .activity-item p,.business-portal .activity-task p{margin:5px 0 9px;line-height:1.55;overflow-wrap:anywhere}
.business-portal .activity-item small{display:block;color:#73909d;margin-bottom:12px;font-size:11px}
.business-portal .activity-item.is-unread strong:after{content:'';display:inline-block;margin-left:8px;width:7px;height:7px;border-radius:50%;background:#ef496a}
.business-portal .activity-item button,.business-portal .activity-task button{font-size:12px;min-height:36px;padding:8px 12px;margin-top:8px}
.business-portal .activity-item .ghost{background:#f3f7f9;color:#567686}
@media(max-width:1100px){.business-portal .notification-layout{grid-template-columns:minmax(0,1fr)}}
