:root{--bg:#f5f7fa;--card:#fff;--text:#2c3e50;--muted:#6b7c93;--accent:#00aeef;--accent-dark:#0499d1;--accent-2:#2ecc71;--border:#e3e8ef;--shadow:0 10px 30px #00000014;--header-shadow:0 8px 22px #0a283747;--radius:18px;--maxw:1100px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#12181d;--card:#1b2329;--text:#e7ebef;--muted:#93a1ab;--accent:#1c8fc2;--accent-dark:#146c96;--border:#2a343c;--shadow:0 10px 30px #00000059;--header-shadow:0 8px 22px #00000073}}:root[data-theme=dark]{--bg:#12181d;--card:#1b2329;--text:#e7ebef;--muted:#93a1ab;--accent:#1c8fc2;--accent-dark:#146c96;--border:#2a343c;--shadow:0 10px 30px #00000059;--header-shadow:0 8px 22px #00000073}*{box-sizing:border-box}html{scroll-behavior:smooth}html,body{background:var(--bg);color:var(--text);margin:0;padding:0;font:16px/1.6 system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Helvetica Neue,Arial}a{color:var(--accent);text-decoration:none}a:hover{opacity:.9}.container{max-width:var(--maxw);margin:0 auto;padding:0 20px}header{z-index:40;color:#fff;box-shadow:var(--header-shadow);background:linear-gradient(#0e6f90 0%,#0c5f7a 100%);position:sticky;top:0}.nav{justify-content:space-between;align-items:center;padding:16px 0;display:flex}.brand{align-items:center;display:flex}.nav a:not(.cta),.nav button{color:#e7f7ff;cursor:pointer;font-weight:600;font:inherit;background:0 0;border:none;margin:0 10px}.theme-toggle{opacity:.85;justify-content:center;align-items:center;padding:0;display:inline-flex}.theme-toggle:hover{opacity:1}.theme-toggle svg{stroke:#e7f7ff;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:19px;height:19px}.btn,.cta{background:linear-gradient(180deg, var(--accent), var(--accent-dark));color:#fff;cursor:pointer;border:0;border-radius:999px;padding:10px 18px;font-size:15px;font-weight:700;line-height:1.2;display:inline-block;box-shadow:0 6px 16px #00aeef59}.btn.secondary,.cta.secondary{border:2px solid var(--accent);color:var(--accent-dark);box-shadow:none;background:0 0}.hero{color:#fff;background:linear-gradient(#0c5f7a 0%,#0a4e64 100%);padding:56px 0 64px}.hero h1{margin:0 0 10px;font-size:clamp(28px,5vw,44px);line-height:1.15}.hero p{color:#d8f3ff;margin:0 0 24px;font-size:clamp(16px,2.5vw,20px)}main{flex:1}.app-main{padding:40px 0}section{padding:56px 0;scroll-margin-top:120px}.cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px}.card h3{margin:10px 0 8px;font-size:20px}.muted{color:var(--muted)}.pricing{grid-template-columns:1fr 1fr;gap:18px;display:grid}.price-card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px}.price{color:var(--accent);font-size:32px;font-weight:800}.price-unit{font-size:14px;font-weight:600}.list{margin:10px 0 0;padding:0;list-style:none}.list li{align-items:flex-start;gap:10px;margin:10px 0;display:flex}.note{color:var(--muted);font-size:14px}.contact{justify-content:center;gap:18px;padding:0 10px;display:flex}.info{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px}.info.callout{background:var(--card);min-height:180px;box-shadow:var(--shadow);border:none;flex-direction:column;justify-content:space-between;gap:14px;display:flex}.info.callout h3{margin:0}.info .row{align-items:center;gap:10px;margin:10px 0;display:flex}.pill{color:#0a4e64;background:#e8fbff;border:1px solid #b7f0ff;border-radius:999px;padding:4px 10px;font-weight:700;display:inline-block}footer{color:#8aa5b5;text-align:center;padding:30px 0}.stack{flex-direction:column;gap:14px;display:flex}.field label{margin-bottom:6px;font-weight:700;display:block}input,textarea,select{border:1px solid var(--border);width:100%;font:inherit;background:var(--card);color:var(--text);border-radius:12px;padding:12px 14px}textarea{resize:vertical;min-height:120px}.form-actions{gap:10px;margin-top:14px;display:flex}fieldset{border:0;margin:22px 0 4px;padding:0}legend{margin-bottom:10px;padding:0;font-size:15px;font-weight:700}.option-group{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;display:grid}.option-item{display:block;position:relative}.option-item input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;padding:0;position:absolute;inset:0}.option-label{border:1px solid var(--border);background:var(--card);border-radius:12px;flex-direction:column;gap:3px;padding:12px 14px 13px 42px;transition:all .15s;display:flex;position:relative}.option-label:before{content:"";background:var(--card);border:2px solid #a6b7c9;border-radius:50%;width:17px;height:17px;transition:all .15s;position:absolute;top:calc(50% - 9px);left:14px}.option-label strong{font-size:15px}.option-label small{color:var(--muted);font-size:12.5px}.option-item:hover .option-label{border-color:#b7dff3}.option-item input:focus-visible+.option-label{box-shadow:0 0 0 3px #00aeef40}.option-item input:checked+.option-label{border-color:var(--accent);background:#00aeef14;box-shadow:0 6px 16px #00aeef26}.option-item input:checked+.option-label:before{border-color:var(--accent);background:radial-gradient(circle at center, var(--accent) 50%, transparent 52%)}.option-group--service{grid-template-columns:repeat(2,minmax(0,1fr))}.option-group--service .option-label{border-radius:10px;padding:10px 12px 10px 38px}.option-group--service .option-label strong{font-size:13.5px}.option-group--service .option-label small{font-size:11.5px;display:block}.option-group--service .option-label:before{width:14px;height:14px;top:calc(50% - 7px);left:13px}.field-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.field-row .field{margin:0}@media (max-width:600px){.field-row,.option-group--service{grid-template-columns:1fr}}.error{color:#c0392b;font-weight:600}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);padding:10px 12px}.status-badge{color:#0a4e64;background:#e8fbff;border-radius:999px;padding:4px 10px;font-size:13px;font-weight:700;display:inline-block}.doc-filters{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.doc-chip{border:1px solid var(--border);background:var(--card);color:var(--text);cursor:pointer;border-radius:999px;padding:6px 12px;font-size:12.5px;font-weight:700}.doc-chip.active{background:var(--accent);color:#fff;border-color:var(--accent)}.status-pill{color:#6b7c93;background:#eceff3;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700;display:inline-block}.status-pill.status-envoye,.status-pill.status-emise{color:#0a84c4;background:#e8f5fd}.status-pill.status-accepte,.status-pill.status-payee{color:#1f9d5a;background:#e6f7ee}.status-pill.status-refuse,.status-pill.status-annulee{color:#c0392b;background:#fbe9e7}.status-pill.status-en_retard{color:#b8720a;background:#fdf1e0}.message{border:1px solid var(--border);border-radius:12px;padding:12px 14px}.message.admin{background:#eefaf1}.message .meta{color:var(--muted);margin-bottom:4px;font-size:13px}.hint{color:var(--muted);margin-top:6px;font-size:12.5px;display:block}.photo-picker{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:10px;display:grid}.photo-thumb{aspect-ratio:1;border:1px solid var(--border);border-radius:10px;position:relative;overflow:hidden}.photo-thumb img{object-fit:cover;width:100%;height:100%;display:block}.photo-thumb .remove{color:#fff;cursor:pointer;background:#0f1721a6;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;padding:0;display:flex;position:absolute;top:4px;right:4px}.photo-thumb .remove svg{width:11px;height:11px}.photo-add{aspect-ratio:1;border:1.5px dashed var(--border);color:var(--accent-dark);cursor:pointer;font:inherit;text-align:center;background:0 0;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:4px;font-size:11.5px;font-weight:700;display:flex}.photo-add:hover{border-color:var(--accent)}.photo-add svg{width:20px;height:20px}.attachments{flex-direction:column;gap:6px;margin-top:10px;display:flex}.attachment{border:1px solid var(--border);color:var(--text);border-radius:8px;align-items:center;gap:8px;padding:8px 10px;font-size:13px;text-decoration:none;display:flex}.attachment:hover{border-color:var(--accent)}.attachment svg{width:15px;height:15px;color:var(--accent-dark);flex:none}.attachment .name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.attachment .size{color:var(--muted);flex:none;font-size:11.5px}@media (max-width:980px){.cards{grid-template-columns:1fr 1fr}.pricing{grid-template-columns:1fr}.contact{padding:0}}@media (max-width:560px){.nav a:not(.brand):not(.cta),.nav button{display:none}.cards{grid-template-columns:1fr}.hero{padding:40px 0 54px}}
