
body{font-family:Arial,sans-serif;background:#f5f5f5;color:#111;padding:20px;margin:0}.nav{margin-bottom:20px}.nav a{margin-right:20px;color:#111;font-weight:bold}.card{background:#fff;border:1px solid #ccc;padding:16px;margin:16px 0;border-radius:8px}.event-header{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.inline-form{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0}label{display:flex;flex-direction:column;gap:4px;font-weight:bold;margin-bottom:12px}input,textarea,select,button{font:inherit}input[type=text],input[type=date],input[type=number],input[type=search],textarea,select{width:100%;box-sizing:border-box;padding:8px;border:1px solid #999;border-radius:4px;background:white}.searchbox{margin:12px 0;max-width:420px}.notes-input{min-height:42px;resize:vertical}.big-notes{min-height:140px}.qty-input{max-width:80px;text-align:center}.keys{display:flex;gap:12px;flex-wrap:wrap;margin:16px 0}.shop{background:yellow;padding:8px 12px;border:1px solid #777}.crossload{background:orange;padding:8px 12px;border:1px solid #777}.attention{background:lightgreen;padding:8px 12px;border:1px solid #777}.section-title{margin-top:28px;background:#222;color:#fff;padding:10px}table{width:100%;border-collapse:collapse;background:white;margin-bottom:20px}th,td{border:1px solid #bbb;padding:8px;vertical-align:top}th{background:#e8e8e8}.click-row{cursor:pointer}.click-row:hover{background:#f0f7ff}.center{text-align:center}.ok{background:#d7ffd7;border:1px solid #393;padding:10px;margin:10px 0}.err{background:#ffd7d7;border:1px solid #c33;padding:10px;margin:10px 0}.btn,button{display:inline-block;background:#111;color:white;padding:10px 16px;border:0;border-radius:6px;cursor:pointer;text-decoration:none}.secondary{background:#555}.danger{background:#b00020}.danger-form{margin-top:18px}.sticky-actions{position:sticky;bottom:0;background:#f5f5f5;padding:12px 0;border-top:1px solid #ccc;display:flex;gap:10px}@media print{.nav,.no-print,.danger-form,.sticky-actions{display:none!important}body{background:white;padding:0}input,textarea,select{border:0;padding:0}textarea{resize:none}tr{page-break-inside:avoid}}


.auth-card{max-width:460px;margin:60px auto;background:#fff;border:1px solid #ccc;border-radius:10px;padding:24px;box-shadow:0 8px 24px rgba(0,0,0,.08)}.auth-card.wide{max-width:820px}.auth-form label{margin-bottom:14px}.auth-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px 18px}.auth-actions{display:flex;align-items:center;gap:10px;grid-column:1/-1}.auth-switch{margin-top:18px}.muted{color:#555}.nav{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.nav a{margin-right:0}.nav-user{margin-left:auto;color:#555;font-size:.95em}.logout-form{margin:0}.link-button{background:none;color:#111;padding:0;border:0;text-decoration:underline;font-weight:bold}.auth-card input[type=text],.auth-card input[type=email],.auth-card input[type=password]{width:100%;box-sizing:border-box;padding:8px;border:1px solid #999;border-radius:4px;background:white}

.reset-link-box{word-break:break-word;line-height:1.45}


.general-notes-section {
  margin-top: 24px;
  clear: both;
  border: 2px solid #444;
  border-radius: 8px;
  padding: 16px;
  background: #fff;
}
.general-notes-section h2 {
  margin: 0 0 12px;
}
.general-notes-field {
  width: 100%;
  min-height: 150px;
  box-sizing: border-box;
  resize: vertical;
}
.print-only {
  display: none;
}


.general-notes-history {
  white-space: pre-wrap;
  border: 1px solid #cfcfcf;
  border-radius: 6px;
  padding: 12px;
  margin: 8px 0 14px;
  min-height: 48px;
  background: #fff;
}

.general-notes-empty {
  font-style: italic;
  opacity: 0.7;
}

@media print {
  .general-notes-history {
    border: 0;
    padding: 0;
    margin-top: 6px;
  }
}

.sortable-header{cursor:pointer;user-select:none;position:relative;padding-right:20px}
.sortable-header::after{content:'↕';position:absolute;right:6px;opacity:.45}
.sortable-header[data-sort-dir="asc"]::after{content:'▲';opacity:1}
.sortable-header[data-sort-dir="desc"]::after{content:'▼';opacity:1}

.department-heading{margin-top:34px;padding:14px 16px;background:#0b3d62;color:#fff;font-size:1.45rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.department-row td{background:#0b3d62!important;color:#fff!important;font-weight:800;font-size:15px;letter-spacing:.08em}.hierarchy-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:18px}.manage-row{display:grid;grid-template-columns:1.3fr 90px auto 1fr auto;gap:8px;align-items:center;border-top:1px solid #ddd;padding:9px 0}.category-manage-row{grid-template-columns:1fr 1.2fr 80px auto 90px auto}.inline-check{flex-direction:row;align-items:center;margin:0}.inline-check input{width:auto}@media(max-width:900px){.hierarchy-grid{grid-template-columns:1fr}.manage-row,.category-manage-row{grid-template-columns:1fr}}


/* Event completion/cancellation and pullsheet lock controls */
.event-control-summary { margin: 0 0 16px; padding: 14px; border: 2px solid #9aa4ad; border-radius: 8px; background: #f6f8fa; }
.event-control-summary.status-completed { border-color: #238636; background: #e7f7ea; }
.event-control-summary.status-cancelled { border-color: #cf222e; background: #ffebe9; }
.event-state-heading { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin-bottom: 10px; }
.event-status-badge, .pullsheet-lock-badge, .pullsheet-unlock-badge { display: inline-block; padding: 5px 9px; border-radius: 999px; font-weight: 800; font-size: 12px; letter-spacing: .04em; }
.event-status-badge.status-active { background: #d8dee4; color: #24292f; }
.event-status-badge.status-completed { background: #1a7f37; color: #fff; }
.event-status-badge.status-cancelled { background: #cf222e; color: #fff; }
.pullsheet-lock-badge { background: #24292f; color: #fff; }
.pullsheet-unlock-badge { background: #ddf4ff; color: #0550ae; }
.admin-event-controls { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }
.admin-control-form { display: flex; gap: 8px; align-items: center; margin: 0; }
.admin-control-form select { min-width: 130px; }
.lock-button { background: #24292f; color: #fff; }
.unlock-button { background: #0969da; color: #fff; }
.event-row-status-completed td { background: #dafbe1 !important; }
.event-row-status-cancelled td { background: #ffebe9 !important; }
.pullsheet-readonly { position: relative; }
.pullsheet-readonly input:disabled, .pullsheet-readonly textarea:disabled, .pullsheet-readonly select:disabled { opacity: .82; color: #24292f; -webkit-text-fill-color: #24292f; background: #f0f2f4; cursor: not-allowed; }


/* Recently updated pullsheet flag (visible for 48 hours after a successful save). */
.recently-updated-badge{display:inline-block;background:#f97316;color:#fff;border:1px solid #c2410c;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800;letter-spacing:.04em;white-space:nowrap;box-shadow:0 1px 2px rgba(0,0,0,.15)}
.recently-updated-time{margin-top:4px;font-size:11px;color:#6b7280;white-space:nowrap}
.recently-updated-inline-time{font-size:12px;font-weight:700;color:#9a3412}
.not-recently-updated{color:#9ca3af}
@media print{.recently-updated-badge,.recently-updated-time,.recently-updated-inline-time{display:none!important}}

/* Pullsheet template workflow */
.template-button {
  background: #5b3fa3;
  color: #fff;
  border-color: #5b3fa3;
  white-space: nowrap;
}
.template-button:hover { filter: brightness(1.08); }
.template-source-summary { border-left: 6px solid #5b3fa3; }
.template-form { padding-bottom: 82px; }
.template-copy-options,
.template-reset-summary { margin-top: 16px; }
.template-copy-options h2,
.template-reset-summary h2,
.template-source-summary h2 { margin-top: 0; }
.template-option {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 10px 0;
  font-weight: 600;
}
.template-option input { width: 18px; height: 18px; }
.template-actions { display: flex; gap: 10px; align-items: center; }
.btn.small { padding: 5px 9px; font-size: .86rem; }


/* Admin-only pullsheet deletion */
.delete-pullsheet-form { margin-left: auto; }
.delete-pullsheet-button { background: #b42318; color: #fff; border: 1px solid #912018; font-weight: 800; }
.delete-pullsheet-button:hover { background: #912018; }
.delete-pullsheet-button.small { padding: 5px 9px; font-size: .86rem; white-space: nowrap; }
.inline-delete-form { margin: 0; }
.event-admin-actions { white-space: nowrap; }
@media print { .delete-pullsheet-form, .event-admin-actions { display: none !important; } }

/* Admin user management */
.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.muted{color:#687386;font-size:.9em}.alert{padding:.8rem 1rem;border-radius:8px;margin:1rem 0}.alert.success{background:#e8f7ed;color:#17652e}.alert.error{background:#fdeaea;color:#8b1d1d}.toolbar{display:flex;gap:.5rem;margin:1rem 0}.toolbar input{min-width:320px}.table-wrap{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;background:#fff}.admin-table th,.admin-table td{padding:.7rem;border-bottom:1px solid #dfe3e8;text-align:left;vertical-align:top}.admin-table th{background:#f4f6f8}.actions{display:flex;flex-wrap:wrap;gap:.35rem;min-width:280px}.inline-form{display:inline}.btn.small{padding:.35rem .55rem;font-size:.85rem}.btn.secondary{background:#59636f}.btn.danger{background:#b42318}.badge{display:inline-block;padding:.15rem .45rem;border-radius:999px;background:#e8edf3;font-size:.78rem;text-transform:capitalize}.badge-admin{background:#ede9fe;color:#5b21b6}.badge-active{background:#dcfce7;color:#166534}.badge-inactive{background:#fee2e2;color:#991b1b}.popover-form{margin-top:.45rem;padding:.7rem;border:1px solid #d9dee5;border-radius:8px;background:#fff;display:grid;gap:.45rem;min-width:230px}.popover-form input{width:100%;box-sizing:border-box}.card-form{max-width:850px;background:#fff;padding:1.25rem;border-radius:10px;border:1px solid #dfe3e8}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.form-grid label{display:grid;gap:.35rem;font-weight:600}.form-grid input,.form-grid select,.toolbar input{padding:.65rem;border:1px solid #b8c0ca;border-radius:6px}.checkbox-label{display:flex!important;align-items:center;gap:.5rem!important;font-weight:500!important}.form-actions{display:flex;gap:.5rem;margin-top:1.25rem}details>summary{list-style:none;cursor:pointer}details>summary::-webkit-details-marker{display:none}@media(max-width:760px){.form-grid{grid-template-columns:1fr}.page-header{flex-direction:column}.toolbar{flex-wrap:wrap}.toolbar input{min-width:100%}}


/* Pullsheet sales-order attachments */
.attachment-manager { margin-bottom: 18px; }
.attachment-manager-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:24px; flex-wrap:wrap; }
.attachment-manager-heading h2 { margin:0 0 4px; }
.attachment-manager-heading p { margin:0; color:#555; }
.attachment-upload-form { display:grid; grid-template-columns:minmax(220px, 1fr) auto; gap:8px; align-items:center; }
.attachment-upload-form small { grid-column:1 / -1; color:#666; }
.attachment-list { margin-top:16px; display:grid; gap:10px; }
.attachment-row { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:12px; border:1px solid #d7d7d7; border-radius:8px; background:#fff; }
.attachment-info { display:flex; flex-direction:column; gap:4px; min-width:0; }
.attachment-info strong { overflow-wrap:anywhere; }
.attachment-info span { color:#666; font-size:.9rem; }
.attachment-actions { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.attachment-actions form { margin:0; }
.attachment-empty { margin:16px 0 0; color:#666; font-style:italic; }
@media (max-width: 720px) { .attachment-row { align-items:flex-start; flex-direction:column; } .attachment-upload-form { grid-template-columns:1fr; } }

/* Clickable ascending/descending table headers */
th.sortable-header { cursor: pointer; user-select: none; white-space: nowrap; }
th.sortable-header::after { content: " ⇅"; opacity: .45; font-size: .85em; }
th.sortable-header[data-sort-dir="asc"]::after { content: " ▲"; opacity: 1; }
th.sortable-header[data-sort-dir="desc"]::after { content: " ▼"; opacity: 1; }

/* Events / Pull Sheets search */
.events-search-toolbar{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;margin:16px 0 10px}.events-search-field{flex:1 1 360px;max-width:650px}.events-search-field label{margin-bottom:5px}.events-search-clear{padding:9px 14px;margin-bottom:0}.events-search-results{color:#555;font-size:.95rem;padding:9px 0;white-space:nowrap}.events-no-results{background:#fff4cc;border:1px solid #d6b84a;border-radius:6px;padding:12px;margin:10px 0 16px}.events-table-wrap{overflow-x:auto}.events-table-wrap table{min-width:1100px}tr[hidden]{display:none!important}@media(max-width:700px){.events-search-toolbar{align-items:stretch}.events-search-clear{width:100%}.events-search-results{padding-top:0}}
.archive-pullsheet-button{background:#7a4f01;color:#fff;border:1px solid #604000;font-weight:800}.archive-pullsheet-button:hover{background:#604000}.archive-pullsheet-button.small,.unarchive-pullsheet-button.small{padding:5px 9px;font-size:.86rem;white-space:nowrap}.unarchive-pullsheet-button{background:#176b37;color:#fff;border:1px solid #11552b;font-weight:800}.unarchive-pullsheet-button:hover{background:#11552b}

/* Ready-made event templates */
.template-library-actions,.template-card-actions{display:flex;gap:.65rem;align-items:center;flex-wrap:wrap;margin:1rem 0}.template-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem}.template-library-card h2{margin-top:0}.template-card-actions form,.inline-template-save-form{display:inline-flex;margin:0}.template-description-label{grid-column:span 2}

/* Dashboard history and upcoming gear transfers */
.dashboard-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;flex-wrap:wrap;margin-bottom:18px}.dashboard-heading h1{margin-bottom:4px}.dashboard-actions{display:flex;gap:10px;flex-wrap:wrap}.dashboard-section{margin-bottom:20px}.dashboard-section-title{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:14px}.dashboard-section-title h2{margin:0 0 4px}.dashboard-section-title p{margin:0;color:#667085}.gear-transfer-section{border:2px solid #d97706;background:#fffaf0}.gear-transfer-section h2{color:#9a3412;letter-spacing:.04em}.dashboard-count{background:#9a3412;color:#fff;border-radius:999px;padding:6px 11px;font-size:.85rem;font-weight:800}.dashboard-table-wrap{overflow-x:auto}.dashboard-table{width:100%;border-collapse:collapse;background:#fff;min-width:900px}.dashboard-table th,.dashboard-table td{padding:11px 10px;border-bottom:1px solid #e4e7ec;text-align:left;vertical-align:top}.dashboard-table th{background:#f2f4f7;color:#344054;font-size:.86rem;text-transform:uppercase;letter-spacing:.03em}.dashboard-table tr:hover td{background:#f9fafb}.transfer-route{display:inline-block;background:#ffedd5;color:#9a3412;border:1px solid #fdba74;border-radius:999px;padding:5px 9px;font-weight:800;white-space:nowrap}.dashboard-empty{padding:24px;text-align:center;border:1px dashed #d0d5dd;border-radius:8px;background:#fff;color:#667085}.badge-completed{background:#dcfce7;color:#166534}.badge-cancelled{background:#fee2e2;color:#991b1b}.badge-active{background:#dbeafe;color:#1e40af}@media(max-width:760px){.dashboard-actions{width:100%}.dashboard-actions .btn{flex:1;text-align:center}}

/* Event-level gear transfer controls */
.gear-transfer-card{border-left:6px solid #d97706;background:#fffaf0}.gear-transfer-card h2{margin-top:0;color:#9a3412}.gear-transfer-toggle{display:flex;align-items:center;gap:9px;font-weight:800}.gear-transfer-toggle input{width:auto}.gear-transfer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}.gear-transfer-grid label{display:grid;gap:5px}.gear-transfer-grid .transfer-notes{grid-column:1/-1}@media(max-width:760px){.gear-transfer-grid{grid-template-columns:1fr}}

/* Dashboard activity feed */
.activity-feed{display:grid;gap:10px;margin-top:14px}
.activity-item{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:start;padding:14px 16px;border:1px solid #dfe4ea;border-radius:10px;background:#fff}
.activity-icon{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#eef3f8;font-size:18px;font-weight:700}
.activity-main{min-width:0}.activity-main p{margin:0 0 4px}.activity-main .muted{font-size:.88rem}
.activity-time{white-space:nowrap;font-size:.85rem;color:#667085;text-align:right}
.activity-type-created .activity-icon{background:#e7f7ed}.activity-type-updated .activity-icon{background:#eaf2ff}.activity-type-archived .activity-icon{background:#fff0e8}.activity-type-restored .activity-icon{background:#e8f8f4}.activity-type-pdf_generated .activity-icon{background:#f4edff}.activity-type-gear_transfer_updated .activity-icon{background:#fff7d6}
@media(max-width:760px){.activity-item{grid-template-columns:40px minmax(0,1fr)}.activity-time{grid-column:2;text-align:left}.dashboard-heading{align-items:flex-start;flex-direction:column}}

/* Per-user high-contrast appearance themes */
:root,
html[data-resolved-theme="light"] {
  --app-bg:#f4f6f8; --surface:#ffffff; --surface-2:#f2f4f7; --surface-3:#e8edf3;
  --text:#111827; --text-soft:#344054; --muted:#667085; --border:#cfd6df;
  --input-bg:#ffffff; --input-border:#98a2b3; --focus:#2563eb; --row-hover:#eef6ff;
  --nav-bg:#ffffff; --nav-text:#172033; --shadow:0 8px 24px rgba(16,24,40,.08);
}
html[data-resolved-theme="dark"] {
  color-scheme:dark;
  --app-bg:#121212; --surface:#1d1d1d; --surface-2:#252525; --surface-3:#303030;
  --text:#f8fafc; --text-soft:#e2e8f0; --muted:#b7c0cc; --border:#4b5563;
  --input-bg:#292929; --input-border:#687385; --focus:#60a5fa; --row-hover:#343b45;
  --nav-bg:#171717; --nav-text:#f8fafc; --shadow:0 10px 28px rgba(0,0,0,.4);
}
html[data-resolved-theme="midnight"] {
  color-scheme:dark;
  --app-bg:#08111f; --surface:#101c2f; --surface-2:#17263c; --surface-3:#20334d;
  --text:#f4f8ff; --text-soft:#dbeafe; --muted:#a9bdd6; --border:#36516f;
  --input-bg:#13233a; --input-border:#4c6b8d; --focus:#38bdf8; --row-hover:#1c3653;
  --nav-bg:#0a1628; --nav-text:#f0f7ff; --shadow:0 10px 30px rgba(0,0,0,.42);
}
html,body{background:var(--app-bg);color:var(--text)}
body{transition:background-color .18s ease,color .18s ease}
a{color:var(--focus)}
h1,h2,h3,h4,h5,h6,strong,b,label,legend,summary{color:var(--text)}
p,li,dd,dt,span,small{border-color:var(--border)}
.muted,.recently-updated-time,.attachment-info span,.attachment-empty,.dashboard-section-title p,.dashboard-empty,.activity-time,.events-search-results{color:var(--muted)!important}
.nav{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;background:var(--nav-bg);border:1px solid var(--border);border-radius:10px;padding:10px 14px;box-shadow:var(--shadow)}
.nav-links,.nav-account{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.nav a{color:var(--nav-text);margin:0;text-decoration:none;padding:7px 8px;border-radius:6px}.nav a:hover{background:var(--surface-3)}
.nav-user{color:var(--text-soft)}.theme-form{display:flex;align-items:center;gap:7px;margin:0}.theme-form label{margin:0;font-size:.82rem;color:var(--muted)}.theme-form select{width:auto;min-width:105px;padding:6px 28px 6px 9px}
.card,.card-form,.popover-form,.attachment-row,.activity-item,.dashboard-empty,.gear-transfer-section,.gear-transfer-card,.event-control-summary{background:var(--surface);color:var(--text);border-color:var(--border);box-shadow:var(--shadow)}
.section-title,.department-heading,.department-row td{color:#fff!important}
table,.admin-table,.dashboard-table{background:var(--surface);color:var(--text)}
th,.admin-table th,.dashboard-table th{background:var(--surface-3)!important;color:var(--text)!important;border-color:var(--border)!important}
td,.admin-table td,.dashboard-table td{background:var(--surface);color:var(--text);border-color:var(--border)!important}
tbody tr:nth-child(even) td{background:var(--surface-2)}
.click-row:hover td,.dashboard-table tr:hover td,tbody tr:hover td{background:var(--row-hover)!important;color:var(--text)!important}
input[type=text],input[type=email],input[type=password],input[type=tel],input[type=date],input[type=datetime-local],input[type=number],input[type=search],input[type=file],textarea,select,.form-grid input,.form-grid select,.toolbar input{background:var(--input-bg)!important;color:var(--text)!important;border-color:var(--input-border)!important;-webkit-text-fill-color:var(--text)}
input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}
input:focus,textarea:focus,select:focus{outline:2px solid var(--focus);outline-offset:1px;border-color:var(--focus)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--focus) 22%,transparent)}
input:disabled,textarea:disabled,select:disabled,.pullsheet-readonly input:disabled,.pullsheet-readonly textarea:disabled,.pullsheet-readonly select:disabled{background:var(--surface-3)!important;color:var(--text-soft)!important;-webkit-text-fill-color:var(--text-soft)!important;opacity:.9}
.btn,button{color:#fff}.btn.secondary,.secondary{background:#4b5563}.link-button{color:var(--nav-text)!important;background:transparent;border:1px solid var(--border)}
.sticky-actions{background:color-mix(in srgb,var(--app-bg) 94%,transparent);border-color:var(--border);backdrop-filter:blur(8px)}
.activity-icon{background:var(--surface-3);color:var(--text)}
.badge{background:var(--surface-3);color:var(--text-soft)}
.badge-active{background:#14532d!important;color:#dcfce7!important}.badge-inactive,.badge-cancelled{background:#7f1d1d!important;color:#fee2e2!important}.badge-completed{background:#14532d!important;color:#dcfce7!important}.badge-admin{background:#4c1d95!important;color:#ede9fe!important}
.event-status-badge.status-active{background:#334155;color:#f8fafc}.pullsheet-unlock-badge{background:#164e63;color:#cffafe}
.event-row-status-completed td{background:#173d27!important;color:#ecfdf5!important}.event-row-status-cancelled td{background:#4b1d24!important;color:#fff1f2!important}
.gear-transfer-section,.gear-transfer-card{background:color-mix(in srgb,#d97706 12%,var(--surface));}.gear-transfer-section h2,.gear-transfer-card h2{color:#fdba74}.transfer-route{background:#5b2b08;color:#ffedd5;border-color:#c76a1a}
.events-no-results{background:color-mix(in srgb,#eab308 16%,var(--surface));color:var(--text);border-color:#a16207}
.ok,.alert.success{background:#143d25!important;color:#dcfce7!important;border-color:#22863a}.err,.alert.error{background:#4d1d24!important;color:#fee2e2!important;border-color:#b42318}
.shop{background:#6b5d00;color:#fff9c4}.crossload{background:#7c3f00;color:#ffedd5}.attention{background:#175c32;color:#dcfce7}
@media(max-width:900px){.nav{align-items:flex-start}.nav-account{width:100%;justify-content:flex-start}}
@media print{html,body{background:#fff!important;color:#000!important}.card,table,th,td{box-shadow:none!important}}

/* AI Pullsheet Query console */
.ai-console-page{max-width:1400px;margin:0 auto}.ai-query-card{padding:22px}.ai-query-card label{display:block;font-weight:800;margin-bottom:8px}.ai-query-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.ai-query-row input{font-size:1.05rem;min-height:46px}.ai-query-row button{min-width:155px}.ai-example-questions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.ai-example{background:var(--surface-2);color:var(--text)!important;border:1px solid var(--border);border-radius:999px;padding:7px 11px;font-size:.85rem;cursor:pointer}.ai-example:hover{background:var(--row-hover)}.ai-api-state,.ai-found-badge{display:inline-flex;align-items:center;border-radius:999px;padding:7px 11px;font-size:.8rem;font-weight:900;letter-spacing:.04em}.ai-api-state.online{background:#14532d;color:#dcfce7}.ai-api-state.offline{background:#7f1d1d;color:#fee2e2}.ai-answer-card{border-left:7px solid #64748b}.ai-answer-card.found{border-left-color:#16a34a}.ai-answer-card.not-found{border-left-color:#dc2626}.ai-answer-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.ai-answer-heading h2{margin:.25rem 0 0}.ai-answer-label{font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.ai-answer-card.found .ai-found-badge{background:#14532d;color:#dcfce7}.ai-answer-card.not-found .ai-found-badge{background:#7f1d1d;color:#fee2e2}.ai-event-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:18px}.ai-event-summary>div{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:12px}.ai-event-summary span{display:block;color:var(--muted);font-size:.78rem;text-transform:uppercase;font-weight:800;margin-bottom:4px}.ai-results-table{min-width:1050px}.status-dot{display:inline-block;padding:4px 7px;border-radius:999px;font-size:.78rem;font-weight:800;white-space:nowrap}.status-dot.yes{background:#14532d;color:#dcfce7}.status-dot.no{background:#4b5563;color:#f8fafc}.ai-other-events .badge{display:inline-block;margin:3px;text-decoration:none}@media(max-width:760px){.ai-query-row{grid-template-columns:1fr}.ai-query-row button{width:100%}.ai-answer-heading{flex-direction:column}.ai-event-summary{grid-template-columns:1fr 1fr}}@media(max-width:480px){.ai-event-summary{grid-template-columns:1fr}}
.ai-action-card{border-left:6px solid #2563eb}.ai-confirm-card{border:2px solid #d97706}.ai-confirm-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.ai-confirm-actions .btn{display:inline-block;text-decoration:none}

/* Rentman PDF import */
.rentman-upload-form{max-width:760px}.rentman-upload-form input[type=file]{display:block;margin-top:.5rem;width:100%}.rentman-summary{margin-bottom:1rem}.rentman-review-table{width:100%;border-collapse:collapse}.rentman-review-table th,.rentman-review-table td{padding:.55rem;border:1px solid var(--border,#ccc);vertical-align:top}.rentman-review-table select{min-width:320px;max-width:520px;width:100%}.rentman-qty{width:75px}.rentman-match-exact{background:rgba(20,160,80,.10)}.rentman-match-possible{background:rgba(255,210,0,.16)}.rentman-match-unknown{background:rgba(220,50,50,.12)}.match-confidence{font-weight:700;white-space:nowrap}@media(max-width:900px){.rentman-review-table select{min-width:220px}.rentman-review-table{font-size:.88rem}}

/* Integrated Crew Scheduler */
.crew-page-header{align-items:flex-start}.crew-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:18px 0}.crew-stat{text-decoration:none;padding:20px;display:flex;flex-direction:column;gap:5px;border-left:5px solid var(--focus)}.crew-stat span{color:var(--muted);font-weight:800;text-transform:uppercase;font-size:.78rem;letter-spacing:.05em}.crew-stat strong{font-size:2.1rem;color:var(--text)}.crew-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr);gap:18px}.crew-panel{padding:18px}.crew-panel-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:12px}.crew-panel-heading h2,.crew-panel h2{margin-top:0}.crew-activity-list{display:flex;flex-direction:column}.crew-activity-row{display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--border)}.crew-activity-row:last-child{border-bottom:0}.crew-activity-meta{text-align:right;color:var(--muted);font-size:.82rem;white-space:nowrap}.crew-toolbar select{width:auto;min-width:150px}.crew-member-form{max-width:1100px}.crew-position-checklist{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 18px;padding:14px;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;margin-bottom:20px}.crew-position-checklist h3{grid-column:1/-1;margin:10px 0 2px;border-bottom:1px solid var(--border);padding-bottom:6px}.crew-position-checklist label{display:flex;align-items:center;gap:7px;font-weight:600}.crew-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:24px}.crew-stacked-form{display:grid;gap:12px}.crew-stacked-form label{display:grid;gap:5px}.crew-small-input{min-width:80px;width:90px!important}.crew-settings-grid+ h2{margin-top:10px}@media(max-width:950px){.crew-stat-grid{grid-template-columns:1fr 1fr}.crew-dashboard-grid{grid-template-columns:1fr}.crew-position-checklist{grid-template-columns:1fr 1fr}.crew-settings-grid{grid-template-columns:1fr}}@media(max-width:560px){.crew-stat-grid,.crew-position-checklist{grid-template-columns:1fr}.crew-activity-row{flex-direction:column}.crew-activity-meta{text-align:left}}
/* Crew Scheduler Milestone 2 */
.crew-assignment-form{display:grid;grid-template-columns:1.2fr 1.2fr 1.2fr 1fr auto auto;gap:10px;align-items:end}.crew-assignment-form label{display:grid;gap:5px}.crew-inline-check{display:flex!important;align-items:center;gap:7px;white-space:nowrap;padding-bottom:10px}.crew-inline-check input{width:auto}.crew-status-form{display:flex;gap:7px;align-items:center}.crew-status-form select{min-width:115px}.btn.danger{background:#b42318}@media(max-width:1100px){.crew-assignment-form{grid-template-columns:1fr 1fr}}@media(max-width:650px){.crew-assignment-form{grid-template-columns:1fr}}


/* Crew Scheduler Milestone 3 */
.crew-stat-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.availability-available{background:#d9f7e5;color:#126b38}.availability-preferred{background:#dff4ff;color:#075a7a}.availability-unavailable,.badge-danger{background:#ffe0e0;color:#9c1c1c}.badge-warning{background:#fff0bd;color:#745600}
.crew-link-row{display:flex;gap:.4rem;min-width:260px}.crew-link-row input{min-width:210px;font-size:.78rem}.crew-mini-actions{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.45rem}.crew-assignments-table td{vertical-align:top}
.crew-response-body{min-height:100vh;background:var(--page-bg,#eef2f6);padding:2rem 1rem}.crew-response-shell{max-width:720px;margin:0 auto}.crew-response-brand{text-align:center;font-weight:800;letter-spacing:.04em;margin-bottom:1rem}.crew-response-card{padding:clamp(1.25rem,4vw,2.5rem)}.crew-response-card h1{margin-top:0}.crew-response-lead{font-size:1.05rem}.crew-response-details{display:grid;gap:.25rem;margin:1.5rem 0}.crew-response-details div{display:grid;grid-template-columns:110px 1fr;gap:1rem;padding:.7rem 0;border-bottom:1px solid var(--border-color,#ddd)}.crew-response-details dt{font-weight:700}.crew-response-details dd{margin:0}.crew-response-form textarea{width:100%}.crew-response-actions{display:flex;gap:.65rem;flex-wrap:wrap;margin-top:1rem}.crew-response-footnote{margin-top:1.25rem}
@media(max-width:700px){.crew-response-details div{grid-template-columns:1fr;gap:.2rem}.crew-response-actions .btn{width:100%}.crew-link-row{min-width:220px}}

/* Crew Scheduler Milestone 4 */
.crew-portal-shell{max-width:1050px;margin:0 auto}.crew-portal-hero{padding:22px;display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:16px}.crew-portal-hero h1{margin:.25rem 0}.crew-portal-summary{display:flex;flex-direction:column;align-items:center;min-width:130px}.crew-portal-summary strong{font-size:2.3rem}.crew-portal-summary span{color:var(--muted);font-weight:700}.crew-portal-calls{display:grid;gap:12px}.crew-call-card{display:grid;grid-template-columns:95px 1fr auto;gap:16px;align-items:center;padding:14px;border:1px solid var(--border);border-radius:9px;background:var(--surface-2)}.crew-call-date{display:flex;flex-direction:column;text-align:center;border-right:1px solid var(--border);padding-right:14px}.crew-call-date strong{font-size:1.2rem}.crew-call-main h3{margin:0 0 4px}.crew-call-main p{margin:3px 0}.crew-call-actions{display:flex;flex-direction:column;gap:8px;align-items:flex-end}.crew-availability-list{display:grid;gap:10px}.crew-availability-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--border)}.crew-report-filter{align-items:end}.crew-report-filter label{display:grid;gap:5px}.small-link{display:inline-block;margin-top:5px;font-size:.82rem}.crew-call-sheet-body{background:#fff;color:#111;padding:22px}.crew-call-sheet{max-width:1100px;margin:0 auto}.crew-call-sheet>header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:3px solid #111;margin-bottom:20px}.crew-call-sheet h1{margin:0}.crew-call-sheet-shift{break-inside:avoid;margin:20px 0}.crew-call-sheet-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:7px 18px;margin-bottom:10px}.crew-call-sheet table{width:100%;border-collapse:collapse}.crew-call-sheet th,.crew-call-sheet td{border:1px solid #555;padding:7px;text-align:left}.crew-call-sheet th{background:#eee;color:#111}.crew-call-sheet footer{border-top:1px solid #aaa;margin-top:24px;padding-top:8px;font-size:.8rem}.crew-report-filter select{min-width:250px}
@media(max-width:720px){.crew-portal-hero,.crew-availability-row{align-items:flex-start;flex-direction:column}.crew-portal-summary{align-items:flex-start}.crew-call-card{grid-template-columns:72px 1fr}.crew-call-actions{grid-column:1/-1;flex-direction:row;align-items:center}.crew-call-sheet-meta{grid-template-columns:1fr}.crew-link-row{min-width:190px}.crew-link-row input{min-width:135px}}
@media print{.no-print,.crew-report-filter,.nav,.page-header .form-actions{display:none!important}.crew-call-sheet-body{padding:0}.crew-call-sheet{max-width:none}.crew-call-sheet-shift{page-break-inside:avoid}}

/* Consolidated trucking pullsheet */
.trucking-button { background:#174f72; color:#fff; border-color:#174f72; }
.trucking-toolbar { display:flex; gap:10px; margin:0 auto 16px; max-width:1200px; }
.trucking-sheet { max-width:1200px; margin:0 auto; background:var(--surface, #fff); color:var(--text, #17212b); border:1px solid var(--border, #ccd4dc); border-radius:14px; padding:24px; }
.trucking-header { display:flex; justify-content:space-between; gap:30px; border-bottom:4px solid #174f72; padding-bottom:16px; }
.trucking-kicker { font-size:12px; font-weight:800; letter-spacing:.14em; color:#496273; }
.trucking-header h1 { margin:4px 0 0; font-size:34px; letter-spacing:.04em; }
.trucking-header h2 { margin:5px 0 0; font-size:22px; font-weight:650; }
.trucking-event-meta { min-width:250px; line-height:1.7; }
.trucking-summary-grid { display:grid; grid-template-columns:repeat(6, minmax(100px,1fr)); gap:10px; margin:18px 0; }
.trucking-summary-grid div { border:1px solid var(--border,#ccd4dc); border-radius:10px; padding:12px; text-align:center; background:var(--surface-2,#f5f7f9); }
.trucking-summary-grid span { display:block; font-size:25px; font-weight:800; }
.trucking-summary-grid small { display:block; margin-top:4px; font-weight:700; }
.source-pullsheets { margin:15px 0; padding:12px; border:1px solid var(--border,#ccd4dc); border-radius:10px; }
.source-pullsheet-links { display:flex; flex-wrap:wrap; gap:8px 16px; margin-top:10px; }
.trucking-department { margin-top:22px; break-inside:avoid; }
.trucking-department > h2 { margin:0; padding:8px 10px; background:#174f72; color:#fff; font-size:18px; letter-spacing:.08em; }
.trucking-department h3 { margin:12px 0 5px; padding-bottom:4px; border-bottom:2px solid var(--border,#ccd4dc); font-size:15px; }
.trucking-table { width:100%; border-collapse:collapse; font-size:13px; }
.trucking-table th,.trucking-table td { border:1px solid var(--border,#ccd4dc); padding:7px; vertical-align:top; }
.trucking-table th { background:var(--surface-2,#edf2f5); text-align:left; }
.trucking-table .qty { width:62px; text-align:center; font-size:18px; font-weight:800; }
.trucking-table .check { width:95px; text-align:center; white-space:nowrap; }
.source-breakdown { margin-top:3px; font-size:11px; opacity:.7; }
.trucking-empty { padding:35px; text-align:center; border:2px dashed var(--border,#ccd4dc); border-radius:10px; }
.trucking-signoff { display:grid; grid-template-columns:1fr 1fr; gap:22px 40px; margin-top:32px; padding-top:22px; border-top:2px solid #174f72; font-weight:700; }
@media (max-width:900px){ .trucking-header{display:block}.trucking-event-meta{margin-top:14px}.trucking-summary-grid{grid-template-columns:repeat(2,1fr)}.trucking-signoff{grid-template-columns:1fr}.trucking-sheet{padding:14px;overflow-x:auto} }
@media print {
  .trucking-sheet { max-width:none; border:0; border-radius:0; padding:0; color:#000; background:#fff; }
  .trucking-summary-grid { grid-template-columns:repeat(7,1fr); }
  .trucking-summary-grid div { background:#fff; border-color:#777; }
  .trucking-table th,.trucking-table td { border-color:#555; }
  .trucking-department > h2 { background:#ddd !important; color:#000 !important; -webkit-print-color-adjust:exact; print-color-adjust:exact; }
  .trucking-department { break-inside:avoid; }
}

/* Trucking module dashboard */
.trucking-dashboard { max-width:1400px; margin:0 auto; }
.page-heading-row { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:18px; }
.trucking-event-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(340px,1fr)); gap:18px; margin-top:18px; }
.trucking-event-card { border:1px solid var(--border,#ccd4dc); border-radius:14px; background:var(--surface,#fff); padding:18px; box-shadow:0 4px 15px rgba(0,0,0,.06); }
.trucking-event-card[hidden] { display:none; }
.trucking-event-card-header { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; border-bottom:1px solid var(--border,#ccd4dc); padding-bottom:12px; }
.trucking-event-card-header h2 { margin:0; font-size:21px; }
.trucking-event-card-header p { margin:5px 0 0; color:var(--muted,#607080); }
.trucking-pullsheet-count { white-space:nowrap; padding:5px 9px; border-radius:999px; background:#174f72; color:#fff; font-size:12px; font-weight:800; }
.trucking-event-dates { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin:14px 0; }
.trucking-event-dates div { background:var(--surface-2,#f5f7f9); border-radius:8px; padding:9px; text-align:center; }
.trucking-event-dates dt { font-size:11px; font-weight:800; text-transform:uppercase; color:var(--muted,#607080); }
.trucking-event-dates dd { margin:3px 0 0; font-weight:700; }
.trucking-department-list { min-height:42px; margin:10px 0 14px; line-height:1.45; }
.trucking-card-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:7px; }
.trucking-card-stats div { border:1px solid var(--border,#ccd4dc); border-radius:8px; padding:9px 4px; text-align:center; background:var(--surface-2,#f5f7f9); }
.trucking-card-stats span { display:block; font-size:20px; font-weight:800; }
.trucking-card-stats small { font-size:10px; font-weight:700; }
.trucking-progress { height:10px; margin-top:14px; overflow:hidden; border-radius:999px; background:var(--border,#ccd4dc); }
.trucking-progress > div { height:100%; background:#16855b; }
.trucking-progress-label { margin-top:4px; text-align:right; font-size:12px; font-weight:700; }
.trucking-card-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
@media (max-width:600px) { .trucking-event-grid{grid-template-columns:1fr}.trucking-card-stats{grid-template-columns:repeat(2,1fr)} }

/* Trucking assignments and per-vehicle manifests */
.truck-filter-bar{max-width:1200px;margin:0 auto 14px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.trucking-plan-editor{margin:18px 0;padding:16px;border:1px solid var(--border,#ccd4dc);border-radius:10px;background:var(--surface-2,#f5f7f9)}
.trucking-plan-editor h2{margin:0 0 12px}.trucking-plan-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.trucking-plan-editor label{display:block;font-weight:700}.trucking-plan-editor input,.trucking-plan-editor textarea{width:100%;box-sizing:border-box;margin-top:5px}
.trucking-print-notes{margin:16px 0;padding:10px;border:1px solid var(--border,#ccd4dc);white-space:pre-wrap}
.trucking-assignment-table input{width:100%;min-width:95px;box-sizing:border-box;padding:6px}.trucking-assignment-table .load-order-field{width:72px}.trucking-assignment-table .load-order-field input{min-width:58px}
.trucking-assignment-table .truck-field{min-width:130px}.source-item-note{margin-top:4px;font-size:12px;font-style:italic}.trucking-save-bar{position:sticky;bottom:10px;margin-top:20px;padding:12px;text-align:right;background:var(--surface,#fff);border:1px solid var(--border,#ccd4dc);border-radius:10px;box-shadow:0 3px 14px rgba(0,0,0,.12)}
@media(max-width:800px){.trucking-plan-grid{grid-template-columns:1fr}.trucking-assignment-table{min-width:1150px}}
@media print{.trucking-assignment-table input{border:0;padding:0}.truck-filter-bar,.trucking-plan-editor,.trucking-save-bar{display:none!important}.trucking-print-notes{border-color:#777}}


/* Trucking pullsheet straight-column layout */
.trucking-table-wrap{width:100%;overflow-x:auto}
.trucking-assignment-table{table-layout:fixed;min-width:1120px}
.trucking-assignment-table col.col-qty{width:6%}
.trucking-assignment-table col.col-item{width:20%}
.trucking-assignment-table col.col-pulled{width:9%}
.trucking-assignment-table col.col-loaded{width:9%}
.trucking-assignment-table col.col-truck{width:14%}
.trucking-assignment-table col.col-load-order{width:7%}
.trucking-assignment-table col.col-notes{width:16%}
.trucking-assignment-table col.col-return{width:8%}
.trucking-assignment-table th,
.trucking-assignment-table td{box-sizing:border-box;overflow-wrap:anywhere;word-break:normal}
.trucking-assignment-table th{vertical-align:middle;white-space:normal}
.trucking-assignment-table .cell-center,
.trucking-assignment-table .qty,
.trucking-assignment-table .check,
.trucking-assignment-table .load-order-field{text-align:center}
.trucking-assignment-table .qty{width:auto}
.trucking-assignment-table .check{width:auto}
.trucking-assignment-table .truck-field{min-width:0}
.trucking-assignment-table .load-order-field{width:auto}
.trucking-assignment-table input{min-width:0}
@media print{
  .trucking-table-wrap{overflow:visible}
  .trucking-assignment-table{min-width:0;width:100%;font-size:10px;table-layout:fixed}
  .trucking-assignment-table th,.trucking-assignment-table td{padding:4px}
  .trucking-assignment-table col.col-qty{width:5%}
  .trucking-assignment-table col.col-item{width:21%}
  .trucking-assignment-table col.col-pulled{width:9%}
  .trucking-assignment-table col.col-loaded{width:9%}
  .trucking-assignment-table col.col-truck{width:13%}
  .trucking-assignment-table col.col-load-order{width:6%}
  .trucking-assignment-table col.col-notes{width:16%}
  .trucking-assignment-table col.col-return{width:8%}
}

/* Trucking department sign-off and finalization */
.trucking-approval-panel{margin:18px 0;padding:16px;border:1px solid var(--border,#ccd4dc);border-radius:12px;background:var(--surface-2,#f5f7f9)}
.trucking-approval-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:14px}
.trucking-status-badge{display:inline-block;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:900;letter-spacing:.06em}
.trucking-status-badge.is-planning{background:#fff3cd;color:#725200;border:1px solid #e5ca65}
.trucking-status-badge.is-finalized{background:#d9f2e5;color:#145b39;border:1px solid #73bd95}
.trucking-finalize-actions{display:flex;gap:8px;flex-wrap:wrap}.trucking-finalize-actions form{margin:0}
.trucking-signoff-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}
.department-signoff{border:1px solid var(--border,#ccd4dc);border-radius:9px;padding:11px;background:var(--surface,#fff)}
.department-signoff>div:first-child{display:flex;justify-content:space-between;gap:12px;align-items:center}.department-signoff span{font-weight:800}
.department-signoff.ready{border-left:5px solid #16855b}.department-signoff.pending{border-left:5px solid #c58a00}
.department-signoff small{display:block;margin:5px 0;color:var(--muted,#607080)}.department-signoff form{margin-top:8px}
@media(max-width:700px){.trucking-approval-heading{display:block}.trucking-finalize-actions{margin-top:10px}}
@media print{.trucking-approval-panel{background:#fff;border-color:#777}.trucking-status-badge{border-color:#555!important;background:#fff!important;color:#000!important}.department-signoff{background:#fff;border-color:#777}}

/* Trucking phase 5: weight and capacity planning */
.trucking-capacity-panel{margin:18px 0;padding:16px;border:1px solid var(--border,#ccd4dc);border-radius:12px;background:var(--surface-2,#f5f7f9)}
.trucking-capacity-panel h2{margin:0 0 12px}
.trucking-capacity-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:10px}
.trucking-capacity-card{padding:12px;border:1px solid var(--border,#ccd4dc);border-radius:10px;background:var(--surface,#fff)}
.trucking-capacity-card.overloaded{border:2px solid #c62828;background:#fff1f1}
.capacity-card-title{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px}
.capacity-card-title span{font-size:10px;font-weight:900;letter-spacing:.06em}
.trucking-capacity-card.overloaded .capacity-card-title span{color:#b00020}
.trucking-capacity-card label{display:block;margin-top:9px;font-size:12px;font-weight:800}
.trucking-capacity-card input{width:100%;box-sizing:border-box;margin-top:4px}
.trucking-assignment-table col.col-weight-unit{width:7%}
.trucking-assignment-table col.col-weight-total{width:8%}
.trucking-assignment-table .weight-field,.trucking-assignment-table .weight-total{text-align:center}
.trucking-assignment-table .weight-field input{min-width:58px;text-align:center}
@media print{
  .trucking-capacity-panel{background:#fff;border-color:#777}
  .trucking-capacity-card{background:#fff;border-color:#777}
  .trucking-capacity-card.overloaded{border-color:#000;background:#fff}
}

/* Audit accountability */
.audit-filters{margin-bottom:1rem}.audit-filters .form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.8rem}.audit-filters label{display:flex;flex-direction:column;gap:.3rem}.audit-filters .wide{grid-column:span 2}.audit-detail{display:grid;grid-template-columns:minmax(130px,220px) 1fr;gap:.65rem 1rem}.audit-detail dt{font-weight:700}.audit-detail dd{margin:0;overflow-wrap:anywhere}.audit-json{white-space:pre-wrap;overflow:auto;max-height:36rem;padding:1rem;border-radius:.5rem;background:rgba(127,127,127,.12)}
\n\n/* Trucking pullsheet matched to the Events pullsheet visual layout */\n.trucking-event-style{max-width:1400px}\n.trucking-event-style .trucking-print-header{margin-bottom:12px}\n.trucking-event-style .trucking-event-title{font-size:1.08rem;font-weight:800}\n.trucking-brand-label{margin-top:5px;font-size:11px;font-weight:900;letter-spacing:.12em;text-align:center}\n.trucking-event-style .trucking-summary-grid{margin:10px 0 14px}\n.trucking-department-row{display:block;padding:7px 10px;margin-top:12px;background:#111;color:#fff;font-weight:900;letter-spacing:.04em}\n.trucking-section-row{display:grid;grid-template-columns:42px 1fr;align-items:center;min-height:30px;background:#d9d9d9;color:#000;border:1px solid #777;border-bottom:0;padding:0 8px;font-weight:800}\n.trucking-section-row span{text-align:center}\n.trucking-event-style .trucking-table{margin:0 0 12px;border-collapse:collapse}\n.trucking-event-style .trucking-table thead th{background:#efefef;color:#000;border-color:#777;text-transform:uppercase;font-size:11px}\n.trucking-event-style .trucking-table tbody td{border-color:#777}\n.trucking-event-style .trucking-table tbody tr:nth-child(even){background:rgba(0,0,0,.025)}\n@media print{\n .trucking-event-style{font-family:Arial,Helvetica,sans-serif!important}\n .trucking-event-style .trucking-summary-grid,.trucking-event-style .trucking-approval-panel,.trucking-event-style .trucking-capacity-panel{display:none!important}\n .trucking-event-style .trucking-department-row{background:#000!important;color:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}\n .trucking-event-style .trucking-section-row{background:#d9d9d9!important;color:#000!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}\n .trucking-event-style .trucking-table thead th{background:#efefef!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}\n .trucking-brand-label{font-size:9px}\n}\n
.master-selection-bar{display:flex;gap:1rem;align-items:center;margin:1rem 0;padding:1rem;border:1px solid var(--border-color,#ccc);border-radius:8px;background:var(--card-bg,#fff)}
.master-builder-form{display:grid;gap:1rem}.master-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.master-form-grid label{display:grid;gap:.35rem}.master-options{display:grid;gap:.6rem}.master-actions{display:flex;gap:.75rem;align-items:center}.master-source-card ul{margin-bottom:0}

/* WHGSP responsive application shell — Android, iOS, tablet and desktop */
:root{--mobile-gutter:clamp(12px,3vw,24px)}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}
body{min-width:0;overflow-x:hidden;padding:var(--mobile-gutter)}
main{width:100%;max-width:1600px;margin:0 auto;min-width:0}
img,svg,video,canvas{max-width:100%;height:auto}
input,select,textarea,button{max-width:100%}
input[type=email],input[type=password],input[type=tel],input[type=url],input[type=time],input[type=datetime-local]{width:100%;box-sizing:border-box;padding:8px;border:1px solid #999;border-radius:4px;background:#fff}
.nav{max-width:1600px;margin:0 auto 20px;padding:10px 12px;border:1px solid var(--border,#d0d5dd);border-radius:10px;background:var(--surface,#fff);box-sizing:border-box}
.nav-brand-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.nav-brand{font-size:1.1rem;text-decoration:none;letter-spacing:.04em;margin-right:6px!important}
.nav-mobile-panel{display:flex;align-items:center;justify-content:space-between;gap:18px;flex:1;min-width:0}
.nav-links{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0}
.nav-links a{display:inline-flex;align-items:center;min-height:40px;padding:6px 9px;border-radius:6px;text-decoration:none}
.nav-links a:hover,.nav-links a:focus-visible{background:rgba(127,127,127,.14)}
.nav-account{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-left:auto}
.nav-user{margin-left:0}
.theme-form{display:flex;align-items:center;gap:7px;margin:0}
.theme-form label{display:block;margin:0;font-size:.8rem}
.theme-form select{width:auto;min-width:105px;padding:7px}
.nav-toggle{display:none;align-items:center;gap:8px;min-height:44px;padding:8px 12px}
.nav-toggle-icon,.nav-toggle-icon::before,.nav-toggle-icon::after{display:block;width:20px;height:2px;background:currentColor;content:"";position:relative;transition:transform .2s ease}
.nav-toggle-icon::before{position:absolute;top:-6px}.nav-toggle-icon::after{position:absolute;top:6px}
.nav.is-open .nav-toggle-icon{background:transparent}.nav.is-open .nav-toggle-icon::before{top:0;transform:rotate(45deg)}.nav.is-open .nav-toggle-icon::after{top:0;transform:rotate(-45deg)}
.table-wrap,.events-table-wrap,.dashboard-table-wrap,.trucking-table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain}
table{max-width:100%}
.card,.card-form,.auth-card{box-sizing:border-box;max-width:100%}
.toolbar,.form-actions,.actions,.dashboard-actions,.master-actions,.sticky-actions,.trucking-card-actions{min-width:0}
textarea{max-width:100%}

@media(max-width:900px){
  body{padding:12px}
  .nav{display:block;padding:9px;margin-bottom:14px}
  .nav-toggle{display:inline-flex}
  .nav-mobile-panel{display:none;padding-top:10px}
  .nav.is-open .nav-mobile-panel{display:block}
  .nav-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .nav-links a{width:100%;box-sizing:border-box;border:1px solid rgba(127,127,127,.18);padding:10px}
  .nav-account{margin:10px 0 0;padding-top:10px;border-top:1px solid rgba(127,127,127,.22);justify-content:space-between}
  .nav-user{order:3;width:100%;overflow-wrap:anywhere}
  .page-header,.dashboard-heading,.dashboard-section-title{align-items:stretch}
  .actions{min-width:0}
}

@media(max-width:640px){
  body{padding:8px;font-size:16px}
  h1{font-size:clamp(1.55rem,8vw,2rem);line-height:1.12;overflow-wrap:anywhere}
  h2{font-size:clamp(1.25rem,6vw,1.55rem);overflow-wrap:anywhere}
  .nav-links{grid-template-columns:1fr}
  .nav-account{display:grid;grid-template-columns:1fr auto;align-items:end}
  .theme-form{display:grid;gap:3px;align-items:stretch}
  .theme-form select{width:100%}
  .logout-form{justify-self:end}
  .nav-user{grid-column:1/-1}
  .card,.card-form{padding:12px;margin:10px 0;border-radius:8px}
  .auth-card{margin:24px auto;padding:18px}
  .toolbar,.form-actions,.dashboard-actions,.master-actions,.sticky-actions{display:grid;grid-template-columns:1fr;width:100%;align-items:stretch}
  .toolbar>* ,.form-actions>* ,.dashboard-actions>* ,.master-actions>* ,.sticky-actions>*{width:100%;box-sizing:border-box;text-align:center}
  .inline-form{align-items:stretch}
  .inline-form>label,.inline-form>input,.inline-form>select{flex:1 1 100%}
  .btn,button{min-height:44px}
  input[type=checkbox],input[type=radio]{width:22px;height:22px;min-width:22px}
  th,td{padding:7px 6px}
  .section-title,.department-heading{font-size:1.05rem;padding:10px;margin-top:20px;overflow-wrap:anywhere}
  .events-table-wrap table,.dashboard-table{min-width:760px}
  .admin-table{min-width:720px}
  .trucking-assignment-table{min-width:980px}
  .audit-detail{grid-template-columns:1fr;gap:.2rem}.audit-detail dd{margin-bottom:.7rem}
  .audit-filters .wide{grid-column:auto}
  .master-selection-bar{align-items:stretch;flex-direction:column}
  .master-actions{align-items:stretch}
  .trucking-card-stats{grid-template-columns:1fr 1fr}
}

@media(max-width:390px){
  body{padding:6px}
  .nav{padding:7px}
  .nav-brand{font-size:1rem}
  .nav-toggle{padding:7px 9px}
  .trucking-card-stats{grid-template-columns:1fr}
}

@media(hover:none) and (pointer:coarse){
  a,button,input,select,textarea,summary{touch-action:manipulation}
  .click-row:hover,.dashboard-table tr:hover td{background:inherit}
}

@supports(padding:max(0px)){
  body{padding-left:max(var(--mobile-gutter),env(safe-area-inset-left));padding-right:max(var(--mobile-gutter),env(safe-area-inset-right));padding-bottom:max(var(--mobile-gutter),env(safe-area-inset-bottom))}
}

@media print{
  body{overflow:visible;padding:0}
  main{max-width:none}
}

/* Loaded accountability: checkbox plus loader initials in one column. */
.loaded-cell { white-space: nowrap; }
.loaded-cell .loaded-initials-input { width: 48px; min-width: 42px; margin-left: 4px; text-align: center; text-transform: uppercase; }
@media print {
  .loaded-cell .loaded-initials-input { display: none !important; }
  .loaded-print-initials { margin-left: 3px; font-weight: 800; }
}


/* Inventory accountability: INV checkbox plus puller initials in one column. */
.inv-cell { white-space: nowrap; }
.inv-cell .inv-initials-input { width: 48px; min-width: 42px; margin-left: 4px; text-align: center; text-transform: uppercase; }
@media print {
  .inv-cell .inv-initials-input { display: none !important; }
  .inv-print-initials { margin-left: 3px; font-weight: 800; }
}

/* Pull/loaded row autosave status */
.accountability-autosave-status {
  display: inline-block;
  min-width: 42px;
  margin-left: 5px;
  font-size: 0.72rem;
  line-height: 1;
  vertical-align: middle;
  opacity: 0.85;
}
.accountability-autosave-status[data-state="saved"] { font-weight: 700; }
.accountability-autosave-status[data-state="error"] { font-weight: 700; text-decoration: underline; }

/* Pullsheet document library: sales orders and technical riders */
.attachment-manager { padding:22px; }
.attachment-manager-heading { padding-bottom:18px; border-bottom:1px solid #e3e8ef; }
.attachment-manager-heading > div { max-width:650px; }
.attachment-upload-form { grid-template-columns:150px minmax(260px,1fr) auto; min-width:min(100%,650px); }
.attachment-upload-form label { display:grid; gap:5px; color:#344054; font-size:.83rem; font-weight:800; }
.attachment-upload-form select,
.attachment-upload-form input[type="file"] { width:100%; box-sizing:border-box; min-height:42px; padding:8px 10px; border:1px solid #b8c2cf; border-radius:7px; background:#fff; color:#1f2937; }
.attachment-upload-form button { min-height:42px; align-self:end; white-space:nowrap; }
.attachment-group { margin-top:20px; }
.attachment-group + .attachment-group { padding-top:20px; border-top:1px solid #e3e8ef; }
.attachment-group-title { display:flex; align-items:center; gap:9px; margin-bottom:10px; }
.attachment-group-title h3 { margin:0; font-size:1.05rem; color:#243447; }
.attachment-count { display:inline-flex; align-items:center; justify-content:center; min-width:26px; height:26px; padding:0 8px; border-radius:999px; background:#e8eef5; color:#344054; font-size:.78rem; font-weight:800; }
.attachment-group .attachment-list { margin-top:0; }
.attachment-group .attachment-empty { margin:0; padding:14px 16px; border:1px dashed #cbd5e1; border-radius:8px; background:#f8fafc; }
@media (max-width:900px) {
  .attachment-upload-form { grid-template-columns:1fr 1fr; min-width:0; width:100%; }
  .attachment-upload-form button { grid-column:1 / -1; }
}
@media (max-width:620px) {
  .attachment-manager { padding:16px; }
  .attachment-upload-form { grid-template-columns:1fr; }
  .attachment-upload-form button { grid-column:auto; width:100%; }
  .attachment-actions { width:100%; }
  .attachment-actions .btn,
  .attachment-actions form,
  .attachment-actions button { flex:1; text-align:center; }
}

/* AI Pullsheet Assistant multi-item match summary */
.ai-requested-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;margin-top:1rem}
.ai-requested-item{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.8rem 1rem;border:1px solid var(--border-color,#d7dde5);border-radius:10px;background:var(--card-bg,#fff)}
.ai-requested-item strong{text-transform:capitalize}
.ai-requested-item.found{border-left:5px solid #198754}
.ai-requested-item.not-found{border-left:5px solid #dc3545}
.ai-requested-item span{font-size:.9rem;opacity:.82;text-align:right}

/* Inventory department multi-filter */
.inventory-filter-toolbar{align-items:center}.inventory-filter-toolbar .searchbox{margin:0;flex:1 1 280px}.inventory-filter-toolbar>select{width:auto;min-width:180px}.inventory-department-filter{position:relative}.inventory-department-filter>summary{list-style:none;min-width:170px;text-align:center;user-select:none}.inventory-department-filter>summary::-webkit-details-marker{display:none}.inventory-department-menu{position:absolute;z-index:40;top:calc(100% + 6px);left:0;min-width:280px;max-height:380px;overflow:auto;background:var(--surface,#fff);color:var(--text,#111);border:1px solid var(--border,#bbb);border-radius:8px;box-shadow:0 10px 28px rgba(0,0,0,.18);padding:10px}.inventory-department-actions{display:flex;gap:8px;padding-bottom:8px;margin-bottom:6px;border-bottom:1px solid var(--border,#ddd)}.inventory-department-option{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;margin:0;padding:9px 7px;border-radius:6px;font-weight:600;cursor:pointer}.inventory-department-option:hover{background:var(--surface-2,#f2f4f7)}.inventory-department-option input{margin:0}.inventory-department-option small{color:var(--muted,#687386);font-weight:500}.inventory-count-card h2{margin:0}.inventory-count-card small{font-size:.65em;color:var(--muted,#687386);font-weight:500}@media(max-width:700px){.inventory-filter-toolbar>*{width:100%!important}.inventory-department-filter>summary{box-sizing:border-box}.inventory-department-menu{position:static;min-width:0;margin-top:7px;box-shadow:none}}

.category-create-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.category-manage-row{grid-template-columns:1fr 1.15fr 1.2fr 80px auto 1.2fr auto}.subcategory-row{border-left:4px solid #7aa7c7;padding-left:10px}.subcategory-row input[name="name"]{font-weight:600}.muted{opacity:.72}@media(max-width:900px){.category-create-form,.category-manage-row{grid-template-columns:1fr}}


/* Collapsible pullsheet kit rows */
.kit-row .kit-item-cell{min-width:320px}.kit-details>summary{display:flex;align-items:center;gap:.45rem;cursor:pointer}.kit-details[open]>summary strong:first-child{ }.kit-badge{display:inline-block;padding:.12rem .42rem;border-radius:999px;background:#1f6feb;color:#fff;font-size:.72rem;font-weight:800;letter-spacing:.06em}.kit-description{margin:.55rem 0;color:var(--text-soft)}.kit-components-table{width:100%;margin-top:.55rem;border-collapse:collapse;font-size:.9rem}.kit-components-table th,.kit-components-table td{padding:.38rem .5rem;border:1px solid var(--border);text-align:left}.kit-components-table th{background:var(--surface-2)}.kit-print-name{display:none}
@media print{.kit-details{display:none!important}.kit-print-name{display:inline!important}.kit-row{break-inside:avoid}.kit-row .item-cell{font-weight:700}}

/* Pullsheet inventory department/category filters */
.pullsheet-filter-toolbar{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(180px,1fr) minmax(240px,1.25fr);gap:12px;align-items:start;margin:12px 0}.pullsheet-filter-toolbar label{display:grid;gap:6px;font-weight:700}.pullsheet-filter-toolbar select[multiple]{min-height:108px;width:100%}.pullsheet-filter-toolbar .filter-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px}.pullsheet-filter-toolbar .filter-actions button{white-space:nowrap}[data-pull-row][hidden],[data-category-section][hidden],[data-filter-department-heading][hidden]{display:none!important}@media(max-width:900px){.pullsheet-filter-toolbar{grid-template-columns:1fr}.pullsheet-filter-toolbar .filter-actions{grid-column:auto}}

/* Security events */
.security-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1rem}.security-summary .card{display:flex;flex-direction:column;gap:.25rem}.security-summary strong{font-size:2rem}.security-summary span{opacity:.75}.security-badge{display:inline-flex;align-items:center;border-radius:999px;padding:.25rem .55rem;font-size:.78rem;font-weight:800;letter-spacing:.03em}.severity-critical{background:rgba(185,28,28,.14);color:#b91c1c}.severity-high{background:rgba(234,88,12,.14);color:#c2410c}.severity-medium{background:rgba(202,138,4,.16);color:#a16207}.severity-low{background:rgba(37,99,235,.12);color:#1d4ed8}@media(max-width:800px){.security-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Pullsheet change history */
.pullsheet-change-summary{margin:1rem 0;border-left:4px solid var(--accent,#3478c7)}
.pullsheet-change-summary details>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;cursor:pointer;list-style:none}
.pullsheet-change-summary details>summary::-webkit-details-marker{display:none}
.pullsheet-change-summary summary span:first-child{display:flex;flex-direction:column;gap:.2rem}
.pullsheet-change-summary summary small,.pullsheet-change-item small{color:var(--muted,#667085)}
.change-count{font-size:.82rem;font-weight:700;padding:.3rem .65rem;border-radius:999px;background:rgba(52,120,199,.12);white-space:nowrap}
.pullsheet-change-list{display:grid;gap:.55rem;margin-top:.9rem}
.pullsheet-change-item{display:grid;grid-template-columns:110px 1fr;gap:.75rem;align-items:start;padding:.7rem .8rem;border:1px solid rgba(127,127,127,.22);border-radius:.55rem;background:rgba(127,127,127,.035)}
.change-action-badge{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:.2rem .45rem;border-radius:.35rem;font-size:.73rem;font-weight:800;letter-spacing:.03em;background:rgba(127,127,127,.15)}
.change-added .change-action-badge{background:rgba(40,167,69,.16)}
.change-deleted .change-action-badge{background:rgba(220,53,69,.16)}
.change-status .change-action-badge{background:rgba(13,110,253,.16)}
.change-reversed .change-action-badge{background:rgba(255,193,7,.2)}
.change-description{display:flex;flex-direction:column;gap:.2rem;min-width:0}
.change-description strong{font-size:.94rem;overflow-wrap:anywhere}
@media(max-width:640px){.pullsheet-change-summary details>summary{align-items:flex-start;flex-direction:column}.pullsheet-change-item{grid-template-columns:1fr}.change-action-badge{justify-self:start}.change-count{white-space:normal}}

/* What Changed placement and optional print/PDF control */
.include-changes-control{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .7rem;border:1px solid var(--border,#c8ced8);border-radius:.5rem;background:var(--surface,#fff);font-weight:700;cursor:pointer}
.include-changes-control input{margin:0}
.print-optional-changes{margin-top:1.25rem}
@media print{
  .print-optional-changes{display:none!important}
  html.print-with-changes .print-optional-changes{display:block!important;border:2px solid #444!important;border-left:2px solid #444!important;break-inside:auto;page-break-inside:auto}
  html.print-with-changes .print-optional-changes details{display:block!important}
  html.print-with-changes .print-optional-changes details>summary{display:flex!important}
  html.print-with-changes .print-optional-changes .pullsheet-change-list{display:grid!important}
}


/* Bright, persistent indicator for recently added or modified pullsheet quantities only. */
.recent-change-highlight-legend{display:flex;align-items:center;gap:.55rem;margin:.45rem 0 .85rem;padding:.55rem .75rem;border:2px solid #b28a00;border-radius:.5rem;background:#fff7a8;color:#211b00;font-weight:800}
.recent-change-highlight-swatch{display:inline-block;width:1.25rem;height:1.25rem;flex:0 0 auto;border:2px solid #8d6d00;border-radius:.2rem;background:#ffeb00}
.professional-pull-table tbody tr.gear-row.recently-changed-row>td.qty-cell,
.professional-pull-table tbody tr.gear-row.recently-changed-row.row-color-green>td.qty-cell,
.professional-pull-table tbody tr.gear-row.recently-changed-row.row-color-yellow>td.qty-cell,
.professional-pull-table tbody tr.gear-row.recently-changed-row.row-color-red>td.qty-cell,
.professional-pull-table tbody tr.gear-row.recently-changed-row.row-color-pink>td.qty-cell,
.professional-pull-table tbody tr.gear-row.recently-changed-row.row-color-turquoise>td.qty-cell,
.professional-pull-table tbody tr.gear-row.recently-changed-row.row-color-orange>td.qty-cell,
.professional-pull-table tbody tr.gear-row.recently-changed-row.row-color-TAN>td.qty-cell,
.professional-pull-table tbody tr.gear-row.recently-changed-row.row-color-purple>td.qty-cell{background:#ffeb00!important;color:#171300!important;box-shadow:inset 4px 0 0 #7d6100,inset 0 2px 0 #9b7800,inset 0 -2px 0 #9b7800}
.professional-pull-table tbody tr.gear-row.recently-changed-row>td.qty-cell input{background:#fffbd1!important;color:#171300!important;border-color:#8d6d00!important;font-weight:800}
@media print{
  .professional-pull-table tbody tr.gear-row.recently-changed-row>td.qty-cell{background:inherit!important;color:inherit!important;box-shadow:none!important}
}

/* Live pullsheet change notifications for all connected viewers. */
.pullsheet-notification-stack{position:fixed;top:1rem;right:1rem;z-index:10050;display:flex;flex-direction:column;gap:.65rem;width:min(26rem,calc(100vw - 2rem));pointer-events:none}
.pullsheet-push-notice{display:flex;align-items:flex-start;gap:.75rem;padding:.9rem 1rem;border:3px solid #9b7800;border-left-width:8px;border-radius:.65rem;background:#ffeb00;color:#171300;box-shadow:0 8px 24px rgba(0,0,0,.28);opacity:0;transform:translateY(-12px);transition:opacity .2s ease,transform .2s ease;pointer-events:auto}
.pullsheet-push-notice.is-visible{opacity:1;transform:translateY(0)}
.pullsheet-push-notice.push-status{background:#fff36d}
.pullsheet-push-content{display:flex;flex:1;min-width:0;flex-direction:column;gap:.2rem}
.pullsheet-push-content strong{font-size:1rem}
.pullsheet-push-content span{font-size:.92rem;line-height:1.35;overflow-wrap:anywhere}
.pullsheet-push-close{flex:0 0 auto;border:0;background:transparent;color:#171300;font-size:1.6rem;line-height:1;padding:0 .15rem;cursor:pointer}
@media(max-width:640px){.pullsheet-notification-stack{top:.6rem;right:.6rem;width:calc(100vw - 1.2rem)}.pullsheet-push-notice{padding:.8rem}}
@media print{.pullsheet-notification-stack{display:none!important}}

/* Content Manager */
.content-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.content-stat{display:flex;flex-direction:column;align-items:center;text-align:center;margin:0}.content-stat strong{font-size:2rem}.content-stat span{font-weight:800;color:var(--muted,#666)}.content-stat.ready{border-top:5px solid #16a34a}.content-stat.in-use{border-top:5px solid #eab308}.content-stat.incomplete{border-top:5px solid #dc2626}.content-status{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em;background:#e5e7eb;color:#111}.content-status.ready,.content-status.returned_complete{background:#dcfce7;color:#166534}.content-status.in_use,.content-status.assigned,.content-status.checked_out{background:#fef3c7;color:#854d0e}.content-status.incomplete,.content-status.returned_incomplete,.content-status.out_of_service{background:#fee2e2;color:#991b1b}.content-row-missing td{background:#fecaca!important;color:#7f1d1d!important;font-weight:800}.content-row-missing:hover td{background:#fca5a5!important}.content-container-hero{display:flex;justify-content:space-between;gap:20px;align-items:center;border-left:7px solid #16a34a}.content-container-hero.is-incomplete{border-left-color:#dc2626}.content-container-hero>div:last-child{display:flex;flex-direction:column;align-items:center;min-width:150px}.content-container-hero>div:last-child strong{font-size:2.3rem}.content-qty{font-size:1.25rem;font-weight:900;text-align:center;width:90px}.content-assign-form{display:grid;grid-template-columns:2fr 2fr auto;gap:12px;align-items:end}.content-assign-form label{margin:0}.content-count-toolbar{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.content-count-toolbar label{margin:0}.content-checklist{min-width:760px}.content-count-entry td{background:var(--surface-2,#f4f4f4)}.count-entry-label{display:grid;grid-template-columns:1fr 110px;align-items:center;gap:10px;margin:0}.count-entry-label input{text-align:center}.content-editor{max-width:1300px}.content-manager-table{min-width:900px}@media(max-width:800px){.content-summary-grid{grid-template-columns:1fr 1fr}.content-assign-form{grid-template-columns:1fr}.content-container-hero{align-items:flex-start;flex-direction:column}.content-container-hero>div:last-child{align-items:flex-start}.content-editor #content-items-table{min-width:1000px}}@media print{.content-count-entry,.content-count-toolbar{display:none!important}.content-row-missing td{background:#ddd!important;color:#000!important;border:3px solid #000!important}.content-status{border:1px solid #333;background:#fff!important;color:#000!important}}
.content-type-badge{display:inline-flex;padding:3px 7px;border-radius:999px;font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.035em;background:#dbeafe;color:#1e3a8a}.content-type-badge.non_inventory{background:#f3e8ff;color:#6b21a8}.content-editor tr.is-non-inventory td{background:rgba(147,51,234,.045)}.noninventory-picker[hidden],.inventory-picker[hidden]{display:none!important}.content-editor #content-items-table{min-width:1250px}.content-qty small{font-size:.65rem;font-weight:700;color:var(--muted,#666)}

/* Live preview for inventory items pending addition to a pullsheet */
.pullsheet-selection-preview{margin:0 0 16px;padding:14px;border:1px solid var(--border,#cfd6df);border-radius:10px;background:var(--card-bg,#fff)}
.pullsheet-selection-preview-heading{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:10px}
.pullsheet-selection-preview-heading>div{display:grid;gap:3px}
.selection-preview-count{white-space:nowrap;font-weight:800;padding:5px 9px;border-radius:999px;background:rgba(25,118,210,.12)}
.selection-preview-empty{padding:12px;border:1px dashed var(--border,#cfd6df);border-radius:8px;text-align:center;color:var(--muted,#667085)}
.selection-preview-list{display:grid;gap:7px}
.selection-preview-item{display:grid;grid-template-columns:auto minmax(160px,1fr) minmax(150px,.8fr) auto;gap:10px;align-items:center;padding:9px 10px;border:1px solid var(--border,#d7dde5);border-radius:8px;background:rgba(127,127,127,.05)}
.selection-preview-qty{font-weight:900;min-width:42px;text-align:center}
.selection-preview-name{font-weight:800}
.selection-preview-meta{font-size:.9rem;color:var(--muted,#667085)}
.selection-preview-remove{padding:6px 10px;white-space:nowrap}
@media(max-width:760px){.pullsheet-selection-preview-heading{display:grid}.selection-preview-count{justify-self:start}.selection-preview-item{grid-template-columns:auto 1fr auto}.selection-preview-meta{grid-column:2/4}.selection-preview-remove{grid-column:3;grid-row:1}}


@media print {
  /* WHGSP PRINT: quantity number only */
  .qty-cell,
  .quantity-cell,
  td.qty,
  td.quantity,
  input.qty,
  input.quantity,
  input[type="number"] {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
  }
}

/* Project folders */
.project-folders{display:grid;gap:1rem;margin-top:1rem}.project-folder{padding:0;overflow:hidden}.project-folder>summary{list-style:none;cursor:pointer}.project-folder>summary::-webkit-details-marker{display:none}.project-folder-summary{display:flex;align-items:center;gap:.8rem;padding:1rem 1.1rem;background:var(--card-bg,#fff);border-bottom:1px solid rgba(127,127,127,.18)}.project-folder-icon{font-size:1.45rem}.project-folder-title{display:flex;flex-direction:column;gap:.15rem;min-width:0;flex:1}.project-folder-title small{font-weight:400;color:var(--muted,#68707a)}.project-folder-counts{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:flex-end}.project-folder-body{padding:1rem}.project-create-panel{margin-bottom:1rem}.project-create-panel>summary{cursor:pointer}.project-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;align-items:end;margin-top:1rem}.project-form-grid label{display:flex;flex-direction:column;gap:.3rem}.project-notes-field{grid-column:1/-1}.project-sheet-sections{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;margin:1rem 0}.project-sheet-group{border:1px solid rgba(127,127,127,.22);border-radius:.6rem;padding:.75rem}.project-sheet-group h3{margin:.1rem 0 .65rem}.project-sheet-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.65rem .15rem;border-top:1px solid rgba(127,127,127,.16)}.project-sheet-row:first-of-type{border-top:0}.project-assign-form{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}.project-assign-form select{min-width:170px}.unassigned-project .project-folder-summary{background:rgba(127,127,127,.07)}.project-pill{display:inline-block;padding:.2rem .5rem;border-radius:999px;background:rgba(82,126,255,.12);font-size:.82rem;font-weight:700}.project-inline-move{display:flex;gap:.35rem;align-items:center}.project-inline-move select{max-width:180px}@media(max-width:700px){.project-folder-summary,.project-sheet-row{align-items:flex-start;flex-direction:column}.project-folder-counts{justify-content:flex-start}.project-assign-form{width:100%}.project-assign-form select{flex:1;min-width:0}}
