/* Mahoney Express tool theme for the AWB generator — same look as the portal tools
   (Photo Report / Glass Pro Dark): Midnight ground, green neon rule, black wells, green outline buttons.
   Loaded last; overrides the generator's original blue styling. Print output is untouched. */
:root{--mid:#050605;--frame:#0e110f;--card:#171b18;--edge:#2a5a3c;--outline:#1e6b3c;--rule:#232924;
  --text:#eef2ef;--mute:#9fb0a6;--faint:#6f7d74;--sig:#0fa14a;--lit:#2fc24d;--gold:#f0b429;--red:#ff6b62;
  --mono:'JetBrains Mono',ui-monospace,Menlo,monospace}
@media screen{
body{background:radial-gradient(1200px 600px at 15% -10%,rgba(15,161,74,.16),transparent 60%),var(--mid)!important;
  color:var(--text);font:400 15px/1.45 'Source Sans 3',system-ui,sans-serif}

/* header band — title left, lockup right */
.band{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px clamp(16px,3vw,36px);
  background:linear-gradient(90deg,rgba(15,161,74,.10),transparent 45%),#060204;position:relative}
.band::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:#fff;
  box-shadow:0 0 6px rgba(47,194,77,.9),0 0 16px rgba(47,194,77,.5);animation:lk 6s ease-in-out infinite}
@keyframes lk{50%{box-shadow:0 0 9px rgba(47,194,77,1),0 0 26px rgba(47,194,77,.6)}}
.band .ttl{font:800 clamp(22px,3.6vw,38px)/1 Barlow,sans-serif;letter-spacing:.06em;color:transparent;
  -webkit-text-stroke:1.4px var(--lit);text-shadow:0 0 14px rgba(47,194,77,.55)}
.band .ttl small{display:block;margin-top:8px;font:600 12px Barlow,sans-serif;letter-spacing:.16em;color:var(--mute);-webkit-text-stroke:0;text-shadow:none}
.band .back{display:none;margin-bottom:8px;font:600 11px Barlow;letter-spacing:.14em;color:var(--mute);text-decoration:none;text-transform:uppercase}
.band .back:hover{color:var(--lit)}
.hosted .band .back{display:inline-block}
.lock{display:flex;align-items:center;gap:12px}.lock img{height:clamp(40px,6vw,60px);width:auto}
.lock .tx{display:inline-block}.lock .wm{display:block;font:800 clamp(18px,2.6vw,28px)/1 Barlow,sans-serif;letter-spacing:.02em;color:#fff;white-space:nowrap}
.lock .wm b{color:var(--lit);font-weight:800}
.lock .rl{display:block;height:2px;margin:6px 0;background:#fff;box-shadow:0 0 5px rgba(47,194,77,.95),0 0 13px rgba(47,194,77,.65),0 0 28px rgba(47,194,77,.38)}
.lock .ds{display:block;font:600 clamp(9px,1.2vw,12px) Barlow,sans-serif;letter-spacing:.1em;color:#fff;white-space:nowrap}

/* entry panel = stack of dark boxes */
#entryPanel{max-width:1040px!important;margin:22px auto!important;background:transparent!important;box-shadow:none!important;padding:0 clamp(12px,2vw,24px)!important}
#entryPanel>h1,#entryPanel>.subtitle{display:none}
.form-section{background:var(--card);border:1px solid var(--edge);border-radius:14px;padding:16px 18px 18px!important;margin-bottom:16px!important;
  box-shadow:0 0 0 2px #0b0e0c,0 0 0 3px var(--outline)}
.form-section:focus-within{box-shadow:0 0 0 2px #0b0e0c,0 0 0 3px var(--lit),0 0 18px rgba(47,194,77,.25)}
.form-section h3{font:800 15px Barlow,sans-serif!important;letter-spacing:.1em!important;text-transform:uppercase;color:var(--lit)!important;
  border-bottom:1px solid var(--rule)!important;padding-bottom:8px!important;margin-bottom:14px!important}
.field-group label,#modalBox .mfield label{font:600 11.5px Barlow,sans-serif!important;letter-spacing:.1em!important;text-transform:uppercase;color:var(--mute)!important}
.field-group input,.field-group select,.field-group textarea,#modalBox .mfield input,#modalBox .mfield select,#modalBox .mfield textarea,
#entryPanel textarea,#entryPanel input[type=text],#entryPanel input[type=number],#entryPanel input[type=date],#entryPanel select{
  background:#000!important;color:var(--text)!important;border:1px solid #1f4a30!important;border-radius:9px!important;
  padding:9px 11px!important;font:500 15px 'Source Sans 3',sans-serif!important;outline:0;width:100%}
#entryPanel select,#modalBox select{appearance:none;color:var(--lit)!important;padding-right:34px!important;
  background:#000 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%232fc24d' stroke-width='2.4'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 11px center!important}
#entryPanel input:focus,#entryPanel select:focus,#entryPanel textarea:focus,#modalBox input:focus,#modalBox select:focus,#modalBox textarea:focus{
  border-color:var(--lit)!important;box-shadow:0 0 0 1px var(--lit),0 0 12px rgba(47,194,77,.45)!important}
#entryPanel input[type=date]{color-scheme:dark}
#awbNumberWrap input{font:500 20px var(--mono)!important;letter-spacing:.04em!important;color:var(--lit)!important;border-color:var(--sig)!important}
#airlineDetect{background:#000!important;border:1px solid #1f4a30!important;border-radius:10px!important;color:var(--text)!important}
#airlineDetect .airline-name{color:var(--lit)!important;font:800 18px Barlow,sans-serif!important;letter-spacing:.03em}
#airlineDetect .airline-sub,#airlineDetect.empty,#airlineDetect.empty div{color:var(--mute)!important}
#airlineDetect strong{color:var(--text)}
.copy-checks label,#entryPanel label:has(input[type=radio]),#entryPanel label:has(input[type=checkbox]){color:var(--text);font-size:14px}
#entryPanel input[type=checkbox],#entryPanel input[type=radio],#sidebar input[type=checkbox]{accent-color:var(--lit);width:16px;height:16px}

/* chips + small buttons */
.chip,.charge-btn,.tbl-ctrl button{background:#000!important;color:var(--lit)!important;border:1px solid #1f6b3e!important;border-radius:8px!important;
  font:700 11px Barlow,sans-serif!important;letter-spacing:.08em;padding:5px 10px!important;text-transform:uppercase}
.chip:hover,.charge-btn:hover,.tbl-ctrl button:hover{border-color:var(--lit)!important;box-shadow:0 0 10px rgba(47,194,77,.4)}
.tbl-ctrl button.danger{color:var(--red)!important;border-color:#6b2020!important}

/* main buttons: black + green outline + glow; primary = inverted */
.btn,.modal-btns button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px!important;
  border-radius:10px!important;cursor:pointer;background:#000!important;color:var(--lit)!important;font:700 14px Barlow,sans-serif!important;
  letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--sig)!important;box-shadow:0 0 0 2px #000,0 0 0 3px #1f6b3e,0 0 10px rgba(47,194,77,.25)}
.btn:hover,.modal-btns button:hover{box-shadow:0 0 0 2px #000,0 0 0 3px var(--lit),0 0 18px rgba(47,194,77,.55)}
.btn-primary,.modal-btns .ok{background:var(--lit)!important;color:#000!important}
.btn-danger{color:var(--red)!important;border-color:#6b2020!important}
.btn.hidden{display:none!important}

/* tables in the form */
.editable-table,.cargo-table{color:var(--text)}
.editable-table th,.cargo-table th{background:#0f2418!important;color:var(--lit)!important;font:700 11px Barlow,sans-serif!important;letter-spacing:.08em}
.editable-table td,.cargo-table td{border:1px solid #1f4a30!important}
.editable-table tr:hover{background:#0f1a13!important}
.editable-table tr.selected{background:#163d25!important}
.cargo-table td input,.cargo-table td select{background:transparent!important;border:0!important;color:var(--text)!important}

/* banners + modal */
#validationBanner{background:#1d0b0a!important;border:1px solid #6b2020!important;color:#ff8f88!important;border-radius:10px!important;font-size:14px!important}
#modalOverlay{background:rgba(0,0,0,.7)!important}
#modalBox{background:var(--card)!important;color:var(--text);border:1px solid var(--edge);border-radius:14px!important;
  box-shadow:0 0 0 2px #0b0e0c,0 0 0 3px var(--outline),0 20px 60px rgba(0,0,0,.6)!important}
#modalBox h3{color:var(--lit)!important;font:800 16px Barlow!important;letter-spacing:.08em;text-transform:uppercase}
.modal-btns .cancel{color:var(--mute)!important;border-color:#2a3a30!important}

/* sidebar */
#sidebar{background:linear-gradient(180deg,#060204,#07110b)!important;border-left:1px solid #12301f;color:var(--text)!important;
  font-family:'Source Sans 3',sans-serif!important;font-size:13px!important;width:240px!important}
#sidebar .sb-section{border-bottom:1px solid var(--rule)!important;padding:14px 16px!important}
#sidebar .sb-section:first-child div:first-child{font:800 16px Barlow!important;letter-spacing:.04em;color:#fff}
#sidebar .sb-title{font:700 11px Barlow!important;letter-spacing:.14em!important;color:var(--lit)!important}
#statusBadge{font:700 11px Barlow!important;letter-spacing:.1em}
#statusBadge.draft{background:transparent!important;color:var(--gold)!important;border:1px solid var(--gold)}
#statusBadge.locked{background:var(--lit)!important;color:#000!important}
#lockBtn,#sbNewBtn,.task-btn{background:#000!important;color:var(--lit)!important;border:1px solid #1f6b3e!important;border-radius:8px!important;
  font:700 12px Barlow!important;letter-spacing:.08em;text-transform:uppercase}
#sbSaveBtn{background:var(--lit)!important;color:#000!important;border:0!important;border-radius:8px!important;font:800 13px Barlow!important;letter-spacing:.1em;text-transform:uppercase;padding:9px!important}
#lockBtn:hover,#sbNewBtn:hover,.task-btn:hover{border-color:var(--lit)!important;box-shadow:0 0 10px rgba(47,194,77,.4)}
#autoCalcWrap label{color:var(--text)!important;font-size:13px!important}
.gen-link{display:block;padding:4px 0!important;color:var(--faint)!important;font-size:13px!important}
.gen-link.active,.gen-link[onclick^="open"]{color:var(--text)!important;cursor:pointer;text-decoration:none!important}
.gen-link.active:hover,.gen-link[onclick^="open"]:hover{color:var(--lit)!important}
#sideNotes{background:#000!important;border:1px solid #1f4a30!important;border-radius:8px;color:var(--text)!important;font:400 13px 'Source Sans 3'!important}
#lastSaved{color:var(--faint)!important}

/* generated AWB preview area */
#printControls{background:transparent!important;padding:16px!important}
#printControls .btn{margin:0 6px}
#awbDoc .mawb-sheet{box-shadow:0 0 0 1px #1f4a30,0 10px 40px rgba(0,0,0,.6)}
@media (max-width:760px){#appShell{flex-direction:column}#sidebar{width:auto!important;height:auto!important;position:static!important}
  .band{padding:14px 16px}.lock .tx{display:none}}
@media (prefers-reduced-motion:reduce){.band::after{animation:none}}
}
/* AWB import drop box */
@media screen{
#awbImport .drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;padding:22px 16px;
  border:1.5px dashed #2b6b44;border-radius:12px;background:rgba(0,0,0,.35);color:var(--mute);cursor:pointer}
#awbImport .drop:hover,#awbImport .drop.over{border-color:var(--lit);background:rgba(47,194,77,.08);color:var(--text)}
#awbImport .drop b{color:var(--text);font:700 17px Barlow,sans-serif;letter-spacing:.04em}
#awbImport .drop span{font-size:13.5px}
.imp-msg{margin-top:10px;font-size:14px;color:var(--mute);min-height:1em}
.imp-msg.ok{color:var(--lit)}.imp-msg.err{color:#ff8f88;font-weight:600}
}
