/* assets/css/main.css */ :root { /* New playful color palette */ --primary-color: #FF6B6B; /* Coral Red for high-contrast CTA */ --primary-color-hover: #FF4F4F; --secondary-color: #4ECDC4; /* Teal for accents */ --secondary-color-hover: #3DB8AE; --danger-color: #ef4444; --danger-color-hover: #dc2626; /* Softer backgrounds and text colors */ --background-color: #FDF8E9; /* Soft Cream */ --container-bg-color: #ffffff; --text-color: #333333; /* Darker grey for better contrast on cream */ --text-color-light: #757575; --border-color: #797979; --font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; } body { font-family: var(--font-family); background-color: var(--background-color); color: var(--text-color); margin: 0; padding: 0; } .page-container { max-width: 800px; margin: 0 auto; padding: 24px; background-color: var(--container-bg-color); border-radius: 8px; box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1); margin-top: 24px; margin-bottom: 24px; } h1, h2, h3, h4, h5, h6 { color: var(--text-color); font-weight: 700; /* Bolder headings */ margin-top: 0; } h1 { font-size: 2.5rem; /* 40px */ margin-bottom: 1rem; text-align: center; } h2 { font-size: 1.75rem; /* 28px */ margin-bottom: 1rem; border-bottom: 1px solid var(--border-color); padding-bottom: 0.5rem; } h3 { font-size: 1.5rem; /* 24px */ margin-bottom: 0.75rem; } p { line-height: 1.6; margin-bottom: 1rem; } /* --- Buttons (New Style) --- */ .btn { display: inline-block; font-weight: 600; text-align: center; white-space: nowrap; vertical-align: middle; user-select: none; border: 2px solid transparent; padding: 0.875rem 1.75rem; /* Increased padding */ font-size: 1rem; line-height: 1.5; border-radius: 12px; /* Rounded corners */ cursor: pointer; transition: all 0.2s ease-in-out; text-decoration: none; /* For NuxtLink styled as button */ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05); } .btn:hover { transform: translateY(-2px); box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); } .btn:active { transform: translateY(0); box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05); } .btn:disabled { opacity: 0.6; cursor: not-allowed; transform: none; box-shadow: none; } .btn-primary { color: #fff; background-color: var(--primary-color); border-color: var(--primary-color); } .btn-primary:hover { background-color: var(--primary-color-hover); border-color: var(--primary-color-hover); } /* Secondary button is now an outline button */ .btn-secondary { color: var(--primary-color); background-color: transparent; border-color: var(--primary-color); } .btn-secondary:hover { background-color: var(--primary-color); color: #fff; border-color: var(--primary-color); } .btn-danger { color: #fff; background-color: var(--danger-color); border-color: var(--danger-color); } .btn-danger:hover { background-color: var(--danger-color-hover); border-color: var(--danger-color-hover); } .btn-sm { padding: 0.5rem 1rem; font-size: 0.875rem; border-radius: 8px; } /* --- Forms --- */ .form-group { margin-bottom: 1rem; } .form-label { display: block; margin-bottom: 0.5rem; font-weight: 600; } .form-control { display: block; width: 100%; padding: 0.75rem 1rem; font-size: 1rem; line-height: 1.5; color: var(--text-color); background-color: #fff; background-clip: padding-box; border: 1px solid var(--border-color); border-radius: 8px; /* More rounded */ transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; box-sizing: border-box; /* Add this line */ } .form-control:focus { outline: 0; border-color: var(--secondary-color); /* Use accent color for focus */ box-shadow: 0 0 0 0.25rem rgb(78 205 196 / 25%); } .form-select { display: block; width: 100%; padding: 0.75rem 2.25rem 0.75rem 1rem; -moz-padding-start: calc(1rem - 3px); font-size: 1rem; font-weight: 400; line-height: 1.5; color: var(--text-color); background-color: #fff; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23333333' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); background-repeat: no-repeat; background-position: right 1rem center; background-size: 16px 12px; border: 1px solid var(--border-color); border-radius: 8px; /* More rounded */ transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out; -webkit-appearance: none; -moz-appearance: none; appearance: none; } /* --- Tables --- */ .table { width: 100%; margin-bottom: 1rem; color: var(--text-color); vertical-align: top; border-color: var(--border-color); border-collapse: collapse; } .table > :not(caption) > * > * { padding: 0.75rem 0.75rem; background-color: var(--container-bg-color); border-bottom-width: 1px; } .table > thead { vertical-align: bottom; } .table > thead > tr > th { text-align: left; font-weight: 600; color: var(--text-color); background-color: #f7f7f7; } .table-striped > tbody > tr:nth-of-type(odd) > * { background-color: #fafafa; } .table-hover > tbody > tr:hover > * { background-color: #f1f1f1; }