:root {
    --app-ink: #14231e;
    --app-ink-2: #22352e;
    --app-muted: #66736b;
    --app-paper: #f2f0ea;
    --app-surface: #fff;
    --app-line: #cfd6d1;
    --app-accent: #d98d22;
    --app-green: #1f6a4a;
    --app-danger: #b83232;
    --app-radius: 4px;
    --app-shadow: 0 5px 18px rgba(20,35,30,.08);
}

body { background: var(--app-paper); color: var(--app-ink); font-family: Inter, "Segoe UI", system-ui, sans-serif; }
.app-sidebar { width: 252px; height: 100vh; background: var(--app-ink); border-right: 1px solid rgba(255,255,255,.1); }
.app-brand { padding: .3rem .45rem; }
.app-brand .badge { background: var(--app-accent); color: #241607; border-radius: 3px !important; }
.app-sidebar .nav { gap: 2px; }
.app-sidebar .nav-link { display: flex; align-items: center; min-height: 42px; border-radius: 2px; color: #c6d1cb !important; font-weight: 650; border-left: 3px solid transparent; }
.app-sidebar .nav-link:hover { background: rgba(255,255,255,.07); color: #fff !important; }
.app-sidebar .nav-link.active { background: rgba(255,255,255,.12); border-left-color: var(--app-accent); color: #fff !important; }
.app-sidebar hr { border-color: rgba(255,255,255,.16); }
.min-w-0 { min-width: 0; }
.main-content { background: var(--app-paper); min-width: 0; }
.app-topbar { position: sticky; top: 0; z-index: 1040; min-height: 68px; display: flex; align-items: center; gap: .7rem; background: rgba(255,255,255,.97); border-bottom: 1px solid var(--app-line); box-shadow: 0 2px 8px rgba(20,35,30,.06); }
.app-topbar .card { margin: 0 !important; border: 0 !important; box-shadow: none !important; background: transparent !important; }
.app-project-manager .card-body { min-width: 0; }
.app-project-button { display: flex; align-items: center; max-width: min(38vw,360px); min-width: 130px; border-radius: 3px; }
.app-project-button .text-truncate { max-width: 280px; }
.app-clock { min-width: 168px; padding-left: .85rem; border-left: 1px solid var(--app-line); }
.app-clock small, .app-clock strong, .app-clock span { display: block; }
.app-clock small { color: var(--app-muted); font-size: .62rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.app-clock strong { font-size: 1.03rem; color: var(--app-green); }
.app-clock span { color: var(--app-muted); font-size: .72rem; }
.app-nav-toggle { display: none; border: 1px solid var(--app-line); border-radius: 3px; }
.app-nav-close { display:none; }
.app-queue-button { position: relative; display:flex; align-items:center; gap:.45rem; min-height:40px; border:1px solid var(--app-line); border-radius:3px; color:var(--app-ink); background:#fff; white-space:nowrap; }
.app-queue-button:hover { border-color:var(--app-green); color:var(--app-green); }
.app-queue-button .badge { min-width:1.4rem; background:var(--app-green); color:#fff; border-radius:2px; }
.app-priority-alert { position:relative; display:flex; align-items:center; gap:.6rem; min-height:44px; padding:.35rem .65rem; text-align:left; border:1px solid #e4b054; border-left:4px solid var(--app-danger); border-radius:3px; background:#fff5df; color:#5e3c08; white-space:nowrap; }
.priority-alert-copy strong,.priority-alert-copy small { display:block; line-height:1.15; }
.priority-alert-copy small { font-size:.7rem; }
.app-priority-alert .badge { background:var(--app-danger); color:#fff; border-radius:2px; }
.sidebar-scrim { display:none; }

.app-page { min-height: calc(100vh - 68px); }
.app-page > .card, .app-page .stat-card, .app-page .modal-content { border-color: var(--app-line) !important; border-radius: var(--app-radius) !important; box-shadow: var(--app-shadow); }
.app-page .card-header { border-bottom-color: var(--app-line); }
.app-page .btn, .modal .btn, .form-control, .form-select, .input-group-text, .dropdown-menu, .alert, .modal-content { border-radius: var(--app-radius); }
.app-page .btn-primary, .modal .btn-primary { background: var(--app-green); border-color: var(--app-green); }
.app-page .text-primary { color: var(--app-green) !important; }
.app-page .border-primary { border-color: var(--app-green) !important; }
.app-page .form-control:focus, .app-page .form-select:focus, .modal .form-control:focus, .modal .form-select:focus { border-color: var(--app-green); box-shadow: 0 0 0 .16rem rgba(31,106,74,.14); }
.app-empty-state { min-height: 55vh; display: grid; place-content: center; justify-items: center; gap: .8rem; color: var(--app-muted); text-align: center; padding:1.5rem; }
.app-empty-state.compact { min-height:260px; }
.app-empty-state > i { font-size: 2.6rem; color: var(--app-accent); }
.app-empty-state h2, .app-empty-state h3, .app-empty-state p { margin: 0; }
.section-kicker { color:var(--app-green); font-size:.68rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.status-pill { display: inline-flex; align-items: center; gap: .3rem; padding: .22rem .45rem; border-radius: 3px; font-size: .7rem; font-weight: 750; text-transform:capitalize; }
.status-pill.active, .status-pill.printed, .status-pill.normal { background: #def5e7; color: var(--app-green); }
.status-pill.inactive, .status-pill.cancelled, .status-pill.urgent { background: #f3dddd; color: var(--app-danger); }
.status-pill.pending, .status-pill.queued, .status-pill.high { background: #fff0cc; color: #80520e; }
.management-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); gap: 1rem; }
.management-stat { padding: 1.1rem; background: var(--app-surface); border: 1px solid var(--app-line); border-radius: var(--app-radius); box-shadow: var(--app-shadow); }
.management-stat small, .management-stat strong { display: block; }
.management-stat small { color: var(--app-muted); text-transform: uppercase; letter-spacing: .07em; font-weight: 750; }
.management-stat strong { margin-top: .35rem; font: 650 2rem/1 Georgia, serif; }
.table-modern thead th { color: var(--app-muted); font-size: .72rem; text-transform: uppercase; letter-spacing: .06em; white-space: nowrap; }
.priority-card { border-left: 4px solid var(--app-accent) !important; }
.priority-card.urgent { border-left-color: var(--app-danger) !important; }

.print-cart { border-top:4px solid var(--app-green) !important; }
.print-cart-list { min-height:280px; }
.print-cart-item,.priority-notification-item { display:flex; align-items:center; gap:.8rem; padding:.85rem 1rem; border-bottom:1px solid var(--app-line); background:#fff; }
.print-cart-item:last-child,.priority-notification-item:last-child { border-bottom:0; }
.print-cart-avatar { width:46px; height:46px; flex:0 0 46px; object-fit:cover; display:grid; place-items:center; border:1px solid var(--app-line); border-radius:3px; background:#eef1ef; color:var(--app-muted); }
.print-cart-sets { width:64px; flex:0 0 64px; color:var(--app-muted); font-size:.68rem; font-weight:700; text-transform:uppercase; }
.print-cart-sets input { margin-top:.15rem; text-align:center; }
.print-cart-footer { flex-wrap:wrap; }
.print-cart-layout { min-width:230px; }
.print-cart-layout .form-label { color:var(--app-muted); font-size:.7rem; font-weight:750; text-transform:uppercase; }
.priority-modal-header { border-top:4px solid var(--app-danger); }
.priority-notification-item { border-left:4px solid var(--app-accent); }
.priority-notification-item.urgent { border-left-color:var(--app-danger); background:#fff9f9; }
.priority-icon { width:38px; height:38px; flex:0 0 38px; display:grid; place-items:center; background:#fff0cc; color:#80520e; border-radius:3px; }

@media (max-width: 850px) {
    body { display:block !important; height:auto !important; min-height:100dvh; overflow:auto !important; }
    .app-sidebar { position:fixed; inset:0 auto 0 0; z-index:1060; width:min(84vw,310px); height:100dvh; transform:translateX(-102%); transition:transform .2s ease; overflow-y:auto; box-shadow:8px 0 22px rgba(0,0,0,.22); }
    body.nav-open .app-sidebar { transform:translateX(0); }
    .sidebar-scrim { position:fixed; inset:0; z-index:1055; width:100%; height:100%; padding:0; border:0; background:rgba(7,18,14,.58); opacity:0; pointer-events:none; transition:opacity .2s ease; }
    body.nav-open .sidebar-scrim { display:block; opacity:1; pointer-events:auto; }
    body.nav-open { overflow:hidden !important; }
    .main-content { width:100%; height:auto !important; min-height:100dvh; overflow:visible !important; }
    .app-topbar { position:sticky; top:0; min-height:58px; gap:.4rem; padding:.4rem .55rem !important; flex-wrap:wrap; }
    .app-nav-toggle { display:inline-flex; align-items:center; justify-content:center; flex:0 0 40px; height:40px; padding:0; }
    .app-project-slot { flex:1 1 auto !important; }
    .app-project-manager .card-body { padding:0 !important; }
    .app-project-manager .card-body > div:first-child { width:100%; }
    .app-project-manager .text-secondary.fw-bold { display:none; }
    .app-project-button { width:100%; max-width:none; min-width:0; height:40px; justify-content:flex-start; }
    .app-project-button .text-truncate { max-width:calc(100vw - 190px); }
    .app-quick-project-create { display:none !important; }
    .app-queue-button { flex:0 0 42px; width:42px; height:40px; min-height:40px; justify-content:center; padding:0; }
    .app-queue-button .badge { position:absolute; right:-5px; top:-5px; min-width:18px; padding:.18rem .3rem; }
    .app-priority-alert { order:10; flex:0 0 100%; width:100%; min-height:40px; justify-content:flex-start; padding:.4rem .65rem; border-left-width:4px; }
    .app-priority-alert .priority-alert-copy { display:block; }
    .app-priority-alert .badge { margin-left:auto; min-width:22px; }
    .app-clock { display:none; }
    .app-page { min-height:calc(100dvh - 58px); padding:.65rem !important; }
    .app-page h1,.app-page h2 { overflow-wrap:anywhere; }
    .app-page > .card, .app-page .stat-card { box-shadow:0 2px 8px rgba(20,35,30,.07); }
    .management-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.6rem; }
    .management-stat { padding:.8rem; }
    .management-stat strong { font-size:1.45rem; }
    .table-responsive,.dataTables_wrapper { overflow-x:auto; -webkit-overflow-scrolling:touch; }
    .dataTables_wrapper .row { --bs-gutter-x:.5rem; }
    .manual-field-row { display:grid; grid-template-columns:minmax(105px,.8fr) minmax(0,1.5fr) 42px; }
    .manual-field-row > .col-4,.manual-field-row > .col-7,.manual-field-row > .col-1 { width:auto; max-width:none; padding:0; }
    .print-cart-item,.priority-notification-item { align-items:flex-start; gap:.55rem; padding:.75rem; }
    .print-cart-avatar { width:40px; height:40px; flex-basis:40px; }
    .print-cart-sets { width:54px; flex-basis:54px; }
    .print-cart-footer { display:grid; grid-template-columns:1fr 1fr; }
    .print-cart-layout { grid-column:1 / -1; min-width:0; width:100%; }
    .priority-notification-item .btn { flex:0 0 auto; }
    .app-nav-close { display:inline-flex; align-items:center; justify-content:center; }
}

@media (max-width: 430px) {
    .management-grid { grid-template-columns:1fr; }
    .manual-field-row { grid-template-columns:1fr 42px; border:1px solid var(--app-line); padding:.5rem; }
    .manual-field-row > .col-4 { grid-column:1 / -1; }
    .manual-field-row > .col-7 { grid-column:1; }
    .manual-field-row > .col-1 { grid-column:2; }
    .print-cart-item { flex-wrap:wrap; }
    .print-cart-item > .min-w-0 { width:calc(100% - 100px); }
    .print-cart-sets { margin-left:46px; }
}
