:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#17222d;background:#eef1f3}*{box-sizing:border-box}body{margin:0;min-height:100vh}a{color:inherit;text-decoration:none}.auth-page{display:grid;place-items:center;padding:24px}.auth-card,.side-card,.panel{background:#fff;box-shadow:0 18px 55px rgba(23,34,45,.09)}.auth-card{width:min(100%,520px);padding:clamp(32px,7vw,64px);border-radius:24px}.eyebrow{margin:0 0 12px;color:#687583;font-size:.76rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}h1{margin:0;font-size:clamp(2rem,5vw,3.5rem);line-height:1.04;letter-spacing:-.045em}h2{margin:0 0 24px;font-size:1.45rem}.intro{margin:16px 0 32px;color:#63707d}.form-stack{display:grid;gap:18px}.form-stack label{display:grid;gap:8px;font-size:.9rem;font-weight:700}.form-stack input,.form-stack select{width:100%;padding:13px;border:1px solid #cbd2d8;border-radius:10px;background:#fff;font:inherit}.form-stack input:focus,.form-stack select:focus{outline:3px solid rgba(30,91,160,.16);border-color:#1e5ba0}button{padding:13px 18px;border:0;border-radius:10px;background:#17222d;color:#fff;font:inherit;font-weight:750;cursor:pointer}.alert{margin:0 0 22px;padding:13px 15px;border-radius:10px;background:#fbeaec;color:#9b2839}.alert--success{background:#e6f5ed;color:#176d48}.topbar{display:flex;align-items:center;justify-content:space-between;padding:18px clamp(20px,5vw,64px);background:#fff;border-bottom:1px solid #dce1e5}.brand{display:flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#17222d;color:#fff;font-weight:900}.button-secondary{padding:10px 14px;border-radius:10px;background:#edf0f2;color:#26333e;font-weight:700}.admin-shell{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:56px 0}.accounts-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start}.side-card{position:sticky;top:24px;padding:26px;border-radius:18px}.table-card{overflow:auto;border-radius:18px;background:#fff;box-shadow:0 12px 35px rgba(23,34,45,.07)}.table-card.flat{border-radius:12px;box-shadow:none;border:1px solid #e3e7ea}table{width:100%;border-collapse:collapse}th,td{padding:16px 18px;text-align:left;border-bottom:1px solid #e6eaed;white-space:nowrap}td small{display:block;margin-top:5px;color:#78838d}th{color:#687583;font-size:.73rem;text-transform:uppercase;letter-spacing:.08em}.empty-state{padding:24px;color:#687583}.badge{display:inline-block;padding:5px 9px;border-radius:999px;background:#edf0f2;font-size:.74rem;font-weight:800}.badge--active{background:#e6f5ed;color:#176d48}.badge--suspended{background:#fff0d8;color:#905d09}.badge--archived{background:#e7eaed;color:#59636c}.text-link{font-weight:800;color:#1e5ba0}code{font-size:.84rem}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.panel{padding:28px;border-radius:18px}.users-panel{margin-top:24px}.section-heading{display:flex;align-items:center;justify-content:space-between}.section-heading span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#edf0f2;font-weight:800}.danger-form{margin-top:28px;padding-top:24px;border-top:1px solid #e5e8eb}.button-danger{background:#b72f43}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px}.stats article,.stats a{display:grid;gap:8px;padding:28px;border-radius:18px;background:#fff;box-shadow:0 12px 35px rgba(23,34,45,.07)}.stats strong{font-size:2.4rem}.stats span{color:#687583}@media(max-width:980px){.accounts-layout,.detail-grid{grid-template-columns:1fr}.side-card{position:static}}@media(max-width:700px){.topbar strong{display:none}.admin-shell{width:min(100% - 24px,1180px);padding:32px 0}.stats{grid-template-columns:1fr}}

