*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app-container{display:flex;flex-direction:column;height:100vh;background-color:#f9fafb}.app-header{background:#fff;border-bottom:1px solid #e5e7eb;padding:1rem 1.5rem;box-shadow:0 1px 3px #0000001a;display:flex;align-items:center;justify-content:space-between}.notification-toggle{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;border:1px solid #d1d5db;background:#fff;color:#6b7280;cursor:pointer;transition:all .2s;font-size:13px;font-weight:500}.notification-toggle:hover{background:#f9fafb;border-color:#9ca3af}.notification-toggle.enabled{background:#10b981;border-color:#10b981;color:#fff}.notification-toggle.enabled:hover{background:#059669;border-color:#059669}.app-content{display:flex;flex:1;overflow:hidden}.sidebar{width:350px;background:#fff;border-right:1px solid #e5e7eb;display:flex;flex-direction:column;overflow:hidden;height:100%}.main-content{flex:1;overflow:hidden;display:flex;flex-direction:column}.flex{display:flex}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.space-x-1>*+*{margin-left:.25rem}.space-x-2>*+*{margin-left:.5rem}.space-x-3>*+*{margin-left:.75rem}.space-y-4>*+*{margin-top:1rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.font-bold{font-weight:700}.font-semibold{font-weight:600}.font-medium{font-weight:500}.text-gray-500{color:#6b7280}.text-gray-600{color:#4b5563}.text-gray-700{color:#374151}.text-gray-800{color:#1f2937}.text-gray-900{color:#111827}.text-blue-600{color:#16a34a}.text-blue-700{color:#15803d}.text-green-600{color:#16a34a}.text-red-500{color:#ef4444}.text-red-700{color:#b91c1c}.text-green-700{color:#15803d}.text-white{color:#fff}.bg-white{background-color:#fff}.bg-gray-50{background-color:#f9fafb}.bg-blue-50{background-color:#f0fdf4}.bg-blue-100{background-color:#dcfce7}.bg-blue-600{background-color:#16a34a}.bg-green-50{background-color:#f0fdf4}.bg-green-600{background-color:#16a34a}.bg-red-50{background-color:#fef2f2}.bg-red-100{background-color:#fee2e2}.bg-green-100{background-color:#dcfce7}.hover\:bg-blue-50:hover{background-color:#f0fdf4}.hover\:bg-blue-700:hover{background-color:#15803d}.hover\:bg-green-50:hover{background-color:#f0fdf4}.hover\:bg-green-700:hover{background-color:#15803d}.hover\:bg-red-50:hover{background-color:#fef2f2}.border{border-width:1px}.border-2{border-width:2px}.border-gray-200{border-color:#e5e7eb}.border-gray-300{border-color:#d1d5db}.border-red-200{border-color:#fecaca}.border-dashed{border-style:dashed}.rounded{border-radius:.25rem}.rounded-md{border-radius:.375rem}.rounded-lg{border-radius:.5rem}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-8{padding:2rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mx-4{margin-left:1rem;margin-right:1rem}.w-4{width:1rem}.h-4{height:1rem}.w-5{width:1.25rem}.h-5{height:1.25rem}.w-6{width:1.5rem}.h-6{height:1.5rem}.w-8{width:2rem}.h-8{height:2rem}.w-12{width:3rem}.h-12{height:3rem}.w-full{width:100%}.h-full{height:100%}.cursor-pointer{cursor:pointer}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.flex-1{flex:1 1 0%}.flex-col{flex-direction:column}.grid{display:grid}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.gap-4{gap:1rem}.shadow-sm{box-shadow:0 1px 2px #0000000d}.divide-y>*+*{border-top-width:1px}.divide-gray-200>*+*{border-color:#e5e7eb}.transition-colors{transition-property:color,background-color,border-color;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.animate-spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.app-content{flex-direction:column}.sidebar{width:100%;max-height:40vh}}
