/* TicketBrio Venue Studio V3 — Lavande & Perle */
.tbv-root{--tbv3-primary:#554c87;--tbv3-ink:#26354f;--tbv3-mute:#748198;color:var(--tbv3-ink);font-family:inherit;max-width:none!important;box-sizing:border-box}
.tbv-root *{box-sizing:border-box}.tbv-root button,.tbv-root input,.tbv-root select{font:inherit}.tbv-root button{cursor:pointer}.tbv-root button:focus-visible,.tbv-root input:focus-visible,.tbv-root select:focus-visible{outline:3px solid #b2a3e3;outline-offset:2px}
.tbv3-shell{width:100%;min-width:0;background:#f8f6fd;border:1px solid #e6e4ec;border-radius:14px;overflow:hidden;box-shadow:0 12px 42px #252c450e}.tbv3-head{background:#fff;display:flex;align-items:center;gap:14px;min-height:65px;padding:10px 16px;border-bottom:1px solid #eceaf2}.tbv3-brand{display:flex;flex-direction:column;min-width:120px;line-height:1.15}.tbv3-brand b{font-size:18px;color:#343254}.tbv3-brand small{font-size:9px;letter-spacing:1.5px;font-weight:750;color:#756ba7}.tbv3-head>input{min-width:125px;flex:1;max-width:360px;border:1px solid transparent;background:#f7f6fc;border-radius:8px;padding:10px 12px;font-weight:650;color:#283551}.tbv3-head-actions{display:flex;align-items:center;gap:6px;margin-left:auto;flex-wrap:wrap}.tbv3-head button,.tbv3-toolbar button,.tbv3-side button,.tbv3-import{color:#393d5a;background:#fff;border:1px solid #e0dfeb;border-radius:8px;padding:8px 11px;min-height:36px;font-size:12px;font-weight:650;line-height:1.25;transition:background .12s,border-color .12s}.tbv3-head button:hover,.tbv3-toolbar button:hover,.tbv3-side button:hover,.tbv3-import:hover{background:#eeebf8;border-color:#bdb6db}.tbv3-head .tbv3-save,.tbv3-side .tbv3-mainbtn{color:#fff;background:#554c87;border-color:#554c87}.tbv3-head .tbv3-save:hover,.tbv3-side .tbv3-mainbtn:hover{background:#413970;color:#fff}.tbv3-import{display:inline-flex;align-items:center;cursor:pointer}.tbv3-toolbar{padding:8px 10px;display:flex;align-items:center;gap:6px;flex-wrap:wrap;background:#fff;border-bottom:1px solid #e9e8f0}.tbv3-toolbar button.is-active{background:#eeeafd;color:#51458e;border-color:#bfb5e2}.tbv3-divider{height:26px;width:1px;background:#e7e5eb;margin:0 3px}.tbv3-spacer{flex:1}.tbv3-toolbar span[data-f=capacity]{font-weight:700;color:#43506b;white-space:nowrap;font-size:12px}.tbv3-toolbar span[data-f=zoom]{font-size:12px;white-space:nowrap;min-width:45px;text-align:center}
.tbv3-layout{display:grid;grid-template-columns:280px minmax(0,1fr) 275px;height:min(83vh,900px);min-height:650px}.tbv3-side{min-width:0;background:#fff}.tbv3-left{border-right:1px solid #e6e8f0}.tbv3-right{border-left:1px solid #e6e8f0}.tbv3-side-scroll{height:100%;overflow-y:auto;padding:17px}.tbv3-side h3{font-size:12px;text-transform:uppercase;letter-spacing:.065em;color:#64648c;margin:20px 0 11px;padding-top:14px;border-top:1px solid #eeeef2}.tbv3-side h3:first-child{border:0;padding:0;margin-top:0}.tbv3-side button{max-width:100%;margin:2px 0}.tbv3-side label{display:block;color:#647089;font-size:11px;font-weight:650;margin:9px 0}.tbv3-side label>input,.tbv3-side label>select,.tbv3-side>select,.tbv3-side-scroll>select{display:block;width:100%;min-width:0;margin-top:5px;padding:8px;border:1px solid #dfe3ec;color:#293a56;background:#fff;border-radius:8px;font-size:12px}.tbv3-two{display:grid;grid-template-columns:1fr 1fr;gap:8px}.tbv3-note{font-size:11px;line-height:1.55;color:#738099;margin:8px 0}.tbv3-shortcode{padding:10px 9px;background:#f2effa;color:#554c87;font-size:11px;overflow-wrap:anywhere;border-radius:8px;margin-top:12px}.tbv3-models{display:grid;grid-template-columns:1fr 1fr;gap:6px}.tbv3-models button{min-height:46px;white-space:normal;background:#f8f6ff;color:#4d457e}.tbv3-side .tbv3-mainbtn{display:block;width:100%;margin-top:12px;padding:11px}.tbv3-side .tbv3-danger{color:#a13d4d;border-color:#f0d6dc;background:#fff8f8}.tbv3-cat{display:grid;grid-template-columns:37px minmax(0,1fr) 31px;gap:6px;align-items:center;margin:6px 0}.tbv3-cat input[type=color]{height:34px;width:37px;border:1px solid #dedde6;border-radius:7px;padding:2px}.tbv3-cat input:not([type=color]){min-width:0;width:100%;border:1px solid #e3e3e9;border-radius:7px;padding:8px;font-size:11px}.tbv3-cat button{padding:5px}.tbv3-selected{display:flex;justify-content:space-between;gap:8px;margin:4px 0 10px}.tbv3-selected small{color:#8990a0;font-size:10px}.tbv3-layer{display:block;width:100%;text-align:left;background:#fff;border-color:transparent!important;font-size:11px!important}.tbv3-layer.current{background:#efedfc!important;color:#564c90!important;font-weight:750}
.tbv3-work{display:flex;flex-direction:column;background:#eef1f7;min-width:0;min-height:0}.tbv3-breadcrumb{display:flex;gap:4px;min-height:41px;align-items:center;flex-wrap:wrap;padding:6px 10px;background:#fff;border-bottom:1px solid #e8e9ee}.tbv3-breadcrumb button{background:#f7f5fc;border:1px solid #e6e2f0;color:#52498e;border-radius:6px;padding:6px 10px;font-size:11px;cursor:pointer}.tbv3-board{flex:1;min-height:300px;overflow:auto;padding:14px;outline:0;overscroll-behavior:contain}.tbv3-stage{min-width:380px;transform-origin:top left}.tbv3-svg{width:100%;height:auto;display:block;background:#f6f8fc;border-radius:9px;box-shadow:0 8px 20px #33435d12;user-select:none;touch-action:none}.tbv3-svg [data-id]:hover{filter:drop-shadow(0 1px 3px #5e66a44d)}.tbv3-foot{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;background:#fff;border-top:1px solid #e9e9ee;padding:10px 14px;color:#64738d;font-size:11px}.tbv3-error{color:#b43d50!important}.tbv3-ok{color:#256a59!important}
.tbv3-hide-left .tbv3-layout{grid-template-columns:0 minmax(0,1fr) 275px}.tbv3-hide-left .tbv3-left{display:none}.tbv3-hide-right .tbv3-layout{grid-template-columns:280px minmax(0,1fr) 0}.tbv3-hide-right .tbv3-right{display:none}.tbv3-hide-left.tbv3-hide-right .tbv3-layout{grid-template-columns:0 minmax(0,1fr) 0}.tbv3-fullscreen{position:fixed!important;z-index:999999!important;inset:0!important;width:100vw!important;height:100vh!important;max-width:none!important;background:#fff}.tbv3-fullscreen .tbv3-shell{border-radius:0;height:100%;display:flex;flex-direction:column}.tbv3-fullscreen .tbv3-layout{height:auto;flex:1;min-height:0}.tbv3-body-fullscreen{overflow:hidden!important}
.tbv3-viewer{border:1px solid #e6e7ef;background:#fff;border-radius:14px;overflow:hidden}.tbv3-public-head,.tbv3-public-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;padding:13px 16px}.tbv3-public-head strong{display:block}.tbv3-public-head small{display:block;color:#72819c;margin-top:3px}.tbv3-public-head button{padding:8px 11px;border-radius:7px;border:1px solid #dfe3ed;background:white;color:#37445c}.tbv3-public-nav{display:flex;gap:6px;padding:8px 16px;background:#f8f6fd;flex-wrap:wrap}.tbv3-public-nav button{border:1px solid #ddd8eb;border-radius:7px;background:#fff;padding:7px 10px;color:#554c87}.tbv3-public-scroll{overflow:auto;padding:12px;background:#eef1f7}.tbv3-public-canvas{min-width:360px}.tbv3-public-canvas svg{cursor:pointer}.tbv3-public-foot{font-size:12px;color:#6a758c}.tbv3-view-loading{padding:24px;text-align:center}
@media(max-width:1100px){.tbv3-layout{grid-template-columns:235px minmax(0,1fr) 230px}.tbv3-head{flex-wrap:wrap}.tbv3-hide-left .tbv3-layout{grid-template-columns:0 minmax(0,1fr) 230px}.tbv3-hide-right .tbv3-layout{grid-template-columns:235px minmax(0,1fr) 0}}
@media(max-width:750px){.tbv3-head{padding:9px;gap:8px}.tbv3-head-actions{width:100%}.tbv3-layout,.tbv3-hide-left .tbv3-layout,.tbv3-hide-right .tbv3-layout{display:flex;flex-direction:column;height:auto}.tbv3-side-scroll{max-height:450px}.tbv3-work{min-height:550px}.tbv3-board{min-height:450px}.tbv3-hide-left .tbv3-left,.tbv3-hide-right .tbv3-right{display:none}.tbv3-fullscreen .tbv3-work{flex:1}.tbv3-fullscreen .tbv3-left,.tbv3-fullscreen .tbv3-right{display:none}}
@media(prefers-reduced-motion:reduce){.tbv3-head button,.tbv3-toolbar button{transition:none}}

/* V3.1 : espace de conception agrandi, panneau réversible et fenêtre autonome */
.tbv3-layout{height:clamp(680px,calc(100vh - 235px),1400px);min-height:680px;grid-template-columns:minmax(220px,255px) minmax(0,1fr) minmax(220px,255px)}
.tbv3-stage{min-width:0}.tbv3-board{padding:12px;position:relative}.tbv3-svg{max-width:none}
.tbv3-focus .tbv3-layout{grid-template-columns:0 minmax(0,1fr) 0!important;height:clamp(700px,calc(100vh - 190px),1600px)}
.tbv3-focus .tbv3-left,.tbv3-focus .tbv3-right{display:none!important}
.tbv3-head-actions button[data-a="detach"]{background:#f1eff9;color:#554c87;border-color:#cac4e4}
.tbv3-head-actions button[data-a="focus"]{background:#edf6f1;color:#256a59;border-color:#c5dfd2}
body.tbv3-standalone{margin:0!important;padding:0!important;background:#f8f6fd;overflow:hidden}
.tbv3-workspace-main,.tbv3-standalone .tbv-root,.tbv3-standalone .tbv3-shell{width:100%;height:100vh;max-width:none!important;min-width:0}
.tbv3-standalone .tbv3-shell{display:flex;flex-direction:column;border:0;border-radius:0}
.tbv3-standalone .tbv3-layout{height:auto;min-height:0;flex:1}
.tbv3-standalone .tbv3-focus .tbv3-layout{height:auto;min-height:0;flex:1}
.tbv3-standalone .tbv3-board{min-height:0}
.tbv3-standalone .tbv3-side-scroll{overscroll-behavior:contain}
@media (max-width:850px){.tbv3-layout{grid-template-columns:200px minmax(0,1fr) 200px}.tbv3-head-actions button[data-a="detach"]{display:none}}
@media (max-width:750px){.tbv3-layout{height:auto;min-height:0}.tbv3-standalone{overflow:auto!important}.tbv3-standalone .tbv3-layout{height:auto}.tbv3-focus .tbv3-layout{min-height:480px;height:70vh}}
/* La zone centrale reste dans la colonne flexible même lorsque le panneau gauche disparaît. */
.tbv3-hide-left .tbv3-work{grid-column:2}
@media(max-width:750px){.tbv3-hide-left .tbv3-work{grid-column:auto}}
/* V3.2 · atelier de rangées et catalogue de sécurité/technique */
.tbv3-toolbar .tbv32-prominent{background:#554c87;border-color:#554c87;color:white}.tbv3-toolbar .tbv32-prominent:hover{background:#42396e;color:#fff}
.tbv32-tools{display:grid;grid-template-columns:1fr 1fr;gap:5px}.tbv32-tools button{font-size:11px!important;min-height:40px;white-space:normal;text-align:left}
.tbv32-modal[hidden]{display:none!important}.tbv32-modal{position:fixed;inset:0;z-index:1000001;background:#0f1933b3;display:grid;place-items:center;padding:18px;overflow:auto;color:#26354f}
.tbv32-dialog{background:#fff;box-shadow:0 18px 90px #0b15324d;border-radius:16px;width:min(1180px,98vw);max-height:min(94vh,1100px);display:flex;flex-direction:column;overflow:hidden}
.tbv32-dialog>header,.tbv32-dialog>footer{padding:14px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:#faf9ff}
.tbv32-dialog>header{border-bottom:1px solid #e4e3eb}.tbv32-dialog>header h2{font-size:20px;line-height:1.25;margin:0 0 5px;color:#2d3551}.tbv32-dialog>header p{font-size:12px;color:#6d7591;margin:0}.tbv32-dialog>footer{border-top:1px solid #e4e3eb}
.tbv32-dialog button{padding:9px 12px;border-radius:8px;border:1px solid #dbdfec;background:white;color:#3a4763;min-height:36px;cursor:pointer}
.tbv32-dialog .tbv3-mainbtn{background:#554c87;color:#fff;border-color:#554c87;font-weight:650}
.tbv32-dialogbody{overflow:auto;display:grid;grid-template-columns:220px minmax(300px,1fr) 300px;gap:14px;padding:18px;min-height:280px}
.tbv32-fields{display:flex;flex-direction:column;gap:12px}.tbv32-fields label{font-size:12px;color:#5f687f;font-weight:600}.tbv32-fields input,.tbv32-fields select,.tbv32-tablerow input{width:100%;border:1px solid #d4dce9;border-radius:7px;padding:8px;background:#fff;color:#26354f;min-height:38px}
.tbv32-fields input,.tbv32-fields select{display:block;margin-top:5px}.tbv32-rowtable{border-radius:10px;border:1px solid #e4e7f0;overflow:auto;padding:8px;max-height:60vh}.tbv32-tableheader,.tbv32-tablerow{display:grid;grid-template-columns:minmax(55px,1fr) minmax(58px,1fr) minmax(95px,1.2fr) 32px;gap:7px;align-items:center;padding:5px}
.tbv32-tableheader{font-size:11px;color:#6d7391;border-bottom:1px solid #e5e7f0;position:sticky;top:0;background:#fff;z-index:1}.tbv32-tablerow:nth-child(even){background:#f8f7fc}.tbv32-tablerow button{padding:3px;min-height:34px;color:#ad4058}
.tbv32-preview{background:#f5f7fb;border:1px solid #e4e8f1;border-radius:10px;padding:14px;min-height:300px;overflow:auto}.tbv32-preview strong{font-size:13px}.tbv32-preview svg{display:block;width:100%;height:auto;max-height:330px;overflow:visible}.tbv32-preview p{font-size:12px;color:#55657f}
.tbv32-dialog button:focus-visible,.tbv32-dialog input:focus-visible,.tbv32-dialog select:focus-visible{outline:3px solid #a697db;outline-offset:2px}
@media(max-width:1050px){.tbv32-dialogbody{grid-template-columns:190px minmax(270px,1fr)}.tbv32-preview{grid-column:1/-1;min-height:100px}.tbv32-preview svg{max-height:180px}}
@media(max-width:650px){.tbv32-modal{padding:0}.tbv32-dialog{border-radius:0;max-height:100vh;height:100vh;width:100vw}.tbv32-dialogbody{display:block}.tbv32-fields{display:grid;grid-template-columns:1fr 1fr;margin-bottom:16px}.tbv32-rowtable{max-height:42vh}.tbv32-preview{margin-top:12px}.tbv32-dialog>header h2{font-size:16px}}

/* V3.3 · navigation cartographique, menu contextuel et mode dessin deuxième écran */
.tbv3-board{cursor:grab;scrollbar-width:thin}.tbv3-board.tbv33-panning,.tbv3-board.tbv33-panning *{cursor:grabbing!important;user-select:none!important}
.tbv33-context[hidden]{display:none!important}.tbv33-context{position:absolute;z-index:100002;background:#fff;border:1px solid #d9d8e6;box-shadow:0 18px 40px #1b22444d;border-radius:12px;padding:7px;min-width:215px;display:flex;flex-direction:column;gap:2px}
.tbv-root{position:relative}.tbv33-context button{text-align:left;padding:10px 12px;background:#fff;border:0;border-radius:7px;color:#27354c;font-size:12px;cursor:pointer}.tbv33-context button:hover{background:#f1edfa}.tbv33-context button:last-child{color:#af3548;border-top:1px solid #eee}
.tbv33-canvas-only .tbv3-left,.tbv33-canvas-only .tbv3-right{display:none!important}.tbv33-canvas-only .tbv3-layout{grid-template-columns:0 minmax(0,1fr) 0!important}.tbv33-canvas-only .tbv3-head-actions{display:none}.tbv33-canvas-only .tbv3-toolbar button:not([data-a="zoomout"]):not([data-a="zoomin"]):not([data-a="zoomfit"]):not([data-a="numbers"]):not([data-mode="group"]):not([data-mode="seat"]):not([data-mode="pan"]){display:none}.tbv33-canvas-only .tbv3-board{min-height:0}
.tbv3-toolbar button[data-a="numbers"]{background:#f1eff9}

/* TicketBrio 3.4: accessible, color-coded tools and unconstrained map navigation. */
.tbv34-world{position:relative;box-sizing:border-box;background:radial-gradient(circle at center,#f4f7fc,#eaf0f8);}
.tbv3-stage{position:absolute;min-width:0!important;transform:none!important;}
.tbv3-board{padding:0!important;overflow:auto!important;cursor:grab;overscroll-behavior:contain;touch-action:none;}
.tbv3-board.tbv33-panning{cursor:grabbing!important;}
.tbv34-tooltitle{color:#253b5b!important;font-size:13px!important;}
.tbv34-palette{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;}
.tbv3-side .tbv34-family{display:flex;align-items:center;flex-direction:column;justify-content:center;gap:5px;min-height:66px;width:100%;padding:8px 4px;color:#fff!important;font-weight:800;border-radius:11px;box-shadow:0 2px 7px #17283e1c;transition:transform .15s,box-shadow .15s;}
.tbv3-side .tbv34-family:hover{transform:translateY(-2px);box-shadow:0 5px 11px #17283e2d;color:white!important;}
.tbv34-family[data-family=seats]{background:#5365ba!important;border-color:#5365ba!important;}
.tbv34-family[data-family=tables]{background:#a56a31!important;border-color:#a56a31!important;}
.tbv34-family[data-family=build]{background:#397d91!important;border-color:#397d91!important;}
.tbv34-family[data-family=access]{background:#27846d!important;border-color:#27846d!important;}
.tbv34-family[data-family=tech]{background:#8555a1!important;border-color:#8555a1!important;}
.tbv34-family[data-family=design]{background:#bc627c!important;border-color:#bc627c!important;}
.tbv34-family.is-active{outline:3px solid #253b54;outline-offset:2px;}
.tbv34-family span{font-size:11px;line-height:1.2;}
.tbv34-subtools{margin-top:12px;display:grid;grid-template-columns:1fr;gap:6px;}
.tbv3-side .tbv34-subtools button{width:100%;margin:0;min-height:38px;text-align:left;background:#f7f8fc;border-color:#dde3ed;color:#283a5b;font-size:12px;font-weight:650;}
.tbv3-side .tbv34-subtools button:hover{background:#e4e9f5;border-color:#8899b5;color:#253957;}
.tbv34-toolhint{font-size:11px;color:#65728a;line-height:1.5;border-left:3px solid #5365ba;padding:7px 8px;background:#f5f6fb;margin:10px 0;}
.tbv34-advanced{border:1px solid #dfe3ed;border-radius:9px;margin-top:20px;background:#fafbff;}
.tbv34-advanced>summary{cursor:pointer;list-style:revert;padding:13px;font-size:12px;font-weight:750;color:#3c5275;}
.tbv34-advanced-content{padding:0 10px 13px;}
.tbv3-toolbar button[data-a="add-block"],.tbv3-toolbar button[data-a="add-rows"],.tbv3-toolbar button[data-a="add-sector"],.tbv3-toolbar button[data-a="configure-rows"],.tbv3-toolbar button[data-a="add-aisle"],.tbv3-toolbar button[data-a="add-emergency-exit"]{display:none;}
.tbv3-toolbar button[data-mode="pan"]{background:#e8f4ef;color:#18624e;border-color:#96ccba;}
.tbv3-toolbar button[data-mode="pan"].is-active{background:#27846d;color:#fff;border-color:#27846d;}
.tbv3-toolbar button[data-a="zoomfit"]{background:#eaf0ff;border-color:#a1b6db;color:#2b5185;}
.tbv3-toolbar button:focus-visible,.tbv34-family:focus-visible,.tbv34-subtools button:focus-visible{outline:3px solid #1b74c8;outline-offset:2px;}
@media(max-width:750px){.tbv34-palette{grid-template-columns:repeat(3,minmax(0,1fr));}.tbv3-toolbar button[data-mode="pan"]{display:inline-block;}}
