/* DUNSK KUHNER Gate Pass: same look as the Incident Report system and the company website */
:root{--bg:#FEF7E5;--card:#fff;--ink:#2F2D2A;--muted:#6b665e;--line:#E7DFC9;--teal:#00856a;--teal-dark:#006b55;--mint:#e3f8f1;--orange:#e8620f;--amber:#f0a30a;--err:#b42318;--err-bg:#fdecea;--warn-bg:#fff0d6;--warn:#7a4a00;--edge:2.4px solid #2F2D2A;--font:"Nunito",ui-rounded,"SF Pro Rounded","Segoe UI",system-ui,sans-serif}
*{box-sizing:border-box}
html{font-size:100%}
body{margin:0;font-family:var(--font);background:var(--bg);color:var(--ink);font-weight:500;line-height:1.5;min-height:100vh;display:flex;flex-direction:column}
a{color:var(--ink);text-decoration-thickness:2px;text-underline-offset:3px;text-decoration-color:var(--amber)}
a:hover{background:var(--amber)}
h1,h2,h3{font-weight:800;letter-spacing:-.015em;margin:0}
h1{font-size:clamp(1.8rem,1.3rem + 2vw,2.4rem);line-height:1.1}
h2{font-size:1.15rem}
.muted{color:var(--muted)}
.small{font-size:.82rem}
.top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px clamp(16px,3vw,56px)}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-family:"Fredoka",var(--font);font-weight:600;font-size:1.1rem}
.brand:hover{background:transparent}
.topnav{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.wrap{width:100%;max-width:none;margin:0 auto;padding:8px clamp(16px,3vw,56px) 40px;flex:1;display:flex;flex-direction:column;gap:20px}
.wrap.wide{max-width:none}
.wrap.narrow{max-width:none}
.foot{background:var(--ink);color:var(--bg);text-align:center;padding:22px;font-size:.78rem;font-weight:700}
.card{background:var(--card);border:var(--edge);border-radius:28px;padding:26px 28px;display:flex;flex-direction:column;gap:16px}
.card h1+.muted,.card h2+.muted{margin-top:-6px}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media(max-width:720px){.grid2,.grid3{grid-template-columns:1fr}.card{padding:20px 18px}}
.fld{display:flex;flex-direction:column;gap:6px;position:relative;min-width:0}
label,.lbl{font-size:.82rem;font-weight:800}
input[type=text],input[type=password],input[type=date],input[type=number],input[type=email],input[type=search],select,textarea{width:100%;min-height:44px;border:var(--edge);background:var(--bg);color:var(--ink);border-radius:999px;padding:8px 18px;font:600 .95rem var(--font)}
textarea{border-radius:22px;min-height:84px;resize:vertical}
input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:3px solid var(--teal);outline-offset:2px}
input[readonly],input.auto{background:var(--mint);border-color:var(--teal);color:var(--teal-dark);font-weight:800}
input:disabled{background:#f6efdc;border-color:#b8b2a4;color:var(--muted)}
input[type=radio],input[type=checkbox]{width:20px;height:20px;accent-color:var(--teal)}
.choice{display:flex;gap:10px;flex-wrap:wrap}
.choice label{display:flex;align-items:center;gap:8px;border:var(--edge);border-radius:999px;padding:9px 18px;background:#fff;font-size:.95rem;cursor:pointer}
.choice input:checked+span{color:var(--teal-dark)}
.btn,.btn2,.pill{font:800 .95rem var(--font);border:var(--edge);border-radius:999px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px}
.btn{min-height:48px;padding:0 28px;background:var(--ink);color:var(--bg);box-shadow:0 8px 22px rgba(0,133,106,.28)}
.btn:hover{background:#000;color:#fff}
.btn2{min-height:42px;padding:0 20px;background:#fff;color:var(--ink)}
.btn2:hover{background:var(--amber)}
.btn.danger,.btn2.danger{color:var(--err)}
.pill{min-height:38px;padding:0 16px;background:#fff;color:var(--ink);font-size:.88rem}
.pill.on{background:var(--ink);color:var(--bg)}
.pill:hover{background:var(--amber);color:var(--ink)}
.actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end;align-items:center}
.alert{border:var(--edge);border-radius:20px;padding:12px 18px;font-weight:700}
.alert.ok{background:var(--mint);border-color:var(--teal)}
.alert.err{background:var(--err-bg);border-color:var(--err);color:#7a1a10}
.alert.warn{background:var(--warn-bg);border-color:var(--amber);color:var(--warn)}
.alert ul{margin:0;padding-left:20px}
.tag{display:inline-block;border-radius:999px;padding:4px 12px;font-size:.78rem;font-weight:800;white-space:nowrap}
.tag.ok{background:var(--mint);color:var(--teal-dark)}
.tag.wait{background:var(--warn-bg);color:var(--warn)}
.tag.err{background:var(--err-bg);color:#7a1a10}
.tag.done{background:#ece8dc;color:#4a463f}
.kv{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;border:var(--edge);border-radius:20px;padding:14px 18px;background:var(--bg);font-size:.92rem}
.kv span{color:var(--muted);font-weight:600}.kv b{font-weight:800;text-align:right}
/* typeahead suggestions (not a dropdown list: they appear while typing) */
.sugwrap{position:relative;width:100%}
.suggest{position:absolute;left:0;right:0;top:100%;margin-top:4px;background:#fff;border:var(--edge);border-radius:20px;box-shadow:0 14px 30px rgba(47,45,42,.18);overflow:hidden;z-index:20}
.suggest[hidden]{display:none}
.suggest button{display:flex;justify-content:space-between;gap:12px;width:100%;text-align:left;background:#fff;border:0;padding:10px 18px;font:600 .9rem var(--font);color:var(--ink);cursor:pointer}
.suggest button:hover,.suggest button.on{background:var(--mint)}
.suggest small{color:var(--muted);font-weight:700;white-space:nowrap}
.suggest .none{padding:10px 18px;color:var(--muted);font-size:.85rem;font-weight:600}
/* items table on the form */
.itemrow{display:grid;grid-template-columns:minmax(0,4fr) 90px minmax(0,1.6fr) 44px;gap:10px;align-items:start}
.itemhead{display:grid;grid-template-columns:minmax(0,4fr) 90px minmax(0,1.6fr) 44px;gap:10px;font-size:.72rem;font-weight:800;letter-spacing:.06em;color:var(--muted);padding:0 6px}
.itemrow .x{width:44px;height:44px;padding:0;font-size:1.2rem}
@media(max-width:720px){.itemhead{display:none}.itemrow{grid-template-columns:1fr 1fr;border:var(--edge);border-radius:22px;padding:12px}.itemrow .fld:first-child{grid-column:1/-1}.itemrow .x{grid-column:1/-1;width:100%}}
.route{display:flex;flex-wrap:wrap;gap:10px}
.route .st{flex:1;min-width:150px;border:var(--edge);border-radius:20px;padding:10px 14px;background:#fff}
.route .st small{display:block;font-size:.68rem;font-weight:800;letter-spacing:.06em;color:var(--muted)}
.route .st b{display:block;font-size:.92rem}
.route .st span{font-size:.76rem;color:var(--muted);font-weight:600}
.route .st.done{background:var(--mint);border-color:var(--teal)}
.route .st.now{background:#fff1e6;border-color:var(--orange)}
.route .st.bad{background:var(--err-bg);border-color:var(--err)}
.route .st .sigmini{height:34px;display:block;margin:2px 0}
.tbl{width:100%;border-collapse:separate;border-spacing:0;border:var(--edge);border-radius:22px;overflow:hidden;font-size:.9rem;background:#fff}
.tbl th{background:var(--bg);text-align:left;font-size:.7rem;letter-spacing:.06em;font-weight:800;color:var(--muted);padding:11px 14px;border-bottom:var(--edge)}
.tbl td{padding:12px 14px;border-top:2px solid var(--line);vertical-align:middle}
.tbl tr:first-child td{border-top:0}
.tbl tr.over td{background:#fff3f0}
.tblwrap{overflow-x:auto}
/* signature pad */
.sigpad{display:flex;flex-direction:column;gap:8px}
.sigcanvas{width:100%;height:auto;aspect-ratio:3/1;border:2.4px dashed #8c867a;border-radius:22px;background:#fffdf8;touch-action:none;cursor:crosshair;display:block}
.sigbar{display:flex;justify-content:space-between;gap:8px;align-items:center;flex-wrap:wrap;font-size:.82rem}
.sigprev{max-height:90px;max-width:100%;display:block}
.check{display:flex;gap:10px;align-items:center;font-weight:700}
.trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
/* the paper pass (screen + print) */
.paper{width:100%;max-width:1000px;margin:0 auto;background:#fff;color:#2F2D2A;border:1px solid #cfcabb;box-shadow:0 10px 30px rgba(0,0,0,.12);padding:34px 40px;position:relative;font-size:.9rem}
.ptop{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.ptitle{text-align:right}.gp{font-size:2rem;font-weight:800;letter-spacing:.05em}
.ln{border-bottom:1.5px solid #2F2D2A;padding:0 6px 1px;font-weight:700}
.pmeta{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin:14px 0 6px}
.ctl{color:#d4181f;font-size:1.5rem;font-weight:800}
.guardto{font-weight:800;margin-top:4px}
.verify{font-size:.72rem;color:#5b574f;text-align:right}
.ptext{line-height:2;margin:10px 0}
.pret{margin:8px 0 12px}
.ptab{width:100%;border-collapse:collapse;border:1.5px solid #2F2D2A}
.ptab th,.ptab td{border:1.5px solid #2F2D2A;padding:7px 10px;text-align:left;font-size:.85rem}
.ptab th{font-size:.7rem;letter-spacing:.06em}
.ptab .c{text-align:center;width:70px}
.ptab tr.blank td{height:30px}
.ptab .tot{text-align:right;font-weight:800;border-top:1.5px solid #2F2D2A}
.psigs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 32px;margin-top:22px}
.sg .sgline{height:58px;border-bottom:1.5px solid #2F2D2A;display:flex;align-items:flex-end;gap:6px;padding-bottom:2px}
.sigimg{max-height:54px;max-width:100%}
.sg .cap{font-size:.7rem;color:#5b574f;font-weight:700;margin-top:3px}
.sg .stamp{font-size:.62rem;color:#006b55;font-weight:800}
.sg.repbox{border:1.5px dashed #2F2D2A;padding:6px 10px}
.void{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:5rem;font-weight:800;color:rgba(180,35,24,.22);transform:rotate(-18deg);pointer-events:none}
@media(max-width:720px){.psigs{grid-template-columns:1fr 1fr}.paper{padding:20px 16px}}
@media print{
  body{background:#fff;display:block}
  .top,.foot,.noprint,.alert{display:none!important}
  .wrap{max-width:none;padding:0}
  .paper{box-shadow:none;border:0;padding:0}
  @page{size:A5 landscape;margin:8mm}
}

/* the part of the return section that does not apply is greyed out and cannot be typed in */
.fld.off{opacity:.45}
.fld.off input{background:#ece8dc;cursor:not-allowed}
.fld input:disabled{cursor:not-allowed}
input[type=date]{cursor:pointer}
