@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--navy:#24223e;--red:#ed1430;--bg:#f6f7fa;--line:#e9ebf0;--muted:#858695}*{box-sizing:border-box}body{margin:0;font:14px 'DM Sans',Arial,sans-serif;color:var(--navy);background:var(--bg)}button,input,select,textarea{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid var(--line);border-radius:7px;padding:10px 15px;background:white;color:var(--navy);font-weight:600}button:hover{background:#f0f1f5}button.primary{background:var(--red);border-color:var(--red);color:white}button.primary:hover{background:#d20c25}aside{width:246px;background:white;position:fixed;inset:0 auto 0 0;border-right:1px solid var(--line);padding:32px 20px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:9px;text-decoration:none;color:var(--navy)}.brand img{width:45px}.brand b{font:bold italic 18px Arial}.brand em{color:var(--red)}small{display:block}.brand small{font-size:8px;letter-spacing:1.6px;margin-top:5px}.navlabel{color:#a1a1ae;font-size:9px;letter-spacing:1.5px;margin:49px 12px 15px}nav button{display:flex;align-items:center;gap:13px;width:100%;border:0;text-align:left;margin:5px 0;padding:14px 13px;font-weight:500;color:#767686}nav button.active{background:#fff0f2;color:var(--red)}nav svg{width:19px;height:19px}.asidebottom{margin-top:auto;border-top:1px solid var(--line);padding:23px 8px 0;font-size:12px}.asidebottom small{color:var(--muted);margin:9px 14px;font-size:10px}.dot{display:inline-block;width:7px;height:7px;background:#39a57c;border-radius:50%;margin-right:7px}.shell{margin-left:246px}header{height:80px;display:flex;justify-content:space-between;align-items:center;padding:0 42px;background:white;border-bottom:1px solid var(--line);font-size:12px}header b{font-weight:500;margin-left:14px}.muted{color:var(--muted);margin-left:14px}.profile{display:flex;align-items:center;font-size:11px}.avatar{background:#efedf6;border-radius:50%;padding:11px;margin-left:22px;font-weight:bold}main{padding:35px 42px;min-height:calc(100vh - 130px)}.eyebrow{text-transform:uppercase;font-size:10px;letter-spacing:1.7px;color:var(--muted);font-weight:700}h1{font-family:Manrope,Arial;font-size:29px;letter-spacing:-1px;margin:8px 0}h2{font:700 16px Manrope,Arial;margin:0}h3{font-size:14px}p{color:var(--muted);line-height:1.6}.pagehead{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;gap:20px}.pagehead p{margin:8px 0 0;font-size:12px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:27px}.metric{background:white;padding:22px;border:1px solid var(--line);border-radius:10px}.metric .metriclabel{display:flex;justify-content:space-between;color:#777787;font-size:12px}.metric strong{display:block;font:800 32px Manrope;margin:12px 0 7px}.metric small{font-size:10px;color:var(--muted)}.metric svg{width:19px;height:19px;color:#a4a1b7}.green{color:#269870!important}.red{color:var(--red)!important}.grid{display:grid;grid-template-columns:1fr 310px;gap:23px}.panel{border:1px solid var(--line);border-radius:10px;background:white;overflow:hidden;margin-bottom:23px}.panelhead{padding:21px 23px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:15px}.panelhead small{margin-top:6px;color:var(--muted);font-size:11px}.link{border:0;padding:0;background:transparent;color:var(--red);font-size:11px}.panelbody{padding:22px}.activity{display:flex;gap:13px;padding:15px 0;border-bottom:1px solid var(--line)}.activity:last-child{border:0}.activity .iconbox{background:#f3f2f8;color:#74718f;width:35px;height:35px;border-radius:8px;padding:9px}.activity p{font-size:11px;margin:5px 0}.activity b{font-size:12px}.activity small{color:var(--muted);font-size:10px}.alert{padding:15px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;font-size:12px}.alert small{color:var(--muted);font-size:10px;margin-top:6px}.alert b{color:#d88725;font-size:12px}.callout{background:var(--navy);border-radius:10px;padding:24px;color:white}.callout p{font-size:12px;color:#c2bfd5;margin:12px 0 20px}.callout button{width:100%}.toolbar{display:flex;gap:12px;padding:18px 22px;border-bottom:1px solid var(--line);flex-wrap:wrap}input,select,textarea{padding:11px;border:1px solid #dedee7;border-radius:6px;background:white;color:var(--navy);max-width:100%}input:focus,select:focus,textarea:focus{outline:2px solid #efb5c0}input[type=search]{min-width:250px}table{border-collapse:collapse;width:100%;text-align:left}th{font-size:9px;letter-spacing:1px;text-transform:uppercase;color:#92919f;background:#fcfcfd;padding:15px 22px;font-weight:600}td{padding:18px 22px;border-top:1px solid var(--line);font-size:12px}td small{color:var(--muted);font-size:10px;margin-top:6px}.badge{display:inline-block;border-radius:5px;padding:6px 9px;font-size:10px;white-space:nowrap;background:#eeedf5;color:#76728c}.badge.ready{background:#eaf7f0;color:#31865e}.badge.busy{background:#fff5e6;color:#b7802f}.badge.site{background:#edf2ff;color:#6386c3}.moduleid{font-weight:700;letter-spacing:.4px}.rowbutton{padding:6px 10px;font-size:11px}.empty{text-align:center;padding:35px;color:var(--muted);font-size:12px}footer{padding:10px 42px 25px;color:#aaa9b4;font-size:10px;display:flex;justify-content:space-between}dialog{border:0;border-radius:12px;padding:0;width:680px;max-width:94vw;box-shadow:0 25px 100px #17162640;max-height:90vh}dialog::backdrop{background:#24223e70}.modalhead{padding:22px 25px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.modalhead button{border:0;font-size:23px;padding:0 8px}#dialogbody{padding:25px}form{display:grid;gap:17px}label{display:grid;gap:8px;font-size:12px;font-weight:600}.formrow{display:grid;grid-template-columns:1fr 1fr;gap:15px}.formactions{display:flex;justify-content:flex-end;margin-top:8px}textarea{min-height:90px;resize:vertical}.error{color:var(--red);font-size:12px}.photos{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0}.photos img{height:90px;max-width:150px;object-fit:cover;border-radius:6px}.signature{width:100%;height:150px;border:1px dashed #b8b6c7;touch-action:none;border-radius:6px}.detailhead{display:flex;justify-content:space-between;align-items:center}.detailstat{display:flex;gap:30px;padding:20px 0}.detailstat small{color:var(--muted);margin-bottom:6px}.timeline{border-left:2px solid #efedf5;padding-left:20px;margin:20px 0}.timeline article{padding-bottom:22px}.timeline h3{margin:6px 0}.timeline p{font-size:12px;white-space:pre-wrap}.signatureimage{background:#fafafa;width:230px;display:block}.tablewrap{overflow:auto}#toast{display:none;position:fixed;bottom:25px;right:25px;background:var(--navy);color:white;padding:16px 23px;border-radius:8px;z-index:20}svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.sitecard{padding:23px}.sitecard p{font-size:12px}.notice{background:#fff5e7;padding:13px 16px;border-radius:6px;color:#986c2c;font-size:12px;margin-bottom:20px}@media(max-width:1100px){aside{width:210px;padding:25px 15px}.shell{margin-left:210px}main{padding:28px 24px}header{padding:0 24px}.grid{grid-template-columns:1fr}.rightcol{display:grid;grid-template-columns:1fr 1fr;gap:20px}.metrics{gap:10px}.metric{padding:17px}.cards{grid-template-columns:1fr 1fr}}@media(max-width:700px){aside{position:static;width:100%;padding:15px}.brand img{width:32px}.navlabel,.asidebottom{display:none}nav{display:flex;overflow:auto;margin-top:12px}nav button{width:auto;white-space:nowrap;padding:10px;font-size:11px}nav svg{display:none}.shell{margin:0}header{height:55px;padding:0 17px}.profile{font-size:0}.avatar{font-size:11px}main{padding:23px 16px}.pagehead{align-items:flex-start}.pagehead h1{font-size:25px}.pagehead button{font-size:11px}.metrics{grid-template-columns:1fr 1fr}.rightcol,.cards{display:block}.callout{margin-bottom:20px}td,th{padding:15px}.formrow{grid-template-columns:1fr}footer{padding:15px;gap:20px}.toolbar input{min-width:0;width:100%}}@media print{aside,header,footer,.pagehead button,dialog,.toolbar,button{display:none!important}.shell{margin:0}main{padding:0}.panel{overflow:visible}.timeline{break-inside:auto}article{break-inside:avoid}}

