:root{
  --joredu-blue:#111317;
  --joredu-blue-deep:#2a2d2f;
  --joredu-navy:#111317;
  --joredu-slate:#62676b;
  --joredu-cloud:#f8f8f7;
  --joredu-line:#dcdedb;
  color:var(--joredu-navy);
  background:var(--joredu-cloud);
  font-family:var(--joredu-font,"Segoe UI",Arial,sans-serif);
  font-synthesis:none;
  text-rendering:optimizeLegibility;
}
*{box-sizing:border-box}
html,body,#app{min-height:100%;margin:0}
body{min-height:100vh;background:
  radial-gradient(circle at 3% 0%,#f0f1ef 0,transparent 30rem),
  radial-gradient(circle at 100% 100%,#e8e9e7 0,transparent 34rem),var(--joredu-cloud)}
button,input,select,textarea{font:inherit}
select{min-height:44px!important}
button,a{-webkit-tap-highlight-color:transparent}
button{cursor:pointer;min-width:44px;min-height:44px}
button:disabled{cursor:not-allowed;opacity:.5}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #8b8f91;outline-offset:2px}
.page{width:min(1440px,100%);margin:0 auto;padding:24px}
.auth-page{display:grid;min-height:100vh;place-items:center;padding:24px}
.auth-shell{display:grid;width:min(1180px,100%);gap:28px;grid-template-columns:minmax(0,1.16fr) minmax(370px,.84fr);align-items:center}
.brand-panel{padding:48px;border:1px solid #303234;border-radius:32px;color:#f8fafc;background:radial-gradient(circle at 14% 98%,#303234 0,transparent 32%),radial-gradient(circle at 88% 10%,#202224 0,transparent 33%),var(--joredu-navy);box-shadow:0 28px 70px #1113172b}
.brand-panel h1{font-size:clamp(38px,5vw,66px);line-height:.99;letter-spacing:-.07em;margin:22px 0}
.brand-panel p{max-width:450px;font-size:17px;line-height:1.65;color:#d9dbdc}.brand-panel .brand{color:#f8fafc}.brand-panel .joredu{color:#d9dbd8}
.public-entry h1{max-width:600px;font-size:clamp(38px,4.5vw,60px)}.public-entry>p{max-width:600px}.public-ecosystem{display:grid;gap:11px;margin-top:30px}.public-ecosystem-title{color:#d9dbd8;font-size:10px;font-weight:850;letter-spacing:.16em}.ecosystem-product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ecosystem-product{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:4px 12px;min-height:100px;padding:13px;border:1px solid #ffffff20;border-radius:18px;background:#ffffff0d;color:#f8fafc;text-decoration:none;transition:transform .18s ease,background .18s ease,border .18s ease}.ecosystem-product:first-child{grid-column:1/-1}.ecosystem-product:hover{transform:translateY(-2px);background:#ffffff16;border-color:#ffffff42}.ecosystem-product.current{border-color:#d1d3d190;background:linear-gradient(135deg,#ffffff22,#ffffff0b)}.ecosystem-product.cobra:hover{border-color:#34d399aa}.ecosystem-product.veni:hover{border-color:#a78bfaaf}.ecosystem-logo{display:block;grid-row:1/3;width:38px;height:38px;filter:drop-shadow(0 7px 12px #02061740)}.ecosystem-logo.joredu-logo{width:104px;height:auto;max-height:26px;filter:none}.ecosystem-product.joredu{grid-template-columns:104px minmax(0,1fr)}.ecosystem-product-copy{display:grid;gap:3px;min-width:0}.ecosystem-product-copy b{font-size:14px}.ecosystem-product-copy small{color:#d9dbdc;font-size:12px;line-height:1.32}.ecosystem-product-action{grid-column:2;color:#d9dbd8;font-size:11px;font-weight:850;letter-spacing:.02em}.ecosystem-product.cobra .ecosystem-product-action{color:#6ee7b7}.ecosystem-product.veni .ecosystem-product-action{color:#c4b5fd}
.public-commerce-button{justify-self:start;margin-top:3px;border-color:#d9dbd8;background:#fff;color:#2a2d2f}
.auth-card,.panel,.modal-card{background:rgba(255,255,255,.94);backdrop-filter:blur(18px);border:1px solid var(--joredu-line);box-shadow:0 20px 60px #0f172a0d}
.auth-card{padding:32px;border-radius:30px}
.brand{display:flex;align-items:center;gap:11px;color:var(--joredu-navy);font-weight:900}.brand-logo{display:block;width:132px;height:auto;max-width:100%;flex:none}.brand-panel .brand-logo{width:min(210px,100%)}.auth-mobile-brand{display:none}.brand-wordmark{font-size:15px;letter-spacing:.2em;line-height:1}.mark{display:block;width:37px;height:37px;flex:none;filter:drop-shadow(0 8px 12px #11131730)}
@media(max-width:760px){.auth-mobile-brand{display:flex;margin-bottom:14px}.auth-mobile-brand .brand-logo{width:138px}}
.joredu{color:var(--joredu-slate);font-size:11px;font-weight:850;letter-spacing:.14em}
.eyebrow{font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.14em;color:var(--joredu-blue)}
.auth-card h2,.topbar h1,.screen-title h2{letter-spacing:-.045em;margin:12px 0 7px}
.auth-card h2{font-size:32px}
.muted{color:var(--joredu-slate);line-height:1.55}
.form-stack{display:grid;gap:15px;margin-top:24px}
.field{display:grid;gap:7px;color:#334155;font-size:13px;font-weight:750}
.field input,.field select,.field textarea,.select-control{width:100%;border:1px solid var(--joredu-line);border-radius:14px;background:#fff;color:var(--joredu-navy);padding:13px 14px;min-height:46px;transition:border .18s,box-shadow .18s}
.field textarea{min-height:88px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--joredu-blue);box-shadow:0 0 0 4px #1113171c;outline:0}
.entity-select-search{display:grid;gap:6px;min-width:0}.entity-select-results{display:grid;gap:4px;max-height:min(260px,35vh);overflow:auto;border:1px solid var(--joredu-line);border-radius:10px;padding:5px;background:#fff}.entity-select-results[hidden]{display:none}.entity-select-result{width:100%;min-height:44px;border:0;border-radius:7px;padding:9px 11px;background:#fff;color:var(--joredu-navy);text-align:left;white-space:normal;overflow-wrap:anywhere;cursor:pointer}.entity-select-result:hover,.entity-select-result:focus-visible{background:#edf3f8;outline:2px solid var(--joredu-blue);outline-offset:-2px}.entity-select-result.selected{font-weight:700}.entity-select-status:empty{display:none}
.access-mode-switch{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:5px;margin:16px 0;border:1px solid var(--joredu-line);border-radius:17px;background:#f4f7fc}.access-mode-switch button{min-height:42px;justify-content:center}
.team-access-card{display:grid;gap:14px}.team-access-card p{margin:5px 0 0}.team-code-card{display:grid;justify-items:start;gap:8px;padding:20px;border:1px solid #b9cff7;border-radius:20px;background:linear-gradient(135deg,#edf4ff,#f8f5ff)}.team-code-value{font-size:clamp(34px,7vw,54px);line-height:1;letter-spacing:.15em;color:var(--joredu-navy);font-variant-numeric:tabular-nums}.team-code-card .primary{margin-top:3px}.team-access-url{display:block;max-width:100%;overflow-wrap:anywhere;padding:12px 14px;border:1px solid #d8e5f7;border-radius:14px;background:#f6f9ff;color:#254678;font-size:12px}.team-member-row .row-main{min-width:0}.permission-field{min-width:0}.permission-list{display:grid;gap:9px;margin-top:2px}.permission-option{display:grid;grid-template-columns:minmax(0,1fr) 24px;align-items:center;gap:16px;min-height:52px;padding:12px 14px;border:1px solid #e1e8f2;border-radius:15px;background:#fff;color:var(--joredu-navy);cursor:pointer}.permission-option:hover{border-color:#bfd2f4;background:#f8fbff}.permission-option>span{min-width:0;white-space:normal;overflow:visible;text-overflow:clip;line-height:1.4;font-size:13px;font-weight:750}.field .permission-option input[type=checkbox]{appearance:auto;width:22px;height:22px;min-height:22px;margin:0;padding:0;justify-self:end;box-shadow:none;accent-color:var(--joredu-blue)}
.file-picker{position:relative;display:flex;align-items:center;gap:10px;min-height:52px;padding:6px;border:1px solid var(--joredu-line);border-radius:14px;background:#fff}.file-picker-button{display:inline-flex;align-items:center;gap:7px;flex:none;border:0;border-radius:10px;padding:10px 12px;background:#eff6ff;color:var(--joredu-blue-deep);font-size:12px;font-weight:850}.file-picker-name{min-width:0;overflow:hidden;color:var(--joredu-slate);font-size:12px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.visually-hidden-input{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.link-row{display:flex;justify-content:space-between;gap:12px;margin-top:16px}
.text-link{border:0;background:none;color:var(--joredu-blue);padding:0;font-size:13px;font-weight:800;text-decoration:none}
.ecosystem-hint{display:grid;gap:9px;margin-top:20px;padding-top:17px;border-top:1px solid #e2e8f0}.ecosystem-hint>span{color:var(--joredu-slate);font-size:11px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.auth-explore-copy{margin:0;color:var(--joredu-slate);font-size:12px;line-height:1.4}.tool-mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.tool-mini-card{display:flex;align-items:center;gap:9px;min-height:70px;padding:10px;border:1px solid var(--joredu-line);border-radius:14px;background:#fff;color:var(--joredu-navy);text-decoration:none;transition:transform .16s ease,border .16s ease,background .16s ease}.tool-mini-card:hover{transform:translateY(-1px);border-color:#cfd1cf;background:#fafaf9}.tool-mini-card.current{background:#f2f3f1;border-color:#d7d9d7}.tool-mini-copy{display:grid;gap:3px;min-width:0}.tool-mini-card b{font-size:13px}.tool-mini-card small{color:var(--joredu-slate);font-size:11px;line-height:1.3}.tool-logo{display:block;width:31px;height:31px;flex:none;filter:drop-shadow(0 6px 10px #0f172a20)}.tool-logo.joredu-logo{width:74px;height:auto;max-height:20px;filter:none}
.commerce-hub{gap:16px}.commerce-intro{display:grid;gap:6px}.commerce-intro p{margin:0}.commerce-grid{display:grid;gap:11px}.commerce-card{display:grid;grid-template-columns:42px minmax(0,1fr);gap:13px;padding:15px;border:1px solid var(--joredu-line);border-radius:18px;background:linear-gradient(135deg,#fff,#f8fbff)}.commerce-card.joredu{grid-template-columns:104px minmax(0,1fr)}.commerce-card>.tool-logo{width:42px;height:42px}.commerce-card.joredu>.tool-logo.joredu-logo{width:104px;height:auto;max-height:28px}.commerce-copy{display:grid;gap:7px;min-width:0}.commerce-copy h3{margin:0;font-size:17px}.commerce-copy p{margin:0;line-height:1.45}.commerce-price-list{display:flex;flex-wrap:wrap;gap:6px}.commerce-price-list span{padding:5px 8px;border:1px solid #dbeafe;border-radius:999px;background:#eff6ff;color:#1e3a8a;font-size:11px;font-weight:800}.commerce-plan-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px}.commerce-active{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.commerce-active small{color:var(--joredu-slate);font-size:11px}
.primary,.secondary,.danger,.ghost,.chip,.nav-button{border:0;border-radius:14px;padding:12px 15px;font-weight:800;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}
.primary{color:#fff;background:linear-gradient(145deg,#111317,#2a2d2f);box-shadow:0 9px 20px #11131735}
.primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 24px #1113174a}
.secondary{color:#2a2d2f;background:#f2f3f1;border:1px solid #d7d9d7}
.ghost{color:#475569;background:#fff;border:1px solid var(--joredu-line)}
.danger{color:#bc3550;background:#fff0f2;border:1px solid #ffd6dd}
.chip{padding:7px 10px;border:1px solid var(--joredu-line);background:#fff;color:#475569;font-size:12px}
.chip.active{background:#f2f3f1;color:var(--joredu-blue-deep);border-color:#d7d9d7}
.full{width:100%}
.notice{border-radius:14px;padding:12px 13px;background:#f2f3f1;color:#303538;font-size:13px;line-height:1.45}
.import-preview{min-width:0}
.notice.error{background:#fff0f2;color:#a92f48}.notice.warning{background:#fff8e7;color:#8a5a09}.notice.success{background:#eaf9f1;color:#1c7751}
.app-shell{min-height:100vh;display:grid;grid-template-columns:248px minmax(0,1fr)}
.app-shell.sidebar-hidden{grid-template-columns:minmax(0,1fr)}
.app-shell.sidebar-hidden>.sidebar{display:none}
.sidebar-toggle{display:inline-flex}
.sidebar-toggle-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:8px 12px;border:1px solid var(--joredu-line);border-radius:14px;background:#fff;color:var(--joredu-navy);font:inherit;font-size:12px;font-weight:800;white-space:nowrap;cursor:pointer}
.sidebar-toggle-button:hover{background:#f2f6fb;border-color:#b7cce6}
.sidebar-toggle-button:focus-visible{outline:3px solid var(--joredu-blue);outline-offset:2px}
.sidebar{position:sticky;top:0;height:100vh;padding:22px 14px;display:flex;flex-direction:column;gap:18px;background:linear-gradient(180deg,#111317,#1d1f20);border-right:1px solid #303234;box-shadow:12px 0 35px #1113170d}
.sidebar .brand{padding:8px 9px;color:#f8fafc}.sidebar .brand-logo{width:132px}.sidebar .brand-wordmark{font-size:14px}.side-nav{display:grid;gap:6px}
.nav-button{display:flex;align-items:center;gap:12px;padding:11px 12px;background:transparent;color:#cbd5e1;text-align:left}
.nav-button:hover{background:#252728;color:#fff}.nav-button.active{color:#fff;background:linear-gradient(135deg,#252728,#34383a);box-shadow:inset 0 0 0 1px #a8abad55,0 10px 20px #02061733}
.nav-icon,.action-icon{width:20px;height:20px;display:inline-grid;place-items:center;flex:none}
.side-bottom{display:grid;gap:8px;margin-top:auto;padding:4px}
.user-button{display:flex;align-items:center;gap:10px;text-align:left;background:#17243b;border:1px solid #31405b;border-radius:16px;padding:10px;color:#f8fafc}
.avatar{display:grid;place-items:center;width:32px;height:32px;border-radius:12px;background:#303234;color:#fff;font-size:13px;font-weight:900}
.user-button small{display:block;color:#94a3b8;margin-top:2px}
.main{min-width:0;padding:24px 28px 100px}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:26px}
.topbar h1{font-size:26px}.topbar p{margin:0;font-size:14px}.top-actions{display:flex;align-items:center;gap:8px}.locale-control{display:inline-flex;align-items:center}.locale-control select{min-height:36px;border:1px solid var(--joredu-line);border-radius:10px;background:var(--joredu-cloud);color:var(--joredu-ink);padding:0 28px 0 10px;font:inherit;font-size:12px}.auth-card>.locale-control{display:flex;justify-content:flex-end;margin-bottom:16px}.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}
.icon-button{display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid var(--joredu-line);border-radius:14px;color:#334155;background:#fff}
.screen-title{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:18px;flex-wrap:wrap}.screen-title h2{font-size:28px}.screen-title p{margin:0;color:#73819a}.screen-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.grid{display:grid;gap:16px}.stats{grid-template-columns:repeat(4,minmax(0,1fr))}.two{grid-template-columns:1.1fr .9fr}.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.panel{border-radius:24px;padding:20px}.grid>.panel{min-width:0}.panel h3{margin:0 0 6px;font-size:16px;letter-spacing:-.025em}.panel p{margin:0}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px}
.metric{min-height:132px;position:relative;overflow:hidden}.metric:after{content:"";position:absolute;width:90px;height:90px;right:-26px;top:-26px;border-radius:50%;background:radial-gradient(circle,#dbeafe,transparent 70%)}.metric .label{position:relative;color:var(--joredu-slate);font-weight:750;font-size:13px}.metric strong{position:relative;display:block;font-size:27px;letter-spacing:-.055em;margin:10px 0 3px}.metric small{position:relative;color:var(--joredu-slate);font-size:12px}
.action-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.action-card{display:grid;gap:8px;align-content:start;text-align:left;min-height:120px;padding:15px;background:#fff;border:1px solid var(--joredu-line);border-radius:19px;color:var(--joredu-navy)}.action-card:hover{border-color:#93c5fd;box-shadow:0 12px 28px #1d4ed812;transform:translateY(-1px)}.action-card span{display:grid;place-items:center;width:34px;height:34px;border-radius:12px;background:#eff6ff;color:var(--joredu-blue)}.action-card b{font-size:13px}.action-card small{color:var(--joredu-slate);line-height:1.35}
.empty{display:grid;place-items:center;text-align:center;gap:10px;min-height:190px;padding:24px;color:#73819a}.empty .empty-icon{font-size:30px}.empty h3{font-size:18px;color:#30425f}.empty p{max-width:330px}
.business-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.business-card{border:1px solid var(--joredu-line);border-radius:22px;background:#fff;padding:18px;box-shadow:0 12px 30px #0f172a0a}.business-card .top{display:flex;justify-content:space-between;gap:10px}.business-card h3{margin:13px 0 4px;font-size:18px}.business-card .facts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:17px 0}.fact{padding:10px;border-radius:13px;background:#f8fafc}.fact small{display:block;color:var(--joredu-slate)}.fact b{font-size:13px}.status{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:800}.status.open{background:#e5f9ef;color:#168158}.status.closed{background:#eef2f7;color:#627188}.status.warn{background:#fff5dc;color:#9b6508}
.bottom-nav{display:none}
.list{display:grid;gap:9px}.list>.row{min-width:0}.row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #edf1f6}.row:last-child{border-bottom:0}.row-main{min-width:0}.row-main b,.row-main small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-main small{color:#7c899e;margin-top:3px}.row-value{text-align:right;font-weight:850}.row-value small{display:block;color:#7c899e;font-size:11px;font-weight:600;margin-top:3px}
@media(max-width:760px){.supplier-list>.row{align-items:stretch;flex-direction:column}.supplier-list .row-main b,.supplier-list .row-main small{white-space:normal;overflow-wrap:anywhere}.supplier-list .line-actions{justify-content:flex-start}}
.table-zones{display:grid;gap:22px}.table-zone{display:grid;gap:11px}.table-zone+.table-zone{border-top:1px solid #e5ecf5;padding-top:22px}.table-zone-head{display:flex;align-items:end;justify-content:space-between;gap:12px}.table-zone-head h3{margin:0;font-size:16px;letter-spacing:-.025em}.table-zone-head small{color:#77859d;font-size:12px;font-weight:700}.table-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:12px}.table-card{min-height:124px;border:1px solid #dde7f4;border-radius:20px;padding:15px;text-align:left;background:#fff;color:#1d2d48}.table-card:hover{transform:translateY(-1px);border-color:#b9cffb}.table-card b{display:block;font-size:16px}.table-card small{display:block;color:#75849d;margin-top:5px}.table-card .status{margin-top:15px}.table-card.new{border-color:#c9d9ff}.table-card.preparing{border-color:#ffdca0;background:#fffdf8}.table-card.ready{border-color:#bcefd7;background:#f9fffb}.table-card.served{border-color:#c7d8f8;background:#fbfdff}.table-setup-form{display:grid;gap:15px}.table-setup-rows{display:grid;gap:11px}.table-area-row{display:grid;gap:10px;padding:14px;border:1px solid #dce7f5;border-radius:18px;background:linear-gradient(135deg,#f9fbff,#fff)}.table-area-row-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.table-area-row .field{min-width:0}.table-setup-summary{padding:12px 13px;border-radius:14px;background:#eef4ff;color:#315697;font-size:13px;font-weight:750;line-height:1.45}
.product-search{display:grid;gap:7px}.product-search-label{color:#334155;font-size:13px;font-weight:800}.product-search-box{position:relative;display:flex;align-items:center}.product-search-box>.action-icon{position:absolute;z-index:1;left:14px;width:19px;height:19px;color:var(--joredu-slate);pointer-events:none}.product-search-input{width:100%;min-height:48px;border:1px solid var(--joredu-line);border-radius:15px;background:#fff;color:var(--joredu-navy);padding:13px 47px 13px 44px;transition:border .18s,box-shadow .18s}.product-search-input:focus{border-color:var(--joredu-blue);box-shadow:0 0 0 4px #2563eb1c;outline:0}.product-search-clear{position:absolute;z-index:1;right:7px;display:grid;place-items:center;width:34px;height:34px;padding:0;border:0;border-radius:11px;background:#eff6ff;color:var(--joredu-blue-deep)}.product-search-clear[hidden],.product-search-empty[hidden],.product-grid[hidden]{display:none}.product-search-clear:hover{background:#dbeafe}.product-search-clear .action-icon{width:17px;height:17px}.product-search-summary{margin:0;color:var(--joredu-slate);font-size:12px;font-weight:700;line-height:1.35}.product-search-empty{display:grid;gap:4px;padding:18px;border:1px dashed var(--joredu-line);border-radius:16px;background:#f8fafc;color:var(--joredu-slate);text-align:center}.product-search-empty b{color:#334155;font-size:14px}.product-search-empty span{font-size:12px}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(135px,1fr));gap:10px}.product-button{padding:13px;border:1px solid var(--joredu-line);border-radius:17px;background:#fff;color:var(--joredu-navy);text-align:left}.product-button:hover{background:#eff6ff;border-color:#93c5fd}.product-button b{display:block;font-size:13px;line-height:1.28}.product-button small{display:block;color:var(--joredu-slate);margin-top:7px;font-weight:700}.product-button em{display:block;color:#94a3b8;margin-top:3px;font-size:11px;font-style:normal}
.order-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:16px}.cart-lines{display:grid;gap:8px}.line{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid #edf1f6}.line:last-child{border-bottom:0}.line>div:first-child{min-width:0}.line b{display:block;font-size:13px}.line small{color:#74819a}.qty-control{display:flex;align-items:center;gap:5px}.qty-control button{display:grid;place-items:center;width:26px;height:26px;padding:0;border:1px solid #dce6f1;border-radius:9px;background:#fff;color:#3156a3;font-weight:800}.line-actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.tiny{padding:6px 8px;border-radius:9px;font-size:11px}
.total-box{display:grid;gap:9px;padding:15px;border-radius:17px;background:#f3f7ff}.total-row{display:flex;justify-content:space-between;gap:10px;color:#5c6d87;font-size:13px}.total-row.total{padding-top:8px;border-top:1px solid #d9e5f8;color:#17233b;font-size:18px;font-weight:900}
.segmented{display:flex;gap:6px;flex-wrap:wrap}.segmented .chip{cursor:pointer}.kitchen-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.kitchen-ticket{display:grid;gap:15px;min-width:0;padding:17px;border:1px solid #dce6f4;border-radius:22px;background:rgba(255,255,255,.92);box-shadow:0 12px 30px #223e6d0d}.kitchen-ticket.preparing{border-color:#f2d69a;background:linear-gradient(145deg,#fffdf8,#fff)}.kitchen-ticket.ready{border-color:#b9e8d0;background:linear-gradient(145deg,#f8fffb,#fff)}.kitchen-ticket-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.kitchen-ticket-target{display:grid;gap:4px;min-width:0}.kitchen-ticket-target b{font-size:16px;letter-spacing:-.02em}.kitchen-ticket-time{display:grid;justify-items:end;gap:6px;white-space:nowrap}.kitchen-ticket-time>b{font-size:15px}.kitchen-ticket-items{display:grid;border-top:1px solid #ecf0f6}.kitchen-ticket-item{display:grid;gap:4px;padding:11px 0;border-bottom:1px solid #ecf0f6;min-width:0}.kitchen-ticket-item b{font-size:14px;line-height:1.35;overflow-wrap:anywhere}.kitchen-ticket-item small{color:#78869d;line-height:1.4;overflow-wrap:anywhere}.kitchen-ticket-actions{display:grid}.kitchen-ticket-actions .primary{width:100%;min-height:48px;justify-content:center}.kitchen-ticket-waiting{padding:11px 12px;border-radius:13px;background:#f2f5fa;color:#62718a;font-size:12px;font-weight:700}.setting-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:13px 0;border-bottom:1px solid #edf1f6}.setting-row:last-child{border-bottom:0}.setting-copy{min-width:0}.setting-copy b,.setting-copy small{display:block}.setting-copy b{font-size:14px}.setting-copy small{margin-top:4px;color:#78869d;line-height:1.45}.setting-toggle{min-width:96px;border:1px solid #d8e3f3;border-radius:13px;padding:10px 13px;background:#fff;color:#51617a;font-size:12px;font-weight:850}.setting-toggle.active{border-color:#bcd2ff;background:#e8f0ff;color:#2755ac}.settings-control{min-width:142px;max-width:205px}
.kanban{display:grid;grid-template-columns:repeat(7,minmax(190px,1fr));gap:12px;overflow:auto;padding:4px 2px 12px;scroll-snap-type:x proximity;scrollbar-width:thin}.kanban-column{min-width:190px;padding:11px;border-radius:18px;background:#edf2fa;scroll-snap-align:start}.kanban-column h4{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:2px 3px 11px;font-size:12px;color:#5e6c84}.job-card{display:grid;gap:6px;padding:12px;margin-bottom:8px;border:1px solid #dfe8f4;border-radius:14px;background:#fff}.job-card b{font-size:13px}.job-card small{color:#718099;font-size:11px}.job-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.job-card-heading>b{min-width:0;overflow-wrap:anywhere}.job-card-status{flex-shrink:0;padding:3px 6px;border-radius:999px;background:#eff4fb;color:#50627e;font-size:10px;font-weight:800;text-align:right}.job-card-flow{display:grid;grid-template-columns:34px 1fr 34px;align-items:center;gap:7px;margin-top:3px;padding-top:8px;border-top:1px solid #edf1f6}.job-flow-hint{text-align:center;color:#8290a7;font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.04em}.job-flow-button,.kanban-scroll-button{display:grid;place-items:center;width:34px;height:32px;min-height:32px;padding:0;border:1px solid #d6e3f4;border-radius:10px;background:#f7faff;color:#2e62be}.job-flow-button:hover,.kanban-scroll-button:hover{background:#e7f0ff;border-color:#9dbcf2}.job-flow-spacer{display:block;width:34px;height:32px}.workshop-actions{gap:6px}.workshop-actions .kanban-scroll-button{flex:0 0 34px}.workshop-actions .action-icon{width:16px;height:16px}
.agenda{display:grid;gap:10px}.appointment{display:grid;grid-template-columns:90px 1fr auto;gap:12px;align-items:center;padding:14px;border:1px solid #e0e8f3;border-radius:17px;background:#fff}.appointment time{font-weight:850;color:#2f5eb7}.appointment small{display:block;color:#75829b;margin-top:3px}
.report-table{width:100%;border-collapse:collapse;font-size:13px}.report-table th,.report-table td{padding:10px;text-align:left;border-bottom:1px solid #ebf0f6}.report-table th{color:#74829b;font-size:11px;text-transform:uppercase;letter-spacing:.06em}.table-wrap{overflow:auto}
.modal-overlay{position:fixed;z-index:20;inset:0;display:grid;place-items:center;padding:20px;background:rgba(20,31,54,.38);backdrop-filter:blur(7px);animation:fade .16s ease}.modal-card{width:min(620px,100%);max-height:min(88vh,820px);overflow:auto;border-radius:26px;padding:22px;animation:lift .2s ease}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.modal-head h2{margin:0;font-size:23px;letter-spacing:-.04em}.modal-body{margin-top:17px}.modal-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}
.toast-stack{position:fixed;z-index:30;right:18px;bottom:22px;display:grid;gap:8px;width:min(350px,calc(100vw - 36px))}.toast{padding:13px 15px;border-radius:15px;background:#1d2a42;color:#fff;box-shadow:0 12px 34px #10213c33;font-size:13px;animation:lift .2s ease}.toast.error{background:#a8314a}.toast.success{background:#147452}
.tour-progress{display:flex;gap:6px;margin:17px 0}.tour-dot{height:6px;flex:1;border-radius:99px;background:#e2e8f0}.tour-dot.active{background:var(--joredu-blue)}.tour-stage{min-height:150px;padding:18px;border-radius:18px;background:linear-gradient(135deg,#eff6ff,#f8fafc)}.tour-stage h3{margin:0 0 8px;font-size:20px;letter-spacing:-.03em}.tour-stage p{margin:0;color:var(--joredu-slate);line-height:1.55}
.hide-desktop{display:none}
.status.info{background:#e8f0ff;color:#315ba9}.status.critical{background:#ffe7eb;color:#b34255}.table-card.preparing{border-color:#c9d9ff;background:#fbfdff}.table-card.kitchen-warning{border-color:#efb34a;background:linear-gradient(145deg,#fffaf0,#fff);box-shadow:0 0 0 3px #f4b64b1c}.table-card.kitchen-critical{border-color:#df6070;background:linear-gradient(145deg,#fff7f8,#fff);box-shadow:0 0 0 3px #e2647520}.table-kitchen-time{font-weight:800}.table-kitchen-time.normal{color:#667791}.table-kitchen-time.warning{color:#a56906}.table-kitchen-time.critical{color:#bb3e51}.order-status-stack{display:grid;justify-items:end;gap:7px}.kitchen-time-chip{display:inline-flex;align-items:center;border:1px solid #dce5f2;border-radius:999px;padding:5px 8px;background:#fff;color:#60718d;font-size:11px;font-weight:850;white-space:nowrap}.kitchen-time-chip.warning{border-color:#f0c066;background:#fff7e5;color:#9b6508}.kitchen-time-chip.critical{border-color:#e8a2ae;background:#fff0f2;color:#b33d50}.kitchen-ticket.kitchen-warning{border-color:#efb34a;background:linear-gradient(145deg,#fffaf0,#fff)}.kitchen-ticket.kitchen-critical{border-color:#df6070;background:linear-gradient(145deg,#fff7f8,#fff)}.kitchen-elapsed.warning{color:#a56906}.kitchen-elapsed.critical{color:#bb3e51}
@keyframes fade{from{opacity:0}to{opacity:1}}@keyframes lift{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}@keyframes pulse{0%,100%{box-shadow:0 0 0 0 #2563eb22}50%{box-shadow:0 0 0 12px #2563eb00}}
.metric strong,.status.open{animation:pulse 2.8s ease-in-out infinite}
[data-reduced-motion="true"] *{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}
@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
@media(max-width:1050px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.two{grid-template-columns:1fr}.order-layout{grid-template-columns:1fr}.kanban{grid-template-columns:repeat(7,220px)}}
@media(max-width:760px){body{background:var(--joredu-cloud)}.auth-shell{grid-template-columns:1fr}.brand-panel{display:none}.auth-card{padding:25px;border-radius:26px}.app-shell{display:block}.sidebar{display:none}.main{padding:17px 15px 96px}.topbar{margin-bottom:20px}.topbar h1{font-size:22px}.topbar p{font-size:12px}.top-actions{flex-wrap:wrap;justify-content:flex-end}.top-actions .secondary{display:inline-flex;justify-content:center}.screen-title{align-items:flex-start}.screen-title h2{font-size:24px}.screen-title .primary{padding:10px 12px}.stats{grid-template-columns:1fr 1fr;gap:10px}.metric{min-height:116px;padding:16px}.metric strong{font-size:22px}.panel{padding:16px;border-radius:20px}.action-grid{grid-template-columns:1fr 1fr}.business-grid{grid-template-columns:1fr}.table-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.field-row{grid-template-columns:1fr}.appointment{grid-template-columns:72px 1fr}.appointment .appointment-actions{grid-column:1/-1}.bottom-nav{position:fixed;z-index:10;display:grid;grid-template-columns:repeat(5,1fr);gap:2px;bottom:0;left:0;right:0;padding:8px max(10px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));background:rgba(255,255,255,.94);backdrop-filter:blur(18px);border-top:1px solid var(--joredu-line)}.bottom-nav .nav-button{display:grid;justify-items:center;gap:3px;padding:6px 2px;border-radius:12px;color:var(--joredu-slate);font-size:10px;text-align:center}.bottom-nav .nav-button.active{color:var(--joredu-blue);background:#eff6ff;box-shadow:inset 0 0 0 1px #bfdbfe}.bottom-nav .nav-icon{width:19px;height:19px}.hide-mobile{display:none}.hide-desktop{display:inline-flex}.modal-overlay{align-items:end;padding:0}.modal-card{width:100%;max-height:90vh;border-radius:26px 26px 0 0;padding:20px}.toast-stack{bottom:84px}.link-row{align-items:flex-start;flex-direction:column}.report-table{min-width:500px}.screen-actions{width:100%;justify-content:stretch}.screen-actions>*{flex:1}.screen-actions .secondary{display:inline-flex;justify-content:center}.table-zones{gap:18px}.table-zone+.table-zone{padding-top:18px}.kitchen-board{grid-template-columns:1fr;gap:12px}.kitchen-ticket{padding:16px;border-radius:20px}.kitchen-ticket-head{gap:8px}.kitchen-ticket-time{font-size:12px}.kitchen-ticket-time .status{font-size:10px}.setting-row{grid-template-columns:1fr;align-items:stretch;gap:12px}.settings-control,.setting-toggle{width:100%;max-width:none;min-width:0;min-height:46px}.compact-title{margin-bottom:8px}.table-setup-summary{font-size:12px}.permission-option{grid-template-columns:minmax(0,1fr) 24px;padding:13px 12px}.permission-option>span{font-size:14px}.team-member-row{align-items:flex-start}.team-member-row>.line-actions{justify-content:flex-start}.team-access-card .secondary{width:100%;justify-content:center}}
@media(max-width:760px){.auth-page{display:block;padding:0 15px 28px}.auth-shell{gap:16px;width:100%}.brand-panel.public-entry{display:none;margin:0 -15px;padding:27px 20px 24px;border-width:0 0 1px;border-radius:0 0 28px 28px;box-shadow:0 16px 40px #0f172a24}.public-entry h1{max-width:360px;margin:16px 0;font-size:clamp(34px,10vw,42px);letter-spacing:-.065em}.public-entry>p{font-size:14px;line-height:1.55}.public-ecosystem{margin-top:23px}.ecosystem-product-grid{grid-template-columns:1fr;gap:8px}.ecosystem-product:first-child{grid-column:auto}.ecosystem-product{min-height:80px;padding:11px 12px}.ecosystem-logo{width:34px;height:34px}.ecosystem-product-copy b{font-size:13px}.ecosystem-product-copy small{font-size:11px}.auth-card{margin-top:0;padding:24px 20px;border-radius:24px}.auth-card h2{font-size:29px}.auth-card .form-stack{margin-top:20px}.auth-explore-copy{font-size:12px}.public-commerce-button{width:100%;justify-content:center}.commerce-card{grid-template-columns:36px minmax(0,1fr);padding:13px}.commerce-card>.tool-logo{width:36px;height:36px}.commerce-plan-actions{display:grid;grid-template-columns:1fr}.commerce-plan-actions button{width:100%;justify-content:center}.commerce-addon-actions{display:grid;grid-template-columns:1fr;margin-top:4px}.commerce-addon-actions button{width:100%;justify-content:center}}
.commerce-intro h3{margin:0;color:var(--joredu-ink);font-size:22px;letter-spacing:-.02em}.commerce-how-it-works{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}.commerce-how-it-works>div{display:grid;gap:2px;padding:10px 11px;border:1px solid #dbeafe;border-radius:14px;background:linear-gradient(145deg,#f8fbff,#eef6ff)}.commerce-how-it-works b{font-size:11px;color:#1d4ed8;letter-spacing:.04em}.commerce-how-it-works span{font-size:11px;line-height:1.35;color:var(--joredu-slate)}.commerce-benefits{display:grid;gap:5px;margin:1px 0 2px;padding:0;list-style:none}.commerce-benefits li{display:flex;align-items:flex-start;gap:7px;color:#334155;font-size:12px;line-height:1.35}.commerce-benefit-check{display:grid;place-items:center;flex:0 0 16px;width:16px;height:16px;border-radius:50%;background:#dcfce7;color:#15803d;font-size:11px;font-weight:900}.commerce-login-cta{display:grid;gap:8px;padding:11px 13px;border:1px solid #bfdbfe;border-radius:14px;background:#eff6ff}.commerce-login-cta p{margin:0;color:#1e3a8a;font-size:12px;line-height:1.4}.commerce-login-actions{display:flex;flex-wrap:wrap;gap:8px}.commerce-login-actions button{font-size:12px}.commerce-card{box-shadow:0 8px 22px #0f172a0a}.commerce-card:hover{border-color:#93c5fd;box-shadow:0 14px 28px #1d4ed814;transform:translateY(-1px);transition:.18s ease}.commerce-card .commerce-price-list{margin-top:1px}
@media(max-width:760px){.commerce-how-it-works{grid-template-columns:1fr}.commerce-login-actions{display:grid;grid-template-columns:1fr}.commerce-login-actions button{width:100%;justify-content:center}}
.commerce-plan-actions{display:grid;gap:10px}.commerce-plan-option{display:grid;gap:4px}.commerce-plan-option small{color:var(--joredu-slate);font-size:.78rem;line-height:1.35;padding-left:4px}.commerce-plan-option button{width:100%;justify-content:center}
/* Restaurant floor plan and split checkout */
.table-diagram{display:grid;gap:14px}.table-diagram-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 18px;border:1px solid #dce7f5;border-radius:20px;background:linear-gradient(135deg,#f8fbff,#eef5ff)}.table-diagram-head h3{margin:0;font-size:17px}.table-diagram-head p{margin:5px 0 0;color:#74829a;font-size:12px}.table-diagram-canvas{display:grid;grid-template-columns:repeat(4,minmax(100px,1fr));grid-template-rows:repeat(4,minmax(104px,1fr));gap:14px;padding:18px;border:1px dashed #b8c9e6;border-radius:22px;background:radial-gradient(circle at 20% 15%,#fff 0 2px,transparent 3px),#f3f7fd;background-size:22px 22px;min-height:390px}.table-diagram-item{display:grid;align-content:center;justify-items:center;gap:5px;min-height:90px;border:1px solid #cddbf0;border-radius:50%;background:#fff;color:#1d2d48;box-shadow:0 10px 22px #294d7a18;transition:transform .18s ease,box-shadow .18s ease}.table-diagram-item:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 14px 28px #294d7a25}.table-diagram-item b{font-size:14px}.table-diagram-item small{color:#74829a;font-size:10px}.table-diagram-item .status{font-size:9px;padding:3px 6px}.table-diagram-item.new,.table-diagram-item.preparing{border-color:#f0c76b;background:#fffaf0}.table-diagram-item.ready{border-color:#88d4ae;background:#f4fff8}.table-diagram-item.served{border-color:#9ebcf0;background:#f6f9ff}.split-payment-panel{display:grid;gap:10px;padding:13px;border:1px solid #bfdbfe;border-radius:16px;background:#f7fbff}.split-payment-panel[hidden]{display:none}.split-payment-panel .notice{margin:0}.split-payment-panel .field-row{margin:0}
@media(max-width:760px){.table-diagram-canvas{grid-template-columns:repeat(2,minmax(100px,1fr));grid-template-rows:repeat(4,minmax(104px,1fr));min-height:0;padding:12px}.table-diagram-head{align-items:stretch;flex-direction:column}.table-diagram-item{min-height:100px}}

/* Editable restaurant floor plan: operational status stays on each real table,
   while this canvas stores only the visual layout for the current business. */
.floor-plan-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 14px;border:1px solid #dce7f5;border-radius:18px;background:#fff}.floor-plan-floor{display:flex;align-items:center;gap:7px;margin-right:auto;color:#556780;font-size:12px;font-weight:800}.floor-plan-select{min-height:38px;min-width:145px;border:1px solid #d5e1f0;border-radius:11px;background:#f8fbff;color:#1e3152;padding:7px 10px;font-weight:800}.floor-plan-viewport{max-width:100%;overflow:auto;border:1px solid #bdcee5;border-radius:24px;background:#eaf1f9;box-shadow:inset 0 0 0 8px #ffffff99;overscroll-behavior:contain;scrollbar-gutter:stable;touch-action:pan-x pan-y}.floor-plan-viewport:focus-visible{outline:3px solid #2563eb;outline-offset:3px}.floor-plan-canvas{position:relative;isolation:isolate;width:max(100%,720px);min-width:720px;min-height:560px;overflow:hidden;background-color:#f6f9fd;background-image:linear-gradient(#dce7f3 1px,transparent 1px),linear-gradient(90deg,#dce7f3 1px,transparent 1px);background-size:5% 10%;box-shadow:inset 0 18px 40px #244d8210}.floor-plan-canvas:before{content:"";position:absolute;inset:1.5% 1.5%;z-index:-1;border:2px solid #c3d1e4;border-radius:18px;pointer-events:none}.floor-plan-object{position:absolute;z-index:2;display:grid;place-content:center;justify-items:center;gap:3px;box-sizing:border-box;min-width:0;min-height:0;overflow:hidden;padding:6px;border:1px solid #c1d4ec;background:#fff;color:#1c2e4b;box-shadow:0 8px 20px #244d8219;user-select:none;transition:box-shadow .15s ease,outline .15s ease}.floor-plan-canvas.is-editing .floor-plan-object{touch-action:none}.floor-plan-canvas.is-viewing .floor-plan-object{touch-action:pan-x pan-y}.floor-plan-object b{max-width:100%;font-size:12px;line-height:1.15;text-align:center;overflow-wrap:anywhere}.floor-plan-object small{max-width:100%;font-size:9px;color:#74839b;line-height:1.1;overflow-wrap:anywhere}.floor-plan-object .status{max-width:100%;font-size:8px;padding:2px 5px;overflow:hidden;text-overflow:ellipsis}.floor-plan-object.round{border-radius:50%}.floor-plan-object.square{border-radius:13px}.floor-plan-object.rectangle{border-radius:14px}.floor-plan-object.bar{border-radius:10px}.floor-plan-table{cursor:pointer}.floor-plan-table:hover,.floor-plan-object.selected{z-index:5;box-shadow:0 12px 25px #244d8230;outline:3px solid #5b8df6aa;outline-offset:2px}.floor-plan-table.free{border-color:#a9c4e8;background:#fff}.floor-plan-table.new{border-color:#f0c76b;background:#fffaf0}.floor-plan-table.preparing{border-color:#c9d9ff;background:#fbfdff}.floor-plan-table.ready{border-color:#88d4ae;background:#f4fff8}.floor-plan-table.served{border-color:#9ebcf0;background:#f6f9ff}.floor-plan-zone{z-index:1;place-content:start;justify-items:start;padding:13px;border:2px dashed #8aa7cf;border-radius:16px;background:linear-gradient(135deg,#e9f2ff99,#fff8);color:#4d6f9f;box-shadow:none;pointer-events:auto}.floor-plan-zone b{font-size:11px;text-transform:uppercase;letter-spacing:.06em}.floor-plan-wall,.floor-plan-separator{z-index:3;padding:0;border-radius:5px;background:#536984;border-color:#536984;box-shadow:0 2px 5px #233c5d33}.floor-plan-separator{background:#7e9ac0;border-style:dashed;border-color:#7e9ac0}.floor-plan-wall b,.floor-plan-separator b{position:absolute;top:8px;left:0;display:none;white-space:nowrap;color:#607692;font-size:9px}.floor-plan-resize{position:absolute;right:2px;bottom:2px;width:18px;height:18px;border-right:3px solid #4f78c9;border-bottom:3px solid #4f78c9;border-radius:0 0 3px 0;cursor:nwse-resize;opacity:.9}.floor-plan-pan-hint{display:block;margin:-5px 4px 0;color:#60728c;font-size:11px;line-height:1.45}.floor-plan-legend{display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:#6c7d96;font-size:11px;font-weight:750}.floor-plan-legend span{display:inline-flex;align-items:center;gap:5px}.legend-dot{display:inline-block;width:10px;height:10px;border:1px solid #aec4e3;border-radius:50%;background:#fff}.legend-dot.new{border-color:#f0c76b;background:#fff4ce}.legend-dot.preparing{border-color:#a8bfe9;background:#e9f0ff}.legend-dot.served{border-color:#9ebcf0;background:#e6efff}@media(max-width:760px){.floor-plan-toolbar{align-items:stretch}.floor-plan-floor{width:100%;margin-right:0;justify-content:space-between}.floor-plan-floor .floor-plan-select{flex:1}.floor-plan-toolbar .button,.floor-plan-toolbar>button{flex:1;justify-content:center}.floor-plan-viewport{border-radius:19px;scrollbar-gutter:auto}.floor-plan-canvas{width:720px;min-width:720px;min-height:560px;background-size:10% 10%}.floor-plan-object{padding:6px}.floor-plan-object b{font-size:12px}.floor-plan-object .status{display:inline-flex}.floor-plan-legend{gap:8px}}

.floor-plan-table{border:0;background:transparent!important;box-shadow:none;padding:17px}.floor-furniture{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:-1}.floor-plan-table b{font-size:clamp(9px,1vw,12px)}.floor-plan-table .status{background:#ffffffee}.floor-plan-canvas{min-width:100%;width:100%;min-height:560px}.floor-plan-table.new{color:#ba780e}.floor-plan-table.preparing{color:#d6532e}.floor-plan-table.ready{color:#197959}

/* Numbers stay readable on small shapes; the key names the exact table. */
.floor-plan-table{padding:8px}
.floor-plan-table b{display:inline-block;min-width:18px;padding:3px 5px;border-radius:999px;background:#fff;color:#173357;font-size:12px;line-height:1.1;text-align:center;box-shadow:0 1px 4px #17335733}
.floor-plan-table small{display:none}
.floor-plan-key{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}
.floor-plan-key-item{display:flex;align-items:center;gap:9px;min-width:0;padding:9px 11px;border:1px solid #d8e3f1;border-radius:12px;background:#fff;color:#19304f;text-align:left;cursor:pointer}
.floor-plan-key-item:hover,.floor-plan-key-item:focus-visible{border-color:#5b8df6;outline:2px solid #5b8df655}
.floor-plan-key-item>b{flex:none;color:#275a89}
.floor-plan-key-name{flex:1;min-width:0;overflow-wrap:anywhere;font-size:12px;font-weight:700}
.floor-plan-key-item .status{flex:none}

@media(max-width:760px){
  .bottom-nav .nav-button.active{color:var(--joredu-blue);background:#f2f3f1;box-shadow:inset 0 0 0 1px #d7d9d7}
  .ecosystem-product.joredu{grid-template-columns:88px minmax(0,1fr)}
  .ecosystem-logo.joredu-logo{width:88px;max-height:22px}
  .commerce-card.joredu{grid-template-columns:90px minmax(0,1fr)}
  .commerce-card.joredu>.tool-logo.joredu-logo{width:90px;max-height:24px}
}

/* The product family uses the approved wordmarks, never improvised initials. */
.ecosystem-logo.joredu-logo,.ecosystem-logo.veni-logo{width:104px;height:auto;max-height:26px;filter:none}
.ecosystem-product.joredu,.ecosystem-product.cobra,.ecosystem-product.veni{grid-template-columns:104px minmax(0,1fr)}
.ecosystem-product.cobra .ecosystem-product-action,.ecosystem-product.veni .ecosystem-product-action{color:#d9dbd8}
.tool-logo.joredu-logo,.tool-logo.veni-logo{width:74px;height:auto;max-height:20px;filter:none}
.commerce-card.joredu,.commerce-card.cobrabien,.commerce-card.veni{grid-template-columns:104px minmax(0,1fr)}
.commerce-card.joredu>.tool-logo.joredu-logo,.commerce-card.cobrabien>.tool-logo.joredu-logo,.commerce-card.veni>.tool-logo.veni-logo{width:104px;height:auto;max-height:28px}
/* Shared workspace for the seven sector applications. */
.sector-app{gap:22px}
.sector-app .screen-title{align-items:flex-end}
.sector-header-actions{display:flex;gap:8px;flex-wrap:wrap}
.sector-app .eyebrow{display:block;margin-bottom:7px;color:#496984;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.sector-tabs{display:flex;gap:8px;overflow-x:auto;padding:3px 2px 10px;scrollbar-width:thin}
.sector-tab{display:inline-flex;align-items:center;gap:9px;flex:none;min-height:43px;padding:9px 13px;border:1px solid #dce5ed;border-radius:12px;background:#fff;color:#324e64;font:inherit;font-size:13px;font-weight:750;cursor:pointer}
.sector-tab span{display:grid;place-items:center;min-width:22px;height:22px;padding:0 5px;border-radius:8px;background:#eef3f6;color:#526c7f;font-size:11px}
.sector-tab.active{border-color:#264c68;background:#244662;color:#fff;box-shadow:0 7px 18px #17374b1b}
.sector-tab.active span{background:#ffffff2e;color:#fff}
.sector-list{display:grid;gap:8px}
.sector-list .field{margin:0 0 7px}
.sector-list-button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:14px 16px;border:1px solid #e2e8ed;border-radius:15px;background:#fff;color:inherit;text-align:left;font:inherit;cursor:pointer;transition:border-color .16s,transform .16s,box-shadow .16s}
.sector-list-button:hover,.sector-list-button:focus-visible{border-color:#8eb6cc;box-shadow:0 6px 22px #102d4610;transform:translateY(-1px)}
.sector-list-button[hidden]{display:none}
.sector-list-button>span:first-child{display:grid;gap:3px;min-width:0}
.sector-list-button b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}
.sector-list-button small{color:#64798b;font-size:11px}
.sector-detail{display:grid;gap:20px}
.sector-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:9px}
.sector-fact{display:grid;gap:5px;padding:11px 13px;border:1px solid #e6edf1;border-radius:12px;background:#f8fafb;min-width:0}
.sector-fact small{color:#60758a;font-size:11px}
.sector-fact strong{overflow-wrap:anywhere;font-size:13px;font-weight:700;white-space:pre-wrap}
.sector-actions{display:flex;gap:8px;flex-wrap:wrap;padding-top:12px;border-top:1px solid #e7edf0}
.sector-id{font-size:11px;overflow-wrap:anywhere}
.sector-body-map{display:flex;align-items:center;gap:15px;margin-top:10px;padding:14px;border:1px solid #dce8ee;border-radius:15px;background:#f8fbfc}
.sector-body-figure{position:relative;flex:none;width:72px;height:160px}
.sector-body-figure span{position:absolute;display:block;background:#b7d1de;border:1px solid #6594aa}
.sector-body-figure .body-head{left:25px;top:0;width:22px;height:25px;border-radius:50%}
.sector-body-figure .body-trunk{left:18px;top:30px;width:36px;height:66px;border-radius:17px 17px 11px 11px}
.sector-body-figure .body-arm{top:33px;width:12px;height:72px;border-radius:10px}
.sector-body-figure .body-arm.left{left:3px;transform:rotate(12deg)}
.sector-body-figure .body-arm.right{right:3px;transform:rotate(-12deg)}
.sector-body-figure .body-leg{top:96px;width:14px;height:62px;border-radius:9px}
.sector-body-figure .body-leg.left{left:20px;transform:rotate(4deg)}
.sector-body-figure .body-leg.right{right:20px;transform:rotate(-4deg)}
.saved-operations{display:grid;gap:18px;min-width:0}.saved-operation-list{display:grid;margin-top:18px}.saved-operation-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid var(--line,#dce3e9)}.saved-operation-row small{display:block;margin-top:5px}.saved-operation-row code,.saved-operation-reference{overflow-wrap:anywhere;font-size:.82rem}.saved-operation-detail{display:grid;gap:12px}.saved-operation-detail h3,.saved-operation-detail h4,.saved-operation-detail p{margin:0}.saved-operation-result{display:flex;align-items:baseline;justify-content:space-between;gap:18px;min-width:0}.saved-operation-result strong{overflow-wrap:anywhere}.saved-operation-limit{font-size:.85rem;line-height:1.55}@media(max-width:640px){.saved-operation-row{grid-template-columns:minmax(0,1fr) auto}.saved-operation-row code{grid-column:1/-1;grid-row:2}.saved-operation-result{flex-wrap:wrap}}
.sale-refund-fields{border:0;margin:0;padding:0;min-width:0;display:grid;gap:16px}.refund-preview{display:grid;gap:8px}.refund-breakdown{display:grid}.refund-breakdown>.row{gap:18px;align-items:baseline}.refund-breakdown strong{white-space:nowrap}.refund-preview p{margin:0}
.sector-body-zones{display:flex;flex-wrap:wrap;gap:5px}
.sector-body-zones button.active{background:#244662;color:#fff}
.sector-range{display:flex;align-items:center;gap:12px}.sector-range input{flex:1}.sector-range output{min-width:2ch;font-weight:800;color:#244662}
@media(max-width:760px){.sector-app .screen-title{align-items:flex-start}.sector-header-actions{width:100%}.sector-header-actions>button{flex:1;justify-content:center}.sector-list-button{padding:12px}.sector-list-button b{font-size:13px}.sector-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.ecosystem-product.joredu,.ecosystem-product.cobra,.ecosystem-product.veni{grid-template-columns:88px minmax(0,1fr)}.ecosystem-logo.joredu-logo,.ecosystem-logo.veni-logo{width:88px;max-height:22px}.commerce-card.joredu,.commerce-card.cobrabien,.commerce-card.veni{grid-template-columns:90px minmax(0,1fr)}.commerce-card.joredu>.tool-logo.joredu-logo,.commerce-card.cobrabien>.tool-logo.joredu-logo,.commerce-card.veni>.tool-logo.veni-logo{width:90px;max-height:24px}}

/* One explicit cross-product permission; uses the existing professional type. */
.veni-health-authorization{width:min(100%,680px);margin:auto}.veni-health-authorization .joredu-logo{max-width:180px;height:auto}.veni-health-authorization dl{display:grid;gap:8px;padding:18px 0;border-block:1px solid var(--line,#dce2e8)}.veni-health-authorization dt{font-size:.85rem;color:var(--muted,#607084)}.veni-health-authorization dd{margin:0 0 8px;overflow-wrap:anywhere}.veni-health-authorization .modal-footer{flex-wrap:wrap}.veni-health-authorization .card{margin-block:16px}
.veni-health-authorization .joredu-logo{display:block;margin-bottom:22px}.veni-health-authorization .eyebrow{display:block}.veni-health-authorization label{display:grid;gap:10px;font-weight:500}.veni-health-authorization select{width:100%;min-height:48px;padding:12px;border:1px solid #cbd5e1;border-radius:12px;background:#fff;color:#152c42;font:inherit}.veni-health-authorization form{display:grid;gap:20px}.veni-health-authorization .modal-footer{margin-top:0}.veni-health-authorization .modal-footer button{white-space:normal}

.stock-command-fields{border:0;padding:0;margin:0;min-width:0;display:grid;gap:16px}.stock-saved-result{display:grid;gap:8px;padding:12px 0}.stock-saved-result h4{margin:0}
.workshop-form-fields{border:0;padding:0;margin:0;min-width:0;display:grid;gap:16px}
.workshop-detail .row-main b,.workshop-detail .row-main small{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
.workshop-detail .row>button{flex:0 0 auto;white-space:nowrap}
.workshop-history{margin:8px 0 0;padding-left:24px}.workshop-history li{padding:12px 0;border-bottom:1px solid #edf1f6}.workshop-history li:last-child{border-bottom:0}.workshop-history p{margin:6px 0;white-space:pre-wrap;overflow-wrap:anywhere}.workshop-history small{display:block;color:#7c899e;margin-top:4px;overflow-wrap:anywhere}
.stocktake-product-field,.purchase-selection-field{display:grid;gap:7px;min-width:0}.stocktake-selected-product,.purchase-selected-value{display:block;color:#64748b;font-size:12px;font-weight:600;line-height:1.45;white-space:normal;overflow-wrap:anywhere}
@media(max-width:760px){.store-receivables>.row,.sale-refund-fields .list>.row{align-items:stretch;flex-direction:column}.store-receivables .line-actions{justify-content:space-between;align-items:center}.sale-refund-fields .refund-quantity,.sale-refund-fields .refund-quantity input{width:100%}.store-receivables .row-main b,.store-receivables .row-main small,.sale-refund-fields .row-main b,.sale-refund-fields .row-main small,.stocktake-history .row-main b,.stocktake-history .row-main small,.report-breakdown .row-main b{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}}

.purchase-change-result{display:grid;grid-template-columns:minmax(0,1fr);gap:6px}.purchase-change-result>span{white-space:normal;overflow-wrap:anywhere}
@media(max-width:760px){.purchase-detail-lines .row-main b{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}}
.import-result-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0}.import-result-counts>div{border-block-end:1px solid var(--joredu-line);padding:12px 0}.import-result-counts dt{font-size:.85rem;line-height:1.45}.import-result-counts dd{margin:8px 0 0;font-size:1.5rem;font-weight:600;font-variant-numeric:tabular-nums}.import-result-rows summary{cursor:pointer;font-weight:600;padding:12px 0}.import-result-rows li{margin-block:8px;overflow-wrap:anywhere}@media(max-width:480px){.import-result-counts{grid-template-columns:minmax(0,1fr)}.import-result-counts>div{display:flex;justify-content:space-between;align-items:baseline;gap:16px}.import-result-counts dd{margin:0}}

.floor-plan-table-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.floor-plan-table-actions>button{min-height:44px}@media(max-width:760px){.floor-plan-table-actions{width:100%}.floor-plan-table-actions>button{flex:1;min-height:48px}}

/* Joredu: a clear blue identity, local typography and quiet operational surfaces. */
:root{--joredu-blue:#255f9d;--joredu-blue-deep:#1d4f85;--joredu-navy:#142d49;--joredu-slate:#52677e;--joredu-cloud:#f3f6f9;--joredu-line:#d9e3ed;color:var(--joredu-navy);background:var(--joredu-cloud)}
body{background:var(--joredu-cloud)}
.brand-panel{border-color:#25496f;background:var(--joredu-navy);box-shadow:none}
.brand-panel p,.ecosystem-product-copy small{color:#d5e5f2}
.sidebar{background:var(--joredu-navy);border-right-color:#315a7c;box-shadow:none}
.nav-button{color:#d4e4f3}.nav-button:hover{background:#285278;color:#fff}.nav-button.active{color:#fff;background:var(--joredu-blue);box-shadow:inset 3px 0 0 #a9cbea}
.primary{background:var(--joredu-blue);box-shadow:none}.primary:hover:not(:disabled){background:var(--joredu-blue-deep);box-shadow:none;transform:none}
.secondary{color:#244e77;background:#eaf3fc;border-color:#c9ddef}
.chip.active{background:#eaf3fc;color:var(--joredu-blue-deep);border-color:#b7d4ed}
.notice{background:#edf4fb;color:#294a67}
.user-button{background:#1c486f;border-color:#48749a}.avatar{background:#2b69a0}
.auth-card,.panel,.modal-card{box-shadow:0 8px 28px #17446b09}
.field input:focus,.field select:focus,.field textarea:focus{box-shadow:0 0 0 3px #2b70b21f}
.bottom-nav .nav-button.active{color:var(--joredu-blue-deep);background:#eaf3fc;box-shadow:inset 0 0 0 1px #c8dff0}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:#467eaf}
@media screen{
 .auth-page{min-height:100dvh;padding:40px 24px}
 .auth-page .auth-shell{width:min(1220px,100%);grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);gap:0;align-items:stretch;background:#fff;border:1px solid var(--joredu-line);border-radius:18px;overflow:hidden;box-shadow:0 16px 48px #142d4910}
 .auth-page .brand-panel.public-entry{display:flex;flex-direction:column;align-items:flex-start;padding:48px;border:0;border-radius:0;background:var(--joredu-navy);box-shadow:none}
 .auth-page .public-entry .brand-logo{width:170px}
 .auth-page .public-entry>.joredu{margin-top:44px;color:#afcde8;font-size:11px;letter-spacing:.13em}
 .auth-page .public-entry h1{max-width:510px;font-size:clamp(38px,4.2vw,56px);line-height:1.08;letter-spacing:-.045em;margin:18px 0 24px}
 .auth-page .public-entry>p{font-size:16px;line-height:1.7;margin:0;max-width:470px}
 .auth-page .public-ecosystem{width:100%;margin-top:auto;padding-top:32px;border-top:1px solid #ffffff26}
 .auth-page .public-ecosystem-title{font-size:11px;font-weight:600;letter-spacing:.1em;color:#afcde8}
 .auth-page .public-ecosystem>p{font-size:14px;line-height:1.65;margin:0 0 8px}
 .auth-page .public-commerce-button{min-height:44px;border-color:#a9cbea;background:transparent;color:#f2f7fc;border-radius:8px;box-shadow:none}
 .auth-page .public-commerce-button:hover{background:#ffffff12;border-color:#fff;transform:none}
 .auth-page .auth-card{display:flex;flex-direction:column;justify-content:center;padding:40px;border:0;border-radius:0;background:#fff;backdrop-filter:none;box-shadow:none}
 .auth-page .auth-card>.locale-control{margin:0 0 22px}
 .auth-page .auth-card h2{font-size:30px;line-height:1.2;letter-spacing:-.035em;margin:12px 0}
 .auth-page .auth-card>.muted{font-size:14px;line-height:1.65;margin:0 0 10px}
 .auth-page .access-mode-switch{padding:4px;gap:4px;border-radius:9px;margin:16px 0 4px;background:#f1f5f9}
 .auth-page .access-mode-switch button{min-height:44px;border-radius:6px;font-weight:500}
 .auth-page .field{font-size:14px;font-weight:500}
 .auth-page .field input{border-radius:8px;min-height:48px;font-size:16px}
 .auth-page .primary,.auth-page .secondary{min-height:46px;border-radius:8px;font-weight:600}
 .auth-page .auth-mobile-brand{display:none}
 .auth-page .ecosystem-hint{margin-top:24px;border-top:1px solid var(--joredu-line);padding-top:18px}
 .auth-page .auth-explore-copy{font-size:13px;line-height:1.6}
 .auth-page .text-link{font-size:14px;text-underline-offset:4px;min-height:40px}
}
@media screen and (min-width:761px) and (max-width:1000px){
 .auth-page{padding:24px 18px}.auth-page .brand-panel.public-entry{padding:36px 30px}.auth-page .auth-card{padding:32px 28px}.auth-page .public-entry>.joredu{margin-top:36px}.auth-page .public-entry h1{font-size:40px}
}
@media screen and (max-width:760px){
 .auth-page{display:block;padding:0 0 28px;background:#fff}.auth-page .auth-shell{display:block;width:100%;border:0;border-radius:0;box-shadow:none;overflow:visible}
 .auth-page .brand-panel.public-entry{display:block;margin:0;padding:26px 24px 28px;border-radius:0;border:0;border-bottom:4px solid #4a87bc}
 .auth-page .public-entry .brand-logo{width:132px}.auth-page .public-entry>.joredu{display:block;margin-top:26px;font-size:10px;letter-spacing:.12em}
 .auth-page .public-entry h1{max-width:420px;font-size:32px;line-height:1.13;letter-spacing:-.035em;margin:12px 0 0}
 .auth-page .public-entry>p,.auth-page .public-ecosystem{display:none}
 .auth-page .auth-card{margin:0;padding:26px 24px 0}.auth-page .auth-card>.locale-control{margin-bottom:18px}.auth-page .auth-card h2{font-size:27px}.auth-page .auth-card>.muted{font-size:14px}.auth-page .link-row{align-items:stretch;gap:4px}.auth-page .link-row .text-link{min-height:44px;justify-content:flex-start;text-align:left}
}
@media(prefers-reduced-motion:reduce){.ecosystem-product,.tool-mini-card,.primary,.secondary,.nav-button{transition:none!important}}

.health-waiting-list{display:grid;gap:8px}
.health-waiting-row{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;padding:14px 16px;text-align:left;border:1px solid #d7e2ef;border-radius:16px;background:#fff;color:#203a57}
.health-waiting-row:hover,.health-waiting-row:focus-visible{border-color:#669bc9;background:#f5f9fe}
.health-waiting-row>span:first-child{display:grid;gap:3px}
.health-waiting-row small{color:#58718c;font-size:12px}
.health-previsit-badge{padding:5px 9px;border:1px solid #b9d9d0;border-radius:999px;background:#eaf8f3;color:#176a55;font-size:11px;font-weight:800;white-space:nowrap}
.health-patient-reported{border:1px solid #d5e2e8;border-radius:14px;background:#f6fafb;padding:20px}.health-reported-context{display:block;color:#5b7182;line-height:1.5;margin-bottom:18px}.health-reported-block{padding:12px 0;border-top:1px solid #dce6ec}.health-reported-block strong{font-size:13px;color:#42667e;font-weight:500}.health-reported-block p{white-space:pre-wrap;line-height:1.6;margin:7px 0}.health-reported-block li{line-height:1.7}
.health-patient-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:19px 21px;border:1px solid #c8d9ed;border-radius:20px;background:linear-gradient(130deg,#f8fbff,#eaf3fc);color:#173651}
.health-patient-banner h3{margin:4px 0;font-size:23px;letter-spacing:-.04em}
.health-patient-banner p{margin:0;color:#4a647e}
.health-patient-banner small{font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:#5b7893}
.health-care,.health-history,.health-form{display:grid;gap:16px}
.health-care>section,.health-history-entry{padding:16px;border:1px solid #e0e9f1;border-radius:17px;background:#fff}
.health-care h4,.health-atlas h4{margin:0 0 9px;color:#213f5f}
.health-care p,.health-history p{margin:7px 0;line-height:1.55;white-space:pre-wrap}
.health-care ul{margin:8px 0;padding-left:22px}
.health-history-date,.health-zone-editor-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.health-history-date{margin-bottom:8px;font-size:12px;font-weight:800;color:#5d738a}
.health-document-list{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}
.health-atlas{display:grid;gap:16px;padding:18px;border:1px solid #d6e3f0;border-radius:20px;background:#f8fbff}
.health-atlas h3{margin:0;color:#173651;font-size:19px}
.health-atlas-views{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.health-atlas-view{display:grid;justify-items:center;gap:7px;padding:13px;border:1px solid #dce7f1;border-radius:17px;background:#fff}
.health-atlas-view h4{margin:0}
.health-atlas-view small{text-align:center}
.health-atlas-figure{position:relative;width:min(100%,210px);height:380px}
.health-atlas-silhouette{position:absolute;inset:0;filter:drop-shadow(0 9px 10px #35587518)}
.health-atlas-silhouette span{position:absolute;display:block;background:#d9e7ef;border:2px solid #7293a9}
.health-atlas-silhouette .atlas-head{left:38%;top:1%;width:24%;height:15%;border-radius:46% 46% 42% 42%}
.health-atlas-silhouette .atlas-neck{left:44%;top:15%;width:12%;height:6%;border-radius:5px}
.health-atlas-silhouette .atlas-torso{left:28%;top:20%;width:44%;height:35%;border-radius:30% 30% 26% 26%;background:linear-gradient(90deg,#e9f2f7,#d5e5ee 50%,#e9f2f7)}
.health-atlas-silhouette .atlas-arm{top:22%;width:13%;height:43%;border-radius:45% 45% 34% 34%}
.health-atlas-silhouette .atlas-arm.left{left:12%;transform:rotate(12deg)}
.health-atlas-silhouette .atlas-arm.right{right:12%;transform:rotate(-12deg)}
.health-atlas-silhouette .atlas-leg{top:54%;width:18%;height:42%;border-radius:18% 18% 26% 26%}
.health-atlas-silhouette .atlas-leg.left{left:29%;transform:rotate(3deg)}
.health-atlas-silhouette .atlas-leg.right{right:29%;transform:rotate(-3deg)}
.health-atlas-figure.back .health-atlas-silhouette .atlas-torso{background:linear-gradient(90deg,#e5f0f6,#cadfe9 50%,#e5f0f6)}
.health-zone-pin{position:absolute;z-index:2;transform:translate(-50%,-50%);width:17px;height:17px;min-width:17px;min-height:17px;padding:0;border:2px solid #356b92;border-radius:50%;background:#fff;box-shadow:0 2px 6px #15415b40}
.health-zone-pin:hover,.health-zone-pin:focus-visible{width:23px;height:23px;min-width:23px;min-height:23px;background:#d7ecff;outline:2px solid #396b9c;outline-offset:1px}
.health-zone-pin[aria-pressed=true]{border-color:#fff;background:#235f9b;box-shadow:0 0 0 4px #235f9b55}
.health-atlas-picker{display:flex;gap:8px}.health-atlas-picker select{flex:1;min-width:0}
.health-atlas-editor{display:grid;gap:9px}
.health-zone-editor{display:grid;gap:12px;padding:13px;border:1px solid #d9e6f1;border-radius:14px;background:#fff}
.health-zone-editor .field{font-size:12px}.health-zone-editor .field input[type=range]{padding:0;min-height:34px;accent-color:#235f9b}
.health-intake-review{padding:15px;border:1px solid #b7d4e9;border-radius:15px;background:#eef7ff}
.health-intake-review[hidden]{display:none}
.health-certificate-context{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 12px;padding:15px;border-radius:15px;background:#f5f9fc}
.health-certificate-context p{margin:0;font-size:13px;overflow-wrap:anywhere}
.health-certificate-preview{padding:22px;border:1px solid #cbd8e4;border-radius:12px;background:#fff;color:#1b2b3b;box-shadow:0 8px 24px #1639570c}
.health-certificate-preview h3{margin:12px 0 20px;border-bottom:2px solid #254e70;padding-bottom:9px}
.health-certificate-preview pre{min-height:90px;white-space:pre-wrap;font:inherit;line-height:1.6}
.health-access-panel,.health-access-list{display:grid;gap:10px}
.health-access-panel>.secondary{justify-self:start}
.health-access-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border:1px solid #dbe6ef;border-radius:14px;background:#fff}
.health-checkin-entry{display:flex;align-items:center;justify-content:center;text-align:center;margin-top:14px;text-decoration:none}
.health-pain-control{display:grid;gap:10px}.health-pain-faces{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.health-pain-face{display:grid;justify-items:center;gap:2px;min-height:58px;padding:5px;border:1px solid #bdd2e3;border-radius:12px;background:#fff;color:#244663;cursor:pointer;font-size:24px}.health-pain-face small{font-size:11px;font-weight:800}.health-pain-face.selected,.health-pain-face[aria-pressed=true]{border-color:#205b91;background:#e6f2fd;box-shadow:0 0 0 2px #205b9133}.health-pain-face:focus-visible{outline:3px solid #3b82b7;outline-offset:2px}
.health-access-row>div:first-child{display:grid;gap:5px}
.health-access-row small{color:#687e92;line-height:1.4}
.health-access-row .sector-actions{padding:0;border:0}
@media(max-width:760px){.health-atlas-views{grid-template-columns:1fr}.health-atlas-figure{height:340px}.health-patient-banner{align-items:flex-start;flex-direction:column}.health-certificate-context{grid-template-columns:1fr}.health-atlas-picker{flex-direction:column}}
@media(max-width:760px){.health-access-row{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){.health-waiting-row,.health-zone-pin{transition:none}}
@media(max-width:760px){
  .sidebar-toggle{display:inline-flex}
  .app-shell>.sidebar,.app-shell.sidebar-hidden>.sidebar{display:none}
  .app-shell.mobile-sidebar-open>.sidebar,.app-shell.sidebar-hidden.mobile-sidebar-open>.sidebar{display:flex;position:fixed;z-index:52;top:0;left:0;width:min(82vw,320px);height:100dvh;overflow:auto;box-shadow:16px 0 45px #102c4c45}
  .mobile-sidebar-backdrop{position:fixed;z-index:51;inset:0;width:100%;height:100%;border:0;border-radius:0;background:#0e264988}
  .app-shell.mobile-sidebar-open .bottom-nav{z-index:50}
}
@media(min-width:761px){.mobile-sidebar-backdrop{display:none}}

.health-draft-review{white-space:pre-wrap;overflow-wrap:anywhere;max-height:55vh;overflow:auto}.health-local-drafts .row{flex-wrap:wrap;gap:12px}

.health-cie10-search{box-sizing:border-box;min-width:0;max-width:100%;border:1px solid var(--border,#d8dfe5);border-radius:12px;padding:16px;overflow-wrap:anywhere}.health-cie10-search[hidden]{display:none}.health-cie10-search .sector-list{min-width:0;max-height:320px;overflow:auto}.health-cie10-search a{overflow-wrap:anywhere}.health-cie10-search .row{min-width:0;gap:12px;align-items:flex-start;flex-wrap:wrap}.health-cie10-search .row-main{flex:1 1 180px;min-width:0}.health-cie10-search .row-main small{white-space:normal;overflow:visible;text-overflow:clip}
.health-intake-fields,.health-booking-fields,.health-agenda-fields{display:grid;gap:16px;min-width:0;margin:0;padding:0;border:0}.health-intake-status:empty,.health-booking-status:empty,.health-agenda-status:empty{display:none}.health-intake-status,.health-booking-status,.health-agenda-status{color:#245b85;line-height:1.5}

.health-qr-panel{text-align:center;display:grid;gap:18px;justify-items:center}.health-appointment-qr{background:#fff;padding:8px;width:min(100%,280px)}.health-appointment-qr svg{width:100%;height:auto;display:block}.health-qr-panel code{overflow-wrap:anywhere;user-select:all;font-size:14px}

.health-demo-banner{margin:0;padding:12px 20px;background:#fff2d2;color:#593f09;border-bottom:1px solid #e2c578;font:600 15px/1.45 "IBM Plex Sans",sans-serif;text-align:center}.health-demo-banner+.app-shell{min-height:calc(100vh - 48px)}
.health-document-details{display:grid;gap:22px;min-width:0}.health-document-details section{margin:0}.health-document-details h3{margin:0 0 14px;font-size:17px}.health-document-details h4{font-size:13px;margin:14px 0 6px;color:#59677a}.health-document-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;margin:0}.health-document-facts>div{min-width:0}.health-document-facts dt{font-size:12px;color:#59677a;margin:0 0 4px}.health-document-facts dd{font-size:14px;line-height:1.6;margin:0;overflow-wrap:anywhere}.health-document-overview{padding:18px;background:#f3f7fa;border-left:3px solid #245b7a}.health-document-body p{font-size:15px;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.health-document-disclosure{border-top:1px solid #dce3eb;padding-top:16px}.health-document-disclosure summary{font-size:14px;font-weight:600;cursor:pointer;padding:4px 0}.health-document-disclosure .health-document-facts{margin-top:16px}.health-document-disclosure summary:focus-visible{outline:2px solid #245b7a;outline-offset:4px}@media(max-width:460px){.health-document-facts{grid-template-columns:1fr;gap:14px}.health-document-overview{padding:14px}}
.health-privacy-request .row-main{min-width:0}.health-privacy-request .row-main p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}.health-privacy-tracking{display:grid;gap:24px}.health-privacy-tracking h3{font-size:17px;margin:0 0 12px}.health-privacy-tracking p{white-space:pre-wrap;line-height:1.65;overflow-wrap:anywhere}.health-privacy-timeline{list-style:none;margin:0;padding:0 0 0 18px;border-left:2px solid #dce3eb;display:grid;gap:24px}.health-privacy-timeline li{position:relative;min-width:0}.health-privacy-timeline li::before{content:'';position:absolute;left:-24px;top:5px;width:10px;height:10px;border:2px solid #fff;border-radius:50%;background:#245b7a}.health-privacy-timeline small{display:block;margin-top:4px;color:#59677a}.health-privacy-timeline details{font-size:13px;color:#59677a}.health-log-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.health-log-list{display:grid;gap:6px}.health-log-list .row{margin:0;padding:12px 0;border-bottom:1px solid #dce3eb}.health-log-pager{display:flex;justify-content:space-between;gap:14px}@media(max-width:460px){.health-log-filters{grid-template-columns:1fr}.health-privacy-request{align-items:stretch;flex-direction:column}.health-privacy-request .sector-actions{width:100%}.health-privacy-request .sector-actions button{flex:1}}
.health-version-facts{margin-top:20px;padding-top:20px;border-top:1px solid #dce3eb}.health-version-facts dd{white-space:pre-wrap}
.health-access-scope-review{border-left:3px solid #245b7a;background:#f3f7fa;padding:18px;min-width:0}.health-access-scope-review:empty{display:none}.health-access-scope-review h3{font-size:15px;margin:0 0 10px}.health-access-scope-review ul{margin:0;padding-left:20px}.health-access-scope-review li,.health-access-scope-review p{overflow-wrap:anywhere;line-height:1.6}.health-access-options{min-width:0;border:1px solid #dce3eb;padding:16px;margin:0}.health-access-options legend{font-weight:600;padding:0 6px}.health-access-options .field,.health-access-confirmation{display:flex;flex-direction:row-reverse;align-items:flex-start;justify-content:flex-end;gap:12px}.health-access-options .field span,.health-access-confirmation span{flex:1;line-height:1.6;overflow-wrap:anywhere}.health-access-options input[type=checkbox],.health-access-confirmation input{flex:none;width:20px;height:20px;margin-top:3px}.health-access-document-preview summary{font-weight:600;cursor:pointer;padding:8px 0}.health-access-document-preview pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:35vh;overflow:auto;font:inherit;line-height:1.7;padding:16px;background:#f5f7f9}.health-access-document-preview summary:focus-visible{outline:2px solid #245b7a;outline-offset:4px}

/* Patient notice keeps reading typography and a comfortable optional-choice target. */
.health-privacy-notice{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;line-height:1.65}
.health-privacy-choice{display:flex;flex-direction:row-reverse;justify-content:flex-end;align-items:flex-start;gap:12px;padding:14px 16px;border:1px solid var(--line,#dce4ea);border-radius:12px;min-height:48px;cursor:pointer}
.health-privacy-choice input[type=checkbox]{flex:0 0 22px;width:22px;height:22px;min-height:22px;margin:2px 0 0}

.health-history-copy-entry{border-top:1px solid var(--line,#dce4ea);padding:20px 0}.health-copy-value{font:inherit;white-space:pre-wrap;overflow-wrap:anywhere}.health-copy-confidential{font-size:12px;letter-spacing:.12em}.health-history-copy-content .health-document-facts>div{min-width:0}

.sector-wordmark{display:flex;flex-direction:column;align-items:flex-start;gap:7px}.sector-brand-descriptor{color:inherit;font-size:14px;font-weight:500;line-height:1.25;letter-spacing:.02em}.sidebar .sector-brand-descriptor{color:#fff}.brand-panel .sector-brand-descriptor{color:#fff}

.gym-app{--gym-ink:#22242a;--gym-line:#dbdde1;--gym-soft:#f5f5f4;gap:20px}
.gym-app .eyebrow{color:#60636b}
.gym-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.gym-stack{display:grid;gap:12px;min-width:0}
.gym-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border:1px solid var(--gym-line);border-radius:14px;background:#fff}
.gym-row[hidden]{display:none}
.gym-row-copy{display:grid;gap:4px;min-width:0}
.gym-row-copy strong{font-size:14px;color:var(--gym-ink)}
.gym-row-copy small{font-size:12px;color:#666b73;line-height:1.45}
.gym-row-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.gym-row-actions[hidden]{display:none}
.gym-detail{display:grid;gap:14px;max-height:70vh;overflow:auto}
.gym-class-card{border-color:var(--gym-line)}
.gym-app .panel{border-color:var(--gym-line)}
.gym-app .sector-tab.active{background:#282a2e;color:#fff;border-color:#282a2e}
.gym-checkin-mode:has(.gym-app) .app-shell{display:block}
.gym-checkin-mode:has(.gym-app) .sidebar,.gym-checkin-mode:has(.gym-app) .topbar{display:none!important}
.gym-checkin-mode:has(.gym-app) .main-content,.gym-checkin-mode:has(.gym-app) main{max-width:none!important;width:100%!important;padding:24px!important}
.gym-checkin-mode:has(.gym-app) .gym-app .sector-tabs{display:none}
.gym-checkin-mode:has(.gym-app) .gym-app .screen-title h2{font-size:clamp(2rem,5vw,4rem)}
@media(max-width:1000px){.gym-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.gym-metrics{grid-template-columns:1fr}.gym-row{align-items:flex-start;flex-direction:column}.gym-row-actions{width:100%}.gym-row-actions button{min-height:42px}}
@media(prefers-reduced-motion:reduce){.gym-app *{transition:none!important;animation:none!important}}

.salon-app { max-width: 1320px; margin-inline: auto; }
.salon-app .sector-tabs { overflow-x: auto; scrollbar-width: thin; }
.salon-app .sector-header-actions { display: flex; flex-wrap: wrap; gap: .55rem; }
.salon-filters { display: flex; flex-wrap: wrap; gap: 1rem; align-items: end; padding: 1rem; border: 1px solid #e3e4e6; background: #fff; border-radius: 18px; }
.salon-filters .field { min-width: min(260px, 100%); flex: 1; }
.salon-list { display: grid; gap: .6rem; }
.salon-row { display: grid; gap: .25rem; width: 100%; padding: .9rem 1rem; border: 1px solid #e5e6e8; border-radius: 14px; color: #111317; background: #fff; text-align: left; }
.salon-row small, .salon-row span { color: #555b62; }
.salon-click { cursor: pointer; transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.salon-click:hover { transform: translateY(-2px); border-color: #999da2; box-shadow: 0 8px 22px #11131711; }
.salon-click:focus-visible { outline: 3px solid #494d54; outline-offset: 2px; }
.salon-service-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; padding: .75rem; border: 1px solid #e5e6e8; border-radius: 14px; }
.salon-service-rows { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; }
.internal-form-fields > .salon-service-rows, .internal-form-fields > .salon-availability { grid-column: 1 / -1; }
.salon-detail { display: grid; gap: 1rem; }
.salon-detail .sector-actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.salon-row .sector-actions { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .5rem; }
.salon-policy-values { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(240px,100%),1fr)); gap: 1rem 2rem; margin: 0; }
.salon-policy-values > div { border-bottom: 1px solid #e3e4e6; padding-block: .75rem; min-width: 0; }
.salon-policy-values dt { color: #555b62; font-size: .85rem; }
.salon-policy-values dd { margin: .5rem 0 0; font-weight: 650; overflow-wrap: anywhere; }
.salon-payment-values { display: flex; flex-wrap: wrap; gap: 1.5rem 3rem; margin: 0; }
.salon-payment-values dt { color: #555b62; font-size: .85rem; }
.salon-payment-values dd { margin: .4rem 0 0; font-size: 1.2rem; font-weight: 650; }
.salon-setup-list { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(210px,100%),1fr)); gap: 1rem; padding: 0; margin: 0; list-style: none; }
.salon-setup-list li { display: flex; flex-direction: column; align-items: start; border-left: 2px solid #ccd7df; padding: .25rem 1rem; gap: .6rem; }
.salon-setup-list h3, .salon-setup-list p { margin: 0; }
.salon-setup-list p { color: #555b62; flex: 1; }
.salon-availability { display: grid; gap: .5rem; }
.salon-slot-list { display: flex; flex-wrap: wrap; gap: .4rem; max-height: 180px; overflow: auto; }
.salon-slot-list .active { outline: 2px solid #111317; }
.salon-commission-line { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 1fr); gap: 1rem; padding: 1rem; border-bottom: 1px solid #e3e4e6; }
.salon-commission-context { display: grid; gap: .35rem; min-width: 0; overflow-wrap: anywhere; }
.salon-commission-context small { color: #555b62; }
.salon-commission-values { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; margin: 0; align-items: center; }
.salon-commission-values dt { font-size: .78rem; color: #555b62; }
.salon-commission-values dd { margin: .3rem 0 0; font-weight: 650; overflow-wrap: anywhere; }
@media (max-width: 900px) { .salon-commission-line { grid-template-columns: minmax(0,1fr); } }
@media (max-width: 640px) { .salon-service-row { grid-template-columns: 1fr; } .salon-filters { display: grid; } }
@media (max-width: 760px) { .salon-service-rows { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .salon-click { transition: none; } .salon-click:hover { transform: none; } }

.hotel-app { --hotel-ink:#20242b; --hotel-line:#d9dce2; --hotel-wash:#f4f5f7; color:var(--hotel-ink); }
.hotel-app .screen-title { align-items:flex-start; }
.hotel-search { display:flex; flex-wrap:wrap; gap:.8rem; align-items:end; }
.hotel-search .field { min-width:10rem; flex:1; }
.hotel-metrics { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:.7rem; }
.hotel-metrics>div { border:1px solid var(--hotel-line); border-radius:14px; padding:1rem; background:#fff; display:flex; flex-direction:column; gap:.25rem; font-size:.83rem; }
.hotel-metrics b { display:block; font-size:1.65rem; line-height:1; }
.hotel-calendar-scroll { overflow-x:auto; overscroll-behavior-inline:contain; }
.hotel-calendar { border-collapse:separate; border-spacing:2px; min-width:100%; table-layout:fixed; }
.hotel-calendar th,.hotel-calendar td { min-width:92px; padding:0; text-align:left; vertical-align:top; }
.hotel-calendar thead th { padding:.4rem .2rem; font-size:.75rem; font-weight:650; }
.hotel-calendar tbody th { position:sticky; left:0; z-index:1; min-width:105px; padding:.45rem; border-radius:8px; background:#fff; box-shadow:1px 0 0 var(--hotel-line); }
.hotel-calendar tbody th small { display:block; font-weight:400; opacity:.7; }
.hotel-cell button { width:100%; min-height:48px; padding:.4rem; border:1px solid transparent; border-radius:8px; font:inherit; font-size:.72rem; text-align:left; color:inherit; overflow:hidden; text-overflow:ellipsis; cursor:pointer; }
.hotel-cell.free button { background:var(--hotel-wash); }
.hotel-cell.booked button { background:#dce3ef; border-color:#b4c3db; }
.hotel-cell.blocked button { background:#ebe5e0; border-color:#d5c6ba; }
.hotel-cell.dirty button { background:#f1e7da; border-color:#dfc9ad; }
.hotel-cell button:hover,.hotel-cell button:focus-visible { outline:2px solid var(--hotel-ink); outline-offset:1px; }
.hotel-list { display:grid; gap:.45rem; }
.hotel-row { width:100%; display:flex; gap:.7rem; align-items:center; justify-content:space-between; border:1px solid var(--hotel-line); border-radius:12px; background:#fff; color:inherit; padding:.8rem; text-align:left; font:inherit; }
button.hotel-row { cursor:pointer; }
button.hotel-row:hover,button.hotel-row:focus-visible { border-color:#7c8594; outline:2px solid transparent; }
.hotel-row small { display:block; opacity:.7; margin-top:.2rem; }
.hotel-room-card { border:1px solid var(--hotel-line); border-radius:13px; padding:.9rem; display:grid; gap:.5rem; align-content:start; background:#fff; }
.hotel-room-card small { display:block; opacity:.7; }
.hotel-cards { display:grid; grid-template-columns:repeat(auto-fill,minmax(195px,1fr)); gap:.65rem; }
.hotel-actions { display:flex; flex-wrap:wrap; gap:.4rem; }
.hotel-folio { display:grid; gap:.4rem; }
.hotel-folio>div { display:flex; justify-content:space-between; gap:1rem; padding:.4rem 0; border-bottom:1px solid var(--hotel-line); }
.hotel-folio .hotel-balance { font-size:1.1rem; border-bottom:0; }
.hotel-detail { display:grid; gap:.7rem; }
.hotel-keyline { display:flex; justify-content:space-between; gap:1rem; align-items:center; }
.app-shell.hotel-fullscreen { display:block; }
.app-shell.hotel-fullscreen .sidebar,.app-shell.hotel-fullscreen .topbar,.app-shell.hotel-fullscreen .bottom-nav { display:none; }
.app-shell.hotel-fullscreen .main { width:100%; max-width:none; min-height:100vh; padding:1rem; margin:0; }
@media(max-width:680px){ .hotel-calendar th,.hotel-calendar td { min-width:78px; } .hotel-row { align-items:flex-start; } }
@media(prefers-reduced-motion:no-preference){ .hotel-cell button,.hotel-row,.hotel-room-card { transition:border-color .15s ease,background-color .15s ease; } }
.hotel-form-fields { border:0; min-width:0; margin:0; padding:0; }

.laundry-app { --laundry-line:#d7d9dc; --laundry-ink:#17191d; color:var(--laundry-ink); }
.laundry-app:fullscreen { overflow:auto; padding:28px; background:#f8f8f7; }
.laundry-app .sector-tabs { position:sticky; top:0; z-index:3; background:#f8f8f7; }
.laundry-order { display:grid; gap:14px; }
.laundry-order-meta, .laundry-order-actions { display:flex; align-items:center; flex-wrap:wrap; gap:10px 18px; }
.laundry-garments, .laundry-lines, .laundry-select-list { display:grid; gap:10px; }
.laundry-garment { display:flex; align-items:center; flex-wrap:wrap; gap:8px 12px; padding:12px 0; border-top:1px solid var(--laundry-line); }
.laundry-garment > div:first-child { flex:1 1 230px; display:grid; gap:3px; }
.laundry-garment small { color:#60646b; }
.laundry-line { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; border:1px solid var(--laundry-line); border-radius:12px; padding:14px; background:#fff; }
.laundry-line > .field:nth-child(5), .laundry-line > .field:nth-child(6) { grid-column:1 / -1; }
.laundry-days { display:flex; flex-wrap:wrap; gap:12px; }
.laundry-days .field { width:auto; }
.laundry-weekdays { min-width:0; margin:0; padding:0; border:0; }
.laundry-weekdays legend { margin-bottom:8px; font-weight:600; }
.laundry-suggestion { display:block; font-weight:600; }
.laundry-line-price { grid-column:1 / -1; display:block; padding:10px 12px; border-radius:8px; background:#f5f6f5; font-size:13px; line-height:1.5; }
.laundry-intake-total { display:block; padding:12px 14px; border:1px solid var(--laundry-line,#d7d9dc); border-radius:10px; background:#fff; font-weight:700; }
.laundry-line > .laundry-remove-line { grid-column:1 / -1; justify-self:end; }
.laundry-line > .field[hidden] { display:none !important; }
.laundry-care { display:block; margin-top:6px; font-weight:600; overflow-wrap:anywhere; }
.laundry-app .sector-list-button:focus-visible, .laundry-app button:focus-visible { outline:3px solid #4e5259; outline-offset:2px; }
@media (max-width:640px) { .laundry-line { grid-template-columns:1fr; } .laundry-line > .field:nth-child(5), .laundry-line > .field:nth-child(6) { grid-column:auto; } }
@media (prefers-reduced-motion:reduce) { .laundry-app * { scroll-behavior:auto !important; animation-duration:0.01ms !important; } }

.vet-workspace{display:grid;gap:18px;color:#202326}
.vet-hero{display:flex;align-items:end;justify-content:space-between;gap:20px;padding:30px 34px;border:1px solid #d7d8d5;border-radius:25px;background:linear-gradient(125deg,#fff 0%,#f1f1ef 100%)}
.vet-hero.compact{padding:24px 28px}
.vet-hero h2{font-size:clamp(28px,3.5vw,44px);letter-spacing:-.055em;line-height:1.04;margin:10px 0 9px}
.vet-hero p{margin:0;color:#62676b;line-height:1.5}
.vet-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.vet-card{display:flex;align-items:center;justify-content:space-between;gap:14px;min-width:0;padding:16px 18px;border:1px solid #dedfdb;border-radius:17px;background:#fff}
.vet-card-copy{min-width:0;overflow-wrap:anywhere}
.vet-card strong{display:block;font-size:15px;line-height:1.4}
.vet-card p{margin:4px 0 0;color:#62676b;font-size:13px;line-height:1.45;white-space:pre-wrap}
.vet-metrics .vet-card{display:block;min-height:112px;background:#fff}
.vet-metrics .vet-card strong{font-size:13px;color:#62676b;font-weight:750}
.vet-metrics .vet-card p{margin-top:12px;font-size:28px;font-weight:850;line-height:1;color:#202326}
.vet-card-actions,.vet-actions{display:flex;flex-wrap:wrap;gap:7px}
.vet-card-actions{justify-content:flex-end;align-items:center}
.vet-card-actions button,.vet-actions button{white-space:normal}
.vet-stack{display:grid;gap:9px}
.vet-tabs{display:flex;gap:6px;padding:5px;border:1px solid #dcdedb;border-radius:15px;background:#eeefec;overflow:auto}
.vet-tabs button{flex:1;white-space:nowrap;min-width:max-content;padding:10px 15px;border:0;border-radius:11px;background:transparent;color:#5b5f62;font-size:13px;font-weight:800}
.vet-tabs button.active{background:#fff;color:#111317;box-shadow:0 2px 9px #11131714}
.vet-family-grid{display:grid;grid-template-columns:minmax(220px,285px) minmax(0,1fr);gap:16px;align-items:start}
.vet-pet-list{display:grid;gap:7px;max-height:620px;overflow:auto}
.vet-owner-list{display:grid;gap:12px;max-height:690px;overflow:auto}
.vet-owner-group{display:grid;gap:7px;padding-bottom:12px;border-bottom:1px solid #e5e6e2}
.vet-owner-group>small{color:#717578}
.vet-owner-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}
.vet-owner-heading strong{font-size:14px}
.vet-pet-button{display:grid;gap:3px;width:100%;padding:13px 15px;border:1px solid #e3e4e0;border-radius:12px;background:#fff;text-align:left;color:#202326}
.vet-pet-button.active,.vet-pet-button:hover{border-color:#9b9d99;background:#f6f6f4}
.vet-pet-button small{color:#666b6d}
.vet-pet-view{display:grid;gap:15px;min-width:0}
.vet-pet-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:24px;border:1px solid #d7d8d5;border-radius:21px;background:#fff}
.vet-pet-heading h3{font-size:31px;letter-spacing:-.05em;margin:6px 0}
.vet-pet-heading p{margin:0;color:#62676b}
.vet-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.vet-facts>div{display:grid;gap:4px;padding:13px;border:1px solid #e4e5e1;border-radius:12px;overflow-wrap:anywhere}
.vet-facts small{color:#6b7072;font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.06em}
.vet-facts strong{font-size:14px}
.vet-agenda-row{display:grid;grid-template-columns:140px minmax(100px,1fr) auto;gap:10px 16px;align-items:center;padding:15px;border:1px solid #dedfdb;border-radius:16px;background:#fff}
.vet-agenda-row .vet-card-actions{grid-column:2/4}
.vet-time{font-size:12px;font-weight:800;color:#5b5f62}
.vet-appointment-main{display:grid;gap:3px;min-width:0}
.vet-appointment-main small{color:#62676b;overflow-wrap:anywhere}
.vet-modal-content{display:grid;gap:15px}
.main:fullscreen{overflow:auto;background:#f8f8f7;padding:24px}
.vet-finance-total{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.vet-finance-total .vet-card{display:block}
.vet-finance-total .vet-card p{font-size:22px;font-weight:850;color:#202326}
@media(max-width:900px){.vet-metrics{grid-template-columns:repeat(2,1fr)}.vet-family-grid{grid-template-columns:1fr}.vet-pet-list{display:flex;max-height:none;overflow:auto}.vet-pet-button{min-width:160px}}
@media(max-width:600px){.vet-hero,.vet-hero.compact,.vet-pet-heading{padding:19px;align-items:start;flex-direction:column}.vet-metrics{grid-template-columns:repeat(2,1fr)}.vet-agenda-row{grid-template-columns:1fr auto}.vet-agenda-row .vet-time{grid-column:1/3}.vet-agenda-row .vet-card-actions{grid-column:1/3;justify-content:flex-start}.vet-facts{grid-template-columns:repeat(2,1fr)}.vet-finance-total{grid-template-columns:1fr}}
@media(prefers-reduced-motion:no-preference){.vet-card,.vet-pet-button{transition:border-color .16s ease,background-color .16s ease,transform .16s ease}.vet-pet-button:hover{transform:translateY(-1px)}}
.vet-client-home{display:grid;gap:28px;max-width:1440px;color:#202c38}.vet-client-welcome{display:flex;align-items:center;justify-content:space-between;gap:24px}.vet-client-welcome h2{font-size:clamp(25px,3vw,36px);line-height:1.15;margin:8px 0 12px;font-weight:600;letter-spacing:-.035em}.vet-client-welcome p:not(.eyebrow){margin:0;color:#596773;max-width:560px;line-height:1.6}.vet-client-welcome>.primary{flex:0 0 auto}.vet-client-overview{display:flex;flex-wrap:wrap;gap:24px 42px;margin:0;padding:20px 0;border-top:1px solid #dae2e7;border-bottom:1px solid #dae2e7}.vet-client-overview>div{display:grid;gap:6px}.vet-client-overview dt{font-size:13px;color:#52616f}.vet-client-overview dd{margin:0;font-size:24px;line-height:1.2;font-weight:600}.vet-client-columns{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:28px;align-items:start}.vet-client-care,.vet-client-pets{display:grid;gap:22px}.vet-client-home .panel{min-width:0;padding:24px;border:1px solid #dce4e9;border-radius:6px;background:#fff;box-shadow:none}.vet-client-home .panel>h3{margin:0 0 22px;font-size:19px;font-weight:600}.vet-client-home .vet-agenda-row{border-radius:4px;background:#f7f9fb;box-shadow:none}.vet-client-reminder,.vet-client-pet{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 0;border-top:1px solid #e1e7eb}.vet-client-reminder:first-child,.vet-client-pet:first-child{padding-top:0;border-top:0}.vet-client-reminder>div,.vet-client-pet>div{min-width:0}.vet-client-reminder h4,.vet-client-pet h4{font-size:17px;font-weight:600;margin:0 0 6px;overflow-wrap:anywhere}.vet-client-reminder p,.vet-client-pet p{color:#596773;line-height:1.5;font-size:14px;margin:0;overflow-wrap:anywhere}.vet-client-reminder time{display:block;margin-top:6px;font-size:13px;color:#465a6b}.vet-client-privacy{color:#596773;font-size:13px;line-height:1.6;margin:0}.vet-client-pet>button,.vet-client-reminder>button{flex:0 0 auto}
@media(max-width:1050px){.vet-client-columns{grid-template-columns:1fr}.vet-client-home{gap:24px}}@media(max-width:600px){.vet-client-welcome{align-items:start;flex-direction:column;gap:18px}.vet-client-overview{gap:20px 26px}.vet-client-home .panel{padding:18px}.vet-client-reminder,.vet-client-pet{align-items:start;flex-direction:column;gap:12px}.vet-client-reminder>button,.vet-client-pet>button{width:100%;justify-content:center}}
.vet-client-link-state{max-width:640px;border-top:1px solid #dae2e7;padding:28px 0}.vet-client-link-state h3{font-size:22px;font-weight:600;line-height:1.4;margin:0 0 14px}.vet-client-link-state p{margin:0;color:#465a6b;line-height:1.7}
.vet-signature-content{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;margin:0;line-height:1.6;max-width:100%}
.vet-signature-items{margin:0;display:grid;gap:8px}.vet-signature-items>div{display:grid;grid-template-columns:minmax(100px,35%) minmax(0,1fr);gap:12px}.vet-signature-items dt{font-weight:500}.vet-signature-items dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}

.vet-workspace .vet-appointment-main strong,.vet-workspace .vet-pet-button strong,.vet-workspace .vet-owner-heading>strong{min-width:0;overflow-wrap:anywhere}
.vet-workspace .vet-pet-heading>div:first-child{min-width:0;max-width:100%;overflow-wrap:anywhere}

/* Keep the operational heading and its authorized actions readable in narrow workspaces. */
@media screen{
 .app-shell .vet-workspace .vet-hero.compact{flex-direction:row;flex-wrap:wrap;align-items:flex-start;justify-content:flex-start;gap:16px}
 .app-shell .vet-workspace .vet-hero.compact>div:first-child{flex:1 1 100%;width:100%;min-width:0}
 .app-shell .vet-workspace .vet-hero.compact>button{flex:0 1 auto;min-width:min(130px,100%);max-width:100%;min-height:44px;justify-content:center;white-space:normal;overflow-wrap:normal;word-break:normal;line-height:1.4}
 .app-shell .vet-workspace .vet-hero.compact>.sector-header-actions{flex:1 1 320px;display:flex;flex-wrap:wrap;align-items:stretch;justify-content:flex-start;width:auto;min-width:0;max-width:100%;gap:8px}
 .app-shell .vet-workspace .vet-hero.compact>.sector-header-actions>button{flex:0 1 auto;min-width:min(140px,100%);max-width:100%;min-height:44px;justify-content:center;white-space:normal;overflow-wrap:normal;word-break:normal;hyphens:none;line-height:1.4}
}
@media screen and (max-width:1024px){
 .app-shell .vet-workspace button:is(.primary,.secondary,.ghost,.danger){min-height:44px}
 .app-shell .vet-workspace .vet-hero.compact>.sector-header-actions{flex:1 1 100%;width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .app-shell .vet-workspace .vet-hero.compact>.sector-header-actions>button{width:100%;min-width:0;min-height:44px;padding:10px 12px;font-size:14px}
 .app-shell .vet-workspace .vet-hero.compact>.sector-header-actions>button:last-child:nth-child(odd){grid-column:1/-1}
 /* The shared internal shell sets overflow:visible!important on all sector tabs. */
 .app-shell .vet-workspace .vet-tabs{flex-wrap:nowrap;width:100%;max-width:100%;min-width:0;overflow-x:auto!important;overflow-y:hidden!important;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#829bb1 #edf2f7;scroll-padding-inline:8px;padding:5px 5px 9px}
 .app-shell .vet-workspace .vet-tabs>button{flex:0 0 auto;min-width:max-content;min-height:44px;white-space:nowrap;overflow-wrap:normal;word-break:normal;font-size:14px}
 .app-shell .vet-workspace .vet-tabs>button:focus-visible{outline:2px solid var(--joredu-blue,#255f9d);outline-offset:-3px}
 .app-shell .vet-workspace .vet-tabs::-webkit-scrollbar{height:7px}
 .app-shell .vet-workspace .vet-tabs::-webkit-scrollbar-track{background:#edf2f7}
 .app-shell .vet-workspace .vet-tabs::-webkit-scrollbar-thumb{background:#829bb1;border-radius:7px}
}
@media screen and (max-width:380px){
 .app-shell .vet-workspace .vet-hero.compact>.sector-header-actions{grid-template-columns:minmax(0,1fr)}
}

.academy-app { --academy-ink:#17191d; --academy-soft:#f5f5f4; color:var(--academy-ink); }
.academy-app .screen-title { align-items:flex-start; }
.academy-app .sector-tabs { position:sticky; top:0; z-index:2; background:#fff; padding-block:8px; border-bottom:1px solid #e5e5e5; }
.academy-app .sector-tab { min-height:44px; }
.academy-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; align-items:start; }
.academy-columns .panel, .academy-app .panel { min-width:0; }
.academy-list { display:grid; gap:8px; }
.academy-row { width:100%; min-height:60px; display:flex; justify-content:space-between; align-items:center; gap:16px; padding:13px 16px; border:1px solid #e5e5e5; border-radius:12px; background:#fff; color:inherit; text-align:left; cursor:pointer; transition:background .15s ease,border-color .15s ease; }
.academy-row:hover,.academy-row:focus-visible { background:#f6f6f5; border-color:#a3a3a3; }
.academy-row-main { display:grid; gap:4px; min-width:0; }
.academy-row strong { font-size:15px; overflow-wrap:anywhere; }
.academy-row small { color:#676767; line-height:1.35; }
.academy-detail { gap:16px; }
.academy-detail .sector-actions { display:flex; flex-wrap:wrap; gap:8px; }
.academy-weekdays { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:4px; }
.academy-weekdays .field { min-height:48px; align-items:center; justify-content:center; flex-direction:column; border:1px solid #ddd; border-radius:8px; }
.academy-weekdays .field span { font-size:12px; }
.academy-weekdays input { width:18px; height:18px; }
.academy-roster { display:grid; gap:8px; }
.academy-roster-row { display:grid; grid-template-columns:minmax(120px,1fr) auto auto; align-items:center; gap:10px; padding:10px 0; border-bottom:1px solid #e5e5e5; }
.academy-attendance-actions { display:flex; flex-wrap:wrap; gap:4px; }
.academy-announcement { padding:16px; border:1px solid #e5e5e5; border-radius:12px; background:#fff; }
.academy-announcement h3 { margin:4px 0 8px; }
.academy-announcement p { white-space:pre-wrap; margin:0; }
.academy-note { padding:12px 14px; border-left:3px solid #17191d; background:var(--academy-soft); white-space:pre-wrap; }
.academy-session-heading { border-bottom:1px solid #e5e5e5; }
@media(max-width:800px) { .academy-columns { grid-template-columns:1fr; } .academy-roster-row { grid-template-columns:1fr; } .academy-weekdays { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media(prefers-reduced-motion:reduce) { .academy-row { transition:none; } }
.academy-roster-identity{display:grid;gap:.25rem}.academy-roster-identity small{color:var(--muted)}

/* Shared application tokens; public branding and dedicated kiosks stay separate. */
:root{--joredu-blue:#255f9d;--joredu-blue-deep:#1d4f85;--joredu-navy:#142d49;--joredu-slate:#52677e;--joredu-cloud:#f3f6f9;--joredu-line:#d9e3ed;font-family:var(--joredu-font,"Segoe UI",Arial,sans-serif)}
@media screen{
.session-loading{min-height:100dvh;display:grid;place-items:center;padding:24px;background:#F5F7FA}.session-loading-card{display:grid;gap:10px;max-width:360px;text-align:center;color:var(--joredu-navy)}.session-loading-card .brand{justify-content:center}.session-loading-card h2{font-size:20px;font-weight:500;margin:12px 0 0}.session-loading-card p{font-size:14px;margin:0}
body:has(.app-shell){background:var(--joredu-cloud);font-size:15px;line-height:1.45}
.app-shell{grid-template-columns:248px minmax(0,1fr);background:var(--joredu-cloud)}
.app-shell.sidebar-hidden{grid-template-columns:minmax(0,1fr)}
.app-shell .sidebar{background:#fff;color:var(--joredu-navy);border-right:1px solid var(--joredu-line);box-shadow:none;padding:18px 12px 12px;gap:18px;overflow:hidden}
.sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:2px 10px}.app-shell .sidebar .brand{color:var(--joredu-navy);padding:0}.app-shell .sidebar .brand-logo{width:119px}.app-shell .sidebar .sector-brand-descriptor{color:var(--joredu-slate);font-size:13px}
.app-shell .side-nav{min-height:0;overflow-y:auto;overscroll-behavior:contain;display:block;scrollbar-width:thin;flex:1;padding-right:2px}.nav-group{margin:0 0 18px}.nav-group-label{color:var(--joredu-slate);font-size:12px;line-height:1.4;font-weight:600;margin:0 10px 6px;letter-spacing:0;text-transform:none}
.app-shell .nav-button{display:flex;align-items:center;gap:10px;color:#354559;background:transparent;box-shadow:none;border-radius:7px;padding:10px 11px;min-height:44px;font-size:14px;font-weight:500;line-height:1.3;text-decoration:none;width:100%;text-align:left;transition:background .15s,color .15s}
.app-shell .nav-button:hover{background:#edf2f7;color:var(--joredu-navy);transform:none}.app-shell .nav-button.active{color:#17476b;background:#eaf1f7;box-shadow:inset 3px 0 0 var(--joredu-blue);font-weight:600}.app-shell .nav-icon{width:18px;height:18px;flex:none}
.app-shell .side-bottom{border-top:1px solid var(--joredu-line);padding:12px 6px 0;flex:none}.workspace-user{display:flex;align-items:center;gap:9px;font-size:13px;min-width:0}.workspace-user>span:last-child{min-width:0;overflow-wrap:anywhere}.workspace-user small{display:block;color:var(--joredu-slate);font-size:12px;font-weight:400}.app-shell .avatar{background:#eaf1f7;color:var(--joredu-blue);width:32px;height:32px;border-radius:50%;font-weight:600}
.app-shell .main{padding:0 28px 32px}.app-shell .topbar{min-height:64px;display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--joredu-line);margin:0 -28px 24px;padding:12px 28px;background:#fff;position:relative}
.workspace-title{flex:1;min-width:0;display:flex;align-items:center;gap:24px;flex-wrap:wrap}.app-shell .topbar h1{font-size:24px;font-weight:600;letter-spacing:-.025em;line-height:1.25;margin:0;outline:none}.app-shell .topbar p{font-size:14px;color:var(--joredu-slate);margin:0}.workspace-business{display:block;min-width:0;max-width:300px}.workspace-business select{max-width:100%;width:100%;font-size:14px;color:var(--joredu-navy);border:1px solid var(--joredu-line);border-radius:7px;background:#fff;padding:6px 28px 6px 10px;min-height:40px!important}
.app-shell .sidebar-toggle-button{border:0;background:#f5f7fa;border-radius:7px;padding:9px;min-width:44px;min-height:44px;font-weight:500}.menu-toggle-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.workspace-account{position:relative;flex:none}.workspace-account>summary{display:flex;align-items:center;gap:8px;list-style:none;cursor:pointer;padding:9px;border-radius:7px;font-size:13px;min-height:44px}.workspace-account>summary::-webkit-details-marker{display:none}.workspace-account[open]>summary{background:#edf2f7}.workspace-account-menu{position:absolute;right:0;top:100%;z-index:22;width:230px;padding:8px;display:grid;gap:5px;background:#fff;border:1px solid var(--joredu-line);border-radius:9px;box-shadow:0 12px 28px #17263816}.workspace-account-menu .ghost{border:0;box-shadow:none;text-align:left;justify-content:flex-start}.account-language{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;font-size:14px;color:var(--joredu-slate)}
.app-shell .primary,.app-shell .secondary,.app-shell .ghost,.app-shell .danger,.app-shell .chip{font-weight:500;border-radius:8px;box-shadow:none;min-height:42px}.app-shell .primary{background:var(--joredu-blue);color:#fff}.app-shell .primary:hover{background:var(--joredu-blue-deep);box-shadow:none;transform:none}.app-shell .secondary{background:#edf3f8;color:#234f70;border-color:#cfdae5}.app-shell .ghost{background:#fff}.app-shell .panel{background:#fff;border:1px solid var(--joredu-line);box-shadow:0 2px 5px #17263804;border-radius:10px;padding:20px}.app-shell .panel h3{font-size:17px;font-weight:600}.app-shell .screen-title h2{font-size:22px;line-height:1.3;font-weight:600;margin:0 0 6px;letter-spacing:-.025em}.app-shell .screen-title p{font-size:14px;margin:0;color:var(--joredu-slate)}.app-shell .field{font-size:14px;font-weight:500}.app-shell .field input,.app-shell .field select,.app-shell .field textarea{border-radius:7px;min-height:44px;padding:10px 12px}.app-shell .permission-option>span{font-size:14px;font-weight:500}.app-shell .metric{border-radius:10px;background:#fff;box-shadow:none}.app-shell .metric strong{font-size:26px;font-weight:600}.app-shell .metric small,.app-shell .row-main small{font-size:13px}.app-shell .sector-list-button{border-radius:8px}.app-shell .sector-list-button b,.app-shell .row-main b{font-weight:600}.app-shell .grid{gap:20px}.app-shell .screen-title{margin-bottom:0}.app-shell .notice{font-size:14px;border-radius:8px}.app-shell .report-table{font-size:14px}.app-shell .status{font-weight:500}.app-shell .bottom-nav{display:none}
.drawer-close{border:0;background:#f5f7fa;color:var(--joredu-navy);border-radius:7px;min-width:44px;min-height:44px;display:grid;place-items:center}.mobile-sidebar-backdrop{position:fixed;inset:0;z-index:29;background:#17263855;border:0;border-radius:0}
.app-shell .bottom-nav,.app-shell.mobile-sidebar-open .bottom-nav{z-index:20}
.app-shell .nav-icon{width:21px;height:21px;flex:none}.app-shell .nav-button>span{min-width:0;white-space:normal;overflow-wrap:break-word}.app-shell .nav-button:focus-visible{outline:2px solid var(--joredu-blue);outline-offset:1px}.app-shell .side-nav{padding:3px 4px 3px 3px}
.app-shell .metric:after{display:none}.app-shell .metric .label{font-size:14px;font-weight:500}.app-shell .metric strong{background:none;border:0;padding:0}
html[data-joredu-experience=workspace] .modal-card{background:#fff;border-radius:12px;box-shadow:0 12px 36px #17263820}html[data-joredu-experience=workspace] .modal-card .primary{background:var(--joredu-blue);box-shadow:none}html[data-joredu-experience=workspace] .modal-card button{font-weight:500}html[data-joredu-experience=workspace] .modal-card h2{font-size:23px;font-weight:600}html[data-joredu-experience=workspace] .modal-card .field{font-size:14px;font-weight:500}
@media(max-width:1080px){.workspace-title{gap:6px;display:grid}.workspace-business{max-width:260px}.app-shell .topbar h1{font-size:22px}.account-label{display:none}}
@media(max-width:760px){
.app-shell,.app-shell.sidebar-hidden{display:block}.app-shell>.sidebar,.app-shell.sidebar-hidden>.sidebar{display:none}.app-shell.mobile-sidebar-open>.sidebar{display:flex;position:fixed;inset:0 auto 0 0;width:min(296px,calc(100vw - 40px));height:100dvh;z-index:30;box-shadow:8px 0 28px #17263814;animation:workspace-drawer .16s ease-out}.app-shell .main{padding:0 16px 96px}.app-shell .topbar{margin:0 -16px 20px;padding:12px 16px;gap:10px;min-height:64px}.workspace-title{gap:4px;display:grid;max-width:calc(100% - 104px)}.app-shell .topbar h1{font-size:21px}.workspace-business{max-width:100%}.workspace-business select{width:100%;padding:5px 24px 5px 8px;font-size:13px}.app-shell .topbar p{font-size:13px;overflow-wrap:anywhere}.workspace-account>summary{padding:9px}.workspace-account-menu{width:min(230px,calc(100vw - 32px))}.app-shell .bottom-nav{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);background:#fff;backdrop-filter:none;padding:6px 12px calc(6px + env(safe-area-inset-bottom));gap:6px}.app-shell .bottom-nav .nav-button{display:grid;justify-items:center;gap:3px;text-align:center;min-height:48px;padding:6px;font-size:12px;line-height:1.2;box-shadow:none}.app-shell .bottom-nav .nav-button.active{background:#edf3f8;color:var(--joredu-blue);box-shadow:none}.app-shell .panel{padding:16px}.app-shell .grid{gap:16px}.app-shell .screen-title{flex-wrap:wrap;gap:12px}.app-shell .sector-header-actions{flex-wrap:wrap}.app-shell .screen-title h2{font-size:21px}.app-shell .field-row{grid-template-columns:1fr}.app-shell .primary,.app-shell .secondary,.app-shell .ghost,.app-shell .danger{min-height:44px}.app-shell .metric strong{font-size:24px}.app-shell .modal-overlay{z-index:40}
}
@keyframes workspace-drawer{from{transform:translateX(-12px);opacity:.8}to{transform:translateX(0);opacity:1}}
@media(prefers-reduced-motion:reduce){.app-shell.mobile-sidebar-open>.sidebar{animation:none}.app-shell .nav-button{transition:none}}
html[data-reduced-motion=true] .app-shell.mobile-sidebar-open>.sidebar{animation:none}
}

/* Workspaces: the day fills the page; tools appear only in their context. */
@media screen{
.app-shell,.app-shell.sidebar-hidden{display:block;min-height:100dvh;background:var(--joredu-cloud)}
.app-shell>.sidebar,.app-shell.sidebar-hidden>.sidebar{display:none}
.app-shell.mobile-sidebar-open>.sidebar{display:flex;position:fixed;inset:0 auto 0 0;width:min(352px,calc(100vw - 24px));height:100dvh;z-index:30;border-left:4px solid var(--joredu-blue);box-shadow:8px 0 24px #17263814;animation:workspace-drawer .16s ease-out}
body:has(.app-shell.mobile-sidebar-open){overflow:hidden}
.app-shell.mobile-sidebar-open>.mobile-sidebar-backdrop{display:block}
.app-shell .main{padding:0;min-width:0}
.app-shell .topbar{margin:0;min-height:76px;padding:14px 32px;gap:20px;border-bottom:0;background:#fff}
.workspace-brand{flex:none;margin-right:8px}.workspace-brand .brand-logo{width:119px}.workspace-brand .sector-brand-descriptor{display:none}
.workspace-title{gap:16px}.app-shell .workspace-title h1{font-size:16px;font-weight:500;letter-spacing:0;color:var(--joredu-slate)}
.workspace-title h1:focus-visible{outline:2px solid var(--joredu-blue);outline-offset:4px;border-radius:2px}
.workspace-context{max-width:100%;overflow-wrap:anywhere}.workspace-business{max-width:360px}
.workspace-spaces{display:flex;flex-wrap:nowrap;align-items:center;gap:26px;padding:0 32px;border-bottom:1px solid #25496f;background:var(--joredu-navy);overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#6e91b2 transparent}
.workspace-space{display:block;flex:none;color:#c8d9e8;text-decoration:none;font-size:14px;font-weight:500;padding:15px 0 13px;border-bottom:3px solid transparent;line-height:1.4;white-space:nowrap}
.workspace-space:hover{color:#fff}.workspace-space.active{border-bottom-color:#8ebbe1;color:#fff;font-weight:600}.workspace-space:focus-visible{outline:2px solid #c6e2f9;outline-offset:-4px;border-radius:2px}
.workspace-body{display:block;max-width:1500px;margin:auto;padding:30px 32px 48px;min-width:0}
.workspace-body.has-context{display:grid;grid-template-columns:200px minmax(0,1fr);gap:28px}
.workspace-content{min-width:0}.context-sidebar{border-right:1px solid var(--joredu-line);padding-right:18px;align-self:start;position:sticky;top:18px;min-width:0}
.context-heading{display:flex;align-items:center;justify-content:space-between;gap:4px;margin-bottom:18px}.context-heading h2{font-size:14px;font-weight:600;margin:0}.context-toggle{display:grid;place-items:center;border:0;background:transparent;color:var(--joredu-slate);min-width:32px;min-height:32px;border-radius:4px}.context-toggle .action-icon{width:16px;height:16px}.context-show{margin-bottom:18px}.context-sidebar nav{display:grid;gap:3px;padding:3px}.context-sidebar .nav-button{font-size:13px;padding:9px 10px}
.workday{min-width:0;background:#fff;border:1px solid var(--joredu-line);border-radius:12px;padding:28px}.workday-heading{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:26px;border-left:3px solid var(--joredu-blue);padding-left:16px}.workday-date{color:var(--joredu-slate);font-size:13px;font-weight:500;margin:0 0 8px;text-transform:none}.workday-heading h2{font-size:32px;line-height:1.18;letter-spacing:-.035em;font-weight:600;margin:0;color:var(--joredu-navy)}.workday-heading>.primary{flex:none}
.workday-pulse{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:0;padding:20px 0;margin:0 0 30px;border-top:1px solid var(--joredu-line);border-bottom:1px solid var(--joredu-line)}.workday-pulse>div{display:grid;grid-template-columns:minmax(0,1fr);align-content:start;gap:6px;padding:0 20px;border-left:1px solid var(--joredu-line);min-width:0}.workday-pulse>div:first-child{padding-left:0;border-left:0}.workday-pulse dt{font-size:13px;color:var(--joredu-slate)}.workday-pulse dd{font-size:28px;line-height:1.2;font-weight:600;margin:0;font-variant-numeric:tabular-nums;color:var(--joredu-navy);overflow-wrap:anywhere}.workday-pulse small{grid-column:1/-1;color:var(--joredu-slate);font-size:12px;line-height:1.5;max-width:240px}
.workday-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,30%);gap:40px}.workday-columns:not(:has(.workday-pending)){grid-template-columns:1fr}.workday-main{min-width:0;display:grid;gap:32px;align-content:start}.workday-pending{min-width:0;border-left:1px solid #dce3eb;padding-left:28px;display:grid;align-content:start;gap:24px}.workday-rail-title{font-size:12px;color:var(--joredu-slate);font-weight:600;margin:0;text-transform:uppercase;letter-spacing:.07em}
.app-shell .workday .panel{border:0;box-shadow:none;border-radius:0;background:transparent;padding:0}.app-shell .workday .panel h3{font-size:18px;margin:0 0 14px;font-weight:600;letter-spacing:-.015em}.app-shell .workday .workday-pending .panel h3{font-size:15px;margin-bottom:10px}.workday .panel-head{align-items:center;margin-bottom:12px}.app-shell .workday .panel-head h3{margin:0}.workday .panel-head .ghost{min-height:32px}
.workday-list{display:grid}.workday-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid #e4e9ee}.workday-row:first-child{padding-top:5px}.workday-row-copy{min-width:0;display:grid;gap:5px}.workday-row-copy b{font-size:15px;font-weight:600}.workday-row-copy small{color:var(--joredu-slate);font-size:13px;overflow-wrap:anywhere}.workday-row-action{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.workday-quantity{font-size:13px;font-variant-numeric:tabular-nums}.workday-empty{font-size:14px;color:var(--joredu-slate);margin:8px 0 16px;line-height:1.6}.workday-tools{display:grid;gap:8px}.workday-tools>button{justify-content:flex-start;text-align:left}.workday-note{margin-top:32px;border-top:1px solid #e4e9ee;padding-top:14px}.workday-note .notice{padding:0;background:transparent;border:0;color:var(--joredu-slate);font-size:12px}
.workday .health-waiting-row,.workday .sector-list-button,.workday .row,.workday .hotel-row,.workday .gym-row,.workday .academy-row,.workday .vet-card{border:0;border-bottom:1px solid #e4e9ee;background:transparent;box-shadow:none;border-radius:0;padding:15px 0}.workday .health-waiting-row{width:100%;text-align:left}.workday .health-waiting-row:hover,.workday .sector-list-button:hover{background:#f0f4f7}.workday .health-waiting-list,.workday .sector-list,.workday .list,.workday .vet-stack{gap:0}.workday .health-waiting-row small{font-size:13px;color:var(--joredu-slate)}.workday .health-waiting-row strong{font-size:15px}.workday .health-patient-space{display:grid;grid-template-columns:1fr;gap:30px}.workday .empty-icon{display:none}.workday .empty{padding:8px 0;text-align:left;background:transparent;border:0}.workday .empty h3{font-size:15px!important}.workday .empty p{font-size:14px}.workday .gym-metrics{display:none}
.app-shell .panel{box-shadow:none}
.context-heading h2:focus{outline:2px solid var(--joredu-blue);outline-offset:4px;border-radius:2px}
.workspace-tool-search{display:grid;gap:8px;padding:0 6px}.workspace-tool-search input{width:100%;min-width:0;padding:10px 12px;min-height:44px;border:1px solid #dce3eb;border-radius:6px;font-size:14px;background:#fafbfc;color:var(--joredu-navy)}.workspace-tool-search input:focus-visible{outline:2px solid var(--joredu-blue);outline-offset:1px}.tool-search-clear{justify-self:start;min-height:44px;border:0;background:transparent;color:var(--joredu-blue);font-size:12px;padding:2px 0}.tool-search-empty{font-size:13px;color:var(--joredu-slate);margin:4px 0}.app-shell [hidden]{display:none!important}
.app-shell.hotel-fullscreen .workspace-spaces,.app-shell.hotel-fullscreen .context-sidebar,.app-shell.hotel-fullscreen .context-show{display:none!important}.app-shell.hotel-fullscreen .workspace-body.has-context{grid-template-columns:1fr}.app-shell.hotel-fullscreen .workspace-body{max-width:none;padding:0}
@media(max-width:1100px){.workspace-body{padding:28px}.workspace-body.has-context{grid-template-columns:190px minmax(0,1fr);gap:24px}.workday-columns{gap:28px;grid-template-columns:minmax(0,1fr) 260px}.workday-heading h2{font-size:29px}.workday-pending{padding-left:20px}.workspace-spaces{gap:22px}}
@media(max-width:900px){.workday-columns{grid-template-columns:1fr}.workday-pending{border-left:0;border-top:1px solid #dce3eb;padding:24px 0 0;grid-template-columns:repeat(2,minmax(0,1fr))}.workday-rail-title{grid-column:1/-1}.workday-pulse{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 0}.workday-pulse>div:nth-child(odd){border-left:0;padding-left:0}.workspace-brand{margin:0}.workspace-title{display:flex}}
@media(max-width:760px){.app-shell .topbar{padding:12px 16px;gap:10px;min-height:68px;flex-wrap:wrap}.workspace-brand{order:0}.workspace-brand .brand-logo{width:94px}.app-shell .sidebar-toggle-button{order:2;margin-left:auto}.workspace-account{order:3}.workspace-title{order:4;flex-basis:100%;max-width:100%;display:flex;align-items:center;gap:12px;border-top:1px solid #edf0f4;padding-top:10px}.app-shell .workspace-title h1{font-size:13px;flex:none}.workspace-title .workspace-business{flex:1;max-width:100%}.workspace-title .workspace-context{font-size:12px;flex:1}.workspace-spaces{display:none}.workspace-body,.workspace-body.has-context{display:block;padding:24px 20px 96px}.context-sidebar,.context-show{display:none!important}.workday-heading{align-items:start;display:grid;gap:18px;margin-bottom:24px}.workday-heading h2{font-size:28px}.workday-heading>.primary{justify-self:start;min-height:44px}.workday{padding:0;background:transparent;border:0;border-radius:0}.workday-pulse{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px;padding:18px 0;margin-bottom:24px}.workday-pulse>div{display:grid;padding:0;border-left:0;gap:6px}.workday-pulse dd{margin-top:0;font-size:24px}.workday-pulse dt{font-size:13px}.workday-columns{display:block}.workday-main{gap:26px}.workday-pending{display:grid;grid-template-columns:1fr;margin-top:28px;gap:22px}.workday-row{gap:12px;align-items:start}.workday-row-action{max-width:42%;gap:6px}.workday-row-action button{min-height:44px!important}.workday-row-copy b{font-size:14px}.workday-row-copy small{font-size:12px}.workday .health-waiting-row{gap:12px}.workday .health-patient-space .row{flex-wrap:wrap}.app-shell .bottom-nav{position:fixed}.app-shell.mobile-sidebar-open .bottom-nav{visibility:hidden}.app-shell .field input,.app-shell .field select,.app-shell .field textarea{font-size:16px}.workday .sector-actions{flex-wrap:wrap}.workday .panel-head{flex-wrap:wrap}.workday .panel-head .ghost{min-height:44px}}
@media(prefers-reduced-motion:reduce){.app-shell.mobile-sidebar-open>.sidebar{animation:none}.workspace-space{transition:none}}
}
@media screen and (max-width:760px){
.app-shell .topbar{position:sticky;top:0;z-index:15}
}
/* Business selection shares the workspace typography and restrained borders. */
.business-selection{max-width:1280px;margin:auto;padding:0 32px 48px}
.business-selection-topbar{min-height:88px;margin-bottom:36px;border-bottom:1px solid #e8edf2;gap:20px}
.business-selection-topbar .brand-logo{width:126px}.business-selection-topbar .sector-brand-descriptor{display:none}
.business-selection-heading{margin-bottom:28px;gap:24px}.business-selection-heading h1{font-size:30px;font-weight:600;letter-spacing:-.6px;margin:0 0 8px}.business-selection-heading p{max-width:620px;color:var(--joredu-slate);line-height:1.6;margin:0}
.business-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:18px}
.business-card{border-radius:12px;padding:22px;box-shadow:none;display:flex;flex-direction:column;min-width:0}
.business-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:32px}.business-category{font-size:12px;color:#526276;font-weight:500}
.business-card h3{font-size:19px;font-weight:600;line-height:1.4;margin:12px 0 8px;overflow-wrap:anywhere}.business-operation{color:#667488;font-size:13px;line-height:1.5;margin:0 0 24px}
.business-card-footer{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.business-role{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#526276}.business-role .action-icon{width:16px;height:16px}
.business-card-footer .secondary{font-size:13px;min-height:42px;border-radius:7px}.business-card-options{position:relative}.business-card-options>summary{list-style:none;display:flex;align-items:center;justify-content:center;cursor:pointer;width:36px;height:36px;border-radius:7px;color:#667488}.business-card-options>summary::-webkit-details-marker{display:none}.business-card-options>summary:hover{background:#f1f5f9}.business-card-options>summary:focus-visible,.business-account>summary:focus-visible{outline:2px solid #2563eb;outline-offset:3px}
.business-card-menu{position:absolute;right:0;top:42px;z-index:4;min-width:210px;padding:6px;border:1px solid #dfe6ed;border-radius:8px;background:#fff;box-shadow:0 8px 24px #17263814;display:grid}.business-card-menu .ghost{justify-content:flex-start;text-align:left;font-size:13px;border-radius:5px}.business-card-menu .business-delete-action{color:#a93737}
.business-account-identity{font-size:13px;line-height:1.5;padding:8px 12px;overflow-wrap:anywhere}.business-account-identity small{display:block;color:#667488}.business-account .locale-control{margin:8px 12px}
.business-access{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #e8edf2;margin-top:32px;padding-top:22px;color:var(--joredu-slate);font-size:13px}.business-access strong{font-weight:500}.business-access p{margin:5px 0 0;line-height:1.5}
.business-welcome{background:#fff;border:1px solid #e1e7ee;border-radius:14px;padding:40px;display:grid;grid-template-columns:1fr 1fr;gap:64px}.business-welcome-lead h2{font-size:26px;font-weight:600;line-height:1.3;margin:20px 0 12px;letter-spacing:-.4px}.business-welcome-lead p{line-height:1.6;color:#667488;max-width:390px;margin:0 0 24px}.business-welcome-icon{display:inline-flex;background:#edf4ff;color:#2765b1;padding:14px;border-radius:10px}.business-welcome-icon svg{width:26px;height:26px}
.business-onboarding{padding:0;margin:0;list-style:none;display:grid;gap:26px;align-content:center}.business-onboarding li{display:flex;gap:15px;align-items:flex-start}.business-step-number{display:grid;place-items:center;flex:none;width:28px;height:28px;border:1px solid #dbe3ec;border-radius:50%;color:#667488;font-size:12px}.business-onboarding h3{font-size:15px;font-weight:500;margin:2px 0 6px}.business-onboarding p{color:#667488;font-size:13px;line-height:1.5;margin:0}
@media(max-width:760px){.business-selection{padding:0 18px 32px}.business-selection-topbar{min-height:74px;margin-bottom:26px}.business-selection-heading{display:flex;flex-wrap:wrap;gap:20px}.business-selection-heading h1{font-size:26px}.business-grid{grid-template-columns:1fr;gap:14px}.business-card{padding:20px}.business-welcome{grid-template-columns:1fr;gap:36px;padding:26px 22px}.business-welcome-lead h2{font-size:23px}.business-access{align-items:flex-start;flex-direction:column}.business-account>summary{font-size:13px}.business-account .workspace-account-menu{right:0;max-width:calc(100vw - 36px)}}

.workspace-profile-person{display:grid;gap:3px;min-width:0}.workspace-profile-person>b{font-size:14px}.workspace-profile-person>small{display:block;font-weight:400;color:#627083;overflow-wrap:anywhere}
.team-permission-sections{display:grid;gap:24px}.team-permission-group{border-top:1px solid #e1e7ee;padding-top:20px}.team-permission-group h3{font-size:16px;margin:0 0 8px}.team-permission-group>.muted{font-size:13px;line-height:1.6;margin:0 0 14px}.team-role-included{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 24px;margin:0;padding-left:20px;color:#475569;font-size:13px}.team-role-included li{padding-left:2px}.team-permission-group .permission-option{min-height:46px}@media(max-width:540px){.team-role-included{grid-template-columns:1fr}}
.team-identity-fields{display:grid;align-items:start;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px}.team-permission-group .permission-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}html[data-joredu-experience=workspace]:has(.modal-overlay){overflow:hidden}@media(max-width:640px){.team-identity-fields,.team-permission-group .permission-list{grid-template-columns:1fr}}
.product-price-field{display:grid;align-content:start;gap:7px;min-width:0}.product-price-field>.field{margin:0}.product-price-error{display:block;margin:0;color:#9d2133;font-size:13px;line-height:1.4;overflow-wrap:anywhere}.product-price-error[hidden]{display:none}.product-price-field input[aria-invalid=true]{border-color:#b42a3d;box-shadow:0 0 0 2px #b42a3d22}

.commerce-card.joredu{font-size:14px;font-weight:400;letter-spacing:normal}.commerce-card.joredu>.tool-logo{object-fit:contain;align-self:start}

.commerce-payment-info{font-size:13px;border-top:1px solid #e2e7ed;padding-top:8px}.commerce-payment-info>summary{cursor:pointer;padding:10px 0;min-height:44px;color:#34526b}.commerce-payment-info>p{line-height:1.6;margin:8px 0}.commerce-payment-info>summary:focus-visible{outline:2px solid #2563eb;outline-offset:3px}@media(max-width:640px){.commerce-card.joredu{grid-template-columns:minmax(0,1fr);gap:16px}.commerce-card.joredu>.tool-logo.joredu-logo{width:120px;max-height:29px}.commerce-card.joredu .commerce-copy{gap:10px}}

.business-detail-list{display:grid;gap:12px;margin:0}.business-detail-list>div{display:grid;grid-template-columns:minmax(130px,1fr) minmax(0,2fr);gap:16px}.business-detail-list dt{color:var(--muted,#526177)}.business-detail-list dd{margin:0;overflow-wrap:anywhere;font-weight:600}@media(max-width:560px){.business-detail-list>div{grid-template-columns:1fr;gap:4px}}

@media(max-width:560px){.payment-method-row{align-items:stretch;flex-direction:column;gap:12px}.payment-method-row .row-main{flex:auto;width:100%}.payment-method-row .row-main b,.payment-method-row .row-main small{white-space:normal;overflow:visible;text-overflow:clip}.payment-method-row .line-actions{width:100%;justify-content:flex-end;flex-wrap:wrap}}
.workspace-help-card{width:min(760px,100%)}
.workspace-help-card .tour-stage{background:var(--joredu-cloud);border:1px solid var(--joredu-line);min-height:0}
.workspace-help-card .tour-stage>h3{scroll-margin-top:20px}
.workspace-help-tools{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:0}
.workspace-help-tools li{border-top:1px solid var(--joredu-line);padding:12px 0}
.workspace-help-tools a,.workspace-help-contact a{display:inline-flex;align-items:center;min-height:40px;font-weight:600;color:var(--joredu-blue);text-underline-offset:4px;max-width:100%;overflow-wrap:anywhere}
.workspace-help-card .workspace-help-tools p{font-size:14px;line-height:1.6;margin-top:2px}
.workspace-help-card .workspace-help-contact{margin-top:16px}
html[data-joredu-experience=workspace] .modal-card.workspace-help-card{width:min(860px,calc(100vw - 32px));max-height:min(88dvh,900px)}
.workspace-help-card>.tour-progress{margin:0 22px 18px;flex-shrink:0}
.workspace-help-card>.tour-stage{margin:0 22px 20px;overflow-y:auto;min-height:0}
html[data-joredu-experience=workspace] .workspace-help-card>.modal-footer{padding:16px 22px;margin:0;border-top:1px solid var(--joredu-line);flex-shrink:0}
@media(max-width:760px){.workspace-help-card .tour-stage{padding:14px}.workspace-help-card .modal-footer{flex-wrap:wrap}.workspace-help-tools a{min-height:44px}}

.team-member-error{min-width:0;overflow-wrap:anywhere}
.audit-detail,.audit-detail>.panel{min-width:0}
.audit-detail .audit-json{min-width:0;max-width:100%;white-space:pre-wrap;overflow-wrap:anywhere;overflow-x:auto}

/* Keep failed member-form actions inside the existing modal scrollport. */
.modal-body .form-stack:has(>.team-member-feedback>.team-member-error:not(:empty)){display:flex;flex-direction:column}
.modal-body .team-member-feedback{display:flex;flex-direction:column;gap:inherit}
.modal-body .team-member-feedback:has(>.team-member-error:not(:empty)){position:sticky;bottom:0;z-index:1;background:#fff;padding-bottom:6px;flex-shrink:0}

/* Authenticated screens lead with the current business and task, with the menu at the left edge. */
@media screen{
 .app-shell .workspace-operational-header{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:60px;padding:8px 20px;flex-wrap:nowrap}
 .app-shell .workspace-operational-header>.sidebar-toggle-button{order:initial;margin:0;padding:0;width:44px;height:44px;min-width:44px;min-height:44px;justify-content:center}
 .app-shell .workspace-operational-header>.workspace-title{display:flex;align-items:center;flex-wrap:nowrap;gap:16px;order:initial;min-width:0;max-width:none;flex-basis:auto;border:0;padding:0}
 .app-shell .workspace-operational-header .workspace-title h1{flex:1 1 auto;min-width:0;margin:0;font-size:15px;line-height:1.35;font-weight:500;color:var(--joredu-slate);overflow-wrap:break-word}
 .app-shell .workspace-operational-header .workspace-business{flex:0 1 320px;width:100%;min-width:0;max-width:50%}
 .app-shell .workspace-operational-header .workspace-business select{font-size:14px;min-height:44px!important;padding:7px 28px 7px 10px}
 .app-shell .workspace-operational-header .workspace-context{flex:0 1 auto;max-width:55%;min-width:0;margin:0;font-size:15px;line-height:1.35;font-weight:600;color:var(--joredu-navy)}
 .app-shell .workspace-operational-header>.workspace-account{order:initial;justify-self:end}
 .app-shell .workspace-operational-header>.workspace-account>summary{min-width:44px;min-height:44px;justify-content:center}
 .workspace-menu-heading{min-width:0;font-size:16px;line-height:1.35;font-weight:600;letter-spacing:-.01em;margin:0;color:var(--joredu-navy)}
 .workspace-operational-header~.workspace-spaces{padding:0 20px;gap:24px}
 .workspace-operational-header~.workspace-spaces .workspace-space{display:flex;align-items:center;min-height:44px;padding:10px 0 9px}
 .workspace-operational-header~.workspace-body{max-width:none;padding:20px}
 .workspace-operational-header~.workspace-body.has-context{grid-template-columns:184px minmax(0,1fr);gap:20px}
 .workspace-operational-header~.workspace-body .context-sidebar{padding-right:14px}
}
@media screen and (max-width:1024px){
 .app-shell .workspace-body.has-context{display:block}
 .app-shell .context-sidebar,.app-shell .context-show{display:none!important}
 .app-shell .workspace-operational-header{padding:8px 16px}
 .workspace-operational-header~.workspace-spaces{padding:0 16px;gap:22px}
 .workspace-operational-header~.workspace-body{padding:18px 16px 32px}
}
@media screen and (max-width:760px){
 .app-shell .workspace-operational-header{grid-template-columns:44px minmax(0,1fr) 44px;padding:8px 12px;gap:8px;min-height:60px}
 .app-shell .workspace-operational-header>.workspace-title{display:grid;grid-template-columns:minmax(0,1fr);align-content:center;gap:2px;min-width:0;max-width:100%;padding:0;border:0}
 .app-shell .workspace-operational-header .workspace-business{width:100%;max-width:100%;min-width:0;flex:none}
 .app-shell .workspace-operational-header .workspace-business select{font-size:14px}
 .app-shell .workspace-operational-header .workspace-context{max-width:100%;font-size:14px;line-height:1.3}
 .app-shell .workspace-operational-header .workspace-title h1{font-size:12px;line-height:1.35}
 .workspace-operational-header~.workspace-body{padding:18px 12px 88px}
}
.restaurant-production .kitchen-station-scope {
  display:grid;
  gap:6px;
  padding:16px 18px;
  border-left:4px solid var(--joredu-primary,#185b45);
  background:#f0f6f2;
  border-radius:8px;
  min-width:0
}

.restaurant-production .kitchen-station-scope strong {
  font-size:clamp(1.3rem,2.5vw,1.8rem);
  line-height:1.15;
  overflow-wrap:anywhere
}

.restaurant-production .kitchen-station-scope p {
  margin:0;
  line-height:1.5;
  max-width:65ch
}

.restaurant-production .kitchen-board {
  grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));
  gap:18px;
  align-items:start
}

.restaurant-production .kitchen-ticket {
  padding:18px;
  gap:18px;
  box-shadow:none
}

.restaurant-production .kitchen-ticket-target>b {
  font-size:1.3rem
}

.restaurant-production .kitchen-ticket-item {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:8px 12px;
  padding:14px 0;
  min-width:0
}

.restaurant-production .kitchen-ticket-item>b,.restaurant-production .kitchen-ticket-item>small {
  grid-column:1/-1;
  overflow-wrap:anywhere
}

.restaurant-production .kitchen-ticket-item>b {
  font-size:1.1rem;
  line-height:1.4
}

.restaurant-production .kitchen-line-action,.restaurant-production .kitchen-ticket-actions button,.restaurant-production .kitchen-stations button {
  min-height:48px;
  min-width:48px;
  white-space:normal;
  line-height:1.3
}

.restaurant-production .kitchen-ticket-actions {
  display:grid;
  grid-template-columns:1fr
}

.restaurant-production .kitchen-ticket-head {
  align-items:start
}

.restaurant-production .kitchen-ticket-target,.restaurant-production .kitchen-ticket-time {
  min-width:0
}

.restaurant-production .kitchen-ticket-time {
  justify-items:end
}

.restaurant-team-setup {
  display:grid;
  gap:20px;
  min-width:0
}

.restaurant-team-person,.team-kitchen-stations {
  min-width:0;
  margin:0;
  padding:16px;
  border:1px solid #dce4df;
  border-radius:10px
}

.restaurant-team-person>legend,.team-kitchen-stations>legend {
  padding:0 6px;
  font-weight:700
}

.restaurant-team-person {
  display:grid;
  gap:14px
}

.restaurant-team-person>p {
  margin:0;
  overflow-wrap:anywhere
}

.restaurant-team-person input,.restaurant-team-person select {
  min-height:48px
}

.restaurant-team-person input[type=checkbox],.team-kitchen-stations input[type=checkbox] {
  min-height:20px;
  width:20px;
  flex:none
}

.team-kitchen-stations .permission-option,.restaurant-team-person .permission-option {
  min-height:48px;
  gap:10px;
  align-items:center
}

.team-kitchen-stations[hidden] {
  display:none!important
}

.restaurant-team-setup .modal-footer {
  position:sticky;
  bottom:0;
  background:#fff;
  padding-top:12px;
  z-index:1
}

.restaurant-team-setup .modal-footer>button {
  min-height:48px
}

@media(max-width:600px) {
  .restaurant-production .kitchen-ticket {
  padding:14px
}

.restaurant-production .kitchen-ticket-head {
  flex-wrap:wrap;
  gap:10px
}

.restaurant-production .kitchen-ticket-time {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  width:100%
}

.restaurant-production .kitchen-line-action {
  max-width:100%;
  padding-inline:12px
}

.restaurant-team-setup .team-identity-fields {
  grid-template-columns:1fr
}

.restaurant-team-person {
  padding:12px
}

.restaurant-team-setup .modal-footer {
  display:grid;
  grid-template-columns:1fr
}

}
.restaurant-service-shell .workspace-operational-header~.workspace-body{max-width:none;padding:12px 16px 24px}
.app-shell.restaurant-service-shell .main{padding-bottom:0}
.app-shell.restaurant-service-shell .workspace-body.has-context{display:block}
.restaurant-service-shell .context-sidebar{display:none!important}
.restaurant-service-shell .workspace-title{min-width:0}
.app-shell.restaurant-service-shell .workspace-title h1{flex:0 1 auto;justify-self:start}
.restaurant-service-shell .internal-restaurant.restaurant-service,.restaurant-service-shell .restaurant-table-overview{gap:12px}
.restaurant-servicebar{display:flex;align-items:center;gap:10px;min-width:0}
.restaurant-view-control{flex:0 1 170px;min-width:0}
.restaurant-view-control select,.service-table-search{width:100%;min-width:0;min-height:44px;border:1px solid #ccd8e3;border-radius:7px;padding:9px 12px;background:#fff;color:var(--joredu-navy);font:inherit;font-size:14px}
.service-table-searchbox{display:flex;flex:1;gap:6px;min-width:0}
.service-table-searchbox .service-table-search{flex:1}
.service-table-searchbox>.ghost{flex:none;font-size:12px;padding-inline:10px}
.service-table-searchbox>.service-table-search-clear{width:44px;min-width:44px;padding:0;justify-content:center}
.restaurant-service-options{position:relative;flex:none;margin-left:auto;min-width:0}
.restaurant-service-options>summary{display:flex;align-items:center;gap:10px;min-height:44px;padding:9px 14px;list-style:none;border:1px solid #ccd8e3;border-radius:7px;background:#fff;color:var(--joredu-navy);font-weight:500;cursor:pointer;white-space:nowrap}
.restaurant-service-options>summary::-webkit-details-marker{display:none}
.restaurant-service-options>summary:after{content:'⌄';font-size:16px}
.restaurant-service-options[open]>summary{border-color:var(--joredu-blue);background:#edf3f8}
.restaurant-service-options-panel{position:absolute;right:0;top:calc(100% + 6px);z-index:18;display:grid;gap:8px;width:min(320px,calc(100vw - 32px));max-height:min(65dvh,560px);overflow:auto;padding:12px;background:#fff;border:1px solid #ccd8e3;border-radius:9px;box-shadow:0 10px 30px #142d4924}
.restaurant-service-options-panel>button{width:100%;text-align:left;justify-content:flex-start;min-height:44px}
.restaurant-service-options-panel>.restaurant-view-control{display:block;width:100%}
.restaurant-service-options-panel .menu-promotions{padding:8px;border-radius:6px}
.restaurant-service .service-table-zones{gap:16px}
.restaurant-service-shell .restaurant-service .service-table-zone{gap:8px;padding:0;border:0}
.restaurant-service-shell .restaurant-service .service-table-zone+.service-table-zone{padding-top:14px;border-top:1px solid #dce3eb}
.restaurant-service .service-table-zone .table-zone-head{align-items:center;justify-content:flex-start;gap:12px;min-height:24px;margin:0}
.service-table-zone .table-zone-head h3{font-size:14px;font-weight:600;letter-spacing:0;overflow-wrap:anywhere}
.service-table-zone .table-zone-head small{font-size:12px;flex:none}
.restaurant-service-shell .restaurant-service .service-table-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,128px));gap:8px}
.restaurant-service-shell .restaurant-service .service-table-card{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:8px;min-width:0;min-height:92px;margin:0;padding:10px;border-radius:8px;text-align:left;box-shadow:none;overflow-wrap:anywhere}
.service-table-card b{font-size:14px;font-weight:600;line-height:1.3}
.app-shell .service-table-card .status{font-size:12px;line-height:1.2;margin:0;padding:4px 6px}
.service-table-card .table-kitchen-time{font-size:12px;margin:0;line-height:1.3}
.service-table-empty{padding:24px 0;color:var(--joredu-slate)}
.restaurant-service-shell .table-diagram.is-service-view{gap:10px}
.restaurant-service-shell .is-service-view .floor-plan-toolbar{padding:8px 10px;min-height:44px;border-radius:8px}
.restaurant-service-shell .is-service-view .floor-plan-floor{gap:8px}
.restaurant-service-shell .is-service-view .floor-plan-select{min-height:44px!important}
.restaurant-service-shell .table-detail-options{margin-left:0;justify-self:start}
.table-detail-options .restaurant-service-options-panel{left:0;right:auto}
.restaurant-servicebar select:focus-visible,.service-table-search:focus-visible,.restaurant-service-options>summary:focus-visible{outline:2px solid var(--joredu-blue);outline-offset:2px}
@media(max-width:600px){
 .restaurant-service-shell .workspace-operational-header~.workspace-body{padding:10px 10px 24px}
 .restaurant-servicebar{flex-wrap:wrap;gap:8px}
 .restaurant-view-control{flex:1;min-width:0;order:0}
 .restaurant-service-options{order:1}
 .service-table-searchbox{order:0;flex:1 1 0}
 .service-table-searchbox>.ghost{max-width:110px;white-space:normal;line-height:1.2}
 .service-table-search{font-size:16px}
 .restaurant-service-options>summary{padding-inline:12px}
 .restaurant-service-shell .restaurant-service .service-table-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}
 .restaurant-service-shell .restaurant-service .service-table-card{min-height:88px}
 .restaurant-service-shell .workspace-operational-header .workspace-business select{min-height:40px!important}
 .restaurant-service-shell .restaurant-table-detail>.restaurant-servicebar{justify-content:flex-start}
}

/* Each task owns its composition; common controls share spacing and contrast. */
@media screen{
.hotel-app,.hotel-app>* , .hotel-app .panel,.hotel-calendar-wrap,.hotel-calendar-wrap>*{min-width:0;max-width:100%}.hotel-app .hotel-search{min-width:0;max-width:100%}.hotel-app .hotel-search .field{min-width:min(160px,100%)}.hotel-app .hotel-calendar-scroll{max-width:100%;overflow-x:auto}.vet-workspace .vet-hero.compact h2{font-size:27px;line-height:1.25}

.internal-catalog-labels{display:flex;justify-content:space-between;border-bottom:1px solid #dce3eb;padding:8px;font-size:12px;color:#59677a}.internal-catalog-list{list-style:none;margin:0;padding:0}.internal-veterinary-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,32%);gap:24px}.internal-veterinary-care,.internal-veterinary-followup{min-width:0;display:grid;align-content:start;gap:22px}.internal-veterinary-followup{border-left:1px solid #dce3eb;padding-left:24px}.vet-workspace .internal-veterinary-history .panel{border:0;border-top:1px solid #dce3eb;border-radius:0;padding:20px 0;background:transparent}
.internal-back-index{display:none}.internal-placeholder .internal-back-index{display:none}
.internal-split.internal-split-empty{grid-template-columns:minmax(0,1fr)}.internal-split-empty>.internal-index{border-right:0;padding-right:0}
.internal-workspace{display:grid;gap:22px;min-width:0}.app-shell .screen-title{align-items:start}.app-shell .screen-title h2{font-size:27px;letter-spacing:-.02em}.app-shell .screen-title p{line-height:1.6;max-width:60ch}.app-shell .panel{border-radius:5px;padding:20px}.app-shell .panel h3{line-height:1.4}
.internal-split{display:grid;grid-template-columns:minmax(250px,38%) minmax(0,1fr);gap:28px;align-items:start;min-width:0}.internal-index,.internal-detail{min-width:0}.internal-index{border-right:1px solid #dce3eb;padding-right:24px}.internal-index-list{display:grid}.internal-index-row{display:flex;justify-content:space-between;align-items:center;gap:16px;width:100%;min-height:68px;background:transparent;border:0;border-bottom:1px solid #dce3eb;border-radius:0!important;padding:13px 12px;text-align:left;color:#172638;font-size:14px}.internal-index-row>span:first-child{display:grid;gap:4px;min-width:0}.internal-index-row b{font-size:15px}.internal-index-row small{color:#59677a;white-space:normal;overflow-wrap:anywhere;font-size:13px}.internal-index-row.selected{background:#eaf1f6;box-shadow:inset 3px 0 #245b85}.internal-index-row:hover{background:#f0f4f7}.internal-row-status{font-size:12px;color:#31516b;white-space:normal;text-align:right;max-width:100px;flex-shrink:0}.internal-count{font-size:12px;color:#59677a;margin:14px 0 8px}.internal-empty{font-size:14px;color:#59677a;padding:20px 0}.internal-directory .field input{background:#fff}
.internal-detail{background:#fff;border:1px solid #dce3eb;border-radius:5px;padding:24px;position:sticky;top:18px}.internal-detail-heading{padding-bottom:18px;border-bottom:1px solid #e4e9ee}.internal-detail-heading small{font-size:12px;color:#59677a}.internal-detail h3{font-size:23px;font-weight:600;margin:7px 0 0;line-height:1.35;overflow-wrap:anywhere}.internal-detail h3:focus-visible{outline:2px solid #245b85;outline-offset:5px}.internal-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px;padding:20px 0;margin:0}.internal-facts>div{min-width:0}.internal-facts dt{font-size:12px;color:#59677a;margin-bottom:4px}.internal-facts dd{margin:0;font-size:15px;color:#172638;overflow-wrap:anywhere;white-space:pre-wrap}.internal-detail-actions{display:flex;flex-wrap:wrap;gap:10px;padding-top:18px;border-top:1px solid #e4e9ee}.internal-detail-actions button{font-size:14px}.internal-placeholder{background:transparent;border-style:dashed;position:static;color:#59677a}
.internal-health .internal-appointment{grid-template-columns:minmax(290px,43%) minmax(0,1fr)}.internal-health .internal-document .internal-index-row{min-height:83px}.internal-health .internal-patient .internal-index-row{min-height:72px}.internal-clinical-station{display:grid!important;gap:22px!important}.internal-clinical-columns{display:grid;grid-template-columns:minmax(230px,42%) minmax(0,1fr);grid-template-areas:"context work";gap:28px}.internal-clinical-context{grid-area:context;background:#f6f8fa;border:1px solid #dce3eb;padding:20px;min-width:0}.internal-clinical-work{grid-area:work;min-width:0;position:sticky;top:0;align-self:start}.internal-clinical-columns h3{font-size:16px!important;margin:0 0 22px!important}.internal-clinical-columns h4{font-size:13px;color:#59677a;margin:0 0 8px}.internal-clinical-columns section{border:0;border-bottom:1px solid #dce3eb;border-radius:0;background:transparent;padding:0 0 18px;margin-bottom:20px}.internal-clinical-columns p,.internal-clinical-columns li{font-size:14px;line-height:1.65}.internal-clinical-work .sector-actions{display:flex;flex-wrap:wrap;gap:10px;padding-top:20px}
.internal-services .appointment{display:grid;grid-template-columns:1fr;gap:12px;border:0;border-top:1px solid #e4e9ee;padding:18px 0;margin:0}.internal-services .appointment>time{display:none}.internal-services .appointment-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:start}.internal-services .appointment>div:nth-child(2){display:none}.internal-service-segments{margin:0;padding:20px 0 20px 20px}.internal-service-segments li{padding:10px 0;border-bottom:1px solid #e4e9ee}.internal-service-segments small{display:block;color:#59677a;font-size:13px;margin-top:4px}.salon-filters{padding-bottom:16px;border-bottom:1px solid #dce3eb}.salon-app .salon-row,.academy-row,.hotel-row,.gym-row{border-radius:0!important;box-shadow:none!important}.salon-app .salon-list{gap:0}
.internal-store .order-layout,.internal-restaurant .order-layout{grid-template-columns:minmax(0,1fr) minmax(300px,38%);align-items:start;gap:28px}.internal-store .order-layout>.panel:last-child,.internal-restaurant .order-layout>.panel:last-child{position:sticky;top:18px;background:#fff;border-left:3px solid #245b85}.internal-store .product-grid{display:block}.internal-store .product-button{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 20px;text-align:left;width:100%;border:0;border-bottom:1px solid #dce3eb;box-shadow:none;border-radius:0;background:transparent;padding:16px 8px}.internal-store .product-button b{grid-column:1;font-size:16px}.internal-store .product-button small{grid-column:2;grid-row:1;font-size:16px;color:#172638;font-variant-numeric:tabular-nums}.internal-store .product-button em{grid-column:1;font-size:12px;font-style:normal;color:#59677a}.internal-store .product-button:hover{background:#eaf1f6}.internal-store .line{grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:16px 0}.internal-store .line>.line-actions{grid-column:1/-1;justify-content:space-between}.internal-restaurant .table-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px}.internal-restaurant .table-card{min-height:116px;border-radius:5px;box-shadow:none;padding:16px;justify-content:space-between}.internal-restaurant .table-zone{border:0;border-top:1px solid #dce3eb;border-radius:0;padding:20px 0;background:transparent}.internal-restaurant .table-zone-head{margin-bottom:18px}.internal-restaurant .kitchen-board{gap:20px}.internal-restaurant .kitchen-card{box-shadow:none;border-radius:5px;border-top:3px solid #31516b}.internal-order-layout-heading{display:flex;align-items:center;gap:10px}
.internal-workshop-flow{min-width:0;display:grid;gap:24px}.internal-workshop-flow .kanban{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(210px,1fr);gap:12px;align-items:start}.internal-workshop-flow .kanban-column{border-radius:5px;background:#f1f4f7;padding:12px}.internal-workshop-flow .kanban-column h4{display:flex;align-items:center;justify-content:space-between;margin:0 0 12px;font-size:13px}.internal-stage-count{font-size:12px;color:#59677a;background:#fff;padding:2px 8px;border-radius:3px}.internal-workshop-job{margin-bottom:10px;border:1px solid #dce3eb;background:#fff;border-radius:4px}.internal-workshop-job.selected{border-color:#245b85;box-shadow:inset 3px 0 #245b85}.internal-workshop-job .job-card{border:0;box-shadow:none;margin:0;padding:12px;background:transparent}.internal-workshop-job .job-card-heading{display:none}.internal-job-select{width:100%;justify-content:start!important;text-align:left;border:0;border-radius:0!important;padding:12px!important;font-size:14px!important;font-weight:600!important}.internal-workshop-flow>.internal-detail{position:static}.internal-workshop-flow>.internal-detail .internal-facts{grid-template-columns:repeat(3,minmax(0,1fr))}
.internal-gym-reception{display:grid;gap:22px}.internal-gym-reception .internal-split{grid-template-columns:minmax(250px,32%) minmax(0,1fr)}.internal-reception-tools,.internal-reception-ledger{display:grid;align-content:start;gap:18px}.internal-gym-reception .gym-metrics{display:flex;flex-wrap:wrap;border-bottom:1px solid #dce3eb;padding-bottom:18px;gap:24px}.internal-gym-reception .metric{border:0;padding:0;background:transparent}.internal-gym-reception .metric strong{font-size:22px}.gym-app .gym-class-card{border-radius:5px;box-shadow:none;border-top:3px solid #31516b}.gym-app .gym-row{border:0;border-bottom:1px solid #dce3eb;background:transparent;padding:14px 0}.gym-app .gym-detail{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.internal-laundry{grid-template-columns:minmax(245px,30%) minmax(0,1fr)}.internal-laundry-detail{min-width:0}.internal-laundry-detail .panel{border-radius:5px;border-top:3px solid #31516b}.internal-laundry-detail .laundry-garments{display:grid;gap:0}.internal-laundry-detail .laundry-garment{border-radius:0;border:0;border-top:1px solid #dce3eb;background:transparent}.laundry-app .laundry-order-meta{font-size:13px;gap:12px;padding-bottom:16px;border-bottom:1px solid #dce3eb}.laundry-app .laundry-order-actions{padding-top:18px;border-top:1px solid #dce3eb;gap:8px;flex-wrap:wrap}.laundry-app .laundry-order-actions button{min-height:40px}.laundry-app:fullscreen{padding:24px;background:#fafbfc;overflow:auto}.laundry-app:fullscreen .internal-split{grid-template-columns:30% minmax(0,1fr)}
.hotel-app .hotel-calendar{font-size:13px;font-variant-numeric:tabular-nums}.hotel-app .hotel-search{align-items:end}.hotel-app .hotel-metrics{background:transparent;border-top:1px solid #dce3eb;border-bottom:1px solid #dce3eb;padding:12px 0}.hotel-app .hotel-cards{display:block}.hotel-app .hotel-room-card{display:flex;justify-content:space-between;flex-wrap:wrap;align-items:center;gap:12px;border:0;border-bottom:1px solid #dce3eb;border-radius:0;box-shadow:none;padding:16px 0}.hotel-app .hotel-row{border:0;border-bottom:1px solid #dce3eb;background:transparent;padding:14px 0}
.hotel-app>.screen-title{margin-bottom:0;align-items:center}.hotel-app>.sector-tabs{min-width:0;max-width:100%;flex-wrap:nowrap;overflow-x:auto!important;scrollbar-width:thin;scroll-snap-type:x proximity}.hotel-app>.sector-tabs .sector-tab{flex:0 0 auto;white-space:nowrap;scroll-snap-align:start}.hotel-app .hotel-task-actions,.workday .hotel-task-actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:8px}.hotel-app .status,.hotel-detail .status,.workday .hotel-row .status{animation:none}.hotel-app .hotel-room-card>.status{justify-self:end;align-self:center;flex:0 0 auto;max-width:100%}
.hotel-app .hotel-cell.blocked button:disabled{opacity:1;color:#73404b;cursor:not-allowed}
.vet-workspace .vet-hero{background:transparent;border:0;padding:0 0 20px;border-radius:0;box-shadow:none}.vet-workspace .vet-family-grid{grid-template-columns:minmax(240px,28%) minmax(0,1fr);gap:28px}.vet-workspace .vet-owner-list{gap:0}.vet-workspace .vet-owner-group{border:0;border-bottom:1px solid #dce3eb;border-radius:0;padding:16px 0}.vet-workspace .vet-pet-button{border-radius:3px;min-height:54px}.vet-workspace .vet-card{border:0;border-bottom:1px solid #dce3eb;background:transparent;border-radius:0;padding:16px 0;box-shadow:none}.vet-workspace .vet-pet-view>.panel{border:0;border-top:1px solid #dce3eb;background:transparent;border-radius:0;padding:20px 0}.vet-workspace .vet-pet-heading{background:#fff;border-left:3px solid #245b85;padding:20px;margin-bottom:18px}.vet-workspace .vet-facts{gap:20px}
.academy-app .academy-columns{grid-template-columns:minmax(0,1fr) minmax(260px,32%)}.academy-app .academy-row{border:0;border-bottom:1px solid #dce3eb;padding:15px 0;background:transparent}.academy-app .academy-announcement{border:0;border-left:3px solid #31516b;border-radius:0;padding:18px 22px;background:#fff}.academy-app .internal-academy{grid-template-columns:40% minmax(0,1fr)}
.app-shell .segmented,.sector-tabs,.vet-tabs{display:flex;flex-wrap:wrap;overflow:visible!important;border-bottom:1px solid #dce3eb;padding-bottom:10px;gap:6px}.app-shell .chip,.app-shell .sector-tab,.vet-tabs button{border:0;background:transparent;border-radius:3px;padding:9px 13px;color:#59677a;font-weight:500;box-shadow:none;white-space:normal}.app-shell .chip.active,.app-shell .sector-tab.active,.vet-tabs .active{background:#eaf1f6;color:#245b85;box-shadow:inset 0 -2px #245b85}.app-shell :is(button,a,input,select,textarea):focus-visible,.modal-card :is(button,a,input,select,textarea):focus-visible{outline:2px solid #245b85;outline-offset:3px}
html[data-joredu-experience=workspace] .modal-card{width:min(940px,calc(100vw - 40px));max-height:calc(100dvh - 40px);border-radius:6px;display:flex;flex-direction:column;padding:0;overflow:hidden}html[data-joredu-experience=workspace] .modal-head{padding:22px 28px;border-bottom:1px solid #dce3eb;background:#fff;margin:0;flex-shrink:0}html[data-joredu-experience=workspace] .modal-body{padding:26px 28px;overflow:auto;min-height:0}html[data-joredu-experience=workspace] .modal-card h2{font-size:25px;line-height:1.35}html[data-joredu-experience=workspace] .modal-footer{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;border-top:1px solid #dce3eb;padding:20px 0 0;margin:22px 0 0}html[data-joredu-experience=workspace] .internal-form-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}html[data-joredu-experience=workspace] .internal-form-fields>:is(.field-row,.row,.notice,.grid,.panel,.form-stack,fieldset,.health-patient-banner,.health-certificate-context,.health-certificate-preview,.health-cie10-search,.health-atlas),html[data-joredu-experience=workspace] .internal-form-fields>:has(textarea){grid-column:1/-1}html[data-joredu-experience=workspace] .internal-form-fields>input[type=hidden]{display:none}html[data-joredu-experience=workspace] .internal-form-fields>.field{margin:0;align-self:start}html[data-joredu-experience=workspace] .internal-form-fields>:is(h3,h4,p,a,button){grid-column:1/-1;justify-self:start}html[data-joredu-experience=workspace] .modal-card .field>span{line-height:1.5}.modal-card .sector-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.modal-card .sector-fact{background:transparent;border:0;border-bottom:1px solid #dce3eb;border-radius:0;padding:12px 0}.modal-card .sector-fact small{font-size:12px;color:#59677a}.modal-card .sector-fact strong{font-size:14px;line-height:1.6}.modal-card .panel{border-radius:5px;box-shadow:none}.modal-card .empty{min-height:0;padding:16px}.modal-card .empty-icon{display:none}
@media(max-width:1050px){.internal-split{grid-template-columns:minmax(220px,40%) minmax(0,1fr);gap:20px}.internal-index{padding-right:18px}.internal-detail{padding:20px}.internal-facts{grid-template-columns:1fr}.internal-store .order-layout,.internal-restaurant .order-layout{grid-template-columns:minmax(0,1fr)}.internal-store .order-layout>.panel:last-child,.internal-restaurant .order-layout>.panel:last-child{position:static}.vet-workspace .vet-family-grid{grid-template-columns:240px minmax(0,1fr)}}
@media(max-width:900px){.vet-workspace .vet-family-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:800px){.academy-app .academy-columns{grid-template-columns:minmax(0,1fr)}}
@media(max-width:760px){.internal-split,.internal-gym-reception .internal-split,.internal-store .order-layout,.internal-restaurant .order-layout,.academy-app .internal-academy,.vet-workspace .vet-family-grid,.academy-app .academy-columns{display:grid;grid-template-columns:1fr;gap:22px}.internal-index{border-right:0;padding-right:0;max-height:none}.internal-index-list{max-height:360px;overflow:auto}.internal-detail{position:static;padding:20px}.internal-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.internal-detail-heading h3{font-size:22px}.internal-store .order-layout>.panel:last-child,.internal-restaurant .order-layout>.panel:last-child{position:static}.internal-workshop-flow>.internal-detail .internal-facts{grid-template-columns:1fr 1fr}.internal-clinical-context{padding:16px}.internal-gym-reception .gym-metrics{gap:14px}.internal-gym-reception .metric{width:calc(50% - 14px)}.app-shell .screen-title h2{font-size:24px}.app-shell .sector-tabs{gap:4px}.app-shell .sector-tab{font-size:13px;padding:9px 11px}.internal-detail-actions{display:grid;grid-template-columns:1fr}.internal-detail-actions>button{width:100%;justify-content:start}.hotel-app .hotel-room-card{display:grid;grid-template-columns:1fr 1fr}.hotel-app .hotel-room-card>.hotel-actions{grid-column:1/-1}.vet-workspace .vet-pet-heading{display:block}.vet-workspace .vet-pet-heading .vet-actions{margin-top:14px}.internal-service-segments{font-size:14px}html[data-joredu-experience=workspace] .modal-card{width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}html[data-joredu-experience=workspace] .modal-head{padding:18px}html[data-joredu-experience=workspace] .modal-body{padding:20px 18px}html[data-joredu-experience=workspace] .internal-form-fields{grid-template-columns:1fr;gap:18px}html[data-joredu-experience=workspace] .internal-form-fields>*{grid-column:1!important}.modal-card .sector-facts{grid-template-columns:1fr}.internal-laundry-detail .laundry-order-meta{display:grid}.internal-laundry-detail .laundry-order-actions button{flex:1 0 40%}.laundry-app:fullscreen .internal-split{grid-template-columns:1fr}.internal-clinical-columns{gap:20px}}
@media(max-width:760px){.internal-health .internal-appointment,.gym-app .gym-detail,.modal-card .gym-detail{grid-template-columns:1fr}.internal-detail,.internal-laundry-detail{scroll-margin-top:130px}.internal-back-index{display:block;border:0;background:transparent;color:#245b85;padding:0 0 12px;min-height:44px;text-decoration:underline;text-align:left;font-size:14px}.internal-workshop-flow .internal-back-index{display:none}.internal-laundry-detail>.internal-back-index{margin-bottom:8px}}
@media(max-width:1050px){.internal-veterinary-columns{grid-template-columns:1fr}.internal-veterinary-followup{border-left:0;border-top:1px solid #dce3eb;padding:22px 0 0}}
html[data-joredu-experience=workspace] .field:has(input[type=checkbox]),html[data-joredu-experience=workspace] .field:has(input[type=radio]){min-height:44px;cursor:pointer}
html[data-joredu-experience=workspace] .field input[type=checkbox],html[data-joredu-experience=workspace] .field input[type=radio]{appearance:auto;width:20px;height:20px;min-height:20px!important;min-width:20px;margin:0;padding:0;accent-color:#245b85;box-shadow:none}
.refund-quantity{width:144px;max-width:42%;flex-shrink:0}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important}.internal-index-row{transition:none}}
}

@media(max-width:760px){.internal-clinical-columns{grid-template-columns:1fr;grid-template-areas:"context" "work"}.internal-clinical-work{position:static}}

/* Preserve usable object sizes; only the plan scrolls on narrow screens. */
.floor-plan-viewport{min-width:0}.floor-plan-canvas{min-width:720px}
@media(max-width:760px){.floor-plan-toolbar>button{flex:1 1 124px;min-width:124px;white-space:normal}.floor-plan-toolbar .floor-plan-floor{min-width:0}.floor-plan-toolbar .floor-plan-select{min-width:0;max-width:100%}}


html[data-joredu-experience=workspace] .laundry-form-fields{border:0;padding:0;margin:0;min-width:0;grid-column:1/-1;width:100%}.laundry-form-fields>.laundry-lines{grid-column:1/-1}

.laundry-app>.screen-title{align-items:flex-end;margin-bottom:0}.laundry-app>.screen-title .eyebrow{font-size:11px;letter-spacing:.12em}.laundry-app>.screen-title h2{margin-bottom:0}.laundry-app>.sector-tabs{display:flex;flex-wrap:nowrap;overflow-x:auto!important;scrollbar-width:thin;max-width:100%;min-width:0;gap:4px}.laundry-app>.sector-tabs>.sector-tab{flex:0 0 auto;white-space:nowrap}.laundry-app .status.open{animation:none}.laundry-app .laundry-garment>.status{align-self:center;flex:0 0 auto;width:auto;max-width:max-content}
@media(max-width:760px){.laundry-order-workspace:not(.is-detail-open)>.internal-laundry-detail,.laundry-order-workspace.is-detail-open>.internal-index,.laundry-order-workspace>.internal-placeholder{display:none}.laundry-order-workspace>.internal-index .internal-index-list{max-height:none;overflow:visible}.laundry-order-workspace>.internal-index{border:0;padding-right:0}.laundry-order-workspace.is-detail-open{gap:0}.laundry-order-workspace>.internal-laundry-detail{scroll-margin-top:130px}}

/* Restaurant bill selection: a full touch target per row, stable names and prices. */
.restaurant-bill-items{border:0;padding:0;margin:0;min-width:0;display:grid;gap:8px}
.restaurant-bill-choice{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:56px;padding:6px 12px 6px 0;border:1px solid var(--line,#dce3e8);border-radius:10px;cursor:pointer}
.restaurant-bill-choice input[type=checkbox]{width:20px;height:20px;margin:12px;accent-color:#245d80}
.restaurant-bill-choice span{overflow-wrap:anywhere}
.restaurant-bill-choice b{white-space:nowrap}
.restaurant-bill-choice:has(input:checked){background:#edf4f8;border-color:#245d80}
.restaurant-bill-choice:has(input:focus-visible){outline:2px solid #245d80;outline-offset:2px}

html[data-joredu-experience=workspace] .modal-body .workshop-form-fields :is(input,textarea)[required]{scroll-margin-top:44px}

/* Long authored names must wrap without pushing the dialog or its close control. */
html[data-joredu-experience=workspace] .modal-card,html[data-joredu-experience=workspace] .modal-head{min-width:0}
html[data-joredu-experience=workspace] .modal-head>:first-child{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}
html[data-joredu-experience=workspace] .modal-head h2{min-width:0;overflow-wrap:anywhere}
html[data-joredu-experience=workspace] .modal-head>.icon-button{flex:0 0 auto;align-self:flex-start}

.veni-order-authorization{max-width:46rem}.veni-order-authorization .joredu-logo{max-width:10rem}.veni-order-authorization dl{display:grid;grid-template-columns:auto 1fr;gap:.5rem 1rem;padding:1rem 0;border-block:1px solid var(--line,#dce3eb)}.veni-order-authorization dd{margin:0;overflow-wrap:anywhere}.veni-order-authorization form{display:grid;gap:1rem}.veni-order-authorization label{display:grid;gap:.5rem}.veni-order-authorization select{width:100%}
.web-orders{display:grid;gap:1.5rem;max-width:90rem;margin:0 auto}.web-orders-heading,.web-order-heading,.web-order-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem}.web-orders-heading h2{margin:.2rem 0 .5rem}.web-orders-heading p{margin:.4rem 0}.web-orders-filters{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.5rem}.web-orders-filters button{white-space:nowrap;flex-shrink:0}.web-orders-list{display:grid;gap:1.25rem}.web-order{background:var(--surface,#fff);border:1px solid var(--line,#dce3eb);border-radius:1rem;overflow:hidden}.web-order-heading{padding:1.25rem 1.5rem;border-bottom:1px solid var(--line,#dce3eb)}.web-order-heading h3{font-size:1.3rem;margin:.35rem 0}.web-order-heading p{margin:0;overflow-wrap:anywhere}.web-order-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(12rem,26%);gap:1.5rem;padding:1.5rem}.web-order-products{display:grid;gap:.8rem;align-content:start}.web-order-line{display:grid;grid-template-columns:3.3rem minmax(0,1fr) auto;gap:.5rem;padding-bottom:.8rem;border-bottom:1px solid var(--line,#dce3eb)}.web-order-line small,.web-order-footer small{display:block}.web-order-quantity{font-variant-numeric:tabular-nums}.web-order-contact{display:grid;gap:.7rem;align-content:start;border-left:1px solid var(--line,#dce3eb);padding-left:1.5rem;overflow-wrap:anywhere}.web-order-contact p{margin:.25rem 0}.web-order-footer{padding:1rem 1.5rem;background:#f6f8fb}.web-order-footer .actions{display:flex;flex-wrap:wrap;gap:.5rem}.web-order-note{padding:.7rem 1.5rem;margin:0;font-size:.9rem;overflow-wrap:anywhere}.web-orders-empty{border-block:1px solid var(--line,#dce3eb);padding:3rem 1rem;text-align:center}
@media(max-width:800px){.web-orders-heading{align-items:flex-start;flex-direction:column}.web-order-body{grid-template-columns:1fr}.web-order-contact{border-left:0;border-top:1px solid var(--line,#dce3eb);padding:1rem 0 0}.web-order-footer{align-items:flex-start;flex-direction:column}.web-order-heading,.web-order-body,.web-order-footer{padding:1rem}.web-order-note{padding:.7rem 1rem}.web-order-heading{align-items:flex-start}.web-order-heading h3{font-size:1.15rem}.web-order-line{grid-template-columns:2.7rem minmax(0,1fr) auto}}

.equipment-offers{border-block-start:1px solid var(--line,#d7e0e8);padding-block-start:1.25rem;max-width:70rem}
.equipment-offers h3{margin:0 0 .6rem}.equipment-offers dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;margin:1.25rem 0}
.equipment-offers dt{font-weight:600;margin-block-end:.4rem}.equipment-offers dd{margin:0;line-height:1.6}
.equipment-agreement{padding:1.2rem 0;border-block-end:1px solid var(--line,#d7e0e8);min-width:0}
.equipment-prepared{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.equipment-prepared>strong{flex:1 1 14rem;min-width:0;overflow-wrap:anywhere}.equipment-prepared>.secondary{max-width:100%;white-space:normal}
.equipment-agreement header{display:flex;align-items:start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.equipment-agreement h3,.equipment-agreement p{margin:.3rem 0 .7rem}
.equipment-agreement details{margin-block:1rem}.equipment-agreement summary{cursor:pointer;font-weight:500}.equipment-terms{white-space:pre-wrap;overflow-wrap:anywhere;max-width:65ch;line-height:1.65}
@media(max-width:700px){.equipment-offers dl{grid-template-columns:1fr;gap:1rem}.equipment-agreement .line-actions{flex-direction:column;align-items:stretch}.equipment-agreement header{display:block}}
.equipment-agreement [data-user-content]{white-space:pre-wrap;overflow-wrap:anywhere}

.sri-screen{max-width:1100px}.sri-facts{display:grid;gap:12px;margin:0}.sri-facts>div{display:grid;grid-template-columns:minmax(120px,1fr) minmax(0,2fr);gap:12px}.sri-facts dt{color:var(--muted,#69727d)}.sri-facts dd{margin:0;overflow-wrap:anywhere;min-width:0}.sri-wrap{overflow-wrap:anywhere;word-break:break-word}.sri-form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.sri-form-row>*{min-width:0}.sri-draft-line{border:1px solid var(--line,#dce0e5);border-radius:12px;padding:16px;display:grid;gap:12px;min-width:0}.sri-draft-line legend{font-weight:600;padding:0 6px}.sri-document-list{display:grid;gap:12px}.sri-document-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;border:1px solid var(--line,#dce0e5);border-radius:12px;min-width:0}.sri-document-row>div{min-width:0}.sri-document-row small{display:block}.sri-actions{display:flex;align-items:stretch;flex-wrap:wrap;gap:8px}.sri-actions>*{max-width:100%;white-space:normal;min-height:44px}.sri-actions>a{display:inline-flex;align-items:center;justify-content:center;text-align:center}.sri-lines{padding-left:20px;overflow-wrap:anywhere}.sri-document-detail{min-width:0}@media(max-width:600px){.sri-form-row{grid-template-columns:1fr}.sri-facts>div{grid-template-columns:1fr;gap:3px}.sri-document-row{align-items:stretch;flex-direction:column}.sri-actions{display:grid;grid-template-columns:1fr}.sri-document-row button{width:100%}}

.sri-document-detail .sri-facts dd.sri-wrap{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.875rem}
.sri-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sri-review-item{display:grid;gap:8px;align-content:start;min-width:0;padding:16px;border:1px solid var(--line,#dce0e5);border-radius:12px}.sri-review-item p{margin:0;color:var(--muted,#69727d);font-size:14px;line-height:1.5}.sri-review-status{justify-self:start;padding:4px 8px;border:1px solid var(--line,#dce0e5);border-radius:8px;font-size:13px;font-weight:600}.sri-brand-preview{display:block;max-width:240px;max-height:120px;object-fit:contain;object-position:left center;background:#fff;padding:12px;border:1px solid var(--line,#dce0e5);border-radius:8px}.sri-confirm{display:flex;align-items:flex-start;gap:12px;min-height:44px;padding:12px;border:1px solid var(--line,#dce0e5);border-radius:8px;line-height:1.5;cursor:pointer}.sri-confirm input[type=checkbox]{flex:0 0 20px;width:20px;min-width:20px;height:20px;min-height:20px;margin:2px 0 0}@media(max-width:600px){.sri-review-grid{grid-template-columns:1fr}.sri-brand-preview{max-width:100%}}
.sri-sale-summary {
  display:grid;
  gap:12px;
  min-width:0
}

.sri-sale-summary>p {
  overflow-wrap:anywhere
}

.sri-price-check-cases {
  display:grid;
  gap:12px
}

.sri-price-check-line {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(100px,130px) auto;
  align-items:end;
  gap:12px;
  min-width:0;
  margin:0;
  padding:14px;
  border:1px solid var(--line,#dce0e5);
  border-radius:8px
}

.sri-price-check-line .field {
  min-width:0
}

.sri-price-check-line select,.sri-price-check-line input,.sri-price-check-line button {
  min-height:48px
}

.sri-price-check [hidden] {
  display:none!important
}

@media(max-width:640px) {
  .sri-price-check-line {
  grid-template-columns:minmax(0,1fr) minmax(80px,110px)
}

.sri-price-check-line>.field:first-child {
  grid-column:1/-1
}

.sri-price-check-line>button {
  align-self:end
}

.sri-price-check .modal-footer {
  display:grid;
  grid-template-columns:1fr
}

}

/* IBM Plex Sans, IBM/plex. Complete WOFF2; SIL Open Font License in fonts/. */
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;src:url('/brand/joredu/IBMPlexSans-Regular.woff2') format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:500;font-display:swap;src:url('/brand/joredu/IBMPlexSans-Medium.woff2') format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:600;font-display:swap;src:url('/brand/joredu/IBMPlexSans-SemiBold.woff2') format('woff2')}
:root{--joredu-font:'IBM Plex Sans','Segoe UI',Arial,sans-serif;font-family:var(--joredu-font);font-synthesis:none}
body,button,input,select,textarea{font-family:var(--joredu-font);line-height:1.5}
body,.app-shell,.modal-card,.receipt{font-family:var(--joredu-font)}
h1,h2,h3,h4,b,strong{font-weight:600}
input[type=number],time,.metric,.total-box,.report-table,.hotel-calendar,.status,.internal-facts dd,.qty-control{font-variant-numeric:tabular-nums}
pre{font-family:'Cascadia Mono',Consolas,monospace}
@media print{body,button,input,select,textarea,.receipt{font-family:var(--joredu-font)} }
