:root{
    --maroon:#4A101B;
    --maroon-deep:#321018;
    --gold:#B58A3A;
    --gold-light:#D5B56A;
    --ivory:#FBF6ED;
    --cream:#F2E7D5;
    --text:#2C2522;
    --muted:#70655D;
    --sans:'Manrope','Segoe UI',sans-serif;
}
*{box-sizing:border-box;}
body{margin:0;font-family:var(--sans);background:var(--ivory);color:var(--text);}

/* --- Top bar --- */
.kc-topbar{display:flex;justify-content:space-between;align-items:center;padding:14px 24px;background:#fff;border-bottom:1px solid var(--cream);flex-wrap:wrap;gap:10px;}
.kc-topbar--dark{background:var(--maroon);color:#fff;}
.kc-topbar__right{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.kc-btn{display:inline-block;padding:8px 16px;border-radius:8px;background:var(--cream);color:var(--text);text-decoration:none;font-size:.85rem;font-weight:600;border:none;cursor:pointer;}
.kc-btn--primary{background:var(--maroon);color:#fff;}
.kc-btn--light{background:rgba(255,255,255,.15);color:#fff;}
.kc-btn--big{padding:20px;font-size:1.1rem;width:100%;text-align:center;border-radius:12px;}

/* --- Kanban board --- */
.kc-board{display:flex;gap:14px;padding:20px;overflow-x:auto;align-items:flex-start;}
.kc-column{background:#fff;border:1px solid var(--cream);border-radius:12px;min-width:250px;max-width:250px;flex-shrink:0;max-height:calc(100vh - 100px);display:flex;flex-direction:column;}
.kc-column__title{position:sticky;top:0;background:#fff;margin:0;padding:14px;font-size:.95rem;border-bottom:2px solid var(--cream);border-radius:12px 12px 0 0;z-index:2;}
.kc-count{color:var(--gold);font-weight:700;}
.kc-column__cards{padding:10px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:10px;}
.kc-card{background:var(--ivory);border:1px solid var(--cream);border-left:4px solid var(--gold);border-radius:8px;padding:10px;cursor:grab;font-size:.85rem;}
.kc-card__sku{font-weight:700;margin-bottom:2px;}
.kc-card__customer{color:var(--muted);}
.kc-card__meta{font-size:.75rem;color:var(--muted);margin-top:4px;}
.kc-card__flag{margin-top:6px;background:var(--maroon);color:#fff;font-size:.7rem;font-weight:700;padding:3px 8px;border-radius:6px;display:inline-block;}
.kc-card__link{display:block;margin-top:8px;font-size:.75rem;color:var(--maroon);}

/* --- Login --- */
.kc-login-body{display:flex;align-items:center;justify-content:center;min-height:100vh;}
.kc-login-card{background:#fff;padding:40px;border-radius:16px;box-shadow:0 20px 50px rgba(50,16,24,.1);width:320px;text-align:center;}
.kc-login-card h1{color:var(--maroon);font-size:1.4rem;margin:0 0 2px;}
.kc-login-sub{color:var(--muted);margin:0 0 20px;font-size:.85rem;}
.kc-login-card form{display:flex;flex-direction:column;gap:12px;text-align:left;}
.kc-login-card label{font-size:.8rem;font-weight:600;}
.kc-login-card input{width:100%;padding:9px;margin-top:4px;border-radius:8px;border:1px solid var(--cream);}
.kc-error{color:#b3261e;font-weight:600;font-size:.85rem;}
.kc-success{color:#1a7a3a;font-weight:600;padding:10px 20px;}

/* --- Forms (New Job) --- */
.kc-form-wrap{max-width:520px;margin:30px auto;padding:0 20px;}
.kc-form{background:#fff;border:1px solid var(--cream);border-radius:14px;padding:26px;display:flex;flex-direction:column;gap:14px;}
.kc-form label{font-size:.85rem;font-weight:600;display:flex;flex-direction:column;gap:4px;}
.kc-form input,.kc-form select,.kc-form textarea{padding:9px;border-radius:8px;border:1px solid var(--cream);font-family:inherit;font-size:.9rem;}
.kc-hint{font-size:.78rem;color:var(--muted);margin:-6px 0 0;}

/* --- Job sheet (printable) --- */
.kc-jobsheet-body{background:#fff;}
.kc-jobsheet{max-width:500px;margin:30px auto;padding:0 20px;}
.kc-jobsheet h1{color:var(--maroon);font-size:1.3rem;}
.kc-jobsheet__id{color:var(--muted);margin-top:-8px;}
.kc-jobsheet__table{width:100%;border-collapse:collapse;margin:20px 0;}
.kc-jobsheet__table th{text-align:left;padding:8px;background:var(--cream);width:35%;font-size:.85rem;}
.kc-jobsheet__table td{padding:8px;border-bottom:1px solid var(--cream);font-size:.9rem;}
.kc-jobsheet__qr{text-align:center;margin:24px 0;}
@media print{ .kc-jobsheet__print-only{ display:none; } }

/* --- QR scan / job lookup screen --- */
.kc-scan-body{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--ivory);}
.kc-scan-card{background:#fff;padding:30px;border-radius:16px;max-width:360px;text-align:center;box-shadow:0 20px 50px rgba(50,16,24,.08);}
.kc-scan-card h1{color:var(--maroon);margin:0;}
.kc-scan-customer{font-weight:700;margin:6px 0 0;}
.kc-scan-sku{color:var(--muted);}
.kc-scan-status{margin:14px 0;}

/* --- Print floor (high contrast, tablet) --- */
.kc-printfloor-body{background:#1a1a1a;color:#fff;}
.kc-printfloor-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;padding:20px;}
.kc-pf-card{background:#2a2a2a;border:2px solid var(--gold);border-radius:14px;padding:18px;}
.kc-pf-card__sku{font-size:1.2rem;font-weight:800;}
.kc-pf-card__customer{color:var(--gold-light);margin:4px 0;}
.kc-pf-card__qty{font-size:.95rem;margin-bottom:8px;}
.kc-pf-card__notes{font-size:.85rem;color:#ccc;margin-bottom:14px;min-height:20px;}
.kc-pf-empty{padding:40px;text-align:center;color:#999;}
