:root{color-scheme:dark;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5;--bg: #0b0f14;--surface: #141a22;--surface-hover: #1a2230;--border: rgba(255, 255, 255, .08);--border-light: rgba(255, 255, 255, .12);--text: #e8ecf1;--text-dim: rgba(255, 255, 255, .55);--text-muted: rgba(255, 255, 255, .35);--accent: #3b82f6;--accent-hover: #2563eb;--danger: #ef4444;--danger-dim: rgba(239, 68, 68, .15);--warning: #f59e0b;--warning-dim: rgba(245, 158, 11, .15);--success: #22c55e;--success-dim: rgba(34, 197, 94, .15)}*{box-sizing:border-box;margin:0}html,body,#root{min-height:100vh;background:var(--bg);color:var(--text)}.app{min-height:100vh;display:flex;flex-direction:column}.header{display:flex;align-items:center;justify-content:space-between;padding:1rem 2rem;border-bottom:1px solid var(--border);background:var(--surface);flex-wrap:wrap;gap:1rem}.header-left{display:flex;align-items:center;gap:.75rem}.logo-icon{width:28px;height:28px;color:var(--accent);flex-shrink:0}.header h1{font-size:1.15rem;font-weight:600;letter-spacing:-.01em}.subtitle{font-size:.78rem;color:var(--text-dim)}.nav{display:flex;gap:.25rem}.nav-btn{background:none;border:1px solid transparent;color:var(--text-dim);font-size:.82rem;font-weight:500;padding:.4rem .9rem;border-radius:6px;cursor:pointer;transition:all .15s}.nav-btn:hover{color:var(--text);background:var(--surface-hover)}.nav-btn.active{color:var(--accent);background:#3b82f61a;border-color:#3b82f633}.main{flex:1;padding:2rem;max-width:960px;width:100%;margin:0 auto}.btn{font-size:.82rem;font-weight:500;padding:.5rem 1rem;border-radius:6px;border:1px solid var(--border-light);cursor:pointer;transition:all .15s;white-space:nowrap}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{background:var(--surface);color:var(--text)}.btn-secondary:hover{background:var(--surface-hover)}.btn-sm{font-size:.75rem;padding:.3rem .65rem}.btn-complete{background:var(--success-dim);border-color:#22c55e40;color:var(--success)}.btn-complete:hover{background:#22c55e40}.btn-delete{background:transparent;border-color:var(--border);color:var(--text-muted)}.btn-delete:hover{background:var(--danger-dim);border-color:#ef444440;color:var(--danger)}.icon-btn{background:none;border:none;color:var(--text-dim);cursor:pointer;padding:.35rem;border-radius:4px;display:flex;align-items:center;transition:all .15s}.icon-btn svg{width:16px;height:16px}.icon-btn:hover{color:var(--text);background:var(--surface-hover)}.icon-btn-danger:hover{color:var(--danger);background:var(--danger-dim)}.dashboard{display:flex;flex-direction:column;gap:1.5rem}.stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1.25rem;display:flex;flex-direction:column;gap:.2rem}.stat-num{font-size:1.75rem;font-weight:700;letter-spacing:-.02em}.stat-label{font-size:.75rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em}.stat-overdue .stat-num{color:var(--danger)}.stat-soon .stat-num{color:var(--warning)}.quick-actions{display:flex;gap:.5rem}.section{display:flex;flex-direction:column;gap:.75rem}.section-title{font-size:1rem;font-weight:600}.overdue-title{color:var(--danger)}.soon-title{color:var(--warning)}.alert-list{display:flex;flex-direction:column;gap:.5rem}.alert-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1rem;display:flex;flex-direction:column;gap:.4rem}.overdue-card{border-left:3px solid var(--danger)}.soon-card{border-left:3px solid var(--warning)}.alert-header{display:flex;align-items:center;justify-content:space-between}.alert-days{font-size:.75rem;font-weight:600}.overdue-card .alert-days{color:var(--danger)}.soon-card .alert-days{color:var(--warning)}.alert-machine{font-weight:600;font-size:.95rem}.alert-notes{font-size:.82rem;color:var(--text-dim)}.service-badge{display:inline-block;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:.15rem .5rem;border-radius:4px;color:#000}.empty-state{text-align:center;padding:3rem 1rem;color:var(--text-dim);font-size:.9rem}.view-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.view-header h2{font-size:1.15rem;font-weight:600}.view-header-right{display:flex;gap:.5rem;align-items:center}.filter-select{background:var(--surface);border:1px solid var(--border-light);color:var(--text);font-size:.82rem;padding:.45rem .75rem;border-radius:6px;cursor:pointer}.machine-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.75rem}.machine-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1rem;display:flex;flex-direction:column;gap:.5rem}.machine-card-header{display:flex;align-items:flex-start;justify-content:space-between}.machine-card-header h3{font-size:.95rem;font-weight:600}.machine-actions{display:flex;gap:.15rem}.machine-meta{display:flex;gap:.5rem;font-size:.78rem}.machine-type{background:#3b82f61f;color:var(--accent);padding:.1rem .45rem;border-radius:4px;font-weight:500}.machine-location{color:var(--text-dim)}.machine-stats{display:flex;align-items:center;gap:.75rem;font-size:.78rem;color:var(--text-dim)}.overdue-badge{background:var(--danger-dim);color:var(--danger);padding:.1rem .45rem;border-radius:4px;font-weight:600;font-size:.72rem}.log-list{display:flex;flex-direction:column;gap:.5rem}.log-entry{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1rem;display:flex;flex-direction:column;gap:.35rem}.log-entry.completed{opacity:.55}.log-overdue{border-left:3px solid var(--danger)}.log-soon{border-left:3px solid var(--warning)}.log-entry-top{display:flex;align-items:center;gap:.5rem}.completed-badge{font-size:.7rem;font-weight:600;background:var(--success-dim);color:var(--success);padding:.1rem .45rem;border-radius:4px}.due-soon-badge{font-size:.7rem;font-weight:600;background:var(--warning-dim);color:var(--warning);padding:.1rem .45rem;border-radius:4px}.log-entry-machine{font-weight:600;font-size:.95rem}.log-entry-dates{display:flex;gap:1.25rem;font-size:.8rem;color:var(--text-dim)}.log-entry-notes{font-size:.82rem;color:var(--text-dim);margin-top:.15rem}.log-entry-actions{display:flex;gap:.4rem;margin-top:.25rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:grid;place-items:center;z-index:100;padding:1rem}.modal{background:var(--surface);border:1px solid var(--border-light);border-radius:10px;padding:1.5rem;width:100%;max-width:420px}.modal h2{font-size:1.1rem;font-weight:600;margin-bottom:1.25rem}.form{display:flex;flex-direction:column;gap:1rem}.field{display:flex;flex-direction:column;gap:.3rem;font-size:.82rem}.field span{color:var(--text-dim);font-weight:500}.field input,.field select,.field textarea{background:var(--bg);border:1px solid var(--border-light);color:var(--text);font-size:.85rem;padding:.5rem .65rem;border-radius:6px;font-family:inherit;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #3b82f626}.form-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.5rem}@media(max-width:640px){.header{padding:.75rem 1rem}.main{padding:1rem}.stats-row,.machine-grid{grid-template-columns:1fr}.log-entry-dates{flex-direction:column;gap:.15rem}}
