:root{
  --ink:#17191c; --ink-2:#23272c; --line:#dcdee1; --bg:#e9ebee; --card:#ffffff;
  --amber:#e8850c; --amber-deep:#b8620a; --green:#15803d; --green-bg:#dcfce7;
  --red:#c81e1e; --red-bg:#fee2e2; --pending:#b45309; --pending-bg:#fef3c7;
  --slate:#5b6470; --slate-2:#8a929c; --focus:#e8850c;
  --display:"Oswald",Impact,"Arial Narrow",sans-serif;
  --body:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
html,body{margin:0;padding:0;}
body{font-family:var(--body);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;line-height:1.45;padding-bottom:120px;}
.wrap{max-width:520px;margin:0 auto;min-height:100vh;background:var(--bg);}

header{background:var(--ink);color:#fff;padding:18px 18px 16px;position:relative;overflow:hidden;}
.hazard{height:8px;width:100%;background:repeating-linear-gradient(-45deg,var(--amber) 0 16px,var(--ink) 16px 32px);position:absolute;top:0;left:0;}
header .eyebrow{font-family:var(--display);text-transform:uppercase;letter-spacing:.22em;font-size:11px;font-weight:500;color:var(--amber);margin:14px 0 2px;}
header h1{font-family:var(--display);font-weight:700;font-size:27px;line-height:1.02;margin:0;text-transform:uppercase;letter-spacing:.01em;}
header .org{font-size:12.5px;color:#a9b0ba;margin-top:5px;font-weight:500;}

/* brand lockup (logo + wordmark) */
.brand-lockup{display:flex;align-items:center;gap:14px;margin:14px 0 2px;}
.brand-logo{width:52px;height:52px;flex:0 0 auto;filter:drop-shadow(0 3px 8px rgba(0,0,0,.4));}
.brand-text{min-width:0;}
.brand-text .eyebrow{margin:0 0 2px;}
.brand-text h1{margin:0;font-size:24px;letter-spacing:.01em;}
.login-head .brand-lockup{margin:6px 0 8px;}
.login-head .brand-logo{width:56px;height:56px;}
.login-head .brand-text h1{color:#fff;font-size:22px;}
.prop{margin-top:14px;display:flex;align-items:center;gap:10px;}
.prop label{font-family:var(--display);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#c7ccd3;font-weight:600;white-space:nowrap;}
.prop input{flex:1;background:var(--ink-2);border:1px solid #363b42;color:#fff;padding:9px 12px;border-radius:9px;font-family:var(--body);font-size:15px;font-weight:500;}
.prop input::placeholder{color:#6b7580;}
.prop input:focus{outline:none;border-color:var(--amber);}

.summary{display:flex;gap:8px;padding:14px 18px 4px;overflow-x:auto;scrollbar-width:none;}
.summary::-webkit-scrollbar{display:none;}
.chip{flex:0 0 auto;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:9px 13px;min-width:74px;}
.chip .n{font-family:var(--display);font-weight:700;font-size:22px;line-height:1;}
.chip .l{font-size:10.5px;color:var(--slate);text-transform:uppercase;letter-spacing:.05em;margin-top:3px;font-weight:600;}
.chip.ok .n{color:var(--green);}
.chip.stop .n{color:var(--red);}
.chip.wait .n{color:var(--pending);}

.list{padding:12px 18px 8px;}
.empty{text-align:center;padding:52px 24px;color:var(--slate);}
.empty .ico{font-size:40px;margin-bottom:10px;}
.empty h3{font-family:var(--display);text-transform:uppercase;letter-spacing:.08em;font-size:17px;margin:0 0 6px;color:var(--ink);}
.empty p{font-size:13.5px;margin:0 auto;max-width:280px;}

.entry{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 15px;margin-bottom:11px;cursor:pointer;position:relative;border-left:5px solid var(--slate-2);transition:transform .06s ease;}
.entry:active{transform:scale(.992);}
.entry.s-complete{border-left-color:var(--green);}
.entry.s-stop{border-left-color:var(--red);}
.entry.s-missing{border-left-color:var(--amber);}
.entry.s-pending{border-left-color:var(--pending);}
.entry-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;}
.entry .unit{font-family:var(--display);font-weight:600;font-size:19px;line-height:1.1;text-transform:uppercase;letter-spacing:.01em;}
.entry .meta{font-size:12.5px;color:var(--slate);margin-top:3px;}
.entry .who{font-size:13px;color:var(--ink);margin-top:7px;font-weight:500;}
.entry .who span{color:var(--slate);font-weight:400;}
.badge{flex:0 0 auto;font-family:var(--display);font-weight:600;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;padding:5px 9px;border-radius:7px;border:1.5px solid;white-space:nowrap;text-align:center;}
.badge.b-complete{color:var(--green);background:var(--green-bg);border-color:var(--green);}
.badge.b-stop{color:var(--red);background:var(--red-bg);border-color:var(--red);}
.badge.b-missing{color:var(--amber-deep);background:#fdecd3;border-color:var(--amber);}
.badge.b-pending{color:var(--pending);background:var(--pending-bg);border-color:var(--pending);}

.actionbar{position:fixed;bottom:0;left:0;right:0;display:flex;gap:10px;padding:12px 16px calc(14px + env(safe-area-inset-bottom));background:linear-gradient(to top,var(--bg) 72%,rgba(233,235,238,0));max-width:520px;margin:0 auto;}
.btn{flex:1;border:none;border-radius:13px;padding:15px 12px;font-family:var(--display);font-weight:600;font-size:15px;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;}
.btn-primary{background:var(--amber);color:#1a1206;box-shadow:0 4px 14px rgba(232,133,12,.35);}
.btn-primary:active{background:var(--amber-deep);}
.btn-ghost{background:var(--ink);color:#fff;}
.btn-ghost:active{background:var(--ink-2);}
.btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;}

.scrim{position:fixed;inset:0;background:rgba(15,17,20,.55);opacity:0;pointer-events:none;transition:opacity .22s ease;z-index:40;}
.scrim.open{opacity:1;pointer-events:auto;}
.sheet{position:fixed;left:0;right:0;bottom:0;max-width:520px;margin:0 auto;background:var(--bg);border-radius:20px 20px 0 0;z-index:50;transform:translateY(102%);transition:transform .28s cubic-bezier(.32,.72,0,1);max-height:94vh;display:flex;flex-direction:column;}
.sheet.open{transform:translateY(0);}
.sheet-head{padding:16px 18px 12px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;position:relative;}
.grab{position:absolute;top:8px;left:50%;transform:translateX(-50%);width:38px;height:4px;border-radius:4px;background:var(--slate-2);opacity:.5;}
.sheet-head h2{font-family:var(--display);text-transform:uppercase;letter-spacing:.05em;font-size:18px;margin:6px 0 0;}
.x{background:none;border:none;font-size:26px;color:var(--slate);cursor:pointer;line-height:1;padding:4px 6px;margin-top:4px;}
.sheet-body{padding:16px 18px 20px;overflow-y:auto;flex:1;-webkit-overflow-scrolling:touch;}

.field{margin-bottom:16px;}
.field label{display:block;font-family:var(--display);font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);font-weight:600;margin-bottom:6px;}
.field label .req{color:var(--amber-deep);}
.field input[type=text],.field input[type=password],.field input[type=email],.field input[type=number],.field input[type=date],.field select,.field textarea{width:100%;display:block;box-sizing:border-box;background:var(--card);border:1.5px solid var(--line);border-radius:11px;padding:13px;font-family:var(--body);font-size:16px;color:var(--ink);font-weight:500;}
.field textarea{resize:vertical;min-height:64px;line-height:1.4;}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--focus);box-shadow:0 0 0 3px rgba(232,133,12,.15);}
.field .hint{font-size:11.5px;color:var(--slate);margin-top:5px;}

.seg{display:flex;gap:8px;}
.seg button{flex:1;border:1.5px solid var(--line);background:var(--card);color:var(--slate);border-radius:11px;padding:13px;font-family:var(--display);font-weight:600;font-size:14px;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;}
.seg button.on{background:var(--slate);border-color:var(--slate);color:#fff;}
.seg button.yes.on{background:var(--green);border-color:var(--green);color:#fff;}
.seg button.no.on{background:var(--red);border-color:var(--red);color:#fff;}
input.calc-field{background:var(--bg,#f2f4f6);color:var(--slate);font-weight:600;cursor:default;}
input.calc-field:focus{outline:none;}

.statuslive{display:flex;align-items:center;gap:10px;background:var(--card);border:1.5px dashed var(--line);border-radius:12px;padding:12px 14px;margin-bottom:18px;}
.statuslive .lbl{font-family:var(--display);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--slate);font-weight:600;}

/* approval panel (read-only, edit mode) */
.approval-panel{background:var(--card);border:1.5px solid var(--line);border-radius:12px;padding:13px 15px;margin-bottom:16px;border-left:5px solid var(--slate-2);}
.approval-panel.approved{border-left-color:var(--green);}
.approval-panel.pending{border-left-color:var(--pending);}
.ap-row{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.ap-label{font-family:var(--display);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--slate);font-weight:600;}
.ap-status{font-family:var(--display);font-weight:600;font-size:13px;letter-spacing:.03em;text-transform:uppercase;}
.ap-status.approved{color:var(--green);}
.ap-status.pending{color:var(--pending);}
.ap-detail{font-size:12.5px;color:var(--slate);margin-top:6px;line-height:1.5;}
.ap-detail b{color:var(--ink);font-weight:600;}

.btn-complete{background:var(--green);color:#fff;width:100%;order:5;}
.btn-complete:active{background:#0f5f2d;}
.btn-override{background:#fef3c7;color:var(--amber-deep);border:1.5px solid var(--amber);flex:0 0 auto;padding:15px 16px;}
.btn-override:active{background:#fde8a3;}

.safety-note{background:#fdf4e6;border:1px solid #f2d9ac;border-radius:12px;padding:12px 14px;margin-bottom:18px;font-size:12.5px;color:#6b4a13;line-height:1.5;}
.safety-note b{font-family:var(--display);letter-spacing:.04em;display:block;margin-bottom:4px;text-transform:uppercase;font-size:12px;}
.finalnote{background:#e8f5ec;border:1px solid #b7dcc4;border-radius:12px;padding:12px 14px;margin-bottom:18px;font-size:12.5px;color:#155e33;line-height:1.5;}
.finalnote b{font-family:var(--display);letter-spacing:.04em;display:block;margin-bottom:4px;text-transform:uppercase;font-size:12px;}

.sheet-foot{padding:12px 18px calc(16px + env(safe-area-inset-bottom));border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:10px;background:var(--bg);}
.sheet-foot .btn{flex:1;min-width:0;white-space:nowrap;}
.sheet-foot #saveBtn,.sheet-foot #refSaveBtn{flex:1 1 100%;order:9;}
.sheet-foot .btn{flex:1;}
.btn-del{background:var(--card);color:var(--red);border:1.5px solid var(--red);flex:0 0 auto;padding:15px 18px;}

.toast{position:fixed;bottom:96px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--ink);color:#fff;padding:12px 20px;border-radius:12px;font-size:14px;font-weight:500;opacity:0;pointer-events:none;transition:all .25s ease;z-index:80;max-width:88%;text-align:center;}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

.appfoot{text-align:center;padding:6px 0 26px;color:var(--slate-2);font-size:11px;font-family:var(--display);letter-spacing:.08em;text-transform:uppercase;}
.appfoot .dot{opacity:.5;}

/* safety-stop alert */
.alert-scrim{position:fixed;inset:0;background:rgba(15,17,20,.62);z-index:90;display:none;align-items:center;justify-content:center;padding:24px;}
.alert-scrim.open{display:flex;}
.alert-box{background:var(--card);border-radius:18px;max-width:400px;width:100%;text-align:center;padding:26px 24px 22px;border-top:6px solid var(--red);box-shadow:0 24px 60px rgba(15,17,20,.4);animation:alertpop .2s cubic-bezier(.32,.72,0,1);}
@keyframes alertpop{from{transform:scale(.92);opacity:0;}to{transform:scale(1);opacity:1;}}
.alert-icon{font-size:44px;line-height:1;margin-bottom:8px;}
.alert-box h3{font-family:var(--display);text-transform:uppercase;letter-spacing:.04em;font-size:21px;color:var(--red);margin:0 0 10px;}
.alert-box p{font-size:14.5px;line-height:1.5;color:var(--ink);margin:0 0 20px;}
.btn-alert{background:var(--red);color:#fff;width:100%;}
.btn-alert:active{background:#a51818;}

/* account bar */
.acctbar{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:12px 0 2px;min-height:24px;}
.acct-user{font-family:var(--body);font-size:12.5px;color:#c7ccd3;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.acct-user b{color:#fff;font-weight:600;}
.acct-user .role{display:inline-block;font-family:var(--display);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;background:var(--amber);color:#1a1206;padding:1px 6px;border-radius:5px;margin-left:6px;vertical-align:middle;font-weight:600;}
.acct-actions{display:flex;gap:6px;flex:0 0 auto;}
.acct-btn{background:var(--ink-2);border:1px solid #363b42;color:#c7ccd3;font-family:var(--display);font-size:11px;letter-spacing:.05em;text-transform:uppercase;font-weight:600;padding:6px 10px;border-radius:8px;cursor:pointer;}
.acct-btn:active{background:#2c3138;}

/* language switch */
.lang-switch{display:flex;background:var(--ink-2);border:1px solid #363b42;border-radius:8px;padding:2px;}
.lang-switch button{background:transparent;border:none;color:#8a929c;font-family:var(--display);font-size:11px;letter-spacing:.05em;font-weight:600;padding:4px 8px;border-radius:6px;cursor:pointer;}
.lang-switch button.on{background:var(--amber);color:#1a1206;}

/* live status pill */
.livepill{display:flex;align-items:center;gap:4px;margin:14px 0 0;background:var(--ink-2);border:1px solid #363b42;border-radius:12px;padding:8px 4px;}
.lp-seg{flex:1;background:transparent;border:none;color:#fff;padding:4px 6px;display:flex;flex-direction:column;align-items:center;gap:2px;cursor:default;font:inherit;}
button.lp-seg{cursor:pointer;}
button.lp-seg:active{background:rgba(255,255,255,.06);border-radius:8px;}
.lp-n{font-family:var(--display);font-weight:700;font-size:20px;line-height:1;}
.lp-l{font-size:10.5px;color:#a9b0ba;text-transform:uppercase;letter-spacing:.06em;font-weight:600;font-family:var(--display);}
.lp-div{width:1px;height:22px;background:#363b42;}
.lp-await .lp-n{color:var(--amber);}
.lp-active .lp-n{color:#fbbf24;}
.lp-done .lp-n{color:#4ade80;}

/* PDF viewer overlay */
.pdf-viewer{position:fixed;inset:0;z-index:95;background:#1c1e22;display:none;flex-direction:column;}
.pdf-viewer.open{display:flex;}
.pdf-bar{flex:0 0 auto;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:calc(10px + env(safe-area-inset-top)) 14px 10px;border-bottom:2px solid var(--amber);}
.pdf-title{font-family:var(--display);font-size:14px;text-transform:uppercase;letter-spacing:.06em;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:8px;}
.pdf-actions{display:flex;gap:8px;flex:0 0 auto;}
.pdf-btn{background:var(--ink-2);border:1px solid #363b42;color:#fff;font-size:20px;line-height:1;padding:8px 14px;border-radius:9px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;}
.pdf-btn:active{background:#2c3138;}
#pdfFrame{flex:1;width:100%;border:none;background:#fff;}

/* login page */
.login-body{background:var(--ink);display:flex;min-height:100vh;align-items:center;justify-content:center;padding:20px;}
.login-wrap{width:100%;max-width:400px;}
.login-card{background:var(--bg);border-radius:18px;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.5);}
.login-head{background:var(--ink);color:#fff;padding:8px 22px 22px;}
.login-head .eyebrow{color:var(--amber);}
.login-head h1{font-family:var(--display);font-weight:700;font-size:26px;line-height:1.02;margin:0;text-transform:uppercase;}
.login-head .org{font-size:12.5px;color:#a9b0ba;margin-top:5px;}
.login-body-inner{padding:22px;}
.login-body-inner .field{width:100%;}
.login-body-inner .field input{
  width:100%;
  display:block;
  box-sizing:border-box;
  margin:0;
}
/* neutralize browser autofill visual so username/password look identical */
.login-body-inner .field input:-webkit-autofill{
  -webkit-box-shadow: 0 0 0 100px var(--card) inset !important;
  -webkit-text-fill-color: var(--ink) !important;
  box-shadow: 0 0 0 100px var(--card) inset !important;
  border: 1.5px solid var(--line) !important;
}
.login-error{display:none;background:var(--red-bg);border:1px solid var(--red);color:var(--red);border-radius:9px;padding:9px 12px;font-size:13px;margin-bottom:12px;font-weight:500;}

/* admin user list */
.adduser{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:15px;margin-bottom:16px;}
.adduser-title{font-family:var(--display);text-transform:uppercase;letter-spacing:.06em;font-size:14px;font-weight:600;margin-bottom:12px;}
.userlist{display:flex;flex-direction:column;gap:9px;}
.urow{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px;}
.urow.inactive{opacity:.55;}
.urow-top{display:flex;justify-content:space-between;align-items:center;gap:8px;}
.urow .uname{font-weight:600;font-size:15px;}
.urow .uname .role{font-family:var(--display);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;padding:1px 6px;border-radius:5px;margin-left:6px;font-weight:600;}
.urow .uname .role.admin{background:#fdecd3;color:var(--amber-deep);}
.urow .uname .role.user{background:#e6edf5;color:var(--slate);}
.urow .uemail{font-size:12px;color:var(--slate);margin-top:2px;}
.urow-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;}
.ubtn{background:var(--bg);border:1px solid var(--line);color:var(--ink);font-family:var(--display);font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;font-weight:600;padding:6px 10px;border-radius:8px;cursor:pointer;}
.ubtn.danger{color:var(--red);border-color:var(--red);}
.urow .tag-you{font-size:10px;color:var(--slate-2);font-family:var(--display);letter-spacing:.06em;text-transform:uppercase;}

/* ===== tabs ===== */
.tabbar{display:flex;gap:8px;margin:14px 16px 4px;max-width:520px;}
.tab{flex:1;background:var(--card);border:1.5px solid var(--line);border-radius:11px;padding:11px;font-family:var(--display);font-size:13px;letter-spacing:.05em;text-transform:uppercase;font-weight:600;color:var(--slate);cursor:pointer;}
.tab.on{background:var(--ink);border-color:var(--ink);color:#fff;}

/* ===== refrigerant ===== */
.ref-back{background:none;border:none;color:var(--slate);font-family:var(--display);font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;font-weight:600;padding:10px 16px 0;cursor:pointer;}
.ref-title{font-family:var(--display);font-weight:700;font-size:19px;text-transform:uppercase;letter-spacing:.02em;color:var(--ink);padding:4px 16px 8px;}
.ref-title .rt-badge{display:inline-block;background:var(--ink);color:var(--amber);border-radius:7px;padding:3px 8px;font-size:12px;margin-right:8px;vertical-align:2px;}
.ref-sheet-card{background:var(--card);border:1.5px solid var(--line);border-radius:13px;padding:14px;margin-bottom:10px;cursor:pointer;}
.ref-sheet-card .rt-badge{display:inline-block;background:var(--ink);color:var(--amber);border-radius:7px;padding:3px 9px;font-family:var(--display);font-weight:600;font-size:13px;letter-spacing:.04em;}
.ref-sheet-card .rs-name{font-weight:600;font-size:14.5px;color:var(--ink);margin-top:7px;}
.ref-sheet-card .rs-meta{font-size:12px;color:var(--slate-2);margin-top:3px;}
.ref-entry-card{background:var(--card);border:1.5px solid var(--line);border-radius:13px;padding:12px 14px;margin-bottom:9px;cursor:pointer;}
.ref-entry-card .re-top{display:flex;justify-content:space-between;align-items:baseline;}
.ref-entry-card .re-apt{font-weight:700;font-size:14.5px;color:var(--ink);}
.ref-entry-card .re-date{font-size:12px;color:var(--slate-2);}
.ref-entry-card .re-detail{font-size:12.5px;color:var(--slate);margin-top:5px;line-height:1.5;}
.ref-entry-card .re-amt{color:var(--amber-deep);font-weight:700;}
.ref-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px;}

/* ===== activity log ===== */
.act-filters{display:flex;gap:8px;margin-bottom:12px;}
.act-filter{flex:1;background:var(--card);border:1.5px solid var(--line);border-radius:9px;padding:8px;font-family:var(--display);font-size:11.5px;letter-spacing:.04em;text-transform:uppercase;font-weight:600;color:var(--slate);cursor:pointer;}
.act-filter.on{background:var(--ink);border-color:var(--ink);color:#fff;}
.act-row{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--slate-2);border-radius:9px;padding:9px 11px;margin-bottom:7px;font-size:12.5px;}
.act-row.warn{border-left-color:var(--amber);}
.act-row.error{border-left-color:var(--red);background:var(--red-bg);}
.act-row .a-line1{display:flex;justify-content:space-between;gap:8px;}
.act-row .a-action{font-family:var(--display);font-weight:600;letter-spacing:.03em;color:var(--ink);text-transform:uppercase;font-size:11.5px;}
.act-row .a-ts{color:var(--slate-2);font-size:11px;white-space:nowrap;}
.act-row .a-detail{color:var(--slate);margin-top:3px;word-break:break-word;}
.act-row .a-user{color:var(--amber-deep);font-weight:600;}

/* ---------- v2.8.0: search/filter, dashboard, photos, signatures, reports ---------- */
.refmonth{display:flex;align-items:center;gap:9px;background:linear-gradient(90deg,#0f766e10,#7c3aed10);border:1px solid var(--line);border-radius:12px;padding:10px 14px;margin:0 0 12px;}
.refmonth .rm-ico{font-size:18px;color:#0f766e;}
.refmonth .rm-val{font-family:var(--display);font-weight:700;font-size:17px;color:var(--ink);}
.refmonth .rm-sub{font-size:12px;color:var(--slate);margin-left:auto;text-align:right;}
.listtools{margin:0 0 12px;}
#permitSearch{width:100%;background:var(--card);border:1.5px solid var(--line);border-radius:11px;padding:11px 13px;font-family:var(--body);font-size:15px;color:var(--ink);}
#permitSearch:focus{outline:none;border-color:var(--focus);}
.filterchips{display:flex;gap:7px;overflow-x:auto;margin-top:9px;padding-bottom:2px;-webkit-overflow-scrolling:touch;}
.fchip{flex:0 0 auto;background:var(--card);border:1.5px solid var(--line);color:var(--slate);border-radius:999px;padding:7px 13px;font-family:var(--display);font-weight:600;font-size:12.5px;letter-spacing:.03em;text-transform:uppercase;cursor:pointer;white-space:nowrap;}
.fchip.on{background:var(--ink);border-color:var(--ink);color:#fff;}
.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px;margin-top:8px;}
.photo-thumb{position:relative;aspect-ratio:1;border-radius:10px;overflow:hidden;border:1px solid var(--line);background:var(--bg);}
.photo-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.photo-del{position:absolute;top:4px;right:4px;width:22px;height:22px;border:none;border-radius:50%;background:rgba(23,25,28,.72);color:#fff;font-size:15px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.sigpad-wrap{position:relative;border:1.5px solid var(--line);border-radius:11px;background:var(--card);overflow:hidden;margin-top:4px;}
.sigpad{width:100%;height:150px;display:block;touch-action:none;cursor:crosshair;}
.sigpad-img{width:100%;max-height:150px;object-fit:contain;display:block;background:#fff;}
.sig-clear{position:absolute;top:6px;right:8px;border:none;background:#eef0f2;color:var(--slate);border-radius:7px;padding:4px 10px;font-size:12px;cursor:pointer;}
.rep-tabs{display:flex;gap:8px;margin-bottom:6px;}
.rep-tab{flex:1;background:var(--card);border:1.5px solid var(--line);color:var(--slate);border-radius:10px;padding:11px;font-family:var(--display);font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.03em;cursor:pointer;}
.rep-tab.on{background:var(--ink);border-color:var(--ink);color:#fff;}
.rep-winlabel{font-size:12px;color:var(--slate);text-transform:uppercase;letter-spacing:.05em;font-weight:600;display:block;margin-bottom:6px;}
.rep-loading,.empty p{color:var(--slate);}
.rep-loading{padding:26px;text-align:center;color:var(--slate);}
.rep-card{background:var(--card);border:1px solid var(--line);border-radius:13px;padding:14px 15px;margin-bottom:10px;}
.rep-card-top{display:flex;align-items:center;gap:9px;margin-bottom:11px;flex-wrap:wrap;}
.rep-name{font-weight:600;color:var(--ink);font-size:14.5px;}
.rep-bottle{font-size:11.5px;color:var(--slate);font-weight:500;}
.rep-stats{display:flex;gap:10px;}
.rep-stat{flex:1;background:var(--bg);border-radius:9px;padding:9px 6px;text-align:center;}
.rep-stat .rs-n{font-family:var(--display);font-weight:700;font-size:16px;color:var(--ink);}
.rep-stat .rs-l{font-size:10.5px;color:var(--slate);text-transform:uppercase;letter-spacing:.04em;margin-top:2px;}
.rt-badge{display:inline-block;background:var(--ink);color:#fff;border-radius:6px;padding:3px 8px;font-family:var(--display);font-weight:600;font-size:11.5px;letter-spacing:.03em;}
.rep-usage{background:var(--card);border:1px solid var(--line);border-left:5px solid var(--slate-2);border-radius:11px;padding:12px 14px;margin-bottom:9px;}
.rep-usage.recurring{border-left-color:var(--red);background:#fff7f7;}
.ru-apt{font-family:var(--display);font-weight:700;font-size:16px;color:var(--ink);}
.ru-flag{display:inline-block;background:var(--red);color:#fff;border-radius:5px;padding:2px 7px;font-size:10.5px;font-weight:600;letter-spacing:.03em;vertical-align:middle;margin-left:6px;}
.ru-meta{font-size:12.5px;color:var(--slate);margin-top:4px;}

/* ---------- v2.9.0: property scoping UI ---------- */
select.select{width:100%;background:var(--card);border:1.5px solid var(--line);border-radius:11px;padding:12px 13px;font-family:var(--body);font-size:15px;color:var(--ink);appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8'><path d='M1 1l5 5 5-5' stroke='%235b6470' stroke-width='2' fill='none' stroke-linecap='round'/></svg>");background-repeat:no-repeat;background-position:right 14px center;}
select.select:focus{outline:none;border-color:var(--focus);}
.scope-indicator{display:none;align-items:center;gap:7px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);color:#fff;border-radius:999px;padding:6px 13px;font-family:var(--display);font-weight:600;font-size:12.5px;letter-spacing:.02em;margin-left:auto;}
.scope-indicator .si-dot{width:8px;height:8px;border-radius:50%;background:var(--amber,#e8850c);box-shadow:0 0 0 3px rgba(232,133,12,.25);}
.prop-tag{display:inline-block;background:#eef2f6;color:#3a4450;border-radius:6px;padding:2px 8px;font-size:11px;font-weight:600;letter-spacing:.02em;margin-left:7px;vertical-align:middle;}
.proplist{display:flex;flex-direction:column;gap:6px;margin-bottom:4px;}
.prop-row{display:flex;align-items:center;justify-content:space-between;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:9px 12px;}
.prop-name{font-weight:600;color:var(--ink);font-size:14.5px;}
.prop-actions{display:flex;gap:6px;}
.prop-empty{color:var(--slate);font-size:13px;padding:8px 2px;}
.prop-select{border:1.5px solid var(--line);border-radius:8px;padding:6px 8px;font-size:12.5px;background:var(--card);color:var(--ink);max-width:150px;}
