:root{--navy:#172536;--navy2:#203349;--blue:#1769aa;--bg:#f3f5f7;--line:#dce2e8;--text:#26333f;--muted:#72808d;--white:#fff;--green:#27865b;--danger:#a43b3b}
*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}a{color:var(--blue);text-decoration:none}.topbar{height:66px;background:var(--navy);display:flex;align-items:center;justify-content:space-between;padding:0 28px;color:#fff}.brand{color:#fff;font-weight:700;letter-spacing:.12em}.userline{display:flex;gap:18px;align-items:center;font-size:14px}.userline a,.linkbtn{color:#dce7ef}.linkbtn{border:0;background:none;cursor:pointer;font:inherit}.page{min-height:calc(100vh - 66px)}.auth-card{width:min(440px,calc(100% - 32px));margin:9vh auto;background:#fff;padding:36px;border-radius:12px;box-shadow:0 14px 35px rgba(26,40,55,.08)}h1{font-size:26px;margin:5px 0 8px}h2{font-size:18px}.eyebrow,.smallcaps{font-size:11px;letter-spacing:.12em;font-weight:700;color:var(--muted)}.muted{color:var(--muted)}.stack{display:grid;gap:16px;margin-top:24px}label{display:grid;gap:7px;font-size:13px;font-weight:600}input,select{width:100%;padding:11px 12px;border:1px solid #cdd5dc;border-radius:7px;background:#fff;font:inherit}.primary,.secondary{border:0;border-radius:7px;padding:11px 16px;font-weight:700;cursor:pointer}.primary{background:var(--blue);color:#fff}.secondary{background:#e7edf2;color:#2e4050}.inline{display:inline-block;margin-top:18px}.quiet-link{display:inline-block;margin-top:18px;font-size:14px}.flash-stack{position:relative;z-index:5}.flash{margin:14px auto 0;max-width:1100px;padding:11px 14px;border-radius:7px;background:#e9eef3}.flash.success{background:#e7f5ee;color:#256947}.flash.error{background:#fae8e8;color:#8f3131}.content-head{display:flex;justify-content:space-between;align-items:flex-start;gap:22px;padding:28px 34px}.case-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px;padding:0 34px 34px}.case-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:24px;color:var(--text);display:flex;justify-content:space-between;align-items:center;min-height:150px}.case-card:hover{border-color:#aab9c6}.status{display:inline-flex;background:#e6f4ec;color:var(--green);padding:5px 9px;border-radius:999px;font-size:12px;font-weight:700}.arrow{font-size:24px;color:var(--muted)}.workspace{display:grid;grid-template-columns:280px 1fr;min-height:calc(100vh - 66px)}.sidebar{background:var(--navy);color:#eaf1f6;padding:26px 18px}.backlink{color:#bcd0df;font-size:13px}.side-title{font-weight:700;margin:25px 8px 12px}.tree{display:grid;gap:3px}.tree-item{padding:10px 12px;color:#dbe7ef;border-radius:6px;font-size:14px}.tree-item.active{background:var(--blue);color:#fff}.tree-item span{margin-right:8px}.deposit-box{border-top:1px solid rgba(255,255,255,.12);margin-top:24px;padding:18px 10px}.deposit-box .smallcaps{color:#92a8b9;margin-bottom:6px}.mainpane{min-width:0}.breadcrumbs{font-size:13px;color:var(--muted);display:flex;gap:8px;flex-wrap:wrap}.upload-panel{margin:0 34px 18px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:13px 16px}.upload-panel summary{cursor:pointer;font-weight:700;color:var(--blue)}.upload-form{display:flex;gap:12px;align-items:end;margin-top:16px}.fine{font-size:12px;color:var(--muted)}.table-actions{padding:0 34px 12px;text-align:right}.file-table{margin:0 34px 34px;background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden}.file-row{display:grid;grid-template-columns:36px minmax(260px,2.3fr) 110px minmax(170px,1fr) 170px 110px;gap:10px;align-items:center;padding:12px 14px;border-top:1px solid #e8edf1;font-size:13px}.file-row.header{border-top:0;background:#f8fafb;color:#6d7b88;font-weight:700;font-size:12px}.file-row .name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.foldericon{margin-right:6px;color:#8394a2}.empty{padding:24px;color:var(--muted)}.table-empty{text-align:center}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:0 34px}.panel{background:#fff;border:1px solid var(--line);border-radius:9px;padding:22px}.panel.wide{margin:20px 34px 34px}.simple-table{border-top:1px solid var(--line)}.simple-row{display:grid;grid-template-columns:1.4fr 1.6fr 1fr;gap:15px;padding:11px 0;border-bottom:1px solid #edf0f3;font-size:13px}.simple-row.head{font-weight:700;color:var(--muted)}
@media(max-width:900px){.workspace{grid-template-columns:1fr}.sidebar{min-height:auto}.tree{grid-template-columns:repeat(2,1fr)}.file-row{grid-template-columns:30px 1fr 90px}.file-row>*:nth-child(4),.file-row>*:nth-child(5),.file-row>*:nth-child(6){display:none}.admin-grid{grid-template-columns:1fr}.userline span{display:none}}

/* Dépôt par glisser-déposer */
.upload-form{display:block;margin-top:16px}.dropzone{border:2px dashed #b8c7d3;border-radius:10px;background:#f8fbfd;padding:30px 22px;text-align:center;cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease;outline:none}.dropzone:hover,.dropzone:focus{border-color:var(--blue);background:#f3f8fc}.dropzone.is-dragover{border-color:var(--blue);background:#edf6fc;box-shadow:inset 0 0 0 2px rgba(23,105,170,.08)}.dropzone-icon{width:46px;height:46px;margin:0 auto 10px;border-radius:50%;display:grid;place-items:center;background:#e6f0f8;color:var(--blue);font-size:25px;font-weight:700}.dropzone-title{font-size:16px;font-weight:750;color:#2b3b49}.dropzone-subtitle{font-size:13px;color:var(--muted);margin:5px 0 14px}.choose-files{pointer-events:auto}.upload-selection{margin-top:14px;border:1px solid var(--line);border-radius:8px;background:#fff}.upload-selection-head{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:11px 13px;border-bottom:1px solid #edf0f3;font-size:13px}.clear-files,.remove-file{border:0;background:none;color:var(--blue);font:inherit;cursor:pointer}.selected-files{list-style:none;padding:0;margin:0;max-height:220px;overflow:auto}.selected-files li{display:grid;grid-template-columns:minmax(0,1fr) 90px 28px;gap:10px;align-items:center;padding:9px 13px;border-top:1px solid #f0f3f5;font-size:13px}.selected-files li:first-child{border-top:0}.selected-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selected-file-size{color:var(--muted);text-align:right}.remove-file{font-size:20px;line-height:1;color:#778692}.upload-actions{display:flex;justify-content:flex-end;margin-top:14px}.upload-actions .primary:disabled{opacity:.5;cursor:not-allowed}

/* ===== Identité Sébastien RABEAU — palette historique ===== */
:root{
  --sr-pale:#ADD8E6;
  --sr-light:#1FABD5;
  --sr-mid:#1D8DB0;
  --sr-dark:#116E8A;
  --navy:var(--sr-dark);
  --navy2:#0f617a;
  --blue:var(--sr-mid);
}
.topbar{background:var(--sr-dark);height:72px;padding:0 24px}
.brand-lockup{display:flex;align-items:center;gap:11px;color:#fff;text-decoration:none;min-width:0}
.brand-mark{width:46px;height:46px;border-radius:7px;background:#fff;overflow:hidden;display:block;position:relative;box-shadow:0 0 0 1px rgba(255,255,255,.28)}
.brand-mark img{width:74px;height:74px;max-width:none;position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);object-fit:cover}
.brand-copy{display:grid;line-height:1.05}
.brand-copy strong{color:#fff;font-size:14px;letter-spacing:.045em}
.brand-copy small{color:#fff;font-size:11px;margin-top:4px;font-weight:500}
.userline a,.linkbtn,.userline span{color:#fff}
.workspace{min-height:calc(100vh - 72px)}
.sidebar{background:#132d3a}
.tree-item.active{background:var(--sr-mid);color:#fff}
a{color:var(--sr-dark)}
.primary{background:var(--sr-mid);color:#fff}
.primary:hover{background:var(--sr-dark)}
.secondary{background:#e8f2f5;color:var(--sr-dark)}
.secondary:hover{background:var(--sr-pale)}
.upload-panel summary{color:var(--sr-dark)}

/* Zone de dépôt : vraie surface visible et entièrement interactive */
.dropzone{
  width:min(620px,100%);
  min-height:190px;
  margin:20px auto 4px;
  padding:30px 26px;
  border:3px solid var(--sr-mid);
  border-radius:10px;
  background:#f8fdff;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  box-shadow:0 3px 13px rgba(17,110,138,.08);
  transition:border-color .15s ease,background .15s ease,box-shadow .15s ease,transform .15s ease;
}
.dropzone:hover,.dropzone:focus{border-color:var(--sr-dark);background:#f1fbfd;box-shadow:0 5px 16px rgba(17,110,138,.13)}
.dropzone.is-dragover{border-color:var(--sr-dark);background:var(--sr-pale);box-shadow:0 0 0 4px rgba(29,141,176,.14);transform:scale(1.005)}
.dropzone-icon{width:52px;height:52px;margin:0 auto 12px;border-radius:50%;display:grid;place-items:center;background:var(--sr-mid);color:#fff;font-size:28px;font-weight:700}
.dropzone-title{font-size:17px;font-weight:750;color:var(--sr-dark)}
.dropzone-subtitle{font-size:13px;color:#667982;margin:6px 0 15px}
.choose-files{background:var(--sr-mid);color:#fff}
.choose-files:hover{background:var(--sr-dark)}
.clear-files,.remove-file{color:var(--sr-dark)}

/* Connexion : logo sur fond blanc, sans refonte du formulaire */
.auth-card-branded{text-align:center;width:min(470px,calc(100% - 32px));padding-top:26px}
.auth-card-branded .stack,.auth-card-branded .quiet-link{text-align:left}
.auth-logo{display:block;width:150px;height:auto;margin:0 auto 12px}
.auth-card-branded h1{margin-bottom:2px}
.auth-subtitle{margin:0 0 18px;color:var(--sr-dark);font-weight:650}
.auth-card-branded .eyebrow{color:var(--sr-mid);margin-bottom:5px}

@media(max-width:700px){
  .topbar{height:auto;min-height:72px;gap:12px;padding:10px 14px}
  .brand-copy strong{font-size:12px}.brand-copy small{font-size:10px}
  .brand-mark{width:42px;height:42px}.brand-mark img{width:68px;height:68px}
  .dropzone{min-height:165px;padding:24px 18px}
}


/* ===== Correctif d'intégration du logo dans le bandeau ===== */
.brand-lockup{gap:12px}
.brand-mark{
  width:58px;
  height:54px;
  border-radius:0;
  background:transparent;
  overflow:visible;
  box-shadow:none;
  display:grid;
  place-items:center;
  flex:0 0 auto;
}
.brand-mark img{
  position:static;
  transform:none;
  width:56px;
  height:52px;
  max-width:100%;
  object-fit:contain;
  display:block;
}
.brand-copy{align-self:center}
@media(max-width:700px){
  .brand-mark{width:50px;height:48px}
  .brand-mark img{width:48px;height:46px}
}

/* ===== Administration des affaires et utilisateurs ===== */
.admin-head{align-items:center}.admin-intro{max-width:760px;margin:7px 0 0}.admin-back{white-space:nowrap;text-decoration:none}.admin-notice{margin:0 34px 20px;padding:13px 16px;border:1px solid #c9e0e8;border-radius:8px;background:#eef8fb;color:#315b69;font-size:13px}.admin-card{padding:24px}.admin-card-title{display:flex;gap:13px;align-items:flex-start;margin-bottom:4px}.admin-card-title h2{margin:1px 0 4px}.admin-card-title p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}.admin-step{display:grid;place-items:center;flex:0 0 auto;width:30px;height:30px;border-radius:50%;background:var(--sr-mid);color:#fff;font-weight:800}.field-help{font-size:11px;font-weight:400;color:var(--muted);line-height:1.4}.admin-card .primary:disabled{opacity:.45;cursor:not-allowed}.admin-section{padding:0;overflow:hidden}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:18px;padding:20px 22px 16px}.section-heading h2{margin:3px 0 0}.admin-table{border-top:1px solid var(--line)}.admin-row{display:grid;gap:16px;align-items:center;padding:13px 22px;border-top:1px solid #edf0f3;font-size:13px}.admin-row:first-child{border-top:0}.access-table .admin-row{grid-template-columns:minmax(190px,1.25fr) minmax(180px,1.15fr) minmax(220px,1.5fr) minmax(110px,.65fr)}.user-table .admin-row{grid-template-columns:minmax(230px,1.5fr) minmax(190px,1.1fr) 90px minmax(180px,1fr)}.admin-row-head{background:#f8fafb;color:#6d7b88;font-size:12px;font-weight:700}.admin-row small{display:block;color:var(--muted);margin-top:3px}.admin-user-cell{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.admin-user-cell strong{overflow-wrap:anywhere}.rights-summary{display:grid;gap:4px;color:#40515d}.row-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.row-actions form{margin:0}.text-action,.text-danger{border:0;background:none;padding:4px 0;cursor:pointer;font:inherit;font-weight:650}.text-action{color:var(--sr-dark)}.text-danger{color:#9b3a3a}.badge{display:inline-flex;width:max-content;align-items:center;border-radius:999px;padding:4px 8px;background:#e8f2f5;color:var(--sr-dark);font-size:11px;font-weight:700}.badge-on{background:#e7f5ee;color:#256947}.badge-off{background:#f8eaea;color:#8f3131}.badge-pending{background:#fff4d8;color:#755b16}.admin-rule-note{margin:0 34px 34px;padding:15px 18px;border-left:4px solid var(--sr-mid);background:#f7fafb;color:#52636e;font-size:13px;line-height:1.5}
@media(max-width:1000px){.access-table .admin-row,.user-table .admin-row{grid-template-columns:1fr 1fr}.admin-row-head{display:none}.row-actions{justify-content:flex-start}.admin-section .admin-row{padding-top:16px;padding-bottom:16px}}
@media(max-width:650px){.admin-head{align-items:flex-start;flex-direction:column}.admin-notice,.admin-rule-note{margin-left:18px;margin-right:18px}.admin-grid{padding-left:18px;padding-right:18px}.panel.wide{margin-left:18px;margin-right:18px}.access-table .admin-row,.user-table .admin-row{grid-template-columns:1fr}.section-heading{align-items:flex-start;flex-direction:column}.row-actions{justify-content:flex-start}}

/* ===== Zones de dépôt par partie : commun / confidentiel expert ===== */
.deposit-box small{display:block;margin-top:6px;color:#9fb6c5;font-size:11px;line-height:1.35}
.party-upload-panel{margin:0 34px 22px}
.party-upload-heading{margin-bottom:14px}
.party-upload-heading h2{margin:4px 0 5px;font-size:19px}
.party-upload-heading p{margin:0;color:var(--muted);font-size:13px}
.upload-destinations{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.upload-destination{background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px;min-width:0}
.upload-destination.confidential{border-color:#b8ced7;background:#fbfdfe}
.upload-destination-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;min-height:102px}
.upload-destination-head h3{margin:4px 0 5px;font-size:17px;color:var(--sr-dark)}
.upload-destination-head p{margin:0;color:#647580;font-size:12px;line-height:1.5;max-width:520px}
.lockmark{display:inline-grid;place-items:center;width:23px;height:23px;margin-right:7px;border-radius:50%;background:var(--sr-dark);color:#fff;font-size:11px;vertical-align:1px}
.privacy-badge,.privacy-mini{display:inline-flex;width:max-content;align-items:center;border-radius:999px;background:#e4f0f4;color:var(--sr-dark);font-size:10px;font-weight:800;letter-spacing:.02em}
.privacy-badge{padding:5px 8px;white-space:nowrap}
.privacy-mini{padding:3px 6px;margin-left:8px}
.upload-destination .dropzone{width:100%;min-height:170px;margin:14px 0 4px;padding:24px 18px}
.confidential-dropzone{border-color:var(--sr-dark);background:#f6fbfc}
.confidential-dropzone .dropzone-icon{background:var(--sr-dark)}
.confidential-dropzone .choose-files{background:var(--sr-dark)}
.party-upload-fine{margin:10px 2px 0}
.expert-upload-note{margin:10px 0 0;color:var(--muted);font-size:12px;line-height:1.5}
.confidential-row{background:#fbfdfe}
.confidential-row .name>a{font-weight:700;color:var(--sr-dark)}
@media(max-width:1050px){.upload-destinations{grid-template-columns:1fr}.upload-destination-head{min-height:auto}}
@media(max-width:650px){.party-upload-panel{margin-left:18px;margin-right:18px}.upload-destination-head{flex-direction:column}.privacy-badge{margin-top:2px}}
/* ===== Correctif Full HD : zones de dépôt plus compactes ===== */
.party-upload-panel{margin-bottom:16px}
.party-upload-heading{margin-bottom:9px}
.party-upload-heading h2{font-size:18px}
.upload-destination{padding:14px 15px}
.upload-destination-head{min-height:72px}
.upload-destination-head h3{font-size:16px}
.upload-destination-head p{font-size:11.5px;line-height:1.4}
.upload-destination .dropzone{
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto;
  grid-template-rows:auto auto;
  column-gap:12px;
  row-gap:2px;
  align-items:center;
  min-height:92px;
  margin:9px 0 2px;
  padding:13px 15px;
  text-align:left;
}
.upload-destination .dropzone-icon{grid-column:1;grid-row:1 / 3;width:38px;height:38px;margin:0;font-size:20px}
.upload-destination .dropzone-title{grid-column:2;grid-row:1;align-self:end;font-size:14px}
.upload-destination .dropzone-subtitle{grid-column:2;grid-row:2;align-self:start;margin:0;font-size:11px}
.upload-destination .choose-files{grid-column:3;grid-row:1 / 3;margin:0;padding:8px 12px;font-size:12px;white-space:nowrap}
.upload-destination .upload-actions{margin-top:8px}
.upload-destination .upload-actions .primary{padding:8px 12px;font-size:12px}
.party-upload-fine{margin-top:7px}
@media(max-width:760px){
  .upload-destination .dropzone{display:block;min-height:138px;padding:18px;text-align:center}
  .upload-destination .dropzone-icon{margin:0 auto 8px}
  .upload-destination .dropzone-subtitle{margin:4px 0 10px}
}
