@tailwind base; @tailwind components; @tailwind utilities; /* Solarized Dark Theme Variables */ :root { --solarized-base03: #002b36; --solarized-base02: #073642; --solarized-base01: #586e75; --solarized-base00: #657b83; --solarized-base0: #839496; --solarized-base1: #93a1a1; --solarized-base2: #eee8d5; --solarized-base3: #fdf6e3; --solarized-blue: #268bd2; --solarized-cyan: #2aa198; --solarized-green: #859900; --solarized-yellow: #b58900; --solarized-orange: #cb4b16; --solarized-red: #dc322f; --solarized-magenta: #d33682; --solarized-violet: #6c71c4; } /* Modern CSS Foundation */ * { margin: 0; padding: 0; box-sizing: border-box; } html { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', sans-serif; } body { background: linear-gradient(135deg, #002b36 0%, #073642 50%, #002b36 100%); color: #93a1a1; min-height: 100vh; line-height: 1.6; } /* Glass Card Component */ .glass { background: rgba(7, 54, 66, 0.4); backdrop-filter: blur(10px); border: 1px solid rgba(88, 110, 117, 0.3); border-radius: 16px; box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4); } /* Modern Button System */ .btn { background: linear-gradient(135deg, #268bd2, #2aa198); color: #fdf6e3; border: none; padding: 12px 24px; border-radius: 12px; font-weight: 600; cursor: pointer; transition: all 0.3s ease; display: inline-flex; align-items: center; justify-content: center; gap: 8px; position: relative; min-height: 44px; font-size: 14px; text-decoration: none; } .btn.active { background: linear-gradient(135deg, #859900, #b58900); color: #fdf6e3; box-shadow: 0 0 0 3px rgba(133, 153, 0, 0.5); transform: translateY(-1px); font-weight: 700; } .btn:hover { transform: translateY(-1px); box-shadow: 0 6px 20px rgba(38, 139, 210, 0.4); } .btn:disabled { opacity: 0.6; cursor: not-allowed; transform: none; box-shadow: none; } /* Secondary Button */ .btn-secondary { background: rgba(88, 110, 117, 0.3); border: 1px solid rgba(131, 148, 150, 0.4); color: #93a1a1; backdrop-filter: blur(10px); } .btn-secondary:hover { background: rgba(88, 110, 117, 0.5); border-color: rgba(131, 148, 150, 0.6); box-shadow: 0 6px 20px rgba(88, 110, 117, 0.3); } /* Success Button */ .btn-success { background: linear-gradient(135deg, #859900, #b58900); color: #fdf6e3; } .btn-success:hover { background: linear-gradient(135deg, #b58900, #859900); box-shadow: 0 6px 20px rgba(133, 153, 0, 0.4); } /* Danger Button */ .btn-danger { background: linear-gradient(135deg, #dc322f, #cb4b16); color: #fdf6e3; } .btn-danger:hover { background: linear-gradient(135deg, #cb4b16, #dc322f); box-shadow: 0 6px 20px rgba(220, 50, 47, 0.4); } /* Small Button */ .btn-sm { padding: 8px 16px; font-size: 12px; min-height: 36px; border-radius: 8px; } /* Icon Only Button */ .btn-icon { padding: 10px; min-width: 44px; aspect-ratio: 1; } /* Button with icon spacing */ .btn .icon { flex-shrink: 0; } /* Form spacing fixes since Tailwind gap classes aren't working */ .form-row { display: flex; align-items: center; } .form-row > * + * { margin-left: 16px; } .button-group { display: flex; align-items: center; } .button-group > * + * { margin-left: 12px; } /* Input Styling */ .input { background: rgba(7, 54, 66, 0.6); border: 1px solid rgba(88, 110, 117, 0.4); border-radius: 12px; padding: 12px 16px; color: #93a1a1; width: 100%; transition: all 0.3s ease; } .input::placeholder { color: rgba(131, 148, 150, 0.6); } .input:focus { outline: none; border-color: #268bd2; box-shadow: 0 0 0 3px rgba(38, 139, 210, 0.2); } /* Dropdown Styling */ .dropdown-button { background: rgba(7, 54, 66, 0.6); border: 1px solid rgba(88, 110, 117, 0.4); border-radius: 12px; padding: 12px 16px; color: #93a1a1; width: 100%; text-align: left; cursor: pointer; transition: all 0.3s ease; display: flex; justify-content: space-between; align-items: center; } .dropdown-button:hover { background: rgba(7, 54, 66, 0.8); } .dropdown-menu { background: rgba(0, 43, 54, 0.95); backdrop-filter: blur(10px); border: 1px solid rgba(88, 110, 117, 0.4); border-radius: 12px; margin-top: 4px; overflow: hidden; box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4); } .dropdown-item { padding: 12px 16px; cursor: pointer; transition: all 0.2s ease; border-bottom: 1px solid rgba(88, 110, 117, 0.2); color: #93a1a1; } .dropdown-item:last-child { border-bottom: none; } .dropdown-item:hover { background: rgba(38, 139, 210, 0.3); } .dropdown-item.active { background: rgba(38, 139, 210, 0.3); color: #fdf6e3; } /* Icon Sizes */ .icon-sm { width: 16px; height: 16px; } .icon-md { width: 20px; height: 20px; } .icon-lg { width: 24px; height: 24px; } /* Layout */ .container { max-width: 1200px; margin: 0 auto; padding: 0 24px; } .section { padding: 32px 0; } /* Grid Layouts */ .grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; } .grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; } .grid-4 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; } @media (max-width: 768px) { .grid-2, .grid-3 { grid-template-columns: 1fr; } } /* Text Styles */ .title { font-size: 2.5rem; font-weight: 700; margin-bottom: 16px; text-align: center; } .subtitle { font-size: 1.125rem; color: rgba(131, 148, 150, 0.9); text-align: center; margin-bottom: 32px; } .card-title { font-size: 1.25rem; font-weight: 600; margin-bottom: 16px; text-align: center; } /* Utilities */ .text-center { text-align: center; } .mb-4 { margin-bottom: 16px; } .mb-6 { margin-bottom: 24px; } .mb-8 { margin-bottom: 32px; } .p-4 { padding: 16px; } .p-6 { padding: 24px; } .p-8 { padding: 32px; }