:root{--green:#173e35;--lime:#dbe8b5;--ink:#20332e;--muted:#738079;--line:#e2e7df;--bg:#f6f7f2;--orange:#bd6a36;--red:#b24337}*{box-sizing:border-box}body{margin:0;font:15px/1.6 'Tahoma','Arial',sans-serif;color:var(--ink);background:var(--bg)}button,input,select,textarea{font:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer}a{color:inherit}aside{position:fixed;inset:0 auto 0 0;width:238px;background:var(--green);color:white;padding:32px 22px;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;font-weight:700;font-size:13px;letter-spacing:1px}.brand small{display:block;letter-spacing:2px;font-size:10px;opacity:.6}.brandmark{font-size:29px;font-weight:900;color:var(--lime);line-height:1}.brandmark span{font-size:17px}.navlabel{font-size:10px;letter-spacing:2px;opacity:.45;margin:50px 12px 14px}nav a{display:flex;align-items:center;gap:12px;padding:13px 14px;margin-bottom:7px;border-radius:8px;text-decoration:none;font-size:13px;color:#cbd8d0}nav a.active{background:#315348;color:white}nav a b{font-size:19px;width:23px;font-weight:400}.asidefoot{margin-top:auto;font-size:11px;color:#c3d0bd}.asidefoot small{display:block;margin-top:12px;opacity:.55}.dot{display:inline-block;background:var(--lime);width:6px;height:6px;border-radius:100%}.shell{margin-left:238px}header{height:86px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 42px;background:#fff}.eyebrow{font-size:10px;letter-spacing:2px;display:block;color:var(--muted)}.headerplant{font-size:12px;font-weight:bold}.headtools{display:flex;gap:18px;align-items:center}select,input,textarea{border:1px solid var(--line);border-radius:7px;background:white;padding:10px 12px;color:var(--ink)}.profile{border:0;border-radius:100%;width:38px;height:38px;background:var(--lime);font-size:12px;color:var(--green);font-weight:bold}.demo{font-size:11px;background:#edf0e3;padding:8px 42px;color:#65734d}main{max-width:1560px;margin:auto;padding:35px 42px 50px}h1,h2,h3,p{margin-top:0}h1{font-size:30px;letter-spacing:-.8px;margin-bottom:6px;line-height:1.4}h2{font-size:20px}h3{font-size:16px;margin-bottom:7px}.muted{color:var(--muted);font-size:13px}.pagehead{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:27px}.btn{border:1px solid var(--line);border-radius:7px;background:white;color:var(--ink);padding:11px 18px;font-weight:600;font-size:13px;display:inline-flex;gap:10px;align-items:center;text-decoration:none}.btn.primary{background:var(--green);border-color:var(--green);color:white}.btn.light{background:var(--lime);border-color:var(--lime);color:var(--green)}.btn.danger{color:var(--red);border-color:#edd1cd}.btn:disabled{opacity:.45;cursor:not-allowed}.hero{display:grid;grid-template-columns:1.15fr 1fr;min-height:284px;background:var(--green);color:white;border-radius:13px;overflow:hidden;margin-bottom:24px}.herocopy{padding:32px}.hero h2{font-size:27px;margin:14px 0 10px;line-height:1.5}.hero p{font-size:13px;color:#c5d2cb;max-width:400px}.heroimage{background:linear-gradient(90deg,#173e35 0%,transparent 35%),url('assets/brake.jpg') center 40%/cover;position:relative}.heroimage span{position:absolute;bottom:20px;right:20px;font-size:10px;background:#173e35dc;padding:6px 12px;border-radius:30px}.tag{display:inline-block;font-size:10px;letter-spacing:1.3px;border:1px solid #ffffff40;border-radius:30px;padding:4px 10px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px}.metric,.panel{background:white;border:1px solid var(--line);border-radius:10px}.metric{padding:19px 21px}.metric small{color:var(--muted);font-size:12px}.metric strong{font-size:30px;display:block;margin-top:7px;font-weight:500}.metric em{font-style:normal;color:var(--muted);font-size:11px}.metric.red strong{color:var(--red)}.columns{display:grid;grid-template-columns:1.65fr 1fr;gap:22px}.panel{padding:23px;margin-bottom:20px}.sectionhead{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:16px}.sectionhead h2{margin:0;font-size:17px}.link{border:0;background:none;color:var(--green);font-size:12px;text-decoration:underline}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px;white-space:nowrap}th{color:var(--muted);font-size:10px;font-weight:500;text-align:left;background:#f8f9f5}td,th{padding:14px 10px;border-bottom:1px solid var(--line)}td strong{display:block;font-size:13px}.badge{font-size:11px;padding:4px 9px;display:inline-block;border-radius:5px;background:#edf3e7;color:#48633d}.badge.warn{background:#fff3e3;color:#9d6c2f}.badge.red{background:#fae9e6;color:var(--red)}.guidepreview{display:flex;gap:14px;margin-top:18px;align-items:center}.guidepreview img{width:76px;height:91px;object-fit:cover;border-radius:6px}.guidepreview p{font-size:11px;color:var(--muted);margin:0}.iconbox{width:42px;height:42px;display:grid;place-items:center;border-radius:9px;background:#eef2e4;font-size:23px;flex-shrink:0}.notice{border-left:3px solid #b18b43;background:#fbf7eb;padding:14px 17px;font-size:12px;margin-bottom:20px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.assetcard{background:white;border:1px solid var(--line);border-radius:10px;padding:20px}.assetcard h3{font-size:20px;margin:12px 0 2px}.assetcard .btn{width:100%;justify-content:center;margin-top:17px}.searchrow{display:flex;gap:12px;margin-bottom:20px}.searchrow input{flex:1;min-width:0}.poster{background:white;border-radius:10px;border:1px solid var(--line);overflow:hidden}.poster img{width:100%;height:300px;object-fit:cover;object-position:top;display:block}.poster div{padding:20px}.poster .btn{margin-top:12px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{display:block;font-size:12px;color:var(--muted);margin-bottom:12px}label input,label select,label textarea{display:block;width:100%;margin-top:5px}textarea{width:100%;min-height:75px;resize:vertical}.checkrow{display:grid;grid-template-columns:47px 1fr auto;gap:15px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line)}.checkrow h3{font-size:14px}.checkrow p{font-size:12px;color:var(--muted);margin:0}.choices{display:flex;gap:5px}.choice{padding:9px 11px;font-size:12px;border:1px solid var(--line);background:white;border-radius:6px}.choice.selected{border-color:var(--green);background:var(--green);color:white}.choice[data-value="fail"].selected{background:var(--red);border-color:var(--red)}.detail{grid-column:2/-1}.progress{height:5px;background:#e9ede3;border-radius:5px;margin:14px 0}.progress div{height:100%;background:var(--green);border-radius:5px}.stickyactions{position:sticky;bottom:12px;background:#fffffff2;border:1px solid var(--line);border-radius:10px;padding:16px;display:flex;align-items:center;justify-content:space-between;gap:12px;box-shadow:0 6px 24px #193b2c0b}.cardpair{display:flex;gap:26px;flex-wrap:wrap;justify-content:center}.idcard{width:280px;min-height:420px;border-radius:14px;background:linear-gradient(155deg,#173e35 65%,#dbe8b5 65%,#dbe8b5 71%,#638163 71%,#173e35 78%);color:white;padding:25px;position:relative;border:1px solid #315348}.idcard small{display:block;color:#cbdabf}.avatar{margin:18px auto;background:#dbe8b5;color:var(--green);font-size:50px;display:grid;place-items:center;width:98px;height:110px;border-radius:9px}.idcard h2{font-size:19px;margin:14px 0 2px}.idcard.back{background:#fff;color:var(--ink);border:1px solid var(--line)}.idcard.back p{font-size:12px}.samplemark{position:absolute;bottom:16px;font-size:10px;letter-spacing:2px}.bigicon{font-size:42px}.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.timeline>div{border-top:3px solid var(--green);padding:16px;background:#f6f8f2}.timeline small{color:var(--muted)}dialog{border:0;border-radius:13px;padding:32px;max-width:780px;width:calc(100% - 28px);max-height:90vh;box-shadow:0 20px 90px #0004}dialog::backdrop{background:#122b23a8}.close{position:absolute;right:10px;top:8px;background:white;border:0;font-size:28px;border-radius:20px;z-index:2}dialog img{max-width:100%;height:auto}.fullposter{display:block;margin:20px auto;max-height:65vh!important;width:auto;max-width:100%}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--green);color:white;padding:13px 22px;border-radius:8px;display:none;z-index:20;max-width:90vw}footer{padding:20px 42px;font-size:10px;letter-spacing:1px;color:var(--muted);display:flex;justify-content:space-between;border-top:1px solid var(--line)}.mobileonly{display:none}.empty{text-align:center;padding:35px;color:var(--muted)}.historyitem{padding:16px 0;border-bottom:1px solid var(--line)}.video{width:100%;max-height:320px;background:#10261f;border-radius:8px}button:focus-visible,a:focus-visible{outline:3px solid #a8c866;outline-offset:3px}@media(min-width:1600px){main{padding-top:46px}.hero{min-height:320px}}@media(max-width:1100px){aside{width:195px;padding:30px 14px}.shell{margin-left:195px}main{padding:26px}.columns{grid-template-columns:1fr}.grid{grid-template-columns:repeat(2,1fr)}header{padding:0 26px}.demo{padding:8px 26px}.choices{flex-wrap:wrap}.checkrow{grid-template-columns:42px 1fr}.choices{grid-column:2}.timeline{grid-template-columns:1fr 1fr}}@media(max-width:680px){aside{position:fixed;top:auto;bottom:0;width:100%;height:66px;padding:0;z-index:8;background:#fff;border-top:1px solid var(--line);color:var(--ink)}aside .brand,.navlabel,.asidefoot{display:none}nav{display:flex;justify-content:space-around;height:100%}nav a{padding:6px 3px;margin:0;flex:1;display:flex;flex-direction:column;gap:0;font-size:9px;justify-content:center;color:var(--muted);border-radius:0}nav a.active{background:#edf3e7;color:var(--green)}nav a b{width:auto;font-size:20px}nav a:nth-child(6),nav a:nth-child(7){display:none}.shell{margin:0}header{height:65px;padding:0 18px}.demo{padding:7px 18px;font-size:10px}main{padding:24px 17px 90px}h1{font-size:25px}.pagehead{align-items:flex-start;gap:10px}.pagehead .btn{font-size:11px;padding:10px 12px}.hero{grid-template-columns:1fr;min-height:0}.herocopy{padding:24px}.hero h2{font-size:24px}.heroimage{display:none}.metrics{grid-template-columns:1fr 1fr;gap:10px}.metric{padding:16px}.metric strong{font-size:26px}.grid{grid-template-columns:1fr}.columns{gap:0}.panel{padding:18px}.formgrid{grid-template-columns:1fr}.checkrow{gap:10px}.choices{width:100%}.choice{flex:1;min-height:44px}.stickyactions{bottom:76px;padding:12px;font-size:11px}.stickyactions .btn{padding:11px}.timeline{grid-template-columns:1fr}footer{display:none}.searchrow{flex-wrap:wrap}.poster img{height:270px}.detail{grid-column:1/-1}.headerplant{font-size:10px}.eyebrow{font-size:8px}}
@media print{aside,header,.demo,footer,.pagehead,.noprint{display:none!important}.shell{margin:0}main{padding:0}.panel{border:0}.cardpair{gap:10mm}.idcard{width:54mm;min-height:86mm;padding:4mm;print-color-adjust:exact}.idcard h2{font-size:11pt}.idcard p,.idcard.back p{font-size:8pt}.avatar{width:18mm;height:22mm;font-size:20pt}.samplemark{font-size:6pt}}
@media(max-width:680px){nav{overflow-x:auto;justify-content:flex-start}nav a{flex:0 0 19%;min-width:70px}nav a:nth-child(6),nav a:nth-child(7){display:flex}} 
.metriclink{text-align:left;font-family:inherit;color:inherit;position:relative;transition:border-color .18s,box-shadow .18s,transform .18s;width:100%}.metriclink small{display:flex;justify-content:space-between;gap:8px}.metricarrow{color:#748768}.metriccta{display:block;font-size:11px;color:var(--green);margin-top:12px}.metriclink:hover{border-color:#88a17a;box-shadow:0 6px 18px #173e3510;transform:translateY(-2px)}.metriclink:active{transform:none}.modalactions{display:flex;gap:10px;justify-content:flex-end;margin-top:22px;padding-top:15px;border-top:1px solid var(--line)}.metricrecords .btn{margin-top:12px}.evidenceimage{max-width:100%;max-height:320px;object-fit:contain;border:1px solid var(--line);border-radius:8px}
.cranepicturecard{padding:0;overflow:hidden;transition:box-shadow .2s,border-color .2s}.cranepicturecard:hover{border-color:#b5c2ad;box-shadow:0 8px 24px #173e3510}.cranevisual{display:block;position:relative;width:100%;padding:0;border:0;background:#dce4d8;overflow:hidden;text-align:left;aspect-ratio:1.73}.cranevisual img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s}.cranevisual:hover img{transform:scale(1.04)}.visualid{position:absolute;top:14px;left:14px;background:#173e35ed;color:white;font-size:12px;font-weight:bold;padding:4px 10px;border-radius:5px;letter-spacing:.5px}.visualcaption{position:absolute;bottom:10px;left:12px;background:#ffffffd9;color:#52654f;padding:3px 8px;font-size:10px;border-radius:4px}.visualopen{position:absolute;right:12px;bottom:12px;width:28px;height:28px;display:grid;place-items:center;background:white;color:var(--green);border-radius:50%;font-size:18px}.cranecardbody{padding:20px}.cranecardbody .sectionhead{margin-bottom:10px}.cranecardbody h3{margin:4px 0}.cranedepartment{min-height:22px;margin:0 0 17px}.capacityline{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 0;border-top:1px solid var(--line)}.capacityline strong{font-size:17px;font-weight:600}.cranecardbody .btn{margin-top:8px}.cranehomegrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.cranehomegrid .cranecardbody{padding:15px}.cranehomegrid .cranecardbody .eyebrow{font-size:8px}.cranehomegrid .cranecardbody .badge{font-size:9px}.cranehomegrid .cranecardbody h3{font-size:19px}.cranehomegrid .cranedepartment{font-size:12px}.cranedetailimage{display:block;width:100%;border-radius:8px;margin:5px 0 16px}.cranevisual:focus-visible{outline:3px solid #89a64d;outline-offset:-4px}.cranehomegrid .cranevisual{aspect-ratio:1.6}
@media(max-width:680px){.cranehomegrid{grid-template-columns:1fr}.cranevisual{aspect-ratio:1.8}.cranehomegrid .cranevisual{aspect-ratio:1.8}.cranecardbody{padding:18px}.cranehomegrid .cranecardbody{padding:18px}}
.uploadchoices{display:flex;gap:10px;flex-wrap:wrap}.uploadchoices label{color:var(--ink);cursor:pointer;margin:0}.uploadchoices input[hidden]{display:none}.editpreview{width:100%;height:220px;object-fit:contain;background:#eef2e8;border:1px dashed #b1c0a7;border-radius:8px;margin-bottom:10px}.imageeditor{margin:16px 0}.guidepicture{border:0;padding:0;background:#eef2e8;width:100%;cursor:pointer}.guideexcerpt{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-wrap}.memberpermissions{border-top:1px solid var(--line);padding:20px 0}.permchecks{display:flex;gap:20px;flex-wrap:wrap}.permchecks input{width:auto;display:inline}.actualcard{height:460px;overflow:hidden}.actualcard h2{overflow-wrap:anywhere;line-height:1.3}.actualcard .cardfields{font-size:12px;line-height:1.5;overflow-wrap:anywhere}.cardphoto{object-fit:cover}.cardbacktext{white-space:pre-wrap;overflow-wrap:anywhere}.draftqr{padding:18px 8px;text-align:center;border:1px dashed #9dab91;font-size:10px;color:var(--muted);margin-top:22px}.cardlist .sectionhead{flex-wrap:wrap}.cardprintpanel{padding:30px}#printarea{scroll-margin-top:20px}
@media(max-width:680px){nav a:nth-child(6),nav a:nth-child(7){display:flex}.permchecks{display:block}.cardprintpanel{padding:15px}.actualcard{flex-shrink:0}}
@media print{@page{size:A4;margin:12mm}#app> :not(#printarea),#printarea>.noprint{display:none!important}#printarea{display:block!important}.cardprintpanel{padding:0!important;margin:0!important}.cardpair{gap:10mm;align-items:flex-start;justify-content:flex-start}.actualcard{width:54mm!important;height:86mm!important;min-height:86mm!important;padding:4mm!important;box-sizing:border-box;print-color-adjust:exact;break-inside:avoid}.actualcard .avatar{width:18mm;height:22mm;margin:3mm auto}.actualcard h3{font-size:9pt;margin:0}.actualcard h2{font-size:10pt;margin:2mm 0 1mm}.actualcard .eyebrow{font-size:6pt}.actualcard small{font-size:6pt}.actualcard .cardfields{font-size:7pt;line-height:1.35;margin-top:1mm}.actualcard .cardbacktext{font-size:7pt;line-height:1.4;margin-top:3mm}.actualcard .draftqr{font-size:6pt;padding:3mm 1mm;margin-top:3mm}.actualcard .samplemark{font-size:5pt;bottom:3mm}.close,dialog,#toast{display:none!important}}
.labelsettings .formgrid{grid-template-columns:repeat(3,1fr)}.labelsearch{width:100%;margin-bottom:12px}.labelchoices{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;max-height:250px;overflow:auto;margin-bottom:14px}.labelchoice{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:7px;padding:10px;margin:0;color:var(--ink);cursor:pointer}.labelchoice input{width:17px;height:17px;margin:0;accent-color:var(--green)}.labelchoice strong{font-size:12px}.labelchoice small{display:block;font-size:10px;color:var(--muted)}.labelchoice:has(input:checked){background:#edf3e6;border-color:#9baf86}.labelsheet{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}.cranelabel{background:#fff;border:1px dashed #9eaaa0;padding:18px;border-radius:5px;position:relative;color:#111;break-inside:avoid;page-break-inside:avoid}.labelbrand{display:flex;justify-content:space-between;border-bottom:2px solid #111;padding-bottom:7px;margin-bottom:8px;font-size:11px;letter-spacing:1px}.labelbrand span{font-size:9px;align-self:center}.labelcontent{display:flex;align-items:center;justify-content:space-between;gap:10px}.labelidentity{min-width:0}.labelidentity h2{font-size:32px;letter-spacing:-1px;line-height:1.1;margin:0 0 8px}.labelidentity p{font-size:12px;line-height:1.4;margin:0 0 8px;overflow-wrap:anywhere}.labelcapacity{font-size:11px;margin-bottom:10px}.labelidentity small{font-size:10px;display:block}.printqr{width:38%;height:auto;aspect-ratio:1;background:white;object-fit:contain}.labelbarcode{text-align:center;margin-top:10px}.labelbarcode img{display:block;width:90%;height:44px;object-fit:fill;margin:auto;background:#fff}.labelbarcode span{font:10px Arial,sans-serif;display:block;letter-spacing:2px}.labelcaution{font-size:8px;border-top:1px solid #ddd;margin-top:8px;padding-top:5px;line-height:1.3;color:#555}.labeltestlinks{display:flex;justify-content:space-between;font-size:10px;margin-top:15px;gap:8px}.mode-qr .labelcontent{min-height:180px}.mode-barcode .labelcontent{min-height:110px}.size-large .labelsheet{grid-template-columns:1fr;max-width:650px}.size-large .labelidentity h2{font-size:43px}.labelnotice{line-height:1.9}.pagehead{flex-wrap:wrap}.labelsettings .sectionhead{flex-wrap:wrap}
@media(max-width:1000px){.labelchoices{grid-template-columns:repeat(3,1fr)}}@media(max-width:680px){.labelchoices{grid-template-columns:1fr 1fr}.labelsettings .formgrid{grid-template-columns:1fr}.labelsheet{grid-template-columns:1fr}.labelidentity h2{font-size:30px}.labelsettings .btn{padding:8px 10px;font-size:11px}}
@media print{body.printing-crane-labels #app>:not(#craneLabelPrint){display:none!important}body.printing-crane-labels #app>#craneLabelPrint{display:block!important;margin:0;padding:0}body.printing-crane-labels .noprint,body.printing-crane-labels aside,body.printing-crane-labels header,body.printing-crane-labels footer,body.printing-crane-labels .demo{display:none!important}body.printing-crane-labels{background:#fff;color:#000}body.printing-crane-labels .shell{margin:0}body.printing-crane-labels main{padding:0;margin:0;max-width:none}body.printing-crane-labels .labelsheet{display:grid!important;grid-template-columns:90mm 90mm;gap:5mm 6mm;margin:0;max-width:none;align-items:start}body.printing-crane-labels .size-large .labelsheet{grid-template-columns:120mm;gap:6mm}body.printing-crane-labels .cranelabel{box-sizing:border-box;width:90mm;height:70mm;padding:3mm;border:.2mm dashed #555;border-radius:0;overflow:hidden;break-inside:avoid;page-break-inside:avoid;print-color-adjust:exact;display:flex;flex-direction:column}body.printing-crane-labels .labelbrand{font-size:7pt;padding-bottom:1.5mm;margin-bottom:1.5mm;letter-spacing:.6px;border-bottom:.5mm solid black}body.printing-crane-labels .labelbrand span{font-size:6pt}body.printing-crane-labels .labelcontent{flex:1;gap:2mm;min-height:0}body.printing-crane-labels .labelidentity{flex:1}body.printing-crane-labels .labelidentity h2{font-size:22pt;margin:0 0 1.5mm}body.printing-crane-labels .labelidentity p{font-size:7pt;margin:0 0 1.5mm;line-height:1.25}body.printing-crane-labels .labelcapacity{font-size:6.5pt;margin-bottom:1.5mm}body.printing-crane-labels .labelidentity small{font-size:6pt}body.printing-crane-labels .printqr{width:30mm;height:30mm;flex-shrink:0;object-fit:contain}body.printing-crane-labels .labelbarcode{margin-top:1.5mm;flex-shrink:0}body.printing-crane-labels .labelbarcode img{height:9mm;width:70mm}body.printing-crane-labels .labelbarcode span{font-size:6pt;line-height:1.1}body.printing-crane-labels .labelcaution{font-size:5pt;margin-top:1.5mm;padding-top:1mm;flex-shrink:0}body.printing-crane-labels .size-large .cranelabel{width:120mm;height:90mm;padding:4mm}body.printing-crane-labels .size-large .printqr{width:40mm;height:40mm}body.printing-crane-labels .size-large .labelidentity h2{font-size:30pt}body.printing-crane-labels .size-large .labelidentity p{font-size:9pt}body.printing-crane-labels .size-large .labelbarcode img{width:90mm;height:12mm}body.printing-crane-labels .size-large .labelbrand{font-size:9pt}}
.passwordfield{display:flex;align-items:center;border:1px solid var(--line);border-radius:7px;margin-top:5px;overflow:hidden}.passwordfield input{border:0;border-radius:0;margin:0;flex:1;min-width:0}.passwordtoggle{border:0;background:#f0f3e9;padding:10px 14px;color:var(--green);align-self:stretch}.authsubmit{width:100%;justify-content:center}.authbuttons{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.autherror{color:var(--red);font-size:12px;min-height:20px}
.permissionmatrix select{min-width:120px;padding:8px;font-size:11px}.permissionmatrix td:first-child{white-space:normal;min-width:110px}.accesschips{display:flex;gap:5px;flex-wrap:wrap;font-size:10px}.accesschips span{background:#edf3e7;border-radius:5px;padding:4px 7px;color:var(--green)}.accesspreview{background:#f5f7f1;border-radius:8px;padding:15px;margin-top:15px}.rolecards{grid-template-columns:repeat(2,1fr)}.rolecards article{border:1px solid var(--line);padding:18px;border-radius:8px}.rolecards p{font-size:11px}.inlinecheck{display:flex;align-items:center;gap:8px}.inlinecheck input{width:auto;margin:0}#scopedcranes[hidden]{display:none}@media(max-width:680px){.rolecards{grid-template-columns:1fr}}
.documentfilters .formgrid{grid-template-columns:repeat(4,1fr)}.signoffsummary{border:1px solid #a5b69b;padding:18px;margin:20px 0;background:#f1f6ec}.dochash{font-size:10px;overflow-wrap:anywhere}.inspectionpermissions{border:1px solid var(--line);border-radius:8px;padding:15px;display:flex;gap:15px;flex-wrap:wrap;margin:15px 0}.inspectionpermissions label{flex:1;min-width:130px}#qualificationform fieldset{border:1px solid var(--line);border-radius:8px;margin-bottom:18px;padding:15px}#backdatebox[hidden]{display:none}@media(max-width:680px){.documentfilters .formgrid{grid-template-columns:1fr 1fr}.inspectionpermissions{display:block}.inspectiondatepanel .formgrid{grid-template-columns:1fr}}
/* Animated sign-in workspace */
.login-page{max-width:1300px;margin:auto;padding-top:42px;padding-bottom:42px}.login-experience{display:grid;grid-template-columns:1fr 1fr;min-height:650px;border:1px solid #dae1d9;border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 24px 65px #153c2d0b;animation:login-arrive .65s ease-out both}.login-visual{background:linear-gradient(145deg,#153e32,#102c25 75%);position:relative;overflow:hidden;color:#f8f5e8;padding:36px;display:flex;flex-direction:column;isolation:isolate}.login-brand{display:flex;gap:13px;align-items:center;letter-spacing:2px;font-size:12px;font-weight:700;z-index:1}.login-brand>span{font-size:32px;color:#e1c77a;letter-spacing:-3px}.login-brand small{display:block;font-size:9px;font-weight:400;letter-spacing:3px;color:#b6c7b8;margin-top:4px}.login-intro{margin-top:60px;z-index:1}.login-kicker{font-size:9px;letter-spacing:2.5px;font-weight:700;color:#89937a}.login-visual .login-kicker{color:#d6c27d}.login-intro h2{font-size:clamp(30px,3.4vw,48px);font-weight:500;line-height:1.4;letter-spacing:-1px;color:#f8f5e8;margin:14px 0}.login-intro p{color:#b4c6b8;font-size:13px;line-height:1.9}.login-orbit{border:1px solid #b7c88f14;border-radius:50%;position:absolute;width:590px;height:590px;right:-320px;top:-100px;z-index:-1;animation:login-orbit 14s ease-in-out infinite alternate}.orbit-two{width:410px;height:410px;top:-10px;right:-230px;animation-delay:-7s}.login-crane{width:calc(100% + 36px);max-width:none;margin:8px -18px 10px;margin-top:auto;overflow:visible}.crane-trolley{animation:login-trolley 9s ease-in-out infinite}.crane-cable{transform-origin:215px 77px;animation:login-sway 4.5s ease-in-out infinite}.login-visual-foot{display:flex;gap:7px;align-items:center;color:#9ab5a5;font-size:8px;letter-spacing:1.1px;white-space:nowrap}.login-visual-foot>span:last-child{margin-left:auto;color:#788f7a}.login-live-dot{width:5px;height:5px;flex:none;background:#ddc778;border-radius:50%;box-shadow:0 0 0 4px #ddc77813;animation:login-pulse 3s ease-in-out infinite}.login-form-side{padding:55px 45px 28px;display:flex;flex-direction:column;justify-content:center;min-width:0}.login-welcome h2{font-size:30px;letter-spacing:-.8px;margin:12px 0 8px;color:#173c30}.login-welcome p{font-size:12px;color:#7d897e;line-height:1.8;margin:0 0 27px}.login-form-side form label{font-size:12px;color:#425548;display:block}.login-form-side form>label+label{margin-top:18px}.login-form-side form>p.muted{display:none}.login-form-side input{background:#f8faf6;border:1px solid #dfe6dc;padding:13px 14px;border-radius:9px;transition:border-color .2s,box-shadow .2s}.login-form-side input:focus{outline:0;border-color:#829f6e;box-shadow:0 0 0 3px #b4c68b26}.login-form-side .passwordfield{border-radius:9px;border-color:#dfe6dc;background:#f8faf6}.login-form-side .passwordfield:focus-within{border-color:#829f6e;box-shadow:0 0 0 3px #b4c68b26}.login-form-side .passwordfield input:focus{box-shadow:none}.login-form-side .passwordtoggle{background:transparent;color:#879776}.login-form-side .autherror{margin:12px 0 5px;line-height:1.7}.login-form-side .authsubmit{border-radius:9px;display:flex;justify-content:space-between;padding:14px 19px;font-size:13px;transition:background .2s,transform .2s}.login-form-side .authsubmit:hover{background:#285b43;transform:translateY(-1px)}.login-submit-arrow{font-size:20px;transition:transform .25s}.authsubmit:hover .login-submit-arrow{transform:translateX(4px)}.login-form-side .authsubmit:disabled{opacity:.6;transform:none;cursor:wait}.login-register{display:flex;justify-content:center;align-items:center;gap:6px;margin-top:22px;font-size:12px;color:#86917f}.login-register .btn{border:0;background:none;padding:5px;color:#315840;font-weight:700}.login-approval-note{text-align:center;font-size:10px;color:#939c8c;margin:4px 0 22px}.login-help{border-top:1px solid #edf0e9;padding-top:16px;font-size:11px;color:#6c7c68}.login-help summary{cursor:pointer;list-style:none}.login-help summary::after{content:'+';float:right;font-size:15px}.login-help[open] summary::after{content:'−'}.login-help .btn{font-size:10px;padding:7px}.login-footer{display:flex;justify-content:space-between;gap:10px;color:#a1aa98;font-size:8px;letter-spacing:1px;margin-top:26px}.animated-login-dialog{max-width:960px;padding:0;max-height:94dvh;border-radius:22px}.animated-login-dialog .login-experience{border:0;min-height:630px}.animated-login-dialog>.close{z-index:5;background:#f4f7ed;color:#31533d;top:12px;right:12px}.animated-login-dialog::backdrop{background:#0b241dcc;backdrop-filter:blur(7px)}
@keyframes login-arrive{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes login-trolley{0%,100%{transform:translateX(-65px)}50%{transform:translateX(60px)}}@keyframes login-sway{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}@keyframes login-orbit{to{transform:translate(-35px,45px) scale(1.1)}}@keyframes login-pulse{50%{box-shadow:0 0 0 7px #ddc77808}}
@media(max-width:1050px){.login-form-side{padding:40px 28px 25px}.login-visual{padding:28px}.login-intro h2{font-size:32px}.login-visual-foot>span:last-child{display:none}}@media(max-width:720px){.login-page{padding-top:20px}.login-experience{grid-template-columns:1fr;min-height:0;border-radius:16px}.login-visual{min-height:190px;padding:22px 24px}.login-brand{font-size:10px}.login-brand>span{font-size:26px}.login-intro{margin-top:25px;max-width:65%}.login-intro h2{font-size:24px;line-height:1.4;margin:8px 0 0}.login-intro h2 br{display:none}.login-intro p,.login-visual-foot{display:none}.login-crane{position:absolute;width:180px;right:0;bottom:3px;margin:0;opacity:.8}.login-intro .login-kicker{font-size:7px;letter-spacing:1.4px}.login-form-side{padding:27px 24px 23px}.login-welcome h2{font-size:26px;margin-top:8px}.login-welcome p{margin-bottom:20px}.animated-login-dialog .login-experience{min-height:0}.animated-login-dialog .login-visual{min-height:170px}.animated-login-dialog>.close{background:#ffffff1a;color:#fff}.login-orbit{right:-350px}.login-form-side input{font-size:16px}}
@media(prefers-reduced-motion:reduce){.login-experience,.login-orbit,.crane-trolley,.crane-cable,.login-live-dot{animation:none!important}.login-form-side input,.login-form-side .authsubmit,.login-submit-arrow{transition:none!important}}

.login-form-side .passwordfield input{border:0;border-radius:0}
