*{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);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}.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)}
