/* === Fonts === */ @font-face { font-family: "SISTEMAS"; src: url("/static/fonts/SISTEMAS FONT BT.ttf") format("truetype"); } @font-face { font-family: "BauPro"; src: url("/static/fonts/BauPro.ttf") format("truetype"); } /* === Base Typography & Layout === */ body { font-family: 'BauPro', sans-serif; background-color: #F5F5F7; /* soft Apple-like neutral */ color: #1C1C1E; /* dark grey text instead of pure black */ margin: 0; display: flex; flex-direction: column; min-height: 100vh; width: 100%; } h1, h2, h3, h4, h5, h6 { font-family: 'SISTEMAS', sans-serif; color: #2C3E50; /* muted marine blue for headers */ margin: 0.5em 0; text-align: center; } /* === Header === */ header { width: 100%; background-color: #E9EEF5; /* light muted blue */ color: #1C1C1E; /* dark grey instead of white */ padding: 1.5em 0; display: flex; flex-direction: column; align-items: center; box-shadow: 0 2px 6px rgba(0,0,0,0.1); } header h1 { font-size: 2em; color: #2C3E50; /* dark marine blue */ } header p { font-size: 1em; color: #8E2E75; /* muted magenta accent */ margin: 0.2em 0 0; } .logo-link img { height: 70px; margin-bottom: 0.5em; cursor: pointer; } nav { margin-top: 0.5em; } nav a { color: #2C3E50; /* muted dark blue links */ text-decoration: none; margin: 0 0.5em; font-weight: 600; } nav a:hover { color: #FFCC00; /* soft yellow hover */ } /* === Main Container === */ main { flex: 1; width: 100%; } .container { max-width: 900px; width: 90%; margin: 3em auto; display: flex; flex-direction: column; gap: 1.5em; background: #FFFFFF; padding: 2em; border-radius: 12px; box-shadow: 0 6px 16px rgba(0,0,0,0.08); } /* === Link Cards & Buttons === */ a.link-card, button { display: block; padding: 1.2em 1em; font-size: 1.2em; text-align: center; border-radius: 12px; cursor: pointer; transition: all 0.3s ease; font-weight: 600; box-shadow: 0 2px 6px rgba(0,0,0,0.08); } a.link-card { background-color: #F9F9F9; /* soft neutral card */ color: #1C1C1E; border-left: 6px solid #8E2E75; /* muted magenta accent */ text-decoration: none; } a.link-card:hover { background-color: #8E2E75; color: #FFFFFF; box-shadow: 0 4px 12px rgba(0,0,0,0.15); transform: translateY(-2px); } button { background-color: #8E2E75; /* muted magenta */ color: #FFFFFF; border: none; border-radius: 8px; } button:hover { background-color: #FFCC00; /* soft yellow */ color: #1C1C1E; } /* === Forms === */ form { display: flex; flex-direction: column; gap: 1em; margin-top: 1em; } form label { font-weight: 600; color: #2C3E50; } form input[type="text"], form textarea, form input[type="file"] { width: 100%; padding: 0.6em; border: 1px solid #D1D1D6; /* light grey border like Apple forms */ border-radius: 8px; font-size: 1em; box-sizing: border-box; resize: vertical; background-color: #FAFAFA; color: #1C1C1E; } form textarea { min-height: 90px; } /* === Rate Info & Errors === */ .rate-info { text-align: center; color: #2C3E50; margin-top: 1em; } .error { color: #D93025; /* subtle red */ font-weight: bold; text-align: center; margin-top: 1em; } /* === Tables === */ table { width: 100%; border-collapse: collapse; margin-top: 2em; border-radius: 8px; overflow: hidden; box-shadow: 0 2px 6px rgba(0,0,0,0.06); } th, td { border: 1px solid #E1E1E6; padding: 0.5em; text-align: center; color: #1C1C1E; } th { background-color: #F2F2F7; font-weight: 600; } .color { background-color: #FDE9F2; /* soft pink */ } .black { background-color: #E5E5FF; /* soft blue */ } .totals { font-weight: 600; } /* === Alerts === */ .alert { padding: 1em; border-radius: 8px; margin-bottom: 1em; text-align: center; font-weight: 600; } .alert.success { background-color: #2C3E50; /* muted marine blue */ color: #FFFFFF; } .alert.error { background-color: #8E2E75; /* muted magenta */ color: #FFFFFF; } /* === Footer === */ footer { text-align: center; padding: 1.5em 1em; background-color: #F2F2F7; /* soft neutral */ color: #1C1C1E; width: 100%; } footer img.footer-logo { height: 50px; margin-bottom: 0.5em; } /* === Links under forms === */ .link a { color: #2C3E50; text-decoration: underline; font-weight: 600; text-align: center; } /* === Responsive / Mobile Friendly === */ @media (max-width: 1024px) { .container { width: 95%; margin: 2em auto; padding: 1.5em; } header h1 { font-size: 1.7em; } header p { font-size: 0.95em; } .logo-link img { height: 60px; } nav { flex-direction: column; align-items: center; gap: 0.4em; } nav a { margin: 0; font-size: 0.95em; } a.link-card, button { font-size: 1em; padding: 1em 0.8em; } form textarea { min-height: 80px; } table { display: block; overflow-x: auto; } th, td { padding: 0.45em; font-size: 0.9em; } } @media (max-width: 768px) { header h1 { font-size: 1.5em; } header p { font-size: 0.9em; } .logo-link img { height: 55px; } a.link-card, button { font-size: 0.95em; padding: 0.9em 0.7em; } form textarea { min-height: 70px; } }