/* ════ Portail Client AAM — styles (charte AAM réutilisée) ════ */
:root{
  --or:#C4A44A; --or2:#A6791C; --or-soft:#f4ecd8; --or-line:#e7dcc0;
  --ink:#211f19; --muted:#726c5d; --line:#e8e3d6; --bg:#faf8f3; --card:#fff;
  --green:#2e7d52; --new:#b9472f; --new-bg:#fbeadf;
  --shadow:0 1px 2px rgba(33,31,25,.04),0 8px 28px rgba(33,31,25,.07);
  --shadow-sm:0 1px 3px rgba(33,31,25,.08);
  font-size:17px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:"Manrope",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:var(--bg);line-height:1.55;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;line-height:1.15;margin:0}
button{font-family:inherit;cursor:pointer;border:none;background:none}
.hidden{display:none!important}

/* brand mark */
.brand{display:flex;align-items:center;gap:.6rem}
.brand .name{font-family:"Cormorant Garamond",serif;font-weight:700;font-size:1.35rem;color:var(--ink);line-height:1}
.brand .name b{color:var(--or2)}
.brand .name small{display:block;font-family:"Manrope",sans-serif;font-weight:500;font-size:.6rem;letter-spacing:.28em;text-transform:uppercase;color:var(--muted);margin-top:.18rem}
.mark{width:36px;height:36px;flex:0 0 auto}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.78rem 1.3rem;border-radius:10px;font-weight:600;font-size:.97rem;transition:.15s}
.btn-primary{background:var(--or2);color:#fff;box-shadow:0 1px 2px rgba(166,121,28,.3)}
.btn-primary:hover{background:#b9892a}
.btn-ghost{background:#fff;color:var(--ink);border:1px solid var(--line)}
.btn-ghost:hover{border-color:var(--or)}
.btn-sm{padding:.45rem .7rem;font-size:.85rem;border-radius:8px}
.btn-soft{background:var(--or-soft);color:var(--or2);border:1px solid var(--or-line)}

/* ===== Login landing (split panel) ===== */
.login{display:grid;grid-template-columns:1.05fr .95fr;min-height:100vh}
.login-brand{background:linear-gradient(150deg,#2c2823,#211f19 50%,#16130d);color:#fff;padding:3rem;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}
.login-brand:after{content:"";position:absolute;right:-120px;bottom:-120px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(196,164,74,.16),transparent 70%)}
.login-brand .brand .name,.login-brand .brand .name b{color:#fff}
.login-brand .brand .name small{color:rgba(255,255,255,.7)}
.login-pitch{position:relative;z-index:1}
.login-pitch h1{font-size:2.5rem;color:#fff;margin-bottom:.6rem;max-width:12ch}
.login-pitch p{color:rgba(255,255,255,.85);max-width:36ch;font-size:1.02rem}
.login-feats{list-style:none;padding:0;margin:1.6rem 0 0;display:grid;gap:.7rem;position:relative;z-index:1}
.login-feats li{display:flex;align-items:center;gap:.7rem;color:rgba(255,255,255,.92);font-size:.95rem}
.login-foot{position:relative;z-index:1;color:rgba(255,255,255,.7);font-size:.82rem}
.login-action{display:flex;align-items:center;justify-content:center;padding:2.5rem 1.5rem}
.login-card{width:100%;max-width:400px;text-align:center}
.login-card .top-brand{display:none;justify-content:center;margin-bottom:2rem}
.login-card h2{font-size:2rem;margin-bottom:.3rem}
.login-card .sub{color:var(--muted);margin:0 0 2rem}
.secure-line{display:flex;align-items:center;gap:.45rem;justify-content:center;margin-top:1.5rem;color:var(--muted);font-size:.8rem}

/* ===== App ===== */
.appbar{position:sticky;top:0;z-index:40;background:#fff;border-bottom:1px solid var(--line);padding:.7rem 1.25rem;display:flex;align-items:center;gap:1rem}
.appbar .spacer{flex:1}
.user-menu{display:flex;align-items:center;gap:.6rem}
.avatar{width:38px;height:38px;border-radius:50%;background:var(--or-soft);color:var(--or2);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;border:1px solid var(--or-line)}
.user-menu .who{font-size:.82rem;line-height:1.2;text-align:right}
.user-menu .who b{display:block;font-weight:600;font-size:.9rem}
.user-menu .who span{color:var(--muted)}
.icon-btn{width:40px;height:40px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;color:var(--muted)}
.icon-btn:hover{background:var(--bg);color:var(--or2)}
.wrap{max-width:980px;margin:0 auto;padding:1.6rem 1.25rem 4rem}
.page-head{margin-bottom:1.2rem}
.page-head .eyebrow{font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--or2);font-weight:600}
.page-head h1{font-size:2rem;margin:.15rem 0}
.page-head .meta{color:var(--muted);font-size:.95rem}
.info-strip{display:flex;align-items:center;gap:.6rem;background:var(--or-soft);border:1px solid var(--or-line);color:#5d4d1e;border-radius:10px;padding:.7rem .9rem;font-size:.87rem;margin-bottom:1.3rem}
.search{position:relative;margin-bottom:1rem}
.search svg{position:absolute;left:.8rem;top:50%;transform:translateY(-50%);color:var(--muted)}
.search input{width:100%;padding:.7rem .9rem .7rem 2.4rem;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:1rem}
.search input:focus{outline:none;border-color:var(--or);box-shadow:0 0 0 3px rgba(196,164,74,.18)}

.doc-list{display:grid;gap:.6rem}
.doc{display:flex;align-items:center;gap:1rem;min-width:0;background:#fff;border:1px solid var(--line);border-radius:12px;padding:.85rem 1rem;box-shadow:var(--shadow-sm)}
.doc.is-new{border-left:3px solid var(--or)}
.ficon{flex:0 0 auto;width:44px;height:44px;border-radius:9px;background:#f1efe9;color:var(--muted);display:flex;align-items:center;justify-content:center}
.doc.is-new .ficon{background:var(--new-bg);color:var(--new)}
.doc .body{flex:1;min-width:0}
.doc .name{font-weight:600;font-size:.98rem;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;min-width:0;word-break:break-word}
.badge-new{background:var(--new-bg);color:var(--new);padding:.1rem .5rem;border-radius:20px;font-size:.7rem;font-weight:700}
.doc .sub{color:var(--muted);font-size:.83rem;margin-top:.15rem}
.tag{display:inline-block;padding:.05rem .45rem;border-radius:5px;font-size:.72rem;font-weight:600;background:var(--or-soft);color:var(--or2);border:1px solid var(--or-line)}
.doc .actions{display:flex;gap:.3rem;flex:0 0 auto}
.state{text-align:center;padding:3rem 1rem;color:var(--muted)}
.spinner{width:34px;height:34px;border:3px solid var(--or-soft);border-top-color:var(--or2);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 1rem}
@keyframes spin{to{transform:rotate(360deg)}}

@media(max-width:820px){
  .login{grid-template-columns:1fr}
  .login-brand{display:none}
  .login-card .top-brand{display:flex}
  .user-menu .who{display:none}
  .page-head h1{font-size:1.7rem}
  .doc .actions .label{display:none}
}