/* Phase 1F-A — point d'entrée et inventaire du CMS d'apparence */
.stats{grid-template-columns:repeat(4,1fr)}
.stats .appearance-card{background:#17222d;color:#fff}.stats .appearance-card span{color:#d7dde2}.stats .appearance-card small{color:#fff}.breadcrumb{display:flex;align-items:center;gap:8px;margin:0 0 32px;color:#687583;font-size:.88rem}.breadcrumb a{font-weight:800;color:#1e5ba0}.appearance-intro{max-width:760px}.appearance-status{display:flex;align-items:center;gap:14px;margin:0 0 24px;padding:16px 18px;border:1px solid #dce1e5;border-radius:14px;background:#fff}.appearance-status p{margin:0;color:#63707d}.appearance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.appearance-section{min-width:0}.appearance-section h2{margin-bottom:22px}.swatch-list{display:grid;gap:12px}.swatch-item{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px;border:1px solid #e3e7ea;border-radius:12px}.swatch{width:42px;height:42px;border:1px solid rgba(23,34,45,.12);border-radius:10px}.swatch--ink{background:#17222d}.swatch--page{background:#eef1f3}.swatch--surface{background:#fff}.swatch--link{background:#1e5ba0}.swatch-item code{color:#687583}.component-preview{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.preview-form{max-width:520px}.type-preview{display:grid;gap:14px}.type-preview h1,.type-preview h2,.type-preview p{margin:0}.type-preview h1{font-size:2.3rem}.type-preview p,.type-preview small{color:#63707d}@media(max-width:900px){.appearance-grid{grid-template-columns:1fr}}@media(max-width:600px){.appearance-status{align-items:flex-start;flex-direction:column}.swatch-item{grid-template-columns:42px 1fr}.swatch-item code{grid-column:2}.component-preview{align-items:stretch;flex-direction:column}.component-preview .text-link{padding:10px 0}}

@media(max-width:980px) and (min-width:701px){.stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.stats{grid-template-columns:1fr}}

/* Phase 2A — création et ouverture d'un projet client */
.stats--client{grid-template-columns:repeat(3,1fr)}@media(max-width:980px) and (min-width:701px){.stats--client{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.stats--client{grid-template-columns:1fr}}

/* Phase 2B — hub des référentiels d'un projet */
.data-shell{width:min(1600px,calc(100% - 32px));margin:0 auto;padding:42px 0 70px}.data-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.data-filters{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(180px,1fr) minmax(180px,1fr) auto auto;align-items:end;gap:12px;margin:30px 0 18px;padding:18px;border-radius:16px;background:#fff;box-shadow:0 10px 28px rgba(23,34,45,.06)}.data-filters label{display:grid;gap:7px;font-size:.82rem;font-weight:750}.data-filters input,.data-filters select{width:100%;padding:11px;border:1px solid #cbd2d8;border-radius:9px;background:#fff;font:inherit}.editable-table{overflow:auto;max-height:65vh;border-radius:16px;background:#fff;box-shadow:0 12px 35px rgba(23,34,45,.08)}.editable-table table{width:max-content;min-width:100%}.editable-table th{position:sticky;top:0;z-index:2;background:#17222d;color:#fff}.editable-table th:first-child,.editable-table td:first-child{position:sticky;left:0;z-index:1;background:#f3f5f6}.editable-table th:first-child{z-index:3;background:#17222d}.editable-table th span,.editable-table th small{display:block}.editable-table th small{margin-top:4px;color:#aebac4;font-size:.68rem;text-transform:none}.editable-table td{padding:5px}.editable-table td:first-child{padding:12px;color:#687583;font-weight:750}.editable-table input{width:170px;padding:9px;border:1px solid transparent;border-radius:7px;background:transparent;font:inherit}.editable-table input:focus{outline:2px solid rgba(30,91,160,.22);border-color:#1e5ba0;background:#fff}.editable-table input[readonly]{color:#687583}.editable-table tr:hover td{background:#f8fafb}.editable-table tr:hover td:first-child{background:#edf1f3}.editable-table .row-error td{background:#fff0f1}.table-actions{display:flex;justify-content:flex-end;margin:16px 0 24px}.pagination{display:flex;flex-wrap:wrap;gap:7px;margin:18px 0}.pagination a{display:grid;place-items:center;min-width:38px;height:38px;padding:0 10px;border-radius:9px;background:#fff;font-weight:750}.pagination a.current{background:#17222d;color:#fff}.finalize-panel{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:28px;padding:26px 28px;border:2px solid #17222d;border-radius:18px;background:#fff}.finalize-panel h2{margin-bottom:8px}.finalize-panel p:last-child{margin:0;color:#63707d}.next-step-panel form,.next-step-panel .button-link{margin-top:20px}@media(max-width:1050px){.data-filters{grid-template-columns:1fr 1fr}.data-filters button,.data-filters>a{width:100%}}@media(max-width:700px){.data-shell{width:min(100% - 20px,1600px);padding:28px 0}.data-heading,.finalize-panel{align-items:flex-start;flex-direction:column}.data-filters{grid-template-columns:1fr}.finalize-panel form,.finalize-panel button{width:100%}}
.referential-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:36px}.referential-card{display:flex;min-height:280px;flex-direction:column;align-items:flex-start;padding:28px;border-radius:20px;background:#fff;box-shadow:0 12px 35px rgba(23,34,45,.07);transition:transform .18s ease,box-shadow .18s ease}.referential-card:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(23,34,45,.12)}.referential-card h2{margin:24px 0 10px}.referential-card>p{margin:0 0 24px;color:#63707d}.referential-card dl{display:flex;gap:24px;margin:auto 0 24px}.referential-card dl div{display:grid;gap:4px}.referential-card dt{color:#78838d;font-size:.75rem;font-weight:750;text-transform:uppercase}.referential-card dd{margin:0;font-size:1.3rem;font-weight:850}.referential-card strong{color:#1e5ba0}.choice-card--primary{transition:transform .18s ease,box-shadow .18s ease}.choice-card--primary:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(23,34,45,.12)}.file-input{padding:11px!important}.file-input::file-selector-button{margin-right:12px;padding:9px 12px;border:0;border-radius:8px;background:#edf0f2;color:#26333e;font:inherit;font-weight:750;cursor:pointer}.privacy-note{margin:2px 0;padding:15px 17px;border-radius:12px;background:#edf4f8;color:#536675;font-size:.88rem}.source-summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:22px;margin-top:38px;padding:28px;border-radius:20px;background:#fff;box-shadow:0 12px 35px rgba(23,34,45,.07)}.source-summary h2,.source-summary p{margin:0}.source-summary .eyebrow{margin-bottom:7px}.source-summary p:last-child{margin-top:7px;color:#63707d}.source-icon{display:grid;place-items:center;width:66px;height:66px;border-radius:16px;background:#17222d;color:#fff;font-size:.82rem;font-weight:900}.next-step-panel{margin-top:22px;padding:30px;border:1px dashed #cbd2d8;border-radius:20px;background:rgba(255,255,255,.58)}.next-step-panel h2{margin-bottom:10px}.next-step-panel>p:not(.eyebrow){margin:0;color:#63707d}@media(max-width:900px){.referential-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.referential-grid{grid-template-columns:1fr}.source-summary{grid-template-columns:auto 1fr}.source-summary>.badge{grid-column:1/-1;justify-self:start}}
.module-card--next{transition:transform .18s ease,box-shadow .18s ease}.module-card--next:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(23,34,45,.12)}.referentials-heading{align-items:flex-end;gap:24px}.referentials-heading .intro{margin-bottom:0}.referential-empty{margin-top:36px;padding:clamp(42px,8vw,86px) 24px;border:1px dashed #cbd2d8;border-radius:20px;background:rgba(255,255,255,.6);text-align:center}.empty-icon{display:grid;place-items:center;width:56px;height:56px;margin:0 auto 22px;border-radius:16px;background:#17222d;color:#fff;font-size:1.35rem;font-weight:900}.referential-empty h2{margin-bottom:12px}.referential-empty p{max-width:620px;margin:0 auto 26px;color:#63707d}.referential-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:38px}.choice-card{min-height:300px;padding:32px;border-radius:20px;background:#fff;box-shadow:0 12px 35px rgba(23,34,45,.07)}.choice-card h2{margin:30px 0 12px}.choice-card p{margin:0;color:#63707d}.choice-card--primary{border:2px solid #17222d}.choice-card--disabled{opacity:.62}.choice-status{display:block;margin-top:42px;color:#687583;font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}@media(max-width:760px){.referentials-heading{align-items:flex-start;flex-direction:column}.referential-choices{grid-template-columns:1fr}}
.button-link{display:inline-flex;align-items:center;justify-content:center;padding:13px 18px;border-radius:10px;background:#17222d;color:#fff;font-weight:750}.projects-section{margin-top:48px}.projects-heading{margin-bottom:20px}.projects-heading h2{margin:0}.project-empty{padding:clamp(28px,5vw,52px);border:1px dashed #cbd2d8;border-radius:18px;background:rgba(255,255,255,.58);text-align:center}.project-empty h3{margin:0 0 10px;font-size:1.35rem}.project-empty p{max-width:610px;margin:0 auto 24px;color:#63707d}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.project-card{display:flex;min-height:220px;flex-direction:column;align-items:flex-start;padding:25px;border-radius:18px;background:#fff;box-shadow:0 12px 35px rgba(23,34,45,.07);transition:transform .18s ease,box-shadow .18s ease}.project-card:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(23,34,45,.12)}.project-card h3{margin:22px 0 8px;font-size:1.3rem}.project-card p{display:-webkit-box;overflow:hidden;margin:0 0 24px;color:#63707d;-webkit-box-orient:vertical;-webkit-line-clamp:3}.project-card strong{margin-top:auto;color:#1e5ba0}.project-form-shell{max-width:860px}.project-form-panel{margin-top:28px}.form-stack textarea{width:100%;resize:vertical;padding:13px;border:1px solid #cbd2d8;border-radius:10px;background:#fff;font:inherit}.form-stack textarea:focus{outline:3px solid rgba(30,91,160,.16);border-color:#1e5ba0}.form-stack label small{color:#78838d;font-weight:500}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:8px}.button-link-secondary{display:inline-flex;align-items:center;justify-content:center}.project-description{max-width:760px}.project-modules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:42px}.module-card{min-height:230px;padding:28px;border-radius:18px;background:#fff;box-shadow:0 12px 35px rgba(23,34,45,.07)}.module-card h2{margin:24px 0 10px}.module-card p{margin:0;color:#63707d}.module-card--next{border:2px solid #17222d}.module-card--disabled{opacity:.65}.module-status{display:inline-block;margin-top:28px;color:#687583;font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}@media(max-width:900px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.projects-heading{align-items:flex-start;flex-direction:column;gap:16px}.project-grid,.project-modules{grid-template-columns:1fr}.form-actions{align-items:stretch;flex-direction:column-reverse}.form-actions button,.form-actions a{width:100%}}