.loginpanel{max-width:460px;margin:40px auto}.loginpanel .panelbody{padding:32px}.profile{gap:5px}@media(max-width:700px){.profile{font-size:10px}.profile span{max-width:145px}.loginpanel{margin:10px auto}}

.workflowsteps{display:flex;gap:8px;margin-bottom:18px;flex-wrap:wrap}.workflowsteps span{padding:10px 12px;background:#f1f0f6;border-radius:6px;font-size:12px}.workflowsteps .current{background:#fff0f2;color:#ed1430;font-weight:700}

.preparationchecks{border:1px solid #e0deeb;border-radius:8px;padding:18px;display:grid;gap:16px}.preparationchecks legend{padding:0 8px;font-weight:700;font-size:12px}.preparationchecks label:has(input[type=checkbox]){display:flex;align-items:center;gap:10px}.preparationchecks input[type=checkbox]{width:18px;height:18px;accent-color:#ed1430}

.orderrow{display:grid;grid-template-columns:minmax(0,1fr) 90px 35px;gap:8px;margin-bottom:14px;align-items:end}.orderdocument{background:#fff;color:#24223e}.orderbrand{display:flex;gap:15px;align-items:center;border-bottom:2px solid #ed1430;margin-bottom:24px;padding-bottom:14px}.orderbrand img{width:60px}.orderbrand p{margin:5px 0}.orderfacts{display:grid;grid-template-columns:1fr 1fr;gap:20px}.orderfacts strong{display:block;font-size:20px;margin-top:8px}.orderfacts small{color:#777}.orderhint,.orderfooter{font-size:11px;color:#666}.orderinstructions{white-space:pre-wrap}.orderfooter{border-top:1px solid #ddd;padding-top:20px;margin-top:25px;line-height:1.6}#printOrder{display:none}@media print{@page{size:A4;margin:15mm}body.printing-order>aside,body.printing-order>.shell,body.printing-order>dialog,body.printing-order>#toast{display:none!important}body.printing-order>#printOrder{display:block!important}.orderdocument{font-size:12px}.orderdocument td,.orderdocument th{padding:10px}.orderdocument tr,.orderfacts,.orderbrand,.orderfooter{break-inside:avoid}.orderdocument h3{break-after:avoid}}

@media print{.orderdocument .tablewrap{overflow:visible}.orderdocument p{color:#333}}

.modulechoices{max-height:240px;overflow:auto;display:grid;gap:10px}.modulechoices label{display:flex;align-items:center;gap:10px}.modulechoices input{width:18px;height:18px;accent-color:#ed1430}@media print{#printOrder>.orderdocument{break-after:page}#printOrder>.orderdocument:last-child{break-after:auto}}

.sidebarrole{display:inline-flex;align-self:flex-start;border-radius:5px;padding:7px 9px;margin:20px 0 0 8px;font-size:10px;font-weight:600;color:#777;background:#f3f2f7}.sidebarrole.admin{color:#ad1930;background:#fff0f2}.sidebarrole.monteur{color:#47715d;background:#eef7f1}aside nav{margin-top:20px;overflow-y:auto;min-height:0;flex:1;padding-bottom:10px}.navsection{margin-bottom:17px}.navsection+.navsection{border-top:1px solid var(--line);padding-top:16px}.navsection-title{font:700 9px 'DM Sans',Arial;letter-spacing:1.1px;text-transform:uppercase;color:#93919f;margin:0 10px 9px;line-height:1.7}nav button{font-size:12px;padding:11px 12px;gap:10px}nav button svg{flex-shrink:0}nav button span{line-height:1.5}nav button small{font-size:9px;color:#a19eac;font-weight:400}nav button.active small{color:#c96676}.asidebottom{flex-shrink:0}@media(max-width:700px){.sidebarrole{margin:12px 0 0 0}aside nav{display:block;overflow:visible;margin-top:16px;padding:0}.navsection{margin:0 0 12px}.navsection+.navsection{padding-top:10px}.navsection-title{margin-left:3px;font-size:9px}.navitems{display:flex;gap:5px;overflow-x:auto}nav button{flex:0 0 auto;width:auto;margin:0;padding:8px 11px;font-size:11px}nav button small{font-size:9px}}
