:root{--ink:#14251f;--muted:#6b7772;--line:#dfe5e1;--surface:#fff;--canvas:#f5f7f4;--green:#176f55;--green-dark:#0f5742;--green-soft:#e6f3ed;--amber:#b86c1b;--amber-soft:#fff1da;--red:#bd4539;--red-soft:#fbe7e4;--blue:#3a6f91;--blue-soft:#e5f0f6;--violet:#70548c;--violet-soft:#eee8f4;--shadow:0 18px 55px #192d2517}*{box-sizing:border-box}html{background:var(--canvas)}body{background:var(--canvas);color:var(--ink);margin:0;font-family:Inter,Segoe UI,Arial,sans-serif}button,input,select{font:inherit}button{color:inherit}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh}.sidebar{z-index:50;color:#e9f0ed;background:#12241e;flex-direction:column;width:252px;padding:0 16px 18px;display:flex;position:fixed;inset:0 auto 0 0}.brand{border-bottom:1px solid #ffffff17;align-items:center;gap:11px;height:80px;padding:0 8px;display:flex}.brand-mark{width:38px;height:38px;color:var(--green-dark);background:#e2f5eb;border-radius:11px;place-items:center;display:grid}.brand strong,.brand span{display:block}.brand strong{letter-spacing:-.02em;font-size:16px}.brand span{color:#8fa19a;letter-spacing:.12em;text-transform:uppercase;margin-top:2px;font-size:11px}.mobile-close{color:#fff;background:0 0;border:0;margin-left:auto;display:none}.nav{flex:1;padding:18px 0;overflow-y:auto}.nav-group+.nav-group{margin-top:21px}.nav-label{color:#6f837b;letter-spacing:.12em;text-transform:uppercase;padding:0 12px 8px;font-size:10px;font-weight:700;display:block}.nav-item{color:#9fb0aa;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:11px;width:100%;height:42px;margin:2px 0;padding:0 11px;transition:all .2s;display:flex}.nav-item span{flex:1;font-size:13px;font-weight:550}.nav-item em{color:#c7d2ce;text-align:center;background:#ffffff14;border-radius:20px;min-width:22px;padding:2px 6px;font-size:10px;font-style:normal}.nav-item:hover{color:#fff;background:#ffffff0e}.nav-item.active{color:#fff;background:#1d3d33;box-shadow:inset 3px 0 #78d3aa}.nav-item.active svg{color:#8be1ba}.sidebar-foot{border-top:1px solid #ffffff17;padding-top:12px}.support-link{color:#98aaa4;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;width:100%;padding:10px;font-size:12px;display:flex}.support-link svg:last-child{margin-left:auto}.workspace-switcher{color:#fff;cursor:pointer;text-align:left;background:#ffffff0b;border:1px solid #ffffff17;border-radius:10px;align-items:center;gap:9px;width:100%;margin-top:5px;padding:10px;display:flex}.workspace-avatar{color:#194d3c;background:#daeee5;border-radius:8px;flex:none;place-items:center;width:30px;height:30px;font-size:11px;font-weight:750;display:grid}.workspace-switcher>span:nth-child(2){flex:1}.workspace-switcher strong,.workspace-switcher small{display:block}.workspace-switcher strong{font-size:11px}.workspace-switcher small{color:#879990;margin-top:3px;font-size:10px}.main{min-height:100vh;margin-left:252px}.topbar{z-index:30;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0;align-items:center;height:68px;padding:0 30px;display:flex;position:sticky;top:0}.breadcrumbs{color:#89958f;align-items:center;gap:7px;font-size:12px;display:flex}.breadcrumbs strong{color:#3c4b45}.top-actions{align-items:center;gap:9px;margin-left:auto;display:flex}.menu-button{background:0 0;border:0;margin-right:12px;display:none}.search-box{border:1px solid var(--line);color:#8a958f;background:#fafbfa;border-radius:9px;align-items:center;gap:8px;width:218px;height:36px;padding:0 9px;display:flex}.search-box input,.mini-search input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:12px}.search-box kbd{color:#919b96;background:#fff;border:1px solid #dfe4e1;border-bottom-width:2px;border-radius:5px;padding:3px 5px;font-family:inherit;font-size:9px}.icon-button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:9px;place-items:center;width:36px;height:36px;display:grid}.notification-button{position:relative}.notification-button>i{background:#dc5144;border:1.5px solid #fff;border-radius:50%;width:6px;height:6px;position:absolute;top:7px;right:7px}.notifications-wrap{position:relative}.notification-popover{border:1px solid var(--line);width:330px;box-shadow:var(--shadow);background:#fff;border-radius:13px;padding:10px;position:absolute;top:44px;right:0}.notification-popover>div{justify-content:space-between;padding:7px 8px 10px;font-size:12px;display:flex}.notification-popover>div span{color:var(--green);font-size:10px;font-weight:700}.notification-popover button{cursor:pointer;text-align:left;background:#fff;border:0;border-top:1px solid #eef1ef;gap:9px;width:100%;padding:10px 8px;display:flex}.notification-popover button>i{background:var(--amber);border-radius:50%;width:8px;height:8px;margin-top:4px}.notification-popover button>i.critique{background:var(--red)}.notification-popover button span{gap:3px;display:grid}.notification-popover button strong{font-size:11px}.notification-popover button small{color:var(--muted);font-size:10px}.user-menu{cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:8px;height:42px;padding:0 4px 0 7px;display:flex}.user-avatar{color:#245d49;background:#dcebe4;border-radius:9px;place-items:center;width:30px;height:30px;font-size:10px;font-weight:750;display:grid}.user-menu strong,.user-menu small{display:block}.user-menu strong{font-size:11px}.user-menu small{color:#849089;margin-top:2px;font-size:9px}.content{max-width:1500px;margin:0 auto;padding:30px 34px 50px}.page-heading{justify-content:space-between;align-items:end;gap:24px;display:flex}.page-heading p{color:var(--green);letter-spacing:.08em;text-transform:uppercase;margin:0 0 7px;font-size:11px;font-weight:700}.page-heading h1{letter-spacing:-.045em;margin:0;font-size:clamp(25px,2.4vw,35px);line-height:1.1}.page-heading h1 span{color:#7d8883;font-weight:430}.heading-actions{gap:9px;display:flex}.primary-button,.secondary-button{cursor:pointer;border-radius:9px;justify-content:center;align-items:center;gap:8px;min-height:39px;padding:0 14px;font-size:12px;font-weight:650;display:inline-flex}.primary-button{border:1px solid var(--green);background:var(--green);color:#fff;box-shadow:0 7px 15px #176f5526}.primary-button:hover{background:var(--green-dark)}.secondary-button{border:1px solid var(--line);color:#33433d;background:#fff}.secondary-button:hover{background:#fafbfa}.period-tabs{border-bottom:1px solid var(--line);align-items:center;gap:4px;margin:27px 0 14px;padding-bottom:10px;display:flex}.period-tabs button{color:#7e8a84;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:7px 12px;font-size:11px;font-weight:600}.period-tabs button.active{color:#1b5f49;background:#e6eee9}.period-context{color:#93a099;margin-left:auto;font-size:10px}.metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;display:grid}.metric-card{border:1px solid var(--line);background:var(--surface);border-radius:12px;gap:13px;min-height:112px;padding:18px;display:flex;box-shadow:0 4px 15px #283c3306}.metric-icon{border-radius:10px;flex:none;place-items:center;width:38px;height:38px;display:grid}.metric-icon.mint{color:#196148;background:#e3f2eb}.metric-icon.blue{background:var(--blue-soft);color:#326885}.metric-icon.violet{background:var(--violet-soft);color:#684d83}.metric-icon.amber{background:var(--amber-soft);color:#a96118}.metric-copy{flex:1;min-width:0}.metric-copy>span{color:#7d8983;font-size:11px;font-weight:600;display:block}.metric-copy>strong{letter-spacing:-.04em;margin:4px 0 5px;font-size:25px;display:block}.metric-copy small{color:#85918b;font-size:10px}.metric-progress{align-items:center;gap:8px;display:flex}.metric-progress>i{background:#e8ece9;border-radius:4px;width:65px;height:4px;overflow:hidden}.metric-progress>i:after{content:"";width:var(--progress);border-radius:inherit;background:var(--amber);height:100%;display:block}.dashboard-grid{grid-template-columns:minmax(0,1.65fr) minmax(300px,.9fr);gap:13px;margin-top:13px;display:grid}.panel{border:1px solid var(--line);background:var(--surface);border-radius:12px}.panel-head{border-bottom:1px solid #e9edea;align-items:center;gap:16px;min-height:70px;padding:16px 18px;display:flex}.panel-head>div:first-child{margin-right:auto}.panel-head span,.jobs-head>div:first-child>span{color:#8b9892;letter-spacing:.09em;text-transform:uppercase;margin-bottom:3px;font-size:9px;font-weight:700;display:block}.panel-head h2,.jobs-head h2{letter-spacing:-.02em;margin:0;font-size:15px}.ghost-button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:7px;align-items:center;gap:6px;height:32px;padding:0 9px;font-size:10px;display:flex}.legend{gap:12px;display:flex}.legend span{color:#76827c;letter-spacing:0;text-transform:none;align-items:center;gap:5px;margin:0;font-size:9px;font-weight:500;display:flex}.legend i{border-radius:2px;width:7px;height:7px}.planned-dot{background:#d8e4de}.completed-dot{background:var(--green)}.chart{height:210px;padding:22px 22px 20px 46px;display:flex;position:relative}.chart-grid{color:#a4ada9;flex-direction:column;justify-content:space-between;font-size:9px;display:flex;position:absolute;inset:22px 18px 38px 16px}.chart-grid span{position:relative}.chart-grid span:after{content:"";border-top:1px dashed #e8ece9;position:absolute;top:50%;left:24px;right:0}.chart-bars{z-index:1;justify-content:space-around;align-items:stretch;width:100%;display:flex}.chart-day{color:#78857e;flex-direction:column;justify-content:flex-end;align-items:center;gap:7px;width:9%;font-size:9px;display:flex}.bar-pair{justify-content:center;align-items:flex-end;gap:4px;width:100%;height:145px;display:flex}.bar{border-radius:3px 3px 1px 1px;width:10px;min-height:3px}.bar.planned{background:#dce6e1}.bar.completed{background:var(--green)}.chart-summary{border-top:1px solid #edf0ee;align-items:baseline;gap:8px;margin:0 18px 16px;padding-top:13px;display:flex}.chart-summary strong{font-size:19px}.chart-summary span{color:#77837d;font-size:10px}.chart-summary em{color:var(--green);margin-left:auto;font-size:9px;font-style:normal;font-weight:700}.text-button{color:var(--green);cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;font-size:10px;font-weight:650;display:flex}.alerts-list{padding:2px 0}.alert-row{cursor:pointer;text-align:left;background:#fff;border:0;border-bottom:1px solid #edf0ee;grid-template-columns:32px minmax(0,1fr) auto 16px;align-items:center;gap:8px;width:100%;min-height:70px;padding:10px 16px;display:grid}.alert-row:last-child{border-bottom:0}.alert-row>i{background:var(--blue-soft);width:30px;height:30px;color:var(--blue);border-radius:8px;place-items:center;display:grid}.alert-row>i.critique{background:var(--red-soft);color:var(--red)}.alert-row>i.attention{background:var(--amber-soft);color:var(--amber)}.alert-row span{min-width:0;display:block}.alert-row strong,.alert-row small{display:block}.alert-row strong{margin-bottom:4px;font-size:11px}.alert-row small{color:#77837e;text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.alert-row time{color:#a0a9a5;white-space:nowrap;align-self:start;padding-top:9px;font-size:8px}.alert-row>svg{color:#a5aea9}.jobs-panel{margin-top:13px}.jobs-head{justify-content:space-between;align-items:center;gap:16px;min-height:75px;padding:16px 18px;display:flex}.jobs-tools{align-items:center;gap:7px;display:flex}.mini-search{border:1px solid var(--line);color:#8d9993;border-radius:8px;align-items:center;gap:8px;width:205px;height:36px;padding:0 10px;display:flex}.jobs-tools .secondary-button{min-height:36px}.status-filters{border-bottom:1px solid #e9edea;gap:2px;padding:0 18px 12px;display:flex;overflow-x:auto}.status-filters button{color:#7d8983;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:6px;padding:6px 9px;font-size:10px;display:flex}.status-filters button span{text-align:center;background:#f0f3f1;border-radius:10px;min-width:18px;padding:2px 5px;font-size:8px}.status-filters button.active{color:#155e46;background:#e7efeb;font-weight:700}.status-filters button.active span{background:#cee2d8}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th{color:#89958f;letter-spacing:.07em;text-align:left;text-transform:uppercase;white-space:nowrap;background:#fafbfa;height:36px;padding:0 12px;font-size:8px;font-weight:700}td{vertical-align:middle;border-top:1px solid #edf0ee;height:64px;padding:9px 12px;font-size:10px}tbody tr{cursor:pointer;transition:background .15s}tbody tr:hover,tbody tr:focus{background:#f8fbf9;outline:0}td strong,td small{display:block}td strong{font-size:10px}td small{color:#88948e;white-space:nowrap;margin-top:4px;font-size:8px}.row-warning{color:var(--red);align-items:center;gap:3px;margin-top:4px;font-size:8px;display:flex}.technician{white-space:nowrap;align-items:center;gap:7px;display:flex}.mini-avatar{color:#1b5e48;background:#e2ece7;border-radius:7px;flex:none;place-items:center;width:25px;height:25px;font-size:8px;font-weight:750;display:inline-grid}.equipment-count{border:1px solid var(--line);background:#fafbfa;border-radius:7px;place-items:center;width:25px;height:25px;font-weight:700;display:grid}.status{color:#57645e;white-space:nowrap;background:#eef1ef;border-radius:20px;align-items:center;gap:5px;padding:5px 8px;font-size:8px;font-weight:700;display:inline-flex}.status:before{content:"";background:currentColor;border-radius:50%;width:5px;height:5px}.status-terminee{color:#166648;background:#e2f2e9}.status-en-cours{color:#2e6782;background:#e3eff5}.status-bloquee{color:#b5463b;background:#fae7e4}.status-en-route{color:#9d611d;background:#fff0d7}.status-planifiee{color:#625a78;background:#eeeaf3}.table-progress{align-items:center;gap:7px;min-width:88px;display:flex}.table-progress>i{background:#e9edeb;border-radius:4px;width:50px;height:4px;overflow:hidden}.table-progress b{border-radius:inherit;background:var(--green);height:100%;display:block}.table-progress span{color:#6f7b75;font-size:8px}.payment{white-space:nowrap;font-size:9px;font-weight:650}.payment-paye{color:var(--green)}.payment-en-attente{color:var(--amber)}.payment-a-facturer{color:#68746e}.row-action{color:#849089;background:0 0;border:0;border-radius:7px;place-items:center;width:27px;height:27px;display:grid}.table-footer{color:#87938d;border-top:1px solid #edf0ee;justify-content:space-between;align-items:center;min-height:50px;padding:0 18px;font-size:9px;display:flex}.empty-state{color:#88948e;text-align:center;padding:40px}.empty-state strong{color:#42514a;margin:10px 0 4px;display:block}.empty-state p{margin:0;font-size:10px}.bottom-grid{grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);gap:13px;margin-top:13px;display:grid}.team-list{padding:3px 18px 10px}.team-row{border-bottom:1px solid #edf0ee;grid-template-columns:34px minmax(120px,1fr) minmax(140px,.9fr);align-items:center;gap:10px;min-height:61px;display:grid}.team-row:last-child{border-bottom:0}.team-avatar{color:#1b5b46;background:#e4eee9;border-radius:9px;place-items:center;width:32px;height:32px;font-size:9px;font-weight:750;display:grid;position:relative}.team-avatar i{background:#48a57e;border:2px solid #fff;border-radius:50%;width:9px;height:9px;position:absolute;bottom:-2px;right:-2px}.team-row strong,.team-row small{display:block}.team-row strong{font-size:10px}.team-row small{color:#849089;margin-top:4px;font-size:8px}.team-progress{align-items:center;gap:8px;display:flex}.team-progress>div{background:#e9edeb;border-radius:4px;flex:1;height:4px;overflow:hidden}.team-progress i{background:var(--green);height:100%;display:block}.team-progress span{color:#7f8b85;font-size:9px}.quality-card{color:#fff;background:#19382e;border-radius:12px;min-height:240px;padding:23px;position:relative;overflow:hidden}.quality-card:after{content:"";border:35px solid #ffffff09;border-radius:50%;width:180px;height:180px;position:absolute;bottom:-60px;right:-45px}.quality-icon{color:#92dbba;background:#d2f3e421;border-radius:11px;place-items:center;width:42px;height:42px;margin-bottom:20px;display:grid}.quality-card>span{color:#9ab0a8;letter-spacing:.09em;text-transform:uppercase;font-size:9px;font-weight:700}.quality-card h2{letter-spacing:-.035em;max-width:280px;margin:7px 0;font-size:20px;line-height:1.25}.quality-card p{color:#aebdb7;max-width:300px;margin:0 0 18px;font-size:10px;line-height:1.5}.quality-card button{z-index:1;color:#a0e0c1;cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;padding:0;font-size:10px;font-weight:700;display:flex;position:relative}.drawer-layer,.modal-layer{z-index:100;position:fixed;inset:0}.drawer-backdrop,.modal-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0d1b1661;border:0;width:100%;position:absolute;inset:0}.drawer{background:#fff;flex-direction:column;width:min(470px,100%);animation:.24s ease-out slideIn;display:flex;position:absolute;inset:0 0 0 auto;box-shadow:-20px 0 60px #0a19132b}@keyframes slideIn{0%{opacity:0;transform:translate(30px)}}.drawer-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:72px;padding:0 22px;display:flex}.drawer-head span{color:#8a9690;letter-spacing:.09em;text-transform:uppercase;font-size:9px;display:block}.drawer-head strong{margin-top:3px;font-size:12px;display:block}.drawer-body{flex:1;padding:25px 24px;overflow-y:auto}.drawer-title h2{letter-spacing:-.04em;margin:14px 0 5px;font-size:25px}.drawer-title p{color:#76827c;margin:0;font-size:11px;line-height:1.45}.incident-box{background:var(--red-soft);color:var(--red);border:1px solid #f1c5bf;border-radius:9px;gap:10px;margin-top:20px;padding:13px;display:flex}.incident-box strong{font-size:11px}.incident-box p{margin:4px 0 0;font-size:10px;line-height:1.4}.detail-list{margin:24px 0 0}.detail-list>div{border-bottom:1px solid #edf0ee;grid-template-columns:120px 1fr;align-items:center;min-height:50px;display:grid}.detail-list dt{color:#85918b;font-size:10px}.detail-list dd{align-items:center;gap:8px;margin:0;font-size:11px;font-weight:620;display:flex}.completion-block{margin-top:25px}.completion-block>div:first-child{justify-content:space-between;font-size:11px;display:flex}.completion-block>div:first-child span{color:var(--green);font-weight:700}.large-progress{background:#e9eeeb;border-radius:8px;height:7px;margin:10px 0 18px;overflow:hidden}.large-progress i{border-radius:inherit;background:var(--green);height:100%;display:block}.completion-block ul{margin:0;padding:0;list-style:none}.completion-block li{color:#9ba49f;align-items:center;gap:8px;padding:7px 0;font-size:10px;display:flex}.completion-block li svg{border:1px solid #d8dfdb;border-radius:50%;padding:3px}.completion-block li.done{color:#2e423a}.completion-block li.done svg{background:var(--green-soft);color:var(--green);border-color:#c8e2d5}.note-block{border-top:1px solid #edf0ee;margin-top:22px;padding:14px 0}.note-block span{color:#8a9690;letter-spacing:.08em;text-transform:uppercase;font-size:9px}.note-block p{margin:7px 0 0;font-size:11px}.drawer-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;padding:15px 20px;display:flex}.modal{width:min(560px,100% - 28px);box-shadow:var(--shadow);background:#fff;border-radius:14px;animation:.2s ease-out popIn;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}@keyframes popIn{0%{opacity:0;transform:translate(-50%,-48%)scale(.98)}}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:76px;padding:0 22px;display:flex}.modal-head span{color:var(--green);letter-spacing:.09em;text-transform:uppercase;font-size:9px;font-weight:750}.modal-head h2{margin:3px 0 0;font-size:18px}.form-grid{grid-template-columns:1fr 1fr;gap:14px;padding:22px;display:grid}.form-grid label{color:#52615a;gap:6px;font-size:10px;font-weight:650;display:grid}.form-grid label.wide{grid-column:1/-1}.form-grid input,.form-grid select{border:1px solid var(--line);width:100%;height:41px;color:var(--ink);background:#fbfcfb;border-radius:8px;outline:0;padding:0 11px;font-size:11px}.form-grid input:focus,.form-grid select:focus{border-color:#7cb89f;box-shadow:0 0 0 3px #e7f2ed}.form-note{color:#547066;background:#f0f6f3;border-radius:8px;align-items:center;gap:7px;margin:0 22px 20px;padding:11px;font-size:9px;display:flex}.modal-actions{border-top:1px solid var(--line);background:#fafbfa;justify-content:flex-end;gap:8px;padding:14px 22px;display:flex}.toast{z-index:120;color:#fff;box-shadow:var(--shadow);background:#163a2e;border-radius:10px;align-items:center;gap:9px;padding:13px 17px;font-size:11px;animation:.2s ease-out popIn;display:flex;position:fixed;bottom:24px;right:24px}.sidebar-scrim{display:none}@media (max-width:1180px){.metrics-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.alerts-list{grid-template-columns:repeat(3,1fr);display:grid}.alert-row{grid-template-columns:32px minmax(0,1fr) 16px;min-height:90px}.alert-row time{display:none}.bottom-grid{grid-template-columns:1fr 360px}}@media (max-width:920px){.sidebar{transition:transform .24s;transform:translate(-100%);box-shadow:20px 0 45px #0a191338}.sidebar.is-open{transform:translate(0)}.sidebar-scrim{z-index:45;background:#0a17126b;border:0;position:fixed;inset:0}.sidebar-scrim.is-open{display:block}.mobile-close,.menu-button{place-items:center;display:grid}.main{margin-left:0}.content{padding-inline:22px}.bottom-grid{grid-template-columns:1fr}.quality-card{min-height:220px}}@media (max-width:720px){.topbar{padding:0 14px}.breadcrumbs,.search-box,.user-menu span:not(.user-avatar),.user-menu>svg{display:none}.top-actions{margin-left:auto}.content{padding:24px 14px 36px}.page-heading{align-items:flex-start}.page-heading h1 span{margin-top:4px;display:block}.heading-actions .secondary-button{display:none}.heading-actions .primary-button{width:40px;padding:0;font-size:0}.metrics-grid{grid-template-columns:1fr 1fr;gap:9px}.metric-card{flex-direction:column;gap:8px;min-height:124px;padding:14px}.metric-copy>strong{font-size:22px}.legend{display:none}.panel-head{padding-inline:14px}.alerts-list{display:block}.jobs-head{align-items:flex-start}.jobs-tools .mini-search,.jobs-tools .secondary-button{display:none}table{min-width:820px}.table-footer{padding:0 14px}.team-row{grid-template-columns:34px 1fr}.team-progress{grid-column:2;padding-bottom:11px}.form-grid{grid-template-columns:1fr}.form-grid label.wide{grid-column:auto}.period-context{display:none}.notification-popover{width:300px;right:-48px}}@media (max-width:430px){.metrics-grid{grid-template-columns:1fr}.metric-card{flex-direction:row;min-height:92px}.chart{padding-left:40px}.bar{width:8px}.chart-summary em{display:none}.period-tabs button{padding-inline:9px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.login-page{background:radial-gradient(circle at 50% 0,#e8f3ee 0,#0000 42%),#f4f7f5;place-items:center;min-height:100vh;padding:24px;display:grid}.login-panel{background:#fff;border:1px solid #dce5e0;border-radius:18px;width:min(470px,100%);padding:34px;box-shadow:0 24px 70px #19382e1f}.login-brand{align-items:center;gap:11px;display:flex}.login-brand>span{color:#9ce0c1;background:#173c30;border-radius:12px;place-items:center;width:43px;height:43px;display:grid}.login-brand strong,.login-brand small{display:block}.login-brand strong{font-size:15px}.login-brand small{color:#87938d;margin-top:3px;font-size:10px}.login-copy{margin:38px 0 24px}.login-copy>span{color:var(--green);letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:750}.login-copy h1{letter-spacing:-.045em;margin:7px 0 8px;font-size:clamp(26px,6vw,34px);line-height:1.08}.login-copy p{color:var(--muted);margin:0;font-size:14px;line-height:1.55}.login-choices{gap:10px;display:grid}.login-choices form,.login-choices button{width:100%}.login-choices button{border:1px solid var(--line);min-height:74px;color:var(--ink);cursor:pointer;text-align:left;background:#fff;border-radius:12px;grid-template-columns:42px 1fr 22px 18px;align-items:center;gap:11px;padding:12px;transition:all .18s;display:grid}.login-choices button:hover{background:#f7fbf9;border-color:#8ab9a5;transform:translateY(-1px)}.login-choices button>span:nth-child(2){min-width:0}.login-choices strong,.login-choices small{display:block}.login-choices strong{font-size:13px}.login-choices small{color:#85918b;margin-top:4px;font-size:11px}.login-choices button>svg:nth-last-child(2){color:var(--green)}.login-choices button>svg:last-child{color:#9ba59f}.login-avatar{border-radius:11px;place-items:center;width:42px;height:42px;font-size:11px;font-weight:800;display:grid}.login-avatar.admin{color:#1b6048;background:#dff0e8}.login-avatar.tech{color:#32637a;background:#e3edf3}.login-footnote{color:#919c96;justify-content:center;align-items:center;gap:6px;margin:22px 0 0;font-size:10px;display:flex}.login-unavailable{color:#815b24;background:#fff8eb;border:1px solid #eed9bb;border-radius:11px;gap:11px;padding:16px;display:flex}.login-unavailable strong{font-size:13px}.login-unavailable p{margin:4px 0 0;font-size:11px;line-height:1.5}@media (max-width:520px){.login-page{padding:14px}.login-panel{padding:24px 18px}.login-copy{margin-top:30px}}.placeholder-page{background:var(--canvas);place-items:center;min-height:100vh;padding:24px;display:grid}.placeholder-card{border:1px solid var(--line);width:min(520px,100%);box-shadow:var(--shadow);text-align:center;background:#fff;border-radius:16px;padding:42px}.placeholder-card>span{background:var(--green-soft);width:54px;height:54px;color:var(--green);border-radius:14px;place-items:center;margin:0 auto 18px;display:grid}.placeholder-card>p:first-of-type{color:var(--green);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:12px;font-weight:750}.placeholder-card h1{letter-spacing:-.04em;margin:7px 0 10px;font-size:32px}.placeholder-card>p:last-of-type{max-width:390px;color:var(--muted);margin:0 auto 24px;font-size:15px;line-height:1.6}.placeholder-card .primary-button{width:fit-content;margin:auto}.admin-jobs-content{max-width:1560px}.admin-jobs-stats{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:repeat(4,1fr);margin:24px 0 13px;display:grid}.admin-jobs-stats>div{border-right:1px solid #e8ecea;align-content:center;gap:5px;min-height:82px;padding:16px 20px;display:grid}.admin-jobs-stats>div:last-child{border-right:0}.admin-jobs-stats span{color:#7e8a84;text-transform:uppercase;font-size:9px;font-weight:650}.admin-jobs-stats strong{letter-spacing:-.03em;font-size:23px}.admin-jobs-panel{overflow:hidden}.admin-jobs-toolbar{border-bottom:1px solid #e9edea;align-items:center;gap:9px;min-height:72px;padding:15px 18px;display:flex}.admin-job-search{width:min(330px,100%);margin-right:auto}.admin-job-search input{background:0 0;border:0;outline:0;width:100%;min-width:0;font-size:10px}.admin-jobs-toolbar select{border:1px solid var(--line);color:#46564f;background:#fff;border-radius:8px;height:36px;padding:0 30px 0 10px;font-size:10px}.admin-jobs-table td:first-child strong,.admin-jobs-table td:first-child small,.admin-jobs-table td:nth-child(3) strong,.admin-jobs-table td:nth-child(3) small{display:block}.admin-jobs-table td:first-child small,.admin-jobs-table td:nth-child(3) small{color:#87928d;margin-top:4px;font-size:8px}.admin-jobs-table .row-action{display:grid}.admin-job-modal{width:min(690px,100% - 28px);max-height:calc(100vh - 32px);overflow-y:auto}.form-grid textarea{resize:vertical;border:1px solid var(--line);width:100%;color:var(--ink);font:inherit;background:#fbfcfb;border-radius:8px;outline:0;padding:10px 11px;font-size:11px}.form-grid textarea:focus{border-color:#7cb89f;box-shadow:0 0 0 3px #e7f2ed}.equipment-picker{border:1px solid var(--line);border-radius:10px;grid-template-columns:1fr 1fr;gap:8px;margin:0;padding:12px;display:grid}.equipment-picker legend{color:#52615a;padding:0 5px;font-size:10px;font-weight:700}.equipment-picker label{cursor:pointer;background:#fafcfb;border:1px solid #e4e9e6;border-radius:8px;grid-template-columns:20px 1fr;align-items:center;gap:7px;min-height:40px;padding:7px 9px;display:grid}.equipment-picker input{opacity:0;position:absolute}.equipment-picker label>span{color:#0000;border:1px solid #cbd5d0;border-radius:6px;place-items:center;width:20px;height:20px;display:grid}.equipment-picker label:has(input:checked){background:#eef7f2;border-color:#9bc5b3}.equipment-picker label:has(input:checked)>span{border-color:var(--green);background:var(--green);color:#fff}.equipment-picker p{color:var(--muted);grid-column:1/-1;margin:4px;font-size:10px}.admin-form-error{background:var(--red-soft);border-radius:8px;align-items:center;gap:7px;padding:10px;color:var(--red)!important;font-size:10px!important;display:flex!important}@media (max-width:920px){.admin-jobs-stats{grid-template-columns:1fr 1fr}.admin-jobs-stats>div:nth-child(2){border-right:0}.admin-jobs-stats>div:nth-child(-n+2){border-bottom:1px solid #e8ecea}}@media (max-width:720px){.admin-jobs-toolbar{flex-direction:column;align-items:stretch}.admin-job-search,.admin-jobs-toolbar select{width:100%}.admin-jobs-table{min-width:900px}.equipment-picker{grid-template-columns:1fr}}.admin-detail-content{max-width:1460px}.admin-back-link{color:#64726b;align-items:center;gap:7px;width:fit-content;margin-bottom:18px;font-size:10px;font-weight:650;display:flex}.admin-detail-heading{justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.admin-detail-heading>div:first-child>span{color:var(--green);letter-spacing:.08em;font-size:10px;font-weight:750}.admin-detail-heading h1{letter-spacing:-.04em;margin:5px 0 6px;font-size:31px}.admin-detail-heading p{color:#75817b;align-items:center;gap:6px;margin:0;font-size:11px;display:flex}.admin-detail-heading>div:last-child{align-items:center;gap:8px;display:flex}.admin-detail-summary{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:repeat(4,1fr);margin:24px 0 13px;display:grid}.admin-detail-summary>div{border-right:1px solid #e8ecea;align-items:center;gap:11px;min-height:84px;padding:17px;display:flex}.admin-detail-summary>div:last-child{border-right:0}.admin-detail-summary svg{color:var(--green)}.admin-detail-summary span,.admin-detail-summary small,.admin-detail-summary strong{display:block}.admin-detail-summary small{color:#849089;text-transform:uppercase;margin-bottom:5px;font-size:8px}.admin-detail-summary strong{font-size:11px}.admin-detail-grid{grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr);gap:13px;display:grid}.admin-detail-main,.admin-detail-side{align-content:start;gap:13px;display:grid}.admin-detail-panel{overflow:hidden}.admin-detail-panel>header{border-bottom:1px solid #e9edea;justify-content:space-between;align-items:center;min-height:68px;padding:15px 18px;display:flex}.admin-detail-panel>header span{color:#8b9892;letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:700}.admin-detail-panel>header h2{margin:4px 0 0;font-size:15px}.admin-detail-panel>header>strong{color:var(--green);font-size:10px}.admin-equipment-detail-list{padding:0 18px}.admin-equipment-detail-list article{border-bottom:1px solid #ebefed;grid-template-columns:42px minmax(130px,.8fr) minmax(320px,1.4fr);align-items:center;gap:12px;min-height:108px;padding:16px 0;display:grid;position:relative}.admin-equipment-detail-list article:last-child{border-bottom:0}.admin-equipment-icon{background:var(--green-soft);width:40px;height:40px;color:var(--green);border-radius:10px;place-items:center;display:grid}.admin-equipment-name span{color:#89958f;font-size:8px}.admin-equipment-name h3{margin:3px 0;font-size:14px}.admin-equipment-name p{color:#6f7c76;margin:0;font-size:9px}.admin-proof-grid{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.admin-proof-grid>span{color:#4e655c;background:#f4f7f5;border-radius:8px;grid-template-columns:17px 1fr;align-content:center;min-height:53px;padding:7px;display:grid}.admin-proof-grid svg{color:#78a390;grid-row:1/3;align-self:center}.admin-proof-grid strong{font-size:10px}.admin-proof-grid small{color:#849089;font-size:7px}.admin-proof-grid .failed{background:var(--red-soft);color:var(--red)}.admin-product-used{color:#849089;font-size:7px;position:absolute;bottom:7px;right:0}.admin-incident-list{padding:0 18px}.admin-incident-list article{border-bottom:1px solid #edf0ee;grid-template-columns:25px 1fr auto;align-items:center;gap:10px;min-height:76px;display:grid}.admin-incident-list article>svg{color:var(--red)}.admin-incident-list span,.admin-incident-list strong{display:block}.admin-incident-list span{color:#8b9691;margin-bottom:4px;font-size:8px}.admin-incident-list strong{font-size:10px}.admin-incident-list em{color:var(--red);text-transform:capitalize;font-size:8px;font-style:normal}.admin-empty-inline{color:#6f9c88;align-content:center;place-items:center;gap:8px;min-height:110px;font-size:10px;display:grid}.admin-contact-list{margin:0;padding:4px 18px 14px}.admin-contact-list>div{border-bottom:1px solid #edf0ee;padding:12px 0}.admin-contact-list>div:last-child{border-bottom:0}.admin-contact-list dt{color:#87928d;align-items:center;gap:6px;font-size:8px;display:flex}.admin-contact-list dd{margin:5px 0 0;font-size:10px;line-height:1.45}.admin-timeline{margin:0;padding:14px 18px 18px;list-style:none}.admin-timeline li{min-height:60px;padding-left:24px;position:relative}.admin-timeline li:after{content:"";background:#dfe7e3;width:1px;position:absolute;top:12px;bottom:-4px;left:6px}.admin-timeline li:last-child:after{display:none}.admin-timeline i{z-index:1;background:var(--green);border:3px solid #d9eee5;border-radius:50%;width:13px;height:13px;position:absolute;top:5px;left:0}.admin-timeline strong,.admin-timeline span,.admin-timeline time{display:block}.admin-timeline strong{font-size:10px}.admin-timeline span{color:#708078;margin-top:3px;font-size:8px}.admin-timeline time{color:#96a09b;margin-top:3px;font-size:7px}@media (max-width:1100px){.admin-detail-grid{grid-template-columns:1fr}.admin-detail-side{grid-template-columns:1fr 1fr}}@media (max-width:760px){.admin-detail-heading{flex-direction:column;align-items:flex-start}.admin-detail-summary{grid-template-columns:1fr 1fr}.admin-detail-summary>div:nth-child(2){border-right:0}.admin-detail-summary>div:nth-child(-n+2){border-bottom:1px solid #e8ecea}.admin-equipment-detail-list article{grid-template-columns:42px 1fr}.admin-proof-grid{grid-column:1/-1}.admin-product-used{grid-column:1/-1;position:static}.admin-detail-side{grid-template-columns:1fr}}.admin-calendar-content{max-width:1580px}.calendar-controls{border:1px solid var(--line);background:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;min-height:62px;margin:24px 0 12px;padding:11px 13px;display:flex}.calendar-navigation,.calendar-filters{align-items:center;gap:7px;display:flex}.calendar-navigation>strong{text-transform:capitalize;min-width:170px;margin-left:5px;font-size:12px}.calendar-filters>svg{color:#829089}.calendar-filters select{border:1px solid var(--line);color:#42514a;background:#fff;border-radius:8px;height:36px;padding:0 30px 0 10px;font-size:10px}.calendar-view-toggle{background:#edf1ef;border-radius:8px;padding:3px;display:flex}.calendar-view-toggle button{color:#68756f;cursor:pointer;background:0 0;border:0;border-radius:6px;min-height:30px;padding:0 11px;font-size:9px;font-weight:700}.calendar-view-toggle button.active{color:var(--green);background:#fff;box-shadow:0 2px 7px #1b332a17}.calendar-summary{align-items:center;gap:8px;margin-bottom:12px;display:flex}.calendar-summary>span{border:1px solid var(--line);color:#718079;background:#fff;border-radius:18px;align-items:center;gap:5px;min-height:34px;padding:0 10px;font-size:9px;display:flex}.calendar-summary svg{color:#759989}.calendar-summary strong{color:#30483f}.calendar-summary .calendar-conflict-summary{color:#9d4a42;margin-left:auto}.calendar-conflict-summary svg{color:var(--red)}.week-calendar{overflow:auto}.week-calendar-head{border-bottom:1px solid var(--line);grid-template-columns:84px repeat(7,1fr);min-width:980px;height:70px;display:grid}.week-calendar-head>span{border-right:1px solid #e9edea}.week-calendar-head button{color:#77837d;cursor:pointer;background:#fff;border:0;border-right:1px solid #e9edea;align-content:center;place-items:center;gap:3px;display:grid}.week-calendar-head button span{text-transform:uppercase;font-size:8px;font-weight:700}.week-calendar-head button strong{border-radius:50%;place-items:center;width:28px;height:28px;font-size:13px;display:grid}.week-calendar-head button.today{color:var(--green);background:#f5faf7}.week-calendar-head button.today strong{background:var(--green);color:#fff}.week-calendar-body{grid-template-columns:84px repeat(7,1fr);min-width:980px;min-height:500px;display:grid}.week-team-label{color:#819089;border-right:1px solid #e9edea;align-content:start;justify-items:center;gap:6px;padding-top:20px;display:grid}.week-team-label span{text-transform:uppercase;font-size:8px;font-weight:700}.week-day-column{background:#fbfcfb;border-right:1px solid #e9edea;flex-direction:column;gap:7px;min-width:0;padding:8px;display:flex}.week-day-column.today{background:#f5faf7}.calendar-job-card{background:#fff;border:1px solid #cfded7;border-left:3px solid #5c8f79;border-radius:9px;min-height:84px;padding:10px;position:relative;overflow:hidden;box-shadow:0 4px 12px #1933290a}.calendar-job-card time,.calendar-job-card strong,.calendar-job-card span,.calendar-job-card small{display:block}.calendar-job-card time{color:#39715b;font-size:8px;font-weight:750}.calendar-job-card strong{text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-size:10px;overflow:hidden}.calendar-job-card span{color:#728079;margin-top:3px;font-size:8px}.calendar-job-card small{color:#84918b;margin-top:8px;font-size:7px}.calendar-job-card em{color:var(--red);align-items:center;gap:4px;margin-top:7px;font-size:7px;font-style:normal;font-weight:700;display:flex}.calendar-job-card.conflict{border-color:#e9aaa4;border-left-color:var(--red)}.empty-calendar-slot{color:#9aa49f;cursor:pointer;background:0 0;border:1px dashed #d5ded9;border-radius:8px;justify-content:center;align-items:center;gap:5px;min-height:54px;font-size:8px;display:flex}.status-card-planifiee{border-left-color:#70548c}.status-card-en-route{border-left-color:#c6812f}.status-card-arrivee,.status-card-en-cours{border-left-color:#3a7899}.status-card-bloquee{border-left-color:var(--red)}.status-card-terminee,.status-card-terminee--paiement{border-left-color:var(--green);opacity:.78}.day-calendar{overflow:auto}.day-calendar-head{grid-template-columns:72px repeat(var(--lanes,4),minmax(180px,1fr));border-bottom:1px solid var(--line);min-width:900px;height:62px;display:grid}.day-calendar-head>span{color:#8a9690;text-transform:uppercase;border-right:1px solid #e7ece9;padding:23px 10px;font-size:8px}.day-calendar-head>div{border-right:1px solid #e7ece9;align-items:center;gap:8px;padding:0 12px;display:flex}.day-calendar-head>div strong{font-size:10px}.day-calendar-body{grid-template-columns:72px repeat(var(--lanes,4),minmax(180px,1fr));min-width:900px;height:720px;display:grid}.time-axis{border-right:1px solid #e7ece9;position:relative}.time-axis span{color:#8e9994;font-size:8px;position:absolute;right:10px;transform:translateY(-50%)}.technician-lane{background:#fbfcfb;border-right:1px solid #e7ece9;position:relative}.technician-lane>i{background:#edf0ee;height:1px;position:absolute;left:0;right:0}.day-job{z-index:2;background:#fff;border:1px solid #cddfd6;border-left:3px solid #5c8f79;border-radius:8px;min-height:52px;padding:8px;position:absolute;left:7px;right:7px;overflow:hidden;box-shadow:0 4px 13px #15312612}.day-job time,.day-job strong,.day-job span{display:block}.day-job time{color:var(--green);font-size:8px;font-weight:750}.day-job strong{margin-top:4px;font-size:10px}.day-job span{color:#78857e;margin-top:3px;font-size:8px}.day-job.conflict{border-color:#e5a9a3;border-left-color:var(--red)}.calendar-legend{flex-wrap:wrap;gap:15px;padding:14px 4px;display:flex}.calendar-legend span{color:#76837d;align-items:center;gap:6px;font-size:8px;display:flex}.calendar-legend i{background:#70548c;border-radius:3px;width:8px;height:8px}.calendar-legend i.active{background:#3a7899}.calendar-legend i.blocked,.calendar-legend i.conflict{background:var(--red)}.calendar-legend i.completed{background:var(--green)}.calendar-legend i.conflict{border-radius:50%;box-shadow:0 0 0 3px #f8deda}@media (max-width:1050px){.calendar-controls{flex-direction:column;align-items:stretch}.calendar-filters{flex-wrap:wrap}.calendar-conflict-summary{margin-left:0!important}}@media (max-width:720px){.calendar-navigation{flex-wrap:wrap}.calendar-navigation>strong{order:-1;width:100%}.calendar-filters select{flex:1}.calendar-view-toggle{width:100%}.calendar-view-toggle button{flex:1}.calendar-summary{padding-bottom:3px;overflow-x:auto}.calendar-summary>span{flex:none}}.admin-incidents-content{max-width:1500px}.incident-stats{grid-template-columns:repeat(4,1fr);gap:10px;margin:24px 0 13px;display:grid}.incident-stats>div{border:1px solid var(--line);background:#fff;border-radius:11px;align-items:center;gap:12px;min-height:88px;padding:16px;display:flex}.incident-stats>div>span{width:38px;height:38px;color:var(--red);background:#f7e7e4;border-radius:10px;place-items:center;display:grid}.incident-stats>div:nth-child(3)>span{background:var(--amber-soft);color:var(--amber)}.incident-stats>div:last-child>span{background:var(--green-soft);color:var(--green)}.incident-stats small,.incident-stats strong{display:block}.incident-stats small{color:#7e8a84;text-transform:uppercase;margin-bottom:4px;font-size:8px}.incident-stats strong{font-size:22px}.incident-list-panel{overflow:hidden}.incident-table-head,.incident-rows>button{grid-template-columns:1.05fr 1.3fr 1fr .65fr .8fr 24px;align-items:center;gap:12px;display:grid}.incident-table-head{color:#8b9691;text-transform:uppercase;background:#fafbfa;border-bottom:1px solid #e9edea;min-height:38px;padding:0 18px;font-size:8px;font-weight:700}.incident-rows>button{cursor:pointer;text-align:left;background:#fff;border:0;border-bottom:1px solid #edf0ee;width:100%;min-height:76px;padding:11px 18px}.incident-rows>button:hover{background:#f8fbf9}.incident-rows span>strong,.incident-rows span>small{display:block}.incident-rows span>strong{font-size:10px}.incident-rows span>small{color:#849089;margin-top:4px;font-size:8px}.severity,.incident-status{white-space:nowrap;border-radius:20px;width:fit-content;padding:5px 8px;font-size:8px;font-style:normal;font-weight:700;display:inline-flex}.severity-information{color:#346b86;background:#e7f0f5}.severity-minor{background:var(--amber-soft);color:#9d611d}.severity-critical{background:var(--red-soft);color:var(--red)}.incident-status{color:#59665f;background:#eef1ef}.incident-status-in_review{color:#3f6c85;background:#e6eef5}.incident-status-action_required{color:#a24f2e;background:#fae8df}.incident-status-resolved{background:var(--green-soft);color:var(--green)}.incident-status-closed_no_action{color:#68746e;background:#eceeed}.incident-drawer-title>div{gap:6px;display:flex}.incident-drawer-title h2{margin:16px 0 7px;font-size:24px}.incident-drawer-title p{color:#65736c;margin:0;font-size:11px;line-height:1.6}.incident-photo{background:#edf1ef;border-radius:11px;height:220px;margin-top:20px;overflow:hidden}.incident-photo img{object-fit:cover;width:100%;height:100%}.incident-no-photo{color:#96a19b;border:1px dashed #d5ded9;border-radius:10px;align-content:center;place-items:center;gap:7px;height:90px;margin-top:20px;font-size:9px;display:grid}.incident-drawer .detail-list a{color:var(--green);align-items:center;gap:3px;display:flex}.incident-workflow{margin-top:24px}.incident-workflow>span{color:#829089;text-transform:uppercase;font-size:8px;font-weight:700}.incident-workflow>div{grid-template-columns:1fr 1fr;gap:7px;margin-top:9px;display:grid}.incident-workflow button{border:1px solid var(--line);color:#617069;cursor:pointer;background:#fafbfa;border-radius:8px;justify-content:center;align-items:center;gap:5px;min-height:38px;padding:0 9px;font-size:9px;font-weight:650;display:flex}.incident-workflow button.active{background:var(--green-soft);color:var(--green);border-color:#75ac94}.override-check{cursor:pointer;background:#fff4f2;border:1px solid #edc1bb;border-radius:10px;grid-template-columns:24px 1fr;align-items:center;gap:10px;margin-top:18px;padding:13px;display:grid}.override-check input{opacity:0;position:absolute}.override-check>span{color:#0000;border:1px solid #d7aaa5;border-radius:7px;place-items:center;width:24px;height:24px;display:grid}.override-check.checked>span{border-color:var(--red);background:var(--red);color:#fff}.override-check strong,.override-check small{display:block}.override-check strong{color:#8f3e36;font-size:10px}.override-check small{color:#9c7772;margin-top:4px;font-size:8px}@media (max-width:900px){.incident-stats{grid-template-columns:1fr 1fr}.incident-table-head{display:none}.incident-rows>button{grid-template-columns:1fr 1fr auto}.incident-rows>button>span:nth-of-type(3),.incident-rows>button>span:nth-of-type(5){display:none}}@media (max-width:560px){.incident-stats{grid-template-columns:1fr}.incident-rows>button{grid-template-columns:1fr auto}.incident-rows>button>span:nth-of-type(2),.incident-rows>button>span:nth-of-type(4){display:none}}.admin-directory-content{max-width:1500px}.directory-tabs{border:1px solid var(--line);background:#fff;border-radius:11px;gap:4px;width:fit-content;margin:24px 0 12px;padding:5px;display:flex}.directory-tabs a{color:#6f7d76;border-radius:8px;align-items:center;gap:7px;min-height:35px;padding:0 11px;font-size:10px;font-weight:650;display:flex}.directory-tabs a span{color:#76847d;text-align:center;background:#edf1ef;border-radius:10px;min-width:20px;padding:2px 5px;font-size:8px}.directory-tabs a.active{background:var(--green-soft);color:var(--green)}.directory-tabs a.active span{color:var(--green-dark);background:#cfe7dc}.directory-stats{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:repeat(4,1fr);margin-bottom:12px;display:grid}.directory-stats>div{border-right:1px solid #e8ecea;min-height:88px;padding:16px 18px}.directory-stats>div:last-child{border-right:0}.directory-stats span,.directory-stats strong,.directory-stats small{display:block}.directory-stats span{color:#7d8983;letter-spacing:.06em;text-transform:uppercase;font-size:8px;font-weight:700}.directory-stats strong{margin:5px 0 3px;font-size:22px}.directory-stats small{color:#8a9690;font-size:8px}.directory-panel{overflow:hidden}.directory-toolbar{border-bottom:1px solid #e8ecea;align-items:center;gap:16px;min-height:70px;padding:15px 18px;display:flex}.directory-toolbar>div{margin-right:auto}.directory-toolbar strong,.directory-toolbar span{display:block}.directory-toolbar strong{font-size:14px}.directory-toolbar span{color:#8a9690;margin-top:4px;font-size:8px}.directory-list>button{cursor:pointer;text-align:left;background:#fff;border:0;border-bottom:1px solid #edf0ee;grid-template-columns:40px minmax(180px,1.1fr) minmax(180px,1fr) minmax(170px,.9fr) 24px;align-items:center;gap:12px;width:100%;min-height:76px;padding:11px 18px;display:grid}.directory-list>button:hover{background:#f7faf8}.directory-list>button>span:not(.directory-avatar){min-width:0}.directory-list strong,.directory-list small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.directory-list strong{font-size:10px}.directory-list small{color:#849089;margin-top:5px;font-size:8px}.directory-list>button>svg{color:#89968f}.directory-avatar{color:#1a674d;background:#dfeee7;border-radius:10px;place-items:center;width:36px;height:36px;font-size:9px;font-weight:750;display:grid}.directory-avatar.site{background:var(--blue-soft);color:var(--blue)}.directory-avatar.equipment{background:var(--violet-soft);color:var(--violet)}.directory-drawer-layer{z-index:80;position:fixed;inset:0}.directory-drawer-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0e1f1947;border:0;width:100%;position:absolute;inset:0}.directory-drawer{background:#fff;width:min(440px,100%);padding:24px;position:absolute;top:0;bottom:0;right:0;overflow-y:auto;box-shadow:-18px 0 50px #12261e26}.directory-drawer>header{justify-content:space-between;align-items:center;display:flex}.directory-drawer-icon{background:var(--green-soft);width:44px;height:44px;color:var(--green);border-radius:12px;place-items:center;display:grid}.directory-drawer-icon.site{background:var(--blue-soft);color:var(--blue)}.directory-drawer-icon.equipment{background:var(--violet-soft);color:var(--violet)}.directory-drawer-title{border-bottom:1px solid #e8ecea;padding:24px 0 18px}.directory-drawer-title>span{color:var(--green);letter-spacing:.07em;text-transform:uppercase;font-size:8px;font-weight:750}.directory-drawer-title h2{letter-spacing:-.035em;margin:7px 0;font-size:24px}.directory-drawer-title p{color:#728079;margin:0;font-size:10px}.directory-facts{margin:0;padding:8px 0}.directory-facts>div{border-bottom:1px solid #edf0ee;padding:12px 0}.directory-facts dt{color:#829089;text-transform:uppercase;align-items:center;gap:7px;font-size:8px;font-weight:650;display:flex}.directory-facts dd{color:#34463e;margin:6px 0 0 21px;font-size:10px;line-height:1.45}.directory-mini-stats{grid-template-columns:repeat(3,1fr);gap:7px;margin:14px 0;display:grid}.directory-mini-stats.two{grid-template-columns:repeat(2,1fr)}.directory-mini-stats>div{background:#f3f6f4;border-radius:9px;padding:13px}.directory-mini-stats strong,.directory-mini-stats span{display:block}.directory-mini-stats strong{font-size:18px}.directory-mini-stats span{color:#7d8983;margin-top:3px;font-size:8px}.directory-note{color:var(--green);background:#eff8f4;border:1px solid #cee5da;border-radius:10px;align-items:flex-start;gap:10px;margin-top:15px;padding:14px;display:flex}.directory-note.access{color:#586a62;background:#f7f9f8;border-color:#dfe5e2}.directory-note svg{flex:none}.directory-note strong,.directory-note span{display:block}.directory-note strong{font-size:10px}.directory-note span{color:#708078;margin-top:5px;font-size:9px;line-height:1.55}@media (max-width:900px){.directory-stats{grid-template-columns:1fr 1fr}.directory-stats>div:nth-child(2){border-right:0}.directory-stats>div:nth-child(-n+2){border-bottom:1px solid #e8ecea}.directory-list>button{grid-template-columns:40px 1fr 1fr 24px}.directory-list>button>span:nth-of-type(4){display:none}}@media (max-width:620px){.directory-tabs{width:100%;overflow-x:auto}.directory-tabs a{white-space:nowrap;flex:1;justify-content:center}.directory-stats{grid-template-columns:1fr 1fr}.directory-toolbar{flex-direction:column;align-items:stretch}.directory-toolbar .mini-search{width:100%}.directory-list>button{grid-template-columns:40px 1fr 20px}.directory-list>button>span:nth-of-type(3){display:none}}.admin-resource-content{max-width:1500px}.resource-stats{grid-template-columns:repeat(4,1fr);gap:10px;margin:24px 0 13px;display:grid}.resource-stats>div{border:1px solid var(--line);background:#fff;border-radius:11px;align-items:center;gap:12px;min-height:88px;padding:16px;display:flex}.resource-stats>div>svg{background:var(--green-soft);width:38px;height:38px;color:var(--green);border-radius:10px;padding:9px}.resource-stats>div:nth-child(2)>svg{background:var(--blue-soft);color:var(--blue)}.resource-stats>div:nth-child(3)>svg{background:var(--violet-soft);color:var(--violet)}.resource-stats>div:nth-child(4)>svg{background:var(--amber-soft);color:var(--amber)}.resource-stats small,.resource-stats strong{display:block}.resource-stats small{color:#7e8a84;text-transform:uppercase;margin-bottom:4px;font-size:8px}.resource-stats strong{font-size:22px}.resource-panel{overflow:hidden}.resource-toolbar{border-bottom:1px solid #e9edea;align-items:center;gap:9px;min-height:70px;padding:15px 18px;display:flex}.resource-toolbar>div{margin-right:auto}.resource-toolbar>div strong,.resource-toolbar>div span{display:block}.resource-toolbar>div strong{font-size:14px}.resource-toolbar>div span{color:#87938d;margin-top:4px;font-size:8px}.resource-toolbar select{border:1px solid var(--line);color:#52615a;background:#fff;border-radius:8px;height:36px;padding:0 30px 0 10px;font-size:9px}.technician-grid{padding:8px 18px}.technician-grid>button{cursor:pointer;text-align:left;background:#fff;border:0;border-bottom:1px solid #edf0ee;grid-template-columns:42px minmax(160px,1fr) minmax(105px,.55fr) minmax(250px,1.25fr) 22px;align-items:center;gap:12px;width:100%;min-height:82px;padding:11px 0;display:grid}.technician-grid>button:last-child{border-bottom:0}.technician-grid>button:hover{background:#f8fbf9}.resource-avatar{width:38px;height:38px;color:var(--green);background:#dcece5;border-radius:10px;place-items:center;font-size:10px;font-weight:750;display:grid}.technician-card-name strong,.technician-card-name small{display:block}.technician-card-name strong{font-size:11px}.technician-card-name small{color:#829089;margin-top:5px;font-size:8px}.document-badge{background:var(--green-soft);width:fit-content;color:var(--green);border-radius:20px;padding:5px 8px;font-size:8px;font-weight:700}.document-badge.warning{background:var(--amber-soft);color:var(--amber)}.technician-card-metrics{grid-template-columns:repeat(3,1fr);display:grid}.technician-card-metrics>span{border-left:1px solid #e5eae7;padding-left:12px}.technician-card-metrics strong,.technician-card-metrics small{display:block}.technician-card-metrics strong{font-size:13px}.technician-card-metrics small{color:#87938d;margin-top:3px;font-size:7px}.technician-grid>button>svg{color:#8a9690}.resource-profile-head{border-bottom:1px solid #e8ecea;align-items:center;gap:13px;padding-bottom:20px;display:flex}.resource-profile-head>span{background:var(--green-soft);width:52px;height:52px;color:var(--green);border-radius:14px;place-items:center;font-size:13px;font-weight:750;display:grid}.resource-profile-head h2{margin:0;font-size:22px}.resource-profile-head p{color:#77857e;margin:5px 0 0;font-size:10px}.detail-list dt svg{vertical-align:middle;margin-right:5px}.resource-drawer-stats{grid-template-columns:repeat(3,1fr);gap:7px;margin-top:20px;display:grid}.resource-drawer-stats>div{background:#f3f6f4;border-radius:9px;padding:13px}.resource-drawer-stats strong,.resource-drawer-stats span{display:block}.resource-drawer-stats strong{font-size:18px}.resource-drawer-stats span{color:#7d8983;margin-top:4px;font-size:8px}.resource-callout{background:#f6f8f7;border:1px solid #dce5e0;border-radius:10px;margin-top:14px;padding:14px}.resource-callout.warning{background:#fff8ed;border-color:#ecd2a9}.resource-callout strong{text-transform:uppercase;font-size:9px}.resource-callout p{color:#66756e;margin:7px 0 0;font-size:10px;line-height:1.6}.quality-table-head,.quality-rows>a{grid-template-columns:1.15fr .9fr .65fr .65fr .65fr .5fr 20px;align-items:center;gap:10px;display:grid}.quality-table-head{color:#89958f;text-transform:uppercase;background:#fafbfa;min-height:38px;padding:0 18px;font-size:8px;font-weight:700}.quality-rows>a{border-top:1px solid #edf0ee;min-height:74px;padding:10px 18px}.quality-rows>a:hover{background:#f8fbf9}.quality-rows span>strong,.quality-rows span>small{display:block}.quality-rows span>strong{font-size:10px}.quality-rows span>small{color:#849089;margin-top:4px;font-size:8px}.quality-count strong{color:#9b5c21}.quality-count.complete strong{color:var(--green)}.quality-score{color:#6c7872;background:#f0f2f1;border-radius:8px;place-items:center;width:42px;height:30px;font-size:9px;font-weight:750;display:grid}.quality-score.complete{background:var(--green-soft);color:var(--green)}.quality-score.partial{background:var(--amber-soft);color:var(--amber)}.quality-rows>a>svg{color:#89958f}.products-layout{grid-template-columns:minmax(0,1fr) minmax(360px,.8fr);gap:13px;display:grid}.product-cards>button{cursor:pointer;text-align:left;background:#fff;border:0;border-bottom:1px solid #edf0ee;grid-template-columns:42px minmax(160px,1fr) 110px 20px;align-items:center;gap:12px;width:100%;min-height:88px;padding:12px 18px;display:grid}.product-icon{background:var(--blue-soft);width:40px;height:40px;color:var(--blue);border-radius:10px;place-items:center;display:grid}.product-cards strong,.product-cards small,.product-cards em{display:block}.product-cards strong{margin-top:4px;font-size:11px}.product-cards small{color:#849089;margin-top:4px;font-size:8px}.product-cards em,.protocol-cards em{color:#8b9691;text-transform:uppercase;width:fit-content;font-size:7px;font-style:normal;font-weight:750}.product-cards em.active,.protocol-cards em.active{color:var(--green)}.product-cards>button>svg{color:#8b9691}.protocol-cards{padding:8px 17px}.protocol-cards>button{cursor:pointer;text-align:left;background:#fff;border:0;border-bottom:1px solid #edf0ee;grid-template-columns:38px 1fr 20px;align-items:center;gap:10px;width:100%;min-height:83px;padding:10px 0;display:grid}.protocol-cards>button>span{background:var(--violet-soft);width:36px;height:36px;color:var(--violet);border-radius:9px;place-items:center;display:grid}.protocol-cards strong,.protocol-cards small{display:block}.protocol-cards strong{margin-top:5px;font-size:10px}.protocol-cards small{color:#849089;margin-top:4px;font-size:8px}.protocol-cards>button>svg{color:#8b9691}.protocol-summary{background:#f4f7f5;border-radius:10px;padding:15px}.protocol-summary span{color:#69766f;background:#e7eae8;border-radius:18px;padding:5px 8px;font-size:8px;font-weight:700}.protocol-summary span.active{background:var(--green-soft);color:var(--green)}.protocol-summary p{color:#68766f;margin:11px 0 0;font-size:10px;line-height:1.5}.protocol-steps{margin:17px 0 0;padding:0;list-style:none}.protocol-steps li{border-bottom:1px solid #edf0ee;grid-template-columns:28px 1fr 20px;align-items:center;gap:9px;min-height:55px;display:grid}.protocol-steps li>span{color:#56665e;background:#edf2ef;border-radius:7px;place-items:center;width:25px;height:25px;font-size:8px;font-weight:750;display:grid}.protocol-steps strong,.protocol-steps small{display:block}.protocol-steps strong{font-size:9px}.protocol-steps small{color:#88948e;margin-top:4px;font-size:7px}.protocol-steps li>svg{color:var(--amber)}@media (max-width:1050px){.products-layout{grid-template-columns:1fr}.technician-grid>button{grid-template-columns:42px 1fr 115px 22px}.technician-card-metrics{display:none}.quality-table-head,.quality-rows>a{grid-template-columns:1.2fr .9fr .65fr .65fr 20px}.quality-table-head>span:nth-child(4),.quality-table-head>span:nth-child(5),.quality-rows>a>span:nth-child(4),.quality-rows>a>span:nth-child(5){display:none}}@media (max-width:720px){.resource-stats{grid-template-columns:1fr 1fr}.resource-toolbar{flex-direction:column;align-items:stretch}.resource-toolbar .mini-search,.resource-toolbar select{width:100%}.technician-grid>button{grid-template-columns:42px 1fr 20px}.document-badge,.quality-table-head{display:none}.quality-rows>a{grid-template-columns:1fr 55px 20px}.quality-rows>a>span:nth-child(2),.quality-rows>a>span:nth-child(3){display:none}.product-cards>button{grid-template-columns:42px 1fr 20px}.product-cards>button>span:nth-child(3){display:none}}.admin-integrations-content{max-width:1450px}.integration-config{background:#eff8f4;border:1px solid #cee5da;border-radius:11px;align-items:center;gap:12px;margin-top:24px;padding:16px 18px;display:flex}.integration-config.warning{background:#fff8ed;border-color:#ecd2a9}.integration-config>span{width:38px;height:38px;color:var(--green);background:#d7eee3;border-radius:10px;flex:none;place-items:center;display:grid}.integration-config.warning>span{color:var(--amber);background:#f9e7c9}.integration-config>div{flex:1}.integration-config strong{font-size:11px}.integration-config p{color:#68766f;margin:4px 0 0;font-size:9px}.integration-config code{color:#52615a;background:#fffc;border-radius:7px;padding:8px 10px;font-size:9px}.integration-stats{margin-top:13px}.integration-panel{overflow:hidden}.integration-endpoint{color:var(--green);align-items:center;gap:6px;font-size:8px;font-weight:700;display:flex}.integration-head,.integration-events article{grid-template-columns:minmax(260px,1.4fr) .7fr .4fr .5fr;align-items:center;gap:12px;display:grid}.integration-head{color:#89958f;text-transform:uppercase;background:#fafbfa;min-height:38px;padding:0 18px;font-size:8px;font-weight:700}.integration-events article{border-top:1px solid #edf0ee;min-height:74px;padding:10px 18px}.integration-events article>span:first-child{align-items:center;gap:10px;min-width:0;display:flex}.integration-events article>span:first-child>svg{color:#789386;flex:none}.integration-events strong,.integration-events small,.integration-events em{display:block}.integration-events strong{font-size:10px}.integration-events small{color:#8a9690;text-overflow:ellipsis;margin-top:4px;font-size:7px;overflow:hidden}.integration-events em{color:var(--red);margin-top:4px;font-size:7px;font-style:normal}.integration-events time{color:#6f7d76;font-size:9px}.integration-status{color:#66736d;background:#eef1ef;border-radius:18px;width:fit-content;padding:5px 8px;font-size:8px;font-weight:700}.integration-status.processed{background:var(--green-soft);color:var(--green)}.integration-status.processing{background:var(--blue-soft);color:var(--blue)}.integration-status.dead{background:var(--red-soft);color:var(--red)}.integration-status.pending{background:var(--amber-soft);color:var(--amber)}@media (max-width:720px){.integration-config{align-items:flex-start}.integration-config code,.integration-head{display:none}.integration-events article{grid-template-columns:1fr auto}.integration-events article>time,.integration-events article>strong{display:none}}.passkey-login{gap:11px;margin-top:24px;display:grid}.passkey-login label{color:#4c5c55;gap:7px;font-size:11px;font-weight:700;display:grid}.passkey-login input{min-height:46px;font:inherit;background:#fbfcfb;border:1px solid #d5ded9;border-radius:9px;outline:0;padding:0 12px}.passkey-login input:focus{border-color:#6eaa90;box-shadow:0 0 0 3px #e4f0ea}.passkey-login>button,.passkey-primary{background:var(--green);color:#fff;cursor:pointer;text-align:left;border:0;border-radius:10px;align-items:center;gap:11px;min-height:57px;padding:9px 13px;display:flex}.passkey-login>button>svg,.passkey-primary>svg{flex:none;width:23px}.passkey-login button span,.passkey-primary span,.passkey-login button strong,.passkey-login button small,.passkey-primary strong,.passkey-primary small{display:block}.passkey-login button strong,.passkey-primary strong{font-size:12px}.passkey-login button small,.passkey-primary small{color:#c6e1d5;margin-top:3px;font-size:8px}.passkey-login>p{color:#849089;text-align:center;margin:3px 0 0;font-size:9px;line-height:1.5}.passkey-error{background:var(--red-soft);color:var(--red);border-radius:8px;align-items:center;gap:7px;padding:10px;font-size:9px;display:flex}.passkey-error svg{flex:none;width:15px}.activation-panel{width:min(470px,100% - 32px)}.passkey-primary{width:100%;margin-top:24px}.passkey-security{color:#315b4b;background:#eff7f3;border-radius:9px;gap:9px;margin-top:12px;padding:12px;display:flex}.passkey-security svg{flex:none;width:18px}.passkey-security p{margin:0;font-size:9px;line-height:1.55}.activation-expiry{color:#849089;justify-content:center;align-items:center;gap:6px;margin-top:18px;font-size:8px;display:flex}.activation-expiry svg{width:13px}.admin-access-content{max-width:1450px}.access-error{margin-top:12px}.access-panel{margin-top:13px;overflow:hidden}.access-head,.access-rows article{grid-template-columns:minmax(220px,1.2fr) .6fr .8fr .7fr .35fr 34px;align-items:center;gap:12px;display:grid}.access-head{color:#89958f;text-transform:uppercase;background:#fafbfa;min-height:38px;padding:0 18px;font-size:8px;font-weight:700}.access-rows article{border-top:1px solid #edf0ee;min-height:74px;padding:10px 18px}.access-rows article>span:first-child{align-items:center;gap:9px;display:flex}.access-rows article>span:first-child i{background:var(--green-soft);width:32px;height:32px;color:var(--green);border-radius:9px;flex:none;place-items:center;font-size:8px;font-style:normal;font-weight:750;display:grid}.access-rows strong,.access-rows small{display:block}.access-rows strong{font-size:9px}.access-rows small{color:#849089;margin-top:4px;font-size:7px}.access-rows article>span:nth-child(4){color:#6f7d76;font-size:8px}.access-rows article>button{width:32px;height:32px;color:var(--red);cursor:pointer;background:#fff7f6;border:1px solid #e4bbb6;border-radius:8px;place-items:center;display:grid}.access-rows article>button:disabled{color:#aab2ae;cursor:default;background:#f7f8f7;border-color:#e2e7e4}.access-rows article>button svg{width:14px}.access-modal{width:min(520px,100% - 28px)}.activation-result{text-align:center;padding:25px}.activation-result>svg{width:42px;height:42px;color:var(--green)}.activation-result strong,.activation-result p,.activation-result code{display:block}.activation-result strong{margin-top:10px;font-size:14px}.activation-result p{color:#738079;margin:6px 0 14px;font-size:10px}.activation-result code{overflow-wrap:anywhere;color:#405149;text-align:left;background:#f1f4f2;border-radius:8px;padding:11px;font-size:8px}.activation-result button{border:1px solid var(--line);color:#405149;cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:6px;min-height:38px;margin:13px auto 0;padding:0 12px;font-size:9px;font-weight:700;display:flex}.activation-result button svg{width:14px}@media (max-width:850px){.access-head{display:none}.access-rows article{grid-template-columns:1fr .7fr 34px}.access-rows article>strong:nth-child(2),.access-rows article>span:nth-child(4),.access-rows article>strong:nth-child(5){display:none}}
