:root{color-scheme:light;--bg:#f7f8f7;--paper:#fff;--ink:#202824;--muted:#77817b;--line:#e7ebe7;--soft:#f2f5f2;--green:#225a45;--green-2:#174532;--lime:#d8f264;--orange:#d56842;--red:#b94739;--shadow:0 18px 50px rgba(28,48,37,.07);--radius:18px;--sans:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--serif:Georgia,"Times New Roman",serif}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bg);color:var(--ink);font:14px/1.5 var(--sans);letter-spacing:-.01em}button,input,select,textarea{font:inherit}button{color:inherit}.hidden{display:none!important}a{color:inherit}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:40px;padding:.6rem 1rem;border:1px solid transparent;border-radius:10px;font-weight:650;font-size:.84rem;cursor:pointer;text-decoration:none;transition:transform .18s,background .18s,border-color .18s,box-shadow .18s}.btn:hover{transform:translateY(-1px)}.btn:focus-visible,.nav-btn:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #bed987;outline-offset:2px}.btn-primary{background:var(--green);color:#fff!important;box-shadow:0 5px 14px #225a4523}.btn-primary:hover{background:var(--green-2)}.btn-primary:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}.btn-ghost{border-color:var(--line);background:#fff;color:#354139}.btn-ghost:hover{border-color:#cbd5cd;background:#f9fbf9}.btn-sm{min-height:34px;padding:.4rem .75rem;font-size:.78rem;border-radius:9px}.btn-danger{background:#fff2ef;color:var(--red)!important;border-color:#f2d7d2}.btn-danger:hover{background:#ffe8e3}.error{color:#a33320;min-height:1.2rem;font-size:.87rem;font-weight:600}
#login-view{min-height:100vh;display:grid;place-items:center;padding:1.5rem;background:radial-gradient(ellipse at 50% 5%,#e6efe5 0%,transparent 43%),#f7f8f7}.login-card{width:min(420px,100%);padding:40px;border:1px solid var(--line);border-radius:24px;background:var(--paper);box-shadow:var(--shadow)}.login-card:before{content:"E";display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:var(--green);color:var(--lime);font-weight:800;font-size:1.3rem;margin-bottom:26px}.login-card h1{margin:0 0 8px;font:400 2rem/1.1 var(--serif);letter-spacing:-.035em}.login-card p{margin:0 0 24px;color:var(--muted)}.login-card form{display:grid;gap:15px}.login-card .btn{width:100%;margin-top:4px}
.app-shell{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:28px;padding:25px 17px 16px;background:#fff;border-right:1px solid var(--line);z-index:5}.brand{display:flex;align-items:center;gap:11px;padding:0 9px}.brand .mark{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--green);color:var(--lime);font:800 1.15rem var(--sans)}.brand strong{display:block;font:700 1.08rem var(--serif);letter-spacing:-.025em}.brand small{display:block;margin-top:1px;color:#94a098;letter-spacing:.18em;font-size:.57rem;font-weight:750}.nav-label{padding:0 11px;margin:0 0 6px;color:#9aa39d;font-size:.62rem;font-weight:750;letter-spacing:.13em;text-transform:uppercase}.sidebar nav{display:grid;gap:4px}.nav-btn{display:flex;align-items:center;gap:12px;width:100%;padding:11px 12px;border:0;border-radius:10px;background:transparent;color:#68746d;text-align:left;font-weight:600;font-size:.85rem;cursor:pointer;transition:.18s}.nav-btn svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.7;fill:none}.nav-btn:hover{background:var(--soft);color:var(--ink)}.nav-btn.active{background:#eaf1eb;color:var(--green);font-weight:700}.nav-btn.active:before{content:"";position:absolute;margin-left:-12px;width:3px;height:22px;background:var(--green);border-radius:0 4px 4px 0}.side-spacer{flex:1}.sidebar-note{margin:0 5px 2px;padding:14px;border-radius:13px;background:#f2f6ef}.sidebar-note strong{display:block;font-size:.78rem}.sidebar-note p{margin:4px 0 10px;color:var(--muted);font-size:.7rem;line-height:1.45}.sidebar-note a{font-size:.73rem;color:var(--green);font-weight:700;text-decoration:none}.sidebar-footer{display:grid;gap:7px;padding:13px 5px 0;border-top:1px solid var(--line)}.user-chip{margin:0;padding:0 7px 7px;color:#435149;font-size:.76rem;font-weight:650}.sidebar-footer .btn{width:100%;justify-content:flex-start;min-height:36px;border-color:transparent;background:transparent;color:#737e77}.sidebar-footer .btn:hover{background:var(--soft);border-color:var(--line)}
.main{min-width:0;padding:32px clamp(22px,4vw,60px) 56px}.top{display:flex;justify-content:space-between;align-items:center;gap:1rem;max-width:1540px;margin:0 auto 30px}.top-copy{display:grid;gap:4px}.eyebrow{display:block;color:#89958e;font-size:.65rem;letter-spacing:.15em;font-weight:750;text-transform:uppercase}.top h1{margin:0;font:400 clamp(1.8rem,2.7vw,2.55rem)/1.12 var(--serif);letter-spacing:-.04em}.top-actions{display:flex;align-items:center;gap:10px}.view{max-width:1540px;margin:0 auto}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin:0 0 18px}.section-heading h2{margin:0;font:400 1.45rem var(--serif);letter-spacing:-.025em}.section-heading p{margin:5px 0 0;color:var(--muted);font-size:.82rem}.eyebrow-spaced{margin-bottom:5px}.surface{border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:0 5px 22px rgba(23,43,31,.025)}
.models-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}.model-card{position:relative;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff;display:grid;transition:transform .2s,box-shadow .2s,border-color .2s}.model-card:hover{transform:translateY(-3px);border-color:#d5ded6;box-shadow:var(--shadow)}.model-card img{width:100%;aspect-ratio:1.42;object-fit:cover;background:#e9eee9}.model-card .body{padding:17px;display:grid;gap:6px}.model-card h3{margin:0;font:400 1.25rem var(--serif);letter-spacing:-.02em}.model-card p{margin:0 0 9px;color:var(--muted);font-size:.8rem}.model-card .btn{justify-self:start}.model-card:after{content:"";position:absolute;top:12px;right:12px;width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:0 1px 5px #0003}
.sites-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 16px}.site-count{font-size:.8rem;color:var(--muted)}.search-box{display:flex;align-items:center;gap:9px;width:min(320px,100%);padding:0 12px;background:#fff;border:1px solid var(--line);border-radius:10px}.search-box svg{width:17px;height:17px;stroke:#929d95;fill:none}.search-box input{min-width:0;width:100%;height:40px;padding:0;border:0;outline:0;background:transparent;font-size:.82rem}.sites-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.site-card{position:relative;min-width:0;padding:18px;border:1px solid var(--line);border-radius:15px;background:#fff;transition:transform .18s,border-color .18s,box-shadow .18s}.site-card:hover{transform:translateY(-2px);border-color:#d2dbd3;box-shadow:0 12px 30px #1b342310}.site-card-main{display:flex;align-items:flex-start;gap:12px;cursor:pointer}.site-avatar{flex:none;display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#edf3ee;color:var(--green);font:500 1.08rem var(--serif)}.site-copy{min-width:0;flex:1}.site-copy h3{overflow:hidden;margin:0 0 4px;font-size:.94rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.site-copy p{margin:0;color:var(--muted);font-size:.75rem}.site-tag{display:inline-flex;align-items:center;gap:6px;margin-top:15px;padding:5px 8px;border-radius:7px;background:#f5f7f5;color:#637168;font-size:.69rem;font-weight:650}.site-tag:before{content:"";width:6px;height:6px;border-radius:50%;background:#8fa497}.site-meta{margin-top:14px;padding-top:12px;border-top:1px solid #f0f2ef;color:#87928a;font-size:.7rem}.site-actions{display:flex;gap:6px;margin-top:13px}.site-actions .btn{flex:1}.site-actions .btn:last-child{flex:0 0 auto}.empty{padding:45px 24px;border:1px dashed #d9e0da;border-radius:16px;background:#fbfcfb;color:var(--muted);text-align:center}.empty strong{display:block;margin-bottom:6px;color:var(--ink);font:400 1.25rem var(--serif)}.empty .btn{margin-top:15px}
.sites-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.sites-table th,.sites-table td{text-align:left;padding:11px 13px;border-bottom:1px solid #edf0ed;vertical-align:middle}.sites-table th{color:var(--muted);font-size:.68rem;letter-spacing:.07em;text-transform:uppercase}.sites-table tr:last-child td{border-bottom:0}
.visual-editor{display:flex;flex-direction:column;gap:14px;min-height:calc(100dvh - 145px)}.ve-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:15px 18px;border:1px solid var(--line);border-radius:15px;background:#fff}.ve-toolbar-copy{display:grid;gap:3px;min-width:0}.ve-toolbar-copy strong{font:400 1.18rem var(--serif)}.ve-toolbar-copy span{color:var(--muted);font-size:.74rem}.ve-toolbar-actions{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.ve-side{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,370px);gap:14px;flex:1;min-height:0;align-items:stretch}.ve-panel{position:relative;border:1px solid var(--line);border-radius:15px;background:#fff;padding:16px;display:grid;gap:13px;align-content:start;overflow:auto;max-height:calc(100dvh - 218px)}.ve-panel h3{margin:0;font-size:.92rem;font-weight:700;letter-spacing:-.015em}.ve-panel>h3:not(:first-child){padding-top:8px;border-top:1px solid var(--line)}label{display:grid;gap:6px;color:#4a574e;font-size:.75rem;font-weight:650}input,select,textarea{width:100%;min-height:40px;padding:9px 11px;border:1px solid #e0e6e0;border-radius:9px;background:#fbfcfb;color:var(--ink);font-size:.81rem;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{outline:0;border-color:#91b79c;box-shadow:0 0 0 3px #eaf3ec}input[type=file]{padding:6px;background:#fff;font-size:.73rem}textarea{min-height:75px;resize:vertical}.ve-tabs{position:sticky;top:-16px;z-index:2;display:flex;gap:3px;margin:-16px -16px 1px;padding:12px 12px 9px;background:#fff;border-bottom:1px solid var(--line);overflow:auto}.ve-tab{flex:none;border:0;background:transparent;color:#77827b;border-radius:8px;padding:8px 10px;font-size:.71rem;font-weight:650;cursor:pointer;white-space:nowrap}.ve-tab:hover{background:var(--soft);color:var(--ink)}.ve-tab.active{background:#eaf1eb;color:var(--green)}.ve-tab-panel{display:none;gap:12px}.ve-tab-panel.active{display:grid}.check-list{display:grid;gap:7px}.check-row{display:flex;align-items:flex-start;gap:10px;padding:10px 11px;border:1px solid #edf0ed;border-radius:10px;background:#fcfdfc;font-size:.76rem;font-weight:600}.check-row input{flex:none;width:15px;min-height:15px;margin:2px 0 0;accent-color:var(--green)}.check-row span{color:var(--ink);line-height:1.35}.check-row small{display:block;margin-top:3px;color:var(--muted);font-size:.68rem;font-weight:450}.menu-editor{display:grid;gap:9px}.menu-editor-toolbar{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.menu-card{padding:12px;border:1px solid var(--line);border-radius:12px;display:grid;gap:9px;background:#fbfcfb}.menu-card-head{display:flex;justify-content:space-between;align-items:center;gap:.4rem}.menu-card-head strong{font-size:.73rem;color:var(--muted)}.menu-card-actions{display:flex;gap:4px}.menu-card .row-2{display:grid;grid-template-columns:1fr 5.5rem;gap:8px}.opt-group{padding:12px;border:1px solid var(--line);border-radius:12px;display:grid;gap:10px;background:#fbfcfb}.opt-group h4{margin:0;font-size:.79rem}.opt-group.hidden-opt{display:none}.code-subtabs{display:flex;flex-wrap:wrap;gap:3px}.code-editor{width:100%;min-height:22rem;height:calc(100dvh - 22rem);padding:13px;border:1px solid #303b35;border-radius:10px;background:#19251f;color:#e9f1eb;font:12px/1.55 Consolas,"Courier New",monospace;tab-size:2;white-space:pre;resize:vertical}.code-editor:focus{outline:2px solid #8cac7a;outline-offset:1px}.code-toolbar{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;justify-content:space-between}.code-hint{margin:0;font-size:.73rem;color:var(--muted);line-height:1.4}#code-html-wrap.hidden-opt{display:none}.ve-frame-wrap{position:relative;border:1px solid #e2e8e2;border-radius:15px;overflow:hidden;background:#edf0ed;min-height:0;height:calc(100dvh - 218px);box-shadow:0 8px 24px #15291b0a}.ve-frame-wrap iframe{display:block;width:100%;height:100%;border:0;background:#fff}.ve-frame-wrap:before{content:"APERÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂU EN DIRECT";position:absolute;z-index:1;top:10px;left:12px;padding:5px 8px;border:1px solid #e9eeea;border-radius:6px;background:#ffffffed;color:#718078;font-size:.56rem;font-weight:800;letter-spacing:.1em;pointer-events:none}
.modal-root{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:1rem}.modal-backdrop{position:absolute;inset:0;background:rgba(18,38,27,.48);backdrop-filter:blur(3px)}.modal-dialog{position:relative;z-index:1;width:min(36rem,100%);max-height:min(90dvh,48rem);overflow:auto;background:#fff;border-radius:18px;border:1px solid var(--line);box-shadow:0 30px 90px #10221838}.modal-header{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:17px 20px;background:#fff;border-bottom:1px solid var(--line)}.modal-header h2{margin:0;font:400 1.3rem var(--serif)}.modal-body{padding:20px;display:grid;gap:16px}.steps{display:flex;gap:6px;flex-wrap:wrap}.step-pill{padding:6px 10px;border-radius:7px;background:var(--soft);color:var(--muted);font-size:.72rem;font-weight:700}.step-pill.on{background:#e8f1e9;color:var(--green)}.account-list{display:grid;gap:7px;max-height:16rem;overflow:auto}.account-item{display:grid;gap:3px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;cursor:pointer;background:#fff;text-align:left}.account-item:hover,.account-item.selected{border-color:#86aa90;background:#f5faf5}.account-item strong{font-size:.84rem}.account-item span{color:var(--muted);font-size:.72rem}.template-pick{display:grid;grid-template-columns:1fr 1fr;gap:9px}.template-pick button{border:1px solid var(--line);border-radius:11px;padding:12px;background:#fff;cursor:pointer;text-align:left}.template-pick button.selected{border-color:#86aa90;background:#f5faf5}.panel-stack{display:grid;gap:14px}.panel-stack .panel{border:1px solid var(--line);border-radius:14px;background:#fff;padding:19px}.panel-stack h3{margin:0 0 13px;font:500 1.08rem var(--serif)}.mfa-box{display:grid;gap:.75rem;justify-items:start}.mfa-box img{width:180px;height:180px;border:1px solid var(--line);border-radius:.75rem;background:#fff}.role-badge{display:inline-block;padding:.2rem .55rem;border-radius:999px;font-size:.69rem;font-weight:700;background:#f2f4f2;color:var(--muted)}.role-badge.admin{background:#e8f0e8;color:var(--green)}.muted{color:var(--muted);font-size:.81rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid .full{grid-column:1/-1}.toast{position:fixed;z-index:80;right:22px;bottom:22px;max-width:24rem;padding:13px 17px;border:1px solid #ffffff35;border-radius:11px;background:#20392b;color:#fff;box-shadow:0 14px 36px #14291e30;opacity:0;transform:translateY(10px);transition:.2s;pointer-events:none;font-size:.8rem;font-weight:600}.toast.show{opacity:1;transform:none}.toast.error{background:#9d3f34}
@media(max-width:1200px){.app-shell{grid-template-columns:218px minmax(0,1fr)}.main{padding:26px 26px 42px}.sites-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.models-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ve-side{grid-template-columns:minmax(0,1fr) minmax(280px,340px)}}
@media(max-width:850px){.app-shell{grid-template-columns:1fr}.sidebar{position:sticky;top:0;height:auto;display:grid;grid-template-columns:1fr auto;gap:12px;padding:12px 16px;border-right:0;border-bottom:1px solid var(--line)}.brand{padding:0}.brand .mark{width:34px;height:34px}.sidebar>nav{grid-column:1/-1;display:flex;gap:5px;overflow:auto;order:3}.nav-label,.side-spacer,.sidebar-note{display:none}.nav-btn{width:auto;flex:none;padding:9px 10px;font-size:.75rem}.nav-btn.active:before{display:none}.sidebar-footer{display:flex;align-items:center;justify-content:flex-end;gap:4px;padding:0;border:0}.sidebar-footer .btn{width:auto;padding:7px 8px;font-size:.7rem}.user-chip{display:none}.main{padding:23px 18px 38px}.top{margin-bottom:22px}.ve-side{grid-template-columns:1fr}.ve-frame-wrap{height:60vh;min-height:360px}.ve-panel{max-height:none}.ve-tabs{top:-16px}}
@media(max-width:560px){.main{padding:18px 12px 30px}.top{align-items:flex-start}.top h1{font-size:1.7rem}.top-actions .btn{min-height:36px;padding:.45rem .65rem;font-size:.72rem}.models-grid,.sites-grid{grid-template-columns:1fr}.model-card{grid-template-columns:120px 1fr;min-height:130px}.model-card img{height:100%;aspect-ratio:auto}.model-card .body{padding:12px}.model-card h3{font-size:1.08rem}.model-card p{font-size:.72rem}.model-card .btn{padding:.35rem .5rem;font-size:.68rem}.sites-toolbar{align-items:stretch;flex-direction:column}.search-box{width:100%}.ve-toolbar{align-items:flex-start;flex-direction:column;padding:13px}.ve-toolbar-actions{width:100%}.ve-toolbar-actions .btn{flex:1}.ve-toolbar-actions #ve-back{flex:0 0 auto}.ve-frame-wrap{height:50vh;min-height:300px}.ve-panel{padding:12px}.ve-tabs{top:-12px;margin:-12px -12px 0;padding:9px 8px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.login-card{padding:28px 23px}.sidebar-footer a{display:none}}

/* Code workspace ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ fichiers du modÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¨le */
#view-editor{max-width:none;margin:0}
.code-workspace{display:flex;flex-direction:column;gap:12px;min-height:calc(100dvh - 140px)}
.cw-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:#fff}
.cw-toolbar-copy{display:grid;gap:2px;min-width:0}
.cw-toolbar-copy strong{font:400 1.15rem var(--serif)}
.cw-toolbar-copy span{color:var(--muted);font-size:.74rem}
.cw-toolbar-actions{display:flex;flex-wrap:wrap;gap:6px}
.cw-body{display:grid;grid-template-columns:220px minmax(0,1.1fr) minmax(0,.9fr);gap:12px;flex:1;min-height:0}
.cw-files,.cw-editor-pane,.cw-preview-pane{border:1px solid var(--line);border-radius:14px;background:#fff;min-height:0;overflow:hidden;display:flex;flex-direction:column}
.cw-files-head,.cw-editor-head{padding:11px 13px;border-bottom:1px solid var(--line);font-size:.72rem;font-weight:700;color:var(--muted);letter-spacing:.04em;text-transform:uppercase}
.cw-file-list{display:grid;gap:3px;padding:8px;overflow:auto;flex:1}
.file-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 9px;border:0;border-radius:8px;background:transparent;text-align:left;cursor:pointer;color:#445049}
.file-item:hover{background:var(--soft)}
.file-item.active{background:#eaf1eb;color:var(--green);font-weight:700}
.file-badge{flex:none;min-width:34px;padding:2px 5px;border-radius:5px;background:#eef2ee;color:#5f6d64;font-size:.58rem;font-weight:800;text-align:center}
.file-item.active .file-badge{background:#dceadf;color:var(--green)}
.file-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.76rem}
.cw-hint{margin:0;padding:10px 12px 14px;border-top:1px solid var(--line);color:var(--muted);font-size:.7rem;line-height:1.4}
.cw-editor{flex:1;width:100%;min-height:420px;border:0;padding:14px 16px;resize:none;background:#151e1a;color:#e7f0ea;font:12.5px/1.55 Consolas,"Courier New",monospace;tab-size:2;white-space:pre}
.cw-editor:disabled{opacity:.55}
.cw-editor:focus{outline:0}
.cw-preview-pane iframe{flex:1;width:100%;min-height:420px;border:0;background:#fff}
@media(max-width:1200px){.cw-body{grid-template-columns:200px 1fr}.cw-preview-pane{display:none}}
@media(max-width:850px){.cw-body{grid-template-columns:1fr}.cw-files{max-height:180px}}

/* ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ IDE mode (Monaco) ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ */
body.ide-open .top{display:none}
body.ide-open .main{padding:0;height:100vh;overflow:hidden}
body.ide-open .sidebar{height:100vh}
body.ide-open #view-editor{max-width:none;margin:0;height:100vh}
.ide-shell{display:flex;flex-direction:column;height:100%;background:#1e1e1e;color:#d4d4d4;font-family:var(--sans)}
.ide-titlebar{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:0 10px;min-height:42px;background:#252526;border-bottom:1px solid #2f2f2f}
.ide-title-left{display:flex;align-items:center;gap:8px;min-width:0}
.ide-title-text{display:grid;gap:0;min-width:0}
.ide-title-text strong{font-size:.88rem;font-weight:650;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ide-title-text span{font-size:.65rem;color:#9d9d9d}
.ide-title-actions{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.ide-icon-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:30px;padding:0 9px;border:1px solid transparent;border-radius:6px;background:transparent;color:#c8c8c8;font-size:.72rem;font-weight:600;cursor:pointer;text-decoration:none}
.ide-icon-btn:hover{background:#333;color:#fff}
.ide-icon-btn.active{background:#0e639c;color:#fff}
.ide-main{display:grid;grid-template-columns:240px minmax(0,1fr) minmax(280px,38%);flex:1;min-height:0}
.ide-shell.preview-hidden .ide-main{grid-template-columns:240px minmax(0,1fr)}
.ide-shell.preview-hidden .ide-preview{display:none}
.ide-sidebar{display:flex;flex-direction:column;min-height:0;background:#252526;border-right:1px solid #2f2f2f}
.ide-side-head{padding:10px 12px 8px;font-size:.62rem;font-weight:750;letter-spacing:.1em;color:#bbb}
.ide-tree{flex:1;overflow:auto;padding:4px 6px 10px}
.ide-side-foot{padding:8px 10px;border-top:1px solid #2f2f2f;color:#777;font-size:.62rem;line-height:1.35}
.ide-folder{margin:2px 0}
.ide-folder-head{display:flex;align-items:center;gap:6px;width:100%;padding:5px 6px;border:0;border-radius:4px;background:transparent;color:#ccc;font-size:.75rem;cursor:pointer;text-align:left}
.ide-folder-head:hover{background:#2a2d2e}
.ide-chevron{width:12px;font-size:.65rem;color:#888}
.ide-folder:not(.open) .ide-chevron{transform:rotate(-90deg);display:inline-block}
.ide-folder:not(.open) .ide-folder-body{display:none}
.ide-folder-body{padding-left:10px}
.ide-file{display:flex;align-items:center;gap:7px;width:100%;padding:5px 8px;border:0;border-radius:4px;background:transparent;color:#bbb;font-size:.76rem;cursor:pointer;text-align:left}
.ide-file:hover{background:#2a2d2e;color:#fff}
.ide-file.active{background:#37373d;color:#fff}
.ide-file-icon{flex:none;min-width:22px;color:#89d185;font-size:.65rem;font-weight:800}
.ide-empty{padding:12px;color:#777;font-size:.75rem}
.ide-center{display:flex;flex-direction:column;min-width:0;min-height:0;background:#1e1e1e}
.ide-tabs{display:flex;gap:0;overflow:auto;background:#252526;border-bottom:1px solid #2f2f2f;min-height:35px}
.ide-tab{display:flex;align-items:center;gap:2px;border-right:1px solid #2f2f2f;background:#2d2d2d;color:#999}
.ide-tab.active{background:#1e1e1e;color:#fff}
.ide-tab.dirty .ide-tab-label{font-style:italic}
.ide-tab-label{border:0;background:transparent;color:inherit;padding:8px 6px 8px 12px;font-size:.75rem;cursor:pointer}
.ide-tab-close{border:0;background:transparent;color:#888;width:24px;height:24px;border-radius:4px;cursor:pointer;font-size:14px;line-height:1}
.ide-tab-close:hover{background:#444;color:#fff}
.ide-monaco{flex:1;min-height:0}
.ide-statusbar{display:flex;align-items:center;gap:14px;min-height:24px;padding:0 12px;background:#007acc;color:#fff;font-size:.68rem;font-weight:600}
.ide-status-right{margin-left:auto;display:flex;gap:14px}
.ide-preview{display:flex;flex-direction:column;min-width:0;min-height:0;background:#1e1e1e;border-left:1px solid #2f2f2f}
.ide-preview-head{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;background:#252526;border-bottom:1px solid #2f2f2f;font-size:.68rem;font-weight:700;color:#aaa;text-transform:uppercase;letter-spacing:.06em}
.ide-preview iframe{flex:1;width:100%;border:0;background:#fff}
@media(max-width:1100px){
  .ide-main{grid-template-columns:200px minmax(0,1fr)}
  .ide-preview{display:none}
  .ide-shell:not(.preview-hidden) .ide-main{grid-template-columns:200px minmax(0,1fr)}
}
@media(max-width:850px){
  body.ide-open .sidebar{display:none}
  .ide-main{grid-template-columns:1fr}
  .ide-sidebar{display:none}
}

/* AperÃÂÃÂÃÂÃÂ§u site (sans IDE) */
.modal-dialog.modal-preview{width:min(72rem,100%);max-height:min(94dvh,56rem)}
.modal-dialog.modal-preview .modal-body{padding:0;gap:0;display:flex;flex-direction:column;min-height:0}
.model-preview-frame{flex:1;min-height:min(70dvh,40rem);background:#edf0ed}
.model-preview-frame iframe{display:block;width:100%;height:min(70dvh,40rem);border:0;background:#fff}
.model-preview-actions{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--line);background:#fff}
.model-card-preview{position:relative;display:block;width:100%;padding:0;border:0;background:#e9eee9;cursor:pointer;text-align:left}
.model-card-preview:disabled{cursor:not-allowed;opacity:.6}
.model-card-preview img{width:100%;aspect-ratio:1.42;object-fit:cover;display:block}
.model-card-preview span{position:absolute;left:12px;bottom:12px;padding:5px 9px;border-radius:7px;background:#ffffffef;color:var(--green);font-size:.68rem;font-weight:750;letter-spacing:.04em;text-transform:uppercase;opacity:0;transform:translateY(4px);transition:.18s}
.model-card-preview:hover span,.model-card-preview:focus-visible span{opacity:1;transform:none}
.model-card-actions{display:flex;gap:6px;flex-wrap:wrap}
.model-card .model-card-actions .btn{justify-self:auto}
.model-card:after{display:none}
.opt-create-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:640px){.opt-create-grid{grid-template-columns:1fr}}
.site-preview{display:flex;flex-direction:column;gap:14px;min-height:calc(100dvh - 145px)}
.sp-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:15px 18px;border:1px solid var(--line);border-radius:15px;background:#fff;flex-wrap:wrap}
.sp-toolbar-copy{display:grid;gap:3px;min-width:0}
.sp-toolbar-copy strong{font:400 1.18rem var(--serif)}
.sp-toolbar-copy span{color:var(--muted);font-size:.74rem}
.sp-toolbar-copy code{font-size:.72rem;background:var(--soft);padding:.1rem .35rem;border-radius:4px}
.sp-toolbar-actions{display:flex;align-items:center;flex-wrap:wrap;gap:6px}
.sp-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,300px);gap:14px;flex:1;min-height:0}
.sp-frame-wrap{border:1px solid var(--line);border-radius:15px;overflow:hidden;background:#edf0ed;min-height:0;height:calc(100dvh - 230px);box-shadow:0 8px 24px #15291b0a}
.sp-frame-wrap iframe{display:block;width:100%;height:100%;border:0;background:#fff}
.sp-side{border:1px solid var(--line);border-radius:15px;background:#fff;padding:16px;display:grid;gap:12px;align-content:start;max-height:calc(100dvh - 230px);overflow:auto}
.sp-side h3{margin:0;font-size:.92rem;font-weight:700}
.sp-files{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.sp-files li{padding:7px 9px;border-radius:8px;background:var(--soft);font-size:.72rem}
.sp-files code{font-size:.72rem}
@media(max-width:900px){.sp-body{grid-template-columns:1fr}.sp-frame-wrap{height:55vh;min-height:320px}.sp-side{max-height:none}}
