@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap");

:root{
    --ink:#162033;
    --text:#2f3c4f;
    --muted:#6f7c90;
    --line:#e3eaf3;
    --soft:#f6f9fc;
    --paper:#ffffff;
    --navy:#182435;
    --navy-2:#223148;
    --logo-bg:#29313b;
    --blue:#2f6bff;
    --blue-2:#1554e8;
    --cyan:#18b8ff;
    --green:#20b486;
    --red:#dc3e58;
    --orange:#f59e0b;
    --radius:22px;
    --radius-sm:14px;
    --shadow:0 22px 55px rgba(32,48,74,.10);
    --shadow-soft:0 12px 32px rgba(32,48,74,.07);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Manrope",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:#eef4fa;min-height:100vh}
a{color:inherit;text-decoration:none}img{display:block;max-width:100%}
strong,h1,h2,h3,.btn,.pill,.badge,th,label,.eyebrow{color:var(--ink)}

/* Logo: taille maîtrisée, jamais en icône géante */
.brand-logo{display:flex;align-items:center;justify-content:center;background:var(--logo-bg);border-radius:18px;padding:14px 18px;box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 18px 38px rgba(5,10,18,.18)}
.brand-logo img{display:block;width:100%;height:auto;object-fit:contain}
.brand-logo-wide{width:236px;max-width:100%;padding:12px 14px;border-radius:16px}
.brand-logo-wide img{max-height:74px}
.brand-logo-compact{width:250px;max-width:100%;padding:14px 18px;border-radius:18px}
.brand-logo-compact img{max-height:86px}
.brand-logo-large{width:300px;max-width:100%;padding:16px 20px;border-radius:20px}
.brand-logo-large img{max-height:104px}

.ui-icon{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.ui-icon svg{width:100%;height:100%;fill:currentColor;display:block}

/* Auth */
.auth-body{min-height:100vh;background:
    radial-gradient(circle at 18% 12%, rgba(24,184,255,.14), transparent 27%),
    radial-gradient(circle at 84% 8%, rgba(47,107,255,.13), transparent 28%),
    linear-gradient(135deg,#eef7fb 0%,#f7f4ef 46%,#eef4fb 100%);display:flex;align-items:center;justify-content:center;padding:42px 24px}
.auth-page{width:min(1120px,100%);display:grid;grid-template-columns:.92fr 1.08fr;border-radius:34px;overflow:hidden;box-shadow:0 28px 75px rgba(20,31,49,.16);background:#fff;border:1px solid rgba(255,255,255,.72)}
.auth-story{position:relative;min-height:660px;background:linear-gradient(155deg,#162233 0%,#243653 62%,#2f6bff 160%);color:#fff;padding:42px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}
.auth-story:before{content:"";position:absolute;inset:auto -110px -100px auto;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(24,184,255,.18),transparent 67%)}
.auth-story:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.05),transparent 35%);pointer-events:none}.auth-story>*{position:relative;z-index:1}
.auth-story h1{color:#fff;font-size:38px;line-height:1.12;margin:34px 0 16px;letter-spacing:-.035em}.auth-story p{color:#c9d7ea;font-size:16px;line-height:1.75;margin:0;max-width:420px}.auth-tag{display:inline-flex;width:max-content;align-items:center;gap:8px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:10px 14px;color:#edf6ff;font-size:13px;font-weight:800;margin-top:24px}.auth-feature-list{display:grid;gap:12px;margin-top:34px}.auth-feature-list span{display:flex;align-items:center;gap:11px;color:#e7f1ff;font-weight:700;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.11);border-radius:16px;padding:13px 14px}.auth-feature-list .ui-icon{color:#9ce2ff}
.auth-note{border-top:1px solid rgba(255,255,255,.13);padding-top:22px;color:#b9c8dd;font-size:13px;line-height:1.55}.auth-note strong{display:block;color:#fff;margin-bottom:5px}
.auth-form-zone{padding:54px 58px;background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);display:flex;align-items:center}.auth-card{width:100%;max-width:520px;margin:0 auto}.auth-card h2{font-size:32px;line-height:1.18;margin:0 0 10px;letter-spacing:-.03em;color:var(--ink)}.auth-card .intro{font-size:16px;line-height:1.65;color:var(--muted);margin:0 0 28px}.auth-card form{display:grid;gap:17px}.auth-card label{font-weight:800;font-size:13px;letter-spacing:-.01em}.auth-card input{height:56px;border:1px solid #dfe7f1;background:#fff;border-radius:15px;padding:0 16px;color:var(--ink);font:inherit;outline:none;box-shadow:0 3px 10px rgba(20,31,49,.03)}.auth-card input:focus{border-color:#85b5ff;box-shadow:0 0 0 5px rgba(47,107,255,.11)}.auth-top-logo{margin-bottom:26px}.security-note{display:flex;gap:12px;align-items:flex-start;margin-top:20px;padding:16px;border-radius:18px;background:#f7fafc;border:1px solid #e4ebf4;color:#536176;font-size:13px;line-height:1.55}.security-note strong{display:block;margin-bottom:2px}

/* App layout */
.app-body{background:#edf3f8}.page-shell{display:flex;min-height:100vh}.sidebar{width:292px;min-height:100vh;position:sticky;top:0;background:linear-gradient(180deg,#182435 0%,#1d2b40 62%,#152031 100%);padding:28px 20px;color:#dbe8f7;display:flex;flex-direction:column;box-shadow:8px 0 34px rgba(17,31,48,.12);z-index:2}.sidebar-brand{padding:0 0 24px;border-bottom:1px solid rgba(255,255,255,.09);margin-bottom:22px}.sidebar-logo{display:block}.sidebar-brand>span{display:block;margin-top:13px;color:#9fb2c8;text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:800}.side-nav{display:grid;gap:9px;margin-bottom:22px}.side-nav-link{display:flex;align-items:center;gap:12px;padding:13px 14px;border-radius:15px;color:#dce8f7;font-weight:800;font-size:14px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.04);transition:.18s}.side-nav-link .ui-icon{color:#8bcfff}.side-nav-link:hover{transform:translateX(3px);background:rgba(47,107,255,.18);border-color:rgba(139,207,255,.22);color:#fff}.side-nav-logout{margin-top:8px;color:#ffcfd7}.side-nav-logout .ui-icon{color:#ff9caf}.side-card{margin-top:auto;display:flex;gap:13px;padding:16px;border-radius:19px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}.side-card-icon{width:38px;height:38px;border-radius:13px;background:rgba(24,184,255,.13);display:grid;place-items:center;color:#9de3ff;flex:0 0 auto}.side-card p{margin:4px 0 0;color:#aebfd3;font-size:12.5px;line-height:1.55}.side-card strong{color:#fff}.sidebar-footer{padding-top:20px;margin-top:20px;border-top:1px solid rgba(255,255,255,.08);font-size:12px;color:#aebfd3;line-height:1.55}.sidebar-footer strong{display:block;color:#fff}.sidebar-footer span{display:block;color:#96aabd}
.main{flex:1;padding:34px;max-width:1480px;margin:0 auto;width:100%}.topbar{position:relative;display:flex;justify-content:space-between;align-items:flex-start;gap:22px;background:#fff;border:1px solid var(--line);border-radius:26px;padding:26px 28px;margin-bottom:24px;box-shadow:var(--shadow-soft);overflow:hidden}.topbar:after{content:"";position:absolute;right:-80px;top:-90px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(24,184,255,.12),transparent 70%)}.topbar>div{position:relative;z-index:1}.eyebrow{margin:0 0 8px;color:var(--blue);font-size:12px;text-transform:uppercase;letter-spacing:.18em;font-weight:900}h1{margin:0;color:var(--ink);font-size:36px;line-height:1.08;letter-spacing:-.04em}.subtitle{margin:10px 0 0;color:var(--muted);font-size:16px;line-height:1.65;max-width:760px}.top-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.pill{display:inline-flex;align-items:center;gap:8px;border-radius:999px;background:#edf5ff;border:1px solid #cfe2ff;color:#2451b8;font-size:13px;font-weight:900;padding:10px 14px}.pill .ui-icon{color:var(--blue)}.pill-light{background:#f2fbff;border-color:#cdefff;color:#12749f}
.card{background:#fff;border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow);padding:24px}.card + .card{margin-top:22px}.section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:18px}.section-title h2{font-size:24px;margin:0;color:var(--ink);letter-spacing:-.025em}.section-title p{font-size:15px;line-height:1.55;color:var(--muted);margin:6px 0 0}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:18px;margin-bottom:22px}.stat{background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);border:1px solid var(--line);border-radius:22px;padding:20px;box-shadow:var(--shadow-soft)}.premium-stat{display:grid;gap:8px;position:relative;overflow:hidden}.premium-stat>.ui-icon{width:38px;height:38px;padding:9px;border-radius:14px;background:#eff6ff;color:var(--blue)}.premium-stat span{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.09em;font-weight:900}.premium-stat strong{font-size:31px;letter-spacing:-.04em;color:var(--ink)}
.alert{border-radius:18px;padding:15px 18px;margin-bottom:18px;font-weight:800}.alert-success{background:#e9fbf5;color:#0c7752;border:1px solid #b8efd9}.alert-error{background:#fff0f3;color:#a91f38;border:1px solid #ffc8d3}.alert-info{background:#edf5ff;color:#174da7;border:1px solid #cfe2ff}.notice{background:#fff7ed;border:1px solid #fed7aa;color:#934f08;border-radius:18px;padding:16px 18px;font-weight:800;line-height:1.5;margin-bottom:18px}.help{color:var(--muted);font-size:14px;line-height:1.6}.actions{display:flex;gap:10px;flex-wrap:wrap}.btn,button.btn{border:0;min-height:44px;border-radius:14px;padding:12px 18px;background:linear-gradient(180deg,var(--blue) 0%,var(--blue-2) 100%);color:#fff;font-weight:900;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:9px;box-shadow:0 14px 26px rgba(47,107,255,.23);transition:.18s}.btn:hover{transform:translateY(-1px);box-shadow:0 18px 32px rgba(47,107,255,.27)}.btn.secondary{background:#fff;color:var(--ink);border:1px solid var(--line);box-shadow:none}.btn.danger{background:linear-gradient(180deg,#ea526b,#d93250)}.btn.small{min-height:36px;font-size:13px;padding:8px 12px;border-radius:12px}.btn.block{width:100%}
form{display:grid;gap:17px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}label{display:grid;gap:8px;font-size:13px;font-weight:900;color:var(--ink)}input,textarea,select{width:100%;border:1px solid #dfe7f1;background:#fff;border-radius:15px;padding:13px 15px;font:inherit;color:var(--ink);outline:none;transition:.18s}input:focus,textarea:focus,select:focus{border-color:#85b5ff;box-shadow:0 0 0 5px rgba(47,107,255,.10)}textarea{min-height:120px;resize:vertical}.turnstile-wrap{display:flex;justify-content:center;margin:6px 0 2px}
.table-wrap{border:1px solid var(--line);border-radius:20px;overflow:auto;background:#fff}table{width:100%;border-collapse:collapse;min-width:760px}th,td{text-align:left;padding:16px;border-bottom:1px solid #edf2f7;vertical-align:top}th{background:#f8fbff;color:#77859a;font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:900}tr:last-child td{border-bottom:0}.file-title{font-weight:900;color:var(--ink)}.file-sub{font-size:13px;color:var(--muted);margin-top:5px}.badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:7px 11px;background:#edf5ff;color:#1f56bb;font-size:12px;font-weight:900}.badge.success{background:#e9fbf5;color:#0c7752}.badge.danger{background:#fff0f3;color:#a91f38}.badge.warn{background:#fff7ed;color:#934f08}

/* Dashboards */
.premium-hero-card{display:grid;grid-template-columns:1fr auto;align-items:center;gap:24px;background:linear-gradient(135deg,#ffffff 0%,#f6fbff 100%);border-color:#dbe9f7}.premium-hero-card h2{font-size:31px;line-height:1.18;letter-spacing:-.035em;margin:0 0 10px;color:var(--ink)}.premium-hero-card p{font-size:16px;line-height:1.7;color:var(--muted);margin:0;max-width:720px}.hero-badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.hero-badges span{display:inline-flex;align-items:center;gap:8px;padding:10px 13px;border-radius:999px;background:#fff;border:1px solid var(--line);color:#38506e;font-weight:800;font-size:13px}.hero-badges .ui-icon{color:var(--blue)}.hero-panel{width:190px;min-height:170px;border-radius:24px;background:linear-gradient(155deg,#17253a,#2b4264);color:#fff;padding:22px;display:flex;flex-direction:column;justify-content:center;text-align:center;box-shadow:0 18px 44px rgba(22,36,55,.22)}.hero-panel-label{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#9fdfff;font-weight:900}.hero-panel strong{font-size:58px;line-height:1;color:#fff;letter-spacing:-.06em}.hero-panel small{color:#c5d7ed;font-weight:800}.hero-actions{display:grid;gap:10px;min-width:220px}.admin-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(330px,.8fr);gap:22px}.premium-summary{display:grid;gap:12px}.premium-summary>div{border:1px solid var(--line);background:#f8fbff;border-radius:18px;padding:14px;display:flex;justify-content:space-between;align-items:center;gap:12px}.premium-summary span{display:flex;align-items:center;gap:9px;color:#536176;font-size:13px;font-weight:800}.premium-summary strong{font-size:24px}.mini-section{margin-top:22px}.recent-file-list{display:grid;gap:10px}.recent-file-item{display:flex;gap:11px;align-items:center;border:1px solid var(--line);border-radius:18px;padding:13px;background:#fff}.file-icon{width:44px;height:44px;border-radius:16px;background:#eff6ff;color:var(--blue);display:grid;place-items:center;flex:0 0 auto}.file-icon.small{width:36px;height:36px;border-radius:13px}.recent-file-item strong{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.recent-file-item span{display:block;color:var(--muted);font-size:12px;margin-top:3px}.empty-state{padding:36px;text-align:center;color:var(--muted);line-height:1.6}.premium-empty .ui-icon{width:42px;height:42px;margin:0 auto 12px;color:#8fa2ba}.empty-state strong{display:block;margin-bottom:4px;font-size:20px;color:var(--ink)}
.download-grid{display:grid;gap:16px}.download-card{border:1px solid var(--line);border-radius:22px;padding:18px;background:#fff;box-shadow:var(--shadow-soft)}.download-card-head{display:flex;gap:13px;align-items:flex-start}.download-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.mini-label{display:inline-flex;align-items:center;gap:6px;border-radius:999px;background:#f4f7fb;border:1px solid #e8eef6;color:#506076;padding:7px 10px;font-size:12px;font-weight:800}.quota-line{height:8px;background:#edf2f7;border-radius:999px;overflow:hidden;margin:16px 0 0}.quota-line span{display:block;height:100%;background:linear-gradient(90deg,var(--green),var(--blue));border-radius:999px}.download-actions{margin-top:16px}.is-blocked{opacity:.72}.is-blocked .quota-line span{background:#cbd5e1}

.diag{font-size:13px;margin:6px 0;padding:9px 11px;border-radius:12px;background:#f8fbff}.diag-success{border-left:3px solid #10b981}.diag-error{border-left:3px solid #ef4444}.diag-info{border-left:3px solid #0ea5e9}code{background:#e7eef7;padding:2px 5px;border-radius:7px}

@media(max-width:1040px){.auth-page{grid-template-columns:1fr}.auth-story{min-height:auto;padding:34px}.auth-story h1{font-size:31px}.auth-form-zone{padding:34px}.admin-dashboard-grid{grid-template-columns:1fr}.premium-hero-card{grid-template-columns:1fr}.hero-panel{width:100%}}
@media(max-width:900px){.page-shell{display:block}.sidebar{position:relative;width:auto;min-height:auto}.main{padding:20px}.topbar{flex-direction:column}.top-actions{justify-content:flex-start}.form-grid,.grid{grid-template-columns:1fr}h1{font-size:30px}.brand-logo-wide{width:220px}}
@media(max-width:560px){.auth-body{padding:16px}.auth-page{border-radius:24px}.auth-story,.auth-form-zone{padding:24px}.auth-story h1{font-size:27px}.auth-card h2{font-size:27px}.main{padding:14px}.card,.topbar{border-radius:20px;padding:19px}.btn,button.btn{width:100%}.actions .btn{width:auto}.brand-logo-compact,.brand-logo-large{width:100%}table{min-width:700px}}


/* V1.7.3 — style plus humain côté client */
:root{
    --radius:16px;
    --radius-sm:10px;
}
.card{border-radius:18px;box-shadow:0 10px 26px rgba(32,48,74,.06)}
.topbar{border-radius:18px}
.pill{border-radius:12px}
.badge{border-radius:10px}
.download-card{border-radius:16px}

.human-hero-card{
    background:#fff;
    border:1px solid var(--line);
    border-left:5px solid var(--blue);
    border-radius:16px;
    padding:26px 24px 22px;
}
.human-hero-card h2{
    margin:0 0 10px;
    font-size:32px;
    line-height:1.15;
    letter-spacing:-.03em;
    color:var(--ink);
}
.human-lead{
    margin:0;
    max-width:920px;
    font-size:16px;
    line-height:1.7;
    color:var(--muted);
}
.human-meta-strip{
    margin-top:22px;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:0;
    border:1px solid var(--line);
    border-radius:14px;
    overflow:hidden;
    background:#fbfdff;
}
.human-meta-strip > div{
    padding:16px 18px;
    border-right:1px solid var(--line);
}
.human-meta-strip > div:last-child{border-right:0}
.human-meta-strip span{
    display:block;
    color:var(--muted);
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.08em;
    font-weight:800;
    margin-bottom:6px;
}
.human-meta-strip strong{
    display:block;
    color:var(--ink);
    font-size:18px;
    line-height:1.35;
}
.human-note-row{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    margin-top:18px;
}
.human-note{
    display:inline-flex;
    align-items:center;
    gap:9px;
    padding:10px 12px;
    border:1px solid var(--line);
    background:#f8fbfe;
    border-radius:12px;
    color:#41536b;
    font-size:14px;
    font-weight:700;
}
.human-note .ui-icon{color:var(--blue)}
.human-list-card{padding-top:22px}
.human-download-grid{gap:14px}
.human-download-card{
    padding:18px 18px 16px;
    border:1px solid var(--line);
    background:#fff;
    border-radius:14px;
    box-shadow:none;
}
.human-download-main{
    display:grid;
    grid-template-columns:auto 1fr auto;
    gap:14px;
    align-items:start;
}
.human-file-text .file-title{font-size:24px;line-height:1.2;letter-spacing:-.02em}
.human-file-details{
    display:flex;
    gap:12px 18px;
    flex-wrap:wrap;
    margin:14px 0 10px 50px;
    color:#5f6f84;
    font-size:14px;
    line-height:1.5;
}
.human-file-details strong{font-size:13px;color:var(--ink)}
.human-download-actions{
    margin-top:14px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
}
.quota-row{margin:0 0 0 50px}
.quota-label{font-size:13px;color:var(--muted);margin:0 0 8px}
.text-muted{color:var(--muted);font-size:14px}
.client-stats,.premium-hero-card,.hero-panel,.hero-badges{display:none !important}

@media(max-width:980px){
    .human-meta-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
    .human-meta-strip{grid-template-columns:1fr}
    .human-meta-strip > div{border-right:0;border-bottom:1px solid var(--line)}
    .human-meta-strip > div:last-child{border-bottom:0}
    .human-download-main{grid-template-columns:1fr}
    .human-file-details,.quota-row{margin-left:0}
    .human-download-actions{align-items:flex-start;flex-direction:column}
    .human-file-text .file-title{font-size:20px}
}


/* V1.7.4 — direction plus haut de gamme, moins dashboard */
@import url("https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,600;9..144,700&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap");

:root{
    --ink:#1f1c18;
    --text:#4f4a43;
    --muted:#7e776f;
    --line:#e7e0d6;
    --soft:#faf7f2;
    --paper:#fffdf9;
    --navy:#27241f;
    --navy-2:#342f28;
    --logo-bg:#2b2823;
    --blue:#8d6a43;
    --blue-2:#745431;
    --cyan:#b69463;
    --green:#4d7d5c;
    --red:#b65a5a;
    --orange:#ab8450;
    --radius:10px;
    --radius-sm:8px;
    --shadow:0 18px 40px rgba(36,31,24,.06);
    --shadow-soft:0 8px 18px rgba(36,31,24,.04);
}
body{
    font-family:"Plus Jakarta Sans", system-ui, sans-serif;
    color:var(--text);
    background:linear-gradient(180deg,#f7f3ed 0%,#f3efe8 100%);
}
h1,h2,h3,.auth-story h1,.auth-card h2,.premium-hero-card h2,.human-hero-card h2,.classy-file-row h3{
    font-family:"Fraunces", Georgia, serif;
    font-weight:700;
    color:var(--ink);
}
strong,.btn,.pill,.badge,th,label,.eyebrow,.side-nav-link span{font-family:"Plus Jakarta Sans", system-ui, sans-serif}

.app-body{background:linear-gradient(180deg,#f7f3ed 0%,#f3efe8 100%)}
.page-shell{background:transparent}
.sidebar{
    width:286px;
    background:linear-gradient(180deg,#23201c 0%,#2e2923 100%);
    border-right:1px solid rgba(255,255,255,.05);
}
.sidebar-brand{padding-bottom:22px;border-bottom:1px solid rgba(255,255,255,.07);margin-bottom:22px}
.sidebar-brand span{letter-spacing:.14em;font-size:11px;text-transform:uppercase;color:#bda98a;font-weight:700}
.brand-logo{background:#2b2823;box-shadow:none;border:1px solid rgba(255,255,255,.06);border-radius:10px}
.side-nav{gap:6px}
.side-nav-link{
    border-radius:8px;
    background:transparent;
    border:1px solid transparent;
    color:#e9e1d5;
    padding:12px 14px;
}
.side-nav-link:hover{background:rgba(255,255,255,.04);border-color:rgba(189,169,138,.18);transform:none}
.side-nav-link .ui-icon{color:#bea27c}
.side-nav-logout .ui-icon{color:#d59a8f}
.side-card{
    border-radius:10px;
    background:rgba(255,255,255,.03);
    border:1px solid rgba(255,255,255,.07);
    box-shadow:none;
}
.side-card-icon{background:rgba(182,148,99,.12);color:#d1b185;border-radius:10px}
.sidebar-footer{border-top:1px solid rgba(255,255,255,.08);color:#bcae9c}
.sidebar-footer span{color:#9a8b78}

.main{padding:42px 44px;max-width:1500px}
.topbar{
    background:transparent;
    border:0;
    box-shadow:none;
    border-radius:0;
    padding:0 0 18px;
    margin-bottom:28px;
    border-bottom:1px solid var(--line);
}
.topbar:after{display:none}
.eyebrow{color:#9a7a51;letter-spacing:.2em;font-weight:800}
h1{font-size:50px;line-height:1.02;letter-spacing:-.04em;color:var(--ink)}
.subtitle{max-width:820px;font-size:17px;color:#766f67}
.top-actions{gap:8px;align-items:flex-start;padding-top:12px}
.pill{
    background:rgba(255,253,249,.78);
    border:1px solid #ddd2c4;
    border-radius:999px;
    color:#6d5a43;
    padding:9px 13px;
    box-shadow:none;
}
.pill .ui-icon,.pill-light .ui-icon{color:#9a7a51}
.pill-light{background:#f8f3ec;border-color:#e6dac9;color:#7a6951}

.card,.classy-section,.file-list-section{
    background:rgba(255,253,249,.94);
    border:1px solid #e8dfd3;
    border-radius:10px;
    box-shadow:var(--shadow-soft);
}
.card{padding:26px}
.section-title h2{font-size:34px;letter-spacing:-.03em}
.section-title p{font-size:15px;color:#7a736b}
.section-title-soft{margin-bottom:22px;padding-bottom:12px;border-bottom:1px solid var(--line)}

.auth-body{
    background:linear-gradient(135deg,#f5f1ea 0%,#f7f3ed 45%,#efe8de 100%);
}
.auth-page{border-radius:14px;border:1px solid #e3dacd;box-shadow:0 30px 80px rgba(35,32,28,.08)}
.auth-story{background:linear-gradient(160deg,#23201c 0%,#373128 100%)}
.auth-story p,.auth-note{color:#d4c9ba}
.auth-tag,.auth-feature-list span{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.08)}
.auth-feature-list .ui-icon{color:#d1b185}
.auth-form-zone{background:linear-gradient(180deg,#fffdf9 0%,#fbf8f3 100%)}
.auth-card input{
    border-radius:8px;
    border-color:#ddd2c4;
    box-shadow:none;
    background:#fffdfa;
}
.auth-card input:focus{border-color:#c5a883;box-shadow:0 0 0 4px rgba(182,148,99,.10)}
.security-note{border-radius:10px;background:#f6f1e8;border-color:#e8dece;color:#6d665d}

.btn,button.btn{
    border-radius:8px;
    background:linear-gradient(180deg,#8f6f4c 0%,#735437 100%);
    box-shadow:none;
    min-height:46px;
    font-weight:800;
}
.btn:hover{transform:none;box-shadow:none;background:linear-gradient(180deg,#876947 0%,#694d33 100%)}
.btn.secondary{background:transparent;color:#584632;border:1px solid #d9cdbf}
.btn-elegant{padding:0 18px}
.alert,.notice,.badge,.table-wrap,.download-card,.human-download-card,.classy-file-row,.stat,.premium-summary>div,.recent-file-item,.table-wrap{border-radius:8px}
.badge{background:#efe7da;color:#6b573f}.badge.success{background:#e6efe8;color:#3f684b}.badge.danger{background:#f4e4e1;color:#8d4a4a}
.table-wrap{border-color:#e9dfd2}
th{background:#f8f3ec;color:#8a7f71}

/* Client page */
.client-overview{
    padding:0 0 20px;
    margin-bottom:14px;
    background:transparent;
    border:0;
    box-shadow:none;
    border-bottom:1px solid var(--line);
}
.client-overview-text h2{font-size:38px;line-height:1.12;margin:0 0 10px}
.client-overview-text p:last-child{font-size:17px;line-height:1.8;color:#6e675f;max-width:1000px;margin:0}
.client-overview-stats{
    margin-top:24px;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:22px;
}
.client-overview-stats > div{
    padding:0;
    border:0;
    background:transparent;
}
.client-overview-stats span{display:block;color:#9a8f82;font-size:11px;text-transform:uppercase;letter-spacing:.18em;font-weight:800;margin-bottom:8px}
.client-overview-stats strong{display:block;font-family:"Fraunces",serif;font-size:28px;line-height:1.2;color:var(--ink);font-weight:600}
.client-trust-strip{
    display:flex;
    flex-wrap:wrap;
    gap:18px 26px;
    padding:0 0 28px;
    margin-bottom:30px;
    border-bottom:1px solid var(--line);
}
.client-trust-strip > div{
    display:inline-flex;
    align-items:center;
    gap:10px;
    color:#6f675f;
    font-size:15px;
    font-weight:600;
}
.client-trust-strip .ui-icon{color:#9a7a51}
.file-list-section{
    padding:0;
    background:transparent;
    border:0;
    box-shadow:none;
}
.classy-file-list{display:grid;gap:0;border-top:1px solid var(--line)}
.classy-file-row{
    padding:26px 0 24px;
    border:0;
    border-bottom:1px solid var(--line);
    background:transparent;
    box-shadow:none;
    border-radius:0;
}
.classy-file-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}
.classy-file-name-wrap{display:flex;gap:14px;align-items:flex-start}
.file-icon.small{
    width:42px;height:42px;border-radius:8px;background:#f2ebe1;color:#8f6d49;
}
.classy-file-row h3{margin:0;font-size:31px;line-height:1.15;letter-spacing:-.03em}
.classy-file-row p{margin:6px 0 0;color:#8a8178;font-size:14px}
.classy-file-status{
    font-size:12px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
    padding-top:6px;
    color:#6f675f;
}
.classy-file-status.ok{color:#4f7858}
.classy-file-status.danger{color:#9d5555}
.classy-file-infos{
    display:flex;
    flex-wrap:wrap;
    gap:20px 28px;
    margin:18px 0 10px 56px;
    color:#5f594f;
    font-size:15px;
}
.classy-file-infos em{font-style:normal;color:#9a8d7e;font-weight:700;margin-right:6px}
.classy-progress-wrap{margin:18px 0 0 56px;max-width:520px}
.classy-progress-label{font-size:13px;color:#91867a;margin-bottom:8px}
.classy-progress{height:3px;background:#ebe3d8;overflow:hidden;border-radius:999px}.classy-progress span{display:block;height:100%;background:#9a7a51;border-radius:999px}
.classy-file-actions{margin:20px 0 0 56px;display:flex;align-items:center;gap:18px}
.classy-muted{color:#8a8178;font-size:14px}

/* Admin softer, less widgety */
.premium-hero-card,.admin-hero-card{
    background:#fffdf9;
    border:1px solid #e6ddcf;
    border-radius:10px;
    box-shadow:none;
}
.premium-hero-card p,.premium-summary span,.recent-file-item span{color:#7d746b}
.hero-badges span{border-radius:999px;background:#faf5ee;border-color:#e7dccd;color:#6e5e4b}
.hero-badges .ui-icon{color:#9a7a51}
.grid{gap:14px}
.stat{background:#fffdf9;border-color:#e8dfd3;box-shadow:none;border-radius:8px}
.premium-stat>.ui-icon{background:#f3ece2;color:#916f49;border-radius:8px}
.premium-stat strong{font-family:"Fraunces",serif;font-size:28px}
.premium-summary>div,.recent-file-item{background:#fffdfa;border-color:#e8dfd3;border-radius:8px}

/* old dashboard widgets hidden */
.client-stats,.premium-hero-card.human-hero-card,.hero-panel,.hero-badges{display:initial}
.human-meta-strip,.human-note-row,.human-download-grid,.human-download-main,.human-file-details,.quota-row,.human-download-actions{all:unset}

@media(max-width:1100px){
    h1{font-size:42px}
    .client-overview-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
    .classy-file-head{flex-direction:column}
}
@media(max-width:900px){
    .main{padding:24px 18px}
    .topbar{padding-bottom:16px}
    h1{font-size:36px}
    .client-overview-text h2{font-size:32px}
}
@media(max-width:680px){
    .client-overview-stats{grid-template-columns:1fr;gap:16px}
    .client-trust-strip{gap:12px;padding-bottom:22px}
    .classy-file-row h3{font-size:24px}
    .classy-file-infos,.classy-progress-wrap,.classy-file-actions{margin-left:0}
    .classy-file-actions{flex-direction:column;align-items:flex-start}
}


/* V1.7.5 — simplification des pages de connexion */
.auth-story-minimal{justify-content:space-between}
.auth-story-copy{display:grid;gap:28px;align-content:center;min-height:100%}
.auth-story-copy p{margin:0;max-width:430px;font-size:18px;line-height:1.9;color:#ddd3c5}
.auth-feature-list-plain{gap:14px;margin-top:0}
.auth-feature-list-plain span{padding:16px 18px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:8px;color:#f2eadf;font-weight:700}
.auth-feature-list-plain .ui-icon{display:none}
.auth-top-logo,.auth-tag,.auth-story h1{display:none !important}
.auth-form-zone{display:flex;align-items:center}
.auth-card{max-width:540px}
@media(max-width:1040px){.auth-story-copy{gap:22px}.auth-story-copy p{font-size:17px;max-width:none}}


/* V1.7.6 — logo réintégré et correction du bas coupé */
.auth-page{overflow:hidden;align-items:stretch}
.auth-story{
    min-height:720px;
    padding:46px 42px 54px;
    overflow:visible;
}
.auth-story-copy{
    align-content:start;
    gap:24px;
}
.auth-side-logo{
    margin-bottom:8px;
}
.auth-side-logo .brand-logo-large{
    width:320px;
    max-width:100%;
}
.auth-story-copy p{
    max-width:460px;
}
.auth-feature-list-plain{
    margin-top:4px;
}
.auth-note{
    margin-top:26px;
    padding-top:18px;
    padding-bottom:6px;
    font-size:14px;
    line-height:1.6;
}
.auth-note strong{margin-bottom:6px}
@media(max-width:1040px){
    .auth-story{min-height:auto;padding:34px 34px 38px}
    .auth-side-logo .brand-logo-large{width:280px}
}
@media(max-width:560px){
    .auth-story{padding:24px 24px 30px}
    .auth-side-logo .brand-logo-large{width:100%}
}


/* V1.7.7 — correction robuste du logo et du footer gauche */
.auth-page{
    overflow:visible;
    align-items:stretch;
}
.auth-story{
    min-height:0;
    height:auto;
    padding:40px 42px 34px;
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
    gap:26px;
}
.auth-story-copy{
    display:flex;
    flex-direction:column;
    align-content:unset;
    gap:22px;
    min-height:0;
}
.auth-side-logo{
    display:block;
    margin:0 0 6px;
}
.auth-side-logo-box{
    width:320px;
    max-width:100%;
    background:#2b2823;
    border:1px solid rgba(255,255,255,.06);
    border-radius:10px;
    padding:16px 18px;
    box-shadow:none;
}
.auth-side-logo-box img{
    display:block;
    width:100%;
    height:auto;
    max-height:92px;
    object-fit:contain;
}
.auth-story-copy p{
    max-width:470px;
    font-size:17px;
    line-height:1.85;
}
.auth-feature-list-plain{
    display:grid;
    gap:12px;
}
.auth-feature-list-plain span{
    padding:14px 16px;
}
.auth-note{
    margin-top:auto;
    padding-top:16px;
    padding-bottom:0;
    border-top:1px solid rgba(255,255,255,.12);
}
@media(max-width:1040px){
    .auth-story{padding:32px 32px 26px}
    .auth-side-logo-box{width:280px}
}
@media(max-width:560px){
    .auth-story{padding:24px 24px 20px;gap:20px}
    .auth-side-logo-box{width:100%}
}


/* V1.7.8 — blocage propre sur téléphone */
@media (max-width: 767px){
    html, body{
        width:100%;
        min-height:100vh;
        margin:0;
        overflow:hidden;
        background:linear-gradient(135deg,#f7f3ed 0%,#eee6db 100%) !important;
    }
    body > *{
        display:none !important;
    }
    body::before{
        content:"Cerf à Lunettes\A\A Espace non disponible sur téléphone.\A\A Pour des raisons de sécurité et de confort, merci d’utiliser un ordinateur ou une tablette pour récupérer vos fichiers.";
        white-space:pre-line;
        position:fixed;
        inset:22px;
        display:flex;
        align-items:center;
        justify-content:center;
        text-align:center;
        padding:32px 24px;
        border:1px solid #e2d6c7;
        border-radius:16px;
        background:#fffdf9;
        color:#4f463b;
        font-family:"Plus Jakarta Sans", system-ui, sans-serif;
        font-size:17px;
        line-height:1.65;
        box-shadow:0 24px 60px rgba(36,31,24,.12);
        z-index:999999;
    }
}
