* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: 'Inter', sans-serif; background: #f5f7fb; color: #1e293b; overflow-x: hidden; transition: background 0.3s, color 0.2s; }
body.dark-theme { background: #0f172a; color: #e2e8f0; }
body.dark-theme .main-content { background: #1e293b; }
body.dark-theme .content-header h1 { background: linear-gradient(135deg, #e2e8f0, #94a3b8); background-clip: text; -webkit-background-clip: text; }
body.dark-theme .theme-toggle { background: #334155; color: #facc15; }
body.dark-theme .theme-toggle:hover { background: #475569; }
body.dark-theme .fab { background: linear-gradient(135deg, #3b82f6, #1d4ed8); }
body.dark-theme .btn.cancel { background: #334155; color: #e2e8f0; }
body.dark-theme .btn.cancel:hover { background: #475569; }
body.dark-theme .btn.add { background: linear-gradient(135deg, #3b82f6, #2563eb); }
.fab { position: fixed; bottom: 32px; right: 32px; width: 56px; height: 56px; border-radius: 28px; background: linear-gradient(135deg, #3b82f6, #2563eb); border: none; color: white; font-size: 1.5rem; cursor: pointer; box-shadow: 0 8px 20px rgba(59, 130, 246, 0.4); transition: all 0.2s; display: flex; align-items: center; justify-content: center; z-index: 20; }
.fab:hover { transform: scale(1.05); box-shadow: 0 12px 24px rgba(59, 130, 246, 0.5); }
body.dark-theme .modal-content { background: #1e293b; color: #e2e8f0; }
body.dark-theme .modal-header { border-bottom-color: #334155; }
body.dark-theme .close-modal { color: #94a3b8; }
body.dark-theme .close-modal:hover { color: #f87171; }
body.dark-theme .form-group label { color: #cbd5e1; }
body.dark-theme .form-group input, body.dark-theme .form-group select { background: #0f172a; border-color: #334155; color: white; }
body.dark-theme .form-group input:focus, body.dark-theme .form-group select:focus { border-color: #60a5fa; box-shadow: 0 0 0 3px rgba(96, 165, 250, 0.2); }
body.dark-theme .form-actions { background: #0f172a; }
select { appearance: none; -webkit-appearance: none; -moz-appearance: none; background-color: white; border: 1.5px solid #e2e8f0; border-radius: 16px; padding: 10px 32px 10px 14px; font-family: 'Inter', sans-serif; font-size: 0.9rem; color: #1e293b; cursor: pointer; transition: all 0.2s; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%233b82f6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'></polyline></svg>"); background-repeat: no-repeat; background-position: right 14px center; background-size: 16px; }
select:hover { border-color: #cbd5e1; }
select:focus { outline: none; border-color: #3b82f6; box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.2); }
body.dark-theme select { background-color: #1e293b; border-color: #334155; color: #e2e8f0; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2360a5fa' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'></polyline></svg>"); }
body.dark-theme select:focus { border-color: #60a5fa; box-shadow: 0 0 0 3px rgba(96, 165, 250, 0.2); }
body.dark-theme input:disabled, body.dark-theme input[readonly] { background: #0f172a !important; color: #94a3b8 !important; border-color: #334155 !important; opacity: 0.7; cursor: not-allowed; }
body.dark-theme input[type="date"]::-webkit-calendar-picker-indicator { filter: invert(1); }