:root{color-scheme:dark;--bg:#09090A;--side:#0C0C0D;--panel:#161618;--raised:#1A1A1C;--line:#353539;--text:#F5F5F6;--muted:#A0A5AD;--accent:#D19E3D;--green:#7fe0b0;--orange:#f3c279;--red:#ff9caa;--radius:14px;font-family:Inter,"Segoe UI",system-ui,sans-serif;font-size:16px}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);line-height:1.5}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.4;cursor:not-allowed}button,a,input,select{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent)}button{color:inherit}button,input,select{border:1px solid var(--line);border-radius:8px;background:var(--raised);padding:.62rem .9rem}input,select{color:var(--text);min-width:0}input[type=checkbox]{accent-color:var(--accent);width:1.1rem;height:1.1rem;padding:0}label{display:grid;gap:.4rem;font-size:.875rem;color:var(--muted)}label.check{display:flex;align-items:center;gap:.6rem}label input,label select{font-size:1rem}button:hover:not(:disabled){border-color:#727d96;background:#2b3040}.primary{background:var(--accent);color:#1b1336;border-color:var(--accent);font-weight:650}.primary:hover:not(:disabled){background:#E1AF4B;color:#15130f}.ghost{background:transparent}.danger{color:var(--red)}h1,h2,h3,p{margin-top:0}h1{font-size:1.9rem;letter-spacing:-.05rem;line-height:1.25;font-weight:650;margin-bottom:.5rem}h2{font-size:1.2rem;line-height:1.35;font-weight:620}h3{font-size:1rem;font-weight:600}small,.small{font-size:.8125rem}pre{white-space:pre-wrap;overflow-wrap:anywhere}.muted{color:var(--muted)}.eyebrow{font-size:.75rem;letter-spacing:.13rem;text-transform:uppercase;color:var(--muted);font-weight:650;margin-bottom:.75rem}.brand{display:flex;align-items:center;gap:.7rem;font-size:1.3rem;font-weight:700;letter-spacing:-.04rem}.brand-mark{display:grid;place-items:center;background:var(--accent);color:#15130f;width:2.2rem;height:2.2rem;border-radius:9px;font-size:1.65rem;font-weight:800}.boot{padding:4rem}.login{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-aside{padding:3rem 4rem;background:#1B1B20;display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid var(--line)}.login-heading{max-width:520px;margin:5rem 0}.login-heading h1{font-size:3.2rem;letter-spacing:-.1rem;line-height:1.15}.login-heading p{font-size:1.1rem;color:var(--muted);max-width:400px}.login-detail{border-top:1px solid var(--line);padding:1.2rem 0;color:var(--muted)}.login-detail strong{color:var(--text);display:block}.login-main{display:flex;align-items:center;justify-content:center;padding:3rem}.login-form{display:grid;gap:1.2rem;width:100%;max-width:390px}.login-form h2{font-size:1.65rem;margin:0}.login-form p{margin:0}.form-error{color:var(--red);font-size:.875rem}.shell{display:grid;grid-template-columns:236px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;border-right:1px solid var(--line);background:var(--side);padding:1.7rem 1rem;display:flex;flex-direction:column;gap:2.8rem}.sidebar .brand{padding:0 .7rem}.nav-group{display:grid;gap:.35rem}.nav-title{font-size:.75rem;text-transform:uppercase;letter-spacing:.1rem;color:var(--muted);padding:0 .8rem;margin-bottom:.7rem}.nav-item{text-align:left;display:flex;gap:.9rem;align-items:center;background:transparent;border-color:transparent;color:var(--muted);font-size:.875rem}.nav-item.active{color:var(--accent);background:#D19E3D16;border-color:#D19E3D21}.nav-icon{font-size:1.15rem;width:1.3rem;text-align:center}.sidebar-bottom{margin-top:auto;display:grid;gap:1rem}.user{display:flex;align-items:center;gap:.65rem;padding:.8rem;border-top:1px solid var(--line)}.avatar{display:grid;place-items:center;background:#25252B;color:var(--accent);width:2.3rem;height:2.3rem;border-radius:50%;font-weight:650}.user-name{font-size:.875rem;overflow-wrap:anywhere}.user-role{color:var(--muted);font-size:.75rem}.main{min-width:0}.topbar{min-height:78px;display:flex;align-items:center;justify-content:space-between;padding:1rem 2.2rem;border-bottom:1px solid var(--line);gap:1rem}.breadcrumb{color:var(--muted);font-size:.875rem}.breadcrumb strong{color:var(--text);font-weight:500}.live{font-size:.8125rem;color:var(--green);display:flex;gap:.5rem;align-items:center}.live:before{content:"";display:block;width:7px;height:7px;border-radius:50%;background:currentColor}.live.reconnecting{color:var(--orange)}.page{padding:2.2rem;max-width:1580px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.8rem}.page-heading p{color:var(--muted);margin:0;font-size:.875rem}.simulation{padding:.65rem 1rem;border:1px solid #e2b57040;background:#e2b5700b;color:var(--orange);font-size:.875rem;border-radius:8px;margin-bottom:1.5rem}.overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:2rem}.stat{border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem 1.3rem;display:flex;align-items:center;justify-content:space-between;background:var(--panel)}.stat span{color:var(--muted);font-size:.875rem}.stat strong{font-size:1.8rem;font-weight:550;font-variant-numeric:tabular-nums}.stat .ready-text{color:var(--green)}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.section-heading h2{margin:0}.section-heading select{font-size:.875rem;padding:.35rem .6rem}.workspace{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);gap:1.4rem;align-items:start}.cards{display:grid;gap:.8rem}.server-card{position:relative;text-align:left;background:var(--panel);border-radius:12px;padding:1.15rem;display:grid;gap:1rem;width:100%;border:1px solid var(--line)}.server-card:hover:not(:disabled){background:var(--raised);border-color:#55555A}.server-card.selected{border-color:var(--accent);box-shadow:inset 3px 0 var(--accent);background:var(--raised)}.server-card-top{display:flex;align-items:center;gap:.85rem}.game-mark{display:grid;place-items:center;flex-shrink:0;height:2.8rem;width:2.8rem;background:#2A2A30;border:1px solid #ffffff12;border-radius:10px;color:#b9d7ed;font-weight:700;font-size:.85rem}.game-mark.minecraft{background:#224236;color:#a0e6b7}.game-mark.projectzomboid{background:#443627;color:#ead1a3}.game-mark.beammp{background:#423129;color:#f9b38e}.game-mark.rimworld{background:#20252d;color:#cfb8ff}.server-title{flex:1;min-width:0;font-size:1rem;font-weight:600}.server-title small{display:block;color:var(--muted);font-weight:400;margin-top:.15rem}.server-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.8125rem;color:var(--muted)}.badge{display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap;border-radius:6px;background:#323947;color:#c0c6d2;font-size:.8125rem;font-weight:500;padding:.22rem .5rem}.badge.READY{color:var(--green);background:#7fe0b017}.badge.STARTING,.badge.STOPPING{color:var(--orange);background:#f3c27917}.badge.ERROR{color:var(--red);background:#ff9caa12}.detail{border:1px solid var(--line);background:var(--panel);border-radius:var(--radius);overflow:hidden;position:sticky;top:1.5rem}.detail-head{padding:1.4rem;border-bottom:1px solid var(--line)}.detail-title{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.3rem}.detail-title h2{margin:0;font-size:1.3rem}.actions{display:flex;flex-wrap:wrap;gap:.55rem}.actions button{font-size:.875rem}.detail-section{padding:1.3rem;border-bottom:1px solid var(--line)}.detail-section:last-child{border-bottom:0}.data-row{display:flex;justify-content:space-between;gap:1rem;font-size:.875rem;margin:.65rem 0}.data-row span:first-child{color:var(--muted)}.data-row span:last-child{text-align:right;overflow-wrap:anywhere}.operation{padding:1rem;background:#D19E3D10;border:1px solid #D19E3D30;border-radius:8px}.operation strong{color:var(--accent);font-size:.875rem}.operation p{margin:.45rem 0 0;font-size:.875rem}.operation-line{height:2px;background:#D19E3D30;margin-top:1rem;overflow:hidden}.operation-line:after{content:"";display:block;background:var(--accent);height:100%;width:35%;animation:running 2s infinite linear}@keyframes running{from{transform:translateX(-100%)}to{transform:translateX(400%)}}.error-box{background:#ff9caa0c;border:1px solid #ff9caa30;border-radius:8px;padding:.9rem;color:var(--red);font-size:.875rem;margin-top:1rem}.health{font-size:.875rem;color:var(--muted);margin:0}.health:before{content:"↳ ";color:var(--green)}.logs{font-family:Consolas,"SFMono-Regular",monospace;font-size:.8125rem;line-height:1.7;max-height:320px;overflow:auto;background:#101014;padding:1rem;border-radius:8px;border:1px solid #37373E}.log{display:grid;grid-template-columns:4.6rem 1fr;gap:.6rem;margin-bottom:.45rem}.log time{color:#8e99b2}.log .error{color:var(--red)}.log .info{color:#d6ddeb}.empty{padding:2rem;text-align:center;border:1px dashed var(--line);border-radius:var(--radius);color:var(--muted)}.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);padding:1.4rem;margin-bottom:1rem}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px}table{border-collapse:collapse;width:100%;text-align:left;font-size:.875rem}th,td{padding:.95rem 1rem;border-bottom:1px solid var(--line);vertical-align:top}th{color:var(--muted);font-weight:500;background:#202026}td{background:#242429}tr:last-child td{border-bottom:0}td .actions button{font-size:.8125rem;padding:.35rem .6rem}td code{font-size:.75rem;color:var(--muted)}.form-grid{display:grid;gap:1.1rem}.form-grid.two{grid-template-columns:1fr 1fr}.form-grid .full{grid-column:1/-1}.hint{font-size:.8125rem;color:var(--muted);margin:0}.separator{height:1px;background:var(--line);margin:1.2rem 0}.pill{font-size:.8125rem;border:1px solid var(--line);border-radius:20px;padding:.25rem .7rem;color:var(--muted)}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.settings-row p{margin:.25rem 0;color:var(--muted);font-size:.875rem}dialog{color:var(--text);background:var(--panel);border:1px solid #535d76;border-radius:16px;width:min(620px,calc(100vw - 2rem));padding:1.6rem;max-height:85vh;overflow:auto;box-shadow:0 30px 100px #0008}dialog::backdrop{background:#080b12b8;backdrop-filter:blur(3px)}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.3rem}.modal-head h2{margin:0;font-size:1.4rem}.close{background:transparent;border:0;font-size:1.25rem;padding:0 .3rem}.modal-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:1.4rem}.grant-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.map-list{display:grid;gap:.6rem}.map-option{display:flex;align-items:center;gap:.7rem;padding:.85rem;border:1px solid var(--line);border-radius:8px;color:var(--text)}.map-option span{flex:1}.map-option small{display:block;color:var(--muted)}#toast{position:fixed;bottom:1.5rem;left:50%;transform:translateX(-50%);padding:.9rem 1.25rem;background:#202026;border:1px solid var(--accent);border-radius:10px;max-width:min(580px,90vw);z-index:10;box-shadow:0 15px 45px #0007}#toast.error{background:#3b242f;border-color:var(--red)}.diagnostic{max-height:50vh;overflow:auto;background:#101014;border:1px solid var(--line);padding:1rem;border-radius:8px;font-size:.8125rem}.login-form .simulation{margin-bottom:0}.bottom-note{color:var(--muted);font-size:.8125rem;margin-top:1.2rem}.hidden{display:none!important}
@media(min-width:1600px){.cards{grid-template-columns:1fr 1fr}.workspace{grid-template-columns:1.4fr 1fr}}
@media(max-width:1150px){.shell{grid-template-columns:195px 1fr}.sidebar{padding:1.4rem .65rem}.page{padding:1.4rem}.topbar{padding:1rem 1.4rem}.workspace{grid-template-columns:1fr}.cards{grid-template-columns:1fr 1fr}.detail{position:static}.login-aside{padding:2.5rem}.login-heading h1{font-size:2.5rem}}
@media(max-width:760px){.shell{display:block}.sidebar{height:auto;position:static;gap:1rem;border-right:0;border-bottom:1px solid var(--line);padding:1rem}.sidebar .brand{padding:0}.nav-group{display:flex;overflow:auto;gap:.4rem}.nav-item{white-space:nowrap;padding:.5rem .7rem}.nav-title,.sidebar-bottom{display:none}.topbar{min-height:56px;padding:.7rem 1rem}.page{padding:1.25rem 1rem}.page-heading{align-items:flex-start}.page-heading h1{font-size:1.6rem}.overview{gap:.5rem;margin-bottom:1.5rem}.stat{display:block;padding:.8rem}.stat strong{display:block;font-size:1.5rem;margin-top:.3rem}.stat span{font-size:.8125rem}.cards{grid-template-columns:1fr}.login{display:block}.login-aside{padding:1.5rem;border:0}.login-heading,.login-detail,.login-aside .hint{display:none}.login-main{padding:2rem 1.5rem}.form-grid.two{grid-template-columns:1fr}.settings-row{align-items:flex-start}.page-heading .actions{justify-content:flex-end}.table-wrap{max-width:100%}.detail-title{align-items:flex-start}.topbar .breadcrumb{font-size:.8125rem}.live{font-size:.75rem}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}

.admin-tools{margin-top:1rem;display:grid;gap:.6rem}fieldset{border:1px solid var(--line);border-radius:10px;padding:1rem;display:grid;gap:.85rem;min-width:0}legend{padding:0 .4rem;font-weight:600}.rcon-output{height:240px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;background:#101014;border:1px solid var(--line);border-radius:8px;padding:1rem;font-size:.8125rem;color:var(--text)}.page{overflow-anchor:none}
.startup-estimate{margin:1rem 0;padding:.8rem;border-left:2px solid var(--orange);background:#f3c27908}.startup-estimate p+p{margin-top:.35rem}.audit-filter{margin:.8rem 0}.technical-modal{width:min(1280px,calc(100vw - 2rem));max-height:94vh}.technical-toolbar{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin:1rem 0}.technical-toolbar [aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.technical-lines{height:62vh;overflow:auto;overflow-anchor:none;margin:.65rem 0;background:#101014;border:1px solid var(--line);border-radius:8px;padding:.8rem;font-family:Consolas,"SFMono-Regular",monospace;font-size:.75rem;line-height:1.6}.technical-line{display:grid;grid-template-columns:5rem minmax(0,1fr);gap:.75rem;white-space:pre-wrap;overflow-wrap:anywhere}.technical-line[hidden]{display:none}.technical-line time{color:var(--muted)}.technical-line.error{color:var(--red)}.technical-line.warning{color:var(--orange)}

.permissions-modal{width:min(860px,calc(100vw - 2rem))}.permission-list{display:grid;gap:.85rem}.permission-card{display:grid;gap:1rem;border:1px solid var(--line);border-radius:12px;background:#242429;padding:1rem}.permission-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.permission-head strong{display:block}.permission-head small{display:block;color:var(--muted);margin-top:.2rem}.access-toggle{display:flex;align-items:center;gap:.55rem;color:var(--text);white-space:nowrap}.permission-card .grant-grid{padding-top:.2rem}.permission-card .sensitive{color:var(--orange)}@media(max-width:640px){.permission-head{display:grid}.access-toggle{white-space:normal}.grant-grid{grid-template-columns:1fr}}

.badge.RUNNING_UNVERIFIED{color:#b9d7ed;background:#75b8e517;white-space:normal}

/* Checkpoint 0.2.9.3: distinct from the historical PZ Workshop state. */
.maintenance-badge{display:inline-flex;align-items:center;border-radius:6px;background:#D19E3D18;color:var(--accent);border:1px solid #D19E3D35;font-size:.75rem;font-weight:650;padding:.2rem .45rem;white-space:nowrap}.maintenance-notice,.maintenance-control{border:1px solid #D19E3D40;background:#D19E3D0c;border-radius:9px;padding:.9rem;margin-bottom:1rem;font-size:.875rem}.maintenance-notice strong,.maintenance-control strong{color:var(--accent)}.maintenance-notice p,.maintenance-control p{margin:.35rem 0 .7rem;color:var(--muted)}.supervision-title{margin:1.7rem 0 1rem}.supervision-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1rem}.health-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);padding:1.2rem;min-width:0}.health-card h2,.health-card h3{margin-bottom:.65rem}.health-card strong{font-size:1.1rem;font-variant-numeric:tabular-nums}.health-card strong span{color:var(--muted);font-weight:400}.health-card p{color:var(--muted);font-size:.875rem;margin:.4rem 0 0}.temperature-list{display:grid;gap:.45rem}.temperature-list span{display:flex;justify-content:space-between;gap:.8rem;overflow-wrap:anywhere}.version-panel{display:flex;justify-content:space-between;gap:1.5rem;align-items:flex-start}.version-panel h2,.diagnostic-panel h2{margin-bottom:.35rem}.version-panel p,.diagnostic-panel p{color:var(--muted);margin-bottom:0}.version-panel .hint{max-width:420px}.diagnostic-panel .actions{margin-top:1rem}@media(max-width:760px){.cards,.supervision-grid{grid-template-columns:1fr}.settings-row,.version-panel{align-items:flex-start;display:grid}}

/* 0.3.0 CP4: minimal Admin instance flow; business rules remain server-owned. */
.profile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:2rem}.profile-card,.candidate-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);padding:1.2rem;min-width:0}.profile-card h2,.candidate-card h3{margin:0}.profile-card p{font-size:.875rem}.capability-list{display:flex;flex-wrap:wrap;gap:.4rem;margin:.65rem 0}.instance-candidates{margin-top:1rem}.candidate-list{display:grid;gap:1rem}.candidate-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.candidate-head p{color:var(--muted);font-size:.8125rem;margin:.25rem 0}.candidate-head code{overflow-wrap:anywhere}.candidate-card>ul,.candidate-columns ul{font-size:.875rem;color:var(--muted);padding-left:1.25rem}.candidate-columns{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1rem 0}.candidate-columns strong{font-size:.875rem}.qualification-list{display:grid;gap:.7rem}.qualification-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;border:1px solid var(--line);border-radius:9px;padding:.85rem}.qualification-row p{margin:.2rem 0 0;color:var(--muted);font-size:.8125rem}.success-box{border:1px solid #7fe0b040;background:#7fe0b00d;border-radius:9px;padding:1rem;margin-bottom:1rem}.success-box strong{color:var(--green)}.success-box p{margin:.35rem 0 0;color:var(--muted);font-size:.875rem}.instance-qualification-link{margin-top:1rem}@media(max-width:1000px){.profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.profile-grid,.candidate-columns{grid-template-columns:1fr}.candidate-head,.qualification-row{display:grid}.candidate-head .badge{justify-self:start}}

/* 0.3.1 CP1 — RoufleCorp visual shell */
:root{
  --bg:#09090A;
  --side:#0C0C0D;
  --panel:#161618;
  --raised:#1A1A1C;
  --line:#353539;
  --text:#F5F5F6;
  --muted:#A0A5AD;
  --accent:#D19E3D;
  --accent-strong:#E1AF4B;
  --accent-soft:#D19E3D1A;
  --green:#79D7A7;
  --orange:#E6A95E;
  --red:#FF8D9A;
  --radius:14px;
}
body{background:var(--bg)}
button,input,select{background:var(--raised)}
button:hover:not(:disabled){border-color:#59626e;background:#202731}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline-color:var(--accent)}
.primary{background:var(--accent);border-color:var(--accent);color:#15130f;font-weight:750}
.primary:hover:not(:disabled){background:var(--accent-strong);border-color:var(--accent-strong);color:#15130f}
.ghost{background:transparent}
.eyebrow{color:#B6BDC7;letter-spacing:.15rem}
.brand{display:flex;align-items:center;gap:.7rem;min-width:0}
.brand-mark{display:block;width:2.7rem;height:1.8rem;object-fit:contain;flex:none;background:none;border-radius:0}
.brand-copy{display:grid;line-height:1}
.brand-name{font-size:1.18rem;font-weight:800;letter-spacing:-.035rem;color:var(--text);white-space:nowrap}
.brand-name strong{color:var(--accent);font-weight:800}
.brand-powered{font-size:.65rem;color:#C0C6CE;margin-top:.35rem;white-space:nowrap;letter-spacing:.01rem}
.brand-powered strong{color:var(--accent);font-weight:700}
.boot .brand{margin-bottom:.8rem}
.boot .brand-mark{width:3.3rem;height:2.2rem}
.login{background:var(--bg)}
.login-aside{background:#141418;border-right-color:var(--line)}
.login-aside .brand-mark{width:4.2rem;height:2.8rem}
.login-aside .brand-name{font-size:1.45rem}
.login-aside .brand-powered{font-size:.72rem}
.login-heading h1{font-weight:760}
.login-detail{border-top-color:#37373E}
.shell{
  grid-template-columns:248px minmax(0,1fr);
  transition:grid-template-columns .18s ease;
}
.sidebar{
  background:var(--side);
  border-right-color:var(--line);
  padding:1.35rem .9rem 1rem;
  gap:1.4rem;
  overflow:hidden;
}
.sidebar>.brand{padding:.25rem .55rem .65rem;min-height:2.85rem}
.sidebar nav{display:grid;gap:1.6rem}
.nav-section{display:grid;gap:.7rem}
.nav-title{
  margin:0;
  padding:0 .8rem;
  font-size:.68rem;
  letter-spacing:.16rem;
  color:#7f8997;
}
.nav-group{gap:.3rem}
.nav-item{
  min-height:2.8rem;
  border-radius:10px;
  padding:.65rem .8rem;
  color:#AAB2BE;
  gap:.75rem;
  font-weight:560;
}
.nav-item[hidden]{display:none!important}
.nav-item:hover:not(:disabled){background:#ffffff08;border-color:#ffffff0d}
.nav-item.active{
  color:#F3D79A;
  background:var(--accent-soft);
  border-color:#d19e3d33;
  box-shadow:inset 3px 0 var(--accent);
}
.nav-icon{
  width:1.35rem;
  min-width:1.35rem;
  color:inherit;
  font-size:1.05rem;
}
.sidebar-toggle{
  position:static;
  align-self:flex-end;
  margin-top:-.9rem;
  margin-right:.15rem;
  z-index:2;
  width:1.55rem;
  height:1.9rem;
  padding:0;
  border-radius:8px;
  display:grid;
  place-items:center;
  background:#151516;
  border-color:var(--line);
  color:#C7CED7;
}
.sidebar{position:sticky}
.sidebar-bottom{
  gap:.55rem;
  border-top:1px solid #252c35;
  padding-top:.8rem;
}
.user{border-top:0;padding:.5rem .55rem}
.avatar{background:#d19e3d1e;color:#F3D79A;border:1px solid #d19e3d35}
.logout-button{display:flex;align-items:center;gap:.65rem;justify-content:flex-start}
.shell.sidebar-collapsed{grid-template-columns:82px minmax(0,1fr)}
.shell.sidebar-collapsed .sidebar{padding-left:.65rem;padding-right:.65rem}
.shell.sidebar-collapsed .sidebar>.brand{justify-content:center;padding-left:0;padding-right:0}
.shell.sidebar-collapsed .brand-copy,
.shell.sidebar-collapsed .nav-label,
.shell.sidebar-collapsed .nav-title,
.shell.sidebar-collapsed .user-meta{display:none}
.shell.sidebar-collapsed .brand-mark{width:3rem;height:2rem}
.shell.sidebar-collapsed .nav-item,
.shell.sidebar-collapsed .logout-button{justify-content:center;padding-left:.55rem;padding-right:.55rem}
.shell.sidebar-collapsed .user{justify-content:center;padding-left:0;padding-right:0}
.shell.sidebar-collapsed .sidebar nav{gap:.8rem}
.shell.sidebar-collapsed .sidebar-toggle{align-self:center;margin-right:0;margin-top:-.65rem}
.topbar{
  min-height:66px;
  background:#0A0A0B;
  backdrop-filter:blur(12px);
  border-bottom-color:var(--line);
  padding:0 2rem;
}
.breadcrumb{font-size:.9rem}
.breadcrumb strong{font-weight:650;color:#E6E9ED}
.topbar-actions{display:flex;align-items:center;gap:.8rem}
.live{
  border:1px solid #37373E;
  border-radius:999px;
  padding:.28rem .65rem;
  background:#ffffff05;
  color:#8EDCB4;
}
.page{padding:2rem;max-width:1500px}
.page-heading{margin-bottom:1.5rem}
.page-heading h1{font-size:1.85rem}
.overview{display:grid}
.workspace{grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);gap:1.25rem}
.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}
.server-card{
  min-height:108px;
  padding:1.05rem 1.15rem;
  background:var(--panel);
  border-color:var(--line);
  box-shadow:0 8px 30px #00000012;
}
.server-card:hover:not(:disabled){background:var(--raised);border-color:#55555A}
.server-card.selected{
  border-color:var(--accent);
  box-shadow:inset 3px 0 var(--accent),0 10px 36px #00000020;
  background:var(--raised);
}
.game-mark{
  background:#29292B;
  border-color:#3B3B3E;
  color:var(--text);
  border-radius:9px;
}
.server-title{font-size:1.03rem}
.badge{border:1px solid transparent}
.badge.READY{color:#8BDEB3;background:#79d7a712;border-color:#79d7a72e}
.badge.STARTING,.badge.STOPPING{color:#F2C27F;background:#e6a95e12;border-color:#e6a95e30}
.badge.ERROR{color:#FF9DA8;background:#ff8d9a10;border-color:#ff8d9a2e}
.badge.RUNNING_UNVERIFIED{color:var(--orange);background:#E6A95E14;border-color:#E6A95E30}
.maintenance-badge{background:#d19e3d12;color:#E3BA69;border-color:#d19e3d38}
.detail,.panel,.health-card,.profile-card,.candidate-card,.permission-card{
  background:var(--panel);
  border-color:var(--line);
}
.operation{background:#d19e3d0d;border-color:#d19e3d32}
.operation strong{color:#E3BA69}
.operation-line{background:#d19e3d26}
.operation-line:after{background:var(--accent)}
dialog{background:#1B1B20;border-color:#52525B}
#toast{background:#202026;border-color:var(--accent)}
.table-wrap{border-color:#37373E}
th{background:#151a21}
td{background:#1B1B20}
.logs,.diagnostic,.technical-lines,.rcon-output{background:#101014}
@media(max-width:1150px){
  .shell{grid-template-columns:220px minmax(0,1fr)}
  .shell.sidebar-collapsed{grid-template-columns:78px minmax(0,1fr)}
  .workspace{grid-template-columns:1fr}
  .detail{position:static}
}
@media(max-width:760px){
  .shell,.shell.sidebar-collapsed{display:block}
  .sidebar{
    height:auto;
    position:static;
    overflow:visible;
    border-right:0;
    border-bottom:1px solid #272e37;
    padding:.9rem 1rem;
    gap:.7rem;
  }
  .sidebar>.brand{justify-content:flex-start;padding:0 0 .55rem}
  .sidebar .brand-copy{display:grid}
  .sidebar .brand-mark{width:2.7rem;height:1.8rem}
  .sidebar-toggle{display:none}
  .sidebar nav{display:grid;gap:.65rem}
  .nav-group{display:flex;overflow:auto;gap:.4rem;padding-bottom:.15rem}
  .nav-section{gap:.35rem}
  .nav-title{display:block;padding:0;font-size:.63rem}
  .nav-item,.shell.sidebar-collapsed .nav-item{
    justify-content:flex-start;
    white-space:nowrap;
    padding:.5rem .7rem;
    min-height:2.45rem;
  }
  .shell.sidebar-collapsed .nav-label{display:inline}
  .sidebar-bottom{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:space-between;
    margin-top:.1rem;
    padding-top:.65rem;
  }
  .user,.shell.sidebar-collapsed .user{padding:0;justify-content:flex-start}
  .shell.sidebar-collapsed .user-meta{display:block}
  .logout-button,.shell.sidebar-collapsed .logout-button{justify-content:flex-start}
  .topbar{min-height:52px;padding:.65rem 1rem}
  .live{font-size:.7rem;padding:.22rem .5rem}
  .page{padding:1.15rem 1rem}
  .workspace{grid-template-columns:1fr}
  .server-card{min-height:96px}
}
@media(prefers-reduced-motion:reduce){
  .shell{transition:none}
}

/* 0.3.1 CP2 — server and admin view refinement */
.workspace{
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);
  gap:1.35rem;
  align-items:start;
}
.server-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:1rem;
  text-align:left;
  width:100%;
  cursor:pointer;
}
.server-card-open{
  appearance:none;
  border:0;
  background:transparent;
  color:inherit;
  padding:0;
  margin:0;
  text-align:left;
  width:100%;
  min-width:0;
  border-radius:10px;
}
.server-card-open:hover:not(:disabled){background:transparent}
.server-card-open:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:5px;
}
.server-card-main{
  min-width:0;
  display:grid;
  gap:.75rem;
}
.server-card-top{
  min-width:0;
}
.server-card-status{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:.55rem;
  color:var(--muted);
  font-size:.8rem;
}
.server-card-activity{
  color:#AAB2BE;
}
.server-detail-shell{
  position:sticky;
  top:1.35rem;
  scroll-margin-top:5rem;
  min-width:0;
}
.detail{
  position:static;
  border-radius:var(--radius);
}
.detail-head{
  display:grid;
  gap:1rem;
  padding:1.35rem 1.45rem;
}
.detail-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
}
.detail-heading h2{
  margin:0;
  font-size:1.45rem;
}
.lifecycle-actions{
  gap:.65rem;
}
.server-facts{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.7rem;
  margin:0 0 1rem;
}
.server-fact{
  border:1px solid #37373E;
  border-radius:10px;
  background:#151519;
  padding:.85rem .95rem;
  min-width:0;
}
.server-fact span{
  display:block;
  color:var(--muted);
  font-size:.75rem;
  margin-bottom:.25rem;
}
.server-fact strong{
  font-size:.95rem;
  font-weight:650;
  overflow-wrap:anywhere;
}
.secondary-actions{
  gap:.55rem;
}
.secondary-actions .ghost{
  background:#ffffff03;
}
.permissions-modal,
.technical-modal{
  border-top:2px solid #d19e3d55;
}
.profile-grid{
  gap:.8rem;
}
.profile-card,
.candidate-card,
.permission-card,
.health-card{
  box-shadow:0 8px 28px #00000010;
}
.table-wrap{
  background:#1B1B20;
}
th{
  color:#B7BEC8;
}
td strong{
  color:#F2F4F7;
}
.supervision-grid{
  gap:.8rem;
}
.health-card{
  min-height:132px;
}
.page-heading>.actions,
.page-heading>button{
  flex:none;
}
@media(max-width:1150px){
  .workspace{grid-template-columns:1fr}
  .server-detail-shell{position:static}
}
@media(max-width:760px){
  .server-card{
    grid-template-columns:1fr;
    align-items:stretch;
    gap:.8rem;
  }
  .permissions-table{
    border:0;
    overflow:visible;
    background:transparent;
  }
  .permissions-table table,
  .permissions-table tbody,
  .permissions-table tr,
  .permissions-table td{
    display:block;
    width:100%;
  }
  .permissions-table thead{display:none}
  .permissions-table tr{
    border:1px solid var(--line);
    border-radius:12px;
    background:#1B1B20;
    margin-bottom:.75rem;
    overflow:hidden;
  }
  .permissions-table td{
    border-bottom:1px solid var(--line);
    padding:.85rem 1rem;
    background:transparent;
  }
  .permissions-table td:last-child{border-bottom:0}
  .permissions-table td::before{
    content:attr(data-label);
    display:block;
    color:var(--muted);
    font-size:.7rem;
    text-transform:uppercase;
    letter-spacing:.08rem;
    margin-bottom:.35rem;
  }
  .permissions-table td .actions{
    display:grid;
    grid-template-columns:1fr;
  }
  .permissions-table td .actions button{width:100%}

  .server-facts{
    grid-template-columns:1fr;
  }
  .detail-heading{
    align-items:flex-start;
  }
  .detail-head,
  .detail-section{
    padding:1rem;
  }
}
.manual-instance-modal{width:min(780px,calc(100vw - 2rem))}.manual-profile-list,.manual-resource-list{display:grid;gap:.8rem}.manual-profile-card,.manual-resource-card{border:1px solid var(--line);border-radius:11px;background:#242429;padding:1rem}.manual-profile-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.7rem 1rem}.manual-profile-card h3,.manual-step h3{margin:0}.manual-profile-card p,.manual-step p{margin:.2rem 0 0;color:var(--muted);font-size:.8125rem}.manual-profile-card .capability-list{grid-column:1/-1;margin:0}.manual-resource-card>ul{font-size:.875rem;color:var(--muted);padding-left:1.25rem}.manual-step{border-bottom:1px solid var(--line);padding-bottom:1rem;margin-bottom:1rem}.manual-step .pill{display:inline-flex;margin-bottom:.6rem}.manual-error p{margin:0 0 .7rem}.manual-confirmation{border:1px solid #f3c27945;background:#f3c2790b;border-radius:9px;padding:.9rem;margin-top:1rem}.manual-confirmation strong{color:var(--orange)}.manual-confirmation p{margin:.3rem 0 0;color:var(--muted);font-size:.875rem}@media(max-width:760px){.manual-profile-card{grid-template-columns:1fr}.manual-profile-card .capability-list{grid-column:auto}.manual-instance-modal .modal-actions{flex-wrap:wrap}}

/* 0.3.1 visual direction — approved v02 assets and neutral Vos serveurs surfaces. */
.brand-logo{display:block;width:100%;max-width:210px;height:auto;aspect-ratio:3/1;object-fit:contain;flex:none}
.brand-symbol{display:none;width:50px;height:50px;object-fit:contain;flex:none}
.boot .brand-logo{max-width:220px}
.login-aside .brand-logo{max-width:300px}
.sidebar>.brand{min-height:4.5rem}
.shell.sidebar-collapsed .brand-logo{display:none}
.shell.sidebar-collapsed .brand-symbol{display:block}
@media(max-width:760px){
  .sidebar>.brand{min-height:0}
  .sidebar .brand-logo,.shell.sidebar-collapsed .brand-logo{display:block;max-width:185px}
  .shell.sidebar-collapsed .brand-symbol{display:none}
  .login-aside .brand-logo{max-width:220px}
}
.main{background:var(--bg)}
.server-detail-shell .detail-head{background:var(--panel)}
.server-detail-shell .detail-section{background:var(--panel);border-top:1px solid var(--line);border-bottom:0}
.server-detail-shell .detail-section-title{font-size:.84rem;letter-spacing:.04em;color:var(--muted);margin-bottom:1rem}
.server-detail-shell .server-fact{background:transparent;border-color:var(--line)}
.server-detail-shell .events-section{background:var(--bg)}
.server-detail-shell .logs{background:var(--bg);border-color:var(--line)}
.server-detail-shell .log time{color:var(--muted)}
.server-detail-shell .log .info{color:var(--text)}
.server-detail-shell .maintenance-notice,.server-detail-shell .maintenance-control{background:var(--raised);border:1px solid var(--line);border-left:2px solid var(--accent)}
.server-detail-shell .operation{background:var(--raised);border-color:var(--line);border-left:2px solid var(--orange)}
.server-card.selected{border-color:var(--accent);box-shadow:inset 2px 0 var(--accent);background:var(--raised)}

/* 0.3.1 — final convergence of Vos serveurs with the approved desktop reference. */
.sidebar{background:var(--side);gap:.65rem;padding:1.3rem .85rem;overflow:visible;z-index:2}
.sidebar>.brand{min-height:5.8rem;padding:0;overflow:hidden;justify-content:center}
.sidebar .brand-logo{width:280px;max-width:none;flex:0 0 280px}
.sidebar-toggle{
  position:absolute;
  top:50%;
  right:-11px;
  transform:translateY(-50%);
  margin:0;
  width:22px;
  height:30px;
  padding:0;
  border:1px solid var(--line);
  border-radius:7px;
  background:#151516;
  color:var(--text);
  font-size:1.2rem;
  font-weight:700;
  line-height:1;
}
.sidebar-toggle:hover:not(:disabled),.sidebar-toggle:focus-visible{background:var(--side);border-color:var(--accent);color:var(--accent)}
.shell.sidebar-collapsed .sidebar-toggle{top:50%;right:-11px;margin:0}
.sidebar nav{min-height:0;overflow:auto}
.sidebar .nav-group{gap:.18rem}
.sidebar .nav-item{font-size:.9rem;padding:.65rem .8rem}
.sidebar .nav-item.active{color:var(--accent);background:#1A1A1C;border-color:#343436;box-shadow:inset 2px 0 var(--accent)}
.sidebar-bottom{gap:.45rem;border-color:var(--line)}
.sidebar .avatar{background:#1A1A1C;border-color:var(--line)}
.shell{grid-template-columns:234px minmax(0,1fr)}
button:hover:not(:disabled){background:#242426;border-color:#55555A}
.primary,.primary:hover:not(:disabled){color:#15130f}
.primary:hover:not(:disabled){background:var(--accent-strong);border-color:var(--accent-strong)}
.page{max-width:1500px;padding:2rem}
.page-heading{margin-bottom:1.25rem}
.overview{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin-bottom:1.45rem}
.overview .stat{background:var(--panel);border-color:var(--line);padding:.85rem 1.1rem;min-height:70px}
.overview .stat strong{font-size:1.45rem;color:var(--text)}
.overview .stat strong .ready-text{color:var(--green)}
.overview .stat small{font-size:.85rem;color:var(--muted)}
.workspace{grid-template-columns:minmax(0,1.4fr) minmax(420px,1fr);gap:1.2rem}
.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.server-card{display:block;min-height:0;padding:.9rem 1rem;background:var(--panel);border-color:var(--line);box-shadow:none}
.server-card:hover:not(:disabled){background:var(--raised);border-color:#55555A}
.server-card.selected{border-color:var(--accent);box-shadow:inset 2px 0 var(--accent);background:var(--raised)}
.server-card-main{gap:.6rem}
.server-card-status{gap:.45rem}
.server-card-activity{margin-left:auto;color:var(--muted)}
.server-card .badge,.server-detail-shell .badge{background:#29292B;color:#D6D6D8;border-color:var(--line)}
.server-card .badge.READY,.server-detail-shell .badge.READY{background:#79d7a712;color:var(--green);border-color:#79d7a72e}
.server-card .badge.STARTING,.server-card .badge.STOPPING,.server-card .badge.RUNNING_UNVERIFIED,.server-detail-shell .badge.STARTING,.server-detail-shell .badge.STOPPING,.server-detail-shell .badge.RUNNING_UNVERIFIED{background:#E6A95E14;color:var(--orange);border-color:#E6A95E30}
.server-card .badge.ERROR,.server-detail-shell .badge.ERROR{background:#ff8d9a10;color:var(--red);border-color:#ff8d9a2e}
.game-mark{background:#29292B;border-color:#3B3B3E;color:var(--text)}
.game-mark.minecraft{background:#204A3B;border-color:#315B4B;color:#B7F3CC}
.game-mark.projectzomboid{background:#493527;border-color:#604632;color:#F2D2A8}
.game-mark.beammp{background:#533628;border-color:#6B4735;color:#FFC099}
.game-mark.rimworld{background:#382D4D;border-color:#4A3C62;color:#DDC4FF}
.game-mark.assetto,.game-mark.spaceengineers{background:#303033;border-color:#454548;color:#D6DADF}
.server-detail-shell .detail{background:var(--panel);border-color:var(--line)}
.server-detail-shell .detail-head{background:var(--panel);padding:1.05rem 1.2rem;gap:.75rem}
.server-detail-shell .detail-heading h2{font-size:1.35rem}
.server-detail-shell .lifecycle-actions{gap:.5rem}
.server-detail-shell .rcon-summary{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;padding:.7rem;background:var(--bg);border:1px solid var(--line);border-radius:8px}
.server-detail-shell .rcon-summary .hint{flex:1;min-width:170px}
.server-detail-shell .detail-section{background:var(--panel);border-top:1px solid var(--line);border-bottom:0;padding:.9rem 1.2rem}
.server-detail-shell .detail-section-title{margin-bottom:.5rem}
.server-detail-shell .server-facts{grid-template-columns:1fr;gap:.1rem;margin:0 0 .55rem}
.server-detail-shell .server-fact{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;border:0;border-radius:0;background:transparent;padding:.2rem 0}
.server-detail-shell .server-fact span{font-size:.8rem;margin:0}
.server-detail-shell .server-fact strong{font-size:.82rem;font-weight:550;text-align:right}
.server-detail-shell .maintenance-section{padding:.35rem 1.2rem .75rem;border-top:0}
.server-detail-shell .maintenance-notice,.server-detail-shell .maintenance-control{background:#1A1A1C;border:1px solid var(--line);border-left:2px solid var(--accent);margin:0;padding:.75rem .9rem}
.server-detail-shell .operation{background:#1A1A1C;border-color:var(--line);border-left:2px solid var(--orange)}
.server-detail-shell .events-section,.server-detail-shell .logs{background:var(--bg)}
.server-detail-shell .logs{border-color:var(--line);scrollbar-color:#55555A var(--bg)}
@media(max-width:1370px){
  .workspace{grid-template-columns:1fr}
  .server-detail-shell{position:static}
}
@media(max-width:1150px){
  .shell{grid-template-columns:220px minmax(0,1fr)}
  .sidebar .brand-logo{width:260px;flex-basis:260px}
}
@media(max-width:760px){
  .shell,.shell.sidebar-collapsed{display:block}
  .sidebar{position:static;gap:.7rem}
  .sidebar-toggle{display:none}
  .sidebar>.brand{min-height:0;overflow:visible;justify-content:flex-start}
  .sidebar .brand-logo,.shell.sidebar-collapsed .brand-logo{width:185px;max-width:185px;flex-basis:185px}
  .sidebar nav{overflow:visible}
  .overview{grid-template-columns:repeat(3,minmax(0,1fr))}
  .overview .stat{display:block;min-height:0;padding:.65rem}
  .cards{grid-template-columns:1fr}
}
@media(max-width:520px){
  .overview{grid-template-columns:1fr}
  .overview .stat{display:flex}
  .server-card-activity{margin-left:0}
}

/* Compact server detail, preserving the shared palette and other views. */
.topbar-actions{margin-left:auto}
.server-detail-shell .maintenance-section{padding:.35rem 1.2rem .65rem}
.server-detail-shell .maintenance-control{display:flex;align-items:center;gap:.7rem;padding:.45rem .7rem;flex-wrap:wrap}
.server-detail-shell .maintenance-control strong{white-space:nowrap}
.server-detail-shell .maintenance-control p{margin:0;flex:1;min-width:110px}
.server-detail-shell .maintenance-control button{padding:.35rem .7rem}
.server-detail-shell .maintenance-notice{padding:.75rem .9rem}
.server-detail-shell .activity-section{padding:.8rem 1.2rem 1rem}
.server-detail-shell .activity-section .detail-section-title{margin-bottom:.55rem}
.server-detail-shell .activity-actions{gap:.4rem;margin-bottom:.65rem}
.server-detail-shell .activity-actions button{padding:.4rem .65rem;font-size:.8125rem}
@media(max-width:760px){
  .server-detail-shell .maintenance-control{align-items:flex-start}
  .server-detail-shell .maintenance-control p{min-width:100%}
}

/* Compact Admin-only technical access inside instance settings. */
.advanced-admin-settings{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;margin:.8rem 0 0;padding:.75rem 1rem}
.advanced-admin-settings h3{width:100%;margin:0}
.advanced-admin-settings p{margin:0;color:var(--muted);font-size:.8125rem}
.advanced-admin-settings>div{flex:1;min-width:180px}
@media(max-width:760px){.advanced-admin-settings{align-items:flex-start}}

/* Compact Admin instance catalogue; discovery and manual flows retain their controls. */
.instance-heading-actions{margin-left:auto;justify-content:flex-end;align-self:center;gap:.55rem}
.instance-candidates{margin-top:0;margin-bottom:1.5rem}
.instance-candidates .empty p{margin:.25rem 0 0}
.instance-profiles .section-heading{flex-wrap:wrap}
.instance-profiles .section-heading .pill{max-width:100%;white-space:normal}
.instance-profiles .profile-grid{margin-bottom:0}
.instance-profiles .profile-card{display:grid;align-content:start;gap:.35rem;padding:.8rem .9rem}
.profile-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.55rem}
.profile-card-head h3{margin:0;min-width:0;font-size:.95rem;overflow-wrap:anywhere}
.profile-card-head .badge{flex:none;font-size:.72rem}
.profile-card .profile-description,.profile-card .profile-add-mode,.profile-capability-summary{margin:0;font-size:.8rem;line-height:1.35}
.profile-card .profile-description,.profile-capability-summary{color:var(--muted)}
.profile-card .profile-add-mode{color:var(--text)}
.profile-capabilities{min-width:0;color:var(--muted);font-size:.8rem;line-height:1.35}
.profile-capabilities summary{cursor:pointer;overflow-wrap:anywhere}
.profile-capabilities summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}
.profile-capabilities-cue{margin-left:.5rem;color:var(--text)}
.profile-capabilities .capability-list{margin:.55rem 0 0;gap:.3rem}
.profile-capabilities .pill{font-size:.75rem;padding:.2rem .5rem}
@media(max-width:760px){
  .instance-heading{flex-wrap:wrap}
  .instance-heading-actions{width:100%;margin-left:0;justify-content:flex-start}
}

/* Dense candidate states: actionable resources stay open, registered ones collapse. */
.instance-candidates .candidate-summary{white-space:normal;text-align:right}
.instance-candidates .candidate-list{gap:.55rem}
.instance-candidates .candidate-card{display:grid;gap:.45rem;padding:.75rem .9rem}
.instance-candidates .candidate-head{align-items:center;gap:.65rem}
.instance-candidates .candidate-head h3{font-size:.94rem}
.instance-candidates .candidate-head p{margin:.12rem 0 0;line-height:1.35}
.instance-candidates .candidate-reasons{margin:.05rem 0;padding-left:1.1rem;font-size:.8rem;line-height:1.35}
.instance-candidates .candidate-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem 1rem;margin:.05rem 0}
.instance-candidates .candidate-columns strong{font-size:.8rem}
.instance-candidates .candidate-columns ul{margin:.2rem 0 0;padding-left:1.05rem;font-size:.8rem;line-height:1.35}
.instance-candidates .candidate-columns .capability-list{gap:.3rem;margin:.2rem 0 0}
.instance-candidates .candidate-columns .pill{font-size:.75rem;padding:.18rem .45rem}
.instance-candidates .candidate-card>.actions{margin-top:.05rem}
.candidate-none-new{margin:.2rem 0;color:var(--muted);font-size:.875rem}
.registered-candidates{border:1px solid var(--line);border-radius:10px;background:var(--panel);overflow:hidden}
.registered-candidates>summary{cursor:pointer;padding:.55rem .75rem;font-size:.875rem;font-weight:600;list-style-position:inside}
.registered-candidates>summary:focus-visible,.registered-candidate-details>summary:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:4px}
.registered-candidate-list{display:grid;border-top:1px solid var(--line)}
.registered-candidate-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(90px,auto);align-items:center;gap:.55rem .8rem;padding:.55rem .75rem;border-bottom:1px solid var(--line)}
.registered-candidate-row:last-child{border-bottom:0}
.registered-candidate-identity{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(90px,.65fr) minmax(0,1.25fr);align-items:baseline;gap:.2rem .65rem;min-width:0;font-size:.8rem}
.registered-candidate-identity strong,.registered-candidate-identity span,.registered-candidate-identity code{min-width:0;overflow-wrap:anywhere}
.registered-candidate-identity span{color:var(--muted)}
.registered-candidate-identity code{font-size:.75rem;color:var(--muted)}
.registered-candidate-row>.badge{white-space:nowrap;font-size:.72rem}
.registered-candidate-details{grid-column:1/-1;border-top:1px solid var(--line);padding-top:.4rem;color:var(--muted);font-size:.8rem}
.registered-candidate-details>summary{cursor:pointer;width:max-content}
.registered-candidate-details .candidate-reasons{margin:.4rem 0;padding-left:1.1rem}
.registered-candidate-details .candidate-columns{margin:.4rem 0}
/* Admin Users: compact table and modal content, preserving the mobile table layout. */
.users-page .page-heading{margin-bottom:1rem;flex-wrap:wrap}
.users-page th{background:var(--raised);color:var(--muted);border-color:var(--line)}
.users-page td{background:var(--panel);color:var(--text);border-color:var(--line)}
.users-page td strong{color:var(--text)}
.users-page td small{color:var(--muted)}
.users-page th,.users-page td{padding:.7rem .85rem}
.users-page .actions{gap:.4rem}
.users-page .actions .danger{background:transparent}
.users-page .current-account{margin-left:.5rem;color:var(--muted);font-weight:400}
.users-admin-modal{padding:1.1rem 1.2rem;max-width:calc(100vw - 2rem);max-height:85vh;overflow:auto}
.users-admin-modal .modal-head{margin-bottom:.9rem}
.users-admin-modal .modal-head h2{font-size:1.15rem;overflow-wrap:anywhere}
.users-admin-modal .form-grid{gap:.75rem}
.users-admin-modal label{gap:.3rem;min-width:0;overflow-wrap:anywhere}
.users-admin-modal input:not([type=checkbox]),.users-admin-modal select{width:100%;padding:.45rem .65rem}
.users-admin-modal .hint{line-height:1.4}
.users-admin-modal .modal-actions{gap:.5rem;margin-top:.85rem;flex-wrap:wrap}
.users-admin-modal .modal-actions button{max-width:100%;white-space:normal}
.users-admin-modal .account-session-notice{border:1px solid var(--line);border-left:2px solid var(--orange);border-radius:7px;padding:.65rem .75rem;margin:0;font-size:.8125rem;color:var(--muted)}
.users-admin-modal .account-session-notice strong{display:block;color:var(--text);margin-bottom:.2rem}
.users-admin-modal .permission-list{gap:.55rem}
.users-admin-modal .permission-card{gap:.6rem;padding:.75rem .85rem;background:var(--panel)}
.users-admin-modal .permission-head{gap:.6rem;flex-wrap:wrap}
.users-admin-modal .permission-head>div{min-width:0;flex:1 1 200px;overflow-wrap:anywhere}
.users-admin-modal .permission-head small{font-size:.75rem}
.users-admin-modal .access-toggle{font-size:.8125rem;white-space:normal}
.users-admin-modal .grant-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem .8rem}
.users-admin-modal .grant-grid .check{font-size:.8125rem;align-items:flex-start}
.users-admin-modal .grant-grid input{flex:none}
.users-admin-modal .user-sessions{gap:.5rem}
.users-admin-modal .session-entry{padding:.65rem .8rem;margin:0}
.users-admin-modal .session-entry .settings-row{gap:.7rem;flex-wrap:wrap}
.users-admin-modal .session-entry .settings-row>div{min-width:0;overflow-wrap:anywhere;flex:1 1 200px}
.users-admin-modal .session-entry p{font-size:.8125rem;margin:.2rem 0 0}
.users-admin-modal .session-entry .badge{font-size:.72rem}
@media(max-width:760px){
  .users-page .permissions-table tr{background:var(--panel);border-color:var(--line)}
  .users-page .permissions-table td{padding:.65rem .8rem}
  .users-admin-modal{padding:.9rem;max-width:calc(100vw - 1rem);width:calc(100vw - 1rem)}
  .users-admin-modal .grant-grid{grid-template-columns:1fr}
  .users-admin-modal .permission-head{display:grid}
}
/* Scoped Supervision density; the shared pages retain their current spacing. */
.supervision-page .page-heading{margin-bottom:1rem;flex-wrap:wrap;gap:.65rem}
.supervision-page .panel{padding:.85rem 1rem}
.supervision-page .version-panel{align-items:center;flex-wrap:wrap;gap:.35rem 1rem;margin-bottom:1rem}
.supervision-page .version-panel{display:flex;width:fit-content;max-width:100%}
.supervision-page .version-panel h2{font-size:1rem;margin:0}
.supervision-page .version-panel p{font-size:.8125rem;margin:.2rem 0 0}
.supervision-page .version-panel .hint{margin:0}
.supervision-page .supervision-title{font-size:1rem;margin:1rem 0 .65rem}
.supervision-page .supervision-grid{gap:.65rem;margin-bottom:.65rem}
.supervision-page .health-card{min-height:0;padding:.8rem .9rem;overflow-wrap:anywhere}
.supervision-page .health-card h2,.supervision-page .health-card h3{font-size:.875rem;margin:0 0 .4rem}
.supervision-page .health-card strong{font-size:1rem}
.supervision-page .health-card p{font-size:.8125rem;line-height:1.4;margin:.3rem 0 0}
.supervision-page progress.usage-track{display:block;width:100%;height:5px;margin:.5rem 0 .2rem;border:0;border-radius:999px;background:var(--line);overflow:hidden;appearance:none}
.supervision-page progress.usage-track::-webkit-progress-bar{background:var(--line);border-radius:999px}
.supervision-page progress.usage-track::-webkit-progress-value{background:var(--accent);border-radius:999px}
.supervision-page progress.usage-track::-moz-progress-bar{background:var(--accent);border-radius:999px}
.supervision-page .health-card .disk-note{font-size:.75rem}
.supervision-page .temperature-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem 1.5rem}
.supervision-page .temperature-list>span{min-width:0;align-items:baseline;border-bottom:1px solid var(--line);padding:.2rem 0 .35rem}
.supervision-page .temperature-list .temperature-name{display:block;min-width:0;overflow-wrap:anywhere}
.supervision-page .temperature-list strong{flex:none;font-size:.875rem;white-space:nowrap}
.supervision-page .diagnostic-panel{margin-top:1rem}
.supervision-page .diagnostic-panel h2{font-size:1rem}
.supervision-page .diagnostic-panel p{font-size:.8125rem;overflow-wrap:anywhere}
.supervision-page .diagnostic-panel .actions{margin-top:.65rem;flex-wrap:wrap}
.supervision-page .diagnostic-panel button{max-width:100%;white-space:normal}
.logout-button .logout-icon{width:1rem;height:1rem;min-width:1rem;flex:none}
@media(max-width:760px){
  .supervision-page .supervision-grid,.supervision-page .temperature-list{grid-template-columns:1fr}
  .supervision-page .version-panel{display:flex;align-items:flex-start}
}
/* Admin audit palette and compact table, isolated from all other pages. */
.audit-page .page-heading{margin-bottom:1rem;flex-wrap:wrap;gap:.65rem}
.audit-page .audit-filter{margin-top:.35rem}
.audit-page .audit-table{background:var(--panel);border-color:var(--line)}
.audit-page .audit-table th{background:var(--raised);color:var(--muted);border-color:var(--line);padding:.7rem .85rem}
.audit-page .audit-table td{background:var(--panel);color:var(--text);border-color:var(--line);padding:.7rem .85rem;overflow-wrap:anywhere}
.audit-page .audit-table td small{color:var(--muted)}
.audit-page .audit-table code{overflow-wrap:anywhere}
@media(max-width:760px){
  .audit-page .audit-table{border:0;overflow:visible;background:transparent}
  .audit-page .audit-table table,.audit-page .audit-table tbody,.audit-page .audit-table tr,.audit-page .audit-table td{display:block;width:100%}
  .audit-page .audit-table thead{display:none}
  .audit-page .audit-table tr{margin-bottom:.7rem;border:1px solid var(--line);border-radius:10px;background:var(--panel);overflow:hidden}
  .audit-page .audit-table td{background:transparent;border:0;border-bottom:1px solid var(--line);padding:.55rem .75rem}
  .audit-page .audit-table td:last-child{border-bottom:0}
  .audit-page .audit-table td::before{content:attr(data-label);display:block;margin-bottom:.15rem;color:var(--muted);font-size:.7rem;letter-spacing:.06rem;text-transform:uppercase}
  .audit-page .audit-table td[colspan]::before{content:none}
}
/* Admin Configuration table palette and mobile layout, scoped to this view. */
.config-page .page-heading{margin-bottom:1rem}
.config-page .config-reload-panel{padding:.9rem 1rem;margin-bottom:1rem}
.config-page .config-table{background:var(--panel);border-color:var(--line);margin-bottom:1rem}
.config-page .config-table th{background:var(--raised);color:var(--muted);border-color:var(--line);padding:.7rem .85rem}
.config-page .config-table td{background:var(--panel);color:var(--text);border-color:var(--line);padding:.7rem .85rem;overflow-wrap:anywhere}
@media(max-width:760px){
  .config-page .config-table{border:0;overflow:visible;background:transparent}
  .config-page .config-table table,.config-page .config-table tbody,.config-page .config-table tr,.config-page .config-table td{display:block;width:100%}
  .config-page .config-table thead{display:none}
  .config-page .config-table tr{margin-bottom:.7rem;border:1px solid var(--line);border-radius:10px;background:var(--panel);overflow:hidden}
  .config-page .config-table td{background:transparent;border:0;border-bottom:1px solid var(--line);padding:.55rem .75rem}
  .config-page .config-table td:last-child{border-bottom:0}
  .config-page .config-table td::before{content:attr(data-label);display:block;margin-bottom:.15rem;color:var(--muted);font-size:.7rem;letter-spacing:.06rem;text-transform:uppercase}
}
@media(max-width:760px){
  .instance-candidates .candidate-columns{grid-template-columns:1fr;gap:.25rem}
  .registered-candidate-row{grid-template-columns:1fr;gap:.35rem}
  .registered-candidate-identity{grid-template-columns:1fr;gap:.1rem}
  .registered-candidate-details{grid-column:auto}
  .instance-candidates .section-heading{align-items:flex-start}
}
.instances-page .registered-instances{margin-bottom:1.4rem}
.content-page{min-width:0;overflow-wrap:anywhere}
.content-page .page-heading{margin-bottom:1rem}
.content-page .content-notice,.content-page .content-entry,.content-page .content-extra{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:.8rem .9rem}
.content-page .content-notice{margin-bottom:.8rem}
.content-page p{margin:.35rem 0 .65rem;font-size:.875rem}
.content-page h2{font-size:1.05rem;margin:1.1rem 0 .6rem}
.content-page h3{margin:0;font-size:.95rem}
.content-page .content-instance{max-width:100%;margin-bottom:.9rem}
.content-page .content-grid{display:grid;grid-template-columns:1fr;gap:.4rem}
.content-page .content-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}
.content-page .content-wide{grid-column:1/-1}
.content-page .content-entry,.content-page label,.content-page input,.content-page select{min-width:0;max-width:100%;width:100%}
.content-page .content-facts{margin:.6rem 0;font-size:.8125rem}
.content-page .content-facts>div{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:.5rem;border-bottom:1px solid var(--line);padding:.3rem 0}
.content-page dt,.content-page .hint{color:var(--muted)}
.content-page dd{margin:0;min-width:0}
.content-page code{font-size:.75rem;white-space:normal;overflow-wrap:anywhere}
.content-page details{margin:.5rem 0;font-size:.8125rem}
.content-page summary{cursor:pointer;overflow-wrap:anywhere}
.content-page summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.content-page ul{padding-left:1.2rem;font-size:.8125rem}
.content-page li{margin:.35rem 0}
.content-page .content-proof{display:inline-block;border:1px solid var(--line);border-radius:5px;padding:.05rem .35rem;font-size:.7rem;color:var(--text)}
.content-page .content-proof.conflict{color:var(--red)}
.content-page .content-proof.unknown,.content-page .content-proof.suggested{color:var(--muted)}
.content-page button{font-size:.8125rem;max-width:100%;white-space:normal;overflow-wrap:anywhere}
.content-page button:hover:not(:disabled){background:var(--raised);border-color:var(--line)}
.content-page fieldset{min-width:0;border:1px solid var(--line);border-radius:8px;padding:.7rem}
.content-page legend{max-width:100%;overflow-wrap:anywhere;font-size:.875rem}
.content-page .check input{width:auto;flex:none}
.content-page .content-actions{display:flex;flex-wrap:wrap;gap:.5rem}
.content-page .content-fields{margin:.6rem 0}
.content-page .content-group{margin:0;border:1px solid var(--line);border-radius:8px;background:var(--panel);min-width:0}
.content-page .content-group>summary{display:list-item;padding:.55rem .75rem;font-size:.875rem;font-weight:600}
.content-page .content-count{float:right;font-variant-numeric:tabular-nums;color:var(--muted);margin-left:.5rem}
.content-page .content-group-entries{padding:0 .6rem .4rem;min-width:0}
.content-page .content-group .content-entry{margin:0;border:0;border-top:1px solid var(--line);border-radius:0;padding:.45rem .2rem}
.content-page .content-row,.content-page .content-draft-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1.2fr);align-items:center;gap:.45rem}
.content-page .content-draft-row{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1.2fr) auto}
.content-page .content-row h3,.content-page .content-entry-name{font-size:.8125rem;font-weight:500;margin:0;min-width:0}
.content-page .content-entry-legend{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.content-page .content-decision{display:flex;flex-direction:column;gap:.1rem;min-width:0;font-size:.75rem}
.content-page .content-column-label{display:block;color:var(--muted);font-size:.65rem;font-weight:400}
.content-page .content-evidence,.content-page .content-settings{margin:.15rem 0 0;min-width:0}
.content-page .content-evidence>summary{color:var(--muted);font-size:.75rem}
.content-page .content-settings[open]{grid-column:1/-1}
.content-page .content-settings>summary{text-align:right;font-size:.75rem}
.content-page .content-entry .content-fields label{font-size:.8125rem}
@media(max-width:760px){.content-page .content-row,.content-page .content-draft-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.content-page .content-row h3,.content-page .content-entry-name{grid-column:1/-1}.content-page .content-settings{grid-column:1/-1}.content-page .content-group .content-entry{padding:.5rem .1rem}}
@media(max-width:1150px){.content-page .content-grid{grid-template-columns:1fr}}
@media(max-width:760px){.content-page .content-fields,.content-page .content-facts>div{grid-template-columns:1fr}.content-page .content-wide{grid-column:auto}.content-page .content-entry,.content-page .content-extra{padding:.7rem}}
.instances-page .registered-instance-list{display:grid;gap:.55rem}
.instances-page .registered-instance-row{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.8rem 1rem;background:var(--panel);border:1px solid var(--line);border-radius:10px;min-width:0}
.instances-page .registered-instance-row>div{min-width:0}
.instances-page .registered-instance-row h3{margin:0;color:var(--text);overflow-wrap:anywhere}
.instances-page .registered-instance-row code{color:var(--muted);font-size:.8125rem;overflow-wrap:anywhere}
.instances-page .registered-instance-row p{margin:.15rem 0 0;font-size:.8125rem}
.instances-page .registered-instance-row button:hover:not(:disabled){background:var(--raised);border-color:var(--line)}
.instance-identity-modal{width:min(640px,calc(100vw - 2rem));border-color:var(--line);background:var(--panel)}
.instance-identity-modal .form-grid,.manual-instance-modal #registration-identity-form{gap:.7rem}
.instance-identity-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}
.instance-identity-fields label,.instance-identity-fields input{min-width:0;width:100%}
.instance-identity-modal .identity-warning{padding:.75rem;border:1px solid var(--line);border-radius:8px;background:var(--raised);overflow-wrap:anywhere}
.instance-identity-modal .modal-actions,.manual-instance-modal .modal-actions{flex-wrap:wrap}
.instance-identity-modal button:not(.primary):hover:not(:disabled){background:var(--raised);border-color:var(--line)}
.manual-instance-modal .manual-step h3{overflow-wrap:anywhere}
@media(max-width:760px){.instances-page .registered-instance-row{align-items:flex-start;flex-direction:column}.instance-identity-fields{grid-template-columns:1fr}.instance-identity-modal{padding:1rem}.instance-identity-modal .data-row{flex-wrap:wrap}.instance-identity-modal button{white-space:normal;overflow-wrap:anywhere}}

/* Contenus 0.3.2 : une seule liste, étapes sans recréation du formulaire. */
.content-page [hidden]{display:none!important}
.content-steps{display:flex;gap:.6rem;flex-wrap:wrap;margin:1rem 0}
.content-steps [aria-current="step"]{border-color:var(--accent);color:var(--accent)}
.content-page [data-content-panel]{min-width:0}
.content-inventory-tools{display:flex;gap:1rem;align-items:end;flex-wrap:wrap;margin:1rem 0}
.content-inventory-tools label:first-child{flex:1;min-width:12rem}
.content-list{display:grid;gap:.5rem;min-width:0}
.content-list .content-draft-row{display:grid;grid-template-columns:minmax(10rem,1fr) minmax(8rem,1fr) minmax(12rem,1fr);gap:.65rem;align-items:start;margin:0;padding:.7rem;border-radius:8px;min-width:0}
.content-list .content-entry-legend{font-size:.875rem;overflow-wrap:anywhere;max-width:100%;padding:0 .3rem}
.content-list .content-entry-name{min-width:0;overflow-wrap:anywhere}
.content-list .content-simple{display:grid;gap:.4rem;min-width:0}
.content-list .content-settings{grid-column:1/-1;margin:0;min-width:0}
.content-settings>summary,.content-imports>summary{cursor:pointer;color:var(--accent)}
.content-record-details{min-width:0;overflow-wrap:anywhere}
.content-page .content-grid{display:block}
.content-page .content-analysis-summary,.content-page code{overflow-wrap:anywhere}
@media(max-width:760px){.content-list .content-draft-row{grid-template-columns:1fr}.content-inventory-tools{display:grid;align-items:stretch}.content-steps button{flex:1}.content-list .content-fields{grid-template-columns:1fr}}
/* 0.3.6-A CP4-UX1 — one scoped BeamMP page layout, no modal gallery rules. */
#beam-page{min-width:0;overflow-wrap:anywhere}
#beam-page [hidden]{display:none!important}
#beam-page .beam-page-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}
#beam-page .beam-page-heading h1{overflow-wrap:anywhere}
#beam-page .beam-page-heading .eyebrow{margin-bottom:.35rem}
#beam-page .beam-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;margin:1.5rem 0}
#beam-page [role=tab]{min-width:0;white-space:normal;padding:.8rem .6rem}
#beam-page [role=tab][aria-selected=true]{border-color:var(--accent);color:var(--accent);background:#d19e3d12}
#beam-page [role=tabpanel]{min-width:0;padding-top:.6rem}
#beam-page [role=tabpanel]>h2{margin-bottom:.8rem}
#beam-page .beam-library-toolbar{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto;align-items:end;gap:.75rem;margin:1rem 0 1.5rem}
#beam-page .beam-library-toolbar input,#beam-page .beam-library-toolbar select{width:100%}
#beam-page .beam-view-toggle{display:flex;flex-wrap:wrap;gap:.4rem}
#beam-page .beam-view-toggle [aria-pressed=true]{border-color:var(--accent);color:var(--accent)}
#beam-page .beam-library-count,#beam-page #beam-filter-status{grid-column:1/-1;margin:0;color:var(--muted);font-size:.8125rem}
#beam-page #beam-filter-status:empty,#beam-page .beam-activity p:empty{display:none}
#beam-page .beam-activity p:not(:empty){padding:.75rem;border:1px solid var(--line);border-radius:8px;margin:.6rem 0}
#beam-page .beam-activity progress{width:100%;height:12px;accent-color:var(--accent)}
#beam-page fieldset{margin:1rem 0;padding:1rem;display:block}
#beam-page .beam-map-group+.beam-map-group{margin-top:2rem}
#beam-page .beam-map-group h3{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem}
#beam-page .beam-map-list,#beam-page .beam-packs{display:grid;gap:1rem;margin-top:1rem;align-items:start;min-width:0}
#beam-page .beam-view-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr))}
#beam-page .beam-view-list{grid-template-columns:minmax(0,1fr);gap:.5rem}
#beam-page .beam-library-card{min-width:0;border:1px solid var(--line);border-radius:12px;background:var(--panel)}
#beam-page .beam-library-card:has(:checked){border-color:var(--accent);box-shadow:inset 3px 0 var(--accent)}
#beam-page .beam-library-card:focus-within{outline:2px solid var(--accent);outline-offset:3px}
#beam-page .beam-choice{display:grid;grid-template-columns:24px minmax(0,1fr);gap:.75rem;align-items:start;padding:1rem;cursor:pointer;color:var(--text);min-width:0}
#beam-page .beam-choice input{margin:.3rem 0 0;width:1.1rem;height:1.1rem;padding:0;accent-color:var(--accent)}
#beam-page .beam-card-main{min-width:0}
#beam-page .beam-card-main strong{display:block;overflow-wrap:anywhere;font-size:1rem;line-height:1.45}
#beam-page .beam-card-main small{display:block;overflow-wrap:anywhere;color:var(--muted);line-height:1.5;margin-top:.4rem}
#beam-page .beam-card-main .beam-state{color:var(--accent)}
#beam-page .beam-icon{position:relative;display:grid;place-items:center;grid-column:1/-1;grid-row:1;aspect-ratio:16/9;width:100%;min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--bg)}
#beam-page .beam-fallback{padding:1rem;text-align:center;color:var(--muted);font-size:.8125rem;line-height:1.4}
#beam-page .beam-icon img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:var(--bg)}
#beam-page .beam-view-list .beam-choice{grid-template-columns:24px 112px minmax(0,1fr);align-items:center;gap:.65rem;padding:.5rem .75rem;min-height:82px;box-sizing:border-box}
#beam-page .beam-view-list .beam-icon{grid-column:auto;grid-row:auto;aspect-ratio:16/9}
#beam-page .beam-view-list .beam-card-meta{display:none}
#beam-page .beam-view-list .beam-card-main small{margin-top:.1rem;line-height:1.35}
#beam-page .beam-view-list .beam-fallback{padding:.25rem;font-size:.7rem}
#beam-page .beam-origin-filters{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem}
#beam-page .beam-origin-filters label{display:flex;align-items:center;gap:.5rem;margin:0;min-height:36px}
#beam-page .beam-origin-filters input{width:1.1rem;height:1.1rem;accent-color:var(--accent)}
#beam-page .beam-technical{margin:1rem 0}
#beam-page .beam-technical p,#beam-page .beam-technical li{overflow-wrap:anywhere}
#beam-page .beam-mixed{color:var(--muted)}
#beam-page summary{cursor:pointer;outline-offset:4px}
#beam-page summary:focus-visible{outline:2px solid var(--accent)}
#beam-page .beam-copy{padding:1rem;border:1px solid var(--line);border-radius:10px;min-width:0;overflow-wrap:anywhere;background:var(--panel)}
#beam-page #beam-copy-list{display:grid;grid-template-columns:minmax(0,1fr);gap:.75rem;margin:1rem 0}
#beam-page .beam-copy .hint{margin:.35rem 0 .65rem}
#beam-page .beam-copy button{margin:.2rem .35rem .2rem 0}
#beam-page #beam-delete-confirm,#beam-page #beam-replace-confirm{scroll-margin-top:1rem;overflow-wrap:anywhere}
#beam-page #beam-delete-confirm input,#beam-page #beam-replace-confirm input:not([type=checkbox]),#beam-page input[type=file]{width:100%;min-width:0;max-width:100%}
#beam-page #beam-replace-confirm input[type=checkbox]{width:1.1rem;flex-shrink:0}
#beam-page .beam-import{padding:1rem;border:1px solid var(--line);border-radius:12px;margin:1rem 0 1.5rem}
#beam-page .beam-import label{margin:.8rem 0}
#beam-page .beam-import details{margin-top:1rem}
#beam-page .beam-import code{overflow-wrap:anywhere}
#beam-page .beam-operation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1rem 0}
#beam-page .beam-summary{padding:1rem;border:1px solid var(--line);border-radius:12px;background:var(--panel);min-width:0}
#beam-page .beam-summary h3{margin-bottom:.7rem}
#beam-page #beam-draft{margin-top:1rem;padding:.75rem;background:#ffffff04;border-radius:8px}
#beam-page .beam-dirty{color:var(--orange);border-left:3px solid var(--accent)}
#beam-page #beam-panel-operations .actions{margin:1rem 0}
#beam-page #beam-result{margin:1rem 0;white-space:pre-wrap}
/* 0.3.6.1 CP4 : rôles, préflight et progression dans la même page. */
#beam-page .beam-library-card[data-beam-active=true]{border-top:3px solid var(--green,var(--accent))}
#beam-page .beam-library-card[data-beam-prepared=true]{border-left:3px solid var(--accent)}
#beam-page .beam-role{background:var(--panel);border-radius:10px;min-width:0}
#beam-page .beam-role legend{max-width:100%;overflow-wrap:anywhere}
#beam-page .beam-role .actions{display:flex;flex-wrap:wrap;gap:.5rem}
#beam-page .beam-role button{flex:1 1 180px;white-space:normal;min-height:44px;margin:0}
#beam-page .beam-role [aria-pressed=true]{border-color:var(--accent);color:var(--accent);background:#d19e3d12}
#beam-page .beam-caution{color:var(--orange);overflow-wrap:anywhere}
#beam-page #beam-preflight li{margin:.4rem 0}
#beam-page #beam-apply-confirm:empty,#beam-page #beam-roles:empty{display:none}
#beam-page #beam-operation-status{white-space:pre-wrap;overflow-wrap:anywhere}
#beam-page .beam-copy .beam-caution{margin:.4rem 0}
#beam-page #beam-management-selection{margin:1rem 0}
#beam-page #beam-management-selection button{white-space:normal;max-width:100%}
@media(max-width:1000px){#beam-page .beam-library-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}#beam-page .beam-view-toggle{grid-column:1/-1}}
@media(max-width:600px){
  #beam-page .beam-page-heading{display:grid}
  #beam-page .beam-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem}
  #beam-page .beam-library-toolbar,#beam-page .beam-operation-grid{grid-template-columns:minmax(0,1fr)}
  #beam-page .beam-view-grid{grid-template-columns:minmax(0,1fr)}
  #beam-page .beam-view-list .beam-choice{grid-template-columns:20px 80px minmax(0,1fr);gap:.5rem;padding:.5rem}
  #beam-page .beam-view-list .beam-fallback{padding:.25rem;font-size:.7rem}
  #beam-page fieldset{padding:.65rem}
  #beam-page .actions button{max-width:100%;white-space:normal}
}

/* BeamMP 0.3.6.1 : inventaire regroupé et filtres indépendants. */
#beam-page .beam-copy-filters{display:grid;grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr));gap:.65rem;align-items:end;margin-top:1rem}
#beam-page .beam-copy-filters input,#beam-page .beam-copy-filters select{width:100%}
#beam-page #beam-copy-filter-count{margin:.65rem 0}
#beam-page .beam-copy-group{border:1px solid var(--line);border-radius:10px;background:var(--panel);min-width:0}
#beam-page .beam-copy-group>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem}
#beam-page .beam-copy-title{display:grid;min-width:0;gap:.15rem;overflow-wrap:anywhere}
#beam-page .beam-copy-title small,#beam-page .beam-copy-meta{color:var(--muted);font-size:.8125rem}
#beam-page .beam-copy-meta{flex-shrink:0}
#beam-page .beam-copy-group-body{padding:.75rem;display:grid;gap:.5rem;border-top:1px solid var(--line)}
#beam-page .beam-copy-group-body>.beam-copy{padding:.7rem .9rem}
#beam-page .beam-copy-line{display:flex;align-items:baseline;justify-content:space-between;gap:.65rem;flex-wrap:wrap}
#beam-page .beam-copy-line small{color:var(--muted)}
#beam-page .beam-copy-tech{padding:.45rem .65rem;border:1px solid var(--line);border-radius:8px}
#beam-page .beam-copy-tech>summary{font-size:.875rem}
@media(max-width:700px){#beam-page .beam-copy-filters{grid-template-columns:minmax(0,1fr)}#beam-page .beam-copy-group>summary{align-items:flex-start;flex-wrap:wrap}#beam-page .beam-copy-meta{margin-left:auto}}
