:root{--blue:#0b3159;--blue2:#075ea8;--bg:#f3f6f9;--green:#13a05a;--red:#e32c2c;--line:#dce4ec;--text:#10243a}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;background:var(--bg);color:var(--text)}header{position:sticky;top:0;z-index:5;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:14px;padding:10px max(16px,calc((100% - 1050px)/2));box-shadow:0 2px 12px #0000000b}header img{width:90px;height:50px;object-fit:contain}header div{display:flex;flex-direction:column;flex:1}header small,.entry small,.project small{color:#65798e}header a{color:var(--blue2);text-decoration:none}.container{max-width:1050px;margin:18px auto;padding:0 14px 40px}.card,.active{background:white;border-radius:18px;padding:18px;margin-bottom:16px;box-shadow:0 5px 22px #1234560d;border:1px solid #e8edf2}.active{background:linear-gradient(145deg,#effbf4,#fff);text-align:center}.active>span{font-size:12px;font-weight:800;color:var(--green);letter-spacing:.08em}.timer{font-size:46px;font-weight:800;margin:18px 0}h1,h2{margin:0 0 14px}h2{font-size:20px}form{display:flex;flex-direction:column;gap:10px}label{font-size:13px;font-weight:650}input,select{width:100%;padding:13px;border:1px solid #cdd9e4;border-radius:11px;background:#fff;font-size:16px}button,.button{border:0;border-radius:11px;background:var(--blue2);color:white;padding:14px;font-weight:750;font-size:15px;text-decoration:none;text-align:center;cursor:pointer}.start{background:var(--green)}.danger{background:var(--red)}.grid{display:grid;grid-template-columns:repeat(2,1fr)}.grid button{grid-column:1/-1}.entry,.project{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 0;border-bottom:1px solid #edf1f4}.entry div,.project div{display:flex;flex-direction:column;gap:4px}.pill{font-size:12px;background:#e8f3ff;color:var(--blue2);padding:5px 9px;border-radius:999px}.muted{color:#718397}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.stats div{background:white;border:1px solid #e8edf2;border-radius:16px;padding:18px;display:flex;flex-direction:column}.stats b{font-size:28px;margin-top:6px}.login-body{min-height:100vh;display:grid;place-items:center;padding:20px;background:linear-gradient(160deg,#eef5fb,#fff)}.login-card{width:min(420px,100%);background:white;border-radius:24px;padding:28px;box-shadow:0 18px 60px #0b315922}.logo{display:block;width:230px;max-height:130px;object-fit:contain;margin:0 auto 18px}.login-card h1,.login-card p{text-align:center}.alert,.success{padding:12px;border-radius:10px;margin:12px 0}.alert{background:#fff0f0;color:#9f1e1e}.success{background:#ebfaf1;color:#167343}@media(max-width:650px){.grid,.stats{grid-template-columns:1fr}.timer{font-size:40px}header img{width:72px}.container{margin-top:12px}.card,.active{border-radius:15px;padding:15px}}/* SELN 2 · réseau, terrain et bilans */
:root{--bg:#eef2f6;--yellow:#f4c735;--blue2:#125794}html{scroll-behavior:smooth;scroll-padding-top:100px}body{font-size:16px;line-height:1.5}button,.button,label{font-size:16px}label{display:flex;flex-direction:column;gap:5px}h1{font-size:32px;letter-spacing:-.03em}h2{font-size:23px}h3{font-size:18px;margin-top:26px}.eyebrow{font-size:12px;font-weight:800;letter-spacing:.09em;color:#52718c;display:block}.page-title{display:flex;align-items:center;justify-content:space-between;margin:30px 0 18px;gap:16px}.badge{display:inline-block;white-space:nowrap;border-radius:8px;background:#e9f1f9;color:#234d74;padding:6px 10px;font-size:13px;font-weight:700}.tabs,.quick-links{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 20px}.tabs a,.quick-links a{color:var(--blue);background:#fff;padding:12px 16px;border:1px solid var(--line);border-radius:12px;text-decoration:none;font-weight:700}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.section-heading h2{margin:0}.section-heading a{font-size:14px;color:var(--blue2)}.record{padding:16px 0;border-top:1px solid var(--line)}.record .project,.record .entry{border:0;padding-top:0}.record.deleted{opacity:.7}.editor{border:1px solid #dbe4ed;border-radius:12px;margin-bottom:12px;background:#f7f9fc}.editor summary{cursor:pointer;padding:14px;color:var(--blue);font-weight:700}.editor form{padding:4px 14px 16px}.check{flex-direction:row;align-items:center}.check input{width:20px;height:20px}.small-button{padding:9px 14px;font-size:14px;align-self:flex-start}.delete-button{background:#fff1f0;color:#a62626;border:1px solid #f1d1cf}.secondary{background:#e9eff5;color:var(--blue)}.filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.export-actions{display:flex;flex-wrap:wrap;gap:10px}.export-actions a{font-size:14px}.report-total{display:flex;align-items:center;justify-content:space-between;background:var(--blue);color:#fff;padding:18px 20px;border-radius:14px;margin-top:20px}.report-total strong{font-size:28px}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}th{background:#eaf0f6;color:#244d72;padding:13px;white-space:nowrap}td{padding:13px;border-bottom:1px solid #e2e9f0}td:last-child{white-space:nowrap;font-weight:700}tr:nth-child(even){background:#f8fafc}.muted{color:#586f83}.full{grid-column:1/-1}button:disabled{opacity:.5;cursor:not-allowed}input:focus,select:focus{outline:3px solid #91b8dd;outline-offset:1px}summary:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid #d4a820;outline-offset:3px}
.field-app{max-width:760px}.field-hero{background:var(--blue);color:#fff;border-radius:24px;padding:26px;margin-bottom:16px;border-bottom:5px solid var(--yellow)}.hero-top{display:flex;align-items:center;justify-content:space-between}.field-hero .eyebrow{color:var(--yellow)}.swiss-mark{display:grid;place-items:center;background:#dc3438;color:#fff;width:30px;height:30px;border-radius:6px;font-size:24px}.field-hero h1{font-size:35px;margin:18px 0 6px}.field-hero p{color:#d2dfeb;margin:0 0 20px}.bolt{color:var(--yellow)}.field-stats{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #45617d;padding-top:18px;gap:20px}.field-stats div{display:flex;flex-direction:column}.field-stats span{font-size:14px;color:#d2dfeb}.field-stats b{font-size:27px;letter-spacing:-.02em}.quick-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.quick-links a{font-size:13px;text-align:center;padding:12px 7px}.timer-card{border-top:4px solid var(--yellow)}.timer-card h2{margin-top:14px}.timer-card .timer{color:var(--blue);font-variant-numeric:tabular-nums;font-size:54px;margin:15px 0 0;text-align:center;letter-spacing:-.04em}.timer-caption{text-align:center;margin:0 0 18px;color:#526c82}.live{background:#e0f4e8;color:#18653e}.start{background:var(--yellow);color:#112c46;box-shadow:0 3px 0 #cca524}.danger{background:#b12e37}.hint{font-size:14px;color:#526c82;margin-bottom:0}.employee .card{padding:23px;border-radius:20px}.timeline-entry{display:flex;gap:15px;align-items:flex-start;padding:19px 0;border-top:1px solid #e3eaf0}.time-range{font-weight:800;color:var(--blue);border-left:3px solid var(--yellow);padding-left:10px}.time-range small{display:block;font-weight:400;font-size:12px;color:#60778b}.entry-main{flex:1;min-width:0}.entry-main b{display:block}.entry-main p{font-size:14px;margin:5px 0;overflow-wrap:anywhere}.entry-main small{font-size:12px;color:#5d7285}.timeline-entry>strong{font-size:14px;white-space:nowrap}.empty{text-align:center;padding:24px 12px}.empty>span{font-size:42px;color:#b48800}.empty p{font-weight:700;margin:0 0 5px}.empty small{color:#60778b}footer{text-align:center;color:#5d7285;font-size:14px;padding:8px 0 24px}footer small{font-size:12px}header a{font-size:14px;white-space:nowrap}
@media(max-width:650px){.page-title{display:block;margin-top:20px}.page-title h1{font-size:28px}.page-title .badge{margin-top:5px}.stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.stats div{padding:12px 8px}.stats small{font-size:11px}.stats b{font-size:20px}.filters{grid-template-columns:1fr}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin .grid{grid-template-columns:1fr}.section-heading{align-items:flex-start}.employee .card{padding:18px}.field-hero{padding:20px}.field-hero h1{font-size:29px}.field-stats b{font-size:24px}.timeline-entry{gap:10px}.timer-card .timer{font-size:46px}header{gap:9px;padding:10px 12px}header img{width:65px}header b{font-size:14px}header small{font-size:11px}.project{align-items:flex-start}.project>div:first-child{min-width:0;overflow-wrap:anywhere}.project>div:last-child{flex-shrink:0;font-size:14px}.tabs a{font-size:14px;padding:10px 12px}}

/* SELN 3 — village électrique */
body{background-color:#eef5f7;background-image:radial-gradient(ellipse at 0 20%,#c9e4e766,transparent 55%),radial-gradient(ellipse at 100% 70%,#fce7bd66,transparent 50%);background-attachment:fixed}
.terrain-scene{display:block;width:100%;height:auto;border-radius:24px;margin:18px 0 24px;border:1px solid #d5e6ec;box-shadow:0 14px 35px #204e6810}
.card{border-radius:24px;box-shadow:0 10px 32px #1037500b;border:1px solid #dce9ef}
.field-hero{background:linear-gradient(125deg,#123750,#175a70);border-radius:26px}
.chantier-picker{display:grid;gap:15px;width:100%}.chantier-picker label{display:grid;gap:8px}.chantier-picker input,.chantier-picker select{width:100%;box-sizing:border-box;min-height:52px}
.category-chips{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.category-chips .badge{background:#e9f4f2;color:#205d5c;border:1px solid #cce5df;padding:9px 13px}
button,.button{border-radius:14px}input:focus,select:focus{outline:3px solid #f1be5a66;border-color:#26718a}
@media(max-width:600px){.terrain-scene{height:160px;object-fit:cover;object-position:center}.container{padding-left:14px;padding-right:14px}.card{padding:20px}.category-chips .badge{font-size:12px}.chantier-picker input{font-size:17px}.field-hero h1{font-size:30px}}
