    :root{
      --cream:#fff;--paper:#fff;--ink:#0a1d3a;--soft:#526176;
      --line:rgba(10,29,58,.13);--black:#0a1d3a;--gold:#2c3e57;
      --green:#4f7d5b;--red:#a14b4b;--blue:#4d6478;
      --shadow:0 10px 34px rgba(10,29,58,.075);
      --content-max:1480px;--page-gap:clamp(12px,1.2vw,18px);--card-pad:clamp(15px,1.35vw,20px)
    }
    *{box-sizing:border-box}
    html,body,#app{min-height:100%}
    html{background:#fefefe;-webkit-text-size-adjust:100%;text-size-adjust:100%}
    body{margin:0;font-family:Poppins,"Avenir Next",Inter,"Segoe UI",Arial,sans-serif;font-size:15px;line-height:1.5;background:
      radial-gradient(circle at 8% 0,rgba(44,62,87,.085),transparent 25%),
      #fff;color:var(--ink)}
    body.authOnly{overflow:hidden;background:#fff}
    .srOnly{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}
    button,input,select,textarea{font:inherit}
    button{cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease,border-color .16s ease,opacity .16s ease}
    button:active:not(:disabled){transform:translateY(1px) scale(.985)}
    button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(44,62,87,.38);outline-offset:2px}
    button:disabled{cursor:not-allowed;opacity:.52;filter:saturate(.55)}
    .app{display:grid;grid-template-columns:268px minmax(0,1fr);min-height:100vh;min-height:100dvh}
    .mobileAppHeader,.mobileAppDock,.mobileSheetOverlay{display:none}
    body.restaurantAppMode{height:100%;overflow:hidden;overscroll-behavior:none}
    body.restaurantAppMode #app{height:100vh;height:100dvh;overflow:hidden}
    body.restaurantAppMode .app{height:100vh;height:100dvh;min-height:0;overflow:hidden}
    body.restaurantAppMode .app:not(.terminalApp)>.main{height:100vh;height:100dvh;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}
    .side{position:sticky;top:0;height:100vh;height:100dvh;overflow-y:auto;padding:calc(20px + env(safe-area-inset-top)) 18px calc(20px + env(safe-area-inset-bottom));border-right:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,#0a1d3a,#102b50);color:#fefefe}
    .brand{display:flex;gap:12px;align-items:center;margin-bottom:18px}
    .logo{flex:0 0 50px;width:50px;height:50px;aspect-ratio:1;border-radius:15px;background:#fefefe;color:#0a1d3a;display:grid;place-items:center;font-weight:950;font-size:22px;box-shadow:0 12px 34px rgba(0,0,0,.22)}
    .brand h1{margin:0;font-size:27px;letter-spacing:-.04em}.muted{color:var(--soft)}.side .muted,.side small{color:rgba(254,254,254,.62)}
    .nav{display:grid;gap:14px}.mobileNav{display:none}
    .nav button,.btn,.tool{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 15px;min-height:46px;border-radius:16px;border:1px solid transparent;background:transparent;color:var(--ink);text-align:left}
    .nav button{justify-content:flex-start;min-height:41px;padding:9px 11px;border-radius:12px;color:rgba(254,254,254,.78);border-color:transparent}.nav button:hover{background:rgba(254,254,254,.08);border-color:rgba(255,255,255,.08);color:#fefefe}.btn:hover,.tool:hover{background:rgba(10,29,58,.05);border-color:var(--line)}
    .nav button.active{background:#fefefe;border-color:#fefefe;color:#0a1d3a}
    .uiIcon{display:block;flex:0 0 20px;width:20px;height:20px;min-width:20px;min-height:20px;aspect-ratio:1;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.iconBtn .uiIcon{flex-basis:21px;width:21px;height:21px;min-width:21px;min-height:21px}.nav .uiIcon{flex-basis:19px;width:19px;height:19px;min-width:19px;min-height:19px;opacity:.88}
    .main{width:min(100%,var(--content-max));min-width:0;margin-inline:auto;padding:calc(clamp(18px,2vw,30px) + env(safe-area-inset-top)) max(clamp(18px,2.2vw,34px),env(safe-area-inset-right)) calc(72px + env(safe-area-inset-bottom)) max(clamp(18px,2.2vw,34px),env(safe-area-inset-left))}.top{display:flex;gap:var(--page-gap);align-items:center;justify-content:space-between;margin-bottom:var(--page-gap)}
    .tools{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.tool{background:rgba(254,254,254,.78);border-color:var(--line);box-shadow:0 8px 30px rgba(10,29,58,.05)}
    .search{flex:1;min-width:220px;background:rgba(254,254,254,.92);border:1px solid var(--line);border-radius:18px;padding:15px 18px;color:var(--ink)}
    .user{display:flex;gap:11px;align-items:center;background:rgba(254,254,254,.92);border:1px solid var(--line);padding:11px 15px;border-radius:18px}
    .avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--black),var(--gold))}
    .hero{padding:clamp(22px,2.2vw,32px);background:linear-gradient(135deg,#fefefe,#e5eaf0);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}
    h2{margin:0;font-size:clamp(29px,2.35vw,38px);line-height:1.08;letter-spacing:-.04em}h3{line-height:1.25}.hero h2{font-size:clamp(34px,3.1vw,48px);line-height:1.04;margin:8px 0}.hero p{font-size:clamp(15px,1.2vw,17px);line-height:1.55;max-width:860px}
    .grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--page-gap)}.s3{grid-column:span 3}.s4{grid-column:span 4}.s5{grid-column:span 5}.s6{grid-column:span 6}.s7{grid-column:span 7}.s8{grid-column:span 8}.s12{grid-column:span 12}
    .card{min-width:0;background:rgba(255,252,247,.82);border:1px solid rgba(10,29,58,.105);border-radius:17px;padding:var(--card-pad);box-shadow:0 5px 20px rgba(10,29,58,.055);overflow:visible}
    .pageView{animation:pageIn .22s ease-out}.btnLabel{display:inline-flex;align-items:center;gap:7px}.buttonPulse{animation:buttonPulse .28s ease-out}
    @keyframes softIn{from{opacity:.92;transform:translateY(1px)}to{opacity:1;transform:translateY(0)}}
    @keyframes pageIn{from{opacity:.65;transform:translateY(4px)}to{opacity:1;transform:none}}
    @keyframes buttonPulse{50%{box-shadow:0 0 0 5px rgba(44,62,87,.18)}}
    .kpi{font-size:32px;font-weight:900;margin-top:10px;letter-spacing:-.05em}.pill{display:inline-flex;border-radius:999px;background:rgba(10,29,58,.055);border:1px solid var(--line);padding:7px 11px;font-size:12px}
    .primary{background:var(--black)!important;color:var(--cream)!important;border-color:var(--black)!important}.pay{background:var(--green)!important;color:#fff!important;border-color:var(--green)!important}
    .dangerBtn{background:var(--red)!important;color:#fff!important;border-color:var(--red)!important}.secondary{background:rgba(254,254,254,.8)!important;border-color:var(--line)!important}.gold{background:var(--gold)!important;color:#fff!important;border-color:var(--gold)!important}
    .ok{color:var(--green)}.warn{color:var(--gold)}.danger{color:var(--red)}.blueText{color:var(--blue)}
    .bar,.rowActions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.bar{margin-top:18px}.btn{max-width:100%;white-space:normal;overflow-wrap:anywhere}.rowActions{display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));min-width:280px;max-width:100%}.rowActions .btn{width:100%}
    .table{display:block;width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-collapse:separate;border-spacing:0 10px}.table th,.table td{text-align:left;padding:13px;vertical-align:middle}.table th{color:var(--soft);font-size:12px;text-transform:uppercase;letter-spacing:.08em}
    .table td{background:rgba(255,255,255,.52);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.table td:first-child{border-left:1px solid var(--line);border-radius:14px 0 0 14px}.table td:last-child{border-right:1px solid var(--line);border-radius:0 14px 14px 0}
    .map{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.tablechip{min-height:88px;border-radius:18px;border:1px solid var(--line);display:grid;place-items:center;text-align:center;background:rgba(255,255,255,.52);padding:12px}
    .free{box-shadow:inset 0 0 0 2px rgba(79,125,91,.25)}.busy{box-shadow:inset 0 0 0 2px rgba(161,75,75,.25)}.reserved{box-shadow:inset 0 0 0 2px rgba(77,100,120,.38)}
    .tilegrid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.product{min-height:94px;border:1px solid var(--line);background:rgba(255,255,255,.52);border-radius:18px;padding:14px;text-align:center}
    .kanban{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.lane{background:rgba(255,255,255,.45);border:1px solid var(--line);border-radius:20px;padding:15px}.ticket{background:#fefefe;border:1px solid var(--line);border-radius:16px;padding:13px;margin-top:12px}
    .input,select{width:100%;padding:13px 14px;border-radius:16px;border:1px solid var(--line);background:#fefefe;color:var(--ink)}.formGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:14px 0}.reservationEditor{scroll-margin-top:12px;transition:border-color .2s ease,box-shadow .2s ease}.reservationEditor.attention{border-color:rgba(44,62,87,.65);box-shadow:0 0 0 4px rgba(44,62,87,.12),0 16px 42px rgba(10,29,58,.1)}.reservationForm label{display:grid;gap:6px;min-width:0}.reservationForm label>span{color:var(--soft);font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.reservationForm label>span small{font-size:8px;font-weight:800;letter-spacing:0;text-transform:none}.reservationForm input,.reservationForm select{min-width:0;max-width:100%}.reservationDietary{grid-column:1/-1}.reservationSubmit{min-height:48px}.reservationFormHint{margin:10px 0 0;font-size:11px;line-height:1.45}.moduleEmptyState{display:grid;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:14px;min-height:150px;padding:24px;border:1px dashed rgba(44,62,87,.42);border-radius:18px;background:linear-gradient(135deg,rgba(254,254,254,.78),rgba(245,237,225,.58))}.moduleEmptyState>span{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:#0a1d3a;color:#a9b4c6}.moduleEmptyState .uiIcon{width:25px;height:25px}.moduleEmptyState h3,.moduleEmptyState p{margin:0}.moduleEmptyState p{margin-top:5px;color:var(--soft);font-size:12px;line-height:1.5}.moduleEmptyState .btn{margin-top:12px}.moduleEmptyState.compact{min-height:0;padding:18px}.reservationListCard{min-width:0}
    .lulouSelect{position:relative;display:block;width:100%;min-width:0}.lulouNativeSelect{position:absolute!important;inset:0!important;width:1px!important;height:1px!important;min-height:0!important;margin:0!important;padding:0!important;opacity:0!important;pointer-events:none!important}.lulouSelectButton{display:grid;grid-template-columns:minmax(0,1fr) 18px;align-items:center;gap:11px;width:100%;min-height:48px;padding:11px 13px;border:1px solid var(--line);border-radius:15px;background:#fefefe;color:var(--ink);font:inherit;text-align:left;box-shadow:0 3px 10px rgba(10,29,58,.035)}.lulouSelectValue{overflow:hidden;font-size:13px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.lulouSelectChevron{justify-self:end;width:8px;height:8px;margin-right:2px;border-right:2px solid var(--gold);border-bottom:2px solid var(--gold);transform:rotate(45deg) translateY(-2px)}.lulouSelectButton:hover{border-color:rgba(44,62,87,.48);background:#fefefe}.lulouSelectButton:focus-visible{outline:3px solid rgba(44,62,87,.28);outline-offset:2px}.lulouSelectButton[aria-expanded="true"]{border-color:var(--gold);box-shadow:0 0 0 3px rgba(44,62,87,.11)}.lulouSelectButton:disabled{cursor:not-allowed;opacity:.52}.secureUser>.lulouSelect{flex:1 1 220px}.cardHead>.lulouSelect{width:auto;min-width:180px;flex:0 1 260px}
    body.lulouSelectOpen .main,body.lulouSelectOpen .employeeTerminalMain{overflow:hidden}.lulouSelectOverlay{position:fixed;inset:0;z-index:340;background:rgba(10,29,58,.16);overscroll-behavior:contain}.lulouSelectMenu{position:fixed;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;border:1px solid rgba(10,29,58,.14);border-radius:18px;background:#fefefe;box-shadow:0 24px 80px rgba(10,29,58,.28);animation:lulouSelectIn .16s ease-out}.lulouSelectMenuHead{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:13px 13px 11px;border-bottom:1px solid var(--line);background:#fefefe}.lulouSelectMenuHead>div{display:grid;gap:3px;min-width:0}.lulouSelectMenuHead small{color:#2c3e57;font-size:8px;font-weight:950;letter-spacing:.12em}.lulouSelectMenuHead b{overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.lulouSelectClose{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border:1px solid var(--line);border-radius:11px;background:#eef1f5;color:var(--ink);font-size:18px;line-height:1}.lulouSelectOptions{min-height:0;overflow-y:auto;padding:7px;scrollbar-width:thin;scrollbar-color:rgba(44,62,87,.42) transparent;overscroll-behavior:contain}.lulouSelectOption{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:9px;width:100%;min-height:46px;padding:8px 10px;border:0;border-radius:11px;background:transparent;color:var(--ink);font:inherit;text-align:left}.lulouSelectOption>span:last-child{overflow:hidden;font-size:13px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.lulouSelectCheck{display:grid;place-items:center;width:26px;height:26px;border-radius:9px;background:#f0e9df;color:transparent;font-size:12px;font-weight:950}.lulouSelectOption:hover,.lulouSelectOption:focus-visible{outline:0;background:#eef1f5}.lulouSelectOption.selected{background:#0a1d3a;color:#fefefe}.lulouSelectOption.selected .lulouSelectCheck{background:#a9b4c6;color:#0a1d3a}.lulouSelectOption:disabled{opacity:.4}.lulouSelectOption+.lulouSelectOption{margin-top:2px}@keyframes lulouSelectIn{from{opacity:0;transform:translateY(7px) scale(.985)}to{opacity:1;transform:none}}
    .activity{max-height:300px;overflow:auto}.activity p{padding:12px 0;border-bottom:1px solid var(--line);margin:0}.toast{position:fixed;right:max(24px,env(safe-area-inset-right));bottom:calc(24px + env(safe-area-inset-bottom));z-index:100;max-width:430px;background:#0a1d3a;color:#fefefe;border-radius:20px;padding:16px 18px;box-shadow:0 24px 90px rgba(0,0,0,.3);display:none}.toast.show{display:block}.toast b{display:block;margin-bottom:4px}
    .page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--page-gap);margin-bottom:var(--page-gap)}.page-head p{max-width:760px;margin:7px 0 0}.main>.card,.main>.staffAlert{margin-bottom:var(--page-gap)}
    .premiumDash{display:grid;grid-template-columns:1.18fr .82fr;gap:18px;align-items:start}
    .dashHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}
    .dashHeader h2{font-size:38px;line-height:1.04}
    .metricStrip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}
    .metric{background:rgba(255,255,255,.52);border:1px solid var(--line);border-radius:16px;padding:14px}
    .metric strong{display:block;font-size:25px;letter-spacing:-.04em;margin-top:6px}
    .console{background:linear-gradient(180deg,#102b50,#151210);color:#fefefe;border-color:rgba(255,255,255,.08)}
    .console .muted{color:rgba(254,254,254,.62)}
    .serviceGrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
    .serviceCard{border:1px solid var(--line);background:rgba(255,255,255,.52);border-radius:16px;padding:15px}
    .serviceCard h3{margin:0 0 10px}
    .miniFloor{position:relative;min-height:268px;border:1px solid var(--line);border-radius:18px;background:
      linear-gradient(90deg,rgba(10,29,58,.045) 1px,transparent 1px),
      linear-gradient(rgba(10,29,58,.045) 1px,transparent 1px),rgba(254,254,254,.66);background-size:32px 32px;overflow:hidden}
    .seat{position:absolute;border:2px solid rgba(10,29,58,.18);background:#fefefe;border-radius:16px;padding:10px;display:grid;place-items:center;text-align:center;font-weight:800;box-shadow:0 10px 28px rgba(10,29,58,.12)}
    .seat.free{border-color:rgba(79,125,91,.4);background:rgba(79,125,91,.1)}.seat.busy{border-color:rgba(161,75,75,.45);background:rgba(161,75,75,.1)}.seat.reserved{border-color:rgba(44,62,87,.5);background:rgba(44,62,87,.12)}
    .receipt{font-family:ui-monospace,Menlo,Consolas,monospace;background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px}
    .receipt div{display:flex;justify-content:space-between;border-bottom:1px dotted #a9b4c6;padding:7px 0}
    .statusLine{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid rgba(254,254,254,.12)}
    .timeline p{margin:0;padding:11px 0;border-bottom:1px solid var(--line)}
    .sideNote{margin-top:22px;background:rgba(254,254,254,.08);border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:16px}
    .builder{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;align-items:start}
    .floorModeBar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:var(--page-gap);padding:13px 15px;border:1px solid var(--line);border-radius:17px;background:rgba(254,254,254,.9);box-shadow:0 10px 30px rgba(10,29,58,.07)}.floorModeBar>div:first-child{display:grid;gap:2px}.floorModeBar small{color:var(--soft)}.floorModeSwitch{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:5px;border-radius:16px;background:rgba(10,29,58,.06);min-width:250px}.floorModeSwitch .btn{min-height:40px;padding:8px 14px}.floorModeSwitch .primary{box-shadow:0 7px 18px rgba(10,29,58,.18)}
    .floorDesigner{position:relative;min-height:650px;border:1px solid var(--line);border-radius:22px;background:
      linear-gradient(90deg,rgba(10,29,58,.045) 1px,transparent 1px),
      linear-gradient(rgba(10,29,58,.045) 1px,transparent 1px),rgba(254,254,254,.72);background-size:32px 32px;overflow:hidden;box-shadow:var(--shadow);touch-action:none}
    .floorObject{position:absolute;border:2px solid rgba(10,29,58,.22);background:#fefefe;border-radius:18px;display:grid;place-items:center;text-align:center;padding:8px;font-weight:850;box-shadow:0 10px 30px rgba(10,29,58,.13);touch-action:none;user-select:none}
    .floorObject.draggable{cursor:grab}.floorObject.dragging{cursor:grabbing;z-index:9;box-shadow:0 24px 70px rgba(10,29,58,.28)}
    .floorObject.round{border-radius:999px}.floorObject.bench{border-radius:28px;background:rgba(77,100,120,.12)}
    .floorObject.free{border-color:rgba(79,125,91,.42);background:rgba(79,125,91,.1)}.floorObject.busy{border-color:rgba(161,75,75,.48);background:rgba(161,75,75,.11)}.floorObject.reserved{border-color:rgba(44,62,87,.52);background:rgba(44,62,87,.13)}
    .floorObject.selected{outline:4px solid rgba(44,62,87,.28);border-color:var(--gold)}
    .floorFixture{position:absolute;border:2px solid rgba(10,29,58,.32);background:rgba(10,29,58,.14);border-radius:10px;display:grid;place-items:center;text-align:center;font-weight:900;color:#2c3e57;box-shadow:0 10px 26px rgba(10,29,58,.12);touch-action:none;user-select:none;cursor:grab}.floorFixture.wall{background:#0a1d3a;color:#fefefe;border-color:#0a1d3a;border-radius:6px}.floorFixture.counter{background:rgba(44,62,87,.25);border-color:rgba(44,62,87,.72)}.floorFixture.zone{background:rgba(77,100,120,.12);border-style:dashed}.floorFixture.selected{outline:4px solid rgba(44,62,87,.28);border-color:var(--gold)}.floorFixture.dragging{cursor:grabbing;z-index:8;box-shadow:0 24px 70px rgba(10,29,58,.28)}
    .fixtureHandle{position:absolute;width:13px;height:13px;border:2px solid #fff;background:var(--gold);border-radius:50%;box-shadow:0 3px 10px rgba(0,0,0,.18);touch-action:none;z-index:12}.fixtureHandle.n{top:-8px;left:50%;transform:translateX(-50%);cursor:ns-resize}.fixtureHandle.s{bottom:-8px;left:50%;transform:translateX(-50%);cursor:ns-resize}.fixtureHandle.e{right:-8px;top:50%;transform:translateY(-50%);cursor:ew-resize}.fixtureHandle.w{left:-8px;top:50%;transform:translateY(-50%);cursor:ew-resize}.fixtureHandle.nw{left:-8px;top:-8px;cursor:nwse-resize}.fixtureHandle.ne{right:-8px;top:-8px;cursor:nesw-resize}.fixtureHandle.sw{left:-8px;bottom:-8px;cursor:nesw-resize}.fixtureHandle.se{right:-8px;bottom:-8px;cursor:nwse-resize}.fixtureRotateHandle{position:absolute;left:50%;top:-42px;width:24px;height:24px;transform:translateX(-50%);border:2px solid #fff;background:#0a1d3a;color:#fefefe;border-radius:999px;box-shadow:0 8px 20px rgba(0,0,0,.22);touch-action:none;cursor:grab;z-index:13;font-size:13px;display:grid;place-items:center}
    .floorResizeHandle{position:absolute;right:0;bottom:0;width:34px;height:34px;border:0;border-radius:16px 0 20px 0;background:var(--gold);color:#fff;font-weight:950;cursor:nwse-resize;touch-action:none;box-shadow:0 10px 26px rgba(44,62,87,.32)}
    .floorDims{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.floorCanvasWrap{overflow:auto}.floorMobileOverview{display:none}.floorOverviewMap{position:relative;width:100%;min-height:230px;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:linear-gradient(90deg,rgba(10,29,58,.045) 1px,transparent 1px),linear-gradient(rgba(10,29,58,.045) 1px,transparent 1px),rgba(254,254,254,.66);background-size:24px 24px}.floorOverviewFixture,.floorOverviewTable{position:absolute;transform-origin:center}.floorOverviewFixture{min-width:2px;min-height:2px;border-radius:3px;background:rgba(10,29,58,.18);border:1px solid rgba(10,29,58,.22)}.floorOverviewFixture.wall{background:#0a1d3a}.floorOverviewFixture.counter{background:rgba(44,62,87,.45);border-color:rgba(44,62,87,.72)}.floorOverviewFixture.zone{background:rgba(77,100,120,.13);border-style:dashed}.floorOverviewTable{position:absolute;min-width:30px;min-height:27px;border:1px solid rgba(10,29,58,.2);border-radius:8px;background:#fefefe;color:var(--ink);padding:2px;display:grid;place-items:center;text-align:center;line-height:1.05;overflow:hidden;box-shadow:0 5px 12px rgba(10,29,58,.12)}.floorOverviewTable b{font-size:clamp(9px,3vw,12px)}.floorOverviewTable small{font-size:8px;color:var(--soft)}
    .floorPalette{display:flex;align-items:center;gap:14px;margin-bottom:var(--page-gap);padding:12px 14px;overflow:hidden}.floorPaletteIntro{flex:0 0 150px;display:grid;gap:3px}.floorPaletteIntro>span{color:var(--gold);font-size:9px;font-weight:950;letter-spacing:.1em}.floorPaletteIntro>b{font-size:13px;line-height:1.25}.floorPaletteList{display:flex;min-width:0;gap:8px;overflow-x:auto;padding:2px 3px 6px;scrollbar-width:thin}.floorPaletteButton{flex:0 0 112px;min-height:72px;display:grid;grid-template-columns:35px minmax(0,1fr);grid-template-rows:auto auto;gap:1px 9px;align-items:center;padding:9px;border:1px solid var(--line);border-radius:14px;background:#fefefe;color:var(--ink);text-align:left;cursor:pointer;transition:.18s ease}.floorPaletteButton:hover{border-color:var(--gold);background:#fff7e8;transform:translateY(-1px);box-shadow:0 8px 20px rgba(10,29,58,.08)}.floorPaletteButton>b{align-self:end;font-size:12px;white-space:nowrap}.floorPaletteButton>small{align-self:start;color:var(--soft);font-size:9px;white-space:nowrap}.floorPaletteShape{grid-row:1/3;justify-self:center;display:block;width:31px;height:25px;border:2px solid var(--gold);background:rgba(44,62,87,.13);border-radius:7px}.floorPaletteShape.round{width:28px;height:28px;border-radius:50%}.floorPaletteShape.rect{width:34px;height:23px}.floorPaletteShape.bench{width:35px;height:18px;border-radius:10px}.floorPaletteShape.wall{width:34px;height:7px;border:0;border-radius:3px;background:#0a1d3a}.floorPaletteShape.counter{width:34px;height:17px;border-color:#c79122;background:#f2ddb1}.floorPaletteShape.zone{width:34px;height:27px;border-style:dashed;border-color:#6c7f8c;background:#edf2f4}
    .floorWorkspace{min-width:0;border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.54);box-shadow:0 12px 34px rgba(10,29,58,.06);overflow:hidden}.floorCanvasToolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 13px;border-bottom:1px solid var(--line);background:#fefefe}.floorCanvasToolbar>div:first-child{display:grid;grid-template-columns:auto auto;column-gap:8px;align-items:center}.floorCanvasToolbar>div:first-child>b{font-size:14px}.floorCanvasToolbar>div:first-child>small{grid-column:2;color:var(--soft);font-size:10px}.floorLiveDot{grid-row:1/3;width:9px;height:9px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(79,125,91,.12)}.floorToolbarActions{display:flex;align-items:center;gap:8px}.floorToggle{min-height:36px;padding:7px 10px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--soft);font-weight:850;cursor:pointer}.floorToggle.active{border-color:rgba(79,125,91,.4);background:#edf7ef;color:var(--green)}.floorZoomControls{display:flex;align-items:center;gap:3px;padding:3px;border:1px solid var(--line);border-radius:12px;background:#f4efe6}.floorZoomControls button{min-width:31px;height:31px;border:0;border-radius:9px;background:transparent;color:var(--ink);font-weight:950;cursor:pointer}.floorZoomControls button:hover{background:#fff}.floorZoomControls output{min-width:48px;color:var(--soft);font-size:11px;font-weight:900;text-align:center}.floorCanvasViewport{min-height:640px;overflow:auto;padding:22px;background:#e9e5dd}.floorCanvasStage{position:relative;transform-origin:top left}.floorCanvasScale{position:absolute;left:0;top:0;transform-origin:top left}.floorCanvasViewport .floorDesigner{box-shadow:0 16px 42px rgba(10,29,58,.15)}.floorDesigner.snapGrid{background-size:20px 20px}.floorEmptyState{position:absolute;inset:0;display:grid;place-content:center;gap:5px;text-align:center;color:var(--soft);pointer-events:none}.floorEmptyState b{color:var(--ink);font-size:18px}.floorWorkspaceHint{display:flex;align-items:center;justify-content:center;gap:7px;padding:9px 12px;border-top:1px solid var(--line);background:#fefefe;color:var(--soft);font-size:10px}.floorWorkspaceHint span{padding:3px 6px;border-radius:7px;background:#eee8dc;color:var(--ink);font-weight:900}
    .floorInspector{position:sticky;top:18px;display:grid;gap:13px;max-height:calc(100dvh - 36px);padding:0;overflow:auto}.floorInspectorSection{display:grid;gap:13px;padding:16px}.floorInspectorHead{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.floorInspectorHead>div{min-width:0}.floorInspectorHead>div>span{display:block;color:var(--gold);font-size:9px;font-weight:950;letter-spacing:.09em}.floorInspectorHead h3{margin:3px 0 1px;font-size:22px}.floorInspectorHead small{color:var(--soft);overflow-wrap:anywhere}.floorInspectorActions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.floorFieldGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.floorFieldGrid .full{grid-column:1/-1}.floorUnitField{position:relative}.floorUnitField input{padding-right:30px}.floorUnitField span{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--soft);font-weight:900}.floorSelectionTools{display:grid;grid-template-columns:76px minmax(0,1fr);gap:9px;padding:9px;border:1px solid var(--line);border-radius:14px;background:#f7f4ee}.floorNudge{display:grid;grid-template-columns:repeat(3,23px);grid-template-rows:repeat(2,23px);gap:3px;align-content:center}.floorNudge button,.floorAlignTools button{border:1px solid var(--line);background:#fff;color:var(--ink);font-weight:850;cursor:pointer}.floorNudge button{width:23px;height:23px;padding:0;border-radius:7px}.floorNudge button:nth-child(1){grid-column:2}.floorNudge button:nth-child(2){grid-column:1;grid-row:2}.floorNudge button:nth-child(3){grid-column:2;grid-row:2}.floorNudge button:nth-child(4){grid-column:3;grid-row:2}.floorAlignTools{display:grid;gap:5px}.floorAlignTools>span{color:var(--soft);font-size:9px;font-weight:900;text-transform:uppercase}.floorAlignTools>div{display:grid;grid-template-columns:repeat(3,1fr);gap:3px}.floorAlignTools button{min-height:25px;padding:3px;border-radius:7px;font-size:8px}.floorSaveBar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.floorInspectorEmpty{display:grid;justify-items:center;gap:7px;padding:24px 18px;text-align:center}.floorSelectCue{width:54px;height:44px;border:2px solid var(--gold);border-radius:13px;background:rgba(44,62,87,.1);box-shadow:0 0 0 6px rgba(44,62,87,.09)}.floorInspectorEmpty h3,.floorInspectorEmpty p{margin:0}.floorInspectorEmpty p{color:var(--soft);font-size:12px;line-height:1.45}.floorInspectorEmpty>div{display:grid;gap:2px;margin-top:4px;padding:10px;border-radius:12px;background:#f7f4ee;text-align:left}.floorInspectorEmpty>div small{color:var(--soft);line-height:1.4}.floorSettingsDetails{border-top:1px solid var(--line)}.floorSettingsDetails>summary{padding:13px 16px;cursor:pointer;list-style:none}.floorSettingsDetails>summary::-webkit-details-marker{display:none}.floorSettingsDetails>summary>span{display:grid;gap:2px;padding-right:24px;position:relative}.floorSettingsDetails>summary>span::after{content:"+";position:absolute;right:0;top:2px;color:var(--gold);font-size:18px}.floorSettingsDetails[open]>summary>span::after{content:"−"}.floorSettingsDetails>summary small{color:var(--soft);font-size:10px}.floorDetailsBody{display:grid;gap:10px;padding:2px 16px 16px}.floorDetailsBody h4{margin:5px 0 0}.floorDetailsBody hr{width:100%;margin:6px 0;border:0;border-top:1px solid var(--line)}
    .staffAlert{border:2px solid var(--red);background:linear-gradient(135deg,#fff0ed,#fefefe);border-radius:18px;padding:14px;margin-bottom:14px;animation:pulseAlert 1.6s infinite}.serviceReadyBanner{display:grid;gap:12px}.readyBannerHead{display:flex;align-items:center;gap:12px}.readyBannerHead>div{min-width:0;flex:1}.readyBannerHead b{color:var(--red);font-size:18px}.readyBannerHead span:not(.readyBell){display:block;margin-top:3px;color:var(--soft)}.readyBell{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:14px;background:var(--red);color:#fff;font-size:22px;font-weight:950}.readyBannerList{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:9px}.readyBannerList>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;align-items:center;padding:10px 11px;border:1px solid #e7b9b9;border-radius:13px;background:#fff}.readyBannerList strong,.readyBannerList small{min-width:0;overflow-wrap:anywhere}.readyBannerList small{color:var(--soft)}.readyBannerList .btn{grid-column:2;grid-row:1/3}.staffAlert .bar{margin-top:10px}@keyframes pulseAlert{0%,100%{box-shadow:0 0 0 rgba(218,55,55,0)}50%{box-shadow:0 0 0 7px rgba(218,55,55,.1)}}
    .navCount{margin-left:auto;display:grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border-radius:999px;background:var(--red);color:#fff;font-size:12px;font-style:normal;font-weight:950}.nav button.active .navCount{background:var(--red);color:#fff}
    .readyShortcut{display:grid;grid-template-columns:28px auto;grid-template-rows:auto auto;align-items:center;column-gap:7px;min-height:46px;padding:6px 11px;border:1px solid #e7b9b9;border-radius:15px;background:#fff0f0;color:var(--red);box-shadow:0 8px 24px rgba(161,75,75,.12);text-align:left}.readyShortcut>span{grid-row:1/3;display:grid;place-items:center;width:28px;height:28px;border-radius:10px;background:var(--red);color:#fff;font-weight:950}.readyShortcut b{align-self:end;font-size:16px;line-height:1}.readyShortcut small{align-self:start;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.readyShortcut:hover{transform:translateY(-1px);border-color:var(--red);box-shadow:0 11px 28px rgba(161,75,75,.18)}
    .secureUser{display:flex;align-items:center;gap:10px;padding:7px 8px 7px 13px;border:1px solid rgba(79,125,91,.3);border-radius:16px;background:#f0f7f1}.secureUser>div{display:grid;min-width:0}.secureUser b,.secureUser small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.secureUser small{color:var(--green);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.secureUser .btn{min-height:36px;padding:7px 10px}.adminPreview{flex-wrap:wrap}.adminIdentity{padding-right:10px;border-right:1px solid rgba(79,125,91,.22)}.profilePreviewPicker{display:grid;gap:2px;min-width:205px}.profilePreviewPicker>span{color:var(--green);font-size:9px;font-weight:950;letter-spacing:.06em;text-transform:uppercase}.profilePreviewPicker select{width:100%;min-height:36px;padding:7px 34px 7px 10px;border:1px solid rgba(79,125,91,.3);border-radius:11px;background-color:#fff;color:var(--ink);font-weight:850}.devicePreviewPicker{min-width:190px}.noDevicePreview{padding:9px 11px;border:1px dashed rgba(44,62,87,.5);border-radius:11px;background:#f7f4ee;color:#2c3e57;font-size:11px;font-weight:900}.terminalDelete{border-color:#df8072!important;background:#fff1ee!important;color:#8f3027!important}
    .secureUser.terminalLocked{border-color:#d5bb82;background:#f7f4ee}.secureUser.terminalLocked small{color:#8f6721}.terminalLock{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:10px;background:#efe0bd}
    .terminalSettingsButton{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:9px 13px;border:1px solid rgba(44,62,87,.42);border-radius:14px;background:#f7f4ee;color:var(--ink);font-weight:950;cursor:pointer;box-shadow:0 8px 22px rgba(10,29,58,.06)}.terminalSettingsButton:hover{border-color:var(--gold);background:#fff2d8;transform:translateY(-1px)}.terminalSettingsButton svg{width:18px;height:18px}
    .terminalSettingsOverlay{z-index:90;background:rgba(10,29,58,.58);backdrop-filter:blur(5px)}.terminalSettingsPanel{width:min(760px,100%);max-height:min(86dvh,760px);overflow:auto}.deviceSettingsTitle{display:flex;align-items:center;gap:11px}.deviceSettingsTitle>span{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:14px;background:#0a1d3a;color:#fefefe;font-size:13px;font-weight:950}.deviceSettingsTitle small{display:block;color:var(--gold);font-size:9px;font-weight:950;letter-spacing:.1em}.deviceSettingsTitle h3{margin:3px 0 0;font-size:23px}.deviceSettingsGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}.deviceSettingsGrid>div{display:grid;gap:5px;min-width:0;padding:13px;border:1px solid var(--line);border-radius:14px;background:#fff}.deviceSettingsGrid span{color:var(--soft);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.deviceSettingsGrid b{overflow-wrap:anywhere}.settingsAdminBox{display:grid;grid-template-columns:minmax(180px,1fr) repeat(2,minmax(150px,.8fr));gap:12px;align-items:end;padding:14px;border:1px solid rgba(79,125,91,.28);border-radius:16px;background:#f0f7f1}.settingsAdminBox>div:first-child{display:grid;gap:4px;align-self:center}.settingsAdminBox p{margin:2px 0 0;color:var(--soft);font-size:11px;line-height:1.4}.settingsAdminBox .fieldStack select{min-height:44px;margin:0}.settingsActionBar{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px;padding-top:2px}.settingsAdminBox>.btn{justify-self:end;min-height:48px}
    .managerLock{display:flex;align-items:center;gap:10px;margin-top:10px;padding:10px 11px;border:1px solid #e1d4bf;border-radius:13px;background:#eef1f5;color:#665b4e}.managerLock>span{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:10px;background:#e9decd}.managerLock>div{display:grid;gap:2px;min-width:0}.managerLock b{font-size:12px}.managerLock small{color:var(--soft);font-size:11px;line-height:1.35}
    .pinGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:10px}.pinRow{display:grid;grid-template-columns:minmax(110px,1fr) minmax(120px,.8fr) auto;gap:9px;align-items:center;padding:11px;border:1px solid var(--line);border-radius:14px;background:#fefefe}.pinRow>div{display:grid;min-width:0}.pinRow small{color:var(--soft)}.pinRow .input,.pinRow .btn{min-height:44px}.pinSecretInput{-webkit-text-security:disc}
    .liveAlertControl{grid-column:1/-1;display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid rgba(79,125,91,.34);border-radius:16px;background:linear-gradient(135deg,#eef7ef,#fefefe);box-shadow:0 10px 28px rgba(79,125,91,.08)}.liveAlertControl>div{display:grid;gap:2px;min-width:0;flex:1}.liveAlertControl small{color:var(--soft)}.liveDot{flex:0 0 11px;width:11px;height:11px;border-radius:999px;background:var(--green);box-shadow:0 0 0 0 rgba(79,125,91,.45);animation:livePulse 1.8s infinite}.terminalSetup{display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:10px;margin:15px 0}.stationChoices{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 14px;padding:12px;border:1px solid var(--line);border-radius:14px;background:#fefefe}.stationChoices>b{width:100%}.stationChoices label{display:flex;align-items:center;gap:6px;font-weight:800}.terminalList{display:grid;gap:9px;margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}.terminalList h4{margin:0}.terminalRow{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:11px 12px;border:1px solid var(--line);border-radius:14px;background:#fefefe}.terminalRow>div{display:grid;gap:3px;min-width:0}.terminalRow small{color:var(--soft);overflow-wrap:anywhere}
    .terminalRow.revoked{opacity:.68;background:#eef1f5}.terminalEditPanel{margin:14px 0;padding:14px;border:2px solid rgba(44,62,87,.35);border-radius:16px;background:#f7f4ee}.terminalEditPanel .cardHead{margin-bottom:10px}.stationChoices[hidden]{display:none!important}.terminalActiveChoice{display:flex;align-items:center;gap:7px;width:max-content;margin:0 0 14px auto;padding:8px 11px;border-radius:12px;background:#eef7ef;font-weight:850}
    .terminalProvisionActions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.terminalProvisionActions article{display:grid;align-content:start;gap:7px;padding:14px;border:1px solid var(--line);border-radius:16px;background:#fefefe}.terminalProvisionActions article.recommended{border:2px solid rgba(79,125,91,.44);background:#f0f7f1}.terminalProvisionActions article>span{color:var(--soft);font-size:9px;font-weight:950;letter-spacing:.08em}.terminalProvisionActions article.recommended>span{color:var(--green)}.terminalProvisionActions article>b{font-size:17px}.terminalProvisionActions article>p{min-height:38px;margin:0;color:var(--soft);font-size:12px;line-height:1.45}.terminalProvisionActions .btn{align-self:end;width:100%;margin-top:3px}
    .pairingCodeCard{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;margin:14px 0;padding:16px;border:2px solid rgba(79,125,91,.48);border-radius:18px;background:linear-gradient(135deg,#eef7ef,#fefefe);box-shadow:0 12px 32px rgba(79,125,91,.1)}.pairingCodeCard>div:first-child{display:grid;gap:3px}.pairingCodeCard span{color:var(--green);font-size:9px;font-weight:950;letter-spacing:.08em}.pairingCodeCard h4,.pairingCodeCard p{margin:0}.pairingCodeCard p,.pairingCodeCard>small{color:var(--soft)}.pairingCodeCard output{min-width:205px;padding:13px 16px;border:1px solid rgba(79,125,91,.32);border-radius:14px;background:#fff;color:var(--ink);font-size:clamp(24px,3vw,34px);font-weight:950;letter-spacing:.12em;text-align:center}.pairingCodeActions{display:grid;gap:7px}.pairingCodeCard>small{grid-column:1/-1;line-height:1.45}.terminalPairingList{display:grid;gap:8px;margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}.terminalPairingList h4{margin:0}.pairingRow{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:11px 12px;border:1px dashed rgba(44,62,87,.55);border-radius:14px;background:#f7f4ee}.pairingRow>div{display:grid;gap:3px}.pairingRow small{color:var(--soft)}
    .terminalApp{grid-template-columns:minmax(0,1fr)}.terminalApp .side{position:sticky;top:0;z-index:25;height:auto;max-height:none;display:flex;align-items:center;gap:16px;padding:10px 16px;border-right:0;border-bottom:1px solid rgba(255,255,255,.1);box-shadow:0 9px 28px rgba(10,29,58,.16)}.terminalApp .brand{flex:0 0 auto;margin:0}.terminalApp .brand small,.terminalApp .sideNote,.terminalApp .nav{display:none}.terminalApp .mobileNav{display:grid;flex:1;margin:0}.terminalApp .main{padding:14px 18px 104px}.terminalApp:not(.padApp) .main{padding-bottom:24px}
    .padPage{display:grid;gap:14px}.padPageHead,.padOrderTop{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:8px 2px 2px}.padPageHead h2,.padOrderTop h2{margin:2px 0;font-size:34px}.padPageHead p,.padOrderTop p{margin:0;color:var(--soft)}.padServiceMetrics{display:flex;gap:8px}.padServiceMetrics span{min-width:90px;border:1px solid var(--line);border-radius:14px;background:#fefefe;padding:9px 12px;color:var(--soft);text-align:center}.padServiceMetrics b{display:block;color:var(--ink);font-size:24px}.padTableGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.padTableTile{position:relative;min-height:155px;display:grid;align-content:start;gap:6px;padding:16px;border:2px solid var(--line);border-radius:20px;background:#fefefe;color:var(--ink);text-align:left;cursor:pointer;box-shadow:0 12px 30px rgba(10,29,58,.06)}.padTableTile.busy{border-color:#d8b264;background:#f7f4ee}.padTableTile.reserved{border-color:#cfc5b3;background:#eef1f5}.padTableTile.hasReady{border-color:var(--green);background:#eef7ef}.padTableTile .padTableName{font-size:27px;font-weight:950}.padTableTile .padTableState{color:var(--soft);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.padTableTile>b{margin-top:8px;font-size:22px}.padTableTile small{color:var(--soft)}.padTableTile em{position:absolute;right:10px;top:10px;border-radius:999px;background:var(--green);color:#fff;padding:6px 9px;font-style:normal;font-size:12px;font-weight:950}
    .padBottomNav{position:fixed;left:50%;bottom:calc(12px + env(safe-area-inset-bottom));z-index:45;width:min(720px,calc(100% - 24px - env(safe-area-inset-left) - env(safe-area-inset-right)));display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:7px;padding:7px;border:1px solid rgba(10,29,58,.16);border-radius:20px;background:rgba(10,29,58,.96);box-shadow:0 18px 60px rgba(0,0,0,.28);transform:translateX(-50%);backdrop-filter:blur(12px)}.padBottomNav button{position:relative;min-height:54px;border:0;border-radius:14px;background:transparent;color:#cfd7e2;font-weight:900;cursor:pointer}.padBottomNav button.active{background:#fefefe;color:#0a1d3a}.padBottomNav button span{display:block;font-size:18px}.padBottomNav button em{position:absolute;right:10px;top:5px;min-width:20px;height:20px;display:grid;place-items:center;border-radius:999px;background:var(--red);color:#fff;font-size:11px;font-style:normal}
    .padOrderTop{padding:8px 0}.padBack{min-height:52px;padding:0 15px;border:1px solid var(--line);border-radius:15px;background:#fefefe;font-weight:900;cursor:pointer}.padOrderTotal{min-width:130px;padding:10px 14px;border-radius:16px;background:#0a1d3a;color:#fff;text-align:right}.padOrderTotal span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.05em;opacity:.7}.padOrderTotal b{font-size:25px}.padTableTabs{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 8px}.padTableTabs button{flex:0 0 110px;min-height:58px;border:1px solid var(--line);border-radius:15px;background:#fefefe;text-align:left;padding:9px 11px;cursor:pointer}.padTableTabs button.active{border-color:var(--gold);background:#0a1d3a;color:#fff}.padTableTabs b,.padTableTabs small{display:block}.padTableTabs small{margin-top:3px;opacity:.68}.padOrderLayout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(330px,.75fr);gap:14px;align-items:start}.padCatalog,.padBasket{border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.72);padding:14px;box-shadow:0 12px 34px rgba(10,29,58,.05)}.padCatalogTools{display:grid;gap:10px;margin-bottom:12px}.padCategories{display:flex;gap:7px;overflow-x:auto;padding-bottom:3px}.padCategories button{flex:0 0 auto;min-height:44px;padding:8px 13px;border:1px solid var(--line);border-radius:13px;background:#fefefe;font-weight:900;cursor:pointer}.padCategories button.active{border-color:#0a1d3a;background:#0a1d3a;color:#fff}.padSearch{position:relative;display:block}.padSearch>span{position:absolute;left:15px;top:50%;z-index:1;transform:translateY(-50%);font-size:22px}.padSearch .input{padding-left:44px}.padCatalogTools>small{text-align:right;color:var(--soft);font-weight:850}.padProductGrid{display:grid;grid-template-columns:repeat(3,minmax(130px,1fr));gap:9px}.padProduct{min-height:100px;display:grid;align-content:space-between;gap:6px;padding:13px;border:1px solid var(--line);border-radius:16px;background:#fefefe;color:var(--ink);text-align:left;cursor:pointer}.padProduct>span{font-size:16px;font-weight:900;line-height:1.2}.padProduct>b{font-size:19px;color:#2c3e57}.padProduct small{color:var(--soft)}.padProduct.out{opacity:.45}.padEmpty{grid-column:1/-1;padding:24px;border:1px dashed var(--line);border-radius:15px;color:var(--soft);text-align:center}.padBasket{position:sticky;top:96px;display:grid;gap:12px}.padBasketHead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid var(--line)}.padBasketHead h3,.padBasketHead p{margin:0}.padBasketHead p{margin-top:3px;color:var(--soft)}.padBasketHead>b{font-size:22px}.padBasketLines{display:grid;gap:8px;max-height:43vh;overflow:auto}.padBasketLine{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:10px;border:1px solid var(--line);border-radius:14px;background:#fefefe}.padBasketLine>div:first-child{display:grid;gap:3px}.padBasketLine>div:first-child b{font-size:15px}.padBasketLine small{color:var(--soft)}.padBasketPrice{font-weight:900}.padQty{grid-column:1/-1;display:grid;grid-template-columns:52px 1fr 52px;align-items:center;gap:8px}.padQty button{width:52px;height:48px;border:1px solid var(--line);border-radius:13px;background:#fff;font-size:24px;font-weight:900;cursor:pointer}.padQty b{text-align:center;font-size:20px}.padRepeat{grid-column:1/-1;min-height:43px;border:1px solid var(--line);border-radius:12px;background:#eef1f5;font-weight:900;cursor:pointer}.padDietary{display:grid;gap:8px;padding-top:10px;border-top:1px solid var(--line)}.padDietary label{display:grid;gap:5px;font-size:12px;font-weight:900}.padDietary textarea{min-height:72px;resize:vertical}.padSendBar{display:grid;grid-template-columns:auto minmax(170px,1fr);gap:10px;align-items:center;padding-top:11px;border-top:1px solid var(--line)}.padSendBar span,.padSendBar b{display:block}.padSendBar span{font-size:11px;color:var(--soft);text-transform:uppercase}.padSendBar b{font-size:22px}.padSendBar .btn{min-height:58px;font-size:16px}.padSendBar .btn:disabled{opacity:.45}.padOrderPage+.aiShell{margin-top:14px}
    .toast.padToast,.toast.kdsToast{top:82px;right:18px;bottom:auto;max-width:min(460px,calc(100% - 36px));border-left-color:var(--green);box-shadow:0 22px 70px rgba(0,0,0,.32)}.toast.kdsToast{border-left-color:var(--gold);font-size:16px}
    .kdsPage{display:grid;gap:14px}.kdsHeader{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 16px;border:1px solid rgba(10,29,58,.18);border-radius:20px;background:#0a1d3a;color:#fefefe;box-shadow:0 15px 42px rgba(10,29,58,.16)}.kdsHeader h2{margin:2px 0;font-size:34px}.kdsHeader p{margin:0;color:#cfd7e2;font-weight:800}.kdsMetrics{display:grid;grid-template-columns:repeat(3,minmax(112px,1fr));gap:8px}.kdsMetrics span{min-width:112px;padding:10px 13px;border:1px solid rgba(255,255,255,.16);border-radius:14px;background:rgba(255,255,255,.07);text-align:center}.kdsMetrics span.ready{border-color:rgba(86,175,108,.65);background:rgba(86,175,108,.16)}.kdsMetrics span.danger{border-color:rgba(239,111,96,.72);background:rgba(239,111,96,.16)}.kdsMetrics small,.kdsMetrics b{display:block}.kdsMetrics small{color:#cfd7e2;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.kdsMetrics b{margin-top:3px;font-size:27px}
    .kdsBoard{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px;align-items:start}.kdsLane{min-width:0;border:1px solid rgba(10,29,58,.16);border-radius:20px;background:rgba(255,255,255,.5);overflow:hidden;box-shadow:0 12px 34px rgba(10,29,58,.06)}.kdsLaneHead{position:relative;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;border-bottom:1px solid var(--line);background:rgba(254,254,254,.96);backdrop-filter:blur(10px)}.kdsLaneHead span{display:block;color:var(--gold);font-size:10px;font-weight:950;letter-spacing:.09em;text-transform:uppercase}.kdsLaneHead h3{margin:2px 0 0;font-size:22px}.kdsLaneHead>b{display:grid;place-items:center;min-width:38px;height:38px;padding:0 10px;border-radius:12px;background:#0a1d3a;color:#fff;font-size:18px}.kdsLaneTickets{display:grid;gap:11px;padding:12px}
    .kdsTicket{overflow:hidden;border:2px solid #d8cbb8;border-radius:18px;background:#fefefe;box-shadow:0 10px 28px rgba(10,29,58,.08)}.kdsTicket.warning{border-color:#d9ad56}.kdsTicket.late{border-color:#df7466;background:#fff8f6}.kdsTicket.ready{border-color:#73ad81;background:#f2faf4}.kdsTicket>header{display:flex;align-items:stretch;justify-content:space-between;gap:10px;padding:13px 14px;background:#201d19;color:#fff}.kdsTicket.ready>header{background:#315f3b}.kdsTicket.late>header{background:#8f3027}.kdsTicket>header>div:first-child>span{display:block;color:#cfd7e2;font-size:9px;font-weight:950;letter-spacing:.12em}.kdsTicket>header>div:first-child>b{display:block;font-size:31px;line-height:1}.kdsTicket>header>div:first-child>small{display:block;margin-top:5px;color:#d7d0c5}.kdsTimer{display:grid;align-content:center;min-width:85px;border-radius:12px;background:rgba(255,255,255,.12);padding:8px 10px;text-align:center}.kdsTimer span{font-size:9px;font-weight:950;letter-spacing:.08em}.kdsTimer b{font-size:21px}.kdsTicket .posWarning{margin:10px 11px 0}.kdsItems{display:grid;gap:0;padding:5px 13px}.kdsItem{display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:start;padding:11px 0;border-bottom:1px solid var(--line)}.kdsItem:last-child{border-bottom:0}.kdsItem>b{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#0a1d3a;color:#fff;font-size:19px}.kdsItem>div{display:grid;gap:3px}.kdsItem strong{font-size:18px;line-height:1.2}.kdsItem small{color:var(--soft);font-size:13px}.kdsItem em{color:var(--red);font-size:12px;font-style:normal;font-weight:900}.kdsReadyButton{width:calc(100% - 24px);min-height:58px;margin:0 12px 12px;border:0;border-radius:14px;background:var(--green);color:#fff;font-size:17px;font-weight:950;cursor:pointer;box-shadow:0 9px 22px rgba(79,125,91,.24)}.kdsReadyState{display:flex;align-items:center;gap:11px;margin:0 12px 12px;padding:11px 13px;border:1px solid #aad0b3;border-radius:14px;background:#eaf5ed;color:#315f3b}.kdsReadyState>span{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#4f7d5b;color:#fff;font-weight:950}.kdsReadyState b,.kdsReadyState small{display:block}.kdsReadyState small{margin-top:2px}.kdsLaneEmpty{display:grid;place-items:center;min-height:190px;padding:24px;color:var(--soft);text-align:center}.kdsLaneEmpty>span{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:#eaf5ed;color:var(--green);font-size:23px;font-weight:950}.kdsLaneEmpty b{margin-top:10px;color:var(--ink);font-size:18px}.kdsLaneEmpty small{margin-top:3px}
    .kdsVoidAlert{border:3px solid #cc4f42;border-radius:20px;background:#fff1ef;overflow:hidden;box-shadow:0 16px 42px rgba(161,75,75,.16)}.kdsVoidHead{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 16px;background:#8f3027;color:#fff}.kdsVoidHead span{font-size:10px;font-weight:950;letter-spacing:.1em}.kdsVoidHead h3{margin:2px 0 0;font-size:23px}.kdsVoidHead>b{display:grid;place-items:center;width:43px;height:43px;border-radius:13px;background:#fff;color:#8f3027;font-size:22px}.kdsVoidList{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:10px;padding:11px}.kdsVoidList article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid #e7aaa3;border-radius:14px;background:#fff}.kdsVoidList article span{color:#8f3027;font-size:11px;font-weight:950}.kdsVoidList h4{margin:4px 0;font-size:20px}.kdsVoidList p{margin:0 0 4px}.kdsVoidList small{color:var(--soft)}.kdsVoidList .btn{min-height:52px}
    @keyframes livePulse{0%{box-shadow:0 0 0 0 rgba(79,125,91,.42)}70%{box-shadow:0 0 0 9px rgba(79,125,91,0)}100%{box-shadow:0 0 0 0 rgba(79,125,91,0)}}
    .servicePass{border:2px solid rgba(79,125,91,.52);background:linear-gradient(135deg,#eff8f1,#fefefe)}.servicePass .cardHead{align-items:flex-start}.passEyebrow{display:block;margin-bottom:5px;color:var(--green);font-size:11px;font-weight:950;letter-spacing:.1em}.passCount{display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;border-radius:15px;background:var(--green);color:#fff;font-size:23px;font-weight:950}.servicePassGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:12px}.passTicket{display:grid;grid-template-columns:78px minmax(0,1fr) auto;gap:13px;align-items:center;padding:13px;border:1px solid #bed9c5;border-left:6px solid var(--green);border-radius:16px;background:#fff;box-shadow:0 9px 25px rgba(79,125,91,.08)}.passTicket.late{border-color:#e7b9b9;border-left-color:var(--red);background:#fff8f7}.passTicket.picked{border-color:#ead1a1;border-left-color:var(--gold);background:#fffaf0}.passTable{display:grid;place-items:center;align-content:center;min-height:74px;border-radius:14px;background:#0a1d3a;color:#fefefe;text-align:center}.passTable span{font-size:9px;font-weight:900;letter-spacing:.12em;opacity:.7}.passTable b{font-size:24px;line-height:1.1}.passDetails{min-width:0}.passTicketTop{display:flex;align-items:center;justify-content:space-between;gap:8px}.passTicketTop strong{font-size:18px}.passDetails p{margin:8px 0;line-height:1.45}.passDetails small{display:block;color:var(--soft);overflow-wrap:anywhere}.passActions{display:grid;gap:7px;min-width:140px}.passActions .btn{width:100%}.emptyPass{display:flex;align-items:center;gap:15px;border-width:1px;background:rgba(254,254,254,.88)}.emptyPass h3,.emptyPass p{margin:0}.emptyPass p{margin-top:4px}.passEmptyIcon{display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;border-radius:15px;background:rgba(79,125,91,.14);color:var(--green);font-size:22px;font-weight:950}
    .availabilityPanel{grid-column:1/-1}.availabilityPanel>.cardHead{margin-bottom:14px}.availabilityCount{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:14px;background:#edf7ef;color:var(--green);font-size:20px;font-weight:950}.availabilityCount.danger{background:#fff0ee;color:var(--red)}.availabilityPausedList{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:9px}.availabilityPausedList article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 12px;border:1px solid #e7b9b9;border-left:5px solid var(--red);border-radius:14px;background:#fff8f7}.availabilityPausedList article>div{display:grid;gap:3px;min-width:0}.availabilityPausedList small{color:var(--soft);overflow-wrap:anywhere}.availabilityAllGood{display:flex;align-items:center;gap:11px;padding:11px 12px;border:1px solid #bed9c5;border-radius:14px;background:#eef7ef}.availabilityAllGood>span{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:11px;background:var(--green);color:#fff;font-weight:950}.availabilityAllGood>div{display:grid;gap:2px}.availabilityAllGood small{color:var(--soft)}.availabilityForm{display:grid;grid-template-columns:minmax(210px,1.25fr) minmax(190px,1fr) auto;gap:10px;align-items:end;margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:15px;background:#f7f4ee}.availabilityForm .btn{min-height:48px}.compactAvailability{border:1px solid var(--line);border-radius:17px;background:#fefefe;box-shadow:0 10px 28px rgba(10,29,58,.06);overflow:hidden}.compactAvailability>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;cursor:pointer;list-style:none}.compactAvailability>summary::-webkit-details-marker{display:none}.compactAvailability>summary>span:first-child{display:grid;gap:2px}.compactAvailability>summary small{color:var(--soft)}.compactAvailability .availabilityCount{width:36px;height:36px;flex-basis:36px;font-size:17px}.availabilityBody{display:grid;gap:11px;padding:0 14px 14px}.availabilityEditorDisclosure{border-top:1px solid var(--line);padding-top:9px}.availabilityEditorDisclosure>summary{display:flex;align-items:center;justify-content:space-between;min-height:38px;padding:7px 9px;border-radius:11px;cursor:pointer;color:var(--brown);font-weight:900;list-style:none}.availabilityEditorDisclosure>summary::-webkit-details-marker{display:none}.availabilityEditorDisclosure>summary::after{content:"+";display:grid;place-items:center;width:25px;height:25px;border-radius:9px;background:#efe4d4}.availabilityEditorDisclosure[open]>summary::after{content:"−"}.availabilityEditorDisclosure .availabilityForm{margin-top:8px}.availabilityBanner{grid-column:1/-1;display:flex;align-items:center;gap:11px;padding:10px 12px;border:1px solid #e7b9b9;border-left:5px solid var(--red);border-radius:14px;background:#fff8f7;color:var(--ink)}.availabilityBanner>span{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:11px;background:var(--red);color:#fff;font-size:17px;font-weight:950}.availabilityBanner>div{display:grid;gap:2px;min-width:0}.availabilityBanner small{color:var(--soft);overflow-wrap:anywhere}.product.manualPause,.padProduct.manualPause{border-color:#d97d72!important;background:#fff0ee!important}.menuPauseReason{display:block;margin-top:4px;color:var(--red);font-size:9px}
    .closeReadiness{border-width:2px}.closeReadiness.ready{border-color:#b9d7c1;background:linear-gradient(135deg,#eef7ef,#fefefe)}.closeReadiness.blocked{border-color:#e2b2ab;background:linear-gradient(135deg,#fff3f1,#fefefe)}.closeReadinessScore{display:grid;place-items:center;flex:0 0 54px;width:54px;height:54px;border-radius:17px;background:#0a1d3a;color:#fefefe;font-size:20px;font-weight:950}.closeReadinessGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.closeReadinessGrid article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px;border:1px solid var(--line);border-radius:14px;background:#fff}.closeReadinessGrid article>span{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#eaf5ed;color:var(--green);font-weight:950}.closeReadinessGrid article.blocked>span{background:#fff0ee;color:var(--red)}.closeReadinessGrid article>div{display:grid;gap:2px;min-width:0}.closeReadinessGrid small{color:var(--soft);overflow-wrap:anywhere}
    .fiscalModeBanner{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center;margin-bottom:var(--page-gap);padding:12px 14px;border:1px solid #e7b9b9;border-left:5px solid var(--red);border-radius:15px;background:#fff4f0;color:#6f241d}.fiscalModeBanner>span{display:grid;place-items:center;min-width:38px;height:38px;padding:0 7px;border-radius:11px;background:var(--red);color:#fff;font-size:12px;font-weight:950}.fiscalModeBanner>div{display:grid;gap:3px;min-width:0}.fiscalModeBanner small{line-height:1.4;color:#865148}.fiscalModeBanner.sandbox{border-color:#e7ca78;border-left-color:var(--gold);background:#f7f4ee;color:#745313}.fiscalModeBanner.sandbox>span{background:var(--gold)}.fiscalModeBanner.sandbox small{color:#806728}.fiscalModeBanner.official{border-color:#b8d2bd;border-left-color:var(--green);background:#eef7ef;color:#285d35}.fiscalModeBanner.official>span{background:var(--green)}.fiscalModeBanner.official small{color:#4b7054}
    .compliancePanel{margin-top:var(--page-gap)}.complianceGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:10px;margin:14px 0}.complianceGrid article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.58)}.complianceGrid article>span:first-child{grid-column:1/-1;color:var(--soft);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.complianceGrid article>b{min-width:0;overflow-wrap:anywhere}.complianceActions{margin-top:12px}.complianceActions .btn{flex:1 1 170px}.complianceFootnote{display:block;margin-top:11px;line-height:1.45}
    .builderTools{display:grid;gap:12px}.twoCols{display:grid;grid-template-columns:1fr 1fr;gap:10px}.threeCols{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
    .smallBtn{min-height:38px;padding:8px 10px;border-radius:12px}
    .presetGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
    .presetBtn{min-height:70px;border:1px solid var(--line);background:rgba(255,255,255,.55);border-radius:14px;padding:10px;text-align:left}
    .presetBtn b{display:block}.presetBtn small{color:var(--soft)}
    .qtyBtn{width:30px;height:30px;border-radius:10px;border:1px solid var(--line);background:#fefefe}
    .topMeta{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
    .topMetaItem{display:inline-flex;align-items:center;gap:9px;color:var(--ink)}
    .shiftBadge{background:#eee8dc;border:1px solid var(--line);border-radius:12px;padding:10px 14px}
    .unsavedBadge{display:inline-flex;align-items:center;gap:7px;border:1px solid #e7ca78;border-radius:999px;background:#f7f4ee;color:#795814;padding:7px 10px;font-size:11px;font-weight:900}.unsavedBadge[hidden]{display:none}.unsavedBadge::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--gold);animation:unsavedPulse 1.6s ease-in-out infinite}@keyframes unsavedPulse{50%{box-shadow:0 0 0 5px rgba(44,62,87,.12)}}
    .iconBtn{flex:0 0 38px;width:38px;height:38px;aspect-ratio:1;border-radius:12px;border:1px solid transparent;background:transparent;display:inline-grid;place-items:center}
    .iconBtn:hover{background:rgba(10,29,58,.06);border-color:var(--line)}
    .notif{position:relative}.notif::after{content:attr(data-count);position:absolute;right:-2px;top:-4px;min-width:18px;height:18px;border-radius:999px;background:var(--gold);color:#fff;font-size:11px;display:grid;place-items:center;font-weight:800;padding:0 4px}.notif[data-count="0"]::after,.notif:not([data-count])::after{display:none}
    .finalDash{display:grid;gap:var(--page-gap)}
    .kpiRow{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:var(--page-gap)}
    .kpiCard{display:flex;align-items:center;gap:16px;min-height:112px}.kpiCard>div:last-child{flex:1;min-width:0}
    .kpiIcon{flex:0 0 50px;width:50px;height:50px;min-width:50px;min-height:50px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;overflow:hidden;color:#fff;font-weight:900;background:var(--gold)}
    .kpiIcon.green{background:var(--green)}.kpiIcon.blue{background:var(--blue)}.kpiIcon.red{background:#c85050}.kpiIcon.dark{background:#2a2723}
    .kpiCard h3{margin:0;font-size:15px}.kpiValue{font-size:24px;font-weight:900;letter-spacing:-.04em;margin-top:4px}
    .spark{height:30px;min-width:70px;margin-left:auto;color:var(--green)}
    .progress{height:8px;background:#ede7dc;border-radius:999px;overflow:hidden;margin-top:12px}.progress span{display:block;height:100%;background:var(--gold);border-radius:999px}
    .opsGrid{display:grid;grid-template-columns:1.1fr .9fr 1.25fr;gap:var(--page-gap)}
    .bottomGrid{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:var(--page-gap)}
    .cardHead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.cardHead h3{margin:0}
    .legend{display:flex;gap:14px;flex-wrap:wrap;margin:8px 0 18px}.legend span{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--soft)}.legend i{width:11px;height:11px;border-radius:4px;display:inline-block;background:#c9d8b8}
    .floorPreview{position:relative;min-height:300px;border-radius:16px;background:rgba(254,254,254,.45);overflow:hidden}
    .dashTable{position:absolute;border:2px solid rgba(10,29,58,.15);display:grid;place-items:center;text-align:center;font-weight:850;background:#edf4df;color:#0a1d3a;border-radius:6px}
    .dashTable.round{border-radius:999px}.dashTable.bench{border-radius:22px}.dashTable.busy{background:#c8952d;color:#fff}.dashTable.reserved{background:#eee9df}.dashTable.free{background:#dfeccf}
    .reservationRow,.stockRow,.zRow{display:grid;grid-template-columns:72px 70px 1fr auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}
    .stockRow{grid-template-columns:1fr 90px 90px}.zRow{grid-template-columns:1fr auto}
    .miniTag{font-size:12px;border-radius:7px;padding:7px 9px;background:#eef1f5;color:var(--soft);border:1px solid var(--line)}
    .miniTag.blue{background:#eaf2ff;color:#315b91}.miniTag.red{background:#fff0f0;color:var(--red)}
    .posTable{width:100%;border-collapse:collapse}.posTable th,.posTable td{padding:11px 10px;border-bottom:1px solid var(--line);text-align:left}.posTable th{font-size:12px;color:var(--soft);font-weight:700}.posTotal{display:flex;justify-content:space-between;align-items:center;font-size:20px;font-weight:900;margin-top:12px}
    .ticketGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.kitchenTicket{border:1px solid var(--line);border-radius:14px;background:#fff7f1;padding:12px}.kitchenTicket b{display:block;margin-bottom:10px}.timer{color:#e63e44;font-weight:800}
    .moduleLayout{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;align-items:start}
    .textarea{width:100%;min-height:160px;border:1px solid var(--line);border-radius:14px;background:#fefefe;color:var(--ink);padding:12px;font:inherit;font-family:ui-monospace,Menlo,Consolas,monospace}
    .reportBars{display:grid;gap:12px}.barLine{display:grid;grid-template-columns:130px 1fr 70px;gap:12px;align-items:center}.barTrack{height:12px;background:#eef1f5;border-radius:999px;overflow:hidden}.barTrack span{display:block;height:100%;background:var(--gold);border-radius:999px}
    .settingsGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
    .courseGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-top:10px}
    .courseBox{border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.5);padding:12px}
    .courseBox h4{margin:0 0 8px}.courseBox p{margin:6px 0;color:var(--soft);font-size:13px}
    .statusBadge{display:inline-flex;border-radius:999px;padding:6px 9px;font-size:12px;border:1px solid var(--line);background:#eef1f5;color:var(--soft)}
    .statusBadge.sent{background:#fff4df;color:#9a6a16;border-color:#ead1a1}.statusBadge.ready{background:#eaf5ed;color:var(--green);border-color:#bed9c5}.statusBadge.served{background:#eef1f5;color:var(--soft);border-color:#dacdb8}.statusBadge.draft{background:#eef3ff;color:#315b91;border-color:#cbd9f3}
    .statusChip{display:inline-flex;align-items:center;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:800;border:1px solid var(--line);background:#eef1f5;color:var(--soft)}
    .statusChip.ok,.statusChip.paid,.statusChip.present{background:#eaf5ed;color:var(--green);border-color:#bed9c5}.statusChip.warn,.statusChip.open,.statusChip.pending,.statusChip.pause{background:#fff4df;color:#9a6a16;border-color:#ead1a1}.statusChip.danger,.statusChip.cancelled,.statusChip.absent{background:#fff0f0;color:var(--red);border-color:#e7b9b9}.statusChip.info,.statusChip.ready,.statusChip.sent{background:#eef3ff;color:#315b91;border-color:#cbd9f3}.statusChip.served{background:#eef1f5;color:var(--soft);border-color:#dacdb8}
    .accessGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:10px;margin-top:10px}.accessBox{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:12px;padding:10px;background:rgba(255,255,255,.48)}
    .teamEmptyCard{display:flex;align-items:center;justify-content:space-between;gap:18px}.teamEmptyCard h3,.teamEmptyCard p{margin:0}.teamEmptyCard p{margin-top:4px}.teamEditorCard{display:grid;gap:18px;scroll-margin-top:18px;padding:0;overflow:hidden;border-color:rgba(44,62,87,.34);box-shadow:0 18px 48px rgba(10,29,58,.1)}.teamEditorHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:20px 22px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,#f7f4ee,#f5eee3)}.teamEditorHeader>div{display:grid;gap:3px}.teamEditorHeader small{color:#2c3e57;font-size:9px;font-weight:950;letter-spacing:.11em}.teamEditorHeader h3{margin:0;font-size:25px}.teamEditorHeader p{max-width:720px;margin:0;color:var(--soft);font-size:12px;line-height:1.45}.teamEditorIdentity{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0 22px}.teamEditorSection{display:grid;gap:12px;margin:0 22px;padding:16px;border:1px solid var(--line);border-radius:17px;background:rgba(255,255,255,.42)}.teamEditorSectionHead{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:start;gap:10px}.teamEditorSectionHead>span{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:#0a1d3a;color:#a9b4c6;font-size:12px;font-weight:950}.teamEditorSectionHead h4,.teamEditorSectionHead p{margin:0}.teamEditorSectionHead h4{font-size:16px}.teamEditorSectionHead p{margin-top:2px;color:var(--soft);font-size:11px;line-height:1.4}.teamAccessSummary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 12px;border-radius:13px;background:#f4eee4}.teamAccessSummary>div:first-child{display:grid;gap:2px}.teamAccessSummary small{color:var(--soft);font-size:10px}.teamAccessPresets{display:flex;flex-wrap:wrap;gap:6px}.teamAccessPresets button{min-height:34px;border:1px solid var(--line);border-radius:11px;padding:6px 10px;background:#fefefe;color:var(--ink);font-weight:850}.teamAccessPresets button:hover{border-color:var(--gold);background:#fff7e8}.teamAccessGrid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-top:0}.teamAccessGrid .accessBox,.teamTableAccessGrid .accessBox{min-height:46px;cursor:pointer}.teamAccessGrid .accessBox:has(input:checked),.teamTableAccessGrid .accessBox:has(input:checked){border-color:rgba(79,125,91,.45);background:#edf6ef;color:#315e3d}.teamAccessGrid input,.teamTableAccessGrid input{width:18px;height:18px;accent-color:#4f7d5b}.teamEmptyAssignment{margin:0;padding:12px;border-radius:12px;background:#f4eee4;color:var(--soft);font-size:11px}.teamEditorActions{position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:9px;padding:14px 22px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fefefe}.teamEditorActions .btn{min-width:180px}.teamTable td{vertical-align:top}.teamTable .accessBadges{max-width:520px}
    .accessBadges{display:flex;gap:6px;flex-wrap:wrap}.accessBadge{border:1px solid var(--line);border-radius:999px;padding:5px 8px;background:#eef1f5;color:var(--soft);font-size:12px}.accessBadge.locked{border-color:rgba(166,113,37,.26);background:#fff4df;color:#865d24}
    .kitchenBoard{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.kitchenLane{border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.42);padding:14px}.kitchenLane h3{margin:0 0 12px}
    .courseTicket{background:#fefefe;border:1px solid var(--line);border-radius:16px;padding:14px;margin-bottom:12px}.courseTicket header{display:flex;justify-content:space-between;gap:10px;margin-bottom:10px}.courseTicket p{margin:6px 0}
    .modalOverlay{position:fixed;inset:0;z-index:20;background:rgba(10,29,58,.42);display:grid;place-items:center;padding:24px}
    .modalPanel{width:min(620px,100%);background:#fefefe;border:1px solid rgba(254,254,254,.75);border-radius:18px;box-shadow:0 34px 120px rgba(0,0,0,.38);padding:22px}
    .modalPanel h3{margin:0}.modalPanel select{width:100%;margin-top:7px}
    .modalTitle{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px}
    .connectionBadge{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:999px;padding:7px 10px;background:#eef1f5;color:var(--soft);font-size:12px;font-weight:850}.connectionBadge::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--gold)}.connectionBadge.online::before{background:var(--green)}.connectionBadge.error::before{background:var(--red)}.authPanel{width:min(460px,100%)}.authPanel .input{margin-top:8px}.authHint{border:1px solid var(--line);border-radius:13px;background:#eef1f5;padding:10px;font-size:12px;color:var(--soft)}
    .pairingLogin{display:grid;gap:8px;margin-top:14px}.pairingLogin p{margin:3px 0;color:var(--soft);font-size:12px;line-height:1.4}.pairingDivider{position:relative;display:grid;place-items:center;margin:3px 0}.pairingDivider::before{content:"";position:absolute;left:0;right:0;height:1px;background:var(--line)}.pairingDivider span{position:relative;padding:0 10px;background:#fefefe;color:var(--soft);font-size:9px;font-weight:950;letter-spacing:.12em}.pairingCodeInput{text-align:center;font-size:19px!important;font-weight:950;letter-spacing:.12em}
    .authBackdrop{z-index:200;background:radial-gradient(circle at 16% 4%,rgba(169,180,198,.48),transparent 33%),linear-gradient(145deg,#f7f4ee,#e5eaf0)}
    .authLoadingBackdrop{padding:24px}.authLoadingPanel{display:grid;grid-template-columns:58px minmax(0,1fr) 28px;align-items:center;gap:17px;width:min(520px,100%);border:1px solid rgba(255,255,255,.14);border-radius:24px;padding:22px;background:#fefefe;box-shadow:0 38px 130px rgba(0,0,0,.52)}.authLoadingPanel small{display:block;margin-bottom:4px;color:#2c3e57;font-size:9px;font-weight:950;letter-spacing:.13em}.authLoadingPanel b{display:block;font-size:19px}.authLoadingPanel p{margin:4px 0 0;color:var(--soft);font-size:12px;line-height:1.45}.authLoadingSpinner{width:24px;height:24px;border:3px solid rgba(44,62,87,.22);border-top-color:var(--gold);border-radius:50%;animation:authSpin .75s linear infinite}@keyframes authSpin{to{transform:rotate(360deg)}}
    .publicAuthPanel{width:min(520px,100%);display:grid;gap:18px;border-color:rgba(10,29,58,.14);border-radius:26px;background:#fefefe;box-shadow:0 34px 100px rgba(10,29,58,.22)}
    .publicAuthBrand{display:grid;grid-template-columns:48px minmax(0,1fr);gap:14px;align-items:start}.publicAuthBrand .aiMark{width:48px;height:48px;border-radius:15px;font-size:18px}.publicAuthBrand small{display:block;margin:2px 0 5px;color:#2c3e57;font-size:10px;font-weight:950;letter-spacing:.14em}.publicAuthBrand h3{font-size:25px;letter-spacing:-.025em}.publicAuthBrand p{margin:7px 0 0;color:var(--soft);font-size:13px;line-height:1.5}
    .connectionErrorPanel{width:min(560px,100%)}.connectionErrorPanel .aiMark{background:#0a1d3a;color:#fff}.connectionErrorNotice{display:grid;gap:4px;border:1px solid rgba(10,29,58,.12);border-left:4px solid #2c3e57;border-radius:14px;padding:13px 15px;background:#eef1f5}.connectionErrorNotice b{font-size:13px}.connectionErrorNotice span{color:#526176;font-size:12px;line-height:1.5}.connectionErrorActions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.connectionErrorActions .btn{margin:0}.connectionErrorActions .secondary{background:#fefefe}
    .ownerLoginFields,.pinAccessFields{display:grid;gap:11px}.publicAuthPanel .input{margin:0}.authPrimaryAction,.authSecondaryAction{width:100%;min-height:50px;margin-top:2px}.authLegal{margin:0;color:var(--soft);font-size:11px;line-height:1.45;text-align:center}
    .passwordRequirements{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.passwordRequirements span{display:grid;place-items:center;min-height:42px;padding:7px;border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.55);color:var(--soft);font-size:10px;font-weight:850;text-align:center}
    .siteAccessDetails{border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.42);overflow:hidden}.siteAccessDetails>summary{cursor:pointer;list-style:none;padding:13px 14px;color:var(--soft);font-size:12px;font-weight:900}.siteAccessDetails>summary::-webkit-details-marker{display:none}.siteAccessDetails>summary::after{content:"⌄";float:right;font-size:16px}.siteAccessDetails[open]>summary{border-bottom:1px solid var(--line);color:var(--ink)}.siteAccessDetails[open]>summary::after{transform:rotate(180deg)}.siteAccessDetails .pinAccessFields,.siteAccessDetails .pairingLogin{padding:12px}
    .publicAuthPanel>.pairingLogin{margin:0;padding-top:1px}.publicAuthPanel .pairingDivider span{background:#fefefe}.authDeviceHint{margin:0;text-align:center;line-height:1.45}
    .authBackButton{justify-self:start;border:0;background:transparent;color:var(--soft);padding:2px 0;font:inherit;font-size:12px;font-weight:900;cursor:pointer}.authBackButton:hover{color:var(--ink)}
    .restaurantAuthBackdrop{align-items:center;overflow-y:auto;padding:max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left))}
    .restaurantLoginPanel{width:min(620px,100%);max-height:none;gap:20px;padding:31px clamp(24px,5vw,54px) 28px;border:1px solid rgba(10,29,58,.14);border-radius:28px;background:#fefefe;box-shadow:0 28px 90px rgba(10,29,58,.2)}
    .restaurantLoginPanel>.authBackButton{margin-bottom:-3px;color:#526176}
    .restaurantAuthWordmark{display:block;width:min(100%,430px);max-height:120px;margin:1px auto 2px;object-fit:contain}
    .accountSpaceLabel{display:block;margin:-8px 0 -10px;color:#2c3e57;font-size:9px;font-weight:850;letter-spacing:.18em;text-align:center}
    .authInlineSpacer{display:block;min-width:120px;min-height:1px}
    .restaurantAuthTitle{margin:0;text-align:center;color:#0a1d3a;font-size:18px;line-height:1.3;letter-spacing:0}
    .restaurantCredentials{gap:13px}
    .restaurantAuthField{position:relative;display:block}
    .restaurantAuthField .input{min-height:58px;padding:14px 17px;border:1px solid rgba(10,29,58,.16);border-radius:13px;background:#fefefe;color:#0a1d3a;font-size:16px;box-shadow:0 2px 8px rgba(10,29,58,.025)}
    .restaurantAuthField .input::placeholder{color:#728095;opacity:1}
    .restaurantAuthField .input:focus{border-color:#2c3e57;box-shadow:0 0 0 4px rgba(44,62,87,.11);outline:0}
    .restaurantPasswordField .input{padding-right:58px}
    .authPasswordToggle{position:absolute;right:8px;top:50%;display:grid;place-items:center;width:43px;height:43px;padding:0;border:0;border-radius:11px;background:transparent;color:#526176;transform:translateY(-50%)}
    .authPasswordToggle:hover{background:#eef1f5;color:#0a1d3a}.authPasswordToggle:active:not(:disabled){transform:translateY(-50%) scale(.97)}.authPasswordToggle .uiIcon{width:21px;height:21px}
    .restaurantAuthOptions{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:34px}
    .restaurantRemember{display:flex;align-items:center;gap:9px;color:#2c3e57;font-size:13px;font-weight:750;cursor:pointer}.restaurantRemember input{width:20px;height:20px;margin:0;accent-color:#0a1d3a}
    .restaurantAuthOptions .authInlineLink{border:0;padding:4px 0;background:transparent;color:#2c3e57;font-size:13px;font-weight:800;text-decoration:underline;text-underline-offset:3px}
    .restaurantLoginButton{min-height:56px!important;border-radius:12px!important;font-size:15px;font-weight:850;box-shadow:0 10px 24px rgba(10,29,58,.18)}
    .restaurantAuthSecurity{margin:-3px 0 0;color:#526176;font-size:10px;line-height:1.45;text-align:center}
    .restaurantDeviceAccess{overflow:hidden;border:1px solid rgba(10,29,58,.12);border-radius:14px;background:#f7f4ee}.restaurantDeviceAccess>summary{padding:12px 14px;color:#526176;font-size:11px;font-weight:850;cursor:pointer;list-style:none}.restaurantDeviceAccess>summary::-webkit-details-marker{display:none}.restaurantDeviceAccess>summary::after{content:"⌄";float:right;font-size:15px}.restaurantDeviceAccess[open]>summary{border-bottom:1px solid rgba(10,29,58,.1);color:#0a1d3a}.restaurantDeviceAccess[open]>summary::after{transform:rotate(180deg)}.restaurantDeviceAccessBody{display:grid;gap:12px;padding:13px}.restaurantDeviceAccess .authHint{margin:0;background:#eef1f5}.restaurantDeviceAccess .pairingLogin{margin:0}
    .toast.authErrorPopup{inset:0;z-index:400;display:grid!important;place-items:center;width:auto;max-width:none;padding:20px;background:rgba(10,29,58,.58);border-radius:0;box-shadow:none;backdrop-filter:blur(7px)}.authErrorDialog{display:grid;justify-items:center;gap:12px;width:min(420px,100%);padding:28px;border:1px solid rgba(10,29,58,.14);border-radius:24px;background:#fefefe;color:#0a1d3a;box-shadow:0 30px 100px rgba(10,29,58,.3);text-align:center}.authErrorIcon{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:#fff0ed;color:#8f2d23;font-size:25px;font-weight:900}.authErrorDialog h3{margin:0;font-size:22px}.authErrorDialog p{margin:0;color:#526176;line-height:1.5}.authErrorDialog .btn{width:100%;margin-top:5px}
    @media(max-width:560px){.restaurantAuthBackdrop{align-items:start;padding:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}.restaurantLoginPanel{min-height:calc(100dvh - max(20px,env(safe-area-inset-top) + env(safe-area-inset-bottom)));gap:18px;padding:22px 18px;border-radius:22px}.restaurantAuthWordmark{width:min(92%,350px);margin-top:10px}.restaurantAuthOptions{align-items:flex-start;gap:10px}.restaurantRemember,.restaurantAuthOptions .authInlineLink{font-size:12px}.restaurantAuthSecurity{margin-top:auto}.connectionErrorActions{grid-template-columns:minmax(0,1fr)}}
    .workspaceProfileBackdrop{align-items:start;overflow:auto;padding-block:max(24px,env(safe-area-inset-top))}.workspaceProfilePanel{width:min(980px,100%);display:grid;gap:18px;border-radius:28px;padding:26px;background:linear-gradient(155deg,#fefefe,#f1f3f6);box-shadow:0 40px 140px rgba(0,0,0,.54)}.workspaceProfileHeader{display:flex;align-items:start;justify-content:space-between;gap:18px}.workspaceProfileHeader>.authBackButton{flex:0 0 auto;margin-top:5px}.workspaceProfileSection{display:grid;gap:12px;border:1px solid rgba(10,29,58,.1);border-radius:19px;padding:15px;background:rgba(255,255,255,.52)}.workspaceProfileSectionTitle{display:flex;align-items:center;justify-content:space-between;gap:12px}.workspaceProfileSectionTitle small{display:block;color:#2c3e57;font-size:9px;font-weight:950;letter-spacing:.12em}.workspaceProfileSectionTitle h4{margin:3px 0 0;font-size:17px}.workspaceProfileSectionTitle>span{display:grid;place-items:center;min-width:31px;height:31px;border-radius:10px;background:#eef1f5;font-size:12px;font-weight:950}.workspaceProfileGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px}.workspaceProfileCard{display:grid;grid-template-columns:44px minmax(0,1fr);gap:11px;min-width:0;border:1px solid var(--line);border-radius:16px;padding:13px;background:#fefefe;color:var(--ink);text-align:left}.workspaceProfileCard>span:nth-child(2){min-width:0}.workspaceProfileCard small,.workspaceProfileCard b,.workspaceProfileCard em{display:block}.workspaceProfileCard small{color:#2c3e57;font-size:9px;font-weight:950;text-transform:uppercase;letter-spacing:.08em}.workspaceProfileCard b{margin-top:3px;font-size:17px;overflow-wrap:anywhere}.workspaceProfileCard em{margin-top:3px;color:var(--soft);font-size:11px;font-style:normal;line-height:1.4}.workspaceProfileCard strong{grid-column:2;margin-top:4px;color:#2c3e57;font-size:11px}.workspaceProfileIcon{grid-row:1/span 2;display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:#0a1d3a;color:#fff}.workspaceProfileIcon .uiIcon{width:22px;height:22px}.responsibleProfileCard{cursor:pointer;transition:.18s}.responsibleProfileCard:hover{border-color:rgba(44,62,87,.55);transform:translateY(-2px);box-shadow:0 12px 28px rgba(10,29,58,.09)}.deviceProfileCard{background:#f4f0e9}.deviceProfileCard .workspaceProfileIcon{background:#55775d}.deviceProfileCard strong{color:#416249}.workspaceProfileEmpty{grid-column:1/-1;margin:0;border:1px dashed var(--line);border-radius:14px;padding:16px;color:var(--soft);text-align:center}.workspacePairing{margin-top:2px;background:#fefefe}.workspacePinPanel .pairingCodeInput{letter-spacing:.16em}.workspacePinPanel .publicAuthBrand .aiMark{font-size:18px}
    .portalChoicePanel{width:min(900px,100%);display:grid;gap:24px;border:1px solid rgba(10,29,58,.1);border-radius:30px;padding:32px;background:#fefefe;box-shadow:0 36px 110px rgba(10,29,58,.24)}
    .portalChoiceBrand{display:flex;align-items:center;gap:17px}.portalLogo{display:grid;place-items:center;width:58px;height:58px;flex:0 0 58px;border-radius:18px;background:linear-gradient(145deg,#2c3e57,#0a1d3a);color:white;font-family:Poppins,"Avenir Next",Inter,"Segoe UI",Arial,sans-serif;font-size:25px;font-weight:950;box-shadow:0 14px 30px rgba(139,91,31,.25)}.portalChoiceBrand small,.platformHero>div>small,.platformSectionTitle small,.platformClientCard header small{display:block;color:#2c3e57;font-size:10px;font-weight:950;letter-spacing:.13em}.portalChoiceBrand h2{margin:3px 0 5px;font-size:31px;letter-spacing:-.035em}.portalChoiceBrand p{margin:0;color:var(--soft);line-height:1.45}
    .portalChoices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.portalChoice{appearance:none;display:grid;grid-template-columns:58px minmax(0,1fr);gap:15px;min-width:0;min-height:218px;border:1px solid rgba(10,29,58,.12);border-radius:22px;padding:22px;background:#f7f4ee;color:var(--ink);text-align:left;cursor:pointer;box-shadow:none;transition:.18s ease}.portalChoice:hover,.portalChoice:focus-visible{border-color:#a9b4c6;transform:translateY(-2px);box-shadow:0 18px 38px rgba(10,29,58,.1);outline:none}.portalChoiceIcon{display:grid;place-items:center;width:58px;height:58px;border-radius:17px;background:#0a1d3a;color:#fff}.restaurantSpaceChoice .portalChoiceIcon{background:#2c3e57}.portalChoiceIcon .uiIcon{width:27px;height:27px;stroke:currentColor}.portalChoiceCopy{display:flex;min-width:0;flex-direction:column;align-items:flex-start}.portalChoiceCopy small{color:#526176;font-size:9px;font-weight:950;letter-spacing:.12em}.portalChoiceCopy b{margin-top:7px;font-size:22px;line-height:1.15}.portalChoiceCopy em{margin-top:10px;color:var(--soft);font-size:13px;font-style:normal;line-height:1.5}.portalChoiceCopy strong{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;margin-top:auto;padding-top:20px;color:#0a1d3a;font-size:12px}.portalChoiceCopy strong span{font-size:19px}.restaurantSpaceChoice .portalChoiceCopy strong{color:#2c3e57}
    .portalChoicePrivacy{display:flex;align-items:center;justify-content:center;gap:11px;padding:3px 6px;color:#526176}.portalChoicePrivacy>span{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:11px;background:#eef1f5;color:#2c3e57}.portalChoicePrivacy .uiIcon{width:18px;height:18px}.portalChoicePrivacy p{margin:0}.portalChoicePrivacy b,.portalChoicePrivacy small{display:block}.portalChoicePrivacy b{color:#2c3e57;font-size:12px}.portalChoicePrivacy small{margin-top:2px;font-size:11px;line-height:1.35}
    .temporaryPasswordPanel{align-content:start}.temporaryPasswordIntro{margin:0;border-left:3px solid #2c3e57;border-radius:10px;padding:11px 13px;background:#eef1f5;color:#526176;font-size:12px;line-height:1.55}.temporaryPasswordPanel>.secondary{width:100%}
    .portalSessionPromise,.persistentSessionNotice,.platformSecurityNote{display:flex;align-items:center;gap:11px;border:1px solid rgba(79,125,91,.25);border-radius:15px;padding:11px 13px;background:rgba(234,245,237,.74)}.portalSessionPromise>span,.persistentSessionNotice>span,.platformSecurityNote>span{display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;border-radius:10px;background:#55775d;color:#fff;font-weight:950}.portalSessionPromise p,.persistentSessionNotice p,.platformSecurityNote p{margin:0}.portalSessionPromise b,.portalSessionPromise small,.persistentSessionNotice b,.persistentSessionNotice small,.platformSecurityNote b,.platformSecurityNote small{display:block}.portalSessionPromise small,.persistentSessionNotice small,.platformSecurityNote small{margin-top:2px;color:var(--soft);font-size:11px;line-height:1.35}.persistentSessionNotice{padding:9px 11px}.persistentSessionNotice>span{width:27px;height:27px;flex-basis:27px;border-radius:9px}.platformAuthPanel{border-top:4px solid #29241d}
    .platformApp{min-height:100dvh;background:radial-gradient(circle at 8% 0,rgba(44,62,87,.1),transparent 30%),#f7f4ee;color:var(--ink)}.platformTopbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:76px;padding:13px max(24px,calc((100vw - 1440px)/2));border-bottom:1px solid rgba(34,28,20,.1);background:rgba(255,253,248,.92);backdrop-filter:blur(15px)}.platformBrand{display:flex;align-items:center;gap:11px}.platformBrandButton{border:0;background:transparent;color:inherit;text-align:left;font:inherit;cursor:pointer}.platformBrandButton:focus-visible{outline:2px solid var(--gold);outline-offset:4px;border-radius:13px}.platformBrand>span{display:grid;place-items:center;width:43px;height:43px;border-radius:13px;background:#0a1d3a;color:#fff;font-family:Poppins,"Avenir Next",Inter,"Segoe UI",Arial,sans-serif;font-size:20px;font-weight:950}.platformBrand b,.platformBrand small,.platformTopActions b,.platformTopActions small{display:block}.platformBrand b{font-size:17px;letter-spacing:.08em}.platformBrand small,.platformTopActions small{margin-top:2px;color:var(--soft);font-size:11px}.platformTopActions{display:flex;align-items:center;gap:13px;text-align:right}.platformMain{width:min(1440px,100%);margin:auto;padding:26px 28px 54px}.platformNav{display:flex;align-items:center;gap:7px;max-width:100%;margin-bottom:29px;padding:5px;border:1px solid rgba(34,28,20,.09);border-radius:16px;background:rgba(255,255,255,.55);overflow:auto}.platformNav button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:39px;border:0;border-radius:11px;padding:8px 14px;background:transparent;color:var(--soft);font:inherit;font-size:12px;font-weight:900;white-space:nowrap;cursor:pointer}.platformNav button:hover{background:#fff;color:var(--ink)}.platformNav button.active{background:#0a1d3a;color:#fff;box-shadow:0 7px 17px rgba(34,28,20,.18)}.platformNav button span{display:grid;place-items:center;min-width:20px;height:20px;border-radius:999px;background:#2c3e57;color:#fff;font-size:10px}.platformHero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:25px}.platformHero>.btn{flex:0 0 auto;white-space:nowrap}.platformHero h1{margin:5px 0 7px;font-size:40px;letter-spacing:-.045em}.platformHero p{max-width:680px;margin:0;color:var(--soft);line-height:1.5}.platformMetrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:22px}.platformMetrics article{min-width:0;border:1px solid var(--line);border-radius:18px;padding:17px;background:rgba(255,255,255,.7);box-shadow:0 12px 28px rgba(34,27,18,.045)}.platformMetrics span,.platformMetrics b,.platformMetrics small{display:block}.platformMetrics span{color:var(--soft);font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.platformMetrics b{margin:8px 0 4px;font-size:25px;overflow-wrap:anywhere}.platformMetrics small{color:var(--soft);font-size:11px}.platformColumns{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(290px,.7fr);gap:18px;align-items:start}.platformSection{display:grid;gap:12px;min-width:0;border:1px solid var(--line);border-radius:22px;padding:19px;background:rgba(255,255,255,.6)}.platformSectionTitle{display:flex;align-items:center;justify-content:space-between;gap:14px}.platformSectionTitle h2{margin:3px 0 0;font-size:21px}.platformSectionTitle>span{display:grid;place-items:center;min-width:33px;height:33px;border-radius:11px;background:#eef1f5;font-weight:900}.platformSectionIntro{margin:-2px 0 4px;color:var(--soft);font-size:12px;line-height:1.5}.platformTextButton{border:0;background:transparent;color:#2c3e57;font:inherit;font-size:12px;font-weight:900;cursor:pointer;white-space:nowrap}.platformClientGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:13px}.platformClientCard{min-width:0;border:1px solid var(--line);border-radius:18px;padding:16px;background:#fefefe}.platformClientCard header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.platformClientCard h3{margin:4px 0 0;font-size:19px}.platformClientFacts{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:9px;margin:15px 0}.platformClientFacts span{min-width:0;border-radius:13px;padding:10px;background:#f7f4ee}.platformClientFacts small,.platformClientFacts b{display:block}.platformClientFacts small{color:var(--soft);font-size:10px}.platformClientFacts b{margin-top:4px;font-size:13px;overflow-wrap:anywhere}.platformClientCard footer{display:flex;justify-content:space-between;gap:10px;padding-top:11px;border-top:1px solid var(--line);color:var(--soft);font-size:11px}.platformClientPlan{display:grid;gap:10px;margin:14px 0;padding:12px;border:1px solid rgba(44,62,87,.26);border-radius:15px;background:#f7f4ee}.platformClientPlan>div>b,.platformClientPlan>div>small{display:block}.platformClientPlan>div>small{margin-top:3px;color:var(--soft);font-size:11px}.platformClientPlanFields{display:grid;grid-template-columns:minmax(170px,1fr) minmax(120px,.55fr) auto;gap:8px;align-items:end}.platformClientPlanFields label{display:grid;gap:4px}.platformClientPlanFields label>span{color:var(--soft);font-size:9px;font-weight:900;text-transform:uppercase}.platformClientPlanFields select{min-height:40px;padding:8px 38px 8px 10px;font-size:11px}.platformClientPlanFields .btn{min-height:40px}.platformTeamRow{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.platformAvatar{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border-radius:12px;background:#0a1d3a;color:#fff;font-weight:950}.platformTeamRow b,.platformTeamRow small{display:block}.platformTeamRow small{margin-top:2px;color:var(--soft);font-size:11px;overflow-wrap:anywhere}.platformSecurityNote{margin-top:6px}.platformEmpty{border:1px dashed var(--line);border-radius:16px;padding:22px;text-align:center;color:var(--soft)}.platformEmpty p{margin:5px 0 0;font-size:12px}
    .platformTeamLayout{display:grid;grid-template-columns:minmax(300px,.75fr) minmax(0,1.25fr);gap:18px;align-items:start}.platformInviteSection{position:sticky;top:96px}.platformInviteForm{display:grid;gap:11px}.platformInviteForm>.btn{width:100%;margin-top:2px}.platformInviteResult{display:grid;gap:10px;margin-top:4px;border:1px solid rgba(79,125,91,.3);border-radius:16px;padding:13px;background:#eef7ef}.platformInviteResult b,.platformInviteResult small{display:block}.platformInviteResult small{margin-top:3px;color:var(--soft);line-height:1.4}.platformInviteResult code{display:block;max-width:100%;border-radius:11px;padding:10px;background:#fff;color:#31593a;font-size:11px;overflow-wrap:anywhere;user-select:all}.platformMemberList,.platformInvitationList{display:grid;gap:10px}.platformMemberCard{min-width:0;border:1px solid var(--line);border-radius:17px;padding:13px;background:#fefefe}.platformMemberCard.disabled{background:#f4f0e9;opacity:.8}.platformMemberIdentity{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:11px;align-items:start}.platformMemberIdentity>div{min-width:0}.platformMemberIdentity small,.platformMemberIdentity p{display:block;margin:3px 0 0;color:var(--soft);font-size:11px;line-height:1.4;overflow-wrap:anywhere}.platformMemberName{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.platformMemberName em{border-radius:999px;padding:3px 7px;background:#eef1f5;color:#725124;font-size:9px;font-style:normal;font-weight:950;text-transform:uppercase}.platformMemberActions{display:flex;align-items:end;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:12px;padding-top:11px;border-top:1px solid var(--line)}.platformMemberActions label{display:grid;gap:4px;margin-right:auto}.platformMemberActions label>span{color:var(--soft);font-size:9px;font-weight:900;text-transform:uppercase}.platformMemberActions select{width:190px;min-height:36px;padding:7px 32px 7px 10px;font-size:12px}.platformProtected{margin-right:auto;color:#75644d;font-size:11px;font-weight:850}.platformInvitationRow{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:14px;padding:11px 12px;background:#fefefe}.platformInvitationRow b,.platformInvitationRow small{display:block;overflow-wrap:anywhere}.platformInvitationRow small{margin-top:3px;color:var(--soft);font-size:11px}.platformSecurityLayout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:18px;align-items:start}.platformRoleGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.platformRoleCard{min-width:0;border:1px solid var(--line);border-radius:16px;padding:13px;background:#fefefe}.platformRoleCard.current{border-color:#2c3e57;background:#f7f4ee}.platformRoleCard header{display:flex;align-items:center;justify-content:space-between;gap:8px}.platformRoleCard header span{border-radius:999px;padding:3px 7px;background:#0a1d3a;color:#fff;font-size:9px;font-weight:900}.platformRoleCard p{margin:8px 0;color:var(--soft);font-size:12px;line-height:1.45}.platformRoleCard small{color:#2c3e57;font-weight:850}
    .platformPricingLayout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(285px,.55fr);gap:18px;align-items:start}.platformPricingNotice{display:grid;grid-template-columns:38px minmax(0,1fr);gap:11px;align-items:center;border:1px solid rgba(44,62,87,.25);border-radius:15px;padding:11px 13px;background:#f7f4ee}.platformPricingNotice>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#0a1d3a;color:#fff;font-weight:950}.platformPricingNotice b{display:block}.platformPricingNotice p{margin:3px 0 0;color:var(--soft);font-size:11px;line-height:1.4}.platformPricingGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}.platformPriceCard{display:flex;min-width:0;flex-direction:column;border:1px solid var(--line);border-radius:19px;padding:15px;background:#fefefe}.platformPriceCard.popular{border-color:#2c3e57;box-shadow:0 13px 30px rgba(156,103,34,.1)}.platformPriceCard.inactive{background:#f2eee7;opacity:.72}.platformPriceCard header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.platformPriceCard header small{display:block;color:#2c3e57;font-size:9px;font-weight:950;letter-spacing:.1em}.platformPriceCard h3{margin:4px 0 0;font-size:22px}.platformPriceCard>p{min-height:42px;margin:10px 0;color:var(--soft);font-size:12px;line-height:1.45}.platformPlanToggle{display:grid;justify-items:center;gap:3px;color:var(--soft);font-size:9px;font-weight:900}.platformPlanToggle input{width:18px;height:18px}.platformPriceHeadline{display:flex;align-items:baseline;gap:6px}.platformPriceHeadline b{font-size:31px;letter-spacing:-.04em}.platformPriceHeadline span,.platformAnnualHint{color:var(--soft);font-size:11px}.platformAnnualHint{display:block;margin:2px 0 12px}.platformPriceFields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.platformPriceField{display:grid;min-width:0;gap:4px}.platformPriceField>span{color:var(--soft);font-size:9px;font-weight:900;text-transform:uppercase}.platformPriceField>div{position:relative;min-width:0}.platformPriceField input{min-width:0;min-height:42px;padding:8px 84px 8px 10px;font-size:13px;font-weight:900}.platformPriceField em{position:absolute;right:9px;top:50%;max-width:70px;transform:translateY(-50%);color:var(--soft);font-size:9px;font-style:normal;text-align:right;pointer-events:none}.platformPriceCard ul{display:grid;gap:6px;margin:14px 0 0;padding:13px 0 0;list-style:none;border-top:1px solid var(--line)}.platformPriceCard li{position:relative;padding-left:18px;color:#534b42;font-size:11px;line-height:1.4}.platformPriceCard li::before{content:"✓";position:absolute;left:0;color:#4d7657;font-weight:950}.platformPricingSave{display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid var(--line);padding-top:15px}.platformPricingSave b,.platformPricingSave small{display:block}.platformPricingSave small{margin-top:3px;color:var(--soft);font-size:11px}.platformPricingSave .btn{flex:0 0 auto}.platformMarketSection{position:sticky;top:96px}.platformBenchmarkList{display:grid;gap:8px}.platformBenchmark{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);border-radius:14px;padding:11px;background:#fefefe;color:inherit;text-decoration:none;transition:.18s ease}.platformBenchmark:hover{border-color:#2c3e57;transform:translateY(-1px)}.platformBenchmark b,.platformBenchmark small{display:block}.platformBenchmark span small,.platformBenchmark strong small{margin-top:2px;color:var(--soft);font-size:9px}.platformBenchmark strong{font-size:14px;text-align:right}.platformBenchmark strong small{font-weight:650}.platformMarketSection .platformSecurityNote>span{background:#9a6a27}
    .platformActionCenter{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:-6px 0 22px;border:1px solid #b9d3be;border-radius:20px;padding:17px 19px;background:linear-gradient(120deg,#eff8f0,#fefefe)}.platformActionCenter.hasAlerts{border-color:#e4c270;background:linear-gradient(120deg,#fff6df,#fefefe)}.platformActionCenter small,.platformActionCenter b{display:block}.platformActionCenter small{color:#8b6428;font-size:9px;font-weight:950;letter-spacing:.12em}.platformActionCenter b{margin-top:4px;font-size:19px}.platformActionCenter p{margin:4px 0 0;color:var(--soft);font-size:12px}.platformActionCenter .btn{flex:0 0 auto}.platformOperations{display:grid;gap:0}.platformOperationMetrics b{font-size:28px}.platformOperationsGrid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:18px;align-items:start}.platformOperationsEvents{grid-column:1/-1}.platformOperationAlert{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:11px;align-items:center;border:1px solid var(--line);border-radius:15px;padding:12px;background:#fefefe}.platformOperationAlert>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#e9eef8;color:#3e5f91;font-weight:950}.platformOperationAlert.warning{border-color:#ead09a;background:#fff9ea}.platformOperationAlert.warning>span{background:#e7ca78;color:#5d4319}.platformOperationAlert.danger{border-color:#efb4aa;background:#fff3f0}.platformOperationAlert.danger>span{background:#b54437;color:#fff}.platformOperationAlert b,.platformOperationAlert small{display:block}.platformOperationAlert small{margin-top:3px;color:var(--soft);font-size:11px;line-height:1.4}.platformSystemGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.platformSystemCheck{display:grid;grid-template-columns:32px minmax(0,1fr);gap:9px;align-items:center;border:1px solid #bed5c3;border-radius:14px;padding:11px;background:#f0f8f1}.platformSystemCheck.attention{border-color:#efb4aa;background:#fff3f0}.platformSystemCheck>span{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#55775d;color:#fff;font-weight:950}.platformSystemCheck.attention>span{background:#b54437}.platformSystemCheck b,.platformSystemCheck small{display:block}.platformSystemCheck small{margin-top:2px;color:var(--soft);font-size:10px;line-height:1.35}.platformEventList{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:8px}.platformEventRow{display:grid;grid-template-columns:12px minmax(0,1fr);gap:9px;align-items:start;border-left:1px solid #d8cdbd;padding:8px 10px}.platformEventRow>span{width:9px;height:9px;margin:4px 0 0 -15px;border:2px solid #fff;border-radius:999px;background:#a7752d;box-shadow:0 0 0 1px #a7752d}.platformEventRow b,.platformEventRow small{display:block}.platformEventRow small{margin-top:3px;color:var(--soft);font-size:10px}.platformClientTools{display:grid;grid-template-columns:minmax(260px,1fr) minmax(190px,.35fr);gap:10px;padding:12px;border:1px solid var(--line);border-radius:16px;background:#f7f2ea}.platformClientTools label{display:grid;gap:5px}.platformClientTools label>span{color:var(--soft);font-size:9px;font-weight:950;text-transform:uppercase;letter-spacing:.06em}.platformEmptySuccess{border-color:#b9d3be;background:#eff8f0;color:#416249}
    .subscriptionBanner{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:12px;align-items:center;margin-bottom:var(--page-gap);padding:12px 14px;border:1px solid #e6c46b;border-radius:15px;background:#f7f4ee;color:#2c3e57}.subscriptionBanner>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#e7ca78;color:#372713;font-weight:950}.subscriptionBanner b,.subscriptionBanner small{display:block}.subscriptionBanner small{margin-top:3px;line-height:1.4}.subscriptionBanner.readOnly{border-color:#efb4aa;background:#fff1ee;color:#8f2d23}.subscriptionBanner.readOnly>span{background:var(--red);color:#fff}
    .variantEditor{border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.48);padding:12px}.variantEditor h4{margin:0 0 10px}.variantList{display:grid;gap:8px}.variantRow{display:flex;gap:8px;align-items:center}.variantRow input{flex:1}.variantAdd{display:flex;gap:8px;margin-top:10px}.variantAdd input{flex:1}
    .fieldStack{display:grid;gap:7px}.fieldLabel{font-size:12px;font-weight:900;color:var(--soft);text-transform:uppercase;letter-spacing:.04em}.priceField{position:relative}.priceField input{padding-right:58px;font-size:18px;font-weight:900}.priceField::after{content:"€";position:absolute;right:0;top:0;height:100%;width:48px;display:grid;place-items:center;border-left:1px solid var(--line);border-radius:0 13px 13px 0;background:rgba(44,62,87,.12);font-size:19px;font-weight:950;color:var(--gold)}
    .coursePicker{grid-column:1/-1;display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px}.courseChoice{border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.68);padding:13px;cursor:pointer;transition:.18s;display:grid;gap:5px}.courseChoice input{display:none}.courseChoice b{font-size:15px}.courseChoice span{font-size:12px;color:var(--soft);line-height:1.3}.courseChoice:has(input:checked){border-color:var(--gold);background:rgba(44,62,87,.13);box-shadow:0 10px 22px rgba(44,62,87,.13)}.courseChoice:has(input:checked) b{color:var(--gold)}
    .stockSummary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stockPill{border:1px solid var(--line);border-radius:14px;padding:14px;background:rgba(255,255,255,.7)}.stockPill b{display:block;font-size:23px;margin-top:4px}.supplierTag{display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;background:#eef1f5;color:var(--soft);font-size:12px;font-weight:800}
    .stockBoard{display:grid;gap:12px}.stockItem{border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.56);padding:14px}.stockMain{display:grid;grid-template-columns:minmax(220px,1.35fr) repeat(4,minmax(72px,.45fr)) minmax(210px,.9fr);gap:12px;align-items:center}.stockItem h4{margin:0 0 4px}.stockMetric span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--soft);font-weight:850}.stockMetric b{font-size:18px}.stockActions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.stockDetails{display:grid;gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.stockConfig{display:grid;grid-template-columns:repeat(5,minmax(105px,1fr));gap:10px}.stockConfig input{min-height:38px;padding:9px 10px;border-radius:12px}.stockAdjust{display:grid;grid-template-columns:minmax(130px,1fr) repeat(3,auto);gap:10px;align-items:center}.stockFilters{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.stockSearch{max-width:260px}.movementList{display:grid;gap:9px;max-height:360px;overflow:auto}.movement{border:1px solid var(--line);background:rgba(255,255,255,.55);border-radius:14px;padding:10px}.movement b{display:flex;justify-content:space-between;gap:10px}.recoveryList{display:grid;gap:9px}.recoveryRow{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 12px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.55)}.recoveryRow>div{min-width:0}.recoveryRow b,.recoveryRow small{display:block}.recoveryRow small{margin-top:3px;color:var(--soft);overflow-wrap:anywhere}
    .product.out{opacity:.46;cursor:not-allowed;background:#eef1f5}.stockHint{display:block;margin-top:5px;font-size:12px;color:var(--soft)}
    .stockSummary{grid-template-columns:repeat(4,minmax(150px,1fr))}.stockPill{min-height:96px;display:flex;flex-direction:column;justify-content:space-between}.stockPill.alert{background:#fff4f0;border-color:#f1b9ad}.stockPill.goldTone{background:#f7f4ee;border-color:#e7ca78}.stockPill.greenTone{background:#eef7ef;border-color:#b8d2bd}.stockPill b{font-size:30px;line-height:1}.stockPill small{color:var(--soft);font-weight:750}.stockTools{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.stockTools .input{min-width:240px;max-width:360px;margin:0}.stockBoard{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px;align-items:start}.stockItem{position:relative;overflow:visible;display:grid;gap:12px;align-content:start;min-width:0;border-radius:18px;background:rgba(255,255,255,.78);padding:16px 16px 14px 20px;box-shadow:0 14px 30px rgba(30,22,10,.05)}.stockItem::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;border-radius:18px 0 0 18px;background:#4f7d5b}.stockItem.rupture::before{background:var(--red)}.stockItem.bas::before{background:var(--gold)}.stockTop{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;min-width:0}.stockName{min-width:0}.stockName h4{font-size:18px;margin:0 0 5px;overflow-wrap:anywhere}.stockName small{display:block;line-height:1.45}.stockBig{display:flex;align-items:flex-end;gap:8px;min-width:0}.stockBig b{font-size:42px;line-height:.9;color:var(--ink)}.stockBig span{color:var(--soft);font-weight:850;padding-bottom:3px;overflow-wrap:anywhere}.stockLevel{height:10px;border-radius:999px;background:#e5eaf0;overflow:hidden}.stockLevel span{display:block;height:100%;min-width:4px;border-radius:999px;background:#4f7d5b}.stockLevel span.low{background:var(--gold)}.stockLevel span.empty{background:var(--red)}.stockChips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.stockChip{min-width:0;border:1px solid var(--line);border-radius:13px;background:#fefefe;padding:10px}.stockChip span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--soft);font-weight:900}.stockChip b{font-size:17px;overflow-wrap:anywhere}.stockActions{justify-content:space-between;border-top:1px solid var(--line);padding-top:11px;align-items:center}.stockQuick{display:flex;gap:8px;flex-wrap:wrap}.stockDetails{display:grid;gap:12px;background:rgba(254,254,254,.72);border:1px solid var(--line);border-radius:15px;padding:12px;margin-top:0;min-width:0}.stockConfig{grid-template-columns:repeat(auto-fit,minmax(135px,1fr));align-items:end}.stockConfig label{display:grid;gap:5px;min-width:0}.stockConfig input,.stockAdjust input{width:100%;min-width:0;box-sizing:border-box}.stockConfig label span,.stockAdjust label span{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--soft);font-weight:900}.stockAdjust{grid-template-columns:repeat(auto-fit,minmax(135px,1fr));align-items:end}.stockAdjust label{display:grid;gap:5px;min-width:0}.stockAdjust .btn{width:100%;white-space:normal}.stockAside{position:sticky;top:18px}.movementList{max-height:470px}.movement.plus{border-color:#b8d2bd;background:#eef7ef}.movement.minus{border-color:#efc5bd;background:#fff4f0}
    .aiGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.aiCard{border:1px solid var(--line);border-radius:16px;background:linear-gradient(135deg,#fefefe,#f7efe1);padding:14px;display:grid;gap:10px}.aiCard h4{margin:0}.aiLine{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding-top:8px}.aiLine b{overflow-wrap:anywhere}.aiScore{display:inline-flex;align-items:center;border-radius:999px;background:#111;color:#fff;padding:4px 9px;font-size:12px;font-weight:900}.aiNeed{color:var(--red);font-weight:900}
    .aiShell{padding:0;overflow:hidden;background:linear-gradient(135deg,rgba(254,254,254,.96),rgba(238,226,204,.82));box-shadow:0 12px 38px rgba(10,29,58,.08)}.main>.aiShell{margin-top:var(--page-gap)}.aiShell>.cardHead{margin:0;padding:14px 16px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.32)}.aiHeading{display:flex;align-items:center;gap:11px}.aiHeading>div{min-width:0}.aiHeading h3{margin:0;font-size:16px}.aiHeading p{margin:2px 0 0;font-size:12px}.aiMark{width:34px;height:34px;flex:0 0 34px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(135deg,#0a1d3a,#2c3e57);color:#fff;font-size:12px;font-weight:950;box-shadow:0 7px 18px rgba(10,29,58,.18)}.aiShell>.aiPanel,.aiShell>.aiNotice{margin:12px}.aiPanel{display:grid;gap:9px}.aiNotice{position:relative;border:1px solid var(--line);border-left:5px solid var(--gold);border-radius:14px;background:rgba(254,254,254,.88);padding:12px 13px 12px 14px;box-shadow:none}.aiNotice.urgent{border-left-color:var(--red);background:#fff4f0}.aiNotice.success{border-left-color:var(--green);background:#eef7ef}.aiNotice.info{border-left-color:var(--blue);background:#eef3ff}.aiNotice b{display:block;margin:5px 0 3px;font-size:15px}.aiNotice small{display:block;color:var(--soft);line-height:1.4}.aiNotice .bar{margin-top:9px}.aiMiniBar{display:flex;gap:7px;flex-wrap:wrap;align-items:center}.aiModuleBadge{display:inline-flex;border-radius:999px;background:#111;color:#fff;padding:3px 7px;font-size:10px;font-weight:900}.aiPriority{display:inline-flex;border-radius:999px;padding:3px 7px;background:rgba(44,62,87,.14);color:#2c3e57;font-size:10px;font-weight:900}.aiNotice.urgent .aiPriority{background:#ffe1dc;color:#8f2d23}.aiExplain{margin-top:8px;border-top:1px solid var(--line);padding-top:7px}.aiExplain summary{cursor:pointer;font-size:11px;font-weight:850;color:var(--soft)}.aiExplain p{margin:6px 0 0;font-size:12px;color:var(--soft)}.aiMore{border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.42);overflow:hidden}.aiMore>summary{cursor:pointer;list-style:none;padding:10px 12px;font-size:12px;font-weight:900;color:var(--soft);display:flex;align-items:center;justify-content:space-between;gap:10px}.aiMore>summary::-webkit-details-marker{display:none}.aiMore>summary::after{content:"⌄";font-size:17px;transition:transform .18s ease}.aiMore[open]>summary::after{transform:rotate(180deg)}.aiMore[open]>summary{border-bottom:1px solid var(--line);color:var(--ink)}.aiMoreContent{display:grid;gap:8px;padding:8px}.aiScore{border:0;cursor:pointer;font-size:11px;padding:5px 8px}.aiScore:hover{background:var(--gold)}.aiBell{position:relative}.aiBell::after{content:attr(data-count);position:absolute;right:-6px;top:-7px;min-width:18px;height:18px;border-radius:999px;background:var(--red);color:#fff;font-size:11px;display:grid;place-items:center;font-weight:900;padding:0 4px}.aiBell[data-count="0"]::after{display:none}
    .aiCompactAssistant{margin-top:var(--page-gap);overflow:hidden;border:1px solid rgba(10,29,58,.12);border-left:4px solid var(--green);border-radius:16px;background:#fefefe;box-shadow:0 7px 24px rgba(10,29,58,.055)}.aiCompactAssistant.warning{border-left-color:var(--gold)}.aiCompactAssistant.urgent{border-left-color:var(--red)}.aiCompactAssistant>summary{display:grid;grid-template-columns:36px minmax(0,1fr) auto 18px;align-items:center;gap:11px;min-height:58px;padding:10px 13px;cursor:pointer;list-style:none;user-select:none}.aiCompactAssistant>summary::-webkit-details-marker{display:none}.aiCompactMark{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#0a1d3a;color:#a9b4c6;font-size:10px;font-weight:950}.aiCompactCopy{display:grid;gap:2px;min-width:0}.aiCompactCopy small{color:#2c3e57;font-size:8px;font-weight:950;letter-spacing:.1em}.aiCompactCopy b{overflow:hidden;font-size:13px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.aiCompactCount,.aiCompactReady{display:grid;place-items:center;min-width:27px;height:27px;padding:0 7px;border-radius:999px;background:#0a1d3a;color:#fefefe;font-size:10px;font-weight:950}.aiCompactReady{background:#e7f1e8;color:#3f6f49}.aiCompactChevron{width:8px;height:8px;border-right:2px solid #8a7f72;border-bottom:2px solid #8a7f72;transform:rotate(45deg) translateY(-2px);transition:transform .16s ease}.aiCompactAssistant[open] .aiCompactChevron{transform:rotate(225deg) translate(-1px,-1px)}.aiCompactAssistant[open]>summary{border-bottom:1px solid var(--line);background:#fefefe}.aiCompactBody{padding:12px}.aiCompactIntro{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 2px 11px}.aiCompactIntro p{margin:0;color:var(--soft);font-size:12px;line-height:1.45}.aiCompactIntro>div{min-width:0}.aiCompactBody>.aiPanel{margin:0}
    .supplierGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.supplierCard{border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.76);padding:16px;display:grid;gap:12px}.supplierCard.veille{border-color:#efb4aa;background:#fff1ee}.supplierCard.bloqué{border-color:#df8072;background:#ffe8e3}.supplierCard h4{margin:0;font-size:19px}.supplierMeta{display:grid;grid-template-columns:1fr 1fr;gap:8px}.supplierMeta span{border:1px solid var(--line);border-radius:12px;background:#fefefe;padding:9px;font-size:12px;color:var(--soft)}.supplierCard.veille .supplierMeta span,.supplierCard.bloqué .supplierMeta span{background:#fff7f5;border-color:#efc5bd}.supplierMeta b{display:block;color:var(--ink);font-size:14px;margin-top:3px}.supplierProducts{display:flex;gap:6px;flex-wrap:wrap}.supplierProducts span{border-radius:999px;background:#eef1f5;padding:5px 9px;font-size:12px;font-weight:800}.supplierOrderList{display:grid;gap:8px}.supplierOrderLine{display:grid;grid-template-columns:auto 1fr 76px;gap:8px;align-items:center;border:1px solid var(--line);border-radius:12px;background:#fefefe;padding:8px}.supplierOrderLine input[type=number]{min-height:34px;padding:7px;border-radius:10px}.supplierActions{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;border-top:1px solid var(--line);padding-top:10px}.supplierActions .btn{width:100%}.supplierForm{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.supplierForm textarea{grid-column:1/-1}
.posOverview{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.posTableCard{border:1px solid var(--line);border-radius:14px;background:#fefefe;padding:12px;text-align:left;cursor:pointer}.posTableCard.active{outline:2px solid var(--gold);background:#fff6dd}.posTableCard b{display:block;font-size:17px}.posTableCard small{display:block;color:var(--soft);margin-top:4px}.checkoutSummary{display:grid;gap:9px}.checkoutRow{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding-bottom:8px}.checkoutRow strong{font-size:20px;color:var(--gold)}.checkoutRow small{display:block;color:var(--soft);font-size:11px;margin-top:3px}.checkoutRow.vatRow{padding-left:8px;border-left:3px solid rgba(44,62,87,.45)}.posWarnings{display:grid;gap:8px}.posWarning{border:1px solid #efc5bd;background:#fff4f0;color:#8f2d23;border-radius:13px;padding:10px;font-weight:850}.posOk{border:1px solid #b8d2bd;background:#eef7ef;color:#2f6b3d;border-radius:13px;padding:10px;font-weight:850}.courseStatusStrip{display:flex;gap:7px;flex-wrap:wrap}.courseStatusStrip span{border-radius:999px;padding:5px 9px;background:#eef1f5;font-size:12px;font-weight:900}
    .posFollow{border:1px solid var(--line);border-radius:16px;background:rgba(254,254,254,.82);padding:12px;margin:12px 0;display:grid;gap:10px}.posFollow h4{margin:0}.posFollow .orderStatusGroup{background:#fff}.posLineStatus{display:inline-flex;margin-top:5px}.posTotalsByStatus{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.posTotalsByStatus span{border:1px solid var(--line);border-radius:12px;background:#fefefe;padding:9px;color:var(--soft);font-size:12px}.posTotalsByStatus b{display:block;color:var(--ink);font-size:16px;margin-top:3px}
    .posDiscount{border:1px solid #e7ca78;border-radius:16px;background:#f7f4ee;padding:12px;margin:12px 0;display:grid;gap:10px}.posDiscount .cardHead{margin-bottom:0}.posDiscount h4{margin:0}.discountForm{display:grid;grid-template-columns:minmax(130px,.7fr) minmax(100px,.45fr) minmax(180px,1fr) auto;gap:8px;align-items:center}.discountLine{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid rgba(44,62,87,.25);border-radius:12px;background:#fefefe;padding:9px}.discountLine small{display:block;color:var(--soft);margin-top:2px}
    .posGrid>.card,.posPaymentLayout,.posPaymentCheckout,.posPaymentSupport,.posPaymentSupport section{min-width:0}.posTableSelector .cardHead select{width:min(260px,100%);flex:0 1 260px}.posPaymentLayout,.posPaymentCheckout,.posPaymentSupport{display:grid;gap:14px;align-content:start}.posPaymentSupport section{border-top:1px solid var(--line);padding-top:12px}.posPaymentSupport section>h3{margin:0 0 10px}.posPaymentButtons{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.posPaymentButtons .btn{width:100%}.discountForm>*{min-width:0;max-width:100%}.discountLine>div{min-width:0;overflow-wrap:anywhere}.checkoutRow>*{min-width:0}.checkoutRow>b,.checkoutRow>strong{flex:0 0 auto;text-align:right}.fiscalHash,.movement b span{min-width:0;overflow-wrap:anywhere}.posPayment .courseGrid{grid-template-columns:minmax(0,1fr)}
    .orderFilters{display:flex;gap:8px;flex-wrap:wrap}.orderFilters button.active,.orderFilters button.active:hover{background:#111!important;color:#fff!important;border-color:#111}.orderFilters button.active *{color:#fff!important}.orderBoard{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:14px}.orderCard{border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.78);padding:16px;display:grid;gap:12px;animation:softIn .42s ease-out;transition:background-color .35s ease,border-color .35s ease,box-shadow .35s ease}.orderCard.cuisine{border-color:#f0d18a;background:#f7f4ee}.orderCard.ready{border-color:#b8d2bd;background:#eef7ef}.orderCard.paid{opacity:.78}.orderTop{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.orderTop h4{margin:0;font-size:20px}.orderMeta{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.orderMeta span{border:1px solid var(--line);border-radius:12px;background:#fefefe;padding:9px;color:var(--soft);font-size:12px}.orderMeta b{display:block;color:var(--ink);font-size:15px;margin-top:3px}.orderLines{display:grid;gap:6px}.orderLine{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding-bottom:6px}.orderWarnings{display:grid;gap:6px}.orderWarnings span{border-radius:12px;background:#fff4f0;color:#8f2d23;padding:8px;font-size:12px;font-weight:850}.orderAdd{display:grid;grid-template-columns:1fr auto;gap:8px;border:1px solid var(--line);background:#fefefe;border-radius:14px;padding:10px}.orderAdd select{min-width:0}.orderActions{display:flex;gap:8px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:10px}
    .orderStatusGroups{display:grid;gap:10px}.orderStatusGroup{border:1px solid var(--line);border-radius:14px;background:#fefefe;padding:10px;display:grid;gap:7px}.orderStatusGroup.draft{background:#fff4f0;border-color:#efc5bd}.orderStatusGroup.sent{background:#f7f4ee;border-color:#f0d18a}.orderStatusGroup.ready{background:#eef7ef;border-color:#b8d2bd}.orderStatusGroup.served{background:#eef1f5;border-color:#ded5c6}.orderStatusTitle{display:flex;justify-content:space-between;gap:8px;align-items:center;color:var(--soft);font-size:12px;text-transform:uppercase;letter-spacing:.05em;font-weight:900}.orderStatusTitle b{color:var(--ink);font-size:12px}.orderStatusHelp{margin-top:-3px;color:var(--soft);font-size:12px}.orderLine span{min-width:0}.orderLine small{display:block;color:var(--soft);margin-top:2px;line-height:1.35}
    /* Flux de service réel : transfert de table, ajouts séparés et annulations cuisine. */
    .serviceTableCard{display:grid;gap:12px}.tableTransfer{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:9px;align-items:end;padding:11px;border:1px solid var(--line);border-radius:14px;background:rgba(254,254,254,.72)}.tableTransfer .btn{min-height:48px}.serviceOpenForm{grid-template-columns:repeat(4,minmax(150px,1fr))}.lineQtyActions{display:flex;align-items:center;gap:8px}.lineQtyActions b{min-width:38px;text-align:center}.sentLineActions{display:grid;grid-template-columns:auto minmax(110px,1fr) minmax(90px,auto);gap:7px;align-items:center;min-width:270px}.sentLineActions>b{min-width:34px}.voidOverlay{z-index:110;background:rgba(17,14,11,.6);backdrop-filter:blur(4px)}.voidPanel{border:1px solid rgba(161,75,75,.48)}.voidWarning{display:grid;gap:4px;margin-bottom:14px;padding:13px 14px;border:1px solid #efc5bd;border-left:5px solid var(--red);border-radius:13px;background:#fff4f0;color:#8f2d23}.voidWarning span{font-size:12px;line-height:1.45}.kitchenVoidPanel{border:2px solid #df8072;background:linear-gradient(135deg,#fff4f0,#fefefe)}.voidCount{display:grid;place-items:center;width:38px;height:38px;border-radius:999px;background:var(--red);color:#fff;font-size:18px;font-weight:950}.kitchenVoidGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:11px}.kitchenVoidCard{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:13px;align-items:center;padding:13px;border:1px solid #efc5bd;border-radius:15px;background:#fff}.kitchenVoidCard h4{margin:8px 0 5px;font-size:20px}.kitchenVoidCard p{margin:0 0 6px;line-height:1.45}.kitchenVoidCard small{color:var(--soft)}.orderVoidHistory{border:1px solid #efc5bd;border-radius:13px;background:#fff4f0;overflow:hidden}.orderVoidHistory>summary{cursor:pointer;padding:10px 12px;color:#8f2d23;font-size:12px;font-weight:900}.voidHistoryRow{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px 12px;border-top:1px solid #efc5bd}.voidHistoryRow>div{min-width:0}.voidHistoryRow small{display:block;margin-top:3px;color:var(--soft);overflow-wrap:anywhere}
    /* Système visuel commun : champs et menus immédiatement reconnaissables. */
    .input,select,textarea{width:100%;min-height:48px;padding:13px 14px;border-radius:15px;border:1px solid var(--line);background-color:#fefefe;color:var(--ink);box-shadow:0 1px 0 rgba(255,255,255,.8) inset;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}
    .input::placeholder,textarea::placeholder{color:#91877b;opacity:1}
    .input:hover,select:hover,textarea:hover{border-color:rgba(44,62,87,.58);background-color:#fefefe;box-shadow:0 8px 24px rgba(10,29,58,.07)}
    .input:focus,select:focus,textarea:focus{border-color:var(--gold);background-color:#fff;box-shadow:0 0 0 4px rgba(44,62,87,.14),0 12px 30px rgba(10,29,58,.08);outline:none}
    .input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;color:#948a7f;background-color:#eee8dd;border-color:rgba(10,29,58,.08);box-shadow:none;opacity:.72}
    select{-webkit-appearance:none;appearance:none;padding-right:48px;font-weight:750;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,var(--gold) 50%),linear-gradient(135deg,var(--gold) 50%,transparent 50%),linear-gradient(to bottom,rgba(44,62,87,.14),rgba(44,62,87,.14));background-position:calc(100% - 20px) calc(50% - 2px),calc(100% - 14px) calc(50% - 2px),calc(100% - 42px) 50%;background-size:6px 6px,6px 6px,1px 24px;background-repeat:no-repeat}
    select:disabled{background-image:linear-gradient(45deg,transparent 50%,#9f958a 50%),linear-gradient(135deg,#9f958a 50%,transparent 50%),linear-gradient(to bottom,rgba(10,29,58,.08),rgba(10,29,58,.08))}
    select option{background:#fefefe;color:var(--ink);font-weight:650}
    input[type="checkbox"],input[type="radio"]{accent-color:var(--gold)}
    input[type="date"],input[type="time"],input[type="number"]{font-variant-numeric:tabular-nums}

    /* Menus repliables de l'assistant : une ligne claire, puis le détail à la demande. */
    details>summary{list-style:none}details>summary::-webkit-details-marker{display:none}
    .aiExplain{margin-top:9px;padding:0;border:1px solid rgba(10,29,58,.09);border-radius:11px;background:rgba(255,255,255,.48);overflow:hidden;transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease}
    .aiExplain:hover{border-color:rgba(44,62,87,.4);background:rgba(255,255,255,.72)}
    .aiExplain summary{min-height:36px;padding:8px 10px;cursor:pointer;font-size:11px;font-weight:900;color:var(--soft);display:flex;align-items:center;justify-content:space-between;gap:10px;user-select:none}
    .aiExplain summary::after{content:"+";width:20px;height:20px;border-radius:7px;background:rgba(44,62,87,.13);color:#2c3e57;display:grid;place-items:center;font-size:15px;line-height:1;flex:0 0 auto}
    .aiExplain[open]{border-color:rgba(44,62,87,.32);background:#fefefe;box-shadow:0 8px 22px rgba(10,29,58,.06)}.aiExplain[open] summary{color:var(--ink)}.aiExplain[open] summary::after{content:"−"}
    .aiExplain p{margin:0;padding:0 10px 10px;font-size:12px;color:var(--soft);line-height:1.5}
    .aiMore{border-radius:13px;background:rgba(255,255,255,.5);transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.aiMore:hover{border-color:rgba(44,62,87,.38);background:rgba(255,255,255,.7)}
    .aiMore>summary{min-height:42px;padding:11px 13px;user-select:none}.aiMore>summary::after{content:"";width:9px;height:9px;border-right:2px solid var(--gold);border-bottom:2px solid var(--gold);font-size:0;transform:rotate(45deg) translateY(-2px);transition:transform .18s ease;flex:0 0 auto}.aiMore[open]>summary::after{transform:rotate(225deg) translate(-2px,-2px)}
    .aiMore[open]{background:#fefefe;border-color:rgba(44,62,87,.35);box-shadow:0 10px 28px rgba(10,29,58,.07)}.aiMoreContent{padding:10px}

    /* Profondeur et hiérarchie des actions sans alourdir l'interface. */
    .btn:hover,.tool:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(10,29,58,.09)}
    .primary:hover,.gold:hover,.pay:hover,.dangerBtn:hover{filter:brightness(1.07);box-shadow:0 10px 24px rgba(10,29,58,.18)}

    /* Lecture plus intuitive : titres, groupes d'actions et contenus parcourables. */
    .page-head{padding-bottom:16px;border-bottom:1px solid rgba(10,29,58,.1)}
    .contextTrail{display:flex;align-items:center;gap:7px;margin-bottom:8px;color:var(--soft);font-size:11px;font-weight:850;letter-spacing:.04em}.contextTrail span:last-child{color:var(--gold)}.contextTrail b{color:#b7ada1}
    .moduleSearch{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin:0 0 var(--page-gap);padding:10px 13px 10px 48px;border:1px solid rgba(44,62,87,.28);border-radius:18px;background:rgba(254,254,254,.9);box-shadow:0 10px 30px rgba(10,29,58,.06)}.moduleSearchIcon{position:absolute;left:18px;top:50%;transform:translateY(-52%);color:var(--gold);font-size:25px;line-height:1;pointer-events:none}.moduleSearch .input{min-height:42px;padding:9px 12px;border:0;background:transparent;box-shadow:none}.moduleSearch .input:focus{box-shadow:none}.moduleSearchCount{white-space:nowrap;color:var(--soft);font-weight:800}.moduleSearch:focus-within{border-color:var(--gold);background:#fefefe;box-shadow:0 0 0 4px rgba(44,62,87,.1),0 12px 32px rgba(10,29,58,.07)}
    .page-head p{line-height:1.55}
    .card>h3:first-child,.cardHead h3{letter-spacing:-.02em}.card>h3:first-child{margin-top:0;margin-bottom:6px}
    .cardHead{padding-bottom:11px;border-bottom:1px solid rgba(10,29,58,.09)}
    .cardHead .bar{padding-bottom:0;border-bottom:0}
    .bar{padding-top:2px}.bar:has(>.btn:nth-child(2)){padding-top:12px;border-top:1px solid rgba(10,29,58,.08)}
    .modalPanel .bar,.aiNotice .bar,.staffAlert .bar,.cardHead .bar{border-top:0;padding-top:0}
    .btn{font-weight:800;letter-spacing:-.01em}.secondary{color:#433b33!important}.dangerBtn{box-shadow:0 7px 18px rgba(161,75,75,.14)}.pay{box-shadow:0 7px 18px rgba(79,125,91,.14)}
    .btn:not(:has(.uiIcon))[onclick*="edit"]::before,.btn:not(:has(.uiIcon))[onclick*="Edit"]::before{content:"✎"}.btn:not(:has(.uiIcon))[onclick*="add"]::before,.btn:not(:has(.uiIcon))[onclick*="create"]::before,.btn:not(:has(.uiIcon))[onclick*="openProductForm"]::before,.btn:not(:has(.uiIcon))[onclick*="openTeamForm"]::before{content:"+";font-size:17px}.btn:not(:has(.uiIcon))[onclick*="save"]::before,.btn:not(:has(.uiIcon))[onclick*="confirm"]::before{content:"✓"}.btn.pay:not(:has(.uiIcon))::before{content:"✓"}.btn.dangerBtn:not(:has(.uiIcon))::before{content:"!";display:grid;place-items:center;width:17px;height:17px;border:1px solid currentColor;border-radius:50%;font-size:10px;font-weight:950}.btn:not(:has(.uiIcon))[onclick*="setPage"]::after{content:"→";font-size:14px;opacity:.68}.page-head .btn[onclick*="setPage"]::after{display:none}
    .smallBtn{font-size:13px}.iconBtn,.qtyBtn,.product,.tablechip,.presetBtn,.posTableCard{transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background-color .16s ease}
    .product:hover:not(:disabled),.tablechip:hover,.presetBtn:hover,.posTableCard:hover{transform:translateY(-2px);border-color:rgba(44,62,87,.55);box-shadow:0 10px 24px rgba(10,29,58,.11)}
    .posTableCard.active{position:relative;border-color:var(--gold);box-shadow:0 0 0 3px rgba(44,62,87,.14),0 10px 26px rgba(10,29,58,.09)}
    .posTableCard.active::after{content:"Sélectionnée";display:inline-flex;margin-top:8px;border-radius:999px;background:#0a1d3a;color:#fefefe;padding:3px 7px;font-size:10px;font-weight:900}

    /* Les formulaires se lisent comme des groupes, sans masquer aucun champ. */
    label{min-width:0}.fieldStack,.stockConfig label,.stockAdjust label,.settingsGrid label,.formGrid label{display:grid;gap:6px}
    .fieldLabel,.stockConfig label>span,.stockAdjust label>span,.formGrid label>span{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--soft);font-weight:900}
    .formGrid{padding:14px;border:1px solid rgba(10,29,58,.08);border-radius:17px;background:rgba(255,255,255,.34)}
    .formGrid:has(>.btn){align-items:end}.formGrid>.btn{min-height:48px}
    textarea{resize:vertical;line-height:1.5}

    /* Tableaux : en-tête toujours identifiable et ligne suivie au survol. */
    .table{scrollbar-width:thin;scrollbar-color:rgba(44,62,87,.55) rgba(10,29,58,.06)}
    .table::-webkit-scrollbar,.activity::-webkit-scrollbar,.movementList::-webkit-scrollbar{height:9px;width:9px}.table::-webkit-scrollbar-track,.activity::-webkit-scrollbar-track,.movementList::-webkit-scrollbar-track{background:rgba(10,29,58,.05);border-radius:999px}.table::-webkit-scrollbar-thumb,.activity::-webkit-scrollbar-thumb,.movementList::-webkit-scrollbar-thumb{background:rgba(44,62,87,.52);border-radius:999px}
    .table th{position:sticky;top:0;z-index:2;background:var(--cream);white-space:nowrap}.table tr{transition:filter .15s ease}.table tr:hover td{background:#fefefe;border-color:rgba(44,62,87,.35)}
    .table td{transition:background-color .15s ease,border-color .15s ease}
    .table tr.reservationPast td{background:rgba(44,62,87,.07);color:#6f5a3d}.table tr.reservationPast td:first-child{border-left-color:var(--gold)}.reservationRow>div:first-child small{display:block;font-size:10px;margin-top:2px}

    /* Les cartes qui attendent une action se distinguent des cartes purement informatives. */
    .interactiveCard{border-color:rgba(10,29,58,.16)}.interactiveCard:focus-within{border-color:rgba(44,62,87,.48);box-shadow:0 18px 58px rgba(10,29,58,.1),0 0 0 3px rgba(44,62,87,.09)}
    .statusBadge::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;margin-right:5px;box-shadow:0 0 0 3px color-mix(in srgb,currentColor 13%,transparent)}
    .connectionBadge{display:inline-flex;align-items:center;gap:7px}.connectionBadge::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px rgba(10,29,58,.08)}.connectionBadge.online::before{animation:connectionPulse 2s ease-out infinite}@keyframes connectionPulse{50%{box-shadow:0 0 0 6px rgba(79,125,91,0)}}

    /* Navigation : l'emplacement actif est évident au premier regard. */
    .navGroup{overflow:hidden;border:1px solid transparent;border-radius:13px}.navGroup[open]{padding-bottom:4px;background:rgba(254,254,254,.035);border-color:rgba(255,255,255,.045)}.navGroup>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:34px;padding:7px 10px;cursor:pointer;color:rgba(254,254,254,.56);user-select:none}.navGroup>summary::after{content:"";width:7px;height:7px;margin-left:2px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .16s ease}.navGroup[open]>summary::after{transform:rotate(225deg) translate(-1px,-1px)}.navGroup>summary em{margin-left:auto;font-size:10px;font-style:normal;font-weight:900;opacity:.7}.navGroupLabel{padding:0;color:inherit;font-size:10px;font-weight:950;letter-spacing:.12em;text-transform:uppercase}.navGroup.activeGroup>summary{color:#e6c58f}.navGroupItems{display:grid;gap:3px;padding:0 4px}
    .nav button{position:relative}.nav button.active{font-weight:900;box-shadow:0 8px 20px rgba(0,0,0,.17)}.nav button.active::before{content:"";position:absolute;left:-5px;top:50%;width:3px;height:21px;border-radius:999px;background:var(--gold);transform:translateY(-50%)}
    .nav button:not(.active):hover{transform:translateX(2px)}

    /* Hiérarchie v13.13 : moins d’éléments concurrents, mêmes informations. */
    .muted{color:#756d63}.page-head{margin-bottom:16px;padding-bottom:13px}.page-head h2{font-size:clamp(28px,2.1vw,35px)}.page-head p{max-width:680px;margin-top:5px;font-size:14px}
    .backToDashboard{min-height:40px;padding:8px 12px;background:transparent!important}
    .topMeta{gap:8px}.topMetaItem,.shiftBadge,.connectionBadge{min-height:36px;padding:7px 10px;border:1px solid rgba(10,29,58,.08);border-radius:11px;background:rgba(255,252,247,.62);color:var(--soft);font-size:12px}.tools{gap:7px}.tools .user{padding:7px 10px;border-color:rgba(10,29,58,.09);border-radius:13px;background:rgba(255,252,247,.66)}.tools .user br+.muted{font-size:11px}
    .cardHead{margin-bottom:12px;padding-bottom:9px}.cardHead h3,.card>h3:first-child{font-size:18px}.cardHead .smallBtn{min-height:36px}
    .interactiveCard{border-color:rgba(10,29,58,.12)}.interactiveCard:focus-within{border-color:rgba(44,62,87,.42);box-shadow:0 8px 26px rgba(10,29,58,.07),0 0 0 3px rgba(44,62,87,.08)}
    .secondary{background:rgba(255,255,255,.5)!important;box-shadow:none!important}.secondary:hover{background:#fff!important}
    .btn:not(:has(.uiIcon))::before,.btn:not(:has(.uiIcon))::after{content:none!important;display:none!important}
    .dashIntro{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:2px 2px 5px}.dashIntro>div{display:grid;gap:3px}.dashIntro span{color:var(--gold);font-size:10px;font-weight:950;letter-spacing:.12em}.dashIntro h2{font-size:clamp(28px,2.2vw,36px)}.dashIntro p{max-width:520px;margin:0;color:var(--soft);font-size:13px;text-align:right}
    .homeActionGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:9px;margin-top:4px}.homeActionGrid button{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;min-height:62px;padding:10px 12px;border:1px solid rgba(10,29,58,.11);border-radius:15px;background:#fefefe;color:var(--ink);text-align:left;box-shadow:0 5px 18px rgba(10,29,58,.045)}.homeActionGrid button>span:first-child{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#eef1f5;color:#3e352d}.homeActionGrid .uiIcon{width:19px;height:19px;min-width:19px;min-height:19px}.homeActionGrid button>span:last-child{display:grid;gap:2px;min-width:0}.homeActionGrid b{font-size:13px}.homeActionGrid small{overflow:hidden;color:var(--soft);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.homeActionGrid button:hover{border-color:rgba(44,62,87,.5);background:#f7f4ee}
    .dashboardSectionTitle{display:flex;align-items:center;gap:10px;margin:4px 2px -1px;color:var(--ink)}.dashboardSectionTitle::after{content:"";height:1px;flex:1;background:rgba(10,29,58,.1)}.dashboardSectionTitle span{font-size:12px;font-weight:950;letter-spacing:.035em}.dashboardSectionTitle small{color:var(--soft);font-size:11px;white-space:nowrap}
    .kpiRow{gap:10px}.kpiCard{min-height:98px;padding:14px;gap:12px}.kpiCard h3{font-size:13px;color:var(--soft);font-weight:850}.kpiValue{font-size:25px;white-space:nowrap}.kpiIcon{flex-basis:42px;width:42px;height:42px;min-width:42px;min-height:42px;border-radius:13px}.kpiIcon .uiIcon{flex-basis:20px;width:20px;height:20px;min-width:20px;min-height:20px}.kpiPrimary{border-color:rgba(44,62,87,.3);background:linear-gradient(135deg,#fefefe,#faf0dd)}
    .opsGrid,.bottomGrid{gap:12px}.legend{margin:4px 0 12px}.floorPreview{min-height:255px}.reservationRow,.stockRow,.zRow{padding:10px 0}.ticketGrid{gap:9px}.kitchenTicket{padding:10px}
    .dashboardMore{border:1px solid rgba(10,29,58,.11);border-radius:16px;background:rgba(255,252,247,.55);overflow:hidden}.dashboardMore>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:58px;padding:12px 16px;cursor:pointer;user-select:none}.dashboardMore>summary>div{display:grid;gap:2px}.dashboardMore>summary span{font-size:13px;font-weight:950}.dashboardMore>summary small{color:var(--soft)}.dashboardMore>summary>b{display:flex;align-items:center;gap:8px;color:#72521e;font-size:12px}.dashboardMore>summary>b::after{content:"";width:8px;height:8px;border-right:2px solid var(--gold);border-bottom:2px solid var(--gold);transform:rotate(45deg) translateY(-2px);transition:transform .16s ease}.dashboardMore[open]>summary{border-bottom:1px solid rgba(10,29,58,.09);background:#fefefe}.dashboardMore[open]>summary>b{font-size:0}.dashboardMore[open]>summary>b::before{content:"Masquer";font-size:12px}.dashboardMore[open]>summary>b::after{transform:rotate(225deg) translate(-1px,-1px)}.dashboardMore .bottomGrid{padding:12px}
    .homeServiceDetails{overflow:hidden;border:1px solid rgba(10,29,58,.11);border-radius:16px;background:rgba(255,252,247,.55)}.homeServiceDetails>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:58px;padding:12px 16px;cursor:pointer;list-style:none;user-select:none}.homeServiceDetails>summary::-webkit-details-marker{display:none}.homeServiceDetails>summary>div{display:grid;gap:2px}.homeServiceDetails>summary span{font-size:13px;font-weight:950}.homeServiceDetails>summary small{color:var(--soft)}.homeServiceDetails>summary>b{display:flex;align-items:center;gap:8px;color:#72521e;font-size:12px}.homeServiceDetails>summary>b::after{content:"";width:8px;height:8px;border-right:2px solid var(--gold);border-bottom:2px solid var(--gold);transform:rotate(45deg) translateY(-2px);transition:transform .16s ease}.homeServiceDetails[open]>summary{border-bottom:1px solid rgba(10,29,58,.09);background:#fefefe}.homeServiceDetails[open]>summary>b{font-size:0}.homeServiceDetails[open]>summary>b::before{content:"Masquer";font-size:12px}.homeServiceDetails[open]>summary>b::after{transform:rotate(225deg) translate(-1px,-1px)}.homeServiceDetails .opsGrid{padding:12px}
    .tools{position:relative}.quickMenu{position:relative}.quickMenu>summary{display:flex;align-items:center;gap:8px;min-height:40px;padding:8px 11px;border:1px solid rgba(10,29,58,.09);border-radius:12px;background:rgba(255,252,247,.66);color:var(--ink);cursor:pointer;font-size:12px;font-weight:850;user-select:none}.quickMenu>summary:hover,.quickMenu[open]>summary{border-color:rgba(44,62,87,.38);background:#fff}.quickMenu>summary .uiIcon{flex-basis:18px;width:18px;height:18px;min-width:18px;min-height:18px}.quickMenu>summary em{display:grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:var(--gold);color:#fff;font-size:10px;font-style:normal;font-weight:950}.quickMenuPanel{position:absolute;right:0;top:calc(100% + 7px);z-index:60;display:grid;gap:4px;width:240px;padding:7px;border:1px solid rgba(10,29,58,.13);border-radius:14px;background:#fefefe;box-shadow:0 18px 55px rgba(10,29,58,.18)}.quickMenuPanel button{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:43px;padding:9px 10px;border:0;border-radius:10px;background:transparent;color:var(--ink);text-align:left;font-weight:850}.quickMenuPanel button:hover{background:#f3eee5}.quickMenuPanel button em{display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--red);color:#fff;font-size:10px;font-style:normal}.quickMenuPanel .uiIcon{flex-basis:18px;width:18px;height:18px;min-width:18px;min-height:18px}
    .table{border-spacing:0 7px}.table th,.table td{padding:10px 11px}.statusBadge,.statusChip{padding:5px 8px;font-size:11px}

    /* Retour d'action visible sans interrompre le travail. */
    .toast{border:1px solid rgba(255,255,255,.14);border-left:5px solid var(--gold);animation:toastIn .2s ease-out}.toast.show{display:block}.toast b{font-size:15px}
    .confirmOverlay{z-index:120;background:rgba(17,14,11,.62);backdrop-filter:blur(5px)}.confirmPanel{max-width:560px;border:1px solid rgba(44,62,87,.35);box-shadow:0 30px 110px rgba(0,0,0,.34)}.confirmOverlay.critical .confirmPanel{border-color:rgba(161,75,75,.48)}.confirmHeading{display:flex;align-items:center;gap:12px}.confirmMark{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:rgba(44,62,87,.14);color:#2c3e57;font-size:18px;font-weight:950}.confirmOverlay.critical .confirmMark{background:rgba(161,75,75,.13);color:var(--red)}.confirmDetail{margin:16px 0;padding:13px 14px;border:1px solid var(--line);border-radius:13px;background:rgba(10,29,58,.035);line-height:1.55}.confirmChoice{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.confirmChoice .btn{width:100%}
    /* Rapprochement de caisse : le montant attendu reste lisible sans masquer les contrôles. */
    .cashDrawerCard,.closeControl{display:grid;gap:16px;align-content:start}.drawerEmpty{display:flex;align-items:center;gap:15px;padding:15px;border:1px solid rgba(44,62,87,.28);border-radius:16px;background:#f7f4ee}.drawerEmpty h3,.drawerStatus h3{margin:0 0 4px}.drawerEmpty p{margin:0}.drawerIcon{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border-radius:15px;background:#0a1d3a;color:#fefefe;font-size:22px;font-weight:950}.drawerForm{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:12px;align-items:end;padding:14px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.54)}.drawerForm .btn{min-height:48px}.movementForm{grid-template-columns:minmax(120px,.55fr) minmax(220px,1.45fr) auto}.movementReason{min-width:0}.drawerActions{display:grid;grid-template-columns:repeat(2,minmax(100px,1fr));gap:8px}.drawerStatus{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-bottom:14px;border-bottom:1px solid var(--line)}.drawerStatus>div:first-child{min-width:0}.drawerStatus .statusBadge{margin-bottom:9px}.drawerExpected{flex:0 0 auto;text-align:right}.drawerExpected span{display:block;color:var(--soft);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.drawerExpected strong{display:block;margin-top:4px;color:var(--gold);font-size:30px;line-height:1}.drawerMetrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.drawerMetrics>div{min-width:0;padding:11px;border:1px solid var(--line);border-radius:13px;background:#fefefe}.drawerMetrics span{display:block;color:var(--soft);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.drawerMetrics b{display:block;margin-top:5px;font-size:17px;overflow-wrap:anywhere}.compactMovements{max-height:210px}.varianceNote{margin:0;padding:12px 13px;border-left:4px solid var(--gold);border-radius:10px;background:#f7f4ee}.closeControl .countInput{min-height:60px;font-size:25px;font-weight:900;text-align:right}.closeControl>.btn{width:100%}.cashCheckHint{display:flex;justify-content:space-between;gap:10px;padding:12px 13px;border:1px solid rgba(44,62,87,.3);border-radius:13px;background:#f7f4ee}.cashCheckHint b{font-size:18px}.closeControl textarea{width:100%;box-sizing:border-box}.closeControl .statusBadge{white-space:nowrap}.btn:disabled{cursor:not-allowed;opacity:.5;transform:none!important;box-shadow:none!important}
    @keyframes toastIn{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
    .card:has(button[onclick^="editTeamMember"]),.card:has(#teamName){grid-column:span 12}
    /* Ces seuils incluent la place occupée par le menu latéral. */
    @media(max-width:1720px) and (min-width:1281px){
      .posGrid>.posProducts{grid-column:span 4}.posGrid>.posOrder{grid-column:span 8}.posGrid>.posPayment{grid-column:1/-1}
      .floorPlanCard,.floorStatusCard{grid-column:span 12}
      .posPaymentLayout{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:var(--page-gap)}.posPaymentButtons{grid-template-columns:repeat(2,minmax(0,1fr))}
      .discountForm{grid-template-columns:repeat(2,minmax(0,1fr))}.discountForm .btn{width:100%}
    }
    @media(max-width:1580px){.kpiRow{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.opsGrid,.bottomGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.opsGrid>:last-child,.bottomGrid>:last-child{grid-column:1/-1}.moduleLayout{grid-template-columns:1fr}.kitchenBoard{grid-template-columns:1fr}}
    @media(max-width:1450px){.premiumDash{grid-template-columns:1fr}.metricStrip{grid-template-columns:repeat(2,minmax(0,1fr))}.stockMain,.stockConfig{grid-template-columns:1fr 1fr}.stockActions{justify-content:flex-start}.stockSummary{grid-template-columns:repeat(2,minmax(0,1fr))}.table,.posTable{display:block;max-width:100%;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}}
    /* Adaptation tablette : la barre latérale devient une navigation horizontale. */
    @media(max-width:1280px){
      .app{grid-template-columns:minmax(0,1fr)}
      .side{position:sticky;top:0;z-index:15;height:auto;max-height:none;overflow:visible;padding:16px 20px;border-right:0;border-bottom:1px solid rgba(255,255,255,.08);box-shadow:0 10px 28px rgba(10,29,58,.16)}
      .brand{margin-bottom:14px}.logo{width:48px;height:48px;border-radius:15px}.brand h1{font-size:23px}
      .nav{display:none}.mobileNav{display:grid;grid-template-columns:auto minmax(180px,1fr);align-items:center;gap:10px}.mobileNav>span{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:rgba(254,254,254,.68)}.mobileNav select{min-height:48px;border-color:rgba(255,255,255,.16);background-color:#fefefe;color:var(--ink);box-shadow:0 8px 24px rgba(0,0,0,.18);font-weight:850}.mobileNav select:hover,.mobileNav select:focus{border-color:rgba(220,176,104,.78);box-shadow:0 0 0 3px rgba(220,176,104,.16),0 10px 28px rgba(0,0,0,.22)}
      .sideNote{display:none}
      .grid{grid-template-columns:minmax(0,1fr)}
      .s3,.s4,.s5,.s6,.s7,.s8,.s12{grid-column:span 1}
      .card:has(button[onclick^="editTeamMember"]),.card:has(#teamName){grid-column:1/-1}
      .kanban,.map,.tilegrid{grid-template-columns:repeat(2,minmax(0,1fr))}
      .top{align-items:stretch;flex-direction:column}.search{width:100%}
      .hero h2{font-size:36px}
      .stockAside{position:static}
      .table,.posTable{display:block;max-width:100%;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}.iconBtn{flex-basis:44px;width:44px;height:44px;min-width:44px;min-height:44px}.topMeta,.tools{min-width:0}.topMetaItem,.shiftBadge{white-space:normal}.bar>.btn{flex:1 1 145px}.cardHead>*{min-width:0}.floorDesigner{overflow:auto;touch-action:pan-x pan-y}.orderBoard,.stockBoard,.supplierGrid{grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr))}
      .responsiveCardTable{display:block;overflow:visible;white-space:normal}.responsiveCardTable tbody{display:grid;gap:12px}.responsiveCardTable tr:first-child{display:none}.responsiveCardTable tr:not(:first-child){display:grid;grid-template-columns:minmax(0,1fr);gap:0;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.58);padding:10px 13px;box-shadow:0 8px 22px rgba(10,29,58,.045)}
      .responsiveCardTable tr:not(:first-child)>td{display:grid;grid-template-columns:112px minmax(0,1fr);gap:12px;align-items:start;min-width:0;padding:8px 0;border:0;border-bottom:1px solid rgba(10,29,58,.08);border-radius:0;background:transparent;white-space:normal;overflow-wrap:anywhere}.responsiveCardTable tr:not(:first-child)>td:last-child{border-bottom:0}.responsiveCardTable td::before{color:var(--soft);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.responsiveCardTable td[colspan]{grid-template-columns:minmax(0,1fr)}.responsiveCardTable td[colspan]::before{display:none}
      .menuTable td:nth-child(1)::before{content:"Article"}.menuTable td:nth-child(2)::before{content:"Prix TTC"}.menuTable td:nth-child(3)::before{content:"TVA"}.menuTable td:nth-child(4)::before{content:"Service"}.menuTable td:nth-child(5)::before{content:"Stock"}.menuTable td:nth-child(6)::before{content:"Variantes"}.menuTable td:nth-child(7)::before{content:"Actions"}
      .reservationTable td:nth-child(1)::before{content:"Date"}.reservationTable td:nth-child(2)::before{content:"Heure"}.reservationTable td:nth-child(3)::before{content:"Client"}.reservationTable td:nth-child(4)::before{content:"Personnes"}.reservationTable td:nth-child(5)::before{content:"Table"}.reservationTable td:nth-child(6)::before{content:"Vigilance"}.reservationTable td:nth-child(7)::before{content:"Statut"}.reservationTable td:nth-child(8)::before{content:"Actions"}
      .teamTable td:nth-child(1)::before{content:"Nom"}.teamTable td:nth-child(2)::before{content:"Rôle"}.teamTable td:nth-child(3)::before{content:"Service"}.teamTable td:nth-child(4)::before{content:"Tables"}.teamTable td:nth-child(5)::before{content:"Accès"}.teamTable td:nth-child(6)::before{content:"Statut"}.teamTable td:nth-child(7)::before{content:"Actions"}
      .responsiveCardTable .rowActions{min-width:0;width:100%;grid-template-columns:repeat(auto-fit,minmax(min(120px,100%),1fr))}.responsiveCardTable .accessBadges{min-width:0}
      .teamEmptyCard{align-items:stretch;flex-direction:column}.teamEmptyCard .btn{width:100%}.teamEditorIdentity{grid-template-columns:minmax(0,1fr)}.teamAccessSummary{align-items:stretch;flex-direction:column}.teamAccessPresets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.teamAccessPresets button{padding-inline:5px}.teamEditorActions{z-index:4}
      .movementForm{grid-template-columns:minmax(130px,.5fr) minmax(220px,1fr)}.drawerActions{grid-column:1/-1}
      .serviceOpenForm{grid-template-columns:repeat(2,minmax(0,1fr))}
      .passTicket{grid-template-columns:72px minmax(0,1fr)}.passActions{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}
    }
    @media(min-width:1281px){.menuCourseCard{grid-column:span 12}.menuTable{display:table;width:100%;table-layout:fixed;overflow:visible;white-space:normal}.menuTable th,.menuTable td{overflow-wrap:anywhere;white-space:normal}.menuTable .rowActions{grid-template-columns:minmax(0,1fr);min-width:0}.menuTable .rowActions .btn{width:100%}}
    @media(max-width:1280px) and (min-width:900px){.posPaymentLayout{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:var(--page-gap)}.posPaymentButtons{grid-template-columns:repeat(2,minmax(0,1fr))}}
    @media(max-width:1100px){.builder{grid-template-columns:minmax(0,1fr)}.floorInspector{position:static;max-height:none}.floorCanvasViewport{min-height:560px}}
    @media(max-width:900px){.floorDesktopOverview{display:none}.floorMobileOverview{display:block}.opsGrid,.bottomGrid{grid-template-columns:minmax(0,1fr)}.opsGrid>:last-child,.bottomGrid>:last-child{grid-column:auto}}
    /* Adaptation téléphone : une colonne, zones tactiles et contenus défilables. */
    @media(max-width:680px){
      body{overflow-x:hidden}
      .side{padding:calc(12px + env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}.brand{gap:10px;margin-bottom:10px}.brand h1{font-size:20px}.brand small{display:none}.logo{flex-basis:42px;width:42px;height:42px;min-width:42px;min-height:42px;font-size:19px}
      .mobileNav{grid-template-columns:minmax(0,1fr)}.mobileNav>span{display:none}
      .nav button,.btn,.tool{min-height:44px;padding:10px 12px;border-radius:13px}
      .main{min-width:0;padding:calc(16px + env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) calc(64px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}
      .top{gap:12px;margin-bottom:16px}.tools{gap:8px;width:100%}.tools .user{flex:1;min-width:0}.tools select{width:100%!important}
      .adminPreview{display:grid;grid-template-columns:minmax(0,1fr) auto;width:100%;padding:9px;align-items:end}.adminIdentity{grid-column:1/-1;padding:0 0 8px;border-right:0;border-bottom:1px solid rgba(79,125,91,.22)}.profilePreviewPicker{min-width:0}.adminPreview>.btn{width:auto}.adminPreview .devicePreviewPicker,.adminPreview .noDevicePreview{grid-column:1/-1}
      .page-head,.dashHeader,.cardHead{flex-direction:column;align-items:stretch}.dashIntro{align-items:flex-start;flex-direction:column;gap:5px}.dashIntro p{text-align:left}.dashboardSectionTitle small{display:none}.quickMenuPanel{width:min(240px,calc(100vw - 28px))}.dashboardMore>summary{padding:11px 13px}
      .floorModeBar{align-items:stretch;flex-direction:column}.floorModeSwitch{width:100%;min-width:0}
      .floorPalette{align-items:stretch;flex-direction:column;padding:12px}.floorPaletteIntro{flex-basis:auto}.floorPaletteList{width:100%}.floorPaletteButton{flex-basis:105px}.floorCanvasToolbar{align-items:stretch;flex-direction:column}.floorToolbarActions{justify-content:space-between}.floorCanvasViewport{min-height:460px;padding:12px}.floorWorkspaceHint{display:grid;grid-template-columns:repeat(3,auto);gap:4px;text-align:center}.floorInspectorActions,.floorFieldGrid{grid-template-columns:minmax(0,1fr)}.floorFieldGrid .full{grid-column:auto}.floorSelectionTools{grid-template-columns:76px minmax(0,1fr)}.floorSaveBar{grid-template-columns:minmax(0,1fr)}.floorZoomControls output{min-width:40px}
      .availabilityForm,.closeReadinessGrid{grid-template-columns:minmax(0,1fr)}.availabilityPausedList{grid-template-columns:minmax(0,1fr)}.availabilityPausedList article{grid-template-columns:minmax(0,1fr)}.availabilityPausedList article .btn{width:100%}.closeReadinessGrid article{grid-template-columns:auto minmax(0,1fr)}.closeReadinessGrid article .btn{grid-column:1/-1;width:100%}
      .moduleSearch{grid-template-columns:minmax(0,1fr);gap:3px;padding-left:44px}.moduleSearchCount{padding-left:12px;white-space:normal}
      .recoveryRow{align-items:stretch;flex-direction:column}.recoveryRow .btn{width:100%}
      .confirmChoice{grid-template-columns:minmax(0,1fr)}
      .page-head h2,.dashHeader h2,h2{font-size:29px}.hero h2{font-size:31px}.hero{padding:20px;border-radius:18px}
      .hero p{font-size:15px}.card{min-width:0;padding:16px;border-radius:16px}
      .grid,.premiumDash,.builder,.serviceGrid,.opsGrid,.bottomGrid,.moduleLayout{gap:12px}
      .kanban,.map,.tilegrid,.stockMain,.stockConfig,.stockAdjust,.stockSummary,.metricStrip,.kpiRow,.ticketGrid,.kitchenBoard,.orderBoard,.coursePicker,.supplierGrid{grid-template-columns:minmax(0,1fr)}
      .homeActionGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.homeActionGrid button{grid-template-columns:32px minmax(0,1fr);gap:8px;min-height:58px;padding:9px}.homeActionGrid button>span:first-child{width:32px;height:32px;border-radius:10px}.homeActionGrid b{font-size:12px}.homeActionGrid small{font-size:9px}.finalDash .kpiRow{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.finalDash .kpiCard{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:8px;min-height:78px;padding:11px}.finalDash .kpiPrimary{grid-column:1/-1}.finalDash .kpiIcon{width:32px;height:32px;min-width:32px;min-height:32px;flex-basis:32px;border-radius:10px}.finalDash .kpiIcon .uiIcon{width:17px;height:17px;min-width:17px;min-height:17px}.finalDash .kpiCard h3{font-size:10px;line-height:1.2}.finalDash .kpiValue{margin-top:2px;font-size:20px}.finalDash .kpiCard .muted{font-size:9px;line-height:1.3}.finalDash .kpiCard .progress{display:none}.aiCompactAssistant>summary{grid-template-columns:34px minmax(0,1fr) auto 16px;gap:9px;min-height:54px;padding:9px 11px}.aiCompactMark{width:32px;height:32px}.aiCompactCopy b{font-size:12px}.aiCompactIntro{align-items:stretch;flex-direction:column}.aiCompactIntro .btn{width:100%}.homeServiceDetails>summary small{display:none}.homeServiceDetails>summary{min-height:52px;padding:11px 13px}
      .stockBoard{grid-template-columns:minmax(0,1fr)}.stockTools .input{min-width:0;max-width:none;width:100%}
      .formGrid,.settingsGrid,.supplierForm{grid-template-columns:minmax(0,1fr)}
      .twoCols,.threeCols,.floorDims,.presetGrid{grid-template-columns:minmax(0,1fr)}
      .orderMeta,.stockChips{grid-template-columns:repeat(3,minmax(0,1fr))}
      .discountForm,.posPaymentLayout,.posPaymentButtons{grid-template-columns:minmax(0,1fr)}.discountLine{align-items:stretch;flex-direction:column}.discountLine .btn{width:100%}.posTableSelector .cardHead select{width:100%;flex-basis:auto}
      .drawerEmpty,.drawerStatus{align-items:stretch;flex-direction:column}.drawerExpected{text-align:left}.drawerForm,.movementForm,.drawerMetrics{grid-template-columns:minmax(0,1fr)}.drawerActions{grid-column:auto;grid-template-columns:minmax(0,1fr)}.drawerExpected strong{font-size:26px}.closeControl .statusBadge{white-space:normal}
      .orderAdd{grid-template-columns:minmax(0,1fr)}
      .tableTransfer,.serviceOpenForm,.kitchenVoidCard{grid-template-columns:minmax(0,1fr)}.tableTransfer .btn,.kitchenVoidCard .btn{width:100%}.sentLineActions{grid-template-columns:minmax(0,1fr);min-width:0;width:100%;align-items:stretch}.sentLineActions>b{text-align:left}.sentLineActions .btn{width:100%;min-width:0;padding:8px 6px;font-size:11px;white-space:normal}.voidHistoryRow{align-items:stretch;flex-direction:column}
      .readyBannerHead{align-items:stretch;flex-wrap:wrap}.readyBannerHead .btn{width:100%}.readyBannerList{grid-template-columns:minmax(0,1fr)}.readyBannerList>div{grid-template-columns:minmax(0,1fr)}.readyBannerList .btn{grid-column:1;grid-row:auto;width:100%;margin-top:6px}.servicePassGrid{grid-template-columns:minmax(0,1fr)}.passTicket{grid-template-columns:64px minmax(0,1fr);align-items:start}.passTable{min-height:64px}.passActions{grid-template-columns:minmax(0,1fr)}.passTicketTop{align-items:flex-start;flex-direction:column}.readyShortcut{flex:1;min-width:118px}
      .secureUser{width:100%;justify-content:space-between}.secureUser>div{flex:1}.secureUser .btn{flex:0 1 auto;width:auto}.managerLock{align-items:flex-start}
      .terminalSettingsButton{margin-left:auto}.deviceSettingsGrid,.settingsAdminBox{grid-template-columns:minmax(0,1fr)}.settingsActionBar{grid-column:auto;display:grid;grid-template-columns:minmax(0,1fr)}.settingsActionBar .btn,.settingsAdminBox>.btn{width:100%;justify-self:stretch}
      .pinGrid,.pinRow{grid-template-columns:minmax(0,1fr)}.pinRow .btn{width:100%}
      .liveAlertControl{align-items:stretch;flex-direction:column}.liveAlertControl .btn{width:100%}.terminalSetup,.terminalRow,.terminalProvisionActions,.pairingCodeCard,.pairingRow{grid-template-columns:minmax(0,1fr)}.terminalRow .btn,.pairingRow .btn{width:100%}.stationChoices{align-items:flex-start;flex-direction:column}.pairingCodeCard output{width:100%;min-width:0}.pairingCodeActions{grid-template-columns:minmax(0,1fr)}.pairingCodeCard>small{grid-column:auto}
      .posOrder>.table{display:table;width:100%;table-layout:fixed;overflow:visible;white-space:normal}.posOrder>.table th,.posOrder>.table td{padding:7px 5px;white-space:normal;overflow-wrap:anywhere}.posOrder>.table td:nth-child(1){width:36%}.posOrder>.table td:nth-child(2){width:30%}.posOrder>.table td:nth-child(3),.posOrder>.table td:nth-child(4){width:17%}.lineQtyActions{gap:4px;flex-wrap:wrap}.lineQtyActions .qtyBtn{width:34px;height:34px}
      .reservationRow{grid-template-columns:58px 58px minmax(0,1fr);gap:8px}.reservationRow>:last-child{grid-column:1/-1}
      .stockRow{grid-template-columns:minmax(0,1fr) auto auto;gap:8px}
      .barLine{grid-template-columns:88px minmax(0,1fr);gap:8px}.barLine>:last-child{grid-column:2;text-align:right}
      .bar>.btn{flex-basis:100%}.rowActions{min-width:max-content}
      .floorCanvasWrap{max-width:100%;border-radius:18px;-webkit-overflow-scrolling:touch}
      .floorDesktopOverview{display:none}.floorMobileOverview{display:block}
      .modalOverlay{padding:12px}.modalPanel{max-height:calc(100dvh - 24px);overflow-y:auto;padding:17px}.publicAuthPanel{gap:14px;border-radius:20px}.publicAuthBrand{grid-template-columns:42px minmax(0,1fr);gap:11px}.publicAuthBrand .aiMark{width:42px;height:42px}.publicAuthBrand h3{font-size:21px}.passwordRequirements{grid-template-columns:minmax(0,1fr)}.passwordRequirements span{min-height:34px}.subscriptionBanner{grid-template-columns:34px minmax(0,1fr);align-items:start}.subscriptionBanner>span{width:34px;height:34px}.subscriptionBanner>.btn{grid-column:1/-1;width:100%}
      .variantRow,.variantAdd{align-items:stretch;flex-direction:column}
      .toast{left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));bottom:calc(12px + env(safe-area-inset-bottom));max-width:none}
      .stockBig b{font-size:36px}.kpi{font-size:28px}
    }
    @media(max-width:420px){
      .adminPreview{grid-template-columns:minmax(0,1fr)}.adminPreview>.btn{width:100%}
      .orderMeta,.stockChips,.posTotalsByStatus{grid-template-columns:minmax(0,1fr)}
      .stockTop,.orderTop{flex-direction:column}.stockActions,.orderActions,.stockQuick{display:grid;grid-template-columns:minmax(0,1fr);width:100%}
      .stockActions .btn,.orderActions .btn,.stockQuick .btn{width:100%}
      .receipt div,.checkoutRow,.posTotal{gap:8px;align-items:flex-start}.receipt div span:first-child,.checkoutRow span:first-child{min-width:0;overflow-wrap:anywhere}
      .responsiveCardTable tr:not(:first-child)>td{grid-template-columns:minmax(0,1fr);gap:4px}.responsiveCardTable .rowActions{grid-template-columns:repeat(2,minmax(0,1fr))}
      .teamEditorHeader{padding:16px}.teamEditorHeader h3{font-size:22px}.teamEditorIdentity{padding:0 14px}.teamEditorSection{margin:0 14px;padding:13px}.teamAccessPresets{grid-template-columns:minmax(0,1fr)}.teamAccessGrid{grid-template-columns:minmax(0,1fr)}.teamEditorActions{display:grid;grid-template-columns:minmax(0,1fr);padding:12px 14px calc(12px + env(safe-area-inset-bottom))}.teamEditorActions .btn{width:100%;min-width:0}.teamEditorActions .primary{grid-row:1}
      .dashboardMore>summary small{display:none}.dashboardMore>summary{min-height:52px}.quickMenu>summary span{display:none}
    }
    @media(max-width:850px){
      .terminalApp .main{padding:calc(12px + env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) calc(104px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.terminalApp:not(.padApp) .main{padding-bottom:calc(20px + env(safe-area-inset-bottom))}.padOrderLayout{grid-template-columns:minmax(0,1fr)}.padBasket{position:static}.padBasketLines{max-height:none}.padProductGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.padPageHead,.padOrderTop{align-items:stretch;flex-wrap:wrap}.padOrderTop>div:nth-child(2){flex:1}.padOrderTotal{margin-left:auto}.padServiceMetrics{width:100%}.padServiceMetrics span{flex:1}.terminalEditPanel .terminalSetup{grid-template-columns:minmax(0,1fr)}.kdsHeader{align-items:stretch;flex-direction:column}.kdsMetrics{width:100%}.kdsBoard{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.kdsVoidList article{grid-template-columns:minmax(0,1fr)}
    }
    @media(max-width:560px){
      .terminalApp .side{padding:calc(8px + env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}.terminalApp .brand{display:none}.toast.padToast,.toast.kdsToast{top:calc(68px + env(safe-area-inset-top));left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));max-width:none}.padProductGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.padProduct{min-height:92px;padding:11px}.padTableGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.padTableTile{min-height:140px;padding:13px}.padTableTile .padTableName{font-size:23px}.padPageHead h2,.padOrderTop h2{font-size:29px}.padOrderTotal{min-width:108px}.padBottomNav{grid-template-columns:repeat(auto-fit,minmax(72px,1fr));bottom:calc(6px + env(safe-area-inset-bottom));width:calc(100% - 12px - env(safe-area-inset-left) - env(safe-area-inset-right))}.padBottomNav button{font-size:11px}.padSendBar{grid-template-columns:minmax(0,1fr)}.padSendBar>div{display:flex;align-items:center;justify-content:space-between}.stationChoices .terminalActiveChoice{margin-left:0}.kdsHeader{padding:12px}.kdsHeader h2{font-size:27px}.kdsMetrics{grid-template-columns:repeat(3,minmax(0,1fr))}.kdsMetrics span{min-width:0;padding:8px 5px}.kdsMetrics b{font-size:22px}.kdsBoard{grid-template-columns:minmax(0,1fr)}.kdsVoidList{grid-template-columns:minmax(0,1fr)}.kdsVoidList article{grid-template-columns:minmax(0,1fr)}.kdsVoidList .btn{width:100%}
    }
    /* Sur un écran KDS, les informations de poste restent sur une seule ligne afin
       de conserver la hauteur utile pour les tickets et leurs actions tactiles. */
    .terminalApp:not(.padApp) .top{flex-direction:row;align-items:center;margin-bottom:10px}
    .terminalApp:not(.padApp) .topMeta{flex:1}
    .terminalApp:not(.padApp) .tools{width:auto;margin-left:auto}
    .terminalApp:not(.padApp) .tools>.user{display:none}
    @media(max-width:680px){
      .terminalApp:not(.padApp) .top{flex-direction:column;align-items:stretch}
      .terminalApp:not(.padApp) .tools{width:100%;margin-left:0}
    }
    @media(max-width:1120px){
      .platformPricingLayout{grid-template-columns:minmax(0,1fr)}.platformMarketSection{position:static}.platformClientPlanFields{grid-template-columns:repeat(2,minmax(0,1fr))}.platformClientPlanFields .btn{grid-column:1/-1;width:100%}
    }
    @media(max-width:900px){
      .portalChoicePanel{width:min(620px,100%)}.portalChoices{grid-template-columns:minmax(0,1fr)}.portalChoice{min-height:176px}
      .platformMetrics{grid-template-columns:repeat(2,minmax(0,1fr))}.platformColumns,.platformTeamLayout,.platformSecurityLayout,.platformOperationsGrid{grid-template-columns:minmax(0,1fr)}.platformOperationsEvents{grid-column:auto}.platformInviteSection{position:static}.platformClientFacts{grid-template-columns:repeat(2,minmax(0,1fr))}
    }
    @media(max-width:680px){
      .entryPortalBackdrop{align-items:start;padding:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));overflow:auto}.portalChoicePanel{gap:17px;border-radius:21px;padding:18px}.portalChoiceBrand{align-items:flex-start}.portalLogo{width:48px;height:48px;flex-basis:48px;border-radius:15px}.portalChoiceBrand h2{font-size:24px}.portalChoiceBrand p{font-size:12px}.portalChoices{gap:11px}.portalChoice{grid-template-columns:47px minmax(0,1fr);gap:12px;min-height:165px;border-radius:17px;padding:16px}.portalChoiceIcon{width:47px;height:47px;border-radius:14px}.portalChoiceIcon .uiIcon{width:23px;height:23px}.portalChoiceCopy b{font-size:18px}.portalChoiceCopy em{margin-top:7px;font-size:12px}.portalChoiceCopy strong{padding-top:13px}.portalSessionPromise{align-items:flex-start}
      .workspaceProfileBackdrop{padding:10px}.workspaceProfilePanel{gap:13px;border-radius:20px;padding:15px}.workspaceProfileHeader{align-items:stretch;flex-direction:column}.workspaceProfileHeader>.authBackButton{align-self:flex-start}.workspaceProfileGrid{grid-template-columns:minmax(0,1fr)}.workspaceProfileSection{padding:12px}.workspaceProfileCard{grid-template-columns:40px minmax(0,1fr)}.workspaceProfileIcon{width:40px;height:40px}
      .platformTopbar{position:static;padding:11px max(12px,env(safe-area-inset-right)) 11px max(12px,env(safe-area-inset-left))}.platformTopActions>div{display:none}.platformMain{padding:15px max(14px,env(safe-area-inset-right)) calc(32px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}.platformNav{margin-bottom:23px}.platformHero{align-items:stretch;flex-direction:column}.platformHero h1{font-size:32px}.platformHero .btn{width:100%}.platformMetrics{grid-template-columns:minmax(0,1fr)}.platformActionCenter{align-items:stretch;flex-direction:column}.platformActionCenter .btn{width:100%}.platformSection{padding:14px}.platformClientGrid,.platformRoleGrid{grid-template-columns:minmax(0,1fr)}.platformClientTools,.platformSystemGrid{grid-template-columns:minmax(0,1fr)}.platformOperationAlert{grid-template-columns:38px minmax(0,1fr)}.platformOperationAlert .platformTextButton{grid-column:2;justify-self:start}.platformClientCard header,.platformClientCard footer{align-items:flex-start;flex-direction:column}.platformClientFacts{grid-template-columns:minmax(0,1fr)}.platformClientPlanFields,.platformPriceFields{grid-template-columns:minmax(0,1fr)}.platformPricingGrid{grid-template-columns:minmax(0,1fr)}.platformPricingSave{align-items:stretch;flex-direction:column}.platformPricingSave .btn{width:100%}.platformTeamRow{grid-template-columns:38px minmax(0,1fr)}.platformTeamRow .statusBadge{grid-column:2;justify-self:start}.platformMemberIdentity{grid-template-columns:38px minmax(0,1fr)}.platformMemberIdentity>.statusChip{grid-column:2;justify-self:start}.platformMemberActions{align-items:stretch;flex-direction:column}.platformMemberActions label,.platformMemberActions select,.platformMemberActions .btn{width:100%}.platformInvitationRow{align-items:stretch;flex-direction:column}.platformInvitationRow .btn{width:100%}.platformSecurityNote{align-items:flex-start}
    }
    .platformTopActions{justify-content:flex-end;flex-wrap:wrap;gap:9px 13px}.platformSpaceSwitch{white-space:nowrap}.authInlineLink{justify-self:end;border:0;padding:0;background:transparent;color:#2c3e57;font:inherit;font-size:12px;font-weight:900;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
    .platformClientDetail{display:grid;gap:18px}.platformClientBack{justify-self:start}.platformClientDetailHero{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid rgba(34,28,20,.1);border-radius:23px;padding:23px;background:linear-gradient(125deg,#0a1d3a,#493c2d);color:#fff;box-shadow:0 18px 38px rgba(34,28,20,.12)}.platformClientDetailHero small{color:#a9b4c6;font-size:9px;font-weight:950;letter-spacing:.14em}.platformClientDetailHero h2{margin:5px 0 4px;font-size:30px}.platformClientDetailHero p{margin:0;color:#d8d0c5;font-size:12px}.platformClientDetailMetrics{margin-bottom:0}.platformClientDetailGrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,.75fr);gap:18px;align-items:start}.platformClientNotesSection{grid-column:1/-1}.platformClientData{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0}.platformClientData>div{border-radius:13px;padding:11px;background:#f7f4ee}.platformClientData dt{color:var(--soft);font-size:9px;font-weight:900;text-transform:uppercase}.platformClientData dd{margin:4px 0 0;font-size:12px;font-weight:900;overflow-wrap:anywhere}.platformClientFollowUpForm{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.platformClientFollowUpForm label{display:grid;gap:5px}.platformClientFollowUpForm label>span{color:var(--soft);font-size:9px;font-weight:900;text-transform:uppercase}.platformClientFollowUpForm .btn{grid-column:1/-1}.platformRestaurantAccessSection{border-color:rgba(44,62,87,.28);background:linear-gradient(145deg,#fefefe,#f4f6f9)}.platformRestaurantAccessForm{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.platformRestaurantAccessForm label{display:grid;gap:5px}.platformRestaurantAccessForm label>span{color:var(--soft);font-size:9px;font-weight:900;text-transform:uppercase}.platformRestaurantAccessForm .wide{grid-column:1/-1}.platformTemporaryPasswordField{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px}.platformTemporaryPasswordField .btn{min-height:46px}.platformTemporaryPasswordNotice{display:flex;align-items:center;gap:11px;border:1px solid rgba(44,62,87,.2);border-radius:14px;padding:11px;background:#eef1f5}.platformTemporaryPasswordNotice>span{display:grid;place-items:center;width:40px;height:40px;flex:0 0 40px;border-radius:12px;background:#0a1d3a;color:#fff;font-size:16px;font-weight:950}.platformTemporaryPasswordNotice p{margin:0}.platformTemporaryPasswordNotice b,.platformTemporaryPasswordNotice small{display:block}.platformTemporaryPasswordNotice small{margin-top:3px;color:var(--soft);font-size:10px;line-height:1.4}.platformClientNoteForm{display:grid;grid-template-columns:180px minmax(0,1fr) auto;gap:9px;align-items:end}.platformClientNoteForm textarea{resize:vertical}.platformClientNotes{display:grid;gap:8px}.platformClientNote{display:grid;grid-template-columns:90px minmax(0,1fr);gap:12px;border:1px solid var(--line);border-radius:14px;padding:12px;background:#fefefe}.platformClientNote>span{align-self:start;border-radius:999px;padding:5px 8px;background:#eef1f5;color:#2c3e57;font-size:9px;font-weight:950;text-align:center;text-transform:uppercase}.platformClientNote p{margin:0;line-height:1.5;white-space:pre-wrap}.platformClientNote small{display:block;margin-top:5px;color:var(--soft);font-size:10px}
    .platformQuickActions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin:-5px 0 22px}.platformQuickActions button{display:grid;grid-template-columns:38px minmax(0,1fr);grid-template-rows:auto auto;column-gap:10px;align-items:center;border:1px solid var(--line);border-radius:16px;padding:12px;background:#fefefe;color:inherit;text-align:left;cursor:pointer;transition:.18s ease}.platformQuickActions button:hover{border-color:#2c3e57;transform:translateY(-2px);box-shadow:0 10px 24px rgba(34,28,20,.08)}.platformQuickActions span{grid-row:1/3;display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#0a1d3a;color:#fff;font-size:10px;font-weight:950}.platformQuickActions b{font-size:13px}.platformQuickActions small{color:var(--soft);font-size:10px}.platformDashboardGrid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:18px;align-items:start}.platformDashboardClients{grid-row:span 2}.platformDashboardActivity{grid-column:1/-1}.platformLaunchList{display:grid;gap:7px}.platformLaunchCheck{display:grid;grid-template-columns:30px minmax(0,1fr);gap:9px;align-items:center;border-radius:12px;padding:9px;background:#f7f3ed}.platformLaunchCheck>span{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#d9cdbc;color:#75654f;font-weight:950}.platformLaunchCheck.done{background:#eff7f0}.platformLaunchCheck.done>span{background:#55775d;color:#fff}.platformLaunchCheck b,.platformLaunchCheck small{display:block}.platformLaunchCheck small{margin-top:2px;color:var(--soft);font-size:10px}.platformDashboardWork{display:grid;gap:8px}.platformMiniTicketList{display:grid;gap:8px}.platformMiniTicket{display:grid;grid-template-columns:70px minmax(0,1fr);gap:10px;align-items:center;border:1px solid var(--line);border-radius:13px;padding:10px;background:#fefefe}.platformMiniTicket>span{color:#2c3e57;font-size:9px;font-weight:950}.platformMiniTicket b,.platformMiniTicket small{display:block}.platformMiniTicket small{margin-top:2px;color:var(--soft);font-size:10px}.platformWorkPage,.platformSupportPage{display:grid;gap:18px}.platformCreatePanel{background:linear-gradient(125deg,#fefefe,#f3eadc)}.platformCreateGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;align-items:end}.platformCreateGrid .wide{grid-column:span 2}.platformTaskBoard{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start}.platformWorkColumn{min-width:0;border:1px solid var(--line);border-radius:19px;padding:12px;background:rgba(255,255,255,.48)}.platformWorkColumn>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;padding:2px 4px}.platformWorkColumn>header span{display:grid;place-items:center;min-width:27px;height:27px;border-radius:9px;background:#0a1d3a;color:#fff;font-size:10px;font-weight:950}.platformWorkColumn>div{display:grid;gap:9px}.platformWorkCard{border:1px solid var(--line);border-radius:15px;padding:12px;background:#fefefe;box-shadow:0 8px 18px rgba(34,28,20,.04)}.platformWorkCard.overdue{border-color:#e2a89e;background:#fff5f2}.platformWorkCard header{display:flex;align-items:center;justify-content:space-between;gap:8px}.platformWorkCard header>span{color:#2c3e57;font-size:9px;font-weight:950;text-transform:uppercase}.platformWorkCard header em{border-radius:999px;padding:3px 7px;background:#eef1f5;font-size:8px;font-style:normal;font-weight:950;text-transform:uppercase}.platformWorkCard header em.high{background:#fff0c7;color:#775514}.platformWorkCard header em.critical{background:#b54437;color:#fff}.platformWorkCard h3{margin:9px 0 5px;font-size:14px}.platformWorkCard p{margin:0;color:#5f574e;font-size:10px;line-height:1.4}.platformWorkCard>small{display:block;margin-top:7px;color:var(--soft);font-size:9px}.platformWorkActions{display:flex;gap:5px;flex-wrap:wrap;margin-top:10px;padding-top:9px;border-top:1px solid var(--line)}.platformWorkActions button{border:0;border-radius:8px;padding:6px 8px;background:#eef1f5;color:#64481f;font:inherit;font-size:9px;font-weight:900;cursor:pointer}.platformWorkEmpty{margin:0;border:1px dashed var(--line);border-radius:13px;padding:16px;color:var(--soft);font-size:11px;text-align:center}.platformTicketList{display:grid;gap:9px}.platformTicketCard{display:grid;grid-template-columns:minmax(0,1fr) 170px;gap:14px;align-items:center;border:1px solid var(--line);border-left:5px solid #c7b99f;border-radius:15px;padding:13px;background:#fefefe}.platformTicketCard.high{border-left-color:#d49a31}.platformTicketCard.critical{border-left-color:#b54437}.platformTicketCard small{display:block;color:#2c3e57;font-size:9px;font-weight:950}.platformTicketCard h3{margin:4px 0;font-size:15px}.platformTicketCard p{margin:0;color:#554e46;font-size:11px;line-height:1.45;white-space:pre-wrap}.platformTicketCard em{display:block;margin-top:6px;color:var(--soft);font-size:9px;font-style:normal}.platformTicketCard>div:last-child{display:grid;justify-items:stretch;gap:8px}.platformTicketCard .statusChip{text-align:center}.platformTicketCard select{min-height:36px;font-size:10px}
    @media(max-width:900px){.platformClientDetailGrid,.platformDashboardGrid{grid-template-columns:minmax(0,1fr)}.platformClientNotesSection,.platformDashboardActivity{grid-column:auto}.platformDashboardClients{grid-row:auto}.platformQuickActions{grid-template-columns:repeat(2,minmax(0,1fr))}.platformTaskBoard{grid-template-columns:minmax(0,1fr)}}
    @media(max-width:680px){.platformTopbar{align-items:flex-start}.platformTopActions{gap:6px}.platformTopActions .btn{min-height:38px;padding:8px 10px;font-size:10px}.platformClientDetailHero{align-items:flex-start;flex-direction:column}.platformClientData,.platformClientFollowUpForm,.platformRestaurantAccessForm,.platformQuickActions,.platformCreateGrid{grid-template-columns:minmax(0,1fr)}.platformRestaurantAccessForm .wide,.platformCreateGrid .wide{grid-column:auto}.platformTemporaryPasswordField{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.platformTemporaryPasswordField .input{grid-column:1/-1}.platformClientNoteForm{grid-template-columns:minmax(0,1fr)}.platformClientNote{grid-template-columns:minmax(0,1fr)}.platformClientNote>span{justify-self:start}.platformTicketCard{grid-template-columns:minmax(0,1fr)}}
    .employeeTerminalShell{min-height:100dvh;background:#f7f4ee}.employeeTerminalBar{position:sticky;top:0;z-index:35;display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:68px;padding:9px 18px;border-bottom:1px solid rgba(10,29,58,.12);background:rgba(254,254,254,.96);box-shadow:0 8px 26px rgba(10,29,58,.08);backdrop-filter:blur(14px)}.employeeTerminalBrand,.employeeTerminalIdentity{display:flex;align-items:center;gap:11px}.employeeTerminalBrand>span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#0a1d3a;color:#a9b4c6;font-size:20px;font-weight:950}.employeeTerminalBrand b,.employeeTerminalBrand small,.employeeTerminalIdentity b,.employeeTerminalIdentity small{display:block}.employeeTerminalBrand small,.employeeTerminalIdentity small{color:var(--soft);font-size:10px;font-weight:850;letter-spacing:.04em}.employeeTerminalConnection{border-radius:999px;padding:6px 9px;background:#eef1f5;color:#2c3e57;font-size:9px;font-weight:950;text-transform:uppercase}.employeeTerminalConnection.online{background:#e5f2e7;color:#396246}.employeeTerminalMain{min-width:0;padding:18px 20px 104px}.employeeKdsShell{background:#ece6dc}.employeeKdsShell .employeeTerminalMain{padding-bottom:24px}.employeeTerminalBar .terminalSettingsButton{min-height:44px;margin:0}.employeeTerminalShell button,.employeeTerminalShell select,.employeeTerminalShell input{touch-action:manipulation}.employeePadShell .padTableTile,.employeePadShell .padProduct,.employeePadShell .padSendBar .btn{min-height:60px}.employeeKdsShell .kdsReadyButton{min-height:64px;font-size:15px}.aiSource{display:inline-block;margin-top:5px;border-radius:999px;padding:4px 7px;background:#ede5d8;color:#2c3e57;font-size:9px;font-weight:900}.supportWorkspace{align-items:start}.supportCreateCard{display:grid;gap:13px;position:sticky;top:20px}.supportDetails{min-height:150px;resize:vertical}.restaurantSupportList{display:grid;gap:10px}.restaurantSupportTicket{border:1px solid var(--line);border-left:5px solid #c5b89f;border-radius:16px;padding:14px;background:#fefefe}.restaurantSupportTicket.high{border-left-color:#d49a31}.restaurantSupportTicket.critical{border-left-color:#b54437}.restaurantSupportTicket header,.restaurantSupportTicket footer{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.restaurantSupportTicket header span:first-child{color:#2c3e57;font-size:9px;font-weight:950;text-transform:uppercase}.restaurantSupportTicket h3{margin:5px 0 0;font-size:16px}.restaurantSupportTicket p{margin:12px 0;line-height:1.55;white-space:pre-wrap}.restaurantSupportTicket footer{padding-top:10px;border-top:1px solid var(--line)}.restaurantSupportTicket footer small{color:var(--soft)}.restaurantSupportTicket footer b{font-size:10px}.supportHistoryCard{min-height:360px}
    @media(max-width:850px){.employeeTerminalBar{padding:8px 12px}.employeeTerminalMain{padding:12px 12px 104px}.employeeKdsShell .employeeTerminalMain{padding-bottom:16px}.supportCreateCard{position:static}.supportWorkspace{grid-template-columns:minmax(0,1fr)}}
    @media(max-width:560px){.employeeTerminalBrand small{display:none}.employeeTerminalIdentity>div{display:none}.employeeTerminalBar .terminalSettingsButton span{display:none}.employeeTerminalBar .terminalSettingsButton{width:44px;padding:8px}.restaurantSupportTicket header,.restaurantSupportTicket footer{flex-direction:column}.employeeTerminalMain{padding-left:9px;padding-right:9px}}
    /* Shell applicatif iPhone/iPad : le cadre ne bouge plus, seul le contenu défile. */
    body.restaurantAppMode .terminalApp{display:block;height:100vh;height:100dvh;overflow:hidden}
    body.restaurantAppMode .employeeTerminalShell{display:grid;grid-template-rows:auto minmax(0,1fr);height:100vh;height:100dvh;min-height:0;overflow:hidden}
    body.restaurantAppMode .employeeTerminalBar{position:relative;top:auto}
    body.restaurantAppMode .employeeTerminalMain{min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}
    @media(max-width:1280px){
      body.restaurantAppMode{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
      body.restaurantAppMode input,body.restaurantAppMode textarea{user-select:text;-webkit-user-select:text}
      body.restaurantAppMode button,body.restaurantAppMode summary,body.restaurantAppMode select{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
      body.restaurantAppMode .app:not(.terminalApp){display:block;position:relative;background:linear-gradient(180deg,#f7f4ee,#eef1f5)}
      body.restaurantAppMode .app:not(.terminalApp)>.side{display:none}
      body.restaurantAppMode .app:not(.terminalApp)>.main{width:100%;max-width:none;margin:0;padding:calc(82px + env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) calc(106px + env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));scroll-padding-top:calc(82px + env(safe-area-inset-top));scroll-padding-bottom:calc(106px + env(safe-area-inset-bottom));scrollbar-width:none}
      body.restaurantAppMode .app:not(.terminalApp)>.main::-webkit-scrollbar{display:none}
      body.mobileSheetVisible.restaurantAppMode .app:not(.terminalApp)>.main{overflow:hidden}
      body.mobileSheetVisible.restaurantAppMode .app:not(.terminalApp)>.mobileAppDock{visibility:hidden;opacity:0;pointer-events:none}
      body.restaurantAppMode .app:not(.terminalApp) .top{display:none}
      body.restaurantAppMode .pageView{animation:none}
      .mobileAppHeader{position:fixed;inset:0 0 auto 0;z-index:70;display:flex;align-items:center;justify-content:space-between;gap:14px;height:calc(68px + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(20px,env(safe-area-inset-right)) 0 max(20px,env(safe-area-inset-left));border-bottom:1px solid rgba(10,29,58,.09);background:rgba(255,252,247,.94);box-shadow:0 7px 25px rgba(10,29,58,.07);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
      .mobileAppBrand{display:flex;align-items:center;gap:11px;min-width:0;border:0;padding:0;background:transparent;color:var(--ink);text-align:left}
      .mobileAppLogo{display:grid;place-items:center;flex:0 0 43px;width:43px;height:43px;border-radius:14px;background:#0a1d3a;color:#a9b4c6;font-family:Poppins,"Avenir Next",Inter,"Segoe UI",Arial,sans-serif;font-size:20px;font-weight:950;box-shadow:0 8px 19px rgba(10,29,58,.2)}
      .mobileAppBrand>span:last-child{display:grid;min-width:0;line-height:1.1}.mobileAppBrand small{color:#2c3e57;font-size:9px;font-weight:950;letter-spacing:.14em}.mobileAppBrand b{max-width:52vw;margin-top:4px;font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
      .mobileHeaderActions{display:flex;align-items:center;gap:8px}.mobileHeaderActions>.readyShortcut{min-width:44px;height:44px;padding:5px 8px;border-radius:14px}.mobileHeaderActions>.readyShortcut small{display:none}
      .mobileAiShortcut{position:relative;display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(10,29,58,.11);border-radius:14px;background:#0a1d3a;color:#a9b4c6;font-size:10px;font-weight:950}.mobileAiShortcut em{position:absolute;right:-4px;top:-4px;display:grid;place-items:center;min-width:17px;height:17px;padding:0 4px;border:2px solid #fefefe;border-radius:999px;background:#a14b4b;color:#fff;font-size:8px;font-style:normal;font-weight:950}
      .mobileAccountButton{display:grid;place-items:center;width:44px;height:44px;border:1px solid rgba(10,29,58,.11);border-radius:15px;background:#eef1f5;color:#65491f;box-shadow:0 4px 13px rgba(10,29,58,.06)}.mobileAccountButton>span{display:grid;place-items:center;width:100%;height:100%;font-size:13px;font-weight:950}.mobileAccountButton[aria-expanded="true"]{border-color:rgba(44,62,87,.58);background:#e8dcc8;box-shadow:0 0 0 3px rgba(44,62,87,.13)}
      .mobileSheetOverlay{position:fixed;inset:0;z-index:90;display:flex;align-items:flex-end;justify-content:center;padding:calc(76px + env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) calc(92px + env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));background:rgba(10,29,58,.3);overscroll-behavior:contain}.mobileSheetOverlay[hidden]{display:none!important}.mobileAccountOverlay{justify-content:flex-end}
      .mobileAccountSheet,.mobileNavSheet{position:relative;min-width:0;max-height:100%;overflow:auto;border:1px solid rgba(10,29,58,.12);border-radius:24px;padding:20px;background:#fefefe;box-shadow:0 24px 90px rgba(10,29,58,.28);overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.mobileAccountSheet{width:min(430px,100%)}.mobileNavSheet{width:min(720px,100%)}
      .mobileSheetHead{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}.mobileSheetHead small{display:block;color:#2c3e57;font-size:9px;font-weight:950;letter-spacing:.12em}.mobileSheetHead h2{margin:4px 0 2px;font-size:24px}.mobileSheetHead p{margin:0;color:var(--soft);font-size:12px}
      .mobileSheetClose{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border:1px solid var(--line);border-radius:14px;background:#eef1f5;color:var(--ink);font-size:22px;line-height:1}
      .mobileAccountSheet>.connectionBadge{width:100%;min-height:42px;margin-bottom:12px}.mobileAccountControl{min-width:0}.mobileAccountControl>.input{width:100%!important}.mobileAccountControl .adminPreview{width:100%;box-shadow:none}.mobileAccountControl .secureUser{margin:0}
      .mobileAppDock{position:fixed;left:50%;bottom:max(10px,env(safe-area-inset-bottom));z-index:75;display:grid;grid-template-columns:repeat(var(--mobile-tab-count,5),minmax(0,1fr));width:min(720px,calc(100vw - 40px));min-height:68px;padding:6px;border:1px solid rgba(10,29,58,.12);border-radius:22px;background:#fefefe;box-shadow:0 14px 46px rgba(10,29,58,.16);transform:translateX(-50%)}
      .mobileDockButton{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;min-height:54px;border:0;border-radius:15px;padding:5px 4px;background:transparent;color:#526176;text-align:center}
      .mobileDockButton .uiIcon{width:21px;height:21px;min-width:21px;min-height:21px}.mobileDockButton>span{max-width:100%;font-size:10px;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobileDockButton.active{background:#eef1f5;color:#0a1d3a;box-shadow:none}.mobileDockButton.active .uiIcon{stroke-width:2.2}.mobileDockButton>em{position:absolute;top:3px;right:max(5px,calc(50% - 23px));display:grid;place-items:center;min-width:18px;height:18px;border-radius:999px;background:#a14b4b;color:#fff;font-size:9px;font-style:normal;font-weight:950}
      .mobileSheetNav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.mobileSheetNav section{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;align-content:start}.mobileSheetNav h3{grid-column:1/-1;margin:0 0 3px;color:var(--soft);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.mobileSheetNav button{display:flex;align-items:center;gap:9px;min-width:0;min-height:48px;border:1px solid var(--line);border-radius:14px;padding:9px 11px;background:#fefefe;color:var(--ink);text-align:left}.mobileSheetNav button .uiIcon{width:19px;height:19px}.mobileSheetNav button span{min-width:0;font-size:12px;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobileSheetNav button.active{border-color:#0a1d3a;background:#0a1d3a;color:#fefefe}
    }
    @media(max-width:680px){
      body.restaurantAppMode .app:not(.terminalApp)>.main{padding:calc(78px + env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) calc(74px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));scroll-padding-top:calc(78px + env(safe-area-inset-top));scroll-padding-bottom:calc(74px + env(safe-area-inset-bottom))}
      body.restaurantAppMode input,body.restaurantAppMode select,body.restaurantAppMode textarea{font-size:16px}
      body.restaurantAppMode button:active:not(:disabled){transform:none}
      .mobileAppHeader{height:calc(64px + env(safe-area-inset-top));padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}.mobileAppLogo{flex-basis:40px;width:40px;height:40px;border-radius:13px}.mobileAppBrand b{font-size:16px}.mobileHeaderActions>.readyShortcut{width:40px;height:40px;min-width:40px}.mobileAiShortcut,.mobileAccountButton{width:40px;height:40px;border-radius:13px}
      .mobileAppDock{left:0;bottom:0;width:100%;min-height:calc(56px + env(safe-area-inset-bottom));padding:3px max(5px,env(safe-area-inset-right)) max(3px,env(safe-area-inset-bottom)) max(5px,env(safe-area-inset-left));border-width:1px 0 0;border-radius:18px 18px 0 0;transform:none}.mobileDockButton{min-height:48px;border-radius:13px;padding:3px}.mobileDockButton .uiIcon{width:20px;height:20px;min-width:20px;min-height:20px}.mobileDockButton>span{font-size:9px}
      .mobileSheetOverlay{padding:calc(64px + env(safe-area-inset-top)) 0 0}.mobileAccountOverlay{justify-content:center}.mobileAccountSheet,.mobileNavSheet{width:100%;max-height:100%;border-width:1px 0 0;border-radius:24px 24px 0 0;padding:18px max(16px,env(safe-area-inset-right)) calc(22px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));scroll-padding-bottom:calc(22px + env(safe-area-inset-bottom))}.mobileNavSheet{height:100%;scrollbar-width:none}.mobileNavSheet::-webkit-scrollbar{display:none}.mobileNavSheet>.mobileSheetHead{position:sticky;top:-18px;z-index:3;margin:-18px 0 14px;padding:18px 0 12px;border-bottom:1px solid rgba(10,29,58,.08);background:#fefefe}.mobileSheetNav{grid-template-columns:minmax(0,1fr);gap:14px}.mobileSheetNav section{grid-template-columns:repeat(2,minmax(0,1fr))}
      body.lulouSelectOpen.restaurantAppMode .mobileAppDock{visibility:hidden;opacity:0;pointer-events:none}.lulouSelectOverlay{display:flex;align-items:flex-end;background:rgba(10,29,58,.34)}.lulouSelectMenu{position:relative!important;inset:auto!important;width:100%!important;max-height:min(72dvh,620px)!important;border-width:1px 0 0;border-radius:24px 24px 0 0;padding-bottom:env(safe-area-inset-bottom);animation:lulouSelectSheetIn .18s ease-out}.lulouSelectMenuHead{padding:16px max(16px,env(safe-area-inset-right)) 13px max(16px,env(safe-area-inset-left))}.lulouSelectOptions{padding:8px max(12px,env(safe-area-inset-right)) calc(14px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));scrollbar-width:none}.lulouSelectOptions::-webkit-scrollbar{display:none}.lulouSelectOption{min-height:54px;border-radius:14px}.lulouSelectOption>span:last-child{font-size:14px}.cardHead>.lulouSelect{width:100%;min-width:0;flex-basis:auto}
      .reservationForm{grid-template-columns:repeat(2,minmax(0,1fr))}.reservationCustomer,.reservationPhone,.reservationDietary{grid-column:1/-1}.reservationForm input[type="date"],.reservationForm input[type="time"]{display:block;width:100%;min-width:0;min-height:50px;text-align:left}.reservationForm input[type="date"]::-webkit-date-and-time-value,.reservationForm input[type="time"]::-webkit-date-and-time-value{text-align:left}.reservationEditor>.btn{width:100%}.reservationListCard{padding:14px}.reservationEmptyState{min-height:118px}
      .aiShell>.cardHead{gap:12px;padding:16px}.aiHeading{align-items:flex-start}.aiShell>.cardHead>.bar{width:100%;margin:0}.aiShell>.cardHead>.bar>*{flex:1}
      body.restaurantAppMode .page-head{gap:10px;margin-bottom:14px}.page-head .backToDashboard{display:none}.page-head p{margin-top:5px;font-size:13px;line-height:1.45}.card{box-shadow:0 3px 14px rgba(10,29,58,.045)}
      body.restaurantAppMode .modalOverlay:not(.authBackdrop){align-items:flex-end;padding:0}.restaurantAppMode .modalOverlay:not(.authBackdrop)>.modalPanel{width:100%;max-width:none;max-height:calc(100dvh - env(safe-area-inset-top));margin:0;border-radius:25px 25px 0 0;padding:20px max(16px,env(safe-area-inset-right)) calc(20px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}
    }
    @media(max-width:560px){.reservationDate,.reservationTime{grid-column:1/-1}.moduleEmptyState{grid-template-columns:42px minmax(0,1fr);gap:11px;min-height:0;padding:17px}.moduleEmptyState>span{width:42px;height:42px;border-radius:13px}.moduleEmptyState .uiIcon{width:21px;height:21px}.moduleEmptyState h3{font-size:16px}.reservationEditor>.cardHead p{font-size:11px}}
    /* Administration centrale : acquisition et mise en service des nouveaux restaurants. */
    .platformQuickActions{grid-template-columns:repeat(5,minmax(0,1fr))}
    .platformPipelinePage{display:grid;gap:18px}.platformProspectCreate{scroll-margin-top:96px;background:linear-gradient(125deg,#fefefe,#f2e7d6)}
    .platformProspectForm{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:end}.platformProspectForm label{display:grid;min-width:0;gap:5px}.platformProspectForm label>span{color:var(--soft);font-size:9px;font-weight:950;letter-spacing:.055em;text-transform:uppercase}.platformProspectForm .wide{grid-column:span 2}.platformProspectForm textarea{resize:vertical}.platformProspectTaskToggle{display:flex!important;grid-column:span 2;grid-template-columns:22px minmax(0,1fr);align-items:center;align-self:center;gap:8px!important;min-height:44px;padding:8px 10px;border-radius:12px;background:rgba(255,255,255,.6)}.platformProspectTaskToggle input{width:18px;height:18px}.platformProspectTaskToggle span{color:#534b42!important;font-size:10px!important;text-transform:none!important}
    .platformPipelineBoard{display:grid;grid-template-columns:repeat(5,minmax(250px,1fr));gap:12px;min-width:0;overflow-x:auto;padding:2px 1px 10px;scrollbar-width:thin;scrollbar-color:rgba(44,62,87,.45) transparent}.platformPipelineColumn{display:grid;align-content:start;min-width:250px;border:1px solid var(--line);border-radius:20px;padding:11px;background:rgba(255,255,255,.42)}.platformPipelineColumn>header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-height:48px;padding:3px 3px 11px}.platformPipelineColumn>header b,.platformPipelineColumn>header small{display:block}.platformPipelineColumn>header b{font-size:13px}.platformPipelineColumn>header small{margin-top:2px;color:var(--soft);font-size:9px}.platformPipelineColumn>header>span{display:grid;place-items:center;min-width:28px;height:28px;border-radius:9px;background:#0a1d3a;color:#fff;font-size:10px;font-weight:950}.platformPipelineColumn>div{display:grid;gap:9px}
    .platformProspectCard{min-width:0;border:1px solid var(--line);border-radius:17px;padding:12px;background:#fefefe;box-shadow:0 7px 19px rgba(34,28,20,.045)}.platformProspectCard.overdue{border-color:#dfa296;background:#fff5f2}.platformProspectCard>header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.platformProspectCard>header small{display:block;color:#2c3e57;font-size:8px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.platformProspectCard h3{margin:4px 0 2px;font-size:15px}.platformProspectCard>header p{margin:0;color:var(--soft);font-size:9px}.platformProspectStage{flex:0 0 auto;border-radius:999px;padding:5px 7px;background:#eef1f5;color:#684c22;font-size:8px;font-weight:950}.platformProspectContact{display:grid;grid-template-columns:34px minmax(0,1fr);gap:9px;align-items:center;margin-top:11px;padding:9px;border-radius:12px;background:#f7f4ee}.platformProspectContact>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#0a1d3a;color:#a9b4c6;font-size:12px;font-weight:950}.platformProspectContact b,.platformProspectContact a,.platformProspectContact small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.platformProspectContact b{font-size:10px}.platformProspectContact a{margin-top:2px;color:#2c3e57;font-size:9px}.platformProspectContact small{margin-top:2px;color:var(--soft);font-size:8px}.platformProspectFacts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:8px}.platformProspectFacts span{min-width:0;border:1px solid var(--line);border-radius:10px;padding:8px}.platformProspectFacts small,.platformProspectFacts b{display:block}.platformProspectFacts small{color:var(--soft);font-size:7px;font-weight:900;text-transform:uppercase}.platformProspectFacts b{margin-top:3px;overflow:hidden;font-size:9px;line-height:1.35;text-overflow:ellipsis}.dangerText{color:#a83f35!important}.platformProspectNotes{margin:8px 0 0;border-left:3px solid #c49a55;padding:7px 8px;background:#f8f2e8;color:#5d554c;font-size:9px;line-height:1.45;white-space:pre-wrap}.platformProspectControls{display:grid;gap:7px;margin-top:10px;padding-top:9px;border-top:1px solid var(--line)}.platformProspectControls label{display:grid;gap:3px}.platformProspectControls label>span{color:var(--soft);font-size:7px;font-weight:950;text-transform:uppercase}.platformProspectControls .input{min-height:36px;padding:7px 9px;font-size:10px}.platformProspectControls .btn{width:100%}.platformProspectArchive{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px}.platformProspectShortcut{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;width:100%;border:1px solid var(--line);border-radius:13px;padding:9px;background:#fefefe;color:inherit;text-align:left;cursor:pointer}.platformProspectShortcut>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#0a1d3a;color:#a9b4c6;font-weight:950}.platformProspectShortcut b,.platformProspectShortcut small{display:block}.platformProspectShortcut small{margin-top:2px;color:var(--soft);font-size:9px}.platformProspectShortcut em{color:#2c3e57;font-size:9px;font-style:normal;font-weight:900}.platformProspectShortcuts{display:grid;gap:7px}
    @media(max-width:1050px){.platformQuickActions{grid-template-columns:repeat(3,minmax(0,1fr))}.platformProspectForm{grid-template-columns:repeat(2,minmax(0,1fr))}.platformPipelineBoard{grid-template-columns:repeat(5,minmax(270px,34vw))}}
    @media(max-width:680px){
      .platformTopbar{position:sticky;top:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 10px;padding:9px max(12px,env(safe-area-inset-right)) 9px max(12px,env(safe-area-inset-left))}
      .platformBrand{min-width:0}.platformBrand>span{width:38px;height:38px;border-radius:12px}.platformBrand b{font-size:15px}.platformBrand small{font-size:9px;white-space:nowrap}
      .platformTopActions{display:contents}.platformTopActions>div{display:none}.platformTopActions .connectionBadge{grid-column:2;grid-row:1;min-height:34px;padding:7px 9px;font-size:9px}.platformTopActions .platformSpaceSwitch{grid-column:1;grid-row:2;width:100%}.platformTopActions>.btn:last-child{grid-column:2;grid-row:2}
      .platformMain{padding-top:12px}.platformNav{margin-bottom:17px}.platformHero{gap:14px;margin-bottom:18px}.platformHero h1{font-size:30px}.platformHero p{font-size:12px}.platformHero .btn{min-height:46px}
      .platformMetrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.platformMetrics article{min-height:112px;padding:13px}.platformMetrics span{font-size:9px}.platformMetrics b{font-size:22px}.platformMetrics small{font-size:9px}
      .platformQuickActions{grid-template-columns:minmax(0,1fr)}.platformProspectCreate{scroll-margin-top:106px}.platformProspectForm{grid-template-columns:minmax(0,1fr)}.platformProspectForm .wide,.platformProspectTaskToggle{grid-column:auto}
      .platformPipelinePage>.platformMetrics{order:0}.platformPipelinePage>.platformPipelineBoard{order:1}.platformPipelinePage>.platformProspectCreate{order:2}.platformPipelinePage>.platformSection:not(.platformProspectCreate){order:3}
      .platformPipelineBoard{grid-template-columns:repeat(5,minmax(280px,86vw));margin-right:-14px;padding-right:14px;scroll-snap-type:x proximity}.platformPipelineColumn{scroll-snap-align:start}.platformProspectFacts{grid-template-columns:minmax(0,1fr)}.platformProspectShortcut{grid-template-columns:34px minmax(0,1fr)}.platformProspectShortcut em{grid-column:2}
    }
    /* Droits produit : l'abonnement borne les modules avant les droits des salariés. */
    #restaurantPlan{display:none!important}
    .subscriptionPlanCard{display:grid;gap:16px;margin-bottom:18px;border-color:rgba(44,62,87,.32);background:linear-gradient(125deg,#fefefe,#f3eadc)}.subscriptionPlanCard.legacy{background:#fefefe}
    .subscriptionPlanHead{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.subscriptionPlanHead small{color:#966b2b;font-size:9px;font-weight:950;letter-spacing:.1em}.subscriptionPlanHead h3{margin:4px 0 5px;font-size:24px}.subscriptionPlanHead p{margin:0;color:var(--soft);font-size:12px}.subscriptionPlanHead>span{flex:0 0 auto;border-radius:999px;padding:8px 11px;background:#0a1d3a;color:#fff;font-size:10px;font-weight:950}
    .subscriptionIncludedModules{display:flex;gap:7px;flex-wrap:wrap}.subscriptionIncludedModules>span{display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;padding:6px 9px;background:#fefefe;color:#544b42;font-size:9px;font-weight:850}.subscriptionIncludedModules .uiIcon{width:14px;height:14px}
    .subscriptionLocked{display:grid;gap:11px;border:1px solid rgba(44,62,87,.24);border-radius:17px;padding:14px;background:rgba(255,255,255,.56)}.subscriptionLocked>div>b,.subscriptionLocked>div>small{display:block}.subscriptionLocked>div>small{margin-top:3px;color:var(--soft);font-size:10px}.subscriptionLocked ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:7px;margin:0;padding:0;list-style:none}.subscriptionLocked li{display:grid;grid-template-columns:31px minmax(0,1fr);gap:8px;align-items:center;border-radius:12px;padding:8px;background:#f5eee3}.subscriptionLocked li>span{display:grid;place-items:center;width:31px;height:31px;border-radius:9px;background:#ded3c3;color:#6f6253}.subscriptionLocked li .uiIcon{width:16px;height:16px}.subscriptionLocked li b,.subscriptionLocked li small{display:block}.subscriptionLocked li b{font-size:10px}.subscriptionLocked li small{margin-top:2px;color:#8d672d;font-size:8px}.subscriptionLocked>p{margin:0;color:#6b5d4e;font-size:10px;font-weight:800}
    .subscriptionAllIncluded{display:flex;align-items:center;gap:10px;border-radius:15px;padding:13px;background:#edf6ef}.subscriptionAllIncluded>span{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#55775d;color:#fff;font-weight:950}.subscriptionAllIncluded b,.subscriptionAllIncluded small{display:block}.subscriptionAllIncluded small{margin-top:3px;color:#536b58;font-size:10px}
    .accessBox.planLocked{border-style:dashed;background:#f2eee8;color:#8a8176;cursor:not-allowed}.accessBox.planLocked input{display:none}.accessBox.planLocked span{display:grid;gap:2px}.accessBox.planLocked small{color:#2c3e57;font-size:8px;font-weight:900}
    .terminalPlanLimit{display:grid;grid-template-columns:48px minmax(0,1fr);gap:11px;align-items:center;border:1px solid rgba(76,125,88,.24);border-radius:15px;padding:11px;background:#edf6ef}.terminalPlanLimit>span{display:grid;place-items:center;width:48px;height:42px;border-radius:12px;background:#55775d;color:#fff;font-size:12px;font-weight:950}.terminalPlanLimit b,.terminalPlanLimit small{display:block}.terminalPlanLimit small{margin-top:3px;color:#5f7564;font-size:10px}.terminalPlanLimit.reached{border-color:rgba(44,62,87,.32);background:#fff4df}.terminalPlanLimit.reached>span{background:#a7752b}.terminalPlanLimit.reached small{color:#2c3e57}
    @media(max-width:680px){.subscriptionPlanHead{align-items:stretch;flex-direction:column}.subscriptionPlanHead>span{align-self:flex-start}.subscriptionLocked ul{grid-template-columns:minmax(0,1fr)}.subscriptionIncludedModules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.subscriptionIncludedModules>span{border-radius:12px;white-space:normal}}
    /* Plan de salle opérationnel : une même base, réorganisée selon la taille de l'écran. */
    .floorServiceTopbar{display:grid;grid-template-columns:auto minmax(310px,1fr) auto;align-items:center;gap:14px;margin-bottom:14px;padding:10px;border:1px solid var(--line);border-radius:20px;background:rgba(254,254,254,.94);box-shadow:0 10px 32px rgba(10,29,58,.07)}
    .floorDateNavigator{display:grid;grid-template-columns:40px minmax(150px,1fr) 40px;align-items:center;gap:5px}.floorDateNavigator>button{min-height:42px;border:0;border-radius:13px;background:#eef1f5;color:var(--ink);font-size:23px;font-weight:900}.floorDateNavigator>button:hover{background:#e6dccd}.floorDateNavigator .floorCurrentDate{display:grid;place-content:center;gap:2px;padding:5px 12px;background:#0a1d3a;color:#fefefe;font-size:inherit}.floorCurrentDate small{color:#a9b4c6;font-size:8px;font-weight:950;letter-spacing:.11em}.floorCurrentDate b{font-size:12px;letter-spacing:.035em}
    .floorPeriodTabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:4px;border-radius:15px;background:#eef1f5}.floorPeriodTabs button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:42px;border:0;border-radius:12px;background:transparent;color:#6d655c;font-weight:850}.floorPeriodTabs button b{display:grid;place-items:center;min-width:25px;height:25px;padding:0 6px;border-radius:999px;background:rgba(10,29,58,.08);font-size:10px}.floorPeriodTabs button.active{background:#fefefe;color:#0a1d3a;box-shadow:0 5px 16px rgba(10,29,58,.1)}.floorPeriodTabs button.active b{background:#0a1d3a;color:#fefefe}
    .floorServiceLegend{display:grid;grid-template-columns:repeat(3,minmax(88px,1fr));gap:6px;padding:4px;border-radius:15px;background:#eef1f5}.floorServiceLegend span{display:grid;grid-template-columns:9px minmax(0,1fr) auto;align-items:center;gap:6px;min-height:42px;padding:7px 9px;border-radius:12px;background:#fefefe;color:#5f574e;white-space:nowrap;box-shadow:0 3px 10px rgba(10,29,58,.05)}.floorServiceLegend i{width:9px;height:9px;border-radius:999px;background:#83a8a8;box-shadow:0 0 0 4px rgba(131,168,168,.14)}.floorServiceLegend b{font-size:9px}.floorServiceLegend small{display:grid;place-items:center;min-width:23px;height:23px;padding:0 5px;border-radius:999px;background:#e6efef;color:#315858;font-size:9px;font-weight:950}.floorServiceLegend .reserved i{background:#d39a3d;box-shadow:0 0 0 4px rgba(211,154,61,.14)}.floorServiceLegend .reserved small{background:#f8e9cd;color:#865815}.floorServiceLegend .busy i{background:#bd5f52;box-shadow:0 0 0 4px rgba(189,95,82,.14)}.floorServiceLegend .busy small{background:#f6ded9;color:#8d382f}
    .floorServiceBoard{display:grid;grid-template-columns:minmax(300px,340px) minmax(0,1fr);min-height:650px;overflow:hidden;border:1px solid var(--line);border-radius:24px;background:#f7f2e9;box-shadow:0 18px 55px rgba(10,29,58,.1)}
    .floorServiceRail{display:grid;grid-template-rows:auto auto auto auto auto minmax(180px,1fr);gap:12px;min-width:0;padding:16px;border-right:1px solid var(--line);background:#fefefe}.floorServiceSearch{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:8px;min-height:48px;padding:0 12px;border:1px solid var(--line);border-radius:15px;background:#fff}.floorServiceSearch>span{display:grid;place-items:center;color:var(--soft)}.floorServiceSearch .uiIcon{width:19px;height:19px}.floorServiceSearch input{min-width:0;border:0;outline:0;background:transparent;color:var(--ink);font:inherit;font-size:12px}.floorServiceSearch input::placeholder{color:#9b9287}
    .floorServiceMetrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.floorServiceMetrics article{display:grid;align-content:start;min-height:92px;padding:12px;border:1px solid var(--line);border-radius:16px;background:#f7f4ee}.floorServiceMetrics article>span{color:var(--soft);font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.045em}.floorServiceMetrics article>b{margin:4px 0 1px;font-size:26px;line-height:1}.floorServiceMetrics article>small{color:var(--soft);font-size:9px}.floorServiceMetrics .expected{background:#f7f4ee}.floorServiceMetrics .seated{border-color:rgba(79,125,91,.26);background:#edf6ef}.floorServiceMetrics .upcoming{border-color:rgba(44,62,87,.3);background:#fff6e5}.floorServiceMetrics .available{border-color:rgba(77,100,120,.2);background:#eef2f4}
    .floorServiceInsight{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:9px;padding:9px 10px;border-left:3px solid var(--gold);border-radius:11px;background:#f7f1e7}.floorServiceInsight>span{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#0a1d3a;color:#a9b4c6;font-size:8px;font-weight:950}.floorServiceInsight p{margin:0;color:#665d52;font-size:10px;line-height:1.35}
    .floorTableDetail{display:grid;gap:10px;padding:12px;border:2px solid #6e9999;border-radius:17px;background:#eef8f8;box-shadow:0 10px 25px rgba(10,29,58,.08)}.floorTableDetail.reserved{border-color:#c58433;background:#fff4df}.floorTableDetail.busy{border-color:#b54f45;background:#fff0ed}.floorTableDetail>header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.floorTableDetail>header small{display:block;color:#2c3e57;font-size:8px;font-weight:950;letter-spacing:.1em}.floorTableDetail>header h3{margin:3px 0 0;font-size:22px}.floorTableDetail>header>button{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.72);color:var(--ink);font-size:18px}.floorTableDetailState{display:grid;grid-template-columns:12px minmax(0,1fr);align-items:center;gap:8px}.floorTableDetailState>span{width:10px;height:10px;border-radius:50%;background:#5d8b78;box-shadow:0 0 0 4px rgba(93,139,120,.13)}.floorTableDetail.reserved .floorTableDetailState>span{background:#c58433;box-shadow:0 0 0 4px rgba(197,132,51,.13)}.floorTableDetail.busy .floorTableDetailState>span{background:#b54f45;box-shadow:0 0 0 4px rgba(181,79,69,.13)}.floorTableDetailState>div{display:grid;gap:1px}.floorTableDetailState b{font-size:11px}.floorTableDetailState small{color:var(--soft);font-size:9px;line-height:1.35}.floorTableHelp,.floorTableDietary{margin:0;font-size:9px;line-height:1.42}.floorTableHelp{padding:8px;border-radius:10px;background:rgba(255,255,255,.62);color:#5f574e}.floorTableDietary{color:#9b3d34;font-weight:850}.floorTableDetailActions{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:7px}.floorTableDetailActions .btn{min-height:39px;padding:7px 9px;font-size:9px;line-height:1.2}
    .floorTableOpenForm{display:grid;gap:8px;padding:10px;border:1px solid rgba(88,132,132,.26);border-radius:12px;background:rgba(255,255,255,.66)}.floorTableOpenForm>div:first-child{display:grid;gap:2px}.floorTableOpenForm b{font-size:10px}.floorTableOpenForm small{color:var(--soft);font-size:8px;line-height:1.35}.floorTableOpenFields{display:grid;grid-template-columns:92px minmax(0,1fr);gap:7px}.floorTableOpenFields label{display:grid;gap:4px}.floorTableOpenFields label.wide{grid-column:1/-1}.floorTableOpenFields label>span{color:#71685d;font-size:8px;font-weight:900;text-transform:uppercase}.floorTableOpenFields .input{min-height:36px;padding:7px 9px;border-radius:9px;font-size:10px}
    .floorReservationListHead{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;padding-top:2px}.floorReservationListHead>div{display:grid;gap:2px}.floorReservationListHead small{color:#2c3e57;font-size:8px;font-weight:950;letter-spacing:.1em}.floorReservationListHead b{font-size:12px}.floorReservationListHead>button{min-height:34px;border:1px solid var(--line);border-radius:11px;padding:6px 9px;background:#fff;color:var(--ink);font-size:10px;font-weight:900}
    .floorReservationList{min-height:0;overflow-y:auto;padding-right:3px;scrollbar-width:thin;scrollbar-color:rgba(44,62,87,.42) transparent}.floorReservationCard{display:grid;grid-template-columns:54px minmax(0,1fr);gap:9px;margin-bottom:8px;padding:10px;border:1px solid var(--line);border-radius:15px;background:#fff;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.floorReservationCard:hover{border-color:rgba(44,62,87,.5);transform:translateY(-1px);box-shadow:0 8px 22px rgba(10,29,58,.07)}.floorReservationCard.active{border-color:#0a1d3a;box-shadow:0 0 0 2px rgba(10,29,58,.08)}.floorReservationCard.installed{border-color:rgba(79,125,91,.32);background:#f1f8f2}.floorReservationTime{display:grid;align-content:start;gap:3px;padding-right:8px;border-right:1px solid var(--line)}.floorReservationTime b{font-size:14px}.floorReservationTime small{color:var(--soft);font-size:8px}.floorReservationMain{display:grid;gap:3px;min-width:0}.floorReservationMain>div{display:flex;align-items:center;justify-content:space-between;gap:7px}.floorReservationMain strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.floorReservationMain>div>span{color:var(--soft);font-size:9px;white-space:nowrap}.floorReservationMain>small{overflow:hidden;color:var(--soft);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.floorReservationMain>em{color:#9b3d34;font-size:8px;font-style:normal;font-weight:850}.floorReservationActions{grid-column:1/-1;display:none;grid-template-columns:auto 1fr 1fr;gap:6px;padding-top:8px;border-top:1px solid var(--line)}.floorReservationCard.active .floorReservationActions{display:grid}.floorReservationActions .btn{min-height:34px;padding:6px 8px;font-size:9px}.floorReservationTable{min-width:45px;border:0;border-radius:10px;background:#0a1d3a;color:#fefefe;font-weight:950}.floorReservationEmpty{margin:18px 8px;color:var(--soft);font-size:11px;text-align:center}.floorReservationEmpty[hidden]{display:none!important}
    .floorServiceScene{display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-width:0;background:#eef1f5}.floorServiceScene>header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:74px;padding:10px 12px;border-bottom:1px solid rgba(10,29,58,.12);background:rgba(254,254,254,.96)}.floorServiceScene>header>div:first-child{display:flex;align-items:center;gap:10px;min-width:130px}.floorServiceScene>header>div:first-child>div{display:grid;gap:2px}.floorServiceScene>header b{font-size:13px}.floorServiceScene>header small{color:var(--soft);font-size:9px}.floorSceneActions{display:flex;align-items:center;justify-content:flex-end;gap:7px;min-width:0}.floorSceneAction{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:8px;min-width:128px;min-height:50px;padding:6px 10px 6px 7px;border:1px solid rgba(10,29,58,.13);border-radius:15px;background:#fefefe;color:#0a1d3a;text-align:left;box-shadow:0 6px 18px rgba(10,29,58,.08)}.floorSceneAction>span:last-child{display:grid;gap:1px}.floorSceneAction b{font-size:10px}.floorSceneAction small{font-size:8px}.floorSceneActionIcon{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#eef1f5;color:#0a1d3a;font-size:20px;font-weight:900}.floorSceneAction.open{border-color:#0a1d3a;background:#0a1d3a;color:#fefefe}.floorSceneAction.open small{color:#d5dce6}.floorSceneAction.open .floorSceneActionIcon{background:#fefefe;color:#0a1d3a}.floorSceneAction.edit{border-color:rgba(44,62,87,.45);background:#eef1f5}.floorSceneAction.edit .floorSceneActionIcon{background:#2c3e57;color:#fff}.floorSceneAction .uiIcon{width:18px;height:18px}
    .floorServiceMapViewport{min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(10,29,58,.22) transparent;background:#dfe5ed}.floorServiceMap{position:relative;width:100%;min-height:540px;overflow:hidden;background:repeating-linear-gradient(45deg,rgba(10,29,58,.035) 0,rgba(10,29,58,.035) 1px,transparent 1px,transparent 20px),linear-gradient(135deg,#f7f4ee,#e8edf4);box-shadow:inset 0 0 0 8px rgba(10,29,58,.08);touch-action:manipulation}.floorServiceFixture{position:absolute;display:grid;place-items:center;min-width:4px;min-height:4px;border:1px solid rgba(10,29,58,.26);border-radius:8px;background:rgba(44,62,87,.18);color:#0a1d3a;transform-origin:center;box-shadow:0 7px 16px rgba(10,29,58,.12);pointer-events:none}.floorServiceFixture span{overflow:hidden;padding:3px;font-size:9px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.floorServiceFixture.wall{border-radius:3px;background:#0a1d3a;color:#fefefe}.floorServiceFixture.counter{border-color:#2c3e57;background:linear-gradient(90deg,#0a1d3a,#2c3e57,#0a1d3a);color:#fefefe}.floorServiceFixture.zone{border-style:dashed;background:rgba(254,254,254,.46)}
    .floorServiceTable{position:absolute;display:grid;grid-template-rows:auto minmax(0,1fr) auto;place-items:center;min-width:48px;min-height:44px;overflow:visible;border:2px solid #588484;border-radius:13px;padding:5px;background:#d8efef;color:#0a1d3a;transform-origin:center;box-shadow:0 8px 19px rgba(52,38,24,.14);text-align:center;touch-action:manipulation}.floorServiceTable.round{border-radius:999px}.floorServiceTable.bench{border-radius:20px}.floorServiceTable.merged{box-shadow:0 0 0 3px rgba(10,29,58,.12),0 8px 19px rgba(52,38,24,.14)}.floorServiceTable:hover,.floorServiceTable:focus-visible{z-index:4;outline:4px solid rgba(255,255,255,.74);box-shadow:0 12px 30px rgba(52,38,24,.24)}.floorServiceTable.focused{z-index:5;outline:5px solid rgba(44,62,87,.34);box-shadow:0 0 0 2px #0a1d3a,0 13px 32px rgba(52,38,24,.25)}.floorServiceTable.reserved{border-color:#b96e1f;background:#f1ad55}.floorServiceTable.busy{border-color:#a6443b;background:#e47c67}.floorServiceTableTop{display:flex;align-items:center;justify-content:center;gap:4px;width:100%}.floorServiceTableTop b{font-size:clamp(8px,.8vw,11px);line-height:1}.floorServiceTableTop i{width:6px;height:6px;border-radius:999px;background:#4f7d5b}.floorServiceTable.reserved .floorServiceTableTop i{background:#9c5c18}.floorServiceTable.busy .floorServiceTableTop i{background:#8f2f29}.floorServiceMergeBadge{position:absolute;left:50%;top:-10px;display:grid;place-items:center;min-height:18px;padding:0 7px;border:2px solid #fefefe;border-radius:999px;background:#2c3e57;color:#fff;font-size:7px;font-weight:950;line-height:1;transform:translateX(-50%);white-space:nowrap}.floorServiceTable strong{align-self:end;max-width:100%;overflow:hidden;font-size:clamp(7px,.78vw,11px);line-height:1.05;text-overflow:ellipsis;white-space:nowrap}.floorServiceTable small{max-width:100%;overflow:hidden;font-size:clamp(6px,.65vw,9px);line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.floorServiceTable>em{position:absolute;right:-8px;top:-8px;display:grid;place-items:center;min-width:25px;height:21px;padding:0 6px;border:2px solid #fefefe;border-radius:999px;background:#0a1d3a;color:#fefefe;font-size:8px;font-style:normal;font-weight:950}.floorServiceMapEmpty{position:absolute;inset:0;display:grid;place-content:center;gap:4px;color:#6f6255;text-align:center}.floorServiceMapEmpty b{color:#0a1d3a;font-size:18px}.floorServiceScene>footer{display:flex;align-items:center;justify-content:center;gap:18px;min-height:36px;padding:7px 12px;border-top:1px solid rgba(10,29,58,.1);background:#fefefe;color:var(--soft);font-size:9px}.floorServiceScene>footer span::before{content:"•";margin-right:6px;color:var(--gold)}

    /* Éditeur du plan : la bibliothèque, le plan et les propriétés restent distincts. */
    .floorEditorTopbar{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;margin-bottom:14px;padding:12px 14px;border:1px solid var(--line);border-radius:20px;background:#fefefe;box-shadow:0 10px 32px rgba(10,29,58,.07)}.floorEditorTitle{display:flex;align-items:center;gap:11px;min-width:0}.floorEditorTitle>span{display:grid;place-items:center;width:44px;height:44px;flex:0 0 auto;border-radius:14px;background:#0a1d3a;color:#a9b4c6}.floorEditorTitle .uiIcon{width:22px;height:22px}.floorEditorTitle>div{display:grid;gap:1px;min-width:0}.floorEditorTitle small{color:#2c3e57;font-size:8px;font-weight:950;letter-spacing:.11em}.floorEditorTitle b{overflow:hidden;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.floorEditorTitle p{margin:0;color:var(--soft);font-size:10px}.floorEditorSaveState{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:13px;background:#edf6ef}.floorEditorSaveState>span{width:9px;height:9px;border-radius:50%;background:#4f7d5b;box-shadow:0 0 0 4px rgba(79,125,91,.13)}.floorEditorSaveState>div{display:grid;gap:1px}.floorEditorSaveState b{font-size:9px}.floorEditorSaveState small{color:var(--soft);font-size:8px}.floorEditorTopbar>.btn{min-height:44px}
    .floorEditorBoard.builder{display:grid;grid-template-columns:250px minmax(0,1fr) 320px;gap:12px;align-items:start}.floorEditorLibrary{position:sticky;top:14px;display:grid;align-content:start;gap:13px;max-height:calc(100dvh - 28px);margin:0;padding:14px;overflow:auto;border:1px solid var(--line);border-radius:21px;background:#fefefe;box-shadow:0 14px 38px rgba(10,29,58,.08)}.floorEditorLibrary>header{display:flex;align-items:flex-start;gap:9px}.floorEditorLibrary>header>span{display:grid;place-items:center;width:36px;height:36px;flex:0 0 auto;border-radius:11px;background:#0a1d3a;color:#a9b4c6}.floorEditorLibrary>header .uiIcon{width:18px;height:18px}.floorEditorLibrary>header>div{display:grid;gap:2px}.floorEditorLibrary>header small{color:#2c3e57;font-size:8px;font-weight:950;letter-spacing:.1em}.floorEditorLibrary>header h3{margin:0;font-size:16px}.floorEditorLibrary>header p{margin:0;color:var(--soft);font-size:9px;line-height:1.4}.floorEditorLibrary .floorPaletteList{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:0;overflow:visible}.floorEditorLibrary .floorPaletteButton{min-width:0;min-height:82px;padding:9px;grid-template-columns:minmax(0,1fr);grid-template-rows:30px auto auto;justify-items:center;gap:2px;text-align:center}.floorEditorLibrary .floorPaletteShape{grid-row:auto}.floorEditorLibrary .floorPaletteButton>b,.floorEditorLibrary .floorPaletteButton>small{white-space:normal}.floorEditorAccordion{border:1px solid var(--line);border-radius:15px;background:#faf6ef;overflow:hidden}.floorEditorAccordion>summary{padding:11px}.floorEditorAccordion .floorDetailsBody{padding:1px 11px 12px}
    .floorEditorWorkspace{min-width:0;border-radius:21px;background:#e9dfcf}.floorEditorWorkspace .floorCanvasToolbar{min-height:61px;background:#fefefe}.floorEditorWorkspace .floorCanvasViewport{min-height:650px;max-height:calc(100dvh - 238px);padding:18px;overscroll-behavior:contain;background:#dfd1bd}.floorEditorWorkspace .floorDesigner{overflow:hidden;background:repeating-linear-gradient(45deg,rgba(118,86,50,.055) 0,rgba(118,86,50,.055) 1px,transparent 1px,transparent 20px),linear-gradient(135deg,#eee1cc,#e5d4ba);box-shadow:inset 0 0 0 8px rgba(83,54,28,.12),0 16px 42px rgba(10,29,58,.15)}.floorEditorWorkspace .floorDesigner.snapGrid{background-image:linear-gradient(rgba(44,62,87,.11) 1px,transparent 1px),linear-gradient(90deg,rgba(44,62,87,.11) 1px,transparent 1px),repeating-linear-gradient(45deg,rgba(118,86,50,.045) 0,rgba(118,86,50,.045) 1px,transparent 1px,transparent 20px),linear-gradient(135deg,#eee1cc,#e5d4ba);background-size:20px 20px,20px 20px,auto,auto}.floorEditorWorkspace .floorObject{border-color:#588484;background:#d8efef}.floorEditorWorkspace .floorObject.reserved{border-color:#b96e1f;background:#f1ad55}.floorEditorWorkspace .floorObject.busy{border-color:#a6443b;background:#e47c67}.floorEditorWorkspace .floorObject.selected,.floorEditorWorkspace .floorFixture.selected{z-index:8;outline:5px solid rgba(44,62,87,.34);box-shadow:0 0 0 2px #0a1d3a,0 13px 32px rgba(52,38,24,.25)}.floorEditorWorkspace .floorWorkspaceHint{background:#fefefe}
    .floorEditorInspector.floorInspector{position:sticky;top:14px;display:block;max-height:calc(100dvh - 28px);overflow:auto;border:1px solid var(--line);border-radius:21px;background:#fefefe;box-shadow:0 14px 38px rgba(10,29,58,.08)}.floorEditorPanelTitle{display:grid;gap:2px;padding:14px 16px;border-bottom:1px solid var(--line);background:#f5eee3}.floorEditorPanelTitle>span{color:#2c3e57;font-size:8px;font-weight:950;letter-spacing:.1em}.floorEditorPanelTitle>b{font-size:14px}.floorEditorPanelTitle>small{color:var(--soft);font-size:9px;line-height:1.35}.floorEditorInspector .floorInspectorSection{padding:14px}.floorEditorInspector .floorInspectorEmpty{padding:28px 18px}.floorEditorInspector .floorSettingsDetails{border-top:1px solid var(--line)}
    .floorEditorAccordion{background:#f7f4ee}.floorEditorWorkspace{background:#eef1f5}.floorEditorWorkspace .floorCanvasViewport{background:#dfe5ed}.floorEditorWorkspace .floorDesigner{background:repeating-linear-gradient(45deg,rgba(10,29,58,.035) 0,rgba(10,29,58,.035) 1px,transparent 1px,transparent 20px),linear-gradient(135deg,#f7f4ee,#e8edf4);box-shadow:inset 0 0 0 8px rgba(10,29,58,.08),0 16px 42px rgba(10,29,58,.15)}.floorEditorWorkspace .floorDesigner.snapGrid{background-image:linear-gradient(rgba(44,62,87,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(44,62,87,.1) 1px,transparent 1px),repeating-linear-gradient(45deg,rgba(10,29,58,.025) 0,rgba(10,29,58,.025) 1px,transparent 1px,transparent 20px),linear-gradient(135deg,#f7f4ee,#e8edf4)}.floorEditorPanelTitle{background:#eef1f5}
    .floorTableEditGuide{display:grid;gap:3px;padding:10px;border-left:3px solid #5d8b78;border-radius:10px;background:#edf6ef}.floorTableEditGuide b{font-size:10px}.floorTableEditGuide p{margin:0;color:#5f675f;font-size:8px;line-height:1.45}
    @media(max-width:1080px){.floorServiceTopbar{grid-template-columns:auto minmax(290px,1fr)}.floorServiceLegend{grid-column:1/-1;justify-content:center}.floorServiceBoard{grid-template-columns:minmax(280px,310px) minmax(0,1fr)}}
    @media(max-width:880px){.floorServiceBoard{grid-template-columns:minmax(0,1fr);grid-template-areas:"scene" "rail";overflow:visible}.floorServiceScene{grid-area:scene;min-height:580px;border-radius:22px 22px 0 0;overflow:hidden}.floorServiceRail{grid-area:rail;grid-template-rows:auto auto auto auto auto;border-top:1px solid var(--line);border-right:0;border-radius:0 0 22px 22px}.floorReservationList{max-height:440px}.floorServiceTopbar{grid-template-columns:minmax(0,1fr)}.floorServiceLegend{grid-column:auto}.floorDateNavigator{width:min(100%,390px);justify-self:center}.floorPeriodTabs{width:100%}}
    @media(max-width:680px){.floorServiceTopbar{gap:9px;margin:0 -2px 10px;padding:8px;border-radius:17px}.floorDateNavigator{grid-template-columns:42px minmax(0,1fr) 42px;width:100%}.floorDateNavigator>button{min-height:44px}.floorPeriodTabs button{min-height:40px;font-size:10px}.floorServiceLegend{justify-content:center}.floorServiceBoard{margin:0 -2px;border-radius:20px}.floorServiceScene{min-height:520px;border-radius:19px 19px 0 0}.floorServiceScene>header{position:sticky;left:0;z-index:6;min-height:56px;padding:8px 10px}.floorSceneActions button{width:38px;height:38px;border-radius:12px}.floorServiceMapViewport{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.floorServiceMap{width:720px;min-width:720px;min-height:520px;aspect-ratio:900/650!important}.floorServiceScene>footer{justify-content:flex-start;overflow:hidden;white-space:nowrap}.floorServiceScene>footer span:last-child{display:none}.floorServiceRail{gap:10px;padding:12px}.floorServiceMetrics article{min-height:88px;padding:11px}.floorServiceMetrics article>b{font-size:24px}.floorReservationCard{grid-template-columns:52px minmax(0,1fr)}.floorReservationActions{grid-template-columns:45px 1fr 1fr}.floorReservationList{max-height:none;overflow:visible}.floorReservationListHead{align-items:center}}
    @media(max-width:1050px){.floorEditorTopbar{grid-template-columns:minmax(0,1fr) auto}.floorEditorSaveState{display:none}.floorEditorBoard.builder{grid-template-columns:minmax(0,1fr) 300px;grid-template-areas:"library library" "workspace inspector"}.floorEditorLibrary{position:static;grid-area:library;grid-template-columns:190px minmax(0,1fr);max-height:none}.floorEditorLibrary .floorPaletteList{display:flex;min-width:0;overflow-x:auto}.floorEditorLibrary .floorPaletteButton{flex:0 0 100px}.floorEditorWorkspace{grid-area:workspace}.floorEditorInspector.floorInspector{grid-area:inspector}}
    @media(max-width:760px){.floorEditorTopbar{grid-template-columns:minmax(0,1fr)}.floorEditorTopbar>.btn{width:100%}.floorEditorBoard.builder{grid-template-columns:minmax(0,1fr);grid-template-areas:"library" "workspace" "inspector"}.floorEditorLibrary{grid-template-columns:minmax(0,1fr)}.floorEditorLibrary>header,.floorEditorLibrary .floorPaletteList,.floorEditorLibrary .floorEditorAccordion{grid-column:auto}.floorEditorInspector.floorInspector{position:static;max-height:none}.floorEditorWorkspace .floorCanvasViewport{min-height:540px;max-height:70dvh}}
    @media(max-width:680px){.floorTableDetailActions{grid-template-columns:minmax(0,1fr)}.floorEditorTopbar{margin:0 -2px 10px;padding:10px;border-radius:17px}.floorEditorTitle p{font-size:9px}.floorEditorBoard.builder{gap:10px;margin:0 -2px}.floorEditorLibrary{gap:10px;padding:12px;border-radius:18px}.floorEditorLibrary .floorPaletteList{display:flex;overflow-x:auto;padding-bottom:4px}.floorEditorLibrary .floorPaletteButton{flex:0 0 104px}.floorEditorWorkspace{border-radius:18px}.floorEditorWorkspace .floorCanvasToolbar{align-items:stretch;flex-direction:column}.floorEditorWorkspace .floorToolbarActions{justify-content:space-between}.floorEditorWorkspace .floorCanvasViewport{min-height:500px;max-height:68dvh;padding:10px}.floorEditorWorkspace .floorWorkspaceHint{grid-template-columns:repeat(3,auto);font-size:8px}.floorEditorInspector.floorInspector{border-radius:18px}}
    @media(max-width:680px){.floorServiceLegend{grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.floorServiceLegend span{grid-template-columns:8px minmax(0,1fr);gap:5px;min-height:39px;padding:6px 7px}.floorServiceLegend small{display:none}.floorServiceLegend b{overflow:hidden;font-size:8px;text-overflow:ellipsis}.floorServiceScene>header{position:sticky;left:0;z-index:6;display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch;justify-content:stretch;gap:9px;min-height:0;padding:9px 10px}.floorServiceScene>header>div:first-child{width:100%;min-width:0}.floorSceneActions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));justify-self:stretch;width:100%;min-width:0;gap:5px}.floorSceneActions .floorSceneAction{grid-template-columns:27px minmax(0,1fr);gap:5px;min-width:0;width:auto;height:auto;min-height:50px;padding:5px;border-radius:12px}.floorSceneActionIcon{width:27px;height:30px;border-radius:9px;font-size:17px}.floorSceneAction b{font-size:8px;line-height:1.12}.floorSceneAction small{display:none}.floorSceneAction .uiIcon{width:15px;height:15px}}
    /* Cadre natif iOS : les zones système appartiennent aux bandeaux, jamais au contenu. */
    body.restaurantAppMode .employeeTerminalShell{background:#f7f4ee}
    body.restaurantAppMode .employeeTerminalBar{position:relative;z-index:120;min-height:calc(68px + env(safe-area-inset-top));padding:calc(9px + env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) 9px max(18px,env(safe-area-inset-left));background:#fefefe;isolation:isolate;backdrop-filter:none;-webkit-backdrop-filter:none;transform:translateZ(0)}
    body.restaurantAppMode .employeeTerminalMain{position:relative;z-index:1;background:#f7f4ee;overscroll-behavior:none;scroll-padding-bottom:calc(92px + env(safe-area-inset-bottom))}
    body.restaurantAppMode #pageTitle[tabindex="-1"]:focus{outline:none}
    body.restaurantAppMode .employeePadShell .employeeTerminalMain{padding-bottom:calc(92px + env(safe-area-inset-bottom))}
    body.restaurantAppMode .employeeKdsShell .employeeTerminalMain{padding-bottom:calc(20px + env(safe-area-inset-bottom))}
    body.restaurantAppMode .mobileAppHeader{background:#fefefe;isolation:isolate;backdrop-filter:none;-webkit-backdrop-filter:none;transform:none}
    body.restaurantAppMode .mobileAppDock{background:#fefefe;isolation:isolate;backdrop-filter:none;-webkit-backdrop-filter:none;transform:translateX(-50%)}
    @media(max-width:1280px){body.restaurantAppMode .toast:not(.padToast):not(.kdsToast){bottom:calc(94px + env(safe-area-inset-bottom))}}
    body.restaurantAppMode .terminalSettingsOverlay{z-index:220;background:rgba(10,29,58,.68);padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));overflow:hidden}
    body.restaurantAppMode .terminalSettingsPanel{max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 24px);overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:#fefefe}
    @media(max-width:680px){
      body.restaurantAppMode .employeeTerminalBar{min-height:calc(64px + env(safe-area-inset-top));padding:calc(8px + env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) 8px max(12px,env(safe-area-inset-left))}
      body.restaurantAppMode .employeePadShell .employeeTerminalMain{padding:12px max(12px,env(safe-area-inset-right)) calc(80px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));scroll-padding-bottom:calc(80px + env(safe-area-inset-bottom))}
      body.restaurantAppMode .employeeKdsShell .employeeTerminalMain{padding:12px max(12px,env(safe-area-inset-right)) calc(16px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}
      body.restaurantAppMode .padBottomNav{left:0;right:0;bottom:0;width:100%;min-height:calc(70px + env(safe-area-inset-bottom));grid-template-columns:repeat(auto-fit,minmax(72px,1fr));padding:6px max(6px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));border-width:1px 0 0;border-radius:20px 20px 0 0;background:#0a1d3a;transform:none;backdrop-filter:none;-webkit-backdrop-filter:none}
      body.restaurantAppMode .padBottomNav button{min-height:58px}
      body.restaurantAppMode .padTableGrid>.card:only-child{grid-column:1/-1;width:100%;min-height:0}
      body.restaurantAppMode .mobileAppDock{transform:none}
      body.restaurantAppMode .toast:not(.padToast):not(.kdsToast){bottom:calc(82px + env(safe-area-inset-bottom))}
      body.restaurantAppMode .terminalSettingsOverlay{align-items:end;padding:max(10px,env(safe-area-inset-top)) 0 0}
      body.restaurantAppMode .terminalSettingsPanel{width:100%;max-width:none;max-height:calc(100dvh - max(10px,env(safe-area-inset-top)));margin:0;border-radius:24px 24px 0 0;padding-bottom:calc(20px + env(safe-area-inset-bottom))}
    }
    @media(min-width:960px) and (max-width:1280px){.finalDash .kpiRow{grid-template-columns:repeat(5,minmax(0,1fr))}.finalDash .kpiCard{display:grid;grid-template-columns:34px minmax(0,1fr);gap:9px;min-height:92px;padding:12px}.finalDash .kpiIcon{width:34px;height:34px;min-width:34px;min-height:34px;flex-basis:34px;border-radius:11px}.finalDash .kpiValue{font-size:22px}.finalDash .kpiCard .muted{font-size:10px;line-height:1.35}}
    /* Réservations, calendrier et CRM : un poste d'accueil commun à tous les supports. */
    .reservationWorkspaceNav{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;margin-bottom:13px;padding:5px;border:1px solid var(--line);border-radius:17px;background:#eef1f5}.reservationWorkspaceNav>button{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;min-width:0;min-height:44px;border:0;border-radius:13px;background:transparent;color:#71685d;font-weight:900;cursor:pointer}.reservationWorkspaceNav>button>span{min-width:0;overflow-wrap:anywhere}.reservationWorkspaceNav>button.active{background:#0a1d3a;color:#fefefe;box-shadow:0 7px 20px rgba(10,29,58,.16)}.reservationWorkspaceNav .uiIcon{width:18px;height:18px}.reservationWorkspaceNav b{display:grid;place-items:center;min-width:23px;height:23px;padding:0 6px;border-radius:999px;background:rgba(10,29,58,.1);font-size:9px}.reservationWorkspaceNav .active b{background:#fefefe;color:#0a1d3a}
    .reservationDateBar{display:grid;grid-template-columns:46px minmax(180px,260px) auto 46px;justify-content:center;align-items:stretch;gap:6px;margin-bottom:10px}.reservationDateBar>button{min-height:46px;border:1px solid var(--line);border-radius:14px;background:#fefefe;color:var(--ink);font-weight:900}.reservationDateBar>label{display:grid;place-content:center;padding:5px 12px;border-radius:14px;background:#0a1d3a;color:#fefefe;text-align:center}.reservationDateBar>label span{color:#a9b4c6;font-size:8px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.reservationDateBar input{min-width:150px;border:0;background:transparent;color:#fefefe;font:inherit;font-weight:900;color-scheme:dark}.reservationTodayButton{padding:0 16px!important;color:#735322!important;background:#f7f4ee!important}
    .reservationServiceTabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:7px;margin-bottom:12px;padding:5px;border-radius:16px;background:#eef1f5}.reservationServiceTab{display:flex;align-items:center;justify-content:center;gap:8px;min-height:43px;border:0;border-radius:12px;background:transparent;color:#736a60;font-weight:900}.reservationServiceTab b{display:grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border-radius:999px;background:rgba(10,29,58,.08);font-size:9px}.reservationServiceTab.active{background:#fefefe;color:#0a1d3a;box-shadow:0 5px 15px rgba(10,29,58,.09)}.reservationServiceTab.active b{background:#0a1d3a;color:#fefefe}
    .calendarBlockBanner{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:11px;margin:0 0 12px;padding:11px 14px;border:1px solid rgba(185,92,75,.25);border-left:4px solid #b95c4b;border-radius:14px;background:#fff0ed}.calendarBlockBanner>span{border-radius:999px;padding:6px 9px;background:#b95c4b;color:#fff;font-size:9px;font-weight:950;text-transform:uppercase}.calendarBlockBanner b,.calendarBlockBanner small{display:block}.calendarBlockBanner small{margin-top:2px;color:#8f554b;font-size:9px}
    .reservationMetrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:12px}.reservationMetrics>div{display:grid;align-content:start;min-height:92px;padding:13px;border:1px solid var(--line);border-radius:17px;background:#fefefe}.reservationMetrics span{color:var(--soft);font-size:9px;font-weight:950;text-transform:uppercase}.reservationMetrics b{margin:4px 0 2px;font-size:25px}.reservationMetrics small{color:var(--soft);font-size:9px}.reservationMetrics>div:nth-child(2){border-color:rgba(79,125,91,.25);background:#edf6ef}.reservationMetrics>div:nth-child(3){border-color:rgba(44,62,87,.3);background:#fff6e5}.reservationMetrics>div:nth-child(4){border-color:rgba(77,100,120,.2);background:#eef2f4}
    .reservationAgendaLayout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(330px,.75fr);gap:12px;align-items:start}.reservationAgenda,.reservationEditor{min-width:0}.reservationAgendaList{display:grid;gap:8px;margin-top:12px}.reservationAgendaCard{display:grid;grid-template-columns:74px minmax(180px,1.3fr) minmax(135px,.75fr) auto;grid-template-areas:"time guest contact status" "time guest actions actions";align-items:center;gap:7px 12px;padding:11px;border:1px solid var(--line);border-radius:16px;background:#fefefe}.reservationAgendaCard.installé{border-left:4px solid #5d8b78;background:#f2f8f3}.reservationAgendaCard.annulé,.reservationAgendaCard.no-show{opacity:.65}.reservationAgendaTime{grid-area:time;display:grid;place-content:center;align-self:stretch;border-radius:12px;background:#0a1d3a;color:#fefefe;text-align:center}.reservationAgendaTime b{font-size:18px}.reservationAgendaTime span{color:#a9b4c6;font-size:8px;font-weight:900}.reservationAgendaGuest{grid-area:guest;display:grid;gap:5px}.reservationAgendaGuest h4,.reservationAgendaGuest p{margin:0}.reservationAgendaGuest h4{font-size:15px}.reservationAgendaGuest p{color:var(--soft);font-size:10px}.reservationDietaryFlag{align-self:start;border-radius:8px;padding:5px 7px;background:#fff0ed;color:#9a4339;font-size:8px;font-weight:850}.reservationAgendaContact{grid-area:contact;display:grid;gap:2px;color:#4f473e;font-size:10px}.reservationAgendaContact small{color:var(--soft);font-size:8px}.reservationAgendaStatus{grid-area:status;justify-self:end}.reservationAgendaActions{grid-area:actions;display:flex;justify-content:flex-end;gap:5px;flex-wrap:wrap}.ghostDanger{border-color:rgba(179,75,61,.24)!important;background:transparent!important;color:#9f4237!important}.reservationAgendaEmpty{display:grid;place-content:center;justify-items:center;min-height:170px;padding:24px;color:var(--soft);text-align:center}.reservationAgendaEmpty>span{display:grid;place-items:center;width:50px;height:50px;border-radius:15px;background:#eef1f5;color:#7f6d55}.reservationAgendaEmpty .uiIcon{width:24px;height:24px}.reservationAgendaEmpty h3,.reservationAgendaEmpty p{margin:7px 0 0}.reservationAgendaEmpty h3{color:var(--ink);font-size:16px}.reservationAgendaEmpty p{max-width:360px;font-size:10px;line-height:1.45}.reservationService,.reservationEmail{min-width:0}.reservationNotes{grid-column:1/-1}.reservationNotes textarea{min-height:72px;resize:vertical}
    .crmWorkspace{display:grid;grid-template-columns:minmax(270px,.65fr) minmax(0,1.35fr);gap:12px;align-items:start}.crmDirectory,.crmProfile{min-width:0}.crmSearch{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:7px;margin:12px 0;padding:0 11px;border:1px solid var(--line);border-radius:14px;background:#fff}.crmSearch input{border:0;background:transparent}.crmCustomerList{display:grid;gap:6px;max-height:620px;overflow:auto}.crmCustomerRow{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:9px;width:100%;border:1px solid transparent;border-radius:13px;padding:8px;background:transparent;color:var(--ink);text-align:left}.crmCustomerRow.active{border-color:rgba(44,62,87,.28);background:#f7f4ee}.crmAvatar{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:#0a1d3a;color:#a9b4c6;font-weight:950}.crmAvatar.large{width:58px;height:58px;border-radius:18px;font-size:20px}.crmCustomerRow b,.crmCustomerRow small{display:block}.crmCustomerRow b{font-size:11px}.crmCustomerRow small{margin-top:2px;color:var(--soft);font-size:8px}.crmCustomerRow em{color:#8d672d;font-size:8px;font-style:normal;font-weight:900}.crmProfileHead{display:grid;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:12px}.crmProfileHead h3,.crmProfileHead p{margin:3px 0 0}.crmProfileHead p{color:var(--soft);font-size:10px}.crmMetrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:15px 0}.crmMetrics span{display:grid;gap:2px;padding:9px;border-radius:12px;background:#f3eee6;color:var(--soft);font-size:8px}.crmMetrics b{color:var(--ink);font-size:14px}.crmMetrics .danger{background:#fff0ed}.crmForm .wide{grid-column:1/-1}.crmConsent{display:flex!important;grid-template-columns:auto minmax(0,1fr)!important;align-items:start!important;padding:10px;border-radius:12px;background:#edf6ef}.crmConsent input{width:18px;height:18px;margin:0}.crmConsent span{color:#4f6554!important;font-size:9px!important;font-weight:750!important;letter-spacing:0!important;text-transform:none!important}
    .calendarSettingsGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}.serviceSettingsList{display:grid;gap:7px;margin-top:12px}.serviceSettingsList>div{display:grid;grid-template-columns:12px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px;border:1px solid var(--line);border-radius:14px;background:#fefefe}.serviceSettingsList b,.serviceSettingsList small{display:block}.serviceSettingsList small{margin-top:3px;color:var(--soft);font-size:9px}.serviceColor{width:10px;height:38px;border-radius:999px;background:#2c3e57}.serviceColor.green{background:#5d8b78}.serviceColor.blue{background:#58758f}.serviceColor.red{background:#b95c4b}.calendarBlockForm{grid-template-columns:repeat(2,minmax(0,1fr))}.calendarBlockList{grid-column:1/-1}.calendarBlockRow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-top:1px solid var(--line)}.calendarBlockRow b,.calendarBlockRow span,.calendarBlockRow small{display:block}.calendarBlockRow span{margin-top:3px;font-size:10px}.calendarBlockRow small{margin-top:2px;color:var(--soft);font-size:8px}
    .reservationMonthCard{grid-column:1/-1}.reservationMonthHead{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:12px}.reservationMonthHead>button{width:44px;height:44px;border:1px solid var(--line);border-radius:14px;background:#fefefe;color:var(--ink);font-size:17px;font-weight:900}.reservationMonthHead>div{text-align:center}.reservationMonthHead h3,.reservationMonthHead p{margin:3px 0 0}.reservationMonthHead h3{text-transform:capitalize}.reservationMonthWeekdays,.reservationMonthGrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.reservationMonthWeekdays{margin-top:16px}.reservationMonthWeekdays span{text-align:center;color:var(--soft);font-size:8px;font-weight:900;text-transform:uppercase}.reservationMonthGrid{margin-top:6px}.reservationMonthDay{display:grid;align-content:space-between;justify-items:start;gap:8px;min-height:68px;padding:10px;border:1px solid var(--line);border-radius:13px;background:#fefefe;color:var(--ink);text-align:left;cursor:pointer}.reservationMonthDay span{display:grid;place-items:center;width:25px;height:25px;border-radius:9px;font-size:11px;font-weight:950}.reservationMonthDay small{color:var(--soft);font-size:8px;font-weight:800}.reservationMonthDay.outside{opacity:.38}.reservationMonthDay.today span{background:#0a1d3a;color:#fff}.reservationMonthDay.selected{border-color:#2c3e57;box-shadow:0 0 0 2px rgba(44,62,87,.12)}.reservationMonthDay.booked{border-color:#adc5d5;background:#f1f7fa}.reservationMonthDay.booked small{color:#456b84}.reservationMonthDay.blocked{border-color:#e1a79e;background:#fff1ee}.reservationMonthDay.blocked small{color:#a9473e}.reservationMonthLegend{display:flex;justify-content:center;gap:16px;margin-top:12px;color:var(--soft);font-size:8px;font-weight:800}.reservationMonthLegend span{display:flex;align-items:center;gap:5px}.reservationMonthLegend i{width:8px;height:8px;border-radius:999px;background:#fff;border:1px solid var(--line)}.reservationMonthLegend .booked{background:#d9e8f2;border-color:#92b1c6}.reservationMonthLegend .closed{background:#f2c7c0;border-color:#d78b80}
    .reservationWorkspaceNav b.attention{background:#b74e43;color:#fff}.communicationWorkspace{display:grid;gap:12px}.communicationMetrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.communicationMetrics>div{display:grid;gap:3px;min-height:94px;padding:15px;border:1px solid var(--line);border-radius:18px;background:#fefefe}.communicationMetrics span{color:#526176;font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.communicationMetrics b{font-family:Poppins,"Avenir Next",Inter,"Segoe UI",Arial,sans-serif;font-size:28px}.communicationMetrics small{color:var(--soft);font-size:9px}.communicationMetrics .danger{border-color:#e5b2aa;background:#fff4f1}.communicationMetrics .danger b{color:#a9473e}.communicationLayout{display:grid;grid-template-columns:minmax(290px,.7fr) minmax(0,1.3fr);gap:12px;align-items:start}.communicationSettings{position:sticky;top:12px}.communicationToggle{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-top:1px solid var(--line)}.communicationToggle span,.communicationToggle b,.communicationToggle small{display:block}.communicationToggle small{max-width:330px;margin-top:4px;color:var(--soft);font-size:9px;line-height:1.45}.communicationToggle input{width:24px;height:24px;accent-color:#0a1d3a}.communicationDelay{display:grid;gap:7px;padding:14px 0;border-top:1px solid var(--line)}.communicationDelay>span{font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.communicationDelay select{width:100%}.communicationPrivacy{margin:13px 0 0;padding:10px;border-radius:12px;background:#edf6ef;color:#4f6554;font-size:9px;line-height:1.45}.communicationRows{display:grid;gap:7px;max-height:620px;overflow:auto}.communicationRow{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;padding:11px;border:1px solid var(--line);border-radius:14px;background:#fefefe}.communicationType{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#eef1f5;color:#77551f;font-weight:950}.communicationRow.sent .communicationType{background:#e5f1e8;color:#386b50}.communicationRow.failed .communicationType{background:#fff0ed;color:#a9473e}.communicationRow>div>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.communicationRow p,.communicationRow small{margin:3px 0 0}.communicationRow p{font-size:10px;font-weight:750}.communicationRow small{display:block;color:var(--soft);font-size:8px}.communicationRow .statusBadge{flex:0 0 auto}
    .commerceWorkspace{display:grid;gap:12px}.commerceMetrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.commerceMetrics>div{display:grid;gap:3px;padding:14px;border:1px solid var(--line);border-radius:16px;background:#fefefe}.commerceMetrics span{color:var(--soft);font-size:9px;font-weight:900;text-transform:uppercase}.commerceMetrics b{font-size:23px}.commerceMetrics small{color:var(--soft);font-size:9px}.commerceMetrics .danger{border-color:#e2b9b2;background:#fff4f1}.commerceLayout{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);gap:12px;align-items:start}.commerceSettings,.commerceReservations,.commerceHistory{min-width:0}.commerceProviderWarning{margin:2px 0 12px;padding:10px 12px;border-left:3px solid #2c3e57;border-radius:10px;background:#f7f0e4;color:#735528;font-size:10px;font-weight:800}.commerceAmountGrid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:10px 0}.commerceAmountGrid label,.commerceNoShowAmount{display:grid;gap:6px;color:var(--soft);font-size:9px;font-weight:900;text-transform:uppercase}.commerceAmountGrid select,.commerceAmountGrid label>div,.commerceNoShowAmount>div{min-height:46px;border:1px solid var(--line);border-radius:13px;background:#fefefe}.commerceAmountGrid select{width:100%;padding:0 11px}.commerceAmountGrid label>div,.commerceNoShowAmount>div{display:flex;align-items:center;padding-right:12px}.commerceAmountGrid input,.commerceNoShowAmount input{border:0!important;background:transparent!important}.commerceNoShowAmount{margin:10px 0 13px}.commercePrivacy{margin:11px 0 0;color:var(--soft);font-size:9px;line-height:1.45}.commerceReservationList,.commerceHistoryList{display:grid;gap:8px}.commerceReservationRow{display:grid;grid-template-columns:minmax(150px,1fr) minmax(180px,.9fr) minmax(145px,auto);align-items:center;gap:10px;padding:10px;border:1px solid var(--line);border-radius:14px;background:#fefefe}.commerceReservationIdentity{display:flex;align-items:center;gap:9px;min-width:0}.commerceReservationIdentity>span{display:grid;place-items:center;width:36px;height:36px;flex:0 0 36px;border-radius:11px;background:#0a1d3a;color:#a9b4c6;font-weight:950}.commerceReservationIdentity div{min-width:0}.commerceReservationIdentity b,.commerceReservationIdentity small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.commerceReservationIdentity small{margin-top:2px;color:var(--soft);font-size:9px}.commerceReservationStates{display:flex;gap:5px;flex-wrap:wrap}.commerceReservationStates>span{display:grid;gap:1px;padding:6px 8px;border-radius:9px;background:#f0ebe3;color:var(--soft);font-size:7px;font-weight:900;text-transform:uppercase}.commerceReservationStates b{color:var(--ink);font-size:9px;text-transform:none}.commerceReservationStates .paid,.commerceReservationStates .guaranteed{background:#eaf4ec}.commerceReservationStates .open,.commerceReservationStates .pending{background:#f8eedb}.commerceReservationActions{display:flex;justify-content:flex-end;gap:5px;flex-wrap:wrap;text-align:right}.commerceReservationActions small{max-width:145px;color:var(--soft);font-size:8px;line-height:1.35}.commerceMissingEmail{color:#9d4339!important}.commerceHistoryRow{display:grid;grid-template-columns:36px minmax(0,1fr) auto auto;align-items:center;gap:9px;padding:9px;border-bottom:1px solid var(--line)}.commerceHistoryRow>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#eef1f5;font-weight:950}.commerceHistoryRow div{min-width:0}.commerceHistoryRow b,.commerceHistoryRow small{display:block}.commerceHistoryRow b{font-size:11px}.commerceHistoryRow small{overflow:hidden;margin-top:2px;color:var(--soft);font-size:8px;text-overflow:ellipsis;white-space:nowrap}.commerceHistoryRow strong{font-size:11px}.commerceHistoryRow em{font-style:normal}
    .calendarPublicBookingCard{grid-column:1/-1;display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:15px;border-color:rgba(44,62,87,.28);background:linear-gradient(135deg,#fefefe,#f7f4ee)}.calendarPublicBookingIcon{display:grid;place-items:center;width:54px;height:54px;border-radius:17px;background:#0a1d3a;color:#a9b4c6;font-size:23px;font-weight:950}.calendarPublicBookingCard h3,.calendarPublicBookingCard p{margin:3px 0 0}.calendarPublicBookingCard code{display:block;max-width:100%;margin-top:10px;overflow:hidden;color:#795522;font-family:ui-monospace,Consolas,monospace;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.calendarPublicBookingCard .bar{margin:0;justify-content:flex-end}
    @media(max-width:1050px){.reservationAgendaLayout{grid-template-columns:minmax(0,1fr)}.reservationEditor{position:static}.crmWorkspace{grid-template-columns:minmax(230px,.7fr) minmax(0,1.3fr)}}
    @media(max-width:760px){.reservationMetrics{grid-template-columns:repeat(2,minmax(0,1fr))}.reservationAgendaCard{grid-template-columns:64px minmax(0,1fr) auto;grid-template-areas:"time guest status" "contact contact contact" "actions actions actions"}.reservationAgendaContact{display:flex;gap:8px}.reservationAgendaActions{justify-content:stretch}.reservationAgendaActions .btn{flex:1}.crmWorkspace,.calendarSettingsGrid,.communicationLayout{grid-template-columns:minmax(0,1fr)}.communicationSettings{position:static}.reservationMonthCard,.calendarBlockList,.calendarPublicBookingCard{grid-column:auto}.calendarPublicBookingCard{grid-template-columns:48px minmax(0,1fr)}.calendarPublicBookingIcon{width:48px;height:48px}.calendarPublicBookingCard .bar{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.crmCustomerList{max-height:300px}.crmMetrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
    @media(max-width:560px){.moduleSearch{grid-template-columns:minmax(0,1fr)}.moduleSearchCount{display:none}.reservationWorkspaceNav{display:flex;overflow-x:auto;scroll-snap-type:x proximity;overscroll-behavior-x:contain}.reservationWorkspaceNav>button{display:grid;grid-template-columns:auto;flex:0 0 76px;gap:2px;min-width:76px;min-height:52px;font-size:9px;scroll-snap-align:center}.reservationWorkspaceNav>button b{position:absolute;top:3px;right:4px;margin:0}.reservationDateBar{grid-template-columns:42px minmax(0,1fr) 42px}.reservationTodayButton{display:none}.reservationDateBar input{min-width:0;width:100%;font-size:11px}.reservationServiceTabs{grid-template-columns:repeat(3,minmax(0,1fr))}.reservationServiceTab{gap:4px;font-size:9px}.reservationMetrics>div{min-height:82px;padding:11px}.reservationMetrics b{font-size:22px}.reservationAgenda,.reservationEditor,.crmDirectory,.crmProfile,.communicationSettings,.communicationHistory,.reservationMonthCard{padding:14px}.reservationAgendaCard{grid-template-columns:58px minmax(0,1fr);grid-template-areas:"time guest" "status status" "contact contact" "actions actions"}.reservationAgendaStatus{justify-self:start}.reservationAgendaActions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.reservationForm{grid-template-columns:repeat(2,minmax(0,1fr))}.reservationCustomer,.reservationPhone,.reservationEmail,.reservationDietary,.reservationNotes{grid-column:1/-1}.crmProfileHead{grid-template-columns:48px minmax(0,1fr)}.crmAvatar.large{width:48px;height:48px}.calendarBlockForm{grid-template-columns:minmax(0,1fr)}.communicationMetrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.communicationMetrics>div{min-height:78px;padding:10px}.communicationMetrics b{font-size:22px}.communicationMetrics small{display:none}.communicationSettings .bar{display:grid;grid-template-columns:minmax(0,1fr)}.communicationRow>div>div{align-items:flex-start;flex-direction:column}.communicationRows{max-height:none}.reservationMonthWeekdays,.reservationMonthGrid{gap:3px}.reservationMonthDay{min-height:54px;padding:6px;border-radius:10px}.reservationMonthDay span{width:22px;height:22px;font-size:10px}.reservationMonthDay small{font-size:7px}.reservationMonthLegend{gap:9px;flex-wrap:wrap}}
    @keyframes lulouSelectSheetIn{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
    /* Privatisations : pipeline lisible sur ordinateur, tablette et téléphone. */
    .privateEventWorkspace{display:grid;gap:12px}.privateEventMetrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.privateEventMetrics>div{display:grid;gap:3px;min-height:92px;padding:14px;border:1px solid var(--line);border-radius:17px;background:#fefefe}.privateEventMetrics span{color:var(--soft);font-size:8px;font-weight:950;letter-spacing:.07em;text-transform:uppercase}.privateEventMetrics b{font-family:Poppins,"Avenir Next",Inter,"Segoe UI",Arial,sans-serif;font-size:25px}.privateEventMetrics small{color:var(--soft);font-size:8px}.privateEventMetrics .success{border-color:#b9d5c0;background:#f0f8f2}.privateEventMetrics .attention{border-color:#dfc494;background:#f7f4ee}.privateEventPublicSettings{display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:14px;border-color:rgba(44,62,87,.3);background:linear-gradient(135deg,#fefefe,#f2eadc)}.privateEventPublicSettings>span{display:grid;place-items:center;width:54px;height:54px;border-radius:17px;background:#0a1d3a;color:#a9b4c6;font-size:22px;font-weight:950}.privateEventPublicSettings h3,.privateEventPublicSettings p{margin:2px 0 0}.privateEventPublicSettings p{color:var(--soft);font-size:9px}.privateEventPublicSettings code{display:block;max-width:100%;margin-top:8px;overflow:hidden;color:#795522;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.privateEventPublicSettings .bar{justify-content:flex-end;margin:0}.privateEventLayout{display:grid;grid-template-columns:minmax(290px,.72fr) minmax(0,1.28fr);gap:12px;align-items:start}.privateEventDirectory,.privateEventDetail{min-width:0}.privateEventList{display:grid;gap:7px;max-height:650px;overflow:auto}.privateEventRow{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:9px;border:1px solid var(--line);border-radius:14px;background:#fefefe;color:var(--ink);text-align:left;cursor:pointer}.privateEventRow.active{border-color:#2c3e57;background:#f7efe1;box-shadow:0 0 0 2px rgba(44,62,87,.1)}.privateEventRow>span{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#0a1d3a;color:#e4bd74;font-size:9px;font-weight:950;text-transform:uppercase}.privateEventRow b,.privateEventRow small{display:block}.privateEventRow small{margin-top:3px;color:var(--soft);font-size:8px}.privateEventRow em{font-size:8px;font-style:normal;font-weight:900}.privateEventRow em[data-status="confirmed"]{color:#3f744e}.privateEventRow em[data-status="proposal_sent"],.privateEventRow em[data-status="deposit_pending"]{color:#936420}.privateEventDetailHead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.privateEventDetailHead h3,.privateEventDetailHead p{margin:3px 0 0}.privateEventDetailHead p{color:var(--soft);font-size:9px}.privateEventIdentity{display:flex;align-items:center;gap:11px}.privateEventIdentity>span{display:grid;place-items:center;width:48px;height:48px;flex:0 0 48px;border-radius:15px;background:#0a1d3a;color:#a9b4c6;font-weight:950}.privateEventForm{margin-top:14px}.privateEventForm .wide{grid-column:1/-1}.privateEventQuote{margin-top:13px;padding:13px;border:1px solid #dbc9aa;border-radius:16px;background:#fff9ed}.privateEventQuote h4{margin:0 0 10px}.privateEventQuoteGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.privateEventQuoteGrid label{display:grid;gap:6px;color:var(--soft);font-size:8px;font-weight:900;text-transform:uppercase}.privateEventQuoteGrid input{width:100%;min-width:0}.privateEventQuoteActions{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap;margin-top:11px}.privateEventStatusActions{display:flex;gap:7px;flex-wrap:wrap;margin-top:13px;padding-top:13px;border-top:1px solid var(--line)}
    @media(max-width:1050px){.privateEventLayout{grid-template-columns:minmax(250px,.65fr) minmax(0,1.35fr)}}
    @media(max-width:760px){.privateEventLayout{grid-template-columns:minmax(0,1fr)}.privateEventMetrics{grid-template-columns:repeat(2,minmax(0,1fr))}.privateEventPublicSettings{grid-template-columns:48px minmax(0,1fr)}.privateEventPublicSettings>span{width:48px;height:48px}.privateEventPublicSettings .bar{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.privateEventList{max-height:320px}}
    @media(max-width:520px){.privateEventDirectory,.privateEventDetail{padding:14px}.privateEventMetrics{gap:6px}.privateEventMetrics>div{min-height:80px;padding:10px}.privateEventMetrics b{font-size:21px}.privateEventQuoteGrid{grid-template-columns:minmax(0,1fr)}.privateEventQuoteActions,.privateEventStatusActions{display:grid;grid-template-columns:minmax(0,1fr)}.privateEventRow{grid-template-columns:42px minmax(0,1fr) auto}.privateEventRow>span{width:42px;height:42px}}
    .privateEventPublicSettings{grid-template-columns:minmax(240px,1fr) minmax(250px,.8fr) auto}.privateEventPublicSettings>div:first-child{min-width:0}.privateEventActions{display:flex;gap:7px;flex-wrap:wrap;margin-top:13px}.privateEventQuote>.btn{margin-top:11px}
    @media(max-width:900px){.privateEventPublicSettings{grid-template-columns:minmax(0,1fr) minmax(220px,.8fr)}.privateEventPublicSettings .bar{grid-column:1/-1;justify-content:stretch}.privateEventPublicSettings .bar .btn{flex:1}}
    @media(max-width:560px){.privateEventPublicSettings{grid-template-columns:minmax(0,1fr)}.privateEventPublicSettings .bar{display:grid;grid-template-columns:minmax(0,1fr)}.privateEventActions{display:grid;grid-template-columns:minmax(0,1fr)}}
    .giftCardWorkspace{display:grid;gap:12px}.giftCardPublicSettings{display:grid;grid-template-columns:minmax(240px,1fr) minmax(250px,.8fr) auto;align-items:center;gap:14px;border-color:rgba(44,62,87,.3);background:linear-gradient(135deg,#fefefe,#f2eadc)}.giftCardPublicSettings>div:first-child{min-width:0}.giftCardPublicSettings h3,.giftCardPublicSettings p{margin:2px 0 0}.giftCardPublicSettings p{font-size:9px}.giftCardPublicSettings code{display:block;max-width:100%;margin-top:8px;overflow:hidden;color:#795522;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.giftCardPublicSettings .bar{justify-content:flex-end;margin:0}.giftCardLayout{display:grid;grid-template-columns:minmax(270px,.6fr) minmax(0,1.4fr);gap:12px;align-items:start}.giftCardLookup .fieldStack{margin:13px 0 9px}.giftCardLookupResult{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-top:13px;padding:12px;border:1px solid #b9d4bf;border-radius:14px;background:#eff7f1}.giftCardLookupResult h3,.giftCardLookupResult p{margin:3px 0 0}.giftCardLookupResult p{color:var(--soft);font-size:9px}.giftCardRows{display:grid;gap:7px;max-height:610px;overflow:auto}.giftCardRow{display:grid;grid-template-columns:46px minmax(0,1fr) auto auto;align-items:center;gap:9px;padding:9px;border:1px solid var(--line);border-radius:14px;background:#fefefe}.giftCardRow>span{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:#0a1d3a;color:#e1bb73;font-size:8px;font-weight:950}.giftCardRow b,.giftCardRow small{display:block}.giftCardRow small{margin-top:3px;color:var(--soft);font-size:8px}.giftCardRow strong{font-size:10px}.giftCardRow em{font-style:normal}
    @media(max-width:900px){.giftCardPublicSettings{grid-template-columns:minmax(0,1fr) minmax(220px,.8fr)}.giftCardPublicSettings .bar{grid-column:1/-1;justify-content:stretch}.giftCardPublicSettings .bar .btn{flex:1}.giftCardLayout{grid-template-columns:minmax(0,1fr)}}
    @media(max-width:560px){.giftCardPublicSettings{grid-template-columns:minmax(0,1fr)}.giftCardPublicSettings .bar{display:grid;grid-template-columns:minmax(0,1fr)}.giftCardLookup,.giftCardHistory{padding:14px}.giftCardRow{grid-template-columns:42px minmax(0,1fr) auto}.giftCardRow>span{width:42px;height:42px}.giftCardRow strong{grid-column:2/-1}.giftCardRow em{grid-column:3;grid-row:1}}
    .giftCardPaymentEntry{display:grid;gap:8px;margin-top:12px;padding:12px;border:1px solid #dbc9aa;border-radius:15px;background:#f7f4ee}
    /* Réservation publique : expérience client autonome, sans navigation du logiciel. */
    @media(max-width:900px){.commerceMetrics{grid-template-columns:repeat(2,minmax(0,1fr))}.commerceLayout{grid-template-columns:minmax(0,1fr)}.commerceReservationRow{grid-template-columns:minmax(0,1fr)}.commerceReservationActions{justify-content:flex-start;text-align:left}.commerceReservationActions small{max-width:none}}
    @media(max-width:520px){.commerceAmountGrid{grid-template-columns:minmax(0,1fr)}.commerceHistoryRow{grid-template-columns:34px minmax(0,1fr) auto}.commerceHistoryRow em{grid-column:2/-1;justify-self:start}.reservationWorkspaceNav{scrollbar-width:none}.reservationWorkspaceNav::-webkit-scrollbar{display:none}}
    body.publicBookingBody{min-height:100vh;min-height:100dvh;overflow-x:hidden;background:#f5f0e8;color:#0a1d3a;overscroll-behavior-y:none}
    body.publicBookingBody #app{min-height:100vh;min-height:100dvh}
    .publicBookingApp{display:grid;grid-template-rows:auto 1fr auto;min-height:100vh;min-height:100dvh;background:radial-gradient(circle at 12% -10%,rgba(190,146,76,.16),transparent 33%),linear-gradient(180deg,#f9f5ef,#eef1f5)}
    .publicBookingHeader{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:76px;padding:14px max(24px,env(safe-area-inset-right)) 14px max(24px,env(safe-area-inset-left));border-bottom:1px solid rgba(10,29,58,.09);background:rgba(255,251,245,.92);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
    .publicBookingBrand{display:flex;align-items:center;gap:11px;color:#0a1d3a;text-decoration:none}.publicBookingBrand>span,.publicBookingFooterLogo{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:#0a1d3a;color:#a9b4c6;font-family:Poppins,"Avenir Next",Inter,"Segoe UI",Arial,sans-serif;font-size:25px;font-weight:900;box-shadow:0 10px 24px rgba(10,29,58,.16)}.publicBookingBrand div{display:grid;gap:1px}.publicBookingBrand small{color:#2c3e57;font-size:9px;font-weight:950;letter-spacing:.13em}.publicBookingBrand b{font-size:16px;line-height:1.2}
    .publicLanguageButton{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px;min-height:42px;padding:0 10px;border:1px solid rgba(10,29,58,.13);border-radius:13px;background:#fefefe;color:#403a34;font-size:12px;font-weight:850}.publicLanguageButton>span{color:#9a7235;font-size:14px}.publicLanguageButton select{max-width:132px;min-height:38px;padding:0 22px 0 2px;border:0;background:transparent;color:inherit;font:inherit;outline:0;cursor:pointer}
    .publicBookingMain{width:min(calc(100% - 32px),880px);margin:0 auto;padding:clamp(34px,6vw,72px) 0 42px}.publicBookingIntro{text-align:center}.publicBookingIntro>small{color:#a4742d;font-size:10px;font-weight:950;letter-spacing:.15em;text-transform:uppercase}.publicBookingIntro h1{margin:8px 0 7px;font-size:clamp(36px,6vw,58px);line-height:1;letter-spacing:-.055em}.publicBookingIntro p{margin:0;color:#756c61;font-size:clamp(14px,2vw,17px)}
    .publicBookingSteps{position:relative;display:grid;grid-template-columns:repeat(3,1fr);width:min(100%,590px);margin:30px auto 24px;padding:0;list-style:none}.publicBookingSteps::before{content:"";position:absolute;top:17px;left:16.66%;right:16.66%;height:1px;background:#d8d0c5}.publicBookingSteps li{position:relative;z-index:1;display:grid;justify-items:center;gap:6px;color:#9a9186;text-align:center}.publicBookingSteps span{display:grid;place-items:center;width:35px;height:35px;border:1px solid #d5cdc2;border-radius:999px;background:#f5f0e8;font-size:11px;font-weight:950}.publicBookingSteps b{font-size:10px}.publicBookingSteps li.active{color:#0a1d3a}.publicBookingSteps li.active span{border-color:#0a1d3a;background:#0a1d3a;color:#fefefe}
    .publicBookingCard{overflow:hidden;border:1px solid rgba(10,29,58,.1);border-radius:26px;background:rgba(255,252,247,.94);box-shadow:0 24px 80px rgba(46,35,24,.1)}.publicBookingChooser{padding:clamp(18px,4vw,32px)}
    .publicBookingControls{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(140px,.7fr);gap:12px}.publicBookingControls label,.publicBookingFields label{display:grid;gap:7px}.publicBookingControls label>span,.publicBookingFields label>span,.publicBookingGroup>span{color:#766c60;font-size:10px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.publicBookingControls input,.publicBookingControls select,.publicBookingFields input,.publicBookingFields textarea{width:100%;min-width:0;min-height:52px;padding:13px 15px;border:1px solid #cfd7e2;border-radius:15px;background:#fefefe;color:#0a1d3a;font-size:16px;box-shadow:none}.publicBookingFields textarea{min-height:90px;resize:vertical}.publicBookingControls input:focus,.publicBookingControls select:focus,.publicBookingFields input:focus,.publicBookingFields textarea:focus{border-color:#2c3e57;outline:3px solid rgba(44,62,87,.14)}
    .publicBookingGroup{display:grid;gap:10px;margin-top:24px;padding-top:22px;border-top:1px solid #e1dad0}.publicServiceChoices{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:9px}.publicServiceChoice{display:grid;justify-items:start;gap:3px;min-height:65px;padding:12px 14px;border:1px solid #cfd7e2;border-radius:16px;background:#fefefe;color:#0a1d3a;text-align:left}.publicServiceChoice span{font-weight:900}.publicServiceChoice small{color:#82786d;font-size:10px}.publicServiceChoice.active{border-color:#0a1d3a;background:#0a1d3a;color:#fefefe;box-shadow:0 9px 24px rgba(10,29,58,.17)}.publicServiceChoice.active small{color:#d9c6a7}
    .publicTimeChoices{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.publicTimeChoice{min-height:48px;border:1px solid #cfd7e2;border-radius:14px;background:#fefefe;color:#0a1d3a;font-weight:900}.publicTimeChoice:hover{border-color:#2c3e57;background:#faf2e5}.publicTimeChoice.active{border-color:#0a1d3a;background:#0a1d3a;color:#fefefe}.publicSlotLoading{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:12px;min-height:90px;color:#786e63;font-size:12px}.publicNoSlots{grid-column:1/-1;margin:0;padding:22px;border:1px dashed #d2c8bc;border-radius:16px;color:#766d62;text-align:center}
    .publicBookingDetails{margin:30px -32px -32px;padding:28px 32px 30px;border-top:1px solid #ddd4c8;background:#eef1f5}.publicBookingSectionHead{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;margin-bottom:20px}.publicBookingSectionHead>span{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:#0a1d3a;color:#fefefe;font-weight:950}.publicBookingSectionHead small{color:#2c3e57;font-size:9px;font-weight:950;letter-spacing:.1em;text-transform:uppercase}.publicBookingSectionHead h2{margin:2px 0 0;font-size:20px;letter-spacing:-.025em}.publicBookingSectionHead button{border:0;background:transparent;color:#8b642b;font-size:11px;font-weight:850}.publicBookingFields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.publicBookingFields .wide{grid-column:1/-1}.publicBookingHoneypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
    .publicBookingConsents{display:grid;gap:9px;margin:18px 0}.publicBookingConsents label{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:9px;color:#675f56;font-size:11px;line-height:1.45}.publicBookingConsents input{width:18px;height:18px;margin:0;accent-color:#0a1d3a}.publicBookingConsents a{color:#7c5722}.publicBookingPrimary,.publicBookingSecondary,.publicBookingDanger{display:flex;align-items:center;justify-content:center;width:100%;min-height:54px;border-radius:16px;font-weight:950}.publicBookingPrimary{border:1px solid #0a1d3a;background:#0a1d3a;color:#fefefe}.publicBookingPrimary:hover{background:#29241f;box-shadow:0 10px 28px rgba(10,29,58,.18)}.publicBookingSecondary{margin-top:13px;border:1px solid #cec5b9;background:#fefefe;color:#0a1d3a}.publicBookingDanger{margin-top:20px;border:1px solid #a94d42;background:#fff7f5;color:#9c4037}.publicBookingSecurity{display:block;margin-top:10px;color:#7b7268;text-align:center}.publicBookingFormError{padding:11px 13px;border-left:3px solid #aa4e43;border-radius:9px;background:#fff0ed;color:#913e35;font-size:12px}
    .publicBookingLoading,.publicBookingState{display:grid;justify-items:center;min-height:300px;padding:clamp(28px,6vw,60px);text-align:center}.publicBookingLoading h2,.publicBookingState h2{max-width:620px;margin:14px 0 0;font-size:clamp(25px,4vw,36px)}.publicBookingState p{max-width:570px;margin:10px 0 18px;color:#71685e}.publicBookingState>small{margin-top:15px;color:#2c3e57;font-size:9px;font-weight:950;letter-spacing:.12em}.publicBookingStateIcon{display:grid;place-items:center;width:64px;height:64px;border-radius:20px;background:#0a1d3a;color:#a9b4c6;font-family:Poppins,"Avenir Next",Inter,"Segoe UI",Arial,sans-serif;font-size:28px;font-weight:950;box-shadow:0 13px 34px rgba(10,29,58,.18)}.publicBookingSuccess .publicBookingStateIcon,.publicBookingCancelled .publicBookingStateIcon{background:#4f7d5b;color:#fff}.publicBookingSpinner{width:32px;height:32px;border:3px solid #cfd7e2;border-top-color:#0a1d3a;border-radius:50%;animation:publicBookingSpin .8s linear infinite}.publicBookingEmailStatus{margin-top:17px;padding:11px 14px;border-radius:12px;background:#edf5ef;color:#42634a;font-size:11px;font-weight:750}
    .publicBookingSummary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;margin:20px 0 0;border:1px solid #ddd5cb;border-radius:18px;background:#fefefe}.publicBookingSummary>div{min-width:0;padding:13px}.publicBookingSummary>div+div{border-left:1px solid #cfd7e2}.publicBookingSummary dt{color:#8a8075;font-size:8px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.publicBookingSummary dd{overflow-wrap:anywhere;margin:3px 0 0;font-size:12px;font-weight:900}.publicBookingFooter{display:flex;align-items:center;justify-content:center;gap:11px;padding:24px max(20px,env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));color:#6d645a}.publicBookingFooterLogo{width:36px;height:36px;border-radius:11px;font-size:18px}.publicBookingFooter p{display:grid;margin:0}.publicBookingFooter b{font-size:11px}.publicBookingFooter small{font-size:9px}
    .publicBookingPayments{display:grid;width:100%;gap:10px;margin-top:16px}.publicBookingPayment{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:11px;width:100%;padding:12px;border:1px solid #dbc9aa;border-radius:16px;background:#fefefe;text-align:left}.publicBookingPayment>span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#0a1d3a;color:#e2bd76;font-weight:950}.publicBookingPayment.complete{border-color:#b8d4bf;background:#f1f8f3}.publicBookingPayment.complete>span{background:#4f7d5b;color:#fff}.publicBookingPayment h3,.publicBookingPayment p{margin:0}.publicBookingPayment h3{font-size:13px}.publicBookingPayment p{margin-top:3px;color:#526176;font-size:11px}.publicBookingPayment button{min-height:40px;padding:0 13px;border:1px solid #0a1d3a;border-radius:12px;background:#0a1d3a;color:#fefefe;font-size:10px;font-weight:900}.publicBookingGuarantee{display:grid;grid-template-columns:58px minmax(0,1fr);gap:12px;width:100%;padding:18px;border:1px solid #d9c59f;border-radius:18px;background:#fefefe;text-align:left}.publicBookingGuarantee>.publicBookingStateIcon{width:52px;height:52px;border-radius:16px}.publicBookingGuarantee h3{margin:2px 0 5px;font-size:17px}.publicBookingGuarantee p{margin:0;color:#70665b;font-size:11px;line-height:1.5}.publicBookingGuarantee label{grid-column:1/-1;display:grid;grid-template-columns:20px minmax(0,1fr);gap:9px;padding:11px;border-radius:12px;background:#eef1f5;color:#5e554c;font-size:10px;line-height:1.45}.publicBookingGuarantee label input{width:18px;height:18px;margin:0;accent-color:#0a1d3a}.publicBookingGuarantee .publicBookingPrimary{grid-column:1/-1}
    /* Parcours public de privatisation, volontairement distinct du logiciel interne. */
    .publicPrivateEventApp .publicBookingMain{width:min(calc(100% - 34px),980px)}.publicPrivateEventIntro{max-width:760px;margin:0 auto 25px;text-align:center}.publicPrivateEventIntro h1{margin:8px 0 10px;font-size:clamp(34px,6vw,58px);letter-spacing:-.04em}.publicPrivateEventIntro p{margin:0;color:#526176;font-size:14px;line-height:1.6}.publicPrivateEventForm{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;padding:clamp(18px,4vw,34px);text-align:left}.publicPrivateEventForm label{display:grid;gap:7px;color:#766d63;font-size:9px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.publicPrivateEventForm input,.publicPrivateEventForm select,.publicPrivateEventForm textarea{width:100%;min-height:54px;padding:13px;border:1px solid #d8d0c6;border-radius:15px;background:#fefefe;color:#0a1d3a;font:inherit;font-size:16px}.publicPrivateEventForm textarea{min-height:104px;resize:vertical}.publicPrivateEventForm .wide{grid-column:1/-1}.publicPrivateEventForm .publicBookingConsents,.publicPrivateEventForm .publicBookingPrimary,.publicPrivateEventForm .publicBookingFormError{grid-column:1/-1}.publicPrivateEventSummary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;width:100%;margin:18px 0}.publicPrivateEventSummary>div{display:grid;gap:3px;padding:13px;border:1px solid #cfd7e2;border-radius:14px;background:#fefefe;text-align:left}.publicPrivateEventSummary span{color:#8a8075;font-size:8px;font-weight:950;text-transform:uppercase}.publicPrivateEventSummary b{font-size:13px}.publicPrivateEventProposal{width:100%;margin-top:17px;padding:17px;border:1px solid #d7bf92;border-radius:18px;background:#f7f4ee;text-align:left}.publicPrivateEventProposal h3{margin:0 0 8px}.publicPrivateEventProposal p{margin:5px 0;color:#6e6459;font-size:11px;line-height:1.5}.publicPrivateEventProposal strong{display:block;margin:12px 0 2px;font-size:24px}.publicPrivateEventProposal .publicBookingConsents{margin-bottom:0}.publicPrivateEventWaiting{width:100%;margin-top:17px;padding:14px;border-left:4px solid #2c3e57;border-radius:12px;background:#f8f0e1;color:#6f5228;text-align:left}.publicPrivateEventWaiting b,.publicPrivateEventWaiting small{display:block}.publicPrivateEventWaiting small{margin-top:3px}.publicPrivateEventStatus{display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border-radius:999px;background:#eef1f5;color:#6d6256;font-size:9px;font-weight:950;text-transform:uppercase}.publicPrivateEventStatus.confirmed{background:#e6f2e9;color:#3f704d}.publicPrivateEventStatus.proposal_sent,.publicPrivateEventStatus.deposit_pending{background:#fbefd9;color:#80591d}
    @media(max-width:680px){.publicPrivateEventApp .publicBookingMain{width:min(calc(100% - 20px),980px)}.publicPrivateEventIntro h1{font-size:34px}.publicPrivateEventForm{grid-template-columns:minmax(0,1fr);gap:11px;padding:15px}.publicPrivateEventForm .wide{grid-column:auto}.publicPrivateEventSummary{grid-template-columns:minmax(0,1fr)}.publicPrivateEventProposal{padding:14px}}
    .publicPrivateEventForm>.publicBookingFields{grid-column:1/-1}.publicPrivateEventSummary>span{display:grid;gap:3px;padding:13px;border:1px solid #cfd7e2;border-radius:14px;background:#fefefe;text-align:left}.publicPrivateEventSummary>span small{color:#8a8075;font-size:8px;font-weight:950;text-transform:uppercase}.publicPrivateEventSummary>span b{font-size:13px}
    .publicGiftCardApp .publicBookingMain{width:min(calc(100% - 34px),900px)}.publicGiftCardIntro{max-width:700px;margin:0 auto 26px;text-align:center}.publicGiftCardIntro h1{margin:8px 0 10px;font-size:clamp(34px,6vw,58px);letter-spacing:-.04em}.publicGiftCardIntro p{margin:0;color:#526176;font-size:14px;line-height:1.6}.publicGiftCardForm{padding:clamp(18px,4vw,34px)}.publicGiftCardForm>.publicBookingFields{margin-top:20px}.publicGiftCardAmounts{display:grid;grid-template-columns:auto repeat(4,minmax(72px,1fr)) minmax(110px,1.2fr);align-items:center;gap:8px}.publicGiftCardAmounts>span{color:#526176;font-size:9px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.publicGiftCardAmounts button{min-height:48px;border:1px solid #d8cfc4;border-radius:14px;background:#fefefe;color:#0a1d3a;font-weight:950}.publicGiftCardAmounts button.active{border-color:#0a1d3a;background:#0a1d3a;color:#fefefe}.publicGiftCardAmounts label{display:flex;align-items:center;min-height:48px;padding-right:12px;border:1px solid #d8cfc4;border-radius:14px;background:#fefefe}.publicGiftCardAmounts input{width:100%;min-width:0;border:0;background:transparent;text-align:right;font-size:16px}.publicGiftCardForm>.publicBookingConsents{margin-bottom:16px}.publicGiftCardStatus{min-height:410px}.publicGiftCardCode{display:grid;justify-items:center;gap:7px;width:min(100%,520px);margin:18px 0;padding:20px;border:1px solid #d3bd92;border-radius:20px;background:linear-gradient(145deg,#fff9eb,#f0e2c8)}.publicGiftCardCode>span{color:#806336;font-size:9px;font-weight:950;text-transform:uppercase}.publicGiftCardCode>b{font-size:26px}.publicGiftCardCode code{width:100%;padding:13px;border-radius:13px;background:#0a1d3a;color:#e7c27b;font-family:ui-monospace,Consolas,monospace;font-size:clamp(15px,3vw,21px);font-weight:950;letter-spacing:.05em;text-align:center}.publicGiftCardCode .publicBookingSecondary{max-width:260px;margin-top:5px}
    @media(max-width:680px){.publicGiftCardApp .publicBookingMain{width:min(calc(100% - 20px),900px)}.publicGiftCardIntro h1{font-size:34px}.publicGiftCardForm{padding:15px}.publicGiftCardAmounts{grid-template-columns:repeat(2,minmax(0,1fr))}.publicGiftCardAmounts>span{grid-column:1/-1}.publicGiftCardAmounts label{grid-column:1/-1}.publicGiftCardCode{padding:15px}}
    @keyframes publicBookingSpin{to{transform:rotate(360deg)}}
    @media(max-width:680px){.publicBookingHeader{min-height:68px;padding-top:calc(10px + env(safe-area-inset-top));padding-bottom:10px}.publicBookingBrand>span{width:42px;height:42px}.publicBookingBrand small{font-size:7px}.publicBookingBrand b{font-size:13px}.publicLanguageButton{min-height:40px;padding:0 11px;font-size:10px}.publicBookingMain{width:min(calc(100% - 20px),880px);padding:28px 0 25px}.publicBookingIntro h1{font-size:35px}.publicBookingIntro p{padding:0 12px}.publicBookingSteps{margin:24px auto 18px}.publicBookingSteps b{font-size:8px}.publicBookingCard{border-radius:22px}.publicBookingChooser{padding:15px}.publicBookingControls{grid-template-columns:minmax(0,1.25fr) minmax(105px,.75fr);gap:8px}.publicBookingControls input,.publicBookingControls select,.publicBookingFields input,.publicBookingFields textarea{min-height:50px;padding:12px;font-size:16px}.publicServiceChoices{grid-template-columns:repeat(2,minmax(0,1fr))}.publicTimeChoices{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.publicTimeChoice{min-height:46px;font-size:13px}.publicBookingDetails{margin:24px -15px -15px;padding:22px 15px calc(22px + env(safe-area-inset-bottom))}.publicBookingSectionHead{grid-template-columns:36px minmax(0,1fr);gap:10px}.publicBookingSectionHead>span{width:36px;height:36px}.publicBookingSectionHead button{grid-column:1/-1;justify-self:start;padding:5px 0}.publicBookingSectionHead h2{font-size:16px}.publicBookingFields{grid-template-columns:minmax(0,1fr);gap:11px}.publicBookingFields .wide{grid-column:auto}.publicBookingSummary{grid-template-columns:repeat(2,minmax(0,1fr))}.publicBookingSummary>div:nth-child(3){border-left:0;border-top:1px solid #cfd7e2}.publicBookingSummary>div:nth-child(4){border-top:1px solid #cfd7e2}.publicBookingState{min-height:270px;padding:30px 18px}.publicBookingFooter{padding-top:18px}.publicBookingFooter small{max-width:250px}}
    @media(max-width:380px){.publicTimeChoices{grid-template-columns:repeat(3,minmax(0,1fr))}.publicBookingControls{grid-template-columns:minmax(0,1fr)}.publicServiceChoices{grid-template-columns:minmax(0,1fr)}}
    @media(max-width:520px){.publicBookingPayment{grid-template-columns:38px minmax(0,1fr)}.publicBookingPayment>span{width:38px;height:38px}.publicBookingPayment button{grid-column:1/-1;width:100%}.publicBookingGuarantee{grid-template-columns:46px minmax(0,1fr);padding:14px}.publicBookingGuarantee>.publicBookingStateIcon{width:44px;height:44px}}
    @media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
    /* Planning équipe et pointage */
    .workforceWorkspace{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(290px,.65fr);gap:12px}.workforceClockCard{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px;border-radius:22px;background:linear-gradient(135deg,#17130f,#342b22);color:#fff;box-shadow:0 16px 35px rgba(25,20,15,.14)}.workforceClockCard h3{margin:5px 0;font-size:24px}.workforceClockCard p{margin:0;color:#d8cec2}.workforceClockCard .passEyebrow{color:#d5ae68}.workforceClockCard .bar{margin:0;justify-content:flex-end}.workforceMetrics{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.workforceMetrics article{padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:var(--card)}.workforceMetrics span{display:block;color:var(--muted);font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.workforceMetrics b{display:block;margin-top:6px;font-size:20px}.workforceCalendar{grid-column:1/-1;padding:0;overflow-x:auto}.workforceWeekHead{position:sticky;left:0;display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:10px;padding:15px 17px;border-bottom:1px solid var(--line);background:var(--card);z-index:2}.workforceWeekHead>button{width:40px;height:40px;border:1px solid var(--line);border-radius:13px;background:var(--paper);font-size:22px}.workforceWeekHead div{text-align:center}.workforceWeekHead span{display:block;color:var(--gold);font-size:8px;font-weight:950;letter-spacing:.12em}.workforceWeekHead b{display:block;margin-top:3px;font-size:11px}.workforceDays{display:grid;grid-template-columns:repeat(7,minmax(140px,1fr));min-width:980px}.workforceDay{min-height:180px;padding:9px;border-right:1px solid var(--line);background:rgba(255,255,255,.38)}.workforceDay.today{background:rgba(190,146,72,.08)}.workforceDay>header{display:flex;align-items:center;justify-content:space-between;padding:4px 3px 9px;text-transform:capitalize}.workforceDay>header span{font-size:9px;color:var(--muted);font-weight:850}.workforceDay>header b{font-size:10px}.workforceShift{position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:6px;padding:9px;margin-bottom:7px;border:1px solid #dfd8ce;border-left:4px solid var(--gold);border-radius:12px;background:#fff}.workforceShift.working{border-left-color:#4f8964;background:#f3faf5}.workforceShift.break{border-left-color:#d99e42;background:#fff8ec}.workforceShift.completed{border-left-color:#66839c}.workforceShift div{min-width:0}.workforceShift b,.workforceShift span,.workforceShift small{display:block}.workforceShift b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px}.workforceShift span{font-size:9px;font-weight:850}.workforceShift small{color:var(--muted);font-size:7px}.workforceShift em{font-size:7px;font-style:normal;color:#427253;font-weight:850}.workforceShift>button{position:absolute;right:4px;bottom:2px;border:0;background:transparent;font-weight:900}.workforceDayEmpty{margin:24px 4px;color:var(--muted);font-size:8px;text-align:center}.workforceEditor,.workforceEntries{padding:17px}.workforceEditorGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.workforceEditorGrid label,.timeEntryCorrection label{display:grid;gap:5px;color:var(--muted);font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.workforceEditorGrid input,.workforceEditorGrid select,.timeEntryCorrection input{width:100%;min-height:42px;padding:0 10px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);font:inherit;text-transform:none;letter-spacing:0}.workforceEditorGrid .wide{grid-column:span 2}.timeEntryRow{border-top:1px solid var(--line)}.timeEntryRow summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 2px;cursor:pointer;list-style:none}.timeEntryRow summary::-webkit-details-marker{display:none}.timeEntryRow summary b,.timeEntryRow summary small{display:block}.timeEntryRow summary small{margin-top:2px;color:var(--muted);font-size:8px}.timeEntryCorrection{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:4px 0 14px}.timeEntryCorrection .wide{grid-column:1/-1}.timeEntryCorrection .btn{justify-self:start}.workforceLocked{text-align:left}
    .planningAiCard{grid-column:1/-1;padding:18px;background:linear-gradient(135deg,#fefefe,#f5f0e7);border-color:#dfd0b8}.planningAiBadge{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#17130f;color:#e6c27e;font-weight:950}.planningAiEmpty{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px;border-radius:16px;background:#fff}.planningAiEmpty p{max-width:720px;margin:0;color:var(--muted);line-height:1.5}.planningAiProposal{display:grid;gap:11px}.planningAiSummary{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;background:#fff}.planningAiSummary p{margin:0;font-weight:750}.planningAiProposal details{padding:11px 13px;border:1px solid var(--line);border-radius:13px;background:#fff}.planningAiProposal summary{cursor:pointer;font-weight:850}.planningAiProposal ul{margin:10px 0 0;padding-left:20px;color:var(--muted)}.planningAiWarnings{border-color:#e5c993!important;background:#fff9ed!important}.planningAiShifts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.planningAiShift{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:12px;padding:12px;border:1px solid var(--line);border-left:4px solid #4f8964;border-radius:14px;background:#fff}.planningAiShift b,.planningAiShift span,.planningAiShift small{display:block}.planningAiShift span{margin-top:3px;font-size:10px;font-weight:850;text-transform:capitalize}.planningAiShift small,.planningAiShift p{color:var(--muted);font-size:9px}.planningAiShift p{margin:0;line-height:1.45}
    @media(max-width:980px){.workforceWorkspace{grid-template-columns:1fr}.workforceMetrics{grid-template-columns:repeat(2,1fr)}.workforceEditorGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.workforceEditorGrid .wide{grid-column:1/-1}}
    @media(max-width:620px){.workforceClockCard{align-items:stretch;flex-direction:column;padding:16px;border-radius:19px}.workforceClockCard .bar{justify-content:stretch}.workforceClockCard .bar .btn{flex:1}.workforceMetrics{gap:6px}.workforceMetrics article{padding:11px}.workforceMetrics b{font-size:17px}.workforceEditorGrid,.timeEntryCorrection{grid-template-columns:1fr}.workforceEditorGrid .wide{grid-column:auto}.workforceEntries,.workforceEditor{padding:14px}}
    /* Avis clients : discret dans l'outil, concentré et mobile-first côté client. */
    .reviewWorkspace{display:grid;gap:12px}.reviewMetrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.reviewMetrics>div{display:grid;gap:3px;min-height:94px;padding:15px;border:1px solid var(--line);border-radius:18px;background:#fefefe}.reviewMetrics span{color:#526176;font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.reviewMetrics b{font-family:Poppins,"Avenir Next",Inter,"Segoe UI",Arial,sans-serif;font-size:28px}.reviewMetrics small{color:var(--soft);font-size:9px}.reviewMetrics .danger{border-color:#e5b2aa;background:#fff4f1}.reviewMetrics .danger b{color:#a9473e}.reviewLayout{display:grid;grid-template-columns:minmax(290px,.7fr) minmax(0,1.3fr);gap:12px;align-items:start}.reviewSettings{position:sticky;top:12px}.reviewSettings .fieldStack{margin-top:13px;padding-top:13px;border-top:1px solid var(--line)}.reviewSettings .fieldStack>small{color:var(--soft);font-size:8px;line-height:1.4}.reviewRows{display:grid;gap:7px;max-height:650px;overflow:auto}.reviewRow{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:start;gap:10px;padding:11px;border:1px solid var(--line);border-radius:14px;background:#fefefe}.reviewAvatar{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#eef1f5;color:#77551f;font-weight:950}.reviewRow.completed .reviewAvatar{background:#e5f1e8;color:#386b50}.reviewRow.failed .reviewAvatar{background:#fff0ed;color:#a9473e}.reviewRow>div>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.reviewRow b,.reviewRow small{display:block}.reviewRow small{margin-top:3px;color:var(--soft);font-size:8px}.reviewRow p{margin:8px 0 0;padding:9px;border-radius:10px;background:#f7f4ee;font-size:10px;line-height:1.45}.reviewStars{align-self:center;color:#b78638;font-size:14px;letter-spacing:1px;white-space:nowrap}
    .externalReputationWorkspace{display:grid;gap:12px;margin-bottom:12px}.reputationConnections,.externalReviewFeed{padding:18px}.reputationProviderGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.reputationProviderGrid>section{padding:14px;border:1px solid var(--line);border-radius:16px;background:#fefefe}.reputationProviderHead{display:flex;align-items:center;justify-content:space-between;gap:10px}.reputationProviderStatus{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-size:8px;font-weight:850}.reputationProviderStatus i{width:7px;height:7px;border-radius:50%;background:#aaa}.reputationProviderStatus.ready i{background:#4f8964}.reputationProviderStatus.warning i{background:#c98c2e}.reputationIdentityFields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}.reputationIdentityFields.one{grid-template-columns:1fr}.reputationIdentityFields label{display:grid;gap:5px;color:var(--muted);font-size:8px;font-weight:850}.externalReviewRows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.externalReviewCard{display:grid;align-content:start;gap:11px;padding:14px;border:1px solid var(--line);border-left:4px solid #4d76a8;border-radius:16px;background:#fefefe}.externalReviewCard.tripadvisor{border-left-color:#2f8b63}.externalReviewCard>header,.externalReviewCard>header>div{display:flex;align-items:center;justify-content:space-between;gap:9px}.externalReviewCard>header>div>div b,.externalReviewCard>header>div>div small{display:block}.externalReviewCard>header small{color:var(--muted);font-size:8px}.externalReviewProvider{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#edf2f8;color:#365c89;font-size:10px;font-weight:950}.tripadvisor .externalReviewProvider{background:#e8f3ed;color:#2f7759}.externalReviewCard h4{margin:0}.externalReviewComment{margin:0;line-height:1.55}.externalReviewCard .fieldStack{display:grid;gap:6px}.externalReviewCard textarea{min-height:106px;resize:vertical}.externalReviewPublished{margin:0;color:#3f7854;font-weight:850}.externalReviewCard textarea:disabled{opacity:1;color:var(--ink);background:#f4f0e9}
    .publicReviewApp .publicBookingMain{width:min(calc(100% - 34px),720px)}.publicReviewForm{padding:clamp(20px,5vw,38px)}.publicReviewWelcome{display:flex;align-items:center;gap:12px;padding-bottom:20px;border-bottom:1px solid #cfd7e2}.publicReviewWelcome>span{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:#0a1d3a;color:#e6bd72;font-size:18px;font-weight:950}.publicReviewWelcome small{display:block;color:#9b6f2b;font-size:8px;font-weight:950;letter-spacing:.12em}.publicReviewWelcome h2{margin:3px 0 0;font-size:20px}.publicReviewRating{margin:24px 0;padding:0;border:0}.publicReviewRating legend{margin-bottom:10px;color:#526176;font-size:9px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.publicReviewRating>div{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.publicReviewRating button{display:grid;place-items:center;min-height:62px;border:1px solid #dbd2c8;border-radius:16px;background:#fefefe;color:#c8bfb3;font-size:30px}.publicReviewRating button.active{border-color:#c79a51;background:#fff5e2;color:#b78638;box-shadow:0 7px 18px rgba(136,93,30,.12)}.publicReviewComment{display:grid;gap:7px;color:#526176;font-size:9px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.publicReviewComment textarea{width:100%;min-height:120px;padding:14px;border:1px solid #d8d0c6;border-radius:16px;background:#fefefe;color:#0a1d3a;font:inherit;font-size:16px;line-height:1.45;letter-spacing:0;text-transform:none;resize:vertical}.publicReviewContact{display:flex;align-items:flex-start;gap:9px;margin:16px 0;color:#526176;font-size:11px;line-height:1.45}.publicReviewContact input{width:20px;height:20px;flex:0 0 auto;accent-color:#0a1d3a}.publicReviewSubmittedStars{margin:12px 0 20px;color:#d2c7b6;font-size:28px;letter-spacing:3px}.publicReviewSubmittedStars .active{color:#b78638}.publicReviewShare{width:min(100%,520px);margin-top:16px;padding:17px;border:1px solid #d7bf92;border-radius:18px;background:#f7f4ee}.publicReviewShare h3,.publicReviewShare p{margin:0}.publicReviewShare p{margin-top:5px;color:#526176;font-size:10px;line-height:1.45}.publicReviewShare .publicBookingPrimary{display:flex;align-items:center;justify-content:center;margin-top:13px;text-decoration:none}
    @media(max-width:900px){.reviewMetrics{grid-template-columns:repeat(2,minmax(0,1fr))}.reviewLayout{grid-template-columns:1fr}.reviewSettings{position:static}.externalReviewRows{grid-template-columns:1fr}.planningAiShifts{grid-template-columns:1fr}}
    @media(max-width:620px){.reviewMetrics{gap:6px}.reviewMetrics>div{min-height:82px;padding:11px}.reviewMetrics b{font-size:23px}.reviewRow{grid-template-columns:38px minmax(0,1fr)}.reviewAvatar{width:38px;height:38px}.reviewStars{grid-column:2;justify-self:start}.reputationProviderGrid,.reputationIdentityFields{grid-template-columns:1fr}.reputationProviderHead{align-items:flex-start;flex-direction:column}.reputationConnections .cardHead{align-items:stretch;flex-direction:column}.planningAiEmpty{align-items:stretch;flex-direction:column}.planningAiShift{grid-template-columns:1fr}.publicReviewApp .publicBookingMain{width:min(calc(100% - 20px),720px)}.publicReviewForm{padding:16px}.publicReviewRating button{min-height:54px;font-size:25px}.publicReviewComplete{padding-inline:18px}}
    /* Campagnes e-mail et SMS */
    .marketingWorkspace{display:grid;gap:12px}.marketingMetrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.marketingMetrics>div{display:grid;gap:3px;min-height:94px;padding:15px;border:1px solid var(--line);border-radius:18px;background:#fefefe}.marketingMetrics span{color:#526176;font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.marketingMetrics b{font-family:Poppins,"Avenir Next",Inter,"Segoe UI",Arial,sans-serif;font-size:28px}.marketingMetrics small{color:var(--soft);font-size:9px}.marketingMetrics .danger{border-color:#e5b2aa;background:#fff4f1}.marketingMetrics .danger b{color:#a9473e}.marketingLayout{display:grid;grid-template-columns:minmax(320px,.85fr) minmax(0,1.15fr);gap:12px;align-items:start}.marketingComposer{position:sticky;top:12px}.marketingForm{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.marketingForm label{display:grid;gap:5px;color:var(--soft);font-size:8px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.marketingForm label.wide{grid-column:1/-1}.marketingForm input,.marketingForm select,.marketingForm textarea{width:100%;min-height:44px}.marketingForm textarea{min-height:108px;resize:vertical}.marketingCampaignRows{display:grid;gap:7px;max-height:670px;overflow:auto}.marketingCampaignRow{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px;border:1px solid var(--line);border-radius:14px;background:#fefefe}.marketingChannel{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:#0a1d3a;color:#e6bd72;font-size:10px;font-weight:950}.marketingCampaignRow.sms .marketingChannel{background:#3e7050;color:#fff}.marketingCampaignRow>div:nth-child(2)>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.marketingCampaignRow p,.marketingCampaignRow small{display:block;margin:3px 0 0}.marketingCampaignRow p{overflow:hidden;font-size:10px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.marketingCampaignRow small{color:var(--soft);font-size:8px;line-height:1.4}.marketingCampaignActions{display:flex;align-items:center;justify-content:flex-end;gap:5px}.marketingCampaignActions strong{color:#3e7050;font-size:11px}.publicUnsubscribeApp .publicBookingMain{width:min(calc(100% - 34px),680px)}.publicUnsubscribeCard .publicBookingDanger{width:min(100%,360px);margin-top:16px}
    @media(max-width:980px){.marketingMetrics{grid-template-columns:repeat(2,minmax(0,1fr))}.marketingLayout{grid-template-columns:1fr}.marketingComposer{position:static}}
    @media(max-width:620px){.marketingMetrics{gap:6px}.marketingMetrics>div{min-height:82px;padding:11px}.marketingMetrics b{font-size:23px}.marketingForm{grid-template-columns:1fr}.marketingForm label.wide{grid-column:auto}.marketingCampaignRow{grid-template-columns:40px minmax(0,1fr)}.marketingChannel{width:40px;height:40px}.marketingCampaignActions{grid-column:2;justify-content:flex-start;flex-wrap:wrap}.publicUnsubscribeApp .publicBookingMain{width:min(calc(100% - 20px),680px)}}
    /* Réceptionniste téléphonique IA : l'IA reste discrète, l'action humaine reste évidente. */
    .voiceWorkspace{display:grid;gap:12px}.voiceHero{display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:14px;padding:18px 20px;border:1px solid #d8c29a;border-radius:22px;background:linear-gradient(135deg,#fffaf0,#f3eadb)}.voiceHeroIcon{display:grid;place-items:center;width:54px;height:54px;border-radius:17px;background:#0a1d3a;color:#e7bd72}.voiceHeroIcon .uiIcon{width:27px;height:27px}.voiceHero h3,.voiceHero p{margin:0}.voiceHero h3{margin-top:4px;font-size:20px}.voiceHero p{margin-top:5px;color:#70665b;font-size:10px;line-height:1.5}.voiceMetrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.voiceMetrics>div{display:grid;gap:3px;min-height:94px;padding:15px;border:1px solid var(--line);border-radius:18px;background:#fefefe}.voiceMetrics span{color:#526176;font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.voiceMetrics b{font-family:Poppins,"Avenir Next",Inter,"Segoe UI",Arial,sans-serif;font-size:28px}.voiceMetrics small{color:var(--soft);font-size:9px}.voiceMetrics .danger{border-color:#e5b2aa;background:#fff4f1}.voiceMetrics .danger b{color:#a9473e}.voiceLayout{display:grid;grid-template-columns:minmax(310px,.78fr) minmax(0,1.22fr);gap:12px;align-items:start}.voiceSettings{position:sticky;top:12px}.voiceProviderWarning{display:grid;gap:4px;margin:8px 0 13px;padding:12px;border-left:4px solid #b74e43;border-radius:12px;background:#fff2ef;color:#80433d}.voiceProviderWarning span{font-size:9px;line-height:1.45}.voiceSettingsForm{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:13px 0}.voiceSettingsForm label{display:grid;gap:5px;color:var(--soft);font-size:8px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.voiceSettingsForm .wide{grid-column:1/-1}.voiceSettingsForm input,.voiceSettingsForm select,.voiceSettingsForm textarea{width:100%;min-height:44px}.voiceSettingsForm textarea{min-height:84px;resize:vertical}.voiceSettingsForm label small{color:var(--soft);font-size:8px;font-weight:500;letter-spacing:0;text-transform:none}.voiceCallRows{display:grid;gap:8px;max-height:720px;overflow:auto}.voiceCallRow{border:1px solid var(--line);border-radius:15px;background:#fefefe;overflow:hidden}.voiceCallRow[open]{border-color:#ccb991;box-shadow:0 8px 22px rgba(45,35,22,.07)}.voiceCallRow summary{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px;cursor:pointer;list-style:none}.voiceCallRow summary::-webkit-details-marker{display:none}.voiceCallIcon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#eef1f5;color:#77551f}.voiceCallIcon .uiIcon{width:21px;height:21px}.voiceCallRow.answered .voiceCallIcon{background:#e5f1e8;color:#386b50}.voiceCallRow.failed .voiceCallIcon{background:#fff0ed;color:#a9473e}.voiceCallRow summary>div>div{display:flex;align-items:center;gap:8px}.voiceCallRow summary b,.voiceCallRow summary small,.voiceCallRow summary p{display:block}.voiceCallRow summary small{margin-top:3px;color:var(--soft);font-size:8px}.voiceCallRow summary p{margin:4px 0 0;font-size:9px;font-weight:720;line-height:1.35}.voiceCallRow summary>strong{max-width:130px;color:#655c52;font-size:9px;text-align:right}.voiceCallDetail{padding:0 12px 12px 64px;border-top:1px solid #eee5d9}.voiceLiveActions{display:flex;align-items:center;justify-content:flex-end;gap:7px;padding:10px 0}.voiceLiveActions>span{display:flex;align-items:center;gap:6px;margin-right:auto;color:#386b50;font-size:9px;font-weight:900}.voiceLiveActions i{width:8px;height:8px;border-radius:50%;background:#4b8a62;box-shadow:0 0 0 4px rgba(75,138,98,.13)}.voiceReservationLink{margin:8px 0;border:0;background:transparent;color:#78551e;font-size:9px;font-weight:950;cursor:pointer}.voiceTranscript{display:grid;gap:6px;margin-top:8px}.voiceTranscript p{display:grid;grid-template-columns:48px minmax(0,1fr);gap:8px;margin:0;padding:8px 10px;border-radius:11px;background:#f2ede5;font-size:9px;line-height:1.45}.voiceTranscript p.assistant{background:#edf5ef}.voiceTranscript b{color:#73695e;font-size:8px;text-transform:uppercase}.voiceTranscriptEmpty{color:var(--soft);font-style:italic}.voiceHistory{min-width:0}
    @media(max-width:980px){.voiceMetrics{grid-template-columns:repeat(2,minmax(0,1fr))}.voiceLayout{grid-template-columns:1fr}.voiceSettings{position:static}}
    @media(max-width:620px){.voiceHero{grid-template-columns:44px minmax(0,1fr);padding:14px}.voiceHeroIcon{width:44px;height:44px}.voiceHero>.statusBadge{grid-column:2;justify-self:start}.voiceMetrics{gap:6px}.voiceMetrics>div{min-height:82px;padding:11px}.voiceMetrics b{font-size:23px}.voiceSettingsForm{grid-template-columns:1fr}.voiceSettingsForm .wide{grid-column:auto}.voiceCallRow summary{grid-template-columns:38px minmax(0,1fr)}.voiceCallIcon{width:38px;height:38px}.voiceCallRow summary>strong{grid-column:2;max-width:none;text-align:left}.voiceCallDetail{padding:0 10px 10px}.voiceLiveActions{align-items:stretch;flex-wrap:wrap}.voiceLiveActions>span{width:100%}.voiceLiveActions .btn{flex:1}.voiceTranscript p{grid-template-columns:44px minmax(0,1fr)}}
    /* WhatsApp : même densité opérationnelle que les appels, avec un fil lisible et tactile. */
    .whatsappWorkspace{display:grid;gap:12px}.whatsappHero{border-color:#b8d9c5;background:linear-gradient(135deg,#f6fff8,#e7f4eb)}.whatsappHero .voiceHeroIcon{background:#286342;color:#fff;font-size:12px;font-weight:950;letter-spacing:-.04em}.whatsappConversation{border:1px solid var(--line);border-radius:15px;background:#fefefe;overflow:hidden}.whatsappConversation[open]{border-color:#9bc8aa;box-shadow:0 8px 22px rgba(34,93,58,.08)}.whatsappConversation summary{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px;cursor:pointer;list-style:none}.whatsappConversation summary::-webkit-details-marker{display:none}.whatsappConversation summary>div>div{display:flex;align-items:center;gap:8px}.whatsappConversation summary b,.whatsappConversation summary small{display:block}.whatsappConversation summary small{margin-top:4px;color:var(--soft);font-size:8px}.whatsappConversation summary>strong{max-width:150px;color:#655c52;font-size:9px;text-align:right}.whatsappAvatar{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#dff1e5;color:#286342;font-size:10px;font-weight:950}.whatsappThread{display:flex;flex-direction:column;gap:7px;max-height:430px;padding:13px 14px;overflow:auto;border-top:1px solid #eee5d9;background:#f7f4ef}.whatsappMessage{display:grid;grid-template-columns:auto 1fr auto;align-items:end;gap:7px;width:min(86%,560px);margin:0;padding:9px 11px;border-radius:14px;background:#fff;border:1px solid #e0d9d0;font-size:10px;line-height:1.45}.whatsappMessage.outbound{align-self:flex-end;background:#e4f3e8;border-color:#c3dec9}.whatsappMessage b{color:#6e655b;font-size:8px;text-transform:uppercase}.whatsappMessage small{color:#81776d;font-size:7px}.whatsappReply{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:12px;border-top:1px solid var(--line)}.whatsappReply textarea{min-height:54px;resize:vertical}.whatsappWindowNotice{margin:0;padding:12px;color:var(--soft);font-size:9px;border-top:1px solid var(--line)}
    @media(max-width:620px){.whatsappConversation summary{grid-template-columns:38px minmax(0,1fr)}.whatsappAvatar{width:38px;height:38px}.whatsappConversation summary>strong{grid-column:2;max-width:none;text-align:left}.whatsappMessage{grid-template-columns:1fr;width:94%}.whatsappMessage b,.whatsappMessage small{font-size:7px}.whatsappReply{grid-template-columns:1fr}.whatsappReply .btn{min-height:48px}}

    /* Identité visuelle LULOU 2026 — logo, palette et typographie de référence. */
    .lulouBrandSymbol{display:block;width:100%;height:100%;object-fit:contain}
    .logo,.portalLogo,.platformBrand>span,.employeeTerminalBrand>span,.mobileAppLogo,.publicBookingBrand>span,.publicBookingFooterLogo{
      overflow:hidden;background:#fefefe;color:var(--ink);border:1px solid rgba(10,29,58,.12);box-shadow:0 8px 24px rgba(10,29,58,.10);font-family:inherit
    }
    .logo{padding:6px;background:transparent;border:0;box-shadow:none}
    .portalLogo,.mobileAppLogo{padding:8px;background:var(--ink);border-color:var(--ink)}
    .platformBrand>span,.employeeTerminalBrand>span,.publicBookingBrand>span,.publicBookingFooterLogo{padding:7px}
    .publicAuthBrand .aiMark{padding:8px;background:var(--ink);border:1px solid rgba(169,180,198,.24);box-shadow:0 10px 28px rgba(10,29,58,.16)}
    .publicAuthBrand .aiMark>.lulouBrandSymbol,.aiHeading .aiMark>.lulouBrandSymbol{width:100%;height:100%}
    .publicBookingStateIcon>.lulouBrandSymbol{width:60%;height:60%}
    .brand h1,.platformBrand b,.employeeTerminalBrand b,.mobileAppBrand small{letter-spacing:.18em}
    .side{background:linear-gradient(180deg,#0a1d3a 0%,#102746 58%,#2c3e57 100%)}
    .btn.primary,.publicBookingPrimary{background:#0a1d3a;color:#fefefe}
    .btn.primary:hover,.publicBookingPrimary:hover{background:#2c3e57}
.onboardingPanel{overflow:hidden}.onboardingHead{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.onboardingHead h3{margin:5px 0}.onboardingProgress{min-width:100px;text-align:center;padding:12px 15px;border-radius:16px;background:#f1f4f8;color:#0a1d3a}.onboardingProgress b{display:block;font-size:26px}.onboardingProgress span{display:block;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.onboardingPanel progress{width:100%;height:9px;margin:18px 0;accent-color:#0a1d3a}.onboardingSteps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.onboardingStep{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px;width:100%;min-height:76px;padding:12px;border:1px solid #dce2e9;border-radius:16px;background:#fff;text-align:left;color:#0a1d3a;cursor:pointer}.onboardingStep>span{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#e9eef4;font-weight:900}.onboardingStep div{display:flex;flex-direction:column;gap:3px}.onboardingStep small{color:#66758b;line-height:1.3}.onboardingStep em{font-size:11px;font-style:normal;font-weight:800;text-transform:uppercase;color:#66758b}.onboardingStep.complete{border-color:#bcd8c6;background:#f5fbf7}.onboardingStep.complete>span{background:#dcefe3;color:#39704c}.onboardingStep.complete em{color:#39704c}.onboardingReady{display:flex;gap:10px;align-items:center;margin-top:14px;padding:13px 15px;border-radius:14px;background:#eef8f1;color:#39704c}.onboardingReady span{color:#536b5b}@media(max-width:760px){.onboardingHead{align-items:center}.onboardingHead p{display:none}.onboardingSteps{grid-template-columns:1fr}.onboardingStep em{display:none}.onboardingReady{align-items:flex-start;flex-direction:column}}

/* Modules prioritaires : fusion de tables, rapports et multi-établissements. */
.floorObject.merged{outline:3px solid rgba(44,62,87,.26);outline-offset:3px}.floorMergeBadge{display:inline-flex;margin-left:5px;padding:2px 6px;border-radius:999px;background:#0a1d3a;color:#fff;font-size:7px;font-style:normal;font-weight:900;vertical-align:middle}.floorMergePanel{display:grid;gap:10px;margin:14px 0;padding:13px;border:1px solid #cbd5e1;border-radius:15px;background:#f4f7fa}.floorMergePanel>div{display:grid;gap:3px}.floorMergePanel small{color:#607086}.floorMergePanel select{width:100%}.publicBookingControls .publicBookingZone{grid-column:1/-1}.advancedReports .reportTrend{color:#3f704d;font-weight:850}.advancedReports .card>small{display:block;margin-top:7px;color:var(--muted)}.establishmentReportTable td:first-child small{display:block;margin-top:3px;color:var(--muted)}.establishmentReportTable .activeRow{background:#f2f6fa}.establishmentCards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.establishmentCard{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;min-height:150px;padding:16px;border:1px solid var(--line);border-radius:18px;background:#fff}.establishmentCard.active{border-color:#0a1d3a;background:linear-gradient(145deg,#f8fafc,#edf2f7);box-shadow:inset 4px 0 #0a1d3a}.establishmentCard h3{margin:12px 0 2px}.establishmentCard p,.establishmentCard small{display:block;margin:0;color:var(--muted)}.establishmentCard>b{color:#0a1d3a;font-size:9px;text-align:right}.publicDomainPreview{display:grid;gap:4px;margin:14px 0;padding:13px;border:1px solid #cfd7e2;border-radius:14px;background:#f4f7fa}.publicDomainPreview span{color:var(--muted);font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.publicDomainPreview b{overflow-wrap:anywhere}.publicDomainPreview small{color:var(--muted)}
@media(max-width:680px){.establishmentCard{align-items:flex-start;flex-direction:column;min-height:0}.establishmentReportTable{font-size:9px}.advancedReports .orderFilters{display:grid;grid-template-columns:repeat(2,1fr);width:100%}}
.assistantLanguageSettings{grid-column:1/-1;margin:4px 0 0;padding:16px;border:1px solid rgba(169,180,198,.55);border-radius:16px;background:#f7f4ee}
.assistantLanguageSettings legend{padding:0 8px;font-weight:850;color:#0a1d3a}
.assistantLanguageSettings>p{margin:0 0 12px;color:#607086;font-size:9px;line-height:1.45;text-transform:none;letter-spacing:0}
.assistantLanguageGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}
.assistantLanguageGrid label{display:flex;align-items:center;gap:8px;min-height:40px;padding:8px 10px;border:1px solid rgba(169,180,198,.45);border-radius:11px;background:#fff;color:#0a1d3a;font-size:9px;font-weight:700;letter-spacing:0;text-transform:none}
.assistantLanguageGrid input{inline-size:18px;block-size:18px;accent-color:#0a1d3a}
.assistantDefaultLanguage{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(140px,220px);align-items:center;gap:12px;margin-top:12px;color:#0a1d3a!important;font-weight:800!important;letter-spacing:0!important;text-transform:none!important}
@media(max-width:560px){.assistantLanguageGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.assistantDefaultLanguage{grid-template-columns:1fr}}
.platformClientCard progress{display:block;width:100%;height:8px;margin:3px 0 12px;border:0;border-radius:999px;overflow:hidden;background:#e8edf3;accent-color:#0a1d3a}
.platformClientCard progress::-webkit-progress-bar{background:#e8edf3}
.platformClientCard progress::-webkit-progress-value{border-radius:999px;background:#0a1d3a}
.platformClientCard progress::-moz-progress-bar{border-radius:999px;background:#0a1d3a}
.platformInterventionStart{grid-template-columns:minmax(0,1fr) auto;align-items:center;border-color:rgba(44,62,87,.3);background:linear-gradient(135deg,#f8fafc,#eef2f7)}
.platformInterventionStart small{color:#2c3e57;font-size:10px;font-weight:950;letter-spacing:.13em}.platformInterventionStart h2{margin:4px 0 5px}.platformInterventionStart p{max-width:780px;margin:0;color:var(--soft);font-size:12px;line-height:1.5}.platformInterventionStart .btn{white-space:nowrap}
.platformInterventionMetrics{margin:2px 0 0}.platformInterventionLists{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.platformInterventionLists article{min-width:0;border:1px solid var(--line);border-radius:15px;padding:13px;background:#fff}.platformInterventionLists b{color:#0a1d3a}.platformInterventionLists p{margin:7px 0 0;color:var(--soft);font-size:11px;line-height:1.7;overflow-wrap:anywhere}
.platformInterventionActions{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap;padding-top:4px}
.platformConfigurationEditors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.platformConfigurationGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.platformConfigurationGrid label,.platformServiceEditorRow label{display:grid;gap:5px}.platformConfigurationGrid label>span,.platformServiceEditorRow label>span{color:var(--soft);font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.platformConfigurationEditors .platformSection>.btn{justify-self:end}.platformServiceEditor{display:grid;gap:9px}.platformServiceEditorRow{display:grid;grid-template-columns:minmax(140px,1fr) 105px 105px 60px;gap:8px;align-items:end;border:1px solid var(--line);border-radius:14px;padding:10px;background:#fff}.platformServiceActive{justify-items:center}.platformServiceActive input{width:22px;height:22px;margin:6px 0;accent-color:#0a1d3a}
@media(max-width:900px){.platformConfigurationEditors{grid-template-columns:minmax(0,1fr)}}
@media(max-width:680px){.platformInterventionStart{grid-template-columns:minmax(0,1fr)}.platformInterventionStart .btn{width:100%}.platformInterventionLists,.platformConfigurationGrid{grid-template-columns:minmax(0,1fr)}.platformServiceEditorRow{grid-template-columns:minmax(0,1fr) minmax(90px,.5fr) minmax(90px,.5fr)}.platformServiceActive{grid-column:1/-1;grid-template-columns:1fr auto;align-items:center;justify-items:stretch}.platformInterventionActions{align-items:stretch;flex-direction:column}.platformInterventionActions .btn,.platformConfigurationEditors .platformSection>.btn{width:100%}}

/* Interface opérationnelle sobre — lisibilité caisse, tablette et mobile. */
:root{
  --cream:#fff;--paper:#fff;--ink:#172033;--soft:#5f6877;
  --line:#d9dde3;--black:#0a1d3a;--gold:#34465f;
  --shadow:0 2px 8px rgba(10,29,58,.06);--card-pad:clamp(17px,1.5vw,22px)
}
html{background:#fff}
body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:16px;line-height:1.5;background:#fff
}
button{transition:background-color .12s ease,border-color .12s ease,opacity .12s ease}
button:active:not(:disabled){transform:none}
.side{background:#0a1d3a}
.logo,.portalLogo,.avatar,.publicBookingBrand>span,.publicBookingFooterLogo{box-shadow:none}
.nav{gap:6px}.nav button{min-height:44px;border-radius:7px;font-size:15px}.nav button.active{box-shadow:none}
.main{padding-top:calc(clamp(22px,2vw,32px) + env(safe-area-inset-top))}
h2{font-size:clamp(31px,2.5vw,40px);letter-spacing:-.025em}h3{font-size:19px;letter-spacing:-.01em}
.hero,.card,.tool,.user,.metric,.lane,.ticket,.product,.tablechip,.moduleEmptyState,
.platformSection,.platformClientCard,.platformClientDetailHero,.workforceCard,
.restaurantLoginPanel,.portalChoicePanel,.workspaceProfilePanel,.workspaceProfileSection,
.publicBookingCard{background:#fff;box-shadow:var(--shadow);border-color:var(--line)}
.hero{border-radius:12px;background:#fff}.card{border-radius:10px}.metric,.lane,.ticket,.product,.tablechip{border-radius:8px}
.btn,.tool{min-height:46px;padding:11px 15px;border-radius:8px;font-size:15px;font-weight:650}
.primary,.gold{box-shadow:none!important}.search,.user,.input,select,textarea{border-radius:8px;background:#fff;font-size:16px;box-shadow:none}
.input,select,textarea{min-height:48px;padding:12px 14px}
.lulouSelectButton{min-height:48px;border-radius:8px;box-shadow:none}.lulouSelectValue{font-size:15px;font-weight:650}
.lulouSelectMenu{border-radius:10px;box-shadow:0 12px 32px rgba(10,29,58,.18)}
.lulouSelectMenuHead{padding:14px}.lulouSelectMenuHead small{font-size:12px;letter-spacing:0;text-transform:none}.lulouSelectMenuHead b{font-size:16px}
.lulouSelectOption{min-height:48px;border-radius:6px}.lulouSelectOption>span:last-child{font-size:15px;font-weight:600}
.lulouSelectCheck{width:24px;height:24px;border-radius:5px;background:#eef0f3}
.lulouSelectOption.selected{background:#e8edf3;color:#0a1d3a}.lulouSelectOption.selected .lulouSelectCheck{background:#0a1d3a;color:#fff}
.pill,.statusBadge,.statusChip,.miniTag,.aiModuleBadge,.aiPriority,.floorMergeBadge,.publicPrivateEventStatus{
  border-radius:5px;box-shadow:none;font-size:12px;letter-spacing:0;text-transform:none
}
.statusBadge::before{display:none}
.fieldLabel,.reservationForm label>span,.formGrid label>span,.platformConfigurationGrid label>span,
.platformServiceEditorRow label>span,.publicBookingControls label>span,.publicBookingFields label>span,
.publicBookingGroup>span,.publicPrivateEventForm label{
  font-size:13px;letter-spacing:0;text-transform:none;font-weight:650
}
.muted,.card small,.authLegal,.moduleEmptyState p{font-size:13px;line-height:1.45}
.app small{font-size:13px;letter-spacing:0}
.app>.side .brand small{font-size:12px}
.passEyebrow,.floorPaletteIntro>span,.floorInspectorHead>div>span,.floorAlignTools>span,
.deviceSettingsTitle small,.terminalProvisionActions article>span,.pairingCodeCard span,
.platformHero>div>small,.platformSectionTitle small,.platformClientCard header small,
.platformMetrics span,.platformMetric span,.reservationMetrics span,.communicationMetrics span,
.privateEventMetrics span,.commerceMetrics span,.workforceMetrics span{
  font-size:13px;letter-spacing:0;text-transform:none;font-weight:650
}
.platformMetrics small,.platformClientCard small,.platformSection small,.reservationMetrics small,
.communicationMetrics small,.privateEventMetrics small,.commerceMetrics small,.workforceMetrics small,
.communicationRow p,.communicationRow small,.commerceReservationIdentity small,
.commerceReservationActions small,.commerceHistoryRow small,.privateEventRow small,
.privateEventRow em,.privateEventDetailHead p,.giftCardRow small,.giftCardPublicSettings p{
  font-size:13px;line-height:1.4
}
.platformSectionTitle>span,.workspaceProfileSectionTitle>span,.onboardingStep>span{
  border-radius:6px;box-shadow:none
}
.onboardingStep{border-radius:8px;background:#fff}.onboardingStep.complete{background:#f5f7f6;border-color:#ccd5cf}
.onboardingStep.complete>span{background:#e7ece9;color:#365f43}.onboardingReady{border-radius:8px;background:#f3f6f4}
.table th{font-size:13px;letter-spacing:0;text-transform:none}.table td{font-size:15px}
.table td:first-child{border-radius:7px 0 0 7px}.table td:last-child{border-radius:0 7px 7px 0}
.moduleEmptyState{border-radius:10px;background:#fff}.moduleEmptyState>span{border-radius:8px}
.toast{border-radius:10px;box-shadow:0 12px 32px rgba(0,0,0,.22)}

/* L'aide intelligente reste disponible, sans codes visuels futuristes. */
.aiCompactAssistant{border:1px solid var(--line);border-left-width:1px;border-radius:9px;background:#fff;box-shadow:none}
.aiCompactAssistant.warning,.aiCompactAssistant.urgent{border-left-color:var(--line)}
.aiCompactAssistant>summary{grid-template-columns:30px minmax(0,1fr) auto 16px;min-height:62px;padding:12px 14px}
.aiCompactMark{width:28px;height:28px;border-radius:6px;background:#eef1f4;color:#34465f;font-size:0}
.aiCompactMark .uiIcon{width:17px;height:17px}
.aiCompactCopy small{color:var(--soft);font-size:12px;font-weight:600;letter-spacing:0;text-transform:none}
.aiCompactCopy b{font-size:15px;font-weight:700}
.aiCompactCount{min-width:0;height:auto;padding:0;border-radius:0;background:transparent;color:var(--soft);font-size:12px;font-weight:600}
.aiCompactReady{display:none}.aiCompactIntro p{font-size:14px}.aiSource{font-size:12px!important;letter-spacing:0!important;text-transform:none!important}
.aiNotice{border-radius:8px!important;box-shadow:none!important}.aiNotice.success{background:#f7f8f9!important}
.aiMiniBar{gap:7px}.aiExplain summary{font-size:13px}.aiMore summary{font-size:14px}
.mobileAiShortcut{display:none!important}

/* Connexion et choix d'espace : même sobriété que le logiciel. */
.authBackdrop,.restaurantAuthBackdrop,.entryPortalBackdrop{background:#fff}
.restaurantLoginPanel,.portalChoicePanel,.workspaceProfilePanel{border-radius:12px;box-shadow:0 8px 28px rgba(10,29,58,.1)}
.restaurantLoginButton{border-radius:8px!important;box-shadow:none;font-size:16px}
.portalChoice{min-height:190px;border-radius:10px;background:#fff}.portalChoice:hover,.portalChoice:focus-visible{transform:none;box-shadow:var(--shadow)}
.portalChoiceIcon,.workspaceProfileIcon{border-radius:8px}.portalChoiceCopy b{font-size:23px}.portalChoiceCopy em{font-size:14px}
.workspaceProfileSection{border-radius:9px}.workspaceProfileCard{border-radius:8px}.workspaceProfileCard:hover{transform:none;box-shadow:var(--shadow)}
.workspaceProfileCard small,.workspaceProfileSectionTitle small,.accountSpaceLabel{font-size:12px!important;letter-spacing:0!important;text-transform:none!important}
.workspaceProfileCard em{font-size:13px}.portalSessionPromise>span,.platformSecurityNote>span{display:none}

/* Tableau de bord : informations plus grandes, décor réduit. */
.dashIntro span{font-size:13px!important;letter-spacing:0!important;text-transform:none!important}
.dashIntro h2{font-size:clamp(34px,3vw,46px)}.dashIntro p{font-size:16px}
.homeActionGrid{gap:10px}.homeActionGrid button{border-radius:9px;box-shadow:none;background:#fff}
.homeActionGrid button>span:first-child{border-radius:7px}.homeActionGrid b{font-size:16px}.homeActionGrid small{font-size:13px}
.finalDash .kpiCard{border-radius:9px}.finalDash .kpiCard h3{font-size:15px}.finalDash .kpiValue{font-size:30px}.finalDash .kpiCard .muted{font-size:13px}
.kpiIcon{border-radius:7px!important}.homeServiceDetails{border-radius:9px!important}

/* Navigation mobile fixe, plate et lisible comme une application métier. */
@media(max-width:760px){
  body{font-size:16px;background:#fff}
  .mobileAppHeader{height:calc(66px + env(safe-area-inset-top));padding-inline:max(16px,env(safe-area-inset-left));background:#fff;border-bottom:1px solid var(--line);box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
  .mobileAppLogo{border-radius:8px;box-shadow:none}.mobileAppBrand small{font-size:11px;letter-spacing:.04em}.mobileAppBrand b{font-size:18px}
  .mobileAccountButton,.mobileHeaderActions>.readyShortcut{border-radius:8px;box-shadow:none}
  .mobileAppDock{left:0;bottom:0;width:100%;min-height:calc(66px + env(safe-area-inset-bottom));padding:4px max(6px,env(safe-area-inset-right)) max(4px,env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));border:0;border-top:1px solid var(--line);border-radius:0;background:#fff;box-shadow:none;transform:none}
  body.restaurantAppMode .mobileAppDock{transform:none}
  .mobileDockButton{position:relative;min-height:56px;border-radius:6px;padding:5px;color:#5f6877}
  .mobileDockButton.active{background:#eef1f4;color:#0a1d3a;box-shadow:none}
  .mobileDockButton.active::before{content:"";position:absolute;top:-5px;left:24%;right:24%;height:3px;background:#0a1d3a}
  .mobileDockButton .uiIcon{width:22px;height:22px;min-width:22px;min-height:22px}.mobileDockButton>span{font-size:12px;font-weight:650}
  .main{padding:calc(82px + env(safe-area-inset-top)) 14px calc(84px + env(safe-area-inset-bottom))}
  h2{font-size:31px}.page-head p{font-size:14px}
  .card{border-radius:9px;padding:17px}.btn{font-size:16px}
  .homeActionGrid button{min-height:72px;padding:12px}.homeActionGrid button>span:first-child{width:38px;height:38px}.homeActionGrid b{font-size:15px}.homeActionGrid small{font-size:12px}
  .finalDash .kpiCard{min-height:94px;padding:14px}.finalDash .kpiCard h3{font-size:14px}.finalDash .kpiValue{font-size:27px}.finalDash .kpiCard .muted{font-size:12px}
  .aiCompactAssistant>summary{grid-template-columns:30px minmax(0,1fr) auto 16px;min-height:62px;padding:12px}.aiCompactCopy b{font-size:14px}
  .lulouSelectMenu{border-radius:12px 12px 0 0}.lulouSelectOption{border-radius:6px}.lulouSelectOption>span:last-child{font-size:16px}
  .mobileSheetOverlay{background:rgba(10,29,58,.3)}.mobileAccountSheet,.mobileNavSheet{border-radius:12px 12px 0 0!important}
}
@media(max-width:430px){
  .homeActionGrid{grid-template-columns:minmax(0,1fr)}
  .finalDash .kpiRow{grid-template-columns:minmax(0,1fr)}.finalDash .kpiPrimary{grid-column:auto}
}

/* Tablette : espace réellement dimensionné pour l'iPad, distinct du téléphone. */
@media(min-width:761px) and (max-width:1280px){
  body.restaurantAppMode .app:not(.terminalApp){
    display:grid;grid-template-columns:224px minmax(0,1fr);height:100dvh;background:#fff
  }
  body.restaurantAppMode .app:not(.terminalApp)>.side{
    position:sticky;top:0;display:block;height:100dvh;overflow-y:auto;padding:22px 14px;
    border-right:1px solid rgba(255,255,255,.10);border-bottom:0;box-shadow:none;background:#0a1d3a
  }
  body.restaurantAppMode .side .brand{margin-bottom:20px;padding:0 5px}
  body.restaurantAppMode .side .logo{width:46px;height:46px;border-radius:9px}
  body.restaurantAppMode .side .brand h1{font-size:23px}
  body.restaurantAppMode .side .nav{display:grid;gap:6px}
  body.restaurantAppMode .side .mobileNav{display:none}
  body.restaurantAppMode .side .sideNote{display:block;margin-top:18px;border-radius:8px;box-shadow:none}
  body.restaurantAppMode .app:not(.terminalApp)>.main{
    width:100%;height:100dvh;max-width:none;margin:0;padding:26px 24px 46px;
    scroll-padding:24px;overflow-x:hidden;overflow-y:auto
  }
  body.restaurantAppMode .app:not(.terminalApp) .top{display:flex;align-items:center;flex-direction:row}
  body.restaurantAppMode .mobileAppHeader,body.restaurantAppMode .mobileAppDock,
  body.restaurantAppMode .mobileSheetOverlay{display:none!important}
  body.restaurantAppMode .grid{grid-template-columns:repeat(12,minmax(0,1fr))}
  body.restaurantAppMode .s3,body.restaurantAppMode .s4,body.restaurantAppMode .s5,
  body.restaurantAppMode .s6{grid-column:span 6}
  body.restaurantAppMode .s7,body.restaurantAppMode .s8,body.restaurantAppMode .s12{grid-column:span 12}
  body.restaurantAppMode .homeActionGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.restaurantAppMode .finalDash .kpiRow{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.restaurantAppMode .finalDash .kpiPrimary{grid-column:1/-1}
  body.restaurantAppMode .card{padding:20px}
  body.restaurantAppMode .card h3{font-size:19px}
  body.restaurantAppMode .btn{min-height:48px;font-size:16px}
  body.restaurantAppMode .moduleLayout{grid-template-columns:minmax(0,1fr)}
  body.restaurantAppMode .mobileDockButton>span{font-size:13px}
}

/* LULOU Operational UI — interface claire, dense et orientée service. */
:root{
  --cream:#fff;--paper:#fff;--ink:#0a1d3a;--soft:#667085;
  --line:#dfe3e8;--black:#0a1d3a;--gold:#2c3e57;
  --green:#2f7d57;--red:#c34843;--blue:#486783;
  --workspace:#f5f7fa;--hover:#f0f3f7;--selected:#e8eef6;
  --shadow:0 1px 2px rgba(10,29,58,.04),0 8px 24px rgba(10,29,58,.055);
  --content-max:1560px;--page-gap:16px;--card-pad:20px
}
html{background:var(--workspace)}
body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:15px;line-height:1.45;background:var(--workspace);color:var(--ink);
  letter-spacing:0
}
body::before,body::after{display:none!important}
button{font-weight:600}
button:active:not(:disabled){transform:none}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:2px solid #6d8eb1;outline-offset:2px
}
.app{grid-template-columns:244px minmax(0,1fr);background:var(--workspace)}
.side{
  padding:calc(18px + env(safe-area-inset-top)) 14px calc(18px + env(safe-area-inset-bottom));
  border-right:0;background:#0a1d3a;color:#fff
}
.brand{gap:10px;margin:0 4px 22px;padding:0 4px}
.logo{width:42px;height:42px;flex-basis:42px;border-radius:9px;box-shadow:none;font-size:19px}
.brand h1{font-size:22px;letter-spacing:.08em;font-weight:650}
.brand small{font-size:11px}
.nav{gap:12px}
.navGroup{gap:3px}
.navGroup>summary{padding:6px 10px;color:#a9b4c6;font-size:10px;letter-spacing:.12em}
.nav button{
  min-height:40px;padding:9px 10px;border:0;border-radius:7px;
  color:rgba(255,255,255,.76);font-size:14px;font-weight:500
}
.nav button:hover{background:rgba(255,255,255,.08);color:#fff}
.nav button.active{background:#fff;color:#0a1d3a;box-shadow:none;font-weight:700}
.nav button.active::before{display:none}
.nav .uiIcon{width:18px;height:18px;min-width:18px;min-height:18px}
.sideNote{margin-top:18px;padding:14px;border-radius:8px;background:rgba(255,255,255,.07);box-shadow:none}
.main{
  padding:calc(22px + env(safe-area-inset-top)) max(24px,env(safe-area-inset-right))
    calc(54px + env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left))
}
.top{margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.top>button,.top .tool,.tool,.user{border-radius:8px;box-shadow:none;background:#fff}
.page-head{margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.page-head h2,h2{font-size:clamp(28px,2.1vw,36px);line-height:1.12;letter-spacing:-.025em}
h3{letter-spacing:-.012em}
.hero{
  padding:24px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:none
}
.hero h2{font-size:clamp(32px,2.7vw,43px);letter-spacing:-.035em}
.hero p{font-size:16px}
.card{
  background:#fff;border:1px solid var(--line);border-radius:10px;
  padding:var(--card-pad);box-shadow:none
}
.card:hover{border-color:#cfd5dc}
.ticket,.lane,.serviceCard,.metric,.tablechip,.product{
  border-radius:8px;background:#fff;box-shadow:none
}
.ticket{padding:14px;margin-top:10px}
.btn,.tool{
  min-height:42px;padding:10px 14px;border-radius:7px;font-size:14px;font-weight:650;box-shadow:none
}
.btn:hover,.tool:hover{background:var(--hover);border-color:#cbd2da}
.primary{background:#0a1d3a!important;border-color:#0a1d3a!important;color:#fff!important}
.primary:hover{background:#102b50!important}
.secondary{background:#fff!important;border-color:#cfd5dc!important}
.pay{background:#2f7d57!important;border-color:#2f7d57!important}
.pill,.statusBadge{
  border-radius:5px;padding:5px 8px;font-size:11px;font-weight:650;box-shadow:none
}
.kpi{font-size:30px;font-weight:750;letter-spacing:-.035em}
.input,select,.textarea,input,textarea{
  border-radius:7px;border-color:#cfd5dc;background:#fff;box-shadow:none
}
.input,select{min-height:44px;padding:10px 12px}
.textarea{padding:11px 12px}
.formGrid{gap:14px}
.formGrid label>span,.reservationForm label>span,.fieldLabel{
  color:#475467;font-size:12px;font-weight:650;letter-spacing:0;text-transform:none
}
.table{border-spacing:0;background:#fff;border:1px solid var(--line);border-radius:9px}
.table th{padding:11px 13px;background:#f7f8fa;font-size:11px;font-weight:700;letter-spacing:.04em}
.table td{padding:12px 13px;background:#fff;border-top:1px solid var(--line);border-bottom:0}
.table td:first-child,.table td:last-child{border-left:0;border-right:0;border-radius:0}
.rowActions{gap:6px}
.toast{right:20px;bottom:20px;border-radius:9px;padding:14px 16px;box-shadow:0 16px 50px rgba(10,29,58,.22)}
.moduleEmptyState{
  min-height:132px;padding:22px;border:1px dashed #b9c2ce;border-radius:9px;background:#fafbfc
}
.moduleEmptyState>span{border-radius:8px;background:#e8eef6;color:#0a1d3a}
.lulouSelectButton{min-height:44px;padding:10px 12px;border-radius:7px;box-shadow:none}
.lulouSelectMenu{border-radius:9px;box-shadow:0 18px 55px rgba(10,29,58,.2)}
.lulouSelectOption{min-height:42px;border-radius:5px}
.lulouSelectOption.selected{background:#e8eef6;color:#0a1d3a}
.lulouSelectOption.selected .lulouSelectCheck{background:#0a1d3a;color:#fff}
.floorModeBar{border-radius:9px;box-shadow:none;background:#fff}
.floorModeSwitch{border-radius:7px;background:#edf1f5}
.floorDesigner,.miniFloor{
  border-radius:9px;box-shadow:none;background-color:#fff;
  background-image:linear-gradient(90deg,rgba(10,29,58,.04) 1px,transparent 1px),linear-gradient(rgba(10,29,58,.04) 1px,transparent 1px)
}
.floorObject,.seat{border-width:1px;border-radius:8px;box-shadow:0 2px 7px rgba(10,29,58,.12)}
.floorObject.free,.seat.free{background:#edf7f1;border-color:#7eb096}
.floorObject.reserved,.seat.reserved{background:#edf2f8;border-color:#7890aa}
.floorObject.busy,.seat.busy{background:#fbeeed;border-color:#d77b76}
.floorObject.selected{outline:3px solid rgba(72,103,131,.22);border-color:#486783}
.reservationWorkspaceNav{
  gap:2px;padding:3px;border:1px solid var(--line);border-radius:9px;background:#fff
}
.reservationWorkspaceNav>button{min-height:44px;border:0;border-radius:6px;font-size:12px}
.reservationWorkspaceNav>button.active{background:#0a1d3a;color:#fff}
.reservationDateBar>button,.reservationDateBar>label{border-radius:7px;box-shadow:none}
.reservationDateBar>label{background:#0a1d3a}
.reservationServiceTabs{gap:4px;padding:3px;border-radius:8px;background:#e9edf2}
.reservationServiceTab{min-height:42px;border-radius:6px;background:transparent}
.reservationServiceTab.active{background:#fff;box-shadow:0 1px 3px rgba(10,29,58,.1)}
.reservationMetrics>div{border-radius:8px;background:#fff;border:1px solid var(--line)}
.reservationAgendaCard{
  border-radius:8px;border:1px solid var(--line);box-shadow:none;background:#fff
}
.reservationAgendaCard:hover{border-color:#aeb9c6;background:#fbfcfd}
.reservationAgendaTime{border-radius:6px;background:#0a1d3a;color:#fff}
.reservationAgendaStatus .statusBadge{white-space:nowrap}
.crmAvatar,.commerceReservationIdentity>span{border-radius:7px}
.calendarSettingsGrid,.commerceWorkspace,.privateEventWorkspace{gap:16px}
.homeActionGrid{gap:10px}
.homeActionGrid button{
  min-height:82px;border-radius:9px;background:#fff;border:1px solid var(--line);box-shadow:none
}
.homeActionGrid button:hover{border-color:#9eabb9;background:#fafbfc}
.homeActionGrid button>span:first-child{border-radius:7px;background:#e9eef5;color:#0a1d3a}
.homeActionGrid b{font-size:16px}.homeActionGrid small{font-size:13px}
.finalDash .kpiRow{gap:10px}
.finalDash .kpiCard{border-radius:9px;box-shadow:none;background:#fff}
.aiCompactAssistant,.assistantCard,.aiCard{
  border-radius:9px!important;background:#f7f8fa!important;border:1px solid var(--line)!important;
  border-left:3px solid #8c99a8!important;box-shadow:none!important
}
.aiCompactAssistant>summary{min-height:58px}
.aiCompactAssistant .passEyebrow,.assistantCard .passEyebrow{color:#667085}
.aiBadge,.assistantBadge{background:#e8ebef!important;color:#344054!important}
.authShell,.portalShell{background:#f5f7fa}
.authCard,.portalCard{
  border-radius:12px;background:#fff;border:1px solid var(--line);box-shadow:0 16px 50px rgba(10,29,58,.09)
}
.authCard input,.portalCard input{border-radius:7px}

@media(min-width:1281px){
  .main{max-width:none;width:100%}
  .reservationAgendaLayout{grid-template-columns:minmax(480px,1.2fr) minmax(360px,.8fr)}
  .builder{grid-template-columns:minmax(0,1fr) 320px}
}

@media(min-width:761px) and (max-width:1280px){
  body.restaurantAppMode .app:not(.terminalApp){grid-template-columns:216px minmax(0,1fr);background:var(--workspace)}
  body.restaurantAppMode .app:not(.terminalApp)>.side{background:#0a1d3a;padding:20px 12px}
  body.restaurantAppMode .app:not(.terminalApp)>.main{padding:22px 20px 42px;background:var(--workspace)}
  body.restaurantAppMode .card{padding:18px}
}

@media(max-width:760px){
  :root{--page-gap:12px;--card-pad:16px}
  body{font-size:16px;background:#fff}
  body.restaurantAppMode .app:not(.terminalApp)>.main{background:#fff;padding-bottom:calc(88px + env(safe-area-inset-bottom))}
  .mobileAppHeader{background:#fff;border-bottom:1px solid var(--line);box-shadow:none}
  .mobileAppHeader .logo{border-radius:8px}
  .mobileAppHeader h2{font-size:22px;letter-spacing:-.02em}
  .mobileAppDock{
    left:0;right:0;bottom:0;width:100%;max-width:none;min-height:68px;margin:0;
    padding:6px max(8px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));
    border:0;border-top:1px solid var(--line);border-radius:0;background:rgba(255,255,255,.97);box-shadow:0 -4px 18px rgba(10,29,58,.06)
  }
  .mobileDockButton{min-height:54px;border-radius:7px;color:#667085}
  .mobileDockButton.active{background:#e8eef6;color:#0a1d3a;box-shadow:none}
  .mobileDockButton>span{font-size:11px;font-weight:650}
  .card{border-radius:8px}
  .hero{padding:18px;border-radius:8px}
  .hero h2{font-size:31px}
  .page-head{padding-bottom:12px}
  .page-head h2,h2{font-size:29px}
  .homeActionGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .homeActionGrid button{min-height:76px;padding:11px}
  .reservationWorkspaceNav{display:flex;border-left:0;border-right:0;border-radius:0;margin-inline:-16px;padding-inline:14px}
  .reservationWorkspaceNav>button{flex-basis:92px;min-width:92px;font-size:11px}
  .reservationAgendaCard{grid-template-columns:76px minmax(0,1fr)}
  .reservationAgendaTime{min-height:58px}
  .reservationForm{grid-template-columns:minmax(0,1fr)}
  .reservationDate,.reservationTime,.reservationDuration,.reservationService,.reservationGuests,.reservationCustomer,.reservationPhone,.reservationEmail,.reservationTableField,.reservationDietary,.reservationNotes{grid-column:1/-1}
  .btn{min-height:44px;font-size:15px}
  .toast{left:12px;right:12px;bottom:calc(80px + env(safe-area-inset-bottom))}
  .mobileAccountSheet,.mobileNavSheet,.lulouSelectMenu{border-radius:10px 10px 0 0!important}
}

/* Poste de pilotage : la situation réelle du service passe avant les statistiques. */
.serviceOverview{
  display:grid;gap:18px;padding:22px;border:1px solid var(--line);border-radius:10px;background:#fff
}
.serviceOverviewHead{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}
.serviceOverviewHead h3{margin:4px 0 5px;font-size:25px;color:#0a1d3a}
.serviceOverviewHead p{margin:0;color:#667085;font-size:15px;line-height:1.5}
.sectionEyebrow{color:#667085;font-size:11px;font-weight:750;letter-spacing:.12em;text-transform:uppercase}
.serviceStatusGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);border-radius:8px;overflow:hidden}
.serviceStatusGrid button{display:grid;gap:5px;padding:14px 16px;border:0;border-right:1px solid var(--line);background:#fff;color:#0a1d3a;text-align:left;cursor:pointer}
.serviceStatusGrid button:last-child{border-right:0}
.serviceStatusGrid button:hover{background:#f7f9fb}
.serviceStatusGrid strong{font-size:24px;line-height:1}
.serviceStatusGrid span{display:flex;align-items:center;gap:7px;color:#667085;font-size:12px;font-weight:650}
.statusDot{width:8px;height:8px;border-radius:50%;background:#9aa8b8}.statusDot.free{background:#4d8b64}.statusDot.reserved{background:#5f7696}.statusDot.busy{background:#c4514c}
.arrivalStrip{display:grid;grid-template-columns:150px minmax(0,1fr);align-items:start;gap:16px;padding-top:2px}
.arrivalStrip>span{padding-top:10px;color:#334155;font-size:13px;font-weight:750}
.arrivalStrip>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.arrivalStrip button{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 10px;padding:9px 10px;border:1px solid var(--line);border-radius:7px;background:#f8fafc;color:#0a1d3a;text-align:left;cursor:pointer}
.arrivalStrip button:hover{border-color:#9eabb9;background:#fff}
.arrivalStrip b{grid-row:1/3;font-size:14px}.arrivalStrip span{overflow:hidden;font-size:13px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.arrivalStrip small{color:#667085;font-size:11px}

@media(max-width:900px){
  .serviceOverview{padding:18px}
  .serviceOverviewHead{align-items:stretch;flex-direction:column;gap:14px}.serviceOverviewHead .btn{width:100%}
  .serviceStatusGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.serviceStatusGrid button:nth-child(2){border-right:0}.serviceStatusGrid button:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .arrivalStrip{grid-template-columns:1fr}.arrivalStrip>span{padding-top:0}.arrivalStrip>div{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(min-width:761px) and (max-width:1050px){
  .reservationWorkspaceNav{display:flex;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin}
  .reservationWorkspaceNav>button{flex:0 0 132px;min-width:132px;scroll-snap-align:start;white-space:nowrap}
  .reservationWorkspaceNav>button>span{overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal}
}
@media(max-width:560px){
  .serviceOverview{gap:14px;padding:15px;border-radius:8px}
  .serviceOverviewHead h3{font-size:22px}.serviceOverviewHead p{font-size:14px}
  .serviceStatusGrid strong{font-size:21px}.serviceStatusGrid button{padding:12px}
  .arrivalStrip>div{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:3px;scrollbar-width:none}.arrivalStrip>div::-webkit-scrollbar{display:none}.arrivalStrip button{min-width:164px;scroll-snap-align:start}
}

/* Compte desktop compact : les contrôles d’administration restent disponibles sans former un bandeau. */
.desktopAccountMenu{position:relative;min-width:0}
.desktopAccountMenu>summary{
  display:grid;grid-template-columns:34px minmax(0,1fr) 10px;align-items:center;gap:10px;
  min-width:230px;min-height:48px;padding:6px 10px;border:1px solid var(--line);border-radius:8px;
  background:#fff;color:#0a1d3a;cursor:pointer;list-style:none
}
.desktopAccountMenu>summary::-webkit-details-marker{display:none}
.desktopAccountMenu>summary>span:nth-child(2){display:grid;min-width:0}
.desktopAccountMenu>summary b,.desktopAccountMenu>summary small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.desktopAccountMenu>summary b{font-size:13px}.desktopAccountMenu>summary small{color:#667085;font-size:11px;font-weight:500}
.desktopAccountAvatar{display:grid;place-items:center;width:34px;height:34px;border-radius:7px;background:#0a1d3a;color:#fff;font-size:13px;font-weight:750}
.desktopAccountMenu>summary i{width:7px;height:7px;border-right:1.5px solid #667085;border-bottom:1.5px solid #667085;transform:rotate(45deg) translateY(-2px)}
.desktopAccountMenu[open]>summary{border-color:#9eabb9;background:#f8fafc}
.desktopAccountMenu[open]>summary i{transform:rotate(225deg)}
.desktopAccountPopover{
  position:absolute;z-index:120;top:calc(100% + 8px);right:0;display:grid;gap:12px;width:min(330px,calc(100vw - 32px));
  padding:14px;border:1px solid var(--line);border-radius:9px;background:#fff;box-shadow:0 18px 44px rgba(10,29,58,.16)
}
.desktopAccountContext{display:grid;gap:2px;padding-bottom:11px;border-bottom:1px solid var(--line)}
.desktopAccountContext span,.desktopAccountContext small{color:#667085;font-size:11px}.desktopAccountContext b{font-size:15px}
.desktopAccountPopover .profilePreviewPicker{min-width:0}.desktopAccountPopover .profilePreviewPicker>span{color:#667085;font-size:10px}
.desktopAccountActions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.desktopAccountActions .btn{width:100%}

/* Salle & réservations — lecture immédiate, actions explicites et palette LULOU. */
.reservationTableSuggest{
  grid-column:span 1;display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;
  min-height:58px;padding:9px 11px;border:1px dashed #9eabb9;border-radius:7px;background:#f8fafc;
  color:#0a1d3a;text-align:left;cursor:pointer
}
.reservationTableSuggest:hover{border-color:#486783;background:#eef3f8}
.reservationTableSuggest>span:first-child{display:grid;place-items:center;width:34px;height:34px;border-radius:7px;background:#e8eef6;color:#0a1d3a}
.reservationTableSuggest .uiIcon{width:18px;height:18px}
.reservationTableSuggest b,.reservationTableSuggest small{display:block}
.reservationTableSuggest b{font-size:13px;line-height:1.2}
.reservationTableSuggest small{margin-top:3px;color:#667085;font-size:10px;font-weight:500;line-height:1.2}
.floorServiceTopbar{border-radius:10px;background:#fff;box-shadow:none}
.floorServiceBoard{border-radius:10px;background:#fff;box-shadow:none}
.floorServiceRail{background:#fff}
.floorServiceMetrics article{border-color:#dfe3e8;border-radius:8px;background:#f8fafc;box-shadow:none}
.floorServiceMetrics article:nth-child(2),.floorServiceMetrics article:nth-child(3),.floorServiceMetrics article:nth-child(4){background:#f8fafc}
.floorServiceScene{background:#f5f7fa}
.floorServiceScene>header{background:#fff}
.floorServiceMap{background-color:#f8fafc;background-image:linear-gradient(rgba(10,29,58,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(10,29,58,.035) 1px,transparent 1px);background-size:28px 28px}
.floorServiceTable{border-color:#8ca0b3;border-radius:8px;background:#fff;color:#0a1d3a;box-shadow:0 2px 7px rgba(10,29,58,.09)}
.floorServiceTable.bench{border-radius:10px}
.floorServiceTable.merged{box-shadow:0 0 0 3px rgba(72,103,131,.14),0 2px 7px rgba(10,29,58,.09)}
.floorServiceTable:hover,.floorServiceTable:focus-visible{outline:3px solid rgba(72,103,131,.16);box-shadow:0 4px 12px rgba(10,29,58,.13)}
.floorServiceTable.focused{outline:4px solid rgba(72,103,131,.18);box-shadow:0 0 0 2px #0a1d3a,0 4px 12px rgba(10,29,58,.13)}
.floorServiceTable.reserved{border-color:#486783;background:#e8eef6}
.floorServiceTable.busy{border-color:#0a1d3a;background:#0a1d3a;color:#fff}
.floorServiceTable.reserved .floorServiceTableTop i{background:#486783}
.floorServiceTable.busy .floorServiceTableTop i{background:#fff}
.floorServiceTable>em{border-color:#fff;border-radius:5px;background:#2c3e57}
.floorServiceMergeBadge{border-color:#fff;border-radius:5px;background:#486783}
.floorSceneAction,.floorReservationCard{border-radius:8px;box-shadow:none}
.floorServiceScene>footer{background:#fff}
@media(max-width:680px){.reservationTableSuggest{grid-column:1/-1}.floorServiceBoard{border-radius:10px}.floorServiceScene{border-radius:9px 9px 0 0}.floorServiceRail{border-radius:0 0 9px 9px}}

/* Parcours d'accueil : une progression unique et une seule action principale. */
.reservationAgendaCard{grid-template-areas:"time guest contact status" "time journey journey journey" "time actions actions actions"}
.reservationJourney{grid-area:journey;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:2px 0 3px;padding:0;list-style:none}
.reservationJourney li{position:relative;display:flex;align-items:center;gap:6px;min-width:0;color:#8a94a3;font-size:10px;font-weight:650;white-space:nowrap}
.reservationJourney li::after{content:"";position:absolute;z-index:0;left:24px;right:5px;top:10px;height:1px;background:#dfe3e8}
.reservationJourney li:last-child::after{display:none}
.reservationJourney span{position:relative;z-index:1;display:grid;place-items:center;width:20px;height:20px;flex:0 0 20px;border:1px solid #cfd5dc;border-radius:50%;background:#fff;font-size:9px}
.reservationJourney li.done{color:#0a1d3a}.reservationJourney li.done::after{background:#7890aa}.reservationJourney li.done span{border-color:#0a1d3a;background:#0a1d3a;color:#fff}
.reservationAgendaActions .btn.primary{min-width:138px}
@media(max-width:760px){.reservationAgendaCard{grid-template-areas:"time guest status" "journey journey journey" "contact contact contact" "actions actions actions"}.reservationJourney{padding-top:4px}}
@media(max-width:560px){.reservationAgendaCard{grid-template-areas:"time guest" "status status" "journey journey" "contact contact" "actions actions"}.reservationJourney li{justify-content:center;font-size:0}.reservationJourney li::after{left:55%;right:-45%}.reservationJourney span{font-size:9px}}

.reservationWaitlist{display:grid;grid-template-columns:210px minmax(0,1fr);gap:16px;margin-bottom:12px;padding:15px;border:1px solid #cfd8e3;border-left:4px solid #486783;border-radius:8px;background:#f4f7fb}
.reservationWaitlist h3,.reservationWaitlist p{margin:0}.reservationWaitlist h3{margin-top:3px;font-size:17px}.reservationWaitlist p{margin-top:4px;color:#667085;font-size:11px;line-height:1.4}
.waitlistRows{display:grid;gap:7px}.waitlistRow{display:grid;grid-template-columns:28px minmax(150px,1fr) minmax(145px,.7fr) auto;align-items:center;gap:10px;padding:9px 10px;border:1px solid #dfe3e8;border-radius:7px;background:#fff}
.waitlistRow>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#0a1d3a;color:#fff;font-size:11px;font-weight:750}.waitlistRow b,.waitlistRow small{display:block}.waitlistRow b{font-size:13px}.waitlistRow small{margin-top:2px;color:#667085;font-size:10px}.waitlistRow>strong{color:#334155;font-size:11px;font-weight:650}
@media(max-width:900px){.reservationWaitlist{grid-template-columns:1fr}.waitlistRow{grid-template-columns:28px minmax(0,1fr) auto}.waitlistRow>strong{grid-column:2/-1}.waitlistRow>div:last-child{grid-column:3;grid-row:1}}
@media(max-width:560px){.reservationWaitlist{padding:12px}.waitlistRow{grid-template-columns:28px minmax(0,1fr)}.waitlistRow>strong,.waitlistRow>div:last-child{grid-column:2}.waitlistRow>div:last-child{grid-row:auto}.waitlistRow .btn{width:100%}}
.reservationMore{position:relative}.reservationMore>summary{display:grid;place-items:center;min-height:36px;padding:6px 10px;border:1px solid #cfd5dc;border-radius:7px;background:#fff;color:#334155;font-size:11px;font-weight:650;cursor:pointer;list-style:none}.reservationMore>summary::-webkit-details-marker{display:none}.reservationMore>div{position:absolute;z-index:30;right:0;top:calc(100% + 5px);display:grid;min-width:190px;padding:5px;border:1px solid #dfe3e8;border-radius:7px;background:#fff;box-shadow:0 12px 30px rgba(10,29,58,.14)}.reservationMore button{padding:9px;border:0;border-radius:5px;background:#fff;color:#0a1d3a;text-align:left;font-size:11px;font-weight:650}.reservationMore button:hover{background:#f0f3f7}.reservationMore button.danger{color:#a33f3a}

/* PAD : poste de service tactile, dense et stable en paysage. */
.padLineQuantity{display:inline-block;min-width:32px;margin-right:6px;font-size:12px;font-weight:500;color:#667085}
.employeePadShell .padTableTile.unassigned{opacity:.48;cursor:not-allowed;box-shadow:none;filter:saturate(.35)}.padTableTile.unassigned .padTableFoot .uiIcon{width:14px;height:14px}
@media(min-width:900px) and (orientation:landscape){
  .employeePadShell .padPage.padTablePage{background:#f0f4f9;padding:18px}
  .employeePadShell .padTablePage .padTableGrid{grid-template-columns:repeat(auto-fill,minmax(155px,190px));grid-auto-rows:210px;gap:20px}
  .employeePadShell .padTablePage .padTableTile{min-height:210px;border:0;border-radius:14px;box-shadow:none}
  .employeePadShell .padTablePage .padTableTile>strong{font-size:14px;font-weight:500}
  .employeePadShell .padTablePage .padTableTile.free{border-radius:28px;background:rgba(255,255,255,.6)}
  .employeePadShell .padTablePage .padTableTile .padTableState{font-size:12px;font-weight:500}
}
.padTableSwitcher{min-width:0;display:flex;align-items:stretch;justify-self:center;gap:5px;width:min(780px,100%);padding:5px;border:1px solid #dfe5ec;border-radius:22px;background:#fff;box-shadow:0 8px 24px rgba(10,29,58,.08)}
.padTableSwitcher .padTableSearch{display:grid;place-items:center;flex:0 0 48px;color:#0a1d3a;border-right:1px solid #e5e9ef}.padTableSwitcher .padTableSearch .uiIcon{width:21px;height:21px}
.padTableSwitcher .padTableTabs{min-width:0;display:flex;flex:1;gap:5px;overflow-x:auto;padding:0;scrollbar-width:none}.padTableSwitcher .padTableTabs::-webkit-scrollbar{display:none}
.padTableSwitcher .padTableTabs button{flex:0 0 108px;min-height:50px;border:0;border-radius:14px;background:#f2f5f8;color:#2c3e57;text-align:left;padding:7px 10px;cursor:pointer;transition:background .16s ease,color .16s ease,transform .16s ease}.padTableSwitcher .padTableTabs button:hover{background:#e8edf3}.padTableSwitcher .padTableTabs button:active{transform:scale(.98)}.padTableSwitcher .padTableTabs button.active{border:0;background:#0a1d3a;color:#fff;box-shadow:0 5px 12px rgba(10,29,58,.2)}
.padTableSwitcher .padTableTabs b{display:block;font-size:12px}.padTableSwitcher .padTableTabs small{display:flex;align-items:center;gap:9px;margin-top:4px;opacity:.76}.padTableSwitcher .padTableTabs small span{display:flex;align-items:center;gap:3px;font-size:9px}.padTableSwitcher .padTableTabs small .uiIcon{width:11px;height:11px;min-width:11px;min-height:11px}
.padTableAddQuick{display:grid;place-items:center;flex:0 0 48px;border:0;border-radius:14px;background:#0a1d3a;color:#fff;cursor:pointer;box-shadow:0 5px 12px rgba(10,29,58,.18)}.padTableAddQuick:hover{background:#16345d}.padTableAddQuick .uiIcon{width:20px;height:20px}
.padBottomNav button span{display:grid;place-items:center}.padBottomNav button span .uiIcon{width:20px;height:20px;min-width:20px;min-height:20px}.padCategories button>span{display:grid;place-items:center}.padCategories button>span .uiIcon{width:18px;height:18px;min-width:18px;min-height:18px}.padSearch>span{display:grid;place-items:center}.padSearch>span .uiIcon{width:19px;height:19px}
.padFloorPage{min-width:0}.padFloorHeader{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:5px 2px}.padFloorHeader h2,.padFloorHeader p{margin:0}.padFloorHeader h2{margin-top:2px;font-size:29px}.padFloorHeader p{margin-top:3px;color:#667085;font-size:11px}.padFloorLegend{display:flex;align-items:center;gap:7px}.padFloorLegend span{display:flex;align-items:center;gap:5px;min-height:39px;padding:6px 10px;border:1px solid #e0e5eb;border-radius:12px;background:#fff;color:#536174;font-size:10px;font-weight:750}.padFloorLegend i{width:8px;height:8px;border-radius:50%;background:#668f75}.padFloorLegend .reserved i{background:#7890aa}.padFloorLegend .busy i{background:#0a1d3a}.padFloorLegend b{color:#0a1d3a;font-size:14px}.padFloorScene{min-width:0;overflow:hidden;border:1px solid #dfe5ec;border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(10,29,58,.07)}.padFloorMapViewport{background:#f5f8fb}.padFloorMap{min-height:560px}.padFloorTable{transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease}.padFloorTable.assigned{cursor:pointer}.padFloorTable.unassigned{opacity:.34;filter:saturate(.35);cursor:default}.padFloorScene>footer{display:flex;align-items:center;justify-content:center;gap:22px;min-height:42px;padding:8px 12px;border-top:1px solid #e2e7ed;color:#667085;font-size:10px;font-weight:700}.padFloorScene>footer span{display:flex;align-items:center;gap:6px}.padFloorScene>footer .uiIcon{width:16px;height:16px}
.padCatalogBody{display:grid;grid-template-areas:"categories" "products";gap:10px}.padCatalogBody>.padProductGrid{grid-area:products}.padCatalogBody>.padCategories{grid-area:categories}.padDietary>summary{display:flex;align-items:center;justify-content:space-between;min-height:42px;cursor:pointer;list-style:none;font-size:12px;font-weight:850}.padDietary>summary::-webkit-details-marker{display:none}.padDietary>summary::after{content:"＋";color:#486783}.padDietary[open]>summary::after{content:"−"}.padProduct.course-starter{border-color:#b7c9da;background:#eef4f9}.padProduct.course-main{border-color:#b7c6d6;background:#e8eef6}.padProduct.course-drink{border-color:#c8d7d0;background:#edf5f1}.padProduct.course-dessert{border-color:#d7c8b5;background:#f7f1e8}.padProduct.course-other{border-color:#d8dce2;background:#f5f6f8}.padCourseHeading{grid-column:1/-1;margin:5px 0 0;padding:2px 1px;color:#536174;font-size:15px;font-weight:800}.padTableToolbar{display:flex;align-items:center;justify-content:center;gap:10px}.padTableToolbar>label{position:relative;width:min(520px,55vw)}.padTableToolbar>label span{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:20px}.padTableToolbar input{width:100%;min-height:48px;padding:8px 14px 8px 43px;border:1px solid #cfd7e2;border-radius:24px;background:#fff;font:inherit}.padTableToolbar>div{display:flex;align-items:center;gap:8px;min-height:48px;padding:7px 13px;border:1px solid #cfd7e2;border-radius:12px;background:#fff}.padTableToolbar>div span,.padTableToolbar>div b{font-size:11px}.padTableCardHead{grid-area:head;display:flex;align-items:flex-start;justify-content:space-between;gap:6px;margin:-12px -12px 4px;padding:10px 11px 9px;border-radius:8px 8px 0 0;background:#486783;color:#fff}.padTableCardHead .padTableName{font-size:16px!important}.padTableCardHead small{color:#fff;opacity:.92}.padTableStaff{color:#536174;font-size:11px;font-style:italic}.padTableFacts{display:flex;gap:15px;color:#24334a}.padTableFacts b{font-size:12px}.padTableFoot{display:flex;align-items:center;justify-content:space-between;margin:5px -12px -12px;padding:8px 11px;border-top:1px solid #dce2e9;background:#eef2f7}.padTableFoot small{color:#2c3e57}.padTableFoot b{font-size:15px}.padTableTimer{font-variant-numeric:tabular-nums;font-weight:800}.padTableTile.free{place-items:center;align-content:center;text-align:center;background:rgba(255,255,255,.82);border-color:transparent}.padTableAdd{display:grid;place-items:center;width:50px;height:50px;margin:auto;border-radius:50%;background:#fff;color:#0a1d3a;font-size:35px;font-weight:300}.padTableTile.free .padTableName{font-size:22px}.padTableCapacity{color:#24334a!important;font-size:11px}.padTableTile.reserved .padTableCardHead{background:#7890aa}.padTableTile.hasReady .padTableCardHead{background:#0a1d3a}
@media(min-width:900px) and (orientation:landscape){
  body.restaurantAppMode .employeePadShell .employeeTerminalBar{position:fixed;inset:0 auto 0 0;z-index:60;width:98px;min-height:100dvh;display:flex;flex-direction:column;justify-content:flex-start;gap:14px;padding:14px 8px;border:0;border-right:1px solid rgba(255,255,255,.1);background:linear-gradient(180deg,#0a1d3a,#102746);box-shadow:4px 0 18px rgba(10,29,58,.16)}
  .employeePadShell .employeeTerminalBrand,.employeePadShell .employeeTerminalIdentity{width:100%;display:grid;justify-items:center;gap:7px;text-align:center}.employeePadShell .employeeTerminalBrand>span{width:48px;height:48px}.employeePadShell .employeeTerminalBrand b{font-size:12px}.employeePadShell .employeeTerminalBrand small{font-size:8px}.employeePadShell .employeeTerminalIdentity>div{max-width:78px}.employeePadShell .employeeTerminalIdentity b,.employeePadShell .employeeTerminalIdentity small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px}.employeePadShell .terminalSettingsButton{width:46px;padding:8px}.employeePadShell .terminalSettingsButton span{display:none}
  .employeePadShell .employeeTerminalIdentity b,.employeePadShell .employeeTerminalIdentity small{color:#fff}.employeePadShell .employeeTerminalMain{min-height:100dvh;margin-left:98px;padding:10px 12px 12px;background:#fff}.employeePadShell .padPage{gap:9px}.employeePadShell .padOrderTop{min-height:64px;padding:0}.employeePadShell .padOrderTop h2{font-size:24px}.employeePadShell .padOrderTop p{font-size:11px}.employeePadShell .padOrderTop .passEyebrow{display:none}.employeePadShell .padBack{min-height:46px;border:0;border-radius:50px;background:#eef2f7}.employeePadShell .padOrderTotal{min-width:116px;padding:7px 11px;border-radius:8px}.employeePadShell .padOrderTotal b{font-size:21px}
  .employeePadShell .padTableSwitcher{position:absolute;left:50%;top:10px;z-index:3;width:min(520px,42vw);max-width:calc(100vw - 610px);min-height:52px;transform:translateX(-50%);border-radius:19px;padding:4px;box-shadow:0 6px 18px rgba(10,29,58,.08)}.employeePadShell .padTableSwitcher .padTableSearch{flex-basis:42px}.employeePadShell .padTableSwitcher .padTableTabs button{flex-basis:88px;min-height:42px;padding:5px 8px;border-radius:12px}.employeePadShell .padTableSwitcher .padTableTabs small{font-size:8px}.employeePadShell .padTableAddQuick{flex-basis:42px;border-radius:12px}
  .employeePadShell .padOrderLayout{grid-template-columns:minmax(320px,28vw) minmax(0,1fr);gap:12px;align-items:stretch}.employeePadShell .padBasket{grid-column:1;grid-row:1;position:relative;top:auto;min-height:calc(100dvh - 92px);max-height:calc(100dvh - 92px);padding:14px;border-radius:10px;background:#fff;box-shadow:0 0 0 1px #e4e8ed}.employeePadShell .padBasketLines{max-height:none;min-height:0;overflow:auto}.employeePadShell .padBasketLine{border-width:0 0 1px;border-radius:0;padding:10px 3px;background:#fff}.employeePadShell .padQty{grid-template-columns:42px 1fr 42px}.employeePadShell .padQty button{width:42px;height:38px;border-radius:6px}.employeePadShell .padDietary{padding-top:6px}.employeePadShell .padDietary textarea{min-height:58px}.employeePadShell .padSendBar{margin-top:auto}.employeePadShell .padSendBar .btn{min-height:54px;border-radius:8px}
  .employeePadShell .padCatalog{grid-column:2;grid-row:1;min-height:calc(100dvh - 92px);max-height:calc(100dvh - 92px);padding:12px;border:0;border-radius:10px;background:#f6f8fb;box-shadow:none;overflow:hidden}.employeePadShell .padCatalogTools{grid-template-columns:minmax(220px,1fr) auto;align-items:center;margin-bottom:10px}.employeePadShell .padCatalogTools>small{text-align:right}.employeePadShell .padCatalogBody{height:calc(100% - 56px);grid-template-columns:minmax(0,1fr) 100px;grid-template-areas:"products categories";gap:10px}.employeePadShell .padProductGrid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));grid-auto-rows:auto;align-content:start;gap:8px;overflow:auto;padding-right:2px}.employeePadShell .padProduct{height:100px;min-height:100px;padding:10px;border:0;border-radius:9px;box-shadow:0 2px 5px rgba(10,29,58,.08);color:#fff}.employeePadShell .padProduct>span{font-size:14px}.employeePadShell .padProduct>b{font-size:16px;color:inherit}.employeePadShell .padProduct small{font-size:9px;color:inherit;opacity:.82}.employeePadShell .padProduct.course-starter{background:#2c3e57}.employeePadShell .padProduct.course-main{background:#486783}.employeePadShell .padProduct.course-drink{background:#7890aa}.employeePadShell .padProduct.course-dessert{background:#a9b4c6;color:#0a1d3a}.employeePadShell .padProduct.course-other{background:#d8e0ea;color:#0a1d3a}.employeePadShell .padProduct.out{background:#e8ebef;color:#8b929c;box-shadow:none}.employeePadShell .padCourseHeading{margin:7px 0 1px;color:#526176;font-size:17px}.employeePadShell .padCategories{height:100%;display:flex;flex-direction:column;gap:7px;padding:0;overflow-y:auto}.employeePadShell .padCategories button{min-height:62px;display:grid;place-items:center;gap:2px;padding:6px 4px;border:0;border-radius:9px;background:#e8eef6;color:#0a1d3a;font-size:10px}.employeePadShell .padCategories button>span{font-size:19px}.employeePadShell .padCategories button.active{background:#0a1d3a;color:#fff;box-shadow:0 4px 10px rgba(10,29,58,.2)}
  .employeePadShell .padBottomNav{position:fixed!important;left:-98px!important;right:auto!important;top:222px;bottom:auto;z-index:65;width:98px;display:flex;flex-direction:column;gap:7px;padding:7px;background:transparent;border:0;border-radius:0;box-shadow:none;transform:none!important;backdrop-filter:none}.employeePadShell .padBottomNav button{min-height:68px;padding:6px 2px;border-radius:9px;color:#d6deea;font-size:10px}.employeePadShell .padBottomNav button span{font-size:21px}.employeePadShell .padBottomNav button.active{background:#fff;color:#0a1d3a;box-shadow:0 3px 12px rgba(0,0,0,.18)}.employeePadShell .padBottomNav button em{right:4px;top:3px}
  .employeePadShell .employeeTerminalBar .padBottomNav{position:static!important;left:auto!important;right:auto!important;top:auto;bottom:auto;width:100%;display:flex;flex-direction:column;gap:7px;margin:0;padding:0;background:transparent;transform:none!important}
  .employeePadShell .padOrderLayout{grid-template-columns:minmax(270px,27%) minmax(0,1fr);gap:10px}
  .employeePadShell .padBasket{display:flex;flex-direction:column;gap:12px;border:0;border-radius:16px;background:#fff;box-shadow:none;padding:18px 14px}
  .employeePadShell .padBasketHead{border:0;padding-bottom:8px}.employeePadShell .padBasketHead h3{font-size:19px;font-weight:500}.employeePadShell .padBasketHead p{font-size:12px}
  .employeePadShell .padBasketLines{display:grid;align-content:start;gap:0;flex:1;overflow:auto}.employeePadShell .padBasketLine{align-content:start;align-items:start;gap:7px;padding:12px 3px;border-color:#edf0f4}.employeePadShell .padBasketLine>div:first-child b{font-size:14px;font-weight:500}.employeePadShell .padBasketLine .statusBadge{justify-self:start;width:auto;min-height:0;padding:2px 5px;border:0;background:#f1f4f8;font-size:9px;line-height:1.3}.employeePadShell .padBasketPrice{font-size:14px;font-weight:500}.employeePadShell .padRepeat{justify-self:start;min-height:30px;padding:4px 9px;font-size:11px;font-weight:500;border:0;border-radius:8px;background:#f1f4f8}.employeePadShell .padQty{grid-template-columns:34px 38px 34px;justify-content:start;gap:3px}.employeePadShell .padQty button{width:34px;height:30px;font-size:19px}.employeePadShell .padQty b{font-size:13px}
  .employeePadShell .padCatalog{border-radius:16px;background:#fff;padding:12px 8px}.employeePadShell .padCatalogBody{grid-template-columns:minmax(0,1fr) 76px;gap:8px}.employeePadShell .padProductGrid{grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:8px}.employeePadShell .padProduct{height:78px;min-height:78px;grid-template-rows:minmax(0,1fr) auto;gap:3px;padding:9px;border-radius:12px;box-shadow:none}.employeePadShell .padProduct>span{font-size:14px;font-weight:500;line-height:1.22;overflow:hidden}.employeePadShell .padProduct>b{justify-self:end;font-size:12px;font-weight:500}.employeePadShell .padProduct small{display:none}.employeePadShell .padProduct.out{opacity:.52;background:#f0f2f5;color:#778395}.employeePadShell .padCourseHeading{display:flex;align-items:center;gap:7px;margin:10px 0 0;font-size:17px;font-weight:600;color:#728096}.employeePadShell .padCategories button{min-height:68px;border-radius:11px;font-weight:500;font-size:10px;box-shadow:none}.employeePadShell .padCategories .uiIcon{width:24px;height:24px;stroke-width:1.4}
  .employeePadShell .padTablePage{background:#f0f4f9;padding:18px}.employeePadShell .padTableGrid{grid-template-columns:repeat(auto-fill,minmax(155px,190px));grid-auto-rows:210px;gap:20px}.employeePadShell .padTableTile{min-height:210px;border:0;border-radius:14px;padding:12px;overflow:hidden;box-shadow:none}.employeePadShell .padTableTile:not(.free){grid-template-rows:auto auto auto auto 1fr auto}.employeePadShell .padTableCardHead{margin:-12px -12px 5px;padding:10px 12px;background:#486783;border-radius:14px 14px 0 0;display:grid;gap:5px}.employeePadShell .padTableCardHead .padTableName{font-size:17px!important;font-weight:500}.employeePadShell .padTableCardHead small{font-size:10px;font-weight:400}.employeePadShell .padTableTile .padTableState{font-size:12px;font-weight:500}.employeePadShell .padTableTile>strong{font-size:14px;font-weight:500}.employeePadShell .padTableStaff{font-size:12px}.employeePadShell .padTableFacts{gap:12px;align-items:end}.employeePadShell .padTableFacts b{font-size:11px;font-weight:500}.employeePadShell .padTableFoot{padding:7px 10px;border:0;background:#e8edf5}.employeePadShell .padTableFoot b{font-size:16px;font-weight:600}.employeePadShell .padTableFoot small{font-size:10px;font-weight:400}.employeePadShell .padTableTile.free{background:rgba(255,255,255,.6);border-radius:28px}.employeePadShell .padTableTile.free .padTableName{font-weight:500}.employeePadShell .padTableAdd{width:48px;height:48px;color:#486783}
  .employeePadShell .padFloorPage{height:calc(100dvh - 20px);grid-template-rows:auto minmax(0,1fr)}.employeePadShell .padFloorScene{min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto}.employeePadShell .padFloorMapViewport{min-height:0;overflow:auto}.employeePadShell .padFloorMap{min-height:100%;height:100%;min-width:760px}.employeePadShell .padFloorHeader{padding:0 3px}.employeePadShell .padFloorHeader h2{font-size:24px}
  .employeePadShell .padTablePage{min-height:calc(100dvh - 20px);margin:-10px -12px -12px;padding:12px;background:rgba(10,29,58,.045);align-content:start}.employeePadShell .padPageHead{padding:2px 4px}.employeePadShell .padPageHead h2{font-size:28px}.employeePadShell .padPageHead p{font-size:12px}.employeePadShell .padTableGrid{grid-template-columns:repeat(auto-fill,minmax(205px,240px));grid-auto-rows:208px;gap:12px;align-content:start}.employeePadShell .padTableTile{min-height:208px;padding:12px;border-width:1px;border-radius:9px;background:#fff;box-shadow:0 4px 12px rgba(10,29,58,.08)}.employeePadShell .padTableTile:not(.free){grid-template-areas:"head" "state" "customer" "staff" "facts" "foot";align-content:stretch}.employeePadShell .padTableTile .padTableState{text-transform:none;letter-spacing:0;font-size:13px}.employeePadShell .padTableTile>strong{font-size:15px}.employeePadShell .padTableTile.free{box-shadow:none}.employeePadShell .padTableTile.free .padTableName{font-size:24px}
}
/* Operational room: saved spatial positions, upright service cards. */
.employeePadShell .padFloorPage{grid-template-rows:auto auto minmax(0,1fr)}
.employeePadShell .padFloorMap{position:relative;width:100%;min-width:1200px;min-height:700px;height:auto;background:#eef2f7;background-image:none;overflow:visible}
.employeePadShell .padFloorMapViewport{overflow:auto;padding:0 170px 210px 0;background:#eef2f7}
.employeePadShell .padFloorMap .padPositionedTable{position:absolute;width:150px;height:200px;min-height:200px;display:grid;grid-template-rows:auto auto auto auto 1fr auto;gap:5px;padding:10px;border:0;border-radius:12px;background:#fff;color:#0a1d3a;box-shadow:0 3px 10px rgba(10,29,58,.07);overflow:hidden;text-align:left;transition:box-shadow .15s ease}
.employeePadShell .padFloorMap .padPositionedTable .padTableCardHead{display:grid;gap:3px;margin:-10px -10px 3px;padding:9px 10px;background:#486783;border-radius:12px 12px 0 0;color:#fff}
.employeePadShell .padPositionedTable .padTableCardHead small{color:#fff;font-size:10px}
.employeePadShell .padPositionedTable .padTableName{font-size:17px!important;font-weight:500}
.employeePadShell .padPositionedTable .padTableState{font-size:12px;text-transform:none;letter-spacing:0;font-weight:500}
.employeePadShell .padPositionedTable>strong{font-size:13px;font-weight:500}
.employeePadShell .padPositionedTable .padTableStaff{font-size:11px;font-style:italic}
.employeePadShell .padPositionedTable .padTableFacts{display:flex;gap:7px;align-items:end}
.employeePadShell .padPositionedTable .padTableFacts b{font-size:10px;font-weight:500}
.employeePadShell .padPositionedTable .padTableFoot{display:flex;justify-content:space-between;align-items:center;margin:3px -10px -10px;padding:8px;background:#e8edf5;border:0}
.employeePadShell .padPositionedTable .padTableFoot small{font-size:10px;font-weight:400}
.employeePadShell .padPositionedTable .padTableFoot b{font-size:14px;font-weight:600}
.employeePadShell .padFloorMap .padPositionedTable.free{grid-template-rows:1fr auto auto 1fr;justify-items:center;border-radius:24px;background:rgba(255,255,255,.7);box-shadow:none;text-align:center}
.employeePadShell .padPositionedTable.reserved .padTableCardHead{background:#7890aa}
.employeePadShell .padPositionedTable.hasReady .padTableCardHead{background:#0a1d3a}
.employeePadShell .padPositionedTable:not(:disabled):hover{box-shadow:0 0 0 2px #7890aa,0 5px 14px rgba(10,29,58,.1)}
.employeePadShell .padPositionedTable:focus-visible{outline:3px solid #0a1d3a;outline-offset:3px}

/* LULOU sign-in: centered brand, curved reveal, then credentials. */
.animatedLoginPanel{position:relative;isolation:isolate;overflow:hidden;min-height:690px;padding:260px 36px 30px;gap:18px;border-radius:24px;background:#fff}
.animatedLoginPanel .loginRevealCurve{position:absolute;z-index:-1;inset:0 0 auto;height:220px;background:#0a1d3a;border-radius:0 0 65% 35% / 0 0 90px 55px;animation:loginCurveReveal 1.5s cubic-bezier(.76,0,.24,1) both;pointer-events:none}
.animatedLoginPanel>.restaurantAuthWordmark{position:absolute;top:65px;left:50%;width:calc(100% - 72px);max-width:430px;max-height:105px;margin:0;transform:translateX(-50%);animation:loginBrandReveal 1.5s cubic-bezier(.76,0,.24,1) both;pointer-events:none}
.animatedLoginPanel>.authBackButton{position:absolute;z-index:2;top:18px;left:24px;color:#fff;font-size:12px}
.animatedLoginPanel>.accountSpaceLabel,.animatedLoginPanel>.restaurantAuthTitle,.animatedLoginPanel>.restaurantCredentials,.animatedLoginPanel>.restaurantAuthSecurity{animation:loginFormReveal 1.5s ease both}
.animatedLoginPanel>.restaurantAuthTitle{text-align:left;font-size:25px;font-weight:600}
.animatedLoginPanel>.accountSpaceLabel{text-align:left;margin:0;color:#526176;font-weight:500}
.animatedLoginPanel .restaurantAuthField .input{background:#f5f7fa;box-shadow:none;border:1px solid #e4e8ee;border-radius:10px}
.animatedLoginPanel .restaurantLoginButton{border-radius:28px!important;box-shadow:none;font-weight:600}
@keyframes loginCurveReveal{0%,25%{height:100%;border-radius:0}100%{height:220px;border-radius:0 0 65% 35% / 0 0 90px 55px}}
@keyframes loginBrandReveal{0%,25%{top:50%;transform:translate(-50%,-50%);opacity:0}35%{opacity:1}100%{top:65px;transform:translate(-50%,0);opacity:1}}
@keyframes loginFormReveal{0%,65%{opacity:0;transform:translateY(18px);visibility:hidden}100%{opacity:1;transform:none;visibility:visible}}
@media(max-width:560px){.restaurantAuthBackdrop:has(.animatedLoginPanel){padding:0;align-items:stretch}.animatedLoginPanel{width:100%;min-height:100dvh;border:0;border-radius:0;padding:260px 24px max(28px,env(safe-area-inset-bottom));box-shadow:none}.animatedLoginPanel>.authBackButton{top:max(18px,env(safe-area-inset-top))}.animatedLoginPanel>.restaurantAuthWordmark{width:calc(100% - 48px)}}
@media(prefers-reduced-motion:reduce){.animatedLoginPanel .loginRevealCurve,.animatedLoginPanel>.restaurantAuthWordmark,.animatedLoginPanel>.accountSpaceLabel,.animatedLoginPanel>.restaurantAuthTitle,.animatedLoginPanel>.restaurantCredentials,.animatedLoginPanel>.restaurantAuthSecurity{animation:none}}

/* Every authentication step is a full page, including the space selector. */
.fullPageAuthBackdrop{display:block;padding:0!important;overflow:auto;background:#fff;backdrop-filter:none}
.fullPageAuthBackdrop>.modalPanel{position:relative;isolation:isolate;display:grid;align-content:start;justify-items:stretch;width:100%;max-width:none;min-height:100dvh;max-height:none;margin:0;padding:270px max(24px,env(safe-area-inset-right)) max(32px,env(safe-area-inset-bottom));gap:20px;border:0;border-radius:0;background:#fff;box-shadow:none;overflow:hidden}
.fullPageAuthBackdrop>.modalPanel>.loginRevealCurve{position:absolute;z-index:-1;inset:0 0 auto;height:230px;width:100%;background:#0a1d3a;border-radius:0 0 65% 35% / 0 0 90px 55px;animation:fullPageCurveReveal 1.5s cubic-bezier(.76,0,.24,1) both;pointer-events:none}
.fullPageAuthBackdrop>.modalPanel>.restaurantAuthWordmark{position:absolute;left:50%;top:70px;width:calc(100% - 48px);max-width:430px;max-height:110px;margin:0;transform:translateX(-50%);animation:fullPageBrandReveal 1.5s cubic-bezier(.76,0,.24,1) both;pointer-events:none}
.fullPageAuthBackdrop>.modalPanel>:not(.loginRevealCurve):not(.restaurantAuthWordmark):not(.authBackButton){width:100%;max-width:560px;justify-self:center;margin-left:auto;margin-right:auto;animation:loginFormReveal 1.5s ease both}
.fullPageAuthBackdrop>.portalChoicePanel>.portalChoices,.fullPageAuthBackdrop>.portalChoicePanel>.portalChoiceBrand,.fullPageAuthBackdrop>.portalChoicePanel>.portalChoicePrivacy{max-width:880px!important}
.fullPageAuthBackdrop>.workspaceProfilePanel>:not(.loginRevealCurve):not(.restaurantAuthWordmark):not(.authBackButton){max-width:980px!important}
.fullPageAuthBackdrop .portalChoiceBrand>.portalLogo,.fullPageAuthBackdrop .publicAuthBrand>.aiMark{display:none}
.fullPageAuthBackdrop .portalChoiceBrand{justify-content:center;text-align:center}
.fullPageAuthBackdrop .portalChoicePrivacy{margin-top:8px}
.fullPageAuthBackdrop>.modalPanel>.authBackButton{position:absolute;z-index:5;top:max(20px,env(safe-area-inset-top));left:max(24px,env(safe-area-inset-left));display:inline-flex;align-items:center;min-height:44px;padding:10px 14px;border:1px solid rgba(255,255,255,.35);border-radius:22px;background:#0a1d3a;color:#fff;margin:0;font-size:14px;cursor:pointer}
@keyframes fullPageCurveReveal{0%,25%{height:100%;border-radius:0}100%{height:230px;border-radius:0 0 65% 35% / 0 0 90px 55px}}
@keyframes fullPageBrandReveal{0%,25%{top:50dvh;transform:translate(-50%,-50%);opacity:0}35%{opacity:1}100%{top:70px;transform:translate(-50%,0);opacity:1}}
@media(prefers-reduced-motion:reduce){.fullPageAuthBackdrop>.modalPanel>*{animation:none!important}}

/* Reference motion: one continuous curved reveal, no sliding veil or fake loader. */
.fullPageAuthBackdrop>.modalPanel>.loginRevealCurve{border-radius:0 0 100% 35% / 0 0 145px 45px;animation:referenceCurveReveal 1.15s cubic-bezier(.7,0,.25,1) both}
.fullPageAuthBackdrop>.modalPanel>.restaurantAuthWordmark{animation:referenceBrandReveal 1.15s cubic-bezier(.7,0,.25,1) both}
.fullPageAuthBackdrop>.modalPanel>:not(.loginRevealCurve):not(.restaurantAuthWordmark):not(.authBackButton){animation:referenceFormReveal 1.15s ease both}
@keyframes referenceCurveReveal{0%,18%{height:100%;border-radius:0}100%{height:230px;border-radius:0 0 100% 35% / 0 0 145px 45px}}
@keyframes referenceBrandReveal{0%,18%{top:50dvh;transform:translate(-50%,-50%)}100%{top:70px;transform:translate(-50%,0)}}
@keyframes referenceFormReveal{0%,55%{opacity:0;transform:translateY(12px);visibility:hidden}100%{opacity:1;transform:none;visibility:visible}}
@media(prefers-reduced-motion:reduce){.fullPageAuthBackdrop>.modalPanel>*{animation:none!important}}
.steadyPageRender .fullPageAuthBackdrop>.modalPanel>*{animation:none!important}
.fullPageAuthBackdrop .publicAuthBrand{grid-template-columns:minmax(0,1fr)}
.fullPageAuthBackdrop .publicAuthBrand>div{min-width:0;width:100%}

/* Submit motion from the reference: pill -> loader -> downward departure. */
.restaurantCredentials{justify-items:stretch}
.restaurantLoginButton{width:100%;justify-self:center;transition:width .35s cubic-bezier(.7,0,.25,1),border-radius .35s ease}
.restaurantLoginButton.loginButtonLoading{width:76px;min-width:76px;min-height:56px!important;padding:0;border-radius:28px!important;opacity:1;filter:none}
.loginButtonDots{display:flex;align-items:center;justify-content:center;gap:5px;height:20px}
.loginButtonDots i{width:6px;height:6px;border-radius:50%;background:#fff;opacity:.65}
.loginButtonDots i:nth-child(2){opacity:1;animation:loginDotGlide 1.2s ease-in-out infinite both}
.loginButtonDots i:nth-child(3){opacity:.65}
.authDeparture .fullPageAuthBackdrop{pointer-events:none}
#app.authDeparture .fullPageAuthBackdrop>.modalPanel>.loginRevealCurve{z-index:3;animation:authBandCover .8s cubic-bezier(.4,0,.2,1) both!important}
#app.authDeparture .fullPageAuthBackdrop>.modalPanel>.restaurantAuthWordmark{z-index:4;animation:authBrandFade .8s ease both!important}
.loginArrival .fullPageAuthBackdrop>.modalPanel>.loginRevealCurve,.loginArrival .fullPageAuthBackdrop>.modalPanel>.restaurantAuthWordmark{animation:none}
.loginArrival .fullPageAuthBackdrop>.modalPanel>:not(.loginRevealCurve):not(.restaurantAuthWordmark):not(.authBackButton){animation:none}
@keyframes loginDotGlide{0%,100%{transform:translateX(-11px)}50%{transform:translateX(11px)}}
@keyframes authBandCover{from{height:230px;border-radius:0 0 100% 35% / 0 0 145px 45px}to{height:100%;border-radius:0}}
@keyframes authBrandFade{from{opacity:1}to{opacity:0}}

/* Only the blue band moves; the page and form stay in place. */
.fullPageAuthBackdrop>.modalPanel>:not(.loginRevealCurve):not(.restaurantAuthWordmark){animation:none!important}
.downwardPageNavigation .fullPageAuthBackdrop>.modalPanel>*{animation:none!important}
.downwardPageNavigation .fullPageAuthBackdrop>.modalPanel>.loginRevealCurve{animation:authBandReveal 1s cubic-bezier(.22,.61,.36,1) both!important;z-index:3}
.downwardPageNavigation .fullPageAuthBackdrop>.modalPanel>.restaurantAuthWordmark{animation:authBrandReveal 1s ease both!important;z-index:4}
@keyframes authBandReveal{from{height:100%;border-radius:0}to{height:230px;border-radius:0 0 100% 35% / 0 0 145px 45px}}
@keyframes authBrandReveal{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.downwardPageNavigation .fullPageAuthBackdrop>.modalPanel>*,#app.authDeparture .fullPageAuthBackdrop>.modalPanel>*{animation:none!important;will-change:auto}}
@media(prefers-reduced-motion:reduce){.restaurantLoginButton{transition:none}.loginButtonDots i{animation:none;opacity:1}.authDeparture .fullPageAuthBackdrop,.loginArrival .fullPageAuthBackdrop>.modalPanel>*{animation:none!important}}

/* PAD floor workspace: one room surface, one coordinate system. */
body.restaurantAppMode .employeePadShell .employeeTerminalMain:has(.padFloorPage){padding:0;overflow:hidden;background:#edf2f8}
.employeePadShell .padFloorPage{position:relative;display:block;width:100%;height:100%;min-height:0;margin:0;padding:0;border:0;border-radius:0;background:#edf2f8;color:#0a1d3a;box-shadow:none;font-family:Arial,Helvetica,sans-serif}
.employeePadShell .padFloorPage>.padTableToolbar{position:absolute;z-index:4;top:max(16px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:8px;width:max-content;max-width:calc(100% - 32px);height:70px;margin:0;padding:8px 12px;border:0;border-radius:40px;background:rgba(255,255,255,.96);box-shadow:none}
.employeePadShell .padFloorPage .padFloorSearch{position:relative;display:flex;align-items:center;gap:0;flex:0 0 auto;width:48px;height:44px;padding:0 8px 0 0;margin:0;border:0;border-right:1px solid #dce3ec;border-radius:0;background:transparent;transition:width .18s ease}
.employeePadShell .padFloorPage .padFloorSearch>span{position:static;display:grid;place-items:center;flex-shrink:0;width:40px;height:44px;color:#2c3e57;transform:none}
.employeePadShell .padFloorSearch .uiIcon{width:24px;height:24px;stroke-width:1.6}
.employeePadShell .padFloorPage .padFloorSearch input{position:absolute;inset:0;width:100%;min-width:0;height:44px;padding:0 8px 0 40px;border:0;border-radius:0;background:transparent;font:14px Arial,Helvetica,sans-serif;color:#0a1d3a;opacity:0;cursor:text;box-shadow:none}
.employeePadShell .padFloorSearch:focus-within,.employeePadShell .padFloorSearch:has(input:not(:placeholder-shown)){width:210px}
.employeePadShell .padFloorSearch:focus-within input,.employeePadShell .padFloorSearch:has(input:not(:placeholder-shown)) input{opacity:1}
.employeePadShell .padZoneTabs{display:flex;align-items:center;gap:8px;min-width:0;overflow-x:auto;scrollbar-width:none}
.employeePadShell .padZoneTabs::-webkit-scrollbar{display:none}
.employeePadShell .padZoneTab{position:relative;display:grid;gap:7px;align-content:center;flex:0 0 auto;min-width:96px;height:54px;padding:8px 12px;border:0;border-radius:5px;background:#f0f2f6;color:#53657c;text-align:left;box-shadow:none;font:12px Arial,Helvetica,sans-serif;white-space:nowrap}
.employeePadShell .padZoneTab.active{background:#2c3e57;color:#fff}
.employeePadShell .padZoneTab>span{max-width:170px;overflow:hidden;text-overflow:ellipsis}
.employeePadShell .padZoneTab small{display:flex;gap:12px;color:inherit;font-size:11px;opacity:.85}
.employeePadShell .padZoneTab small>span{display:flex;align-items:center;gap:4px}
.employeePadShell .padZoneTab .uiIcon{width:13px;height:13px;stroke-width:1.5}
.employeePadShell .padNoZone{padding:12px;color:#65758a;font-size:13px}
.employeePadShell .padFloorScene{position:absolute;inset:108px 18px 18px;display:block;min-height:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.employeePadShell .padFloorMapViewport{position:relative;display:block;width:100%;height:100%;min-height:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#b8c6d6 transparent}
.employeePadShell .padFloorExtent{position:relative;min-width:100%;min-height:100%;overflow:hidden}
.employeePadShell .padFloorMap{position:absolute;top:0;min-width:0;min-height:0;max-width:none;max-height:none;aspect-ratio:auto;padding:0;border:0;border-radius:0;background:transparent;background-image:none;box-shadow:none;overflow:visible;transform-origin:top left}
.employeePadShell .padFloorMap .floorServiceFixture{z-index:0;box-shadow:none;background:#dbe4ef;color:#536881;border:1px solid #cbd7e5;border-radius:10px;font:13px Arial,Helvetica,sans-serif}
.employeePadShell .padFloorMap .floorServiceFixture.wall{background:#a9b4c6}
.employeePadShell .padFloorMap .padPositionedTable{position:absolute;z-index:1;box-sizing:border-box;display:grid;grid-template-rows:52px minmax(0,1fr) 30px;align-content:stretch;gap:0;width:160px;height:192px;min-height:192px;max-height:192px;padding:0;border:0;border-radius:5px 5px 0 0;background:#fff;color:#0a1d3a;box-shadow:none;overflow:visible;text-align:left;font:14px Arial,Helvetica,sans-serif;letter-spacing:normal;transition:box-shadow .15s ease;cursor:pointer}
.employeePadShell .padPositionedTable.busy::after{content:"";position:absolute;left:0;right:0;top:100%;height:7px;background:linear-gradient(135deg,#dbe4ef 25%,transparent 25%) -7px 0/14px 14px,linear-gradient(225deg,#dbe4ef 25%,transparent 25%) -7px 0/14px 14px;pointer-events:none}
.employeePadShell .padFloorMap .padPositionedTable .padTableCardHead{display:grid;align-content:center;gap:3px;min-width:0;margin:0;padding:7px 12px;border:0;border-radius:5px 5px 0 0;background:#405c7c;color:#fff;overflow:hidden}
.employeePadShell .padPositionedTable .padTableCardHead .padTableName{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px!important;font-weight:400;line-height:20px;letter-spacing:0;color:inherit}
.employeePadShell .padPositionedTable .padTableCardHead small{display:flex;gap:9px;min-width:0;overflow:hidden;font-size:10px;font-weight:400;line-height:12px;color:inherit;opacity:.86;white-space:nowrap}
.employeePadShell .padTableCardHead small>span{overflow:hidden;text-overflow:ellipsis}
.employeePadShell .padPositionedTable .padTableBody{display:flex;flex-direction:column;gap:6px;min-width:0;min-height:0;padding:11px 12px 10px;overflow:hidden}
.employeePadShell .padPositionedTable .padTableState{display:block;max-width:100%;padding:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:none;color:#0a1d3a;font-size:13px;font-weight:400;line-height:17px;text-transform:none;letter-spacing:0}
.employeePadShell .padPositionedTable .padTableStaff{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;line-height:18px;font-style:italic;font-weight:400;color:#2c3e57}
.employeePadShell .padPositionedTable .padTableCustomer{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:13px;color:#65758a}
.employeePadShell .padPositionedTable .padTableFacts{display:flex;align-items:center;gap:22px;margin-top:auto;padding:0;color:#0a1d3a}
.employeePadShell .padTableFacts>span,.employeePadShell .padTableCapacity{display:flex;align-items:center;gap:7px;font-size:15px;line-height:20px;font-weight:400}
.employeePadShell .padTableFacts .uiIcon,.employeePadShell .padTableCapacity .uiIcon{width:18px;height:20px;stroke-width:1.5}
.employeePadShell .padPositionedTable .padTableFoot{display:flex;align-items:center;justify-content:space-between;gap:6px;min-width:0;min-height:30px;margin:0;padding:5px 9px;border:0;border-radius:0;background:#dbe4ef;color:#0a1d3a}
.employeePadShell .padPositionedTable .padTableFoot small{display:flex;align-items:center;gap:4px;min-width:0;max-width:none;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:10px;font-weight:400;line-height:16px;font-variant-numeric:tabular-nums}
.employeePadShell .padPositionedTable .padTableFoot b{flex-shrink:0;white-space:nowrap;font-size:14px;font-weight:600;line-height:18px;font-variant-numeric:tabular-nums}
.employeePadShell .padPositionedTable .padTableFoot .uiIcon{width:14px;height:14px}
.employeePadShell .padFloorMap .padPositionedTable.free{display:flex;flex-direction:column;justify-content:flex-start;align-items:center;gap:14px;width:160px;height:192px;min-height:192px;padding:22px 12px;border-radius:30px;background:rgba(255,255,255,.57);box-shadow:none;text-align:center}
.employeePadShell .padPositionedTable.free .padTableAdd{display:grid;place-items:center;flex-shrink:0;width:52px;height:52px;margin:0;border:0;border-radius:50%;background:rgba(255,255,255,.78);color:#8ba0b9;font-weight:400}
.employeePadShell .padTableAdd .uiIcon{width:32px;height:32px;stroke-width:1.5}
.employeePadShell .padPositionedTable.free .padTableName{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:20px!important;line-height:25px;font-weight:400;color:#0a1d3a}
.employeePadShell .padPositionedTable .padTableCapacity{margin:0;color:#2c3e57}
.employeePadShell .padPositionedTable.reserved .padTableCardHead{background:#8c9fb6}
.employeePadShell .padPositionedTable.hasReady .padTableCardHead{background:#0a1d3a}
.employeePadShell .padPositionedTable.unassigned{opacity:.65;cursor:not-allowed}
.employeePadShell .padPositionedTable.unassigned .padTableCardHead{background:#7c8da2}
.employeePadShell .padPositionedTable:not(:disabled):hover{box-shadow:0 0 0 2px #a9b4c6}
.employeePadShell .padPositionedTable:not(:disabled):active{box-shadow:0 0 0 2px #2c3e57}
.employeePadShell .padPositionedTable:focus-visible,.employeePadShell .padZoneTab:focus-visible{outline:3px solid #0a1d3a;outline-offset:4px}
.employeePadShell .padFloorNoResults{position:absolute;inset:20px 20px auto;margin:0;padding:20px;border-radius:14px;background:#fff;color:#53657c;text-align:center;pointer-events:none}
.employeePadShell .padFloorNoResults[hidden]{display:none}
@media(min-width:760px){
  body.restaurantAppMode .employeePadShell .employeeTerminalMain:has(.padFloorPage){height:100dvh;min-height:0}
  .employeePadShell .padFloorPage{height:100dvh}
  .employeePadShell .padFloorPage>.padBottomNav{display:none}
  .employeePadShell .employeeTerminalBar{width:92px;padding:20px 8px;background:#0a1d3a;box-shadow:none}
  body.restaurantAppMode .employeePadShell .employeeTerminalMain{margin-left:92px}
  .employeePadShell .employeeTerminalBar .employeeTerminalBrand{margin-bottom:20px}
  .employeePadShell .employeeTerminalBrand>div,.employeePadShell .employeeTerminalConnection.online{display:none}
  .employeePadShell .employeeTerminalIdentity{gap:14px}
  .employeePadShell .employeeTerminalIdentity>div b{font-size:12px;line-height:18px;color:#fff}
  .employeePadShell .employeeTerminalIdentity>div small{font-size:10px;font-weight:400;color:#a9b4c6}
  .employeePadShell .employeeTerminalBar .padBottomNav{position:static;display:flex;flex-direction:column;gap:18px;width:100%;margin-top:28px;padding:0;border:0;background:transparent;box-shadow:none}
  .employeePadShell .employeeTerminalBar .padBottomNav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-width:0;width:100%;min-height:82px;margin:0;padding:10px 3px;border:0;border-radius:9px;background:transparent;color:#c8d3e2;font:11px Arial,Helvetica,sans-serif;box-shadow:none}
  .employeePadShell .employeeTerminalBar .padBottomNav button.active{background:#fff;color:#0a1d3a}
  .employeePadShell .employeeTerminalBar .padBottomNav .uiIcon{width:25px;height:25px;stroke-width:1.5}
}
@media(max-width:759px){
  .employeePadShell .padFloorPage{height:calc(100dvh - 90px);min-height:350px}
  .employeePadShell .padFloorScene{inset:96px 10px 80px}
  .employeePadShell .padFloorPage>.padTableToolbar{top:12px;max-width:calc(100% - 20px);height:64px;padding:6px 8px;gap:6px}
  .employeePadShell .padZoneTab{min-width:90px;height:50px}
  .employeePadShell .padFloorSearch:focus-within,.employeePadShell .padFloorSearch:has(input:not(:placeholder-shown)){width:150px}
}
@media(prefers-reduced-motion:reduce){.employeePadShell .padFloorSearch,.employeePadShell .padPositionedTable{transition:none}}
