
:root{--navy:#06375d;--navy2:#001e3b;--blue:#076e96;--green:#159447;--red:#f03632;--bg:#f5f7fa;--text:#0b3156;--muted:#667b98;--line:#dfe6ee;--shadow:0 4px 14px rgba(12,45,79,.08);--brand-background:url('/industrial-banner-v9.png?v=9001')}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Segoe UI,Arial,sans-serif;color:var(--text);background:var(--bg)}a{text-decoration:none;color:inherit}.app-shell{min-height:100vh;display:grid;grid-template-columns:310px 1fr}.sidebar{position:fixed;inset:0 auto 0 0;width:310px;background:#fff;color:var(--text);display:flex;flex-direction:column;z-index:10;border-right:1px solid var(--line)}
.brand{height:202px;background:#fff;padding:18px 22px 10px;display:flex;align-items:center;justify-content:center}.brand img{width:100%;height:160px;object-fit:contain;image-rendering:auto}.brand span{display:none}.sidebar nav{padding:16px 24px}.sidebar nav a{display:flex;align-items:center;gap:14px;padding:14px 16px;margin:5px 0;border-radius:9px;font-weight:500;font-size:15px}.sidebar nav a b{font-size:22px;width:24px;text-align:center;color:var(--navy)}.sidebar nav a:hover,.sidebar nav a.active{background:linear-gradient(90deg,#08749a,#064875);color:#fff;box-shadow:0 5px 15px rgba(0,54,93,.16)}.sidebar nav a.active b,.sidebar nav a:hover b{color:#fff}.sidebar-factory{display:none}.sidebar footer{margin:auto 24px 24px;padding:18px;border:1px solid var(--line);border-radius:11px;text-align:left;font-weight:700;line-height:1.7;background:#fff;box-shadow:var(--shadow)}.sidebar footer:before{content:'●  SYSTÈME OPÉRATIONNEL';display:block;color:#0a8f42;font-size:12px;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:12px}.sidebar footer small{font-weight:400;color:var(--muted)}
.main-area{grid-column:2;min-width:0}.hero{height:202px;position:relative;background:var(--brand-background) left center/cover no-repeat;overflow:hidden;color:#fff}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.93) 0%,rgba(255,255,255,.48) 18%,rgba(255,255,255,.04) 43%,rgba(0,28,59,.30) 72%,rgba(0,22,48,.82) 100%)}.hero-title{display:none!important}.hero-title>*{display:none!important}.clock{position:absolute;right:48px;top:45px;display:flex;flex-direction:column;align-items:flex-end;padding-bottom:18px;border-bottom:2px solid rgba(255,255,255,.9);min-width:260px}.clock strong{font-size:54px;font-weight:300;letter-spacing:1px}.clock span{font-size:16px;margin-top:10px}
main{padding:14px 16px 28px}main:before{content:'●  SYSTÈME CONNECTÉ À TIMEMOTO TM626';display:flex;align-items:center;height:61px;padding:0 22px;margin-bottom:18px;background:#fff;border:1px solid var(--line);border-radius:11px;box-shadow:var(--shadow);color:#0b3d66;font-weight:700}.stats-grid{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:14px;margin-bottom:16px}.stat-card,.panel{background:#fff;border:1px solid var(--line);border-radius:11px;box-shadow:var(--shadow)}.stat-card{min-height:132px;padding:20px;display:flex;align-items:center;gap:18px}.stat-icon{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:30px;font-weight:800;flex:0 0 auto}.stat-icon.blue{background:linear-gradient(145deg,#0781a7,#00436a)}.stat-icon.green{background:linear-gradient(145deg,#32b75d,#087b35)}.stat-icon.red{background:linear-gradient(145deg,#ff5854,#df1d20)}.stat-card div{display:flex;flex-direction:column}.stat-card small{font-size:12px;font-weight:800}.stat-card strong{font-size:38px;line-height:1.05;margin:5px 0}.stat-card strong.time-value{font-size:25px}.stat-card em{font-style:normal;color:var(--muted);font-size:13px}.content-grid{display:grid;grid-template-columns:320px 1fr;gap:14px}.panel{padding:18px}.panel h2{font-size:17px;text-transform:uppercase;margin:0 0 16px}.filters-panel form,.history-filters{display:grid;gap:13px}.filters-panel label,.history-filters label{display:grid;gap:7px;font-size:13px;font-weight:700}input,select,button{font:inherit;border:1px solid #d5deea;border-radius:8px;padding:12px;background:#fff;color:var(--text)}input:focus,select:focus{outline:2px solid #8bc5db;border-color:var(--blue)}button,.export-button,.secondary-button{border:0;background:linear-gradient(90deg,#08749a,#07567e);color:#fff;font-weight:700;text-align:center;cursor:pointer;padding:12px 15px;border-radius:8px}.secondary-button{background:#fff;color:var(--blue);border:1px solid var(--blue)}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}.panel-head h2{margin:0 0 3px}.panel-head span{color:var(--muted);font-size:12px}.export-button{font-size:13px;white-space:nowrap}.table-panel{min-width:0}.table-wrap{overflow:auto;max-height:600px;border:1px solid var(--line);border-radius:8px}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:13px 12px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}th{position:sticky;top:0;background:#fbfcfe;z-index:1;font-size:11px;text-transform:uppercase;color:#334865}.badge{display:inline-flex;border-radius:5px;padding:5px 9px;font-weight:800;font-size:11px;text-transform:uppercase}.badge.entry{background:#e6f7eb;color:#087b35;border:1px solid #b8e5c5}.badge.exit{background:#fff0ef;color:#d92324;border:1px solid #ffc7c3}.badge.neutral{background:#eef2f7;color:#57677e}.subline{display:block;color:var(--muted);font-size:11px;margin-top:3px}.empty{text-align:center!important;color:var(--muted);padding:36px!important}.history-panel{padding:17px}.history-filters{grid-template-columns:2fr repeat(3,1fr) auto;align-items:end;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 0}.result-count{text-align:right;color:var(--muted);font-size:12px;padding:10px 0}.history-table{max-height:calc(100vh - 365px)}.diagnostic-card{max-width:920px}.service-row{display:grid;grid-template-columns:220px 1fr;gap:15px;padding:15px;border-bottom:1px solid var(--line);align-items:center}.service-row .ok{color:var(--green)}code,pre{white-space:pre-wrap;word-break:break-all;background:#f0f4f8;padding:7px;border-radius:6px}.error-box{color:#a51f1f}.login-page{display:grid;place-items:center;background:linear-gradient(rgba(0,29,59,.78),rgba(0,29,59,.88)),var(--brand-background) center/cover;min-height:100vh}.login-card{width:min(420px,92vw);background:#fff;border-radius:18px;padding:32px;box-shadow:0 18px 60px rgba(0,0,0,.32);text-align:center}.login-card img{width:280px}.login-card h1{margin:10px 0 3px}.login-card p{color:var(--muted)}.login-card form{display:grid;gap:12px;margin-top:22px}.login-card button{font-size:16px}
@media(max-width:1200px){.app-shell{grid-template-columns:250px 1fr}.sidebar{width:250px}.stats-grid{grid-template-columns:repeat(2,1fr)}.content-grid{grid-template-columns:1fr}.filters-panel form{grid-template-columns:1fr 1fr auto auto;align-items:end}.history-filters{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.app-shell{display:block}.sidebar{position:static;width:100%;height:auto}.brand{height:110px}.brand img{height:95px}.sidebar nav{display:flex;overflow:auto;padding:8px}.sidebar nav a{white-space:nowrap}.sidebar footer{display:none}.main-area{grid-column:auto}.hero{height:135px}.hero-title{left:14px;width:230px;background-size:210px auto}.clock{right:14px;top:32px;min-width:150px}.clock strong{font-size:30px}.clock span{font-size:12px}.stats-grid{grid-template-columns:1fr}.content-grid{display:block}.filters-panel{margin-bottom:12px}.filters-panel form,.history-filters{grid-template-columns:1fr}.panel-head{align-items:flex-start;flex-direction:column}main{padding:10px}.service-row{grid-template-columns:1fr}}

/* EDTI POINTAGE DPF V9 - logo unique à gauche - cache 9001 */
