/* Styles centralisés des vues de l’espace client authentifié. */

/* Source : templates/espace_client/connexion.html.twig */
:root{ --p-bg:#fff; --p-surface:#fff; --p-ink:#121417; --p-soft:#5C5C66; --p-line:#E4E4E9;
			--p-accent:#FFFFFF; --p-accent-soft:rgba(255,255,255,.10); --p-dark:#121417; --p-pill:999px;
			--p-sans:-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif; }
		*{box-sizing:border-box} html,body{margin:0;padding:0;height:100%}
		body{font-family:var(--p-sans);color:var(--p-ink);background:var(--p-bg);-webkit-font-smoothing:antialiased}
		.portal{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}
		/* --- Gauche : connexion --- */
		.p-left{display:flex;flex-direction:column;justify-content:center;padding:clamp(28px,5vw,64px);max-width:520px;width:100%;margin:0 auto}
		.p-logo{display:flex;align-items:center;justify-content:center;width:100%;margin:0 auto 32px}
		.p-logo img{display:block;width:146px;height:auto;max-width:44vw;object-fit:contain}
		.p-h{font-size:clamp(26px,4vw,32px);font-weight:800;letter-spacing:-.02em;margin:0 0 6px}
		.p-sub{color:var(--p-soft);margin:0 0 28px}
		.p-label{display:block;font-size:13px;font-weight:700;color:var(--p-soft);margin:0 0 7px}
		.p-input{width:100%;font-family:inherit;font-size:16px;padding:14px 16px;border:1px solid var(--p-line);border-radius: var(--ec-radius-control, 10px);background:var(--p-surface);color:var(--p-ink)}
		.p-input:focus{outline:none;border-color:var(--p-dark);box-shadow:0 0 0 3px rgba(18,20,23,.08)}
		.p-btn{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;font-family:inherit;font-weight:800;font-size:15px;border:none;cursor:pointer;padding:15px;border-radius:var(--p-pill);background:var(--p-dark);color:#fff;transition:opacity .15s}
		.p-btn:hover{opacity:.92}
		.p-btn.ghost{background:var(--p-surface);color:var(--p-ink);border:1px solid var(--p-line)}
		.p-or{display:flex;align-items:center;gap:12px;margin:20px 0;color:#6B6E76;font-size:13px}
		.p-or>span{flex:1;height:1px;background:var(--p-line)}
		.p-err{background:#FDE7E8;color:var(--ec-danger);border-radius: var(--ec-radius);padding:12px 14px;font-size:14px;font-weight:600;margin-bottom:18px}
		.p-foot{margin-top:28px;padding-top:18px;border-top:1px solid var(--p-line);text-align:center}
		.p-foot a{color:var(--p-soft);font-size:13px;font-weight:700;text-decoration:none}
		.p-foot a:hover{color:var(--p-ink)}
		/* --- Droite : vitrine de marque --- */
		.p-right{position:relative;overflow:hidden;background:radial-gradient(120% 120% at 80% 10%, #1c1f26 0%, #121417 55%, #0b0c0f 100%);color:#fff;display:flex;flex-direction:column;justify-content:center;padding:clamp(32px,5vw,72px)}
		.p-right .orb{position:absolute;border-radius:50%;filter:blur(50px);opacity:.5}
		.p-right .orb1{width:340px;height:340px;background:#fff;top:-70px;right:-60px;opacity:.07;animation:float1 14s ease-in-out infinite}
		.p-right .orb2{width:260px;height:260px;background:#fff;bottom:-40px;left:-30px;opacity:.04;animation:float2 18s ease-in-out infinite}
		@keyframes float1{0%,100%{transform:translate(0,0)}50%{transform:translate(-24px,24px)}}
		@keyframes float2{0%,100%{transform:translate(0,0)}50%{transform:translate(20px,-20px)}}
		.p-right .inner{position:relative;z-index:2;max-width:440px}
		.p-eyebrow{font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--p-accent);margin:0 0 14px}
		.p-claim{font-size:clamp(26px,3.4vw,38px);font-weight:800;line-height:1.12;letter-spacing:-.02em;margin:0 0 26px;text-wrap:balance}
		.p-benes{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}
		.p-benes li{display:flex;align-items:flex-start;gap:13px;font-size:15px;color:#e7e7e5}
		.p-benes .bi{flex:0 0 34px;width:34px;height:34px;border-radius: var(--ec-radius-control, 10px);background:rgba(255,255,255,.10);color:#fff;display:grid;place-items:center}
		@media (max-width:860px){ .portal{grid-template-columns:1fr} .p-right{display:none} }

/* Source : templates/espace_client/echanges.html.twig */
.ec-com-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(290px,.75fr);gap:18px;align-items:start}
	.ec-thread{display:flex;flex-direction:column;gap:12px;max-height:610px;overflow:auto;padding:4px 4px 18px}
	.ec-msg{display:flex;gap:10px;max-width:84%}.ec-msg.client{align-self:flex-end;flex-direction:row-reverse}.ec-msg.conseiller,.ec-msg.systeme{align-self:flex-start}
	.ec-msg-av{width:34px;height:34px;border-radius:50%;flex:0 0 34px;background:var(--ec-ink);color:var(--ds-primary-text,var(--ec-surface));display:grid;place-items:center;font-size:12px;font-weight:800}
	.ec-msg.client .ec-msg-av{background:var(--ec-accent);color:#171717}.ec-msg-bubble{background:var(--ec-bg);border:1px solid var(--ec-line);border-radius:var(--ec-radius-xs, 4px) var(--ec-radius) var(--ec-radius) var(--ec-radius);padding:11px 13px;min-width:0}
	.ec-msg.client .ec-msg-bubble{background:var(--ec-ink);color:var(--ds-primary-text,var(--ec-surface));border-color:var(--ec-ink);border-radius:var(--ec-radius) var(--ec-radius-xs, 4px) var(--ec-radius) var(--ec-radius)}.ec-msg p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.ec-msg-meta{display:block;font-size:11px;color:var(--ec-muted);margin-top:6px}.ec-msg.client .ec-msg-meta{color:#b9bbc1}
	.ec-rdv{display:flex;gap:10px;align-items:flex-start;margin-bottom:7px;font-weight:800}.ec-rdv i{color:var(--ec-ink);margin-top:2px}.ec-rdv-status{display:inline-flex;padding:2px 8px;border:1px solid var(--ec-line);border-radius:var(--ec-pill);font-size:11px;font-weight:800;background:var(--ec-surface);color:var(--ec-ink)}.ec-rdv-status.accepte{background:var(--ec-ok);color:#fff;border-color:var(--ec-ok)}.ec-rdv-status.refuse{background:var(--ec-danger);color:#fff;border-color:var(--ec-danger)}
	.ec-rdv-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.ec-rdv-actions form{margin:0}.ec-rdv-actions .ec-btn{min-height:36px;padding:7px 12px;font-size:12px}
	.ec-compose{border-top:1px solid var(--ec-line);padding-top:16px;margin-top:8px}.ec-compose textarea{resize:vertical;min-height:92px}.ec-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
	.ec-empty-thread{text-align:center;padding:54px 22px;color:var(--ec-muted)}.ec-empty-thread i{font-size:28px;margin-bottom:12px;color:var(--ec-accent)}
	.ec-thread-filters{display:flex;align-items:center;gap:8px;margin:0 0 14px;padding:5px;border:1px solid var(--ec-line);border-radius:13px;background:var(--ec-bg)}.ec-thread-filter{min-height:36px;padding:7px 11px;border:0;border-radius:9px;background:transparent;color:var(--ec-muted);font:inherit;font-size:11px;font-weight:800;cursor:pointer}.ec-thread-filter.is-active{background:var(--ec-ink);color:var(--ds-primary-text,var(--ec-surface))}.ec-thread-project{min-height:36px;min-width:160px;margin-left:auto;padding:6px 30px 6px 10px;border:1px solid var(--ec-line);border-radius:9px;background:var(--ds-surface,var(--ec-surface));color:var(--ec-ink);font:inherit;font-size:11px;font-weight:700}.ec-thread-empty-filter{padding:36px 16px;text-align:center;color:var(--ec-muted);font-size:13px}
	@media(max-width:850px){.ec-com-layout{grid-template-columns:1fr}.ec-thread{max-height:none}.ec-msg{max-width:94%}}
	@media(max-width:560px){.ec-form-grid{grid-template-columns:1fr}.ec-msg{max-width:100%}.ec-thread-filters{align-items:stretch;display:grid;grid-template-columns:repeat(3,1fr)}.ec-thread-project{grid-column:1/-1;width:100%;margin-left:0}.ec-thread-filter{padding-inline:5px}}

/* Source : templates/espace_client/projet.html.twig */
.pj-top{display:flex;align-items:center;gap:16px;margin-bottom:20px}
	.pj-top a.back{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;border-radius:12px;color:var(--ec-muted);font-size:20px}
	.pj-top a.back:hover{background:var(--ec-surface-2);color:var(--ec-ink)}
	.pj-bar{flex:1;height:8px;border-radius: var(--ec-pill);background:var(--ec-line);overflow:hidden}
	.pj-bar>i{display:block;height:100%;width:0;background:var(--ec-accent);border-radius: var(--ec-pill);transition:width .3s ease}
	.pj-count{font-size:13px;font-weight:800;color:var(--ec-muted);font-variant-numeric:tabular-nums;white-space:nowrap}
	.pj-temps{font-size:12px;color:var(--ec-muted);white-space:nowrap}
	.pj-q{font-size:clamp(20px,4.5vw,26px);font-weight:800;letter-spacing:-.02em;margin:0 0 6px;text-wrap:balance}
	.pj-aide{color:var(--ec-ink-soft);margin:0 0 22px}
	.pj-page-intro{color:var(--ec-ink-soft);margin:0 0 24px;max-width:720px}
	.pj-page-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 28px}
	.pj-question{min-width:0;padding:0 0 20px;border-bottom:1px solid var(--ec-line)}
	.pj-question.wide{grid-column:1/-1}
	.pj-question-title{display:flex;align-items:flex-start;gap:6px;font-size:16px;font-weight:800;line-height:1.35;margin:0 0 6px}
	.pj-question-title .required{color:var(--ec-accent)}
	.pj-question .pj-aide{font-size:13px;margin-bottom:12px}
	.pj-question.has-error{border-bottom-color:#c0271b}
	.pj-question.has-error .pj-question-title{color:#c0271b}
	.pj-question.has-error .pj-address::after{content:'Sélectionnez une adresse dans les suggestions officielles pour synchroniser la rue, le code postal et la ville.';grid-column:1/-1;color:#c0271b;font-size:12px;font-weight:700}
	.pj-question .pj-opts{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
	.pj-question .pj-opt{min-height:68px;border-radius:14px;padding:12px 13px;font-size:14px}
	.pj-question .pj-field{max-width:none}
	.pj-question .pj-field input{font-size:16px}
	.pj-opts{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px}
	.pj-opt{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr) 22px;align-items:center;gap:12px;text-align:left;background:var(--ds-surface,var(--ec-surface));border:1.5px solid var(--ec-line);
		border-radius: var(--ec-radius);padding:14px;font-family:inherit;font-size:15px;font-weight:750;color:var(--ec-ink);cursor:pointer;
		box-shadow:0 1px 0 rgba(0,0,0,.02);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease}
	.pj-opt:hover{border-color:#b8b8bf;box-shadow:0 9px 24px rgba(0,0,0,.07);transform:translateY(-2px)}
	.pj-opt:focus-visible{outline:2px solid var(--ec-ink);outline-offset:3px}
	.pj-opt.on{border-color:var(--ec-ink);background:var(--ds-surface,var(--ec-surface));color:var(--ec-ink);box-shadow:0 0 0 1px var(--ec-ink),0 10px 28px rgba(0,0,0,.09)}
	.pj-opt .ic{width:42px;height:42px;flex:0 0 42px;border:1px solid var(--ec-line);border-radius:12px;background:var(--ec-surface-2);display:grid;place-items:center;color:var(--ec-ink);font-size:16px}
	.pj-opt .label{min-width:0;line-height:1.25}
	.pj-opt .mark{width:21px;height:21px;border:1.5px solid #c7c7cc;border-radius:50%;display:grid;place-items:center;color:transparent;font-size:9px;transition:background .16s,border-color .16s,color .16s}
	.pj-opt.on .ic{background:var(--ec-ink);border-color:var(--ec-ink);color:var(--ds-primary-text,var(--ec-surface))}
	.pj-opt.on .mark{background:var(--ec-ink);border-color:var(--ec-ink);color:var(--ds-primary-text,var(--ec-surface))}
	.pj-field{display:flex;align-items:center;gap:10px;background:var(--ec-surface);border:1.5px solid var(--ec-line);border-radius: var(--ec-radius-control, 10px);padding:6px 14px;max-width:360px}
	.pj-field input{flex:1;border:none;outline:none;background:transparent;font-family:inherit;font-size:20px;font-weight:700;color:var(--ec-ink);padding:12px 0;width:100%}
	.pj-field .suf{font-weight:800;color:var(--ec-muted)}
	.pj-address{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(120px,.55fr) minmax(150px,.8fr);gap:10px;max-width:760px}.pj-address .ec-input{height:52px;font-size:16px;font-weight:700}
	.pj-review{display:grid;gap:10px}.pj-review-row{display:grid;grid-template-columns:minmax(180px,.9fr) minmax(0,1.1fr);gap:18px;padding:13px 0;border-bottom:1px solid var(--ec-line)}.pj-review-row dt{color:var(--ec-muted);font-size:13px;font-weight:700}.pj-review-row dd{margin:0;font-weight:750}.pj-review-note{display:flex;gap:12px;align-items:flex-start;background:var(--ec-surface-2);border:1px solid var(--ec-line);border-radius:12px;padding:12px 14px;margin:16px 0}
	.pj-actions{display:flex;align-items:center;gap:16px;margin-top:26px}
	.pj-skip{min-height:42px;padding:8px 13px;background:transparent;border:1px solid var(--ec-line);border-radius: var(--ec-pill);color:var(--ec-ink-soft);font-family:inherit;font-weight:700;font-size:14px;cursor:pointer;text-decoration:none}
	.pj-skip:hover{background:var(--ec-surface-2);color:var(--ec-ink)}
	.pj-hint{color:var(--ec-muted);font-size:12.5px;margin-top:16px}
	@media(max-width:760px){.pj-page-grid{grid-template-columns:1fr}.pj-question.wide{grid-column:auto}}
	@media(max-width:650px){.pj-address,.pj-review-row{grid-template-columns:1fr}.pj-address{gap:8px}.pj-review-row{gap:4px}.pj-top{gap:9px}.pj-temps{display:none}.pj-question .pj-opts{grid-template-columns:1fr 1fr}.pj-question .pj-opt{min-height:66px}}
	@media(max-width:420px){.pj-question .pj-opts{grid-template-columns:1fr}}
