
:root{--ink:#122336;--muted:#657687;--line:#e5eaf0;--bg:#f4f7fa;--card:#fff;--brand:#007e83;--dark:#10263a;--teal:#0eaa9c;--light:#e9f8f5;--danger:#b63348;--amber:#bb7814;--shadow:0 4px 30px rgba(18,44,69,.035);--r:16px;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-size:14px}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:#047f83;text-decoration:none}a:hover{text-decoration:underline}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #70d5cd;outline-offset:2px}
.layout{display:flex;min-height:100vh}.sidebar{width:245px;position:sticky;top:0;height:100vh;flex:none;background:#12283d;color:#d5e5ec;display:flex;flex-direction:column;padding:24px 13px;z-index:21}.brand{display:flex;align-items:center;gap:12px;padding:5px 12px 26px}.brand-mark{width:41px;height:41px;border-radius:13px;background:linear-gradient(145deg,#1ed1c0,#0b8b99);display:grid;place-items:center;color:#fff;font-size:26px;box-shadow:0 7px 23px #04a7ad42}.brand strong{color:#fff;display:block;font-size:17px;letter-spacing:.25px}.brand small{font-size:11px;display:block;opacity:.68;margin-top:3px}.nav-label{font-size:10px;letter-spacing:1.8px;color:#8fa9bb;font-weight:800;padding:14px 14px 8px}.nav-item{display:flex;align-items:center;width:100%;gap:12px;padding:12px 13px;border:none;border-radius:10px;background:transparent;color:#cad9e2;text-align:left;margin:1px 0;font-weight:560}.nav-item svg{width:19px;height:19px;flex:none;stroke-width:1.8}.nav-item:hover{background:#203c53;color:white}.nav-item.active{background:#1b5966;color:#fff;box-shadow:inset 3px 0 #23d5c1}.nav-item .nav-count{margin-left:auto;background:#31536b;border-radius:7px;padding:2px 6px;font-size:11px;font-weight:700;color:#fff}.sidebar-bottom{margin-top:auto;padding:14px 8px 0;border-top:1px solid #325066}.sidebar-bottom .profile{display:flex;gap:10px;align-items:center}.avatar{height:34px;width:34px;display:grid;place-items:center;background:#23576c;border-radius:11px;color:#9be9da;font-weight:800}.profile small{display:block;font-size:11px;color:#9bb1c1;margin-top:3px}.main{flex:1;min-width:0}.topbar{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:21px 35px;background:rgba(255,255,255,.88);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10;backdrop-filter:blur(12px)}.topbar-title{display:flex;align-items:center;gap:12px}.topbar-title strong{font-size:16px}.topbar-title span{font-size:12px;color:var(--muted);display:block;margin-top:3px}.top-actions{display:flex;align-items:center;gap:9px}.content{padding:30px 35px 70px;max-width:1510px;margin:auto}.page-top{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:23px}.eyebrow{text-transform:uppercase;letter-spacing:1.5px;font-size:11px;font-weight:800;color:var(--brand);margin-bottom:8px}.page-top h1{font-size:clamp(24px,3vw,32px);line-height:1.18;margin:0 0 8px;letter-spacing:-.8px}.sub{color:var(--muted);margin:0;line-height:1.65}.btn{border:1px solid var(--line);background:#fff;border-radius:10px;color:#273c4d;font-weight:680;min-height:38px;padding:9px 14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;transition:.15s}.btn:hover{border-color:#92c9c5;background:#f6fcfb}.btn svg{height:17px;width:17px}.btn.primary{background:var(--brand);color:#fff;border-color:var(--brand);box-shadow:0 6px 15px #04878820}.btn.primary:hover{background:#00676c}.btn.subtle{background:#f1f6f7}.btn.danger{color:var(--danger);border-color:#efd0d4}.btn.small{min-height:30px;padding:6px 10px;font-size:12px;border-radius:8px}.btn.ghost{border-color:transparent;background:transparent}.iconbtn{border:1px solid var(--line);background:#fff;width:38px;height:38px;border-radius:10px;display:grid;place-items:center}.iconbtn svg{height:19px;width:19px}.hamb{display:none}.card{background:var(--card);border:1px solid #e7edf2;border-radius:var(--r);box-shadow:var(--shadow)}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:22px}.kpi{padding:20px 19px;min-height:134px;position:relative;overflow:hidden}.kpi .kpi-title{font-size:12px;color:var(--muted);font-weight:670}.kpi .kpi-val{font-size:31px;letter-spacing:-1.3px;font-weight:800;margin:12px 0 5px;line-height:1}.kpi .kpi-foot{font-size:11px;color:#8593a0}.kpi .kpi-icon{position:absolute;right:16px;top:17px;color:#a6d3d1;background:#f1faf9;width:36px;height:36px;border-radius:11px;display:grid;place-items:center}.kpi .kpi-icon svg{height:19px;width:19px}.kpi.rose .kpi-icon{color:#d96e83;background:#fff2f4}.kpi.amber .kpi-icon{color:#c89a3c;background:#fff7e9}.kpi.blue .kpi-icon{color:#6899c7;background:#eff7ff}.section-grid{display:grid;grid-template-columns:1.65fr 1fr;gap:18px;align-items:start}.panel{padding:21px}.panel-title{font-size:16px;font-weight:780;letter-spacing:-.25px;margin:0}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.muted{color:var(--muted)}.tiny{font-size:11px}.small-text{font-size:12px}.notice{display:flex;align-items:flex-start;gap:11px;padding:14px 16px;border-radius:12px;background:#edf8f7;color:#315d5e;line-height:1.5;border:1px solid #cfebe8;margin:0 0 20px}.notice svg{height:19px;width:19px;flex:none;color:#06968e}.notice.warn{background:#fff9ed;color:#795522;border-color:#f5e6c5}.notice.warn svg{color:#b17b1c}.notice a{font-weight:700}.list-row{display:flex;gap:11px;align-items:flex-start;padding:13px 0;border-bottom:1px solid #edf0f4}.list-row:last-child{border-bottom:0}.list-main{min-width:0;flex:1}.list-main b{font-size:13px}.list-main .desc{color:#697c88;font-size:12px;line-height:1.55;margin-top:5px}.pill{border-radius:20px;padding:5px 9px;font-size:11px;font-weight:730;display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.pill.open{color:#a82742;background:#fce9ed}.pill.check{color:#99651b;background:#fff1d5}.pill.run{color:#1666a2;background:#e6f2fd}.pill.wait{color:#8554a6;background:#f4eafb}.pill.done{color:#177456;background:#e0f6ec}.pill.neutral{color:#627284;background:#edf1f5}.numchip{background:#e8f6f5;color:#086a70;font-size:12px;font-weight:800;padding:7px 9px;border-radius:9px;min-width:34px;text-align:center}.table-wrap{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:12.5px}.data-table th{text-align:left;white-space:nowrap;padding:12px 14px;color:#718293;background:#f7f9fb;font-size:11px;letter-spacing:.2px;font-weight:790;border-bottom:1px solid var(--line)}.data-table td{padding:13px 14px;border-bottom:1px solid #edf0f4;vertical-align:middle}.data-table tbody tr{transition:background .14s}.data-table tbody tr:hover{background:#f7fbfb}.data-table tbody tr:last-child td{border-bottom:0}.data-table b{font-weight:750}.data-table .clickrow{cursor:pointer}.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:16px}.field,.input,.select,.textarea{border:1px solid #dbe3e9;border-radius:9px;background:white;color:var(--ink);padding:10px 11px;width:100%;min-height:40px;outline:none}.input:focus,.select:focus,.textarea:focus{border-color:#0f9797;box-shadow:0 0 0 3px #10b1a314}.textarea{resize:vertical;min-height:84px}.filters .input{flex:2;min-width:190px}.filters .select{flex:1;min-width:160px;max-width:235px}.meta-line{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.helper-tag{display:inline-block;background:#f0f4f7;padding:4px 8px;border-radius:6px;color:#597083;font-size:11px;font-weight:650}.equip-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.equip{padding:18px;text-align:left;border:1px solid #e5ecf1;background:#fff;border-radius:14px;cursor:pointer;min-height:155px;transition:all .15s}.equip:hover{border-color:#6bbeb8;box-shadow:0 7px 25px #0f444417;transform:translateY(-1px)}.equip .e-icon{height:31px;width:31px;border-radius:10px;background:#ebf6f6;display:grid;place-items:center;color:#007d81;margin-bottom:14px}.equip .e-icon svg{width:19px;height:19px}.equip strong{font-size:15px}.equip .info{margin:5px 0 11px;color:var(--muted);font-size:11px}.equip .end{display:flex;justify-content:space-between;gap:5px;align-items:center}.equip .end .pill{font-size:10px}.equip .end small{color:#8a98a3}.guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.code-card{padding:20px}.code-head{display:flex;align-items:center;gap:9px;margin-bottom:10px}.code-head code{font-weight:850;font-size:20px;letter-spacing:.4px;color:#086a75}.code-head span{margin-left:auto}.code-card p{line-height:1.58;color:#556d7b;font-size:12.5px}.code-card ul{padding-left:19px;color:#44596b;font-size:12px;line-height:1.7}.code-card li{margin-bottom:3px}.money{font-variant-numeric:tabular-nums;white-space:nowrap}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px}.stat-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:17px 0}.stat-strip .card{padding:15px}.stat-strip strong{display:block;font-size:21px;margin-top:8px}.stat-strip small{color:var(--muted)}.empty{text-align:center;padding:44px 20px;color:#778998}.empty svg{height:36px;width:36px;color:#8cbab7}.empty h3{color:var(--ink);font-size:16px;margin:12px 0 5px}.empty p{margin:0 auto 12px;max-width:380px;line-height:1.6}.overlay{position:fixed;inset:0;background:#0b22346e;z-index:50;display:flex;justify-content:flex-end}.drawer{background:#fff;width:min(635px,100%);height:100%;overflow-y:auto;box-shadow:-15px 0 45px #081b2a25;display:flex;flex-direction:column}.drawer-head{display:flex;align-items:start;justify-content:space-between;padding:23px 26px 20px;border-bottom:1px solid var(--line);position:sticky;top:0;background:white;z-index:2}.drawer-head h2{font-size:22px;letter-spacing:-.6px;margin:2px 0 4px}.drawer-body{padding:24px 26px 35px;flex:1}.drawer-foot{padding:15px 26px;border-top:1px solid var(--line);background:#fff;position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:10px;z-index:2}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.fg{margin-bottom:15px}.fg label{display:block;font-size:12px;font-weight:760;color:#4d6475;margin-bottom:7px}.fg .hint{color:#8694a1;font-size:11px;margin-top:6px}.form-grid .fg{margin-bottom:0}.form-section{font-weight:850;letter-spacing:.2px;font-size:13px;margin:26px 0 14px;padding-top:20px;border-top:1px solid var(--line)}.code-help{margin:12px 0 3px;padding:14px;background:#f2f9f8;border:1px solid #d6ebe9;border-radius:11px;font-size:12px;line-height:1.65}.code-help strong{display:block;color:#176c6c;margin-bottom:4px}.cost-preview{background:#edf9f6;border-radius:12px;padding:14px 17px;color:#126e68;display:flex;justify-content:space-between;gap:10px;align-items:center}.cost-preview strong{font-size:21px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.detail-box{background:#f7f9fb;padding:14px;border-radius:10px}.detail-box small{display:block;color:#778794;margin-bottom:6px}.detail-box strong{font-size:13px}.timeline{border-left:2px solid #d5e9e7;margin-left:8px;padding-left:22px}.timeline-item{position:relative;padding:0 0 21px}.timeline-item:before{content:"";position:absolute;left:-30px;top:4px;width:12px;height:12px;background:#fff;border:3px solid #0aa697;border-radius:50%}.timeline-item small{color:#85929d}.timeline-item h4{margin:5px 0;font-size:13px}.timeline-item p{margin:0;color:#6a7a89;font-size:12px;line-height:1.6}.alert-mini{background:#fff6e7;color:#765b2b;border:1px solid #f0dfb8;padding:12px 14px;border-radius:10px;font-size:12px;line-height:1.65}.subheading{font-size:12px;color:#788999;font-weight:760;text-transform:uppercase;letter-spacing:1.1px;margin:22px 0 11px}.mobile-scrim{display:none}.toast{position:fixed;bottom:22px;right:25px;background:#1a4851;color:#fff;padding:12px 18px;border-radius:11px;box-shadow:0 9px 35px #163d5366;font-size:13px;z-index:100;opacity:0;transform:translateY(8px);transition:.25s;pointer-events:none}.toast.show{opacity:1;transform:translateY(0)}.settings-card{padding:20px;margin-bottom:16px}.settings-card h3{margin:0 0 8px;font-size:16px}.settings-card p{line-height:1.6;color:var(--muted)}.footer-note{font-size:11px;color:#8593a2;margin-top:25px}.technical svg{width:16px;height:16px;vertical-align:middle;margin-right:4px}.technical{border:1px solid #eee1d0;border-radius:12px;padding:14px 16px;background:#fffaf4;color:#705a3b;font-size:12px;line-height:1.6}.printonly{display:none}
@media(max-width:1250px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.equip-grid{grid-template-columns:repeat(3,1fr)}.section-grid{grid-template-columns:1fr}.guide-grid{grid-template-columns:1fr 1fr}}@media(max-width:940px){.sidebar{position:fixed;left:0;top:0;bottom:0;transform:translateX(-105%);transition:.2s}.sidebar.mobileopen{transform:translateX(0)}.mobile-scrim.shown{display:block;position:fixed;inset:0;background:#0d243b88;z-index:20}.hamb{display:grid}.topbar{padding:17px 22px}.content{padding:25px 22px 60px}}@media(max-width:650px){.topbar-title span{display:none}.topbar-title strong{font-size:14px}.top-actions .export-btn{display:none}.content{padding:19px 14px 70px}.topbar{padding:13px}.btn{font-size:12px;padding:8px 10px}.page-top{align-items:start}.page-top h1{font-size:25px}.kpi-grid{gap:9px}.kpi{padding:15px 13px;min-height:112px}.kpi .kpi-title{font-size:11px;max-width:110px}.kpi .kpi-val{font-size:26px}.kpi .kpi-foot{font-size:10px}.kpi .kpi-icon{right:9px;top:9px;width:30px;height:30px}.panel{padding:15px}.guide-grid{grid-template-columns:1fr}.equip-grid{grid-template-columns:repeat(2,1fr);gap:9px}.equip{min-height:133px;padding:12px}.equip .e-icon{margin-bottom:10px}.two-cols{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr;gap:14px}.form-grid .fg{margin-bottom:0}.drawer-head,.drawer-body{padding-left:18px;padding-right:18px}.drawer-foot{padding:13px 17px}.filters .select{max-width:none;min-width:125px}.stat-strip{grid-template-columns:1fr 1fr}.stat-strip .card:last-child{grid-column:span 2}}@media print{.sidebar,.topbar,.page-top .btn,.filters,.no-print,.drawer,.overlay{display:none!important}.content{padding:10px}.card{break-inside:avoid}.main{width:100%}body{background:#fff}}

/* PWA cloud sync */
.auth-page{min-height:100vh;display:flex;justify-content:center;align-items:center;padding:24px;background:radial-gradient(circle at 30% 20%,#d9f3ee,#f3f7fa 48%)}.auth-card{background:#fff;border:1px solid #dce9e7;max-width:425px;width:100%;padding:36px;border-radius:22px;box-shadow:0 22px 70px #12364d1c}.auth-logo{height:70px;width:70px;display:grid;place-items:center;color:white;font-size:36px;border-radius:22px;background:linear-gradient(150deg,#06b7a4,#067d85);margin-bottom:19px}.auth-card h1{font-size:28px;letter-spacing:-.8px;margin:0}.auth-card p{line-height:1.6;color:#667888;margin:9px 0 27px}.auth-card label{display:block;font-weight:700;margin-bottom:8px}.auth-card .input{font-size:17px}.auth-card .btn{width:100%;margin-top:16px}.auth-error{color:#a52946;margin-top:14px;min-height:20px}.sync-label{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:#27795f;white-space:nowrap}.sync-label::before{content:"";background:#25ad83;width:7px;height:7px;border-radius:100%}.sync-label.pending{color:#9b6f2b}.sync-label.pending::before{background:#e8a22b}.sync-label.error{color:#b02e48}.sync-label.error::before{background:#bf3b4f}.auth-secondary{text-align:center;color:#778995;font-size:12px;margin-top:25px}.cloud-alert{background:#fff5e3;color:#754e14;border:1px solid #f1d8a4;padding:12px 15px;border-radius:10px;margin:0 0 15px}.sidebar-bottom .btn.logout{width:100%;margin-top:13px;background:#234459;color:#d5eef0;border-color:#2e5867}.sidebar-bottom .btn.logout:hover{background:#306077} @media(max-width:600px){.sync-label{display:none}.auth-card{padding:25px}}

/* V2 — Epuré, conçu d'abord pour exploiter les incidents du quotidien */
:root{--bg:#f6f8fa;--ink:#152a37;--muted:#6f7e89;--brand:#087e75;--line:#e7ecee;--shadow:0 3px 23px rgba(15,42,60,.03)}
[hidden]{display:none!important}
.sidebar{width:220px;background:#fbfcfd;color:#263d4a;border-right:1px solid #e1e9ea;padding:20px 10px}
.brand{padding:5px 10px 29px}.brand-mark{background:linear-gradient(145deg,#0bb6a0,#067369);height:36px;width:36px;border-radius:11px;font-size:0}.brand-mark svg{height:21px;width:21px}.brand strong{color:#17323b;font-size:16px}.brand small{opacity:1;color:#768c94;font-size:11px}
.nav-label{color:#98a7af;padding:13px 12px 7px}.nav-item{color:#536976;border-radius:10px;padding:12px 11px;margin:2px 0;font-weight:650}.nav-item:hover{background:#eaf3f2;color:#0b695f}.nav-item.active{background:#e0f4f0;color:#09685f;box-shadow:none}.nav-item .nav-count{background:#f6e7e9;color:#af3544}
.side-more{border-top:1px solid #e6eff1;margin-top:15px;padding-top:10px}.side-more summary{color:#647d87;font-size:12px;font-weight:750;padding:10px 12px;cursor:pointer}.side-more[open] summary{color:#0d7268}
.sidebar-bottom{border-top:1px solid #e5ebed}.profile strong{color:#203a47}.profile small{color:#798d95}.avatar{color:#0b736c;background:#d9f3ed}.sidebar-bottom .btn.logout{color:#536976;background:#f7faf9;border-color:#e0e8e9}
.main{min-width:0}.topbar{background:#fff;min-height:68px;padding:14px 25px;border-bottom:1px solid #edf0f1}.topbar-title strong{color:#243b47}.topbar-title span{color:#92a2aa;font-size:11px}.content{max-width:1350px;margin:auto;padding:28px 32px 80px}.btn.primary{background:#0b8278;color:white;border-color:#0b8278}.btn.primary:hover{background:#08685e}.btn{font-weight:690}.btn.plain{border:0;background:transparent;color:#08766c;padding:9px}.btn svg{flex-shrink:0}
.card{border:1px solid #e7eef0;box-shadow:0 4px 20px rgba(16,51,65,.032)}.lite-home{display:flex;flex-direction:column;gap:16px}.lite-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 0 3px}.lite-hero h1{font-size:clamp(26px,2.55vw,36px);letter-spacing:-1.25px;margin:5px 0 5px;line-height:1.12}.lite-hero p{margin:0;color:#72828b;font-size:13px}.hero-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.hero-actions button{min-height:43px}.lite-summary,.lite-incidents{padding:20px 22px}.summary-title{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:14px}.summary-title h2,.lite-section-title h2{margin:0;font-size:17px;letter-spacing:-.4px}.family-rows{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.family-row{border:1px solid #e6ebed;background:#fff;display:flex;align-items:center;gap:11px;padding:13px 14px;border-radius:13px;text-align:left;min-width:0}.family-row:hover,.family-row.selected{background:#f1fbf8;border-color:#a6dacf}.family-row-icon{display:grid;place-items:center;background:#e7f6f2;color:#067970;height:35px;width:35px;flex-shrink:0;border-radius:10px}.family-row-icon svg{height:19px;width:19px}.family-row-label{display:flex;flex-direction:column;gap:2px;min-width:0}.family-row-label strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.family-row-label small{font-size:11px;color:#7a8b93}.family-row>svg{height:13px;width:13px;color:#829ca2;margin-left:2px;flex-shrink:0}.family-count{display:flex;gap:5px;align-items:center;white-space:nowrap;font-size:12px;font-weight:780;margin-left:auto;color:#51646d}.dot{width:7px;height:7px;border-radius:50%;display:inline-block;vertical-align:middle;background:#a3b0b8;flex-shrink:0}.dot.red{background:#d64b5b}.dot.amber{background:#ecac38}.dot.green{background:#25a583}.dot.muted{background:#afbac2}.status-legend{margin:12px 0 0;font-size:10.5px;display:flex;gap:7px;flex-wrap:wrap;align-items:center;color:#899ba3}.status-legend span{margin-left:auto}.lite-section-title{display:flex;align-items:center;justify-content:space-between;gap:15px}.lite-section-title h2{font-size:19px}.lite-section-title p{font-size:12px;color:#8a9aa1;margin:5px 0 0}.count-tag{background:#fae7eb;color:#ad3a50;font-size:12px;border-radius:10px;padding:2px 7px;margin-left:6px;vertical-align:3px}.issue-tools{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin:17px 0 13px}.tiny-tab{border:1px solid #e2e8ea;border-radius:100px;padding:8px 12px;background:white;color:#536c78;font-size:12px;font-weight:670;line-height:1.1}.tiny-tab.active,.tiny-tab:hover{background:#e8f7f3;border-color:#b5ded3;color:#006f65}.issue-list{border-top:1px solid #edf1f2}.issue-row{width:100%;display:grid;grid-template-columns:44px minmax(0,1fr) auto 132px 16px;gap:12px;align-items:center;border:none;border-bottom:1px solid #eef2f3;text-align:left;padding:13px 0;background:transparent;color:inherit;min-height:76px}.issue-row:hover{background:#fafcfb}.issue-row:last-child{border-bottom:none}.issue-id{background:#e6f5f1;color:#08766b;font-size:15px;font-weight:790;min-width:42px;text-align:center;padding:11px 5px;border-radius:10px}.issue-main{min-width:0}.issue-title{font-size:13px;font-weight:780;line-height:1.35}.issue-detail{color:#8a9aa3;font-size:11px;line-height:1.4;margin-top:5px}.code-tag{display:inline-block;font-size:10px;border-radius:5px;background:#f0f3f5;color:#667983;font-weight:780;padding:3px 5px;margin-left:4px}.issue-cost{text-align:right;white-space:nowrap}.issue-cost small{display:block;color:#8b9ca3;font-size:10px;margin-bottom:4px}.issue-cost b{font-size:12px;font-weight:780}.issue-status .pill{font-size:11px}.issue-row>svg{height:15px;width:15px;color:#a5b4bc}.lite-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:2px 5px}.lite-footer div{display:flex;flex-direction:column;gap:4px}.lite-footer b{color:#405864;font-size:12px}.lite-footer span{color:#8495a0;font-size:11px}
.page-top{gap:12px}.page-top .btn{margin-left:7px}.page-top h1{letter-spacing:-.8px}.family-tabs{display:flex;gap:10px;flex-wrap:wrap}.family-pill{background:#fff;border:1px solid #e2ebed;border-radius:12px;padding:12px 15px;min-width:160px;display:flex;align-items:center;gap:9px;color:#48606c;font-weight:760}.family-pill svg{height:20px;width:20px;color:#0e8b7e}.family-pill.selected{background:#e8f7f4;border-color:#a9d9cf;color:#006b61}.lite-panel{padding:22px}.equip-tools{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:10px}.equip-tools .input{max-width:315px}.equip-group{margin:18px 0 0;border-top:1px solid #edf0f2;padding-top:16px}.equip-group-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.equip-group-head h3{font-size:14px;margin:0 0 11px}.equip-group-head span{font-size:11px;color:#83939a}.lite-equip-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.equip-tile{background:#fff;border:1px solid #e5eeef;border-radius:12px;padding:13px;display:flex;gap:9px;align-items:center;text-align:left;min-width:0}.equip-tile:hover{border-color:#aad8cc;background:#fcfffe}.equip-tile.state-panne{border-left:3px solid #d65968}.equip-tile.state-attention{border-left:3px solid #f1ad3d}.tile-number{font-size:14px;font-weight:800;color:#066b60;background:#e7f5f0;border-radius:8px;padding:9px;min-width:37px;text-align:center}.tile-body{min-width:0;flex:1}.tile-body strong,.tile-body small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tile-body strong{font-size:12px}.tile-body small{font-size:10px;color:#84949f;margin-top:4px}.tile-health{color:#768b92;font-size:10px;line-height:1.3;white-space:nowrap}.tile-health .dot{margin-right:3px}.intervention-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,1fr);gap:16px;align-items:start}.tech-check{display:flex;align-items:center;gap:8px;padding:10px 0;cursor:pointer}.tech-check input,.tech-select-row input{accent-color:#057f74;width:18px;height:18px;flex-shrink:0}.tech-rows{max-height:63vh;overflow:auto}.tech-subhead{color:#4b6974;font-size:12px;margin:18px 0 8px;text-transform:uppercase;letter-spacing:.7px}.tech-select-row{display:flex;align-items:center;gap:11px;padding:10px 3px;border-bottom:1px solid #edf2f2;cursor:pointer}.tech-row-main{display:flex;flex-direction:column;gap:4px;min-width:0}.tech-row-main strong{font-size:13px}.tech-row-main small{font-size:11px;color:#8495a0}.tech-message{margin:14px 0;background:#f8fbfb;border:1px solid #e5efee;border-radius:10px;font-family:inherit;font-size:11.7px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;padding:17px;max-height:56vh;overflow:auto;color:#294451}.tech-actions{display:flex;flex-direction:column;gap:9px}.tech-actions button{width:100%;justify-content:center}.tech-preview>.panel-head{margin-bottom:0}.advanced-details{margin-top:20px;border-top:1px solid #e9eef0;padding-top:16px}.advanced-details summary{cursor:pointer;font-size:13px;font-weight:780;color:#08766e;margin-bottom:18px}.advanced-details .fg{margin-bottom:15px}.simple-top{display:flex;align-items:end;gap:8px}.simple-top>.fg{flex:1}.simple-top>.btn{margin-bottom:15px;white-space:nowrap;min-height:40px}
.bottom-nav{display:none}
@media(max-width:1230px){.family-rows{grid-template-columns:1fr}.family-row{padding:12px}.lite-equip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:940px){.content{padding:22px 22px 85px}.sidebar{box-shadow:12px 0 32px #12253320}.sidebar.mobileopen{z-index:32}.bottom-nav{position:fixed;bottom:0;left:0;right:0;display:flex;z-index:15;align-items:center;justify-content:space-around;background:#fffffff7;box-shadow:0 -6px 30px #17373911;border-top:1px solid #e2eaec;padding:8px 8px calc(8px + env(safe-area-inset-bottom))}.bottom-nav button{border:0;background:transparent;color:#7c9097;display:flex;flex-direction:column;gap:3px;align-items:center;font-size:10px;font-weight:770;min-width:53px}.bottom-nav svg{height:20px;width:20px}.bottom-nav button.active{color:#087d71}.bottom-nav .bottom-add{width:45px;height:45px;display:grid;place-items:center;min-width:45px;border-radius:14px;background:#087c71;color:white;margin-top:-20px;box-shadow:0 5px 16px #076f6140}.bottom-nav .bottom-add svg{width:24px;height:24px}.intervention-layout{grid-template-columns:1fr}.tech-rows{max-height:none}.tech-message{max-height:370px}}
@media(max-width:650px){.content{padding:16px 13px 95px}.topbar{min-height:56px}.lite-home{gap:11px}.lite-hero{align-items:start;flex-direction:column;gap:12px}.lite-hero h1{font-size:25px}.lite-hero p{font-size:11px}.hero-actions{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:8px}.hero-actions .btn{justify-content:center;min-height:46px;padding:9px 7px;line-height:1.25;white-space:normal}.hero-actions .btn svg{width:16px;height:16px}.lite-summary,.lite-incidents,.lite-panel{padding:15px 14px}.summary-title{margin-bottom:10px}.family-rows{grid-template-columns:1fr;gap:6px}.family-row{min-height:58px;padding:8px 10px}.family-row-icon{width:32px;height:32px}.family-row-label strong{font-size:12px}.status-legend{font-size:10px}.lite-section-title{align-items:start}.lite-section-title h2{font-size:17px}.lite-section-title p{font-size:10px}.lite-section-title .btn{font-size:10px;padding:7px;max-width:125px;white-space:normal;line-height:1.4}.issue-tools{gap:4px;margin:12px 0 9px}.tiny-tab{font-size:10px;padding:8px}.issue-row{grid-template-columns:36px minmax(0,1fr) 18px;gap:8px;padding:11px 0;min-height:69px}.issue-id{min-width:35px;padding:9px 4px;font-size:13px}.issue-title{font-size:12px}.issue-detail{font-size:10px}.issue-status{grid-column:2;grid-row:2;margin-top:-5px}.issue-cost{grid-column:3;grid-row:1;display:none}.issue-row>svg{grid-column:3;grid-row:1}.issue-list .issue-row{grid-template-rows:auto auto}.lite-footer{align-items:start;flex-direction:column}.lite-footer span{line-height:1.5}.equip-tools .input{max-width:none}.family-pill{flex:1;min-width:0;padding:10px 8px;gap:5px;font-size:11px;justify-content:center}.family-pill svg{width:18px;height:18px;flex-shrink:0}.family-pill span{line-height:1.2}.lite-equip-grid{grid-template-columns:1fr}.tile-health{font-size:10px}.tech-message{font-size:11px;line-height:1.6}.simple-top{display:block}.simple-top>.btn{margin-bottom:18px;width:100%;justify-content:center}.page-top{flex-wrap:wrap}.page-top .btn{margin-left:0}.top-actions .export-btn{display:none}}
@media(max-width:380px){.family-count{font-size:11px}.family-row-label strong{font-size:11px}.hero-actions{grid-template-columns:1fr}.family-pill{font-size:10px;padding:9px 5px}}


.mobile-price{display:none}
@media(max-width:650px){.mobile-price{display:block;font-weight:700;color:#466572;margin-top:5px}}
.tech-contact{display:grid;grid-template-columns:1fr 150px auto;gap:8px;align-items:center;margin-top:15px}.tech-contact label{font-size:11px;color:#667f88;font-weight:780}.tech-contact .select{grid-column:2}.tech-contact .btn{grid-column:3}@media(max-width:650px){.tech-contact{grid-template-columns:1fr auto}.tech-contact label{grid-column:1 / -1}.tech-contact .select{grid-column:1}.tech-contact .btn{grid-column:2}}

/* V3 — compact, calm and readable on every screen */
:root{--bg:#f7f9fa;--ink:#132e40;--brand:#07867c;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body{font-size:15px}.brand-mark,.auth-logo{background:#08877c;box-shadow:none}.auth-page{background:#f7f9fa}.btn,.btn.small,.iconbtn,.input,.select,.tiny-tab,.nav-item{min-height:44px}.input,.select,.textarea{font-size:16px}.btn.primary{box-shadow:none}.eyebrow{font-size:10px;letter-spacing:1.4px}.lite-hero h1{font-weight:650;letter-spacing:-1.1px}.lite-hero p{line-height:1.6}.lite-hero{margin-bottom:8px}.card{box-shadow:0 2px 10px #102c3d04}.family-rows{grid-template-columns:repeat(3,minmax(0,1fr))}.family-row{flex-wrap:wrap;gap:10px;padding:16px;align-content:start}.family-row-label{flex:1}.family-row-label strong{font-size:14px}.family-row-label small{font-size:12px}.family-count{width:100%;display:grid;grid-template-columns:1fr;gap:7px;margin:2px 0 0 45px;font-size:12px;font-weight:500}.family-row>svg{display:none}.family-count span{display:block}.family-row.selected{border-color:#269d90;background:#f0faf7}.status-legend{font-size:11px;color:#637c87;gap:9px}.status-legend span{margin-left:0}.lite-footer{display:none}.issue-title{font-size:14px}.issue-detail{color:#617988;font-size:12px}.issue-row.priority .issue-id{border-left:3px solid #bd4155;background:#fff3f4;color:#98374a}.issue-cost b{font-size:12px}.pill.open{background:#fff2d9;color:#8c641d}.pill.run{background:#e8f2ff;color:#25659e}.issue-row:has(.pill.done){opacity:.9}.lite-equip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tile-body strong{font-size:13px}.tile-health{white-space:normal;font-size:11px;max-width:100px}.tech-message{font-size:13px;line-height:1.65;max-height:65vh}.btn:disabled{cursor:default;opacity:.45}.sync-label{display:inline-flex!important;font-size:11px}.tech-check{min-height:44px}.page-top .sub{max-width:620px}.drawer{width:min(680px,100%)}.drawer-head .iconbtn{flex:none}.drawer-body p{overflow-wrap:anywhere}.drawer-foot{padding-bottom:max(16px,env(safe-area-inset-bottom))}.overlay .drawer>form{display:flex;flex-direction:column;flex:1}.tech-select-row{min-height:60px}.side-more:has(.nav-item.active){border-color:#47afa0}.side-more:has(.nav-item.active) .nav-item.active{display:flex}.bottom-nav button{min-height:44px}.topbar-title span{display:none}.auth-logo{display:none}.auth-card{box-shadow:0 8px 40px #1735440a}.page-top{align-items:center}.page-top h1{font-weight:650}.lite-section-title .btn{white-space:normal}.summary-title .small-text{font-size:11px}
@media(max-width:1180px){.family-rows{grid-template-columns:1fr}.family-row{flex-wrap:nowrap;padding:13px}.family-count{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 0 auto;width:auto;justify-content:flex-end}.family-row-label{min-width:130px}.lite-equip-grid{grid-template-columns:1fr}}
@media(max-width:650px){.content{padding:20px 14px 100px}.hero-actions{display:flex}.hero-actions .btn{width:100%;font-size:14px;min-height:48px}.lite-hero h1{font-size:28px}.lite-hero p{font-size:13px}.family-row{flex-wrap:wrap;padding:13px}.family-row-label{min-width:0}.family-count{width:100%;justify-content:flex-start;margin-left:0;gap:8px;font-size:11px}.family-row-icon{width:32px;height:32px}.family-row-label strong{font-size:13px}.family-row-label small{font-size:11px}.status-legend span{width:100%}.issue-row{padding:15px 0;gap:8px}.issue-title{font-size:13px}.issue-detail{font-size:11px}.issue-status{margin-top:0}.tiny-tab{font-size:11px}.family-pill{min-height:48px}.sync-label{max-width:125px;white-space:normal;line-height:1.4}.topbar{gap:8px}.topbar-title strong{font-size:13px}.lite-section-title{flex-wrap:wrap}.lite-section-title .btn{max-width:none;font-size:12px}.drawer-head{padding:18px}.drawer-head h2{font-size:21px}.drawer-body{padding:20px 18px}.drawer-foot{flex-wrap:wrap}.drawer-foot .btn{min-height:44px}.form-grid{grid-template-columns:1fr}.summary-title{align-items:start}.summary-title h2{font-size:17px}.tile-health{max-width:90px}.tech-contact{grid-template-columns:minmax(0,1fr) auto}.family-pill span{overflow-wrap:anywhere}.tech-message{font-size:12px}.btn{white-space:normal}.page-top{gap:10px}.data-table{min-width:650px}.table-wrap{max-width:100%}.auth-card{padding:25px}.bottom-nav{box-shadow:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.issue-row.confirmed .issue-id{background:#fff0f2;color:#ab3247}.issue-row.confirmed .pill.open{background:#fce9ed;color:#a82742}
