/* Fondations et composants communs */
:root{
  --bg:#f4f6f8;
  --surface:#ffffff;
  --surface-soft:#f8fbff;
  --border:#000000;
  --text:#172333;
  --muted:#5b6877;
  --accent:#0060DF;
  --accent-soft:#e7efff;
  --max:1220px;
  --header-h:64px;
  --radius:10px;
  --label-control-gap:3px;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
html,body{margin:0;padding:0}
body{font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.45;padding-top:var(--header-h)}
a{color:var(--accent);text-decoration:none} a:hover{text-decoration:underline}
img{max-width:100%;display:block}
.site-header{position:fixed;top:0;left:0;right:0;z-index:100}
.btn,button,select,input[type="text"],input[type="email"],textarea{border:1px solid var(--border);background:#fff;color:var(--text);padding:8px 12px;border-radius:8px;font:inherit;min-height:40px}
textarea{width:100%;min-height:40px;resize:vertical}
button,.btn{font-weight:600;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.organization-create-modal[hidden]{display:none}
.organization-create-modal{position:fixed;inset:0;z-index:2200;display:flex;align-items:center;justify-content:center;padding:20px}
.organization-create-modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.42)}
.organization-create-dialog{position:relative;z-index:1;width:min(460px,calc(100vw - 32px));background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 18px 48px rgba(15,23,42,.25);padding:16px;display:grid;gap:14px}
.organization-create-dialog h2{margin:0;font-size:1.15rem}

/* Pages usager et gestion du code */
.req-star{font-weight:700}
.req-star.is-invalid{color:#c40000}
.req-star.is-valid{color:#000}
button:disabled{cursor:not-allowed}
input[type="text"],input[type="email"],textarea,select,button,.btn,.box,.row-card,.field,.main-dept-link-row > input,.main-dept-link-row > button{border-color:#000}

.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}
.main{max-width:var(--max);margin:0 auto;padding:16px 14px 36px;display:grid;gap:14px}
.box{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px}
.section-title{font-size:clamp(1.3rem,2vw,1.45rem);line-height:1.25;margin:0 0 10px}
.box h2{margin:0 0 10px;font-size:1.15rem}.box p{margin:0 0 10px;color:var(--muted)}
.user-page-panel{display:grid;gap:14px;min-width:0}
.user-page-panel[hidden]{display:none!important}
.code-management-page{display:grid;gap:18px;min-width:0}
.code-page-title{margin:0;font-size:clamp(1.35rem,2.5vw,1.8rem);line-height:1.3}
.code-page-title .code-value,.code-page-title .code-inline{display:inline-flex;align-items:center;margin-left:.25em}
.management-action-list{display:grid;gap:0;width:100%}
.management-action-row{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch;border-top:1px solid #0094ff}
.management-action-source{display:flex;align-items:center;padding:7px 12px}
.management-action-source button{width:min(220px,100%);height:40px}
.management-action-row .help-card p{margin:0;color:#111}
.access-code-actions{display:flex;flex-wrap:wrap;gap:8px}
.access-code-actions .management-action-row{display:block;border-top:0}
.access-code-actions .management-action-source{padding:0}
.access-code-actions .management-action-source button{width:auto;min-width:0}
html[data-help-elements="true"] .access-code-actions{display:grid;gap:0}
html[data-help-elements="true"] .access-code-actions .management-action-row{display:grid;border-top:1px solid #0094ff}
html[data-help-elements="true"] .access-code-actions .management-action-source{padding:7px 12px}
html[data-help-elements="true"] .access-code-actions .management-action-source button{width:min(220px,100%)}
.file-management-row{display:grid;gap:10px;min-width:0}
.file-management-row .grow{width:100%;min-width:0}
.file-control-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
@media(max-width:680px){
  .management-action-row{grid-template-columns:1fr}
}
.grid-2{display:grid;gap:12px}
@media(min-width:920px){.grid-2{grid-template-columns:1fr 1fr}}
.profile-page,.profile-help-layout{display:grid;gap:14px}
.profile-creation-box{display:grid;gap:0;min-width:0;padding:0}
.profile-reminder-slot{padding:14px 14px 0}
.profile-title-row{padding:14px}
.profile-title-source h1{margin:0;font-size:clamp(1.25rem,2vw,1.5rem);line-height:1.3}
.profile-page-explanation{margin:0 14px 14px}
.profile-groups-stack{display:grid;gap:0;min-width:0}
.profile-group{display:grid;min-width:0}
.profile-group-title{margin:0;padding:12px 14px;border:0;border-top:2px solid #0094ff;border-bottom:1px solid #0094ff;border-radius:0;background:var(--surface-soft);font-size:1.02rem;font-weight:700}
.profile-group-body{display:grid;min-width:0}
.profile-item-source{min-width:0;background:#fff}
.code-option{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start;padding:12px 14px;cursor:pointer}
.code-option-content{display:grid;gap:7px;min-width:0}
.code-option-title,.code-option-examples{display:block;line-height:1.35}
.code-option-examples{font-size:.95rem;color:var(--muted)}
.profile-bottom-actions{padding:14px;border-top:2px solid #0094ff}
.profile-guide-completion{margin:0 14px 14px}
.profile-guide-completion button{margin-top:.35rem}
.helper{color:var(--muted);font-size:.95rem}
.field{display:grid;gap:var(--label-control-gap)}.field .label{font-weight:600;display:flex;gap:4px;align-items:center;flex-wrap:wrap}
.file-title-status-line{display:flex;align-items:baseline;flex-wrap:wrap;gap:.2rem .4rem;min-width:0}
.file-title-status-line .section-title{margin:0}
.file-current-status{min-width:0;margin:0;color:#111;font-size:1.05rem;line-height:1.25}
.file-current-status strong{font-weight:700;overflow-wrap:anywhere}

/* Adaptations et requêtes usager */
.row-card{padding:12px 0;border-top:1px solid #0094FF;display:grid;gap:10px}
.row-card:first-child{border-top:none;padding-top:0}
.row-card .top{display:grid;gap:10px}
@media(min-width:900px){.row-card .top{grid-template-columns:2fr 1.2fr 1.4fr}}
.section-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px}
.section-card h3{margin:0 0 8px;font-size:1.1rem}
.action-link{background:none;border:none;color:var(--accent);padding:0;min-height:auto}
.list-block{display:grid;gap:10px}
.result-card{border:1px solid var(--border);border-radius:8px;padding:12px;background:#fff;display:grid;gap:8px}
.result-card.delay{background:#fff8e8}
.access-adaptation-kind{line-height:1.35;margin-bottom:6px;color:var(--muted);font-weight:400}
.access-select-line{display:flex;gap:8px;align-items:flex-start;font-weight:400}
.access-select-line input{width:20px;height:20px;margin:1px 0 0;flex:0 0 auto}
.access-point-number{font-weight:400}
.access-title-text{font-weight:400}
.access-proposal-text{min-width:0;line-height:1.35;font-weight:700;color:#111}
.access-detail-line{line-height:1.35;color:#111;font-weight:400}
.access-detail-label{color:var(--muted);font-weight:400}
.access-detail-value{color:#111;font-weight:400}
.access-detail-link{color:#111;font-weight:400;text-decoration:underline}
.access-attention-icon{display:inline-block;width:1.1em;margin-right:.2em;color:#805d00;font-size:1em;line-height:1;text-align:center;vertical-align:-.05em}
.access-txt-tools{display:grid;gap:4px;margin:0;}
.access-txt-tools .settings-message:empty{display:none;}
.access-txt-panel{display:grid;gap:10px;}
.access-txt-panel[hidden]{display:none;}
.access-txt-panel textarea{min-height:280px;line-height:1.45;}
.access-request-fields{display:grid;gap:10px;margin:10px 0}
.access-request-field-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}
.access-save-field,.access-save-all-field{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;cursor:pointer}
.access-save-field input,.access-save-all-field input{width:18px;height:18px;margin:0}
.access-request-modal[hidden]{display:none}
.access-request-modal{position:fixed;inset:0;z-index:2100;display:flex;align-items:center;justify-content:center;padding:20px}
.access-request-modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.42)}
.access-request-dialog{position:relative;z-index:1;width:min(680px,calc(100vw - 32px));max-height:calc(100vh - 40px);overflow:auto;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 18px 48px rgba(15,23,42,.25);padding:18px;display:grid;gap:14px}
.access-request-dialog h2{margin:0;font-size:1.1rem}
.access-save-field{justify-self:start}
.qr-layout{display:grid;gap:14px}
@media(min-width:900px){.qr-layout{grid-template-columns:minmax(240px,320px) 180px}}
.qr-panel{border:1px solid var(--border);border-radius:8px;padding:12px;display:grid;place-items:center;background:#fff}
.qr-panel img{width:100%;max-width:280px;height:auto}
.qr-actions{display:grid;gap:8px;align-content:start}
.hide{display:none !important}
@media(max-width:820px){
  .main{padding:12px 10px 28px}
}

.actions-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.eyebrow{display:inline-block;padding:4px 10px;border:1px solid var(--border);border-radius:999px;background:var(--accent-soft);color:var(--accent);font-weight:700;font-size:.92rem;margin-bottom:8px}

/* Profil, Build et Link */
.code-inline{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:700;letter-spacing:.02em;font-variant-numeric:tabular-nums}
.code-inline .code-char-fixed,.code-value .code-char-fixed{display:inline-block;background:#0094FF;color:#fff;padding:0 .18em;border-radius:.16em;line-height:1.1}
.code-inline .code-seg-muted,.code-value .code-seg-muted{color:#000}
.code-inline .code-seg-strong,.code-value .code-seg-strong{display:inline-block;background:#000;color:#fff;padding:0 .18em;border-radius:.16em;line-height:1.1}

.build-refs{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}
.build-refs-v3{grid-template-areas:'inst email1 email2' 'geo geo geo' 'tags tags tags' 'dept link link'}
.refs-inst{grid-area:inst}.refs-email1{grid-area:email1}.refs-email2{grid-area:email2}.refs-dept{grid-area:dept}.refs-link{grid-area:link}.refs-geo{grid-area:geo}.refs-tags{grid-area:tags}
.refs-link input,.refs-link textarea,.refs-dept input,.refs-inst input{width:100%}
.build-dept-list{display:grid;gap:10px}
.other-department-row{display:grid;gap:10px;grid-template-columns:1fr 1fr auto;align-items:end}
.other-department-row button{min-width:42px;padding:8px 10px}
.other-department-row.other-department-follow{align-items:start}
.other-department-row.other-department-follow .dept-field-label{display:none}
.other-department-row.other-department-follow .field{padding-top:0}

.adapt-block{display:grid;gap:10px;padding:10px 0;border-top:1px solid #0094FF}
.adapt-block:first-child{border-top:none}
.adapt-top,.adapt-bottom{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}
.adapt-top > *,.adapt-bottom > *{min-width:0}
.add-inline{align-self:start;justify-self:start;padding-left:12px;padding-right:12px}

.user-link-stack{display:grid;gap:10px;width:100%}
.user-link-field{display:block;width:100%;min-height:40px;border:1px solid var(--border);border-radius:8px;background:#fff;padding:8px 12px;color:var(--text);overflow:hidden;overflow-wrap:anywhere;word-break:break-word;white-space:pre-wrap;resize:none}
.user-link-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-start}
.file-source-line{display:flex;gap:0;align-items:baseline;min-width:0;margin-top:6px;font-size:.92rem}

.delay-editor{display:grid;gap:6px;grid-template-columns:46px 48px minmax(0,1fr);align-items:stretch}
.delay-editor .fld-delay-value,.delay-editor .fld-delay-unit,.delay-editor .fld-delay-text{width:100%;min-width:0;min-height:40px;height:40px}
.delay-editor .fld-delay-value{text-align:center;appearance:textfield;-moz-appearance:textfield}
.delay-editor .fld-delay-unit{text-align:center;text-align-last:center}
.delay-editor .fld-delay-value::-webkit-outer-spin-button,.delay-editor .fld-delay-value::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

.geo-lookup{display:grid;gap:8px;position:relative}.geo-compact{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.geo-validity{font-size:.9em;color:#6b7280;font-weight:400;margin-left:6px}
.geo-suggest-menu{position:absolute;left:0;right:0;top:100%;margin-top:4px;background:#fff;border:1px solid #d1d5db;border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.12);max-height:220px;overflow:auto;z-index:20}
.geo-suggest-menu.hide{display:none}.geo-suggest-item{display:block;width:100%;padding:10px 12px;border:0;background:#fff;text-align:left;cursor:pointer}.geo-suggest-item + .geo-suggest-item{border-top:1px solid #eceff3}.geo-suggest-item:hover,.geo-suggest-item:focus{background:#f5f8fc;outline:none}
.tag-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}


.icon-action{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 10px;border:1px solid #111;border-radius:10px;background:#111;color:#fff;font-weight:800;font-size:1.3rem;line-height:1;cursor:pointer}
.icon-action:hover,.icon-action:focus-visible{background:#222}
.icon-remove{font-size:1.45rem}
.icon-add{font-size:1.45rem}
.row-card-head{display:flex;gap:10px;align-items:flex-start;justify-content:space-between}
.helper-lines{flex:1 1 auto}
.main-dept-link-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}
.build-file-action-list button.is-disabled{opacity:.45;cursor:not-allowed}
.build-generated-help-row textarea[data-autogrow]{height:40px;min-height:40px;overflow-y:hidden;line-height:1.25;resize:none}
.build-add-help-row{margin-top:0}
.build-add-title-row{min-width:0;align-items:flex-start}
.build-add-source,.build-icon-help-source{width:max-content;justify-self:end;align-self:start}
.build-add-source{flex:0 0 auto;margin-left:auto}
.build-add-source .icon-action,.build-icon-help-source .icon-action{width:42px;min-width:42px}
@media(max-width:980px){
  .build-refs{grid-template-columns:1fr}
  .build-refs-v3{grid-template-areas:'inst' 'email1' 'email2' 'geo' 'tags' 'dept' 'link'}
  .adapt-top,.adapt-bottom{grid-template-columns:1fr}
  .other-department-row{grid-template-columns:1fr}
  .tag-grid{grid-template-columns:1fr}
  .build-add-title-row{flex-direction:row;align-items:flex-start}
}

html[data-help-elements="true"] .build-functional-help .build-refs{
  grid-template-columns:1fr;
}
html[data-help-elements="true"] .build-functional-help .build-refs-v3{
  grid-template-areas:'inst' 'email1' 'email2' 'geo' 'tags' 'dept' 'link';
}
html[data-help-elements="true"] .build-functional-help .adapt-top,
html[data-help-elements="true"] .build-functional-help .adapt-bottom,
html[data-help-elements="true"] .build-functional-help .other-department-row{
  grid-template-columns:1fr;
}
html[data-help-elements="true"] .build-functional-help .tag-grid{
  grid-template-columns:1fr;
}

/* Paramètres, connexion et organisation */
.settings-main{align-content:start;}
.settings-hero .lead{max-width:760px;}
.settings-grid{display:grid;gap:14px;}
.settings-panel{display:grid;gap:14px;}
.settings-panel-head{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;}
.settings-panel-head h2{margin:0;}
#organizationProfessionalConnectionBox > [data-help-reminder-slot]:empty,
#organizationProfessionalConnectionBox #organizationAccountMessage:empty,
.organization-selection-message:empty{display:none;}
#organizationProfessionalConnectionBox.is-connected{gap:8px;padding-block:8px;}
.organization-selection-box.is-active{gap:8px;padding-block:8px;}
.connection-identity-intro{color:var(--muted);font-weight:700;}
.connection-identity-value{color:#111;font-weight:800;}
.settings-panel h3{margin:0;font-size:1.08rem;line-height:1.25;}
.connection-settings-main{display:grid;gap:8px;}
.connection-inline-status{display:none;}
.connection-inline-status{border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--text);padding:10px 12px;gap:4px;}
.connection-inline-status p{margin:0;}
.organization-state-card{border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--text);padding:10px 12px;display:grid;gap:4px;}
.organization-state-card[hidden]{display:none;}
.organization-state-card p{margin:0;color:var(--muted);}
.organization-choice-list{border:1px solid var(--border);border-radius:8px;background:#fff;overflow:hidden;display:grid;}
.organization-choice-list[hidden]{display:none;}
.organization-choice-row{appearance:none;border:0;border-bottom:1px solid var(--border);border-radius:0;background:#fff;color:var(--accent);font:inherit;font-weight:700;text-align:left;padding:8px 10px;cursor:pointer;}
.organization-choice-row:last-child{border-bottom:0;}
.organization-choice-row:hover,.organization-choice-row:focus{background:#eef6ff;outline:2px solid var(--accent);outline-offset:-2px;}
.organization-choice-row.is-selected{background:var(--accent);color:#fff;}
.organization-choice-row.is-selected:hover,.organization-choice-row.is-selected:focus{background:var(--accent);}
.organization-choice-row:disabled{cursor:wait;color:var(--muted);background:#fff;}
.organization-choice-empty{margin:0;padding:8px 10px;color:var(--muted);}
.connection-security-panel{border:1px solid var(--border);border-radius:8px;padding:10px 12px;display:grid;gap:8px;background:#fff;}
.connection-security-panel[hidden],.connection-session-row[hidden]{display:none;}
.connection-security-options{display:grid;gap:8px;}
.connection-security-options[hidden]{display:none;}
.connection-security-panel .settings-message:empty{display:none;}
.settings-radio-group{border:0;margin:0;padding:0;display:grid;gap:8px;}
.settings-radio-group legend{font-weight:700;margin-bottom:2px;}
.settings-radio-group label{display:flex;align-items:flex-start;gap:8px;line-height:1.35;}
.settings-radio-group input{width:auto;margin-top:3px;}
.settings-status{border:0;border-radius:0;padding:0;background:transparent;font-size:.95rem;}
.settings-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.organization-connected-actions{align-items:stretch;}
.organization-connected-actions > button{min-width:210px;}
@media(min-width:1100px){
  .organization-connected-actions > button{width:310px;min-width:310px;max-width:310px;height:26px;min-height:26px;padding:.18rem .65rem;line-height:1;}
}
.settings-inline-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:end;}
.settings-inline-row .field{min-width:0;}
.settings-inline-row input{width:100%;}
.contact-copy-option{display:flex;gap:8px;align-items:center;font-weight:700;}
.contact-copy-option input{width:auto;min-height:0;flex:0 0 auto;}
.connection-idle-field{display:grid;grid-template-columns:auto minmax(70px,1fr);gap:6px 8px;align-items:center;}
.connection-idle-field .helper{grid-column:1/-1;}
.connection-idle-field input{width:100%;min-width:0;}
.settings-check{display:flex;align-items:center;gap:8px;margin-top:8px;font-weight:700;}
.settings-check input{width:auto;}
.connection-session-row .settings-check{margin-top:0;}
.connection-login-row[hidden]{display:none;}
.connection-login-row{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;}
.connection-login-row .label{white-space:nowrap;}
.connection-login-row .field{display:grid;gap:var(--label-control-gap);grid-column:1/-1;}
.connection-login-row button{width:100%;}
.connection-pending-validation{border:1px solid #8fc1ff;border-left:4px solid var(--accent);border-radius:8px;background:#eef6ff;color:var(--accent);font-weight:700;padding:10px 12px;}
.connection-pending-validation[hidden]{display:none;}
.connection-pending-check{display:block;margin-top:6px;background:#fff;color:var(--accent);border-color:#8fc1ff;}
@media(max-width:820px){.settings-inline-row{grid-template-columns:1fr;}.connection-inline-status:not([hidden]){display:grid;}.connection-session-row{align-items:center;}}
@media(max-width:520px){.organization-connected-actions > button{width:100%;}}
.settings-message{min-height:1.4em;margin:0;color:var(--muted);white-space:pre-line;}
.connection-session-row + .settings-message:empty{display:none;}
.settings-message[data-tone="success"]{color:#0a6b2b;font-weight:700;}
.settings-message[data-tone="error"]{color:#b00020;font-weight:700;}

/* Administration */
.admin-dashboard{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
.admin-stat{padding:16px;border:1px solid var(--border);border-radius:8px;background:#f7faff;}
.admin-stat span{display:block;color:var(--muted);font-size:15px;}
.admin-stat strong{display:block;margin-top:8px;font-size:34px;line-height:1;}
.admin-toolbar{display:flex;gap:10px;align-items:end;flex-wrap:wrap;}
.admin-toolbar label{display:grid;gap:var(--label-control-gap);font-weight:700;}
.admin-toolbar input{min-width:120px;}
.admin-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.admin-split h3{margin:0 0 8px;font-size:20px;}
.admin-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:end;}
.admin-form-grid label{display:grid;gap:var(--label-control-gap);font-weight:700;}
.admin-form-grid input,.admin-form-grid select,.admin-form-grid textarea{width:100%;}
.admin-form-grid textarea{min-height:70px;resize:vertical;}
.organization-id-field{grid-column:2/4;}
.organization-id-field input[readonly]{background:var(--surface-soft);color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;}
.organization-local-plus-directory-field{grid-column:1/-1;}
.organization-file-toolbar{display:grid;gap:10px;align-items:end;}
.organization-file-toolbar label{display:grid;gap:var(--label-control-gap);font-weight:700;}
.organization-file-toolbar select{min-width:140px;}
.organization-file-toolbar .settings-status{margin-left:auto;}
.admin-checkbox{display:flex!important;gap:8px;align-items:center;font-weight:700;}
.admin-checkbox input{width:auto;}
.admin-table{width:100%;border-collapse:collapse;margin-top:10px;}
.admin-table th,.admin-table td{border-bottom:1px solid var(--border);padding:9px;text-align:left;vertical-align:top;}
.admin-table th{background:#f3f6fa;font-weight:800;}
.admin-table td:last-child,.admin-table th:last-child{text-align:right;}
.admin-table tr.admin-clickable-row{cursor:pointer;}
.admin-table tr.admin-clickable-row:hover{background:#eef6ff;}
.admin-danger{border-color:#9f1239;color:#9f1239;background:#fff;}
.admin-danger:hover,.admin-danger:focus{background:#fff1f2;}
.admin-muted{color:var(--muted);}
.admin-detail-grid{display:grid;grid-template-columns:minmax(180px,.4fr) 1fr;gap:8px 14px;margin-top:12px;}
.admin-detail-grid dt{font-weight:800;}
.admin-detail-grid dd{margin:0;overflow-wrap:anywhere;}
.admin-dialog{width:min(780px,calc(100vw - 32px));border:1px solid var(--border);border-radius:8px;padding:18px;background:#fff;color:var(--text);}
.admin-dialog::backdrop{background:rgba(15,23,42,.42);}
@media(max-width:820px){.admin-dashboard,.admin-split,.admin-form-grid,.settings-inline-row,.admin-detail-grid{grid-template-columns:1fr;}.organization-id-field{grid-column:1/-1;}.organization-file-toolbar{display:grid;grid-template-columns:1fr;}.organization-file-toolbar .settings-status{margin-left:0;}.admin-table{font-size:14px;}.admin-table th,.admin-table td{padding:7px;}}
.subscription-code-form{display:grid;gap:12px;}
.subscription-code-form[hidden]{display:none;}

.organization-element-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:end;min-width:0}
.organization-element-row{min-width:0}
.organization-element-source{display:grid;gap:var(--label-control-gap);min-width:0;font-weight:700;align-content:end}
.organization-element-source input,.organization-element-source select,.organization-element-source textarea,.organization-element-source button{width:100%;min-width:0}
.organization-element-source.settings-check{display:flex;align-self:center}
.organization-element-source.settings-check{justify-content:flex-start;align-items:center;gap:6px;white-space:nowrap}
.organization-element-source.settings-check input[type="checkbox"]{width:auto;min-width:0;flex:0 0 auto;margin:0}
.organization-settings-elements{grid-template-columns:repeat(3,minmax(0,1fr))}
.organization-connection-elements{grid-template-columns:repeat(3,minmax(0,1fr))}
.organization-element-row > .organization-element-source{padding:7px 12px}
.organization-element-row:has(> .organization-element-source[hidden]),.organization-element-row:has(> .organization-element-source > button[hidden]){display:none!important}
html[data-help-elements="true"] .organization-element-list{grid-template-columns:minmax(0,1fr);gap:0}
html[data-help-elements="true"] .organization-element-row{border-top:1px solid #0094ff}
html[data-help-elements="true"] .organization-element-row:first-child{border-top:0}
html[data-help-elements="true"] .organization-file-toolbar .settings-status{margin:4px 12px}

.request-element-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:end;min-width:0}
.request-element-row{min-width:0}
.request-element-source{display:grid;gap:var(--label-control-gap);min-width:0;font-weight:700;align-content:end;padding:7px 12px}
.request-element-source input,.request-element-source select,.request-element-source button{width:100%;min-width:0}
.request-element-source.settings-check{display:flex;align-self:center}
html[data-help-elements="true"] .request-element-list{grid-template-columns:minmax(0,1fr);gap:0}
html[data-help-elements="true"] .request-element-row{border-top:1px solid #0094ff}
html[data-help-elements="true"] .request-element-row:first-child{border-top:0}

/* Requêtes professionnelles */
.request-page-head{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:12px;align-items:end;border-bottom:1px solid var(--border);padding-bottom:12px}
.request-title-line{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.request-title-line h1{margin:0;font-size:1.75rem;line-height:1.15}
.request-page-head .settings-message{min-height:0}
.request-page-head .settings-message:empty{display:none}
.request-inbox-title{margin:0;font-size:1.15rem}
.request-inbox-controls{display:flex;gap:10px;align-items:end;flex-wrap:wrap}
.request-inbox-controls label{display:grid;gap:var(--label-control-gap);font-weight:700}
.request-detail-panel{margin-top:14px;border-top:1px solid var(--border);padding-top:14px}
.request-detail-grid{display:grid;gap:14px}
@media(min-width:900px){.request-detail-grid{grid-template-columns:minmax(0,1fr) minmax(280px,420px)}}
.request-message-box{min-height:120px;max-height:320px;overflow:auto;white-space:pre-wrap;border:1px solid var(--border);border-radius:8px;background:var(--surface-soft);padding:10px;font-family:inherit;line-height:1.45}
@media(max-width:820px){.request-page-head{grid-template-columns:1fr;align-items:start}.request-inbox-controls{display:grid;grid-template-columns:1fr}.request-inbox-controls button{width:100%}}
.settings-check-inline{align-self:end;min-height:40px}

/* Pages publiques */
.alpha-code-grid{display:grid;gap:14px;}
@media(min-width:920px){.alpha-code-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;}}
.alpha-code-card{align-content:start;}
.alpha-code-value{display:block;border:1px solid var(--border);border-radius:8px;background:var(--surface-soft);padding:12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.2rem;overflow-wrap:anywhere;}
.public-hero{display:grid;gap:12px;padding:18px;}
.public-hero h1{margin:0;max-width:none;color:var(--text);font-size:clamp(1.3rem,2vw,1.45rem);font-weight:700;line-height:1.25;}
.public-hero .lead{font-size:1.08rem;color:var(--muted);max-width:860px;margin:0;}
.public-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px;}
.grid-3{display:grid;gap:14px;}
@media(min-width:920px){.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));}}
.public-card{display:grid;gap:10px;border:1px solid var(--border);border-radius:var(--radius);background:#fff;padding:14px;align-content:start;}
.public-card h2,.public-card h3{margin:0;font-size:1.15rem;line-height:1.25;}
.public-card p{margin:0;color:var(--muted);}
.public-card .btn{justify-self:start;margin-top:4px;}
.public-card-video{margin-top:4px;overflow:hidden;border-radius:var(--radius);background:#000;}
.public-card-video video{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:#000;}
.theme-grid{display:grid;gap:12px;}
.theme-box{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:14px;display:grid;gap:8px;}
.theme-box h2,.theme-box h3{margin:0;font-size:1.12rem;line-height:1.25;}
.theme-box p{margin:0;color:var(--muted);}
.credits-list{display:grid;gap:0;margin:0;}
.credits-list div{display:grid;grid-template-columns:minmax(160px,240px) minmax(0,1fr);gap:14px;padding:10px 0;border-bottom:1px solid var(--border);}
.credits-list div:last-child{border-bottom:0;}
.credits-list dt{font-weight:800;color:var(--text);}
.credits-list dd{margin:0;color:var(--muted);overflow-wrap:anywhere;}
.site-footer{max-width:1280px;margin:24px auto 0;padding:18px 16px 28px;color:var(--muted);font-size:.95rem;}
.site-footer-inner{border-top:1px solid var(--border);padding-top:14px;display:flex;gap:12px;align-items:center;justify-content:center;flex-wrap:wrap;}
.site-footer a{color:var(--primary);font-weight:700;text-decoration:none;}
.site-footer a:hover,.site-footer a:focus{text-decoration:underline;}
.site-footer-separator{color:var(--muted);}
.contact-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden;}
@media(max-width:820px){.public-hero{padding:14px}.credits-list div{grid-template-columns:1fr;gap:4px}}

/* Fichiers de démonstration et cartes de présentation */
.theme-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.theme-pair .theme-box{height:100%;}
@media(max-width:820px){.theme-pair{grid-template-columns:1fr}}

#accessFile,#linkFileRef,#buildFileName{min-width:0;}
.server-demo-option{color:var(--accent);font-weight:700;}
.server-picker-demo-selected select{color:var(--accent);font-weight:700;}
.server-file-modal[hidden]{display:none;}
.server-file-modal{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:20px;}
.server-file-modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.42);}
.server-file-dialog{position:relative;z-index:1;width:min(560px,calc(100vw - 32px));background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 18px 48px rgba(15,23,42,.25);padding:18px;display:grid;gap:14px;}
.server-file-dialog h2{margin:0;font-size:1.1rem;}
.server-file-dialog select{width:100%;min-height:46px;}
.server-file-dialog-actions{justify-content:flex-end;}

/* Actions de fin de page */
.profile-bottom-actions{display:grid;gap:10px;margin:4px 0 0;}
.profile-bottom-buttons{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.profile-bottom-buttons button{background:#fff;color:var(--text);}
@media(max-width:680px){
  .profile-bottom-buttons button{flex:1 1 180px;}
}

/* Vidéo d'accueil */
.hero-video-row{
  display:grid;
  gap:14px;
  align-items:start;
}
.hero-video-card{
  padding:0;
  overflow:hidden;
  display:block;
  background:#000;
  align-self:start;
}
.hero-video-card video{
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  aspect-ratio:16/9;
  object-fit:contain;
  background:#000;
}

@media(min-width:920px){
  .hero-video-row{grid-template-columns:minmax(0,2fr) minmax(260px,1fr);}
  .hero-video-row .public-hero{min-height:0;}
  .hero-video-card{width:100%;}
}
