:root{--ink:#15192b;--muted:#5f6678;--line:#cfd3dc;--accent:#d62828;--accent-ink:#fff;--good:#2f6b4f;--bad:#d62828;--warn:#9a6b00;--panel:#f3f4f7;--paper:#fff;--tap:44px;--black:#000}*{box-sizing:border-box}html,body{background:var(--panel);color:var(--ink);-webkit-text-size-adjust:100%;margin:0;font-family:Verdana,Geneva,DejaVu LGC Sans,Kalimati,sans-serif;font-size:15px}#root{min-height:100vh}main{max-width:1100px;margin:0 auto;padding:12px 16px 48px}main.centre{place-items:center;min-height:calc(100vh - 56px);display:grid}h1{margin:8px 0 12px;font-size:22px}h1 .num{color:var(--muted);margin-right:8px;font-family:Consolas,monospace;font-size:18px}h2{margin:18px 0 8px;font-size:17px}a{color:var(--accent)}.muted{color:var(--muted)}.small{font-size:13px}.grow{flex:1}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.error{color:var(--bad);background:#fbeeec;border:1px solid #ecc9c4;border-radius:6px;padding:8px 12px}code{background:#e9ebf0;border-radius:3px;padding:1px 4px;font-size:14px}button{font:inherit;min-height:var(--tap);border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:8px;padding:6px 14px}button:disabled{opacity:.55;cursor:default}button.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}button.link{color:var(--accent);background:0 0;border:none;padding:6px 8px;text-decoration:underline}button.mini{white-space:nowrap;min-height:28px;margin-left:4px;padding:2px 6px;font-size:11px}input,textarea{font:inherit;border:1px solid var(--line);min-height:var(--tap);background:#fff;border-radius:6px;width:100%;padding:8px 10px}textarea{resize:vertical;min-height:60px}label{margin:10px 0;font-weight:600;display:block}label input{margin-top:4px;font-weight:400}header.top{height:60px;color:var(--ink);border-bottom:4px solid var(--accent);z-index:5;background:#fff;align-items:center;gap:12px;padding:0 16px;display:flex;position:sticky;top:0}header.top .brand{color:var(--ink);letter-spacing:.2px;white-space:nowrap;align-items:center;font-weight:700;text-decoration:none;display:inline-flex}header.top .brand img.logo{width:auto;height:40px;margin-right:12px}header.top button.link{white-space:nowrap;color:var(--ink)}header.top .who{color:var(--muted)}.sync{min-height:32px;color:var(--ink);white-space:nowrap;background:#f3f3f3;border:1px solid #d5d5d5;border-radius:16px;padding:2px 10px;font-size:13px}.sync .dot{background:#8fd3a5;border-radius:50%;width:9px;height:9px;margin-right:6px;display:inline-block}.sync.busy .dot{background:#f2c94c}.sync.off .dot{background:#c7cbd6}.sync.bad .dot{background:#ef7b6f}.card{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:14px 16px}.cards{gap:10px;margin:0;padding:0;list-style:none;display:grid}.card.row{gap:16px}.card .title{font-size:18px;font-weight:600}.login{width:min(420px,92vw)}.login h1{margin-top:0}.login .primary{width:100%;margin-top:10px}.chips{flex-wrap:wrap;gap:6px;margin:-4px 0 8px;display:flex}.chip{border-radius:16px;min-height:32px;padding:2px 10px;font-size:14px}.stage h2{border-bottom:2px solid var(--accent);padding-bottom:4px}ul.docs{gap:6px;margin:0;padding:0;list-style:none;display:grid}ul.docs li.doc>a,ul.docs li.doc>div{background:var(--paper);border:1px solid var(--line);color:var(--ink);min-height:var(--tap);border-radius:8px;align-items:center;gap:12px;padding:10px 12px;text-decoration:none;display:flex}ul.docs li.doc>a:active{background:#eef1f7}ul.docs li.spare>div,ul.docs li.na>div{opacity:.55}ul.docs .num{color:var(--muted);min-width:86px;font-family:Consolas,monospace}ul.docs .prog{color:var(--muted);white-space:nowrap;font-size:13px}ul.docs .prog.full{color:var(--good);font-weight:600}ul.docs .fail{color:var(--bad)}.badge{color:var(--good);background:#e5efe9;border:1px solid #c6dccf;border-radius:10px;padding:2px 8px;font-size:12px}.badge.muted{color:var(--muted);border-color:var(--line);background:#eef0f4}main.document{max-width:none}.crumbs{margin-bottom:4px}.form{background:var(--paper);border:1px solid var(--line);color:#111;margin:0 auto;padding:8px;font-family:Calibri,Carlito,Segoe UI,Arial,sans-serif;font-size:12px;overflow-x:auto}.form table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:860px}.form td{vertical-align:bottom;overflow-wrap:anywhere;padding:2px 4px;line-height:1.2}.form table.title{margin-bottom:6px}.form table.title td{border:1px solid #333;padding:3px 6px;font-weight:700}.form table.title .t1{background:var(--black);color:#fff;text-align:center;font-size:14px}.form table.title .lbl{width:16%}.form table.title td.logo{text-align:center;vertical-align:middle;width:20%;padding:4px}.form table.title td.logo img{width:auto;max-width:100%;height:44px}.form td.band{font-weight:700}.form td.in{background:#f6f9ff}.form .t{white-space:pre-wrap}.pf{vertical-align:middle;flex-wrap:wrap;gap:3px;display:inline-flex}.pfb{color:#667;white-space:nowrap;border-radius:6px;min-width:30px;min-height:32px;padding:2px 4px;font-size:12px;font-weight:700}.pfb.on.pass{background:var(--good);color:#fff;border-color:var(--good)}.pfb.on.fail{background:var(--bad);color:#fff;border-color:var(--bad)}.pfb.on.na{color:#fff;background:#6b7280;border-color:#6b7280}.chk{vertical-align:middle;border-radius:6px;min-width:34px;min-height:34px;padding:0;font-size:18px}.chk.on{background:var(--good);color:#fff;border-color:var(--good)}.form td{overflow:hidden}.form td.in>span{max-width:100%}.val{flex-wrap:wrap;align-items:center;gap:4px;max-width:100%;display:inline-flex}.val input{text-align:right;width:6em;min-width:0;max-width:100%;min-height:34px;padding:4px 6px;font-size:13px}.val.out input{border-color:var(--bad);color:var(--bad);background:#fbeeec;font-weight:700}.val .unit{color:#333}.form input.txt,.form textarea.txt{min-height:34px;padding:4px 6px;font-size:13px}.form textarea.txt{min-height:48px}.datew{flex-wrap:wrap;align-items:center;gap:2px;width:100%;display:flex}.datew input{flex:7em;width:100%;min-width:0;min-height:34px;padding:2px 4px;font-size:12px}.namew{flex-wrap:wrap;align-items:center;gap:2px;width:100%;display:flex}.namew input{flex:5em;width:100%;min-width:0;min-height:34px;padding:4px 6px;font-size:13px}.txtw{align-items:flex-start;gap:4px;width:100%;display:flex}.txtw .txt{flex:1;min-width:0}.val.free{width:100%}.val.free input{text-align:left;flex:1;width:auto;min-width:0}.pickbtn{min-width:34px;min-height:34px;margin-left:0;padding:2px 8px;font-size:18px;line-height:1}select{font:inherit;min-height:var(--tap);border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:6px;padding:6px 10px}.sigv{flex-wrap:wrap;align-items:center;gap:2px;max-width:100%;display:inline-flex}.ini{color:#889;min-width:48px;min-height:34px;padding:2px 8px;font-size:12px}.ini.on{color:var(--accent);background:#e9eef8;border-color:#b9c3dd;font-weight:700}.sign{min-height:34px;padding:2px 10px;font-size:12px}.sigv img{vertical-align:middle;max-height:36px}.imgrow td{text-align:center;padding:0}.imgrow img{max-width:100%}.modal{z-index:20;background:#1417288c;place-items:center;padding:12px;display:grid;position:fixed;inset:0;overflow:auto}.sheet{box-sizing:border-box;background:#fff;border-radius:12px;width:min(760px,96vw);max-width:calc(100vw - 16px);padding:16px}.sheet h2{margin:0 0 10px}.pad{aspect-ratio:3;touch-action:none;background:#fff;border:1px dashed #99a;border-radius:8px;width:100%;height:auto;margin-bottom:10px;display:block}@media (width<=700px){main{padding:10px 12px 40px}header.top .who,header.top .brand .sub{display:none}ul.docs .num{min-width:70px}}.pill{border:1px solid var(--line);min-height:36px;color:var(--accent);background:#fff;border-radius:18px;align-items:center;padding:4px 14px;font-weight:600;text-decoration:none;display:inline-flex}main.punch{max-width:none}.tablewrap{background:var(--paper);border:1px solid var(--line);border-radius:8px;overflow-x:auto}table.register{border-collapse:collapse;width:100%;min-width:960px;font-size:14px}table.register th{background:var(--black);color:#fff;text-align:left;padding:8px 10px;font-weight:600}table.register td{border-bottom:1px solid var(--line);vertical-align:top;padding:6px 8px}table.register td.n{width:40px;color:var(--muted)}table.register td.ref{white-space:nowrap;width:150px}table.register td.desc{min-width:240px}table.register td.comments{min-width:200px}table.register td.comments textarea{min-height:40px;font-size:13px}table.register select,table.register input[type=date]{width:auto;min-height:36px;padding:4px 6px;font-size:13px}table.register td.status{white-space:nowrap}table.register .pct{color:var(--muted);margin-left:6px;font-size:12px}table.register tr.st-open td.n{border-left:4px solid var(--bad)}table.register tr.st-in-progress td.n{border-left:4px solid var(--warn)}table.register tr.st-fixed td.n,table.register tr.st-verified td.n{border-left:4px solid var(--good)}table.register tr.st-closed{opacity:.6}.raise{margin-top:16px}.raise select{width:auto;min-height:var(--tap)}header.top .brand .sub{opacity:.75;margin-left:8px;font-size:13px;font-weight:400}.banner{border:1px solid var(--line);border-left:4px solid var(--accent);background:#fff;border-radius:8px;flex-wrap:wrap;align-items:center;gap:12px;margin:6px 0 12px;padding:10px 14px;display:flex}.banner.locked{border-left-color:var(--good)}.locked .form td.in{background:#f1f1f1}.locked .form input,.locked .form textarea,.locked .form button{opacity:.75}.sheet.narrow{width:min(460px,96vw)}.sheet input.pin{letter-spacing:8px;text-align:center;margin:10px 0;font-size:24px}.sheet img.sigpreview{border:1px dashed #bbb;border-radius:6px;max-height:80px;margin:6px auto;display:block}.notice{color:#6b4a00;background:#fff4e5;border-bottom:1px solid #f0c48a;align-items:center;gap:12px;padding:8px 16px;display:flex}.pfb.static{cursor:default;min-height:26px;padding:0 8px;line-height:26px;display:inline-block}.chk.static{cursor:default;min-width:26px;min-height:26px;line-height:26px}.ini.static{cursor:default;min-height:26px}.val.static b{font-weight:700}.val.static.out b{color:var(--bad)}.static-text{white-space:pre-wrap}img.sigimg{vertical-align:middle;max-height:36px}.banner.signon{border-left-color:var(--warn);background:#fff9ee}.modal.bottom{place-items:end center;padding:0}.sheet.pick{border-radius:14px 14px 0 0;width:100%;max-width:560px;max-height:80vh;overflow:auto}.sheet.pick .choices{gap:6px;margin-bottom:10px;display:grid}.sheet.pick .choices button{text-align:left;min-height:48px;font-size:16px}.sheet.pick .choices button.on{border-color:var(--accent);background:#fdeaea}.cmtw{align-items:flex-start;gap:4px;display:flex}.cmtw textarea{flex:1;min-width:0}.descw{flex:240px;align-items:center;gap:4px;display:flex}.descw input{flex:1;min-width:0}.list{font-size:15px}.list .titleblock{background:var(--paper);border:1px solid var(--line);border-radius:10px;align-items:center;gap:12px;margin-bottom:10px;padding:10px 12px;display:flex}.list .titleblock img{width:auto;height:36px}.list .titleblock .site{font-size:13px;font-weight:700}.list h3.band{color:#fff;background:#426bba;border-radius:8px;margin:16px 0 6px;padding:8px 12px;font-size:15px}.list h4.sub{color:var(--muted);margin:10px 0 4px;font-size:14px;font-weight:700}.list p.note{color:var(--muted);margin:6px 0;font-size:14px}.list p.note.strong{color:var(--ink);margin:10px 4px 4px;font-weight:600}.list .item{background:var(--paper);border:1px solid var(--line);border-radius:10px;margin:8px 0;padding:10px 12px}.list .item .head{align-items:flex-start;gap:10px;margin-bottom:8px;line-height:1.35;display:flex}.list .item .n{color:var(--muted);min-width:1.6em;font-weight:700}.list .fields{flex-wrap:wrap;align-items:flex-end;gap:8px 16px;display:flex}.list .fld{flex-direction:column;align-items:flex-start;gap:3px;min-width:0;display:flex}.list .fld>span,.list .fld>input,.list .fld>textarea{align-self:stretch}.list p.note.bandnote{background:var(--paper);border:1px solid var(--line);color:var(--ink);border-left:5px solid #426bba;border-radius:8px;margin:12px 0 8px;padding:8px 12px}.list .signon button.link{margin:2px 0 8px}.list .fld-text,.list .fld-name,.list .fld.free,.list .fld-signature{flex:100%}.list .fld .lbl{color:var(--muted);font-size:12px}.list .pf{gap:6px}.list .pfb{min-width:54px;min-height:44px;font-size:15px}.list .chk{min-width:44px;min-height:44px}.list .ini{min-width:64px;min-height:44px;font-size:14px}.list .val input{width:7em;min-height:44px;font-size:16px}.list .val.free input{width:auto}.list .txtw .txt,.list .namew input,.list .datew input{min-height:44px;font-size:16px}.list .sign{min-height:44px;padding:4px 18px;font-size:14px}.list .sigv img,.list img.sigimg{max-height:44px}.list .pickbtn,.list .mini{min-width:44px;min-height:44px;font-size:14px}.list .pic img{border-radius:8px;max-width:100%}.list .signon .item.sup{border-left:4px solid var(--good)}.locked .list .item{background:#f4f4f4}.pfb.hold,.ini.hold{opacity:.45}.hint{color:var(--warn);flex-basis:100%;margin-top:2px;font-size:12px;line-height:1.3;display:block}.form td.in-check .t{margin-right:6px}.list .item.block .line{border-top:1px solid #e8eaf0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;padding:8px 0;display:flex}.list .item.block .line:first-child{border-top:0;padding-top:0}.list .item.block .line .wording{flex:200px}.list .item.block .line .fields{flex-wrap:wrap;align-items:flex-end;gap:6px 12px;display:flex}.list .item.block .blockfoot{border-top:2px solid var(--line);flex-wrap:wrap;align-items:flex-end;gap:8px 16px;margin-top:4px;padding-top:10px;display:flex}.photobtn{border:1px solid var(--line);cursor:pointer;min-width:44px;min-height:44px;color:var(--ink);background:#fff;border-radius:8px;align-items:center;gap:5px;padding:4px 12px;font-size:14px;display:inline-flex}.photobtn input{display:none}.photobtn .cnt{color:var(--accent);font-weight:700}.photobtn.busy{opacity:.6}.photobtn.static{cursor:default;color:var(--muted)}.photo.compact .photobtn{border-radius:5px;gap:2px;min-width:24px;min-height:24px;padding:1px 4px;font-size:11px}.photo.compact svg{width:14px;height:14px}.form td .photo.compact{float:right;margin-left:4px}.photostrip{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.photostrip .thumb{border:1px solid var(--line);background:#eee;border-radius:6px;width:88px;height:88px;min-height:0;padding:0;position:relative;overflow:hidden}.photostrip .thumb img{object-fit:cover;width:100%;height:100%;display:block}.photostrip.labelled .thumb{flex-direction:column;width:150px;height:auto;display:flex}.photostrip.labelled .thumb img{height:110px}.photostrip .cap{text-align:left;color:var(--ink);background:#fff;max-height:3.9em;padding:3px 4px;font-size:11px;line-height:1.25;display:block;overflow:hidden}.photostrip .pend{color:var(--warn);text-shadow:0 0 2px #fff;font-size:12px;position:absolute;top:3px;right:5px}.sheet.photoview{width:min(900px,96vw)}.sheet.photoview img{object-fit:contain;background:#f3f3f3;border-radius:6px;max-width:100%;max-height:70vh;margin:0 auto 10px;display:block}.gallery{background:var(--paper);border:1px solid var(--line);border-radius:10px;margin-top:14px;padding:10px 14px}.gallery h2{margin:0 0 4px;font-size:16px}.list h3.band{align-items:center;gap:10px;display:flex}.list h3.band .grow{flex:1}.list h3.band .photobtn{color:#fff;background:#ffffff26;border-color:#fff9;min-height:34px;padding:2px 10px}.list h3.band .photobtn .cnt{color:#fff}.list .fld-photo{align-self:flex-end}main.signoff{max-width:900px}.signoff .steps{gap:10px;display:grid}.signoff .step .head{justify-content:space-between;align-items:center;gap:8px;display:flex}.signoff .step .kind{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:12px}.signoff .step h3{margin:4px 0 8px;font-size:16px}.signoff .step h3 a{color:var(--ink)}.chip{color:var(--muted);border:1px solid var(--line);white-space:nowrap;background:#eef0f4;border-radius:10px;align-items:center;padding:2px 9px;font-size:12px;display:inline-flex}.chip.signed{color:var(--good);background:#e5efe9;border-color:#c6dccf}.chip.ready{color:var(--warn);background:#fff4e5;border-color:#f0c48a}.chip.blocked,.chip.open{color:var(--bad);background:#fbeeec;border-color:#ecc9c4}.badge.ready{color:var(--warn);background:#fff4e5;border-color:#f0c48a}.signoff ul.holds{gap:6px;margin:4px 0 8px;padding:0;list-style:none;display:grid}.signoff ul.holds li{align-items:center;gap:10px;display:flex}.signoff ul.holds .txt{flex:1}.signoff ul.blockers{color:var(--warn);margin:4px 0 8px;padding-left:18px;font-size:14px}.signoff .sigs{flex-wrap:wrap;gap:10px;margin-top:6px;display:flex}.signoff .sig{border:1px dashed var(--line);border-radius:8px;flex:200px;min-width:0;padding:8px 10px}.signoff .sig.done{background:#f7faf8;border-style:solid}.signoff .sig .role{margin-bottom:4px;font-weight:600}.signoff .sig img{max-width:100%;max-height:48px;margin:2px 0;display:block}.signoff .sig button.link{min-height:28px;padding:2px 0}.signoff .terminal{color:var(--good);margin:8px 0 0;font-weight:700}.signoff .statement{margin:0 0 8px;font-style:italic}.locknote{margin:-4px 0 8px}.stage h2 .badge{vertical-align:middle;margin-left:8px}ul.review{gap:8px;margin:0;padding:0;list-style:none;display:grid}.docrow{padding:10px 12px}.docrow.na{opacity:.6}.docrow .line1{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.docrow .line1 .num{color:var(--muted);font-family:Consolas,monospace}.docrow .line1 .name{font-weight:600}.docrow .line2{flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:6px;display:flex}.docrow .reviewed{align-items:center;gap:6px;display:inline-flex}.sheet .statement{margin:0 0 8px}header.top .navlink{color:var(--ink);white-space:nowrap;font-weight:600;text-decoration:none}main.dashboard{max-width:1000px}.dashboard .conveyor{margin-bottom:14px}.dashboard .conveyor .head{flex-wrap:wrap;align-items:flex-start;gap:8px 16px;display:flex}.dashboard .conveyor h2{margin:0 0 2px;font-size:20px}.dashboard .totals{text-align:right;margin-left:auto}.dashboard .totals .big{font-size:28px;font-weight:700;line-height:1.1}.dashboard .nextstep{border-left:4px solid var(--warn);background:#fff4e5;border-radius:8px;margin:10px 0 6px;padding:8px 10px}.dashboard .nextstep.ready{background:#fff4e5}.dashboard .nextstep.blocked{border-left-color:var(--line);background:#f3f4f7}.dashboard .nextstep.done{border-left-color:var(--good);background:#e5efe9}.dashboard ul.stages{gap:6px;margin:8px 0;padding:0;list-style:none;display:grid}.dashboard ul.stages li{grid-template-columns:90px 1fr;align-items:center;gap:4px 12px;display:grid}.dashboard ul.stages li.locked{opacity:.65}.dashboard ul.stages .lbl{font-weight:600}.dashboard ul.stages .lbl a{color:var(--ink);text-decoration:none}.dashboard .bar{background:#e9ebf0;border-radius:7px;height:14px;position:relative;overflow:hidden}.dashboard .bar .fill{background:#8fb4e8;position:absolute;inset:0 auto 0 0}.dashboard .bar .signedfill{background:var(--good);position:absolute;inset:0 auto 0 0}.dashboard ul.stages .nums{flex-wrap:wrap;grid-column:2;align-items:center;gap:4px 12px;display:flex}.dashboard .fail{color:var(--bad);font-weight:600}.dashboard .foot{margin-top:8px}.dashboard .devices ul{gap:4px;margin:0;padding:0;list-style:none;display:grid}@media (width<=480px){.dashboard ul.stages li{grid-template-columns:1fr}.dashboard ul.stages .nums{grid-column:1}}main.flowpage{max-width:1000px}.flowpage .legend{flex-wrap:wrap;gap:8px;margin:0 0 10px;display:flex}.flowpage .legend .doc{padding:3px 10px;font-size:12px}.flow .group{background:var(--paper);border:2px solid #1f4e79;border-radius:8px;margin-bottom:14px;padding:10px}.flow .band{color:#000;background:#00b0f0;border-radius:6px;align-items:baseline;gap:12px;margin-bottom:8px;padding:6px 10px;font-weight:700;display:flex}.flow .band span{font-size:13px;font-weight:400}.flow .sub{color:#1f4e79;margin:6px 0 4px;font-weight:700}.flow .grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px;display:grid}.flow .doc,.flowpage .legend .doc{color:var(--ink);background:#fff;border:1px solid #1f4e79;border-radius:6px;min-height:44px;padding:5px 7px;font-size:12px;line-height:1.25;text-decoration:none;display:block;position:relative}.flow .doc b{font-family:Consolas,monospace;font-size:12px;display:block}.flow .doc span{max-height:2.5em;display:block;overflow:hidden}.flowpage .doc.started{background:#fff1cc}.flowpage .doc.complete{background:#d6e8fb}.flowpage .doc.signed{background:#c9e9c1;border-color:#4f7a21}.flowpage .doc.fails{border-left:5px solid var(--bad)}.flow .doc .dot{background:var(--bad);border-radius:50%;width:9px;height:9px;position:absolute;top:5px;right:6px}.flow .arrow{background:#1f4e79;width:2px;height:14px;margin:2px auto}.flow .block{background:#ff9;border:2px solid #7f7f00;border-radius:8px;max-width:640px;margin:0 auto;padding:8px 10px;font-size:13px}.flow .block.gate{background:#fff;border-color:#1f4e79}.flow .block.diamond{background:#e2f4d0;border-color:#4f7a21}.flow .block.signed{background:#92d050;border-color:#4f7a21}.flow .block.gate.signed{background:#c9e9c1}.flow .block .title{font-weight:700}.flow .block .title a{color:inherit}.flow .block ul.items{margin:4px 0;padding:0;list-style:none}.flow .block ul.items li.on{font-weight:600}.flow .block .sigs{flex-wrap:wrap;gap:4px 12px;margin-top:4px;display:flex}.flow .block .sig{color:#555;font-size:12px}.flow .block .sig.on{color:#1f5f3a;font-weight:600}.flow .block .why{color:var(--warn);margin-top:4px;font-size:12px}.flow .block.terminal{color:#fff;text-align:center;opacity:.55;background:#1f4e79;font-weight:700}.flow .block.terminal.signed{opacity:1}@media print{header.top,.crumbs,.notice{display:none!important}main.flowpage{max-width:none;padding:0}.flow .group{break-inside:avoid}}.chip.na{color:#4a3f7a;background:#ebe7f5;border-color:#cfc7e6}ul.docs .na{color:#4a3f7a;font-weight:600}.sheet.review{width:min(640px,96vw);max-height:92vh;overflow:auto}.sheet.review .counts{flex-wrap:wrap;gap:6px;margin:6px 0 10px;display:flex}.sheet.review .warn{border-left:4px solid var(--warn);background:#fff9ee;border-radius:6px;margin:8px 0;padding:8px 10px}.sheet.review ul.naitems{max-height:36vh;margin:6px 0;padding-left:20px;overflow:auto}.sheet.review ul.naitems li{margin:3px 0}.sheet.review ul.naitems b{color:var(--muted);margin-right:6px}.sheet.review label.ack{align-items:flex-start;gap:10px;margin:10px 0;font-weight:600;display:flex}.sheet.review label.ack input{flex:none;width:24px;height:24px;min-height:0;margin-top:2px}main.people{max-width:900px}.people ul.persons{gap:10px;margin:12px 0;padding:0;list-style:none;display:grid}.people .person .head,.people .addperson h2{margin-bottom:8px}.people .person .head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.people .person .name{font-size:17px}.people .person.inactive{opacity:.6}.people .fields{grid-template-columns:1fr 1fr;gap:8px 14px;display:grid}.people .fields label,.people .fields .signs{flex-direction:column;gap:4px;min-width:0;margin:0;font-weight:400;display:flex}.people .fields .lbl{color:var(--muted);font-size:12px}.people .fields .wide{grid-column:1/-1}.people .fields select,.people .fields input{width:100%}.people .signs .row{gap:6px 14px}.people label.tick{flex-direction:row;align-items:center;gap:8px;min-height:44px}.people label.tick input{flex:none;width:22px;height:22px;min-height:0}.people button.small{min-height:36px;padding:4px 10px;font-size:13px}@media (width<=560px){.people .fields{grid-template-columns:1fr}.people .fields .wide{grid-column:1}}ul.punchcards{gap:10px;margin:0;padding:0;list-style:none;display:grid}.punchitem .head{flex-wrap:wrap;align-items:baseline;gap:6px 12px;display:flex}.punchitem .n{color:var(--muted);font-weight:700}.punchitem p.desc{margin:6px 0 10px}.punchitem .fields{grid-template-columns:1fr 1fr;gap:8px 12px;display:grid}.punchitem .fields label{flex-direction:column;gap:3px;min-width:0;margin:0;font-size:14px;font-weight:400;display:flex}.punchitem .fields label .lbl{color:var(--muted);font-size:12px}.punchitem .fields label.wide{grid-column:1/-1}.punchitem .fields select,.punchitem .fields input[type=date]{width:100%;min-height:44px;font-size:15px}.punchitem .statusw{align-items:center;gap:6px;display:flex}.punchitem .statusw select{flex:1}.punchitem.st-open{border-left:4px solid var(--bad)}.punchitem.st-in-progress{border-left:4px solid var(--warn)}.punchitem.st-fixed,.punchitem.st-verified{border-left:4px solid var(--good)}.punchitem.st-closed{opacity:.7}@media (width<=480px){html,body{overflow-x:hidden}header.top{gap:8px;height:52px;padding:0 12px}header.top .brand img.logo{height:30px;margin-right:8px}header.top .sync{padding:2px 8px}header.top .sync.ok .label{display:none}header.top .sync.ok .dot{margin-right:0}header.top .navlink{display:none}h1{font-size:19px}h1 .num{font-size:15px}main{padding:10px 10px 40px}ul.docs li.doc>a,ul.docs li.doc>div{flex-wrap:wrap;row-gap:2px;padding:8px 10px}ul.docs .num{order:0;min-width:0}ul.docs .grow{order:1}ul.docs .prog{order:2}ul.docs .badge{order:3}ul.docs .name{flex:100%;order:4}.sheet{border-radius:10px;padding:12px}.pad{aspect-ratio:2}.banner{padding:8px 10px}.form{padding:4px}}.people .titlerow{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.people .titlerow h1{margin:0}.people .perms{gap:2px;display:grid}.people .perms label.tick{align-items:flex-start;min-height:0;padding:6px 0}.people .perms label.tick input{margin-top:3px}.people label.tick .hint{color:var(--muted);font-size:12px;font-weight:400;display:block}main.cables .counts{flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0}main.cables .cablesearch{width:100%;max-width:360px;min-height:44px}.cablelist .name{flex-direction:column;gap:2px;min-width:0;display:flex}.cablelist .name .spec,.cablelist .name .route{color:var(--muted);font-size:13px;font-weight:400}.cablelist .num{min-width:2.2em}.photobtn.gallery{color:var(--muted);padding:4px 8px}.photo .photobtn+.photobtn{margin-left:4px}.photo.compact .photobtn.gallery{padding:1px 3px}.photo{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.list h3.band .photo{margin-left:auto}a.who{color:var(--muted);text-decoration:none}a.who:hover{text-decoration:underline}.account section.card{margin-bottom:12px}.account .fields>div{flex-direction:column;gap:3px;min-width:0;display:flex}.account .fields .lbl{color:var(--muted);font-size:12px}.account ul.mayls{gap:4px;margin:4px 0 0;padding:0;list-style:none;display:grid}.account ul.mayls li{flex-direction:column;padding-left:22px;display:flex;position:relative}.account ul.mayls li:before{content:"";background:var(--line);border-radius:50%;width:14px;height:14px;position:absolute;top:4px;left:0}.account ul.mayls li.yes:before{background:#2f7d4f}.account ul.mayls li.no{opacity:.55}.account p.ok{color:#2f7d4f}
