:root{color:#e8eef8;background:#071018;font-family:Inter,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 15% 0,#123149 0,#0000 32rem),#071018;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}a{color:inherit}.topbar{z-index:5;background:#09151ee8;border-bottom:1px solid #203342;align-items:center;gap:2rem;height:72px;padding:0 clamp(1rem,4vw,4rem);display:flex;position:sticky;top:0}.brand{align-items:center;gap:.7rem;text-decoration:none;display:flex}.brand-mark{color:#05241c;background:#42d3a7;border-radius:12px;place-items:center;width:38px;height:38px;font-weight:900;display:grid}.brand span:last-child{display:grid}.brand small{color:#88a2b5;font-size:.72rem}.topbar nav{gap:1.2rem;margin-right:auto;display:flex}.topbar nav a{color:#bcd0df;text-decoration:none}.identity{align-items:center;gap:.7rem;display:flex}.badge{color:#9fe6d1;text-transform:uppercase;background:#17374a;border-radius:999px;padding:.2rem .5rem;font-size:.75rem}.identity form{margin:0}main{width:min(1180px,100% - 2rem);margin:0 auto;padding:2.5rem 0 5rem}.page-head{justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2rem;display:flex}.page-head h1,.auth-card h1{margin:.1rem 0;font-size:clamp(2rem,5vw,3.5rem)}.page-head p{color:#9bb0bf;margin:.3rem 0}.eyebrow{letter-spacing:.14em;text-transform:uppercase;font-size:.78rem;font-weight:800;color:#42d3a7!important}button,.button{color:#06231b;cursor:pointer;background:#42d3a7;border:0;border-radius:10px;justify-content:center;padding:.72rem 1rem;font-weight:800;text-decoration:none;display:inline-flex}button:disabled{opacity:.5}.secondary,.ghost{color:#d8e7f1;background:#102331;border:1px solid #365064;border-radius:10px;padding:.64rem .85rem;text-decoration:none}.ghost{padding:.45rem .7rem}.search{max-width:600px;margin-bottom:1.5rem}.search>div{gap:.5rem;display:flex}.search input{flex:1}.machine-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:1rem;display:grid}.machine-card,.panel,.empty,.auth-card{background:linear-gradient(145deg,#102431,#0b1a24);border:1px solid #243c4c;border-radius:16px;padding:1.25rem;box-shadow:0 15px 50px #0003}.machine-card{grid-template-columns:auto 1fr;gap:1rem;display:grid}.machine-status{background:#42d3a7;border-radius:50%;width:10px;height:10px;margin-top:.45rem}.machine-card h2{margin:.1rem 0 .5rem}.site{color:#7f9aab;text-transform:uppercase;letter-spacing:.1em;margin:0;font-size:.7rem}.card-actions{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:.6rem;display:flex}.card-actions form{margin-left:auto}.danger-link{color:#ff8793;background:0 0}.panel{margin:1rem 0}.panel h2{margin-top:0}.form-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.wide{grid-column:1/-1}label{color:#b8cbd8;gap:.38rem;font-size:.86rem;font-weight:650;display:grid}input,select,textarea{color:#edf6fb;background:#07141d;border:1px solid #365064;border-radius:9px;width:100%;padding:.72rem}textarea{min-height:90px}.actions{justify-content:flex-end;display:flex}.alert{color:#ffc2ca;background:#3d1720;border:1px solid #8f3345;border-radius:10px;padding:.75rem 1rem}.empty{text-align:center;padding:4rem}.auth-shell{place-items:center;min-height:calc(100vh - 150px);display:grid}.auth-card{width:min(460px,100%);padding:2rem}.auth-card form,.panel>form{gap:1rem;margin-top:1.5rem;display:grid}.two-cols{grid-template-columns:minmax(280px,.8fr) 1.2fr;gap:1rem;display:grid}.user-list>div{border-bottom:1px solid #263d4c;justify-content:space-between;padding:.9rem 0;display:flex}.user-list span:first-child{display:grid}.user-list small{color:#829dad}.console-page{width:100vw;margin-top:-2.5rem;margin-left:calc(50% - 50vw)}.console-toolbar{background:#0c1a24;flex-wrap:wrap;align-items:end;gap:1rem;padding:1rem 1.5rem;display:flex}.console-toolbar form{align-items:end;gap:.7rem;margin-left:auto;display:flex}.console-toolbar p{color:#ff9aa5;min-width:140px}.console-toolbar p.ok{color:#57e2b8}.screen{background:#020608;justify-content:center;align-items:center;height:calc(100vh - 185px);display:flex;overflow:hidden}.screen canvas{max-width:100%;max-height:100%}@media (width<=760px){.topbar nav,.identity>span{display:none}.form-grid,.two-cols{grid-template-columns:1fr}.wide{grid-column:auto}.page-head{flex-direction:column;align-items:start}.console-toolbar form{flex-wrap:wrap;width:100%;margin-left:0}.screen{height:65vh}}.console-toolbar .pip-error{text-align:right;width:100%;margin:.2rem 0 0}.screen-dock{background:#020608;height:calc(100vh - 185px);position:relative}.screen-dock .screen{width:100%;height:100%}.screen-dock.detached:after{content:"Écran détaché dans une fenêtre flottante";color:#88a2b5;place-items:center;font-weight:700;display:grid;position:absolute;inset:0}@media (width<=760px){.screen-dock{height:65vh}}:root{--bg:#071018;--surface:#0d1b25;--surface-raised:#122531;--surface-soft:#10202b;--border:#243b49;--border-strong:#365566;--text:#edf5f9;--muted:#91a8b6;--accent:#50ddb0;--accent-strong:#72e9c2;--accent-ink:#05251c;--danger:#ff8f9c;--danger-bg:#371922;--focus:#8debd0;--shadow:0 20px 60px #0000003d}body{background:radial-gradient(circle at 12% -10%, #15384f 0, transparent 34rem), var(--bg)}button,.button,.secondary,.ghost{min-height:42px;transition:background-color .16s,border-color .16s,color .16s,transform .16s}button:hover:not(:disabled),.button:hover,.secondary:hover,.ghost:hover{transform:translateY(-1px)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb, var(--focus) 58%, transparent);outline-offset:3px}.icon{flex:none;display:block}.button-with-icon{align-items:center;gap:.55rem;display:inline-flex}.icon-button{border-radius:11px;place-items:center;width:42px;min-width:42px;height:42px;padding:0;display:inline-grid}.icon-button.danger,button.danger{color:var(--danger);background:0 0;border:1px solid #0000}.icon-button.danger:hover{background:var(--danger-bg);border-color:#74313e}.action-cluster{align-items:center;gap:.35rem;margin-left:auto;display:flex}.tooltip-bubble{z-index:10000;color:#f4f9fb;pointer-events:none;background:#172b37;border:1px solid #496170;border-radius:8px;max-width:240px;padding:.46rem .66rem;font-size:.76rem;font-weight:700;line-height:1.25;animation:.12s ease-out tooltip-in;position:fixed;box-shadow:0 8px 28px #0008}@keyframes tooltip-in{0%{opacity:0;transform:translateY(3px)}}.sr-only{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.topbar{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-color:#1d3341;height:68px;padding-inline:clamp(1rem,4vw,3.5rem)}.brand-mark{border-radius:10px;box-shadow:0 0 0 4px #42d3a715}.topbar nav a{padding:.55rem .15rem;font-weight:650}.topbar nav a:hover{color:var(--text)}.identity{border-left:1px solid var(--border);padding-left:1rem}.identity .ghost{background:0 0}main{width:min(1240px,100% - 2rem);padding-top:3rem}.page-head{align-items:center;margin-bottom:2.25rem}.page-head h1{letter-spacing:-.035em;margin:.1rem 0 .35rem}.page-head p:not(.eyebrow){max-width:620px}.back-link{color:var(--muted);align-items:center;gap:.25rem;margin-bottom:1.5rem;font-weight:700;text-decoration:none;display:inline-flex}.back-link:hover{color:var(--text)}.search-bar{border:1px solid var(--border);background:#0b1922;border-radius:14px;align-items:center;gap:.8rem;max-width:none;height:54px;margin-bottom:2rem;padding:.35rem .4rem .35rem 1rem;display:flex;box-shadow:0 8px 32px #0002}.search-bar>.icon{color:#7894a4}.search-bar input{background:0 0;border:0;flex:1;padding-inline:0}.search-bar input:focus-visible{outline:0}.panel,.machine-card,.auth-card,.empty{border-color:var(--border);box-shadow:var(--shadow);background:linear-gradient(145deg,#10232e,#0c1922)}.form-panel{padding:clamp(1.25rem,3vw,1.75rem)}.section-heading{border-bottom:1px solid var(--border);align-items:center;gap:.9rem;padding-bottom:1.15rem;display:flex}.section-heading h2,.section-heading p{margin:0}.section-heading p{color:var(--muted);margin-top:.2rem;font-size:.86rem}.section-icon,.machine-icon,.auth-symbol{width:44px;height:44px;color:var(--accent);background:#123229;border:1px solid #2e594f;border-radius:12px;flex:none;place-items:center;display:grid}.machine-grid{grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:1.1rem}.machine-card{flex-direction:column;min-height:220px;padding:1.2rem;display:flex}.machine-card:hover{border-color:var(--border-strong)}.machine-card-head{align-items:center;gap:.55rem;display:flex}.machine-card-head .site{margin:0}.machine-status{margin:0;box-shadow:0 0 0 4px #42d3a71a}.machine-summary{align-items:center;gap:.9rem;margin:1.25rem 0 auto;display:flex}.machine-summary h2{margin:0 0 .35rem;font-size:1.14rem}.machine-summary code{color:#9fb5c2}.card-actions{border-top:1px solid var(--border);margin-top:1.15rem;padding-top:1.15rem}.card-actions .button{flex:1;align-items:center}.card-actions form{margin:0}.form-grid{gap:1.2rem}label{color:#b8cbd5}input,select,textarea{border-color:var(--border-strong);background:#08151d}input::placeholder,textarea::placeholder{color:#6a8493}.actions{align-items:center;gap:.7rem;padding-top:.5rem}.two-cols{grid-template-columns:minmax(300px,.82fr) minmax(360px,1.18fr);align-items:start}.user-list{margin-top:.4rem}.user-list>div{align-items:center;min-height:68px}.auth-shell{min-height:calc(100vh - 170px)}.auth-card{padding:clamp(1.6rem,5vw,2.4rem)}.auth-card .auth-symbol{width:52px;height:52px;margin-bottom:1.5rem}.auth-card h1{letter-spacing:-.035em}.auth-card>p:not(.eyebrow,.alert){color:var(--muted);line-height:1.55}.auth-card button[type=submit]{align-items:center;width:100%}.console-page{margin-top:-3rem}.console-toolbar{border-bottom:1px solid var(--border);background:#0a1720f2;align-items:center;min-height:112px;padding:.9rem clamp(1rem,2.5vw,2rem)}.console-identity{align-items:center;gap:1rem;min-width:265px;display:flex}.console-identity h1{margin:.05rem 0 .2rem;font-size:1.22rem}.console-identity .eyebrow{margin:0;font-size:.65rem}.console-identity code{color:#91a8b6}.connection-controls{align-items:end;gap:.65rem;margin-left:auto;display:flex}.connection-controls label{min-width:170px}.connection-controls input,.connection-controls select{min-height:42px;padding-block:.55rem}.session-actions{align-items:center;gap:.45rem;display:flex}.connection-pill{color:#a9ead4;background:#102b24;border:1px solid #2a5c4e;border-radius:999px;align-items:center;gap:.5rem;min-height:42px;padding:0 .85rem;font-size:.82rem;font-weight:750;display:inline-flex}.connection-pill span{background:var(--accent);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #50ddb018}.connection-status{margin:0;font-size:.82rem;min-width:118px!important}.screen-dock{border-top:1px solid #152936}.session-tools{border-bottom:1px solid var(--border);background:var(--border);grid-template-columns:1.15fr .8fr 1fr;gap:1px;display:grid}.session-tools section{background:#0c1a23;min-width:0;padding:1rem 1.15rem}.session-tools h2{margin:0 0 .75rem;font-size:.9rem}.session-tools label{min-width:0}.tool-grid{grid-template-columns:1fr 1fr;gap:.65rem;display:grid}.chip-row{flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.7rem;display:flex}.chip-row button,.chip-row select{width:auto;min-height:36px;padding:.42rem .62rem;font-size:.76rem}.tool-help,.tool-warning,.clipboard-status{color:var(--muted);margin:.65rem 0 0;font-size:.75rem;line-height:1.4}.tool-warning{color:#ffd18b}.clipboard-status{color:var(--accent-strong)}.custom-combo{margin-top:.65rem;font-size:.78rem}.custom-combo summary{color:#b8cbd5;cursor:pointer;font-weight:700}.modifier-row{flex-wrap:wrap;align-items:center;gap:.55rem;margin-top:.6rem;display:flex}.modifier-row label{grid-template-columns:none;align-items:center;gap:.25rem;display:inline-flex}.modifier-row input{width:auto}.view-only-toggle{grid-template-columns:none;align-items:center;gap:.4rem;margin-bottom:.7rem;display:inline-flex}.view-only-toggle input{width:auto}.modifier-row select,.modifier-row button{width:auto;min-height:36px;padding:.4rem .55rem}.confirmation-dialog{border:1px solid var(--border-strong);width:min(480px,100vw - 2rem);color:var(--text);background:var(--surface-raised);border-radius:16px;padding:1.5rem;box-shadow:0 24px 80px #000b}.confirmation-dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#020608c7}.confirmation-dialog h2{margin:.15rem 0 .65rem;font-size:1.3rem}.confirmation-dialog>p:not(.eyebrow){color:var(--muted);margin:0;line-height:1.55}.confirmation-symbol{width:46px;height:46px;color:var(--danger);background:var(--danger-bg);border:1px solid #74313e;border-radius:12px;place-items:center;margin-bottom:1rem;display:grid}.confirmation-actions{justify-content:flex-end;gap:.65rem;margin-top:1.35rem;display:flex}.danger-confirm{color:#24070c;background:var(--danger)}.screen-dock.withTools{height:calc(100vh - 405px);min-height:260px}.console-toolbar.hidden{display:none}body.console-focus{overflow:hidden}body.console-focus .topbar{display:none}body.console-focus main{width:100%;margin:0;padding:0}.console-page.compact{z-index:20;background:#020608;width:100vw;height:100vh;margin:0;position:fixed;inset:0}.screen-dock.compact{border:0;width:100vw;height:100vh}.console-notch{z-index:30;min-height:48px;color:var(--text);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);pointer-events:none;opacity:0;background:#0d1b25ed;border:1px solid #38515f;border-radius:0 0 16px 16px;align-items:center;gap:.25rem;padding:.25rem .35rem .25rem .8rem;transition:transform .22s,opacity .18s;display:flex;position:fixed;top:0;left:50%;transform:translate(-50%,calc(-100% - 2px));box-shadow:0 12px 36px #0009}.console-notch.visible{pointer-events:auto;opacity:1;transform:translate(-50%)}.console-reveal-zone{z-index:29;width:100vw;height:12px;position:fixed;top:0;left:0}.notch-target{white-space:nowrap;align-items:center;gap:.5rem;display:inline-flex}.notch-target code{color:#c8d8e1;font-size:.78rem}.notch-live{background:var(--accent);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #50ddb018}.notch-divider{background:var(--border-strong);width:1px;height:24px;margin:0 .2rem}.notch-button{color:#cbdbe4;background:0 0;border:1px solid #0000;width:38px;min-width:38px;height:38px;min-height:38px}.notch-button:hover{background:#19303d;border-color:#38515f}@media (width<=940px){.console-toolbar{align-items:stretch}.connection-controls{width:100%;margin-left:0}.connection-controls label{flex:1}.connection-status{align-self:center;margin-left:auto}.two-cols{grid-template-columns:1fr}.session-tools{grid-template-columns:1fr;max-height:48vh;overflow:auto}.screen-dock.withTools{height:52vh}}@media (width<=760px){main{padding-top:2rem}.page-head{align-items:stretch}.page-head>button{align-self:flex-start}.identity{border-left:0;padding-left:0}.machine-grid{grid-template-columns:1fr}.console-page{margin-top:-2rem}.connection-controls{flex-direction:column;align-items:stretch}.connection-controls label,.connection-controls button.button-with-icon,.session-actions{width:100%}.session-actions .connection-pill{flex:1}.connection-status{width:100%;margin:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
