*{box-sizing:border-box}:root{--navy:#06213a;--blue:#2b5b91;--text:#0b1b2d;--muted:#555b66;--light:#f7f9fc;--line:#e1e6ef;--red:#e3272f;--orange:#f58a00;--green:#148f3b;--yellow:#f2bd12;--shadow:0 8px 22px rgba(15,23,42,.16)}html,body{margin:0;padding:0;font-family:Arial,Helvetica,sans-serif;color:var(--text);background:#fff}.top-nav{display:flex;gap:10px;align-items:center;padding:12px 18px;background:var(--navy);position:sticky;top:0;z-index:100}.top-nav a{color:#fff;text-decoration:none;font-weight:700;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.1)}.top-nav a:hover{background:rgba(255,255,255,.2)}.container{max-width:1500px;margin:0 auto;padding:28px 34px 48px}.board-wrap{width:min(1600px,100%);margin:0 auto;padding:20px 42px 34px;background:radial-gradient(circle at 25% 0%,rgba(7,33,58,.04),transparent 35%),#fff}.board-title{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:28px;margin:0 auto 24px}.board-title .line{height:1px;background:#bda66e}.board-title h1{margin:0;letter-spacing:10px;font-size:clamp(34px,4vw,68px);color:var(--navy);text-align:center;font-weight:900;white-space:nowrap}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;margin-bottom:30px}.kpi-card{display:grid;grid-template-columns:110px 1fr;align-items:center;min-height:150px;background:rgba(255,255,255,.88);border:1px solid rgba(10,20,35,.08);border-radius:12px;box-shadow:var(--shadow);padding:18px 22px}.kpi-icon{width:92px;height:92px;border-radius:999px;display:grid;place-items:center}.kpi-icon svg{width:58px;height:58px}.kpi-icon.rug{background:#eaf4fb}.kpi-icon.rug svg{fill:var(--navy)}.kpi-icon.todo{background:#fff5d9}.kpi-icon.todo svg{fill:var(--yellow)}.kpi-icon.rush,.kpi-icon.overdue{background:#fee7e9}.kpi-icon.rush svg,.kpi-icon.overdue svg{fill:var(--red)}.kpi-number{font-size:clamp(42px,4vw,78px);line-height:1;font-weight:900;letter-spacing:2px}.kpi-number.active{color:var(--navy)}.kpi-number.todo{color:var(--orange)}.kpi-number.rush,.kpi-number.overdue{color:var(--red)}.kpi-label{font-size:clamp(18px,1.6vw,30px);color:#444;font-weight:800;margin-top:10px}.table-card{border-radius:12px;overflow:hidden;box-shadow:var(--shadow);border:1px solid rgba(10,20,35,.08);background:#fff}.board-table{width:100%;border-collapse:collapse;table-layout:fixed}.board-table thead th{background:var(--navy);color:#fff;font-size:clamp(18px,1.8vw,30px);letter-spacing:1px;padding:18px 16px;text-align:left}.board-table thead th:nth-child(1),.board-table thead th:nth-child(4),.board-table thead th:nth-child(5){text-align:center}.board-table td{padding:16px 18px;font-size:clamp(20px,1.7vw,32px);font-weight:800;border-bottom:1px solid var(--line);color:#162133}.board-table tbody tr:last-child td{border-bottom:none}.board-table .wo-cell{display:flex;align-items:center;justify-content:center;gap:16px}.doc-badge{width:44px;height:44px;border-radius:999px;background:#edf5fb;display:grid;place-items:center;flex:0 0 auto}.doc-badge:before{content:"";width:20px;height:26px;border:3px solid var(--navy);border-radius:2px;display:block;box-shadow:inset 0 6px 0 rgba(6,33,58,.12)}.services-cell{color:#464b55;letter-spacing:1px}.date-cell,.days-cell{text-align:center;white-space:nowrap}.date-cell.safe{color:var(--green)}.date-cell.urgent,.date-cell.overdue{color:var(--red)}.day-pill{min-width:116px;display:inline-block;padding:10px 28px;border-radius:999px;color:#fff;font-weight:900;text-align:center}.day-pill.safe{background:linear-gradient(180deg,#18a64a,#087c2d)}.day-pill.urgent{background:linear-gradient(180deg,#ff9a12,#f07600)}.day-pill.overdue{background:linear-gradient(180deg,#ee343b,#c91520)}.legend{display:flex;justify-content:center;gap:44px;align-items:center;margin-top:28px;font-size:clamp(16px,1.3vw,24px);color:#333;font-weight:700}.legend span{display:flex;gap:12px;align-items:center}.dot{width:26px;height:26px;border-radius:999px;display:inline-block}.dot.red{background:var(--red)}.dot.orange{background:var(--orange)}.dot.green{background:var(--green)}.empty-state{padding:44px;text-align:center;color:var(--muted);font-size:22px;font-weight:700}.panel{background:#fff;border-radius:14px;box-shadow:var(--shadow);border:1px solid var(--line);padding:28px;margin-top:22px}.panel h1,.panel h2{margin-top:0;color:var(--navy)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(240px,1fr));gap:18px}.form-row{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}.form-row label{font-weight:800;color:var(--navy)}input[type=text],input[type=number],input[type=password],input[type=date],select,textarea{width:100%;padding:14px;border:1px solid #cfd8e3;border-radius:10px;font-size:18px}textarea{min-height:110px}.checkbox-grid{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:12px}.check-option{display:flex;align-items:center;gap:10px;background:var(--light);border:1px solid var(--line);padding:14px;border-radius:10px;font-weight:800}.check-option input{width:20px;height:20px}.actions{display:flex;gap:12px;align-items:center;margin-top:20px}.btn{border:none;border-radius:999px;background:var(--navy);color:#fff;font-size:18px;font-weight:900;padding:14px 24px;cursor:pointer;text-decoration:none;display:inline-block}.btn.secondary{background:#e8eef7;color:var(--navy)}.btn.red{background:var(--red)}.alert{padding:14px 18px;border-radius:10px;font-weight:800;margin-bottom:18px}.alert.success{background:#e9f8ee;color:#0a742f;border:1px solid #bfeacb}.alert.error{background:#fdecee;color:#b00020;border:1px solid #f3c4c9}.small-note{color:var(--muted);font-size:15px;margin-top:6px}.history-table{width:100%;border-collapse:collapse;font-size:15px}.history-table th{background:var(--navy);color:#fff;text-align:left;padding:10px}.history-table td{border-bottom:1px solid var(--line);padding:10px}.login-page{display:grid;place-items:center;min-height:100vh;background:linear-gradient(135deg,#f5f8fc,#fff)}.login-box{width:min(420px,92vw);background:#fff;border-radius:16px;box-shadow:var(--shadow);padding:30px;border:1px solid var(--line)}.login-box h1{margin-top:0;color:var(--navy);text-align:center}.tv-mode .board-wrap{max-width:none;width:100%;min-height:100vh}.tv-mode .legend{margin-bottom:0}@media(max-width:900px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.board-title{grid-template-columns:1fr}.board-title .line{display:none}.form-grid,.checkbox-grid{grid-template-columns:1fr}.board-table td,.board-table thead th{font-size:16px;padding:10px}}

/* Clean PNG KPI stickers - reviewed version */
.kpi-icon {
    background: transparent !important;
    border-radius: 0 !important;
}
.kpi-icon svg {
    display: none !important;
}
.kpi-icon img {
    width: 96px;
    height: 96px;
    object-fit: contain;
    display: block;
}
.kpi-icon.rug img {
    width: 104px;
    height: 104px;
}


/* Updated urgency colors:
   Green = 10+ days, Orange = 6-9 days, Red = 5 or less / overdue */
.date-cell.safe { color: var(--green) !important; }
.date-cell.warning { color: var(--orange) !important; }
.date-cell.urgent,
.date-cell.overdue { color: var(--red) !important; }

.day-pill.safe { background: linear-gradient(180deg,#18a64a,#087c2d) !important; }
.day-pill.warning { background: linear-gradient(180deg,#ff9a12,#f07600) !important; }
.day-pill.urgent,
.day-pill.overdue { background: linear-gradient(180deg,#ee343b,#c91520) !important; }

.nav-spacer { flex: 1; }

/* Keep KPI images clean */
.kpi-icon {
    background: transparent !important;
    border-radius: 0 !important;
}
.kpi-icon svg { display: none !important; }
.kpi-icon img {
    width: 96px;
    height: 96px;
    object-fit: contain;
    display: block;
}
.kpi-icon.rug img {
    width: 104px;
    height: 104px;
}


/* FIX: Days Left warning state must show orange for 6-9 days */
.date-cell.warning,
.board-table td.date-cell.warning {
    color: #f58a00 !important;
}

.day-pill.warning,
.days-cell .day-pill.warning,
.board-table .day-pill.warning {
    background: linear-gradient(180deg,#ff9a12,#f07600) !important;
    color: #ffffff !important;
}

.day-pill.safe,
.days-cell .day-pill.safe {
    color: #ffffff !important;
}

.day-pill.urgent,
.day-pill.overdue,
.days-cell .day-pill.urgent,
.days-cell .day-pill.overdue {
    color: #ffffff !important;
}

/* Color dates exactly by rule */
.date-cell.safe { color: #148f3b !important; }
.date-cell.urgent,
.date-cell.overdue { color: #e3272f !important; }


/* FINAL TV/LAYOUT FIX - centered full board and Spanish title */
html, body {
    width: 100%;
    min-width: 0;
    overflow-x: hidden;
}

.board-wrap {
    width: 100% !important;
    max-width: 1660px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: clamp(18px, 3vw, 52px) !important;
    padding-right: clamp(18px, 3vw, 52px) !important;
}

.tv-mode .board-wrap {
    max-width: 1660px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.board-title {
    width: 100% !important;
    grid-template-columns: minmax(40px, 1fr) minmax(0, auto) minmax(40px, 1fr) !important;
    gap: clamp(12px, 2vw, 28px) !important;
}

.board-title h1 {
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    text-align: center !important;
    line-height: 1.12 !important;
    letter-spacing: clamp(4px, 0.7vw, 10px) !important;
    font-size: clamp(28px, 4.2vw, 68px) !important;
}

/* Spanish title is longer, so make it fit cleanly */
html[lang="es"] .board-title h1 {
    font-size: clamp(26px, 3.1vw, 48px) !important;
    letter-spacing: clamp(4px, 0.55vw, 8px) !important;
    white-space: nowrap !important;
}

.kpi-grid {
    width: 100% !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: clamp(14px, 2vw, 26px) !important;
}

.kpi-card {
    min-width: 0 !important;
}

.table-card {
    width: 100% !important;
}

.board-table {
    width: 100% !important;
}

@media (max-width: 1200px) {
    html[lang="es"] .board-title h1 {
        white-space: normal !important;
        font-size: clamp(24px, 4vw, 42px) !important;
    }

    .board-title {
        grid-template-columns: 1fr !important;
    }

    .board-title .line {
        display: none !important;
    }
}


/* Quantity column and final schedule update */
.qty-cell {
    text-align: center;
    font-weight: 900;
    color: var(--navy);
}

.board-table thead th:nth-child(2),
.board-table td:nth-child(2) {
    text-align: center;
}

.checkbox-grid {
    grid-template-columns: repeat(5, minmax(140px, 1fr));
}

@media (max-width: 900px) {
    .checkbox-grid {
        grid-template-columns: 1fr;
    }
}
