:root{font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#172437;background:#f4f6f9}*{box-sizing:border-box}body{margin:0;line-height:1.55}.wrap{width:min(1040px,calc(100% - 32px));margin:auto}header{background:#fff;border-bottom:1px solid #d9e0e8}.header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0}h1{font-size:1.8rem}h2{font-size:1.15rem}main{padding:30px 0}a{color:#164a85}button{background:#124774;color:white;border:0;border-radius:8px;padding:12px 18px;cursor:pointer;font:inherit}.outline{background:white;color:#124774;border:1px solid #124774}.login{max-width:440px;margin:9vh auto;background:#fff;border-radius:16px;padding:32px;box-shadow:0 6px 22px #1a35511a}.login form{display:grid;gap:10px}label{font-weight:600;margin-top:12px}input{width:100%;font:inherit;padding:11px;border:1px solid #8999aa;border-radius:8px}input:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid #ffb700;outline-offset:3px}.error{border-left:4px solid #b3261e;padding:10px;background:#fff1f0}.note{background:#e9f1f9;padding:12px;border-radius:8px}.table-scroll{overflow-x:auto}table{background:white;border-collapse:collapse;width:100%;min-width:700px}th,td{border-bottom:1px solid #e0e5ea;padding:13px;text-align:left}th{background:#e9edf2}.question{background:#fff;border:1px solid #e1e5eb;padding:20px;margin:16px 0;border-radius:12px}.muted,small{color:#526273}@media(max-width:600px){.login{margin:24px auto;padding:22px}}
.hero{padding:32px 0 8px}.hero h1{font-size:clamp(2rem,5vw,3rem)}.stack{display:grid;gap:10px;max-width:430px}.survey-form{max-width:790px}fieldset.question{min-width:0}legend{font-size:1.15rem;padding:0 4px}.option{display:flex;align-items:start;gap:12px;padding:12px;border:1px solid #dbe3ec;border-radius:10px;margin:8px 0;font-weight:normal;cursor:pointer}.option input{width:auto;margin:6px 0 0;accent-color:#124774}textarea{font:inherit;width:100%;max-width:100%;border:1px solid #8999aa;border-radius:8px;padding:12px}.option:focus-within{outline:2px solid #f1ad12}

/* PHASE 11 — IDENTITÉ VISUELLE CAMBRAI / QUIZZ */
:root{--cs-blue:#09569c;--cs-navy:#202a3e;--cs-soft:#f2f5f9;--cs-yellow:#f0bb40}
body{background:var(--cs-soft)}
.cs-admin .cs-topbar{height:64px;padding:8px 22px;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:16px;box-shadow:0 2px 8px #18315214;position:relative;z-index:1}
.cs-brand{display:flex;align-items:center;gap:20px;text-decoration:none;color:#075599}.cs-brand img{width:110px;height:44px;object-fit:contain}.cs-brand span{display:flex;flex-direction:column;line-height:1.1}.cs-brand strong{font-size:1.35rem}.cs-brand small{font-size:.69rem;color:#69768b;margin-top:4px}
.cs-identity{display:flex;align-items:center;gap:14px}.cs-identity span{display:flex;flex-direction:column;align-items:flex-end;font-size:.8rem}.cs-identity small{font-size:.65rem;font-weight:750;color:#09569c;letter-spacing:.06em}.cs-identity form{margin:0}.cs-identity button{padding:9px 12px;font-size:.8rem}
.cs-shell{display:grid;grid-template-columns:208px minmax(0,1fr);min-height:calc(100vh - 64px)}.cs-sidebar{background:var(--cs-navy);padding:16px 10px;display:flex;flex-direction:column;gap:5px}.cs-sidebar a{display:block;padding:10px 12px;border-radius:7px;color:#d9e2f0;text-decoration:none;font-size:.9rem}.cs-sidebar a:hover,.cs-sidebar a:focus-visible{background:#34435b;color:#fff}.cs-sidebar a.active{background:var(--cs-blue);color:#fff;border-left:3px solid var(--cs-yellow)}
.cs-main{padding:24px;min-width:0}.cs-main-inner{max-width:1280px;margin:auto}.cs-main h1{margin-top:0}.cs-dashboard-hero{min-height:190px;display:flex;align-items:center;padding:25px;border-radius:14px;background:linear-gradient(90deg,rgba(5,54,103,.96),rgba(7,65,116,.82) 51%,rgba(7,65,116,.22)),url('hotel-de-ville.jpg') center 41%/cover;color:#fff}.cs-hero-content{max-width:620px}.cs-dashboard-hero h1{font-size:2rem;margin:8px 0}.cs-dashboard-hero p{margin:0}.cs-eyebrow{font-size:.7rem;letter-spacing:.1em;font-weight:800}.cs-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0 22px}.cs-kpi{background:#fff;border:1px solid #e4e9f1;border-radius:12px;min-height:116px;padding:15px;box-shadow:0 4px 18px #1a35510b;display:flex;flex-direction:column}.cs-kpi small{color:#59708b;font-size:.68rem;letter-spacing:.06em;font-weight:800}.cs-kpi strong{color:#123963;font-size:2rem}.cs-kpi span{color:#69768b;font-size:.75rem}
.cs-main table{border-radius:11px;overflow:hidden;box-shadow:0 4px 18px #1a35510b}.cs-main th{background:#edf3fa;font-size:.8rem}.cs-main .question{box-shadow:0 3px 12px #1a35510b}
.cs-public-logo{height:42px;max-width:140px;object-fit:contain;margin-right:16px}.hero{min-height:190px;border-radius:14px;color:#fff;padding:32px;background:linear-gradient(90deg,rgba(5,54,103,.94),rgba(5,54,103,.55)),url('hotel-de-ville.jpg') center 41%/cover}.hero h1{margin-top:0}.hero p{max-width:630px}.cs-admin .note{border-left:3px solid var(--cs-blue)}
@media(max-width:850px){.cs-shell{grid-template-columns:1fr}.cs-sidebar{display:flex;flex-direction:row;overflow-x:auto;padding:8px}.cs-sidebar a{white-space:nowrap}.cs-main{padding:15px}.cs-kpis{grid-template-columns:repeat(2,1fr)}.cs-identity span{display:none}}
@media(max-width:480px){.cs-brand img{width:85px}.cs-brand strong{font-size:1rem}.cs-topbar{padding:8px!important}.cs-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.cs-dashboard-hero{min-height:210px}}
