*{box-sizing:border-box}:root{--primary: #1d4ed8;--primary-dark: #1e3a8a;--bg: #f3f4f6;--card-bg: #ffffff;--border: #d1d5db;--text: #111827;--muted: #6b7280;--danger: #dc2626}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Malgun Gothic,sans-serif;background:var(--bg);color:var(--text)}input,select,button{font-family:inherit;font-size:1rem}.login-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;text-align:center}.login-screen h1{margin-bottom:4px}.subtitle{color:var(--muted);margin-top:0}.pin-dots{display:flex;gap:16px;margin:20px 0}.pin-dot{width:16px;height:16px;border-radius:50%;border:2px solid var(--primary);background:transparent}.pin-dot.filled{background:var(--primary)}.keypad{display:grid;grid-template-columns:repeat(3,80px);gap:12px;margin-top:16px}.keypad button{padding:20px 0;border-radius:12px;border:1px solid var(--border);background:var(--card-bg);color:var(--text);font-size:1.25rem}.keypad button:active{background:#e5e7eb}.page{max-width:960px;margin:0 auto;padding:16px}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.header-actions{display:flex;gap:12px;align-items:center}.header-actions a{color:var(--primary);text-decoration:none;font-weight:600}.admin-nav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.admin-nav a{padding:8px 14px;border-radius:8px;background:var(--card-bg);border:1px solid var(--border);text-decoration:none;color:var(--text);font-size:.9rem}.admin-nav a.active{background:var(--primary);border-color:var(--primary);color:#fff}.nav-spacer{flex:1}.filter-bar{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}.hint{color:var(--muted);font-size:.85rem}.data-table{width:100%;border-collapse:collapse;font-size:.9rem}.data-table th,.data-table td{padding:8px;border-bottom:1px solid var(--border);text-align:center}.data-table th:first-child,.data-table td:first-child{text-align:left}.yield-cell.yield-good{background:#dcfce7;color:#166534}.yield-cell.yield-mid{background:#fef9c3;color:#854d0e}.yield-cell.yield-bad{background:#fee2e2;color:#991b1b}.yield-cell.yield-na{color:var(--muted)}.week-nav{display:flex;align-items:center;gap:12px}.lookup-table input{width:90px}.yield-cell-split{line-height:1.3}.yield-recovery-line{font-size:.78rem}.chart-frame{border:1px solid var(--border);border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:8px;overflow-x:auto}.chart-title{text-align:center;font-size:1.35rem;font-weight:700;color:#111827}.chart-svg{width:100%;min-width:640px;height:auto;font-family:inherit}.chart-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;margin-top:4px}.chart-legend-item{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:1rem;color:var(--text);-webkit-user-select:none;user-select:none}.chart-legend-item.chart-legend-off{opacity:.4}.chart-legend-swatch{width:14px;height:14px;border-radius:3px;display:inline-block}.mobile-card-list{display:flex;flex-direction:column;gap:10px}.mobile-card{border:1px solid var(--border);border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:8px}.mobile-card-header{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.mobile-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:6px}.mobile-card-cell{display:flex;justify-content:space-between;align-items:center;gap:6px;padding:6px 8px;border-radius:6px;font-size:.85rem}.mobile-card-fields{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:.9rem;color:var(--muted)}.mobile-card-yield{display:flex;align-items:baseline;gap:10px;font-size:1.1rem}.mobile-lookup-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.mobile-lookup-field{display:flex;flex-direction:column;gap:4px;font-size:.85rem;color:var(--muted)}.inline-edit-form{display:flex;flex-direction:column;gap:12px;text-align:left;padding:14px;margin:4px 0;background:var(--bg);border:1px dashed var(--border);border-radius:10px}.inline-edit-form h3{margin:0}.card{background:var(--card-bg);border-radius:12px;padding:20px;margin-bottom:16px;box-shadow:0 1px 3px #00000014;display:flex;flex-direction:column;gap:14px}.grid-2{display:grid;grid-template-columns:1fr;gap:16px}@media (min-width: 720px){.grid-2{grid-template-columns:1fr 1fr}}label{display:flex;flex-direction:column;gap:6px;font-size:.9rem;color:var(--muted)}input,select{padding:10px 12px;border-radius:8px;border:1px solid var(--border);color:var(--text);background:#fff}button{padding:10px 16px;border-radius:8px;border:1px solid var(--primary);background:var(--primary);color:#fff;cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}button.secondary,.form-actions button[type=button],.record-item button,.entity-actions button,.repair-row button{background:#fff;color:var(--text);border-color:var(--border)}.repairs-block{border:1px dashed var(--border);border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:10px}.repairs-header{display:flex;justify-content:space-between;align-items:center;font-size:.9rem;color:var(--muted)}.repair-row{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:8px}.preview{font-weight:600;color:var(--primary-dark)}.error-text{color:var(--danger);margin:0}.form-actions{display:flex;gap:10px}.muted{color:var(--muted)}.record-list{display:flex;flex-direction:column;gap:10px}.record-item{display:flex;justify-content:space-between;align-items:center;padding:12px;border:1px solid var(--border);border-radius:10px;gap:12px;flex-wrap:wrap}.record-right{display:flex;align-items:center;gap:8px}.yield-badge{padding:4px 10px;border-radius:999px;background:#eff6ff;color:var(--primary-dark);font-weight:600;font-size:.9rem}.entity-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.entity-list li{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;border:1px solid var(--border);border-radius:8px}.entity-list li.inactive{opacity:.5}.entity-actions{display:flex;gap:6px}.inline-form{display:flex;gap:8px}.inline-form input{flex:1}.preset-table{width:100%;border-collapse:collapse}.preset-table th,.preset-table td{padding:8px;border-bottom:1px solid var(--border);text-align:left}.preset-table input{width:100px}.report-controls{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end}.product-toggles{display:flex;flex-wrap:wrap;gap:8px}.checkbox-pill{flex-direction:row;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--border);border-radius:999px;color:var(--text)}
