:root{--color-primary-blue: rgba(0, 81, 168, .89);--color-primary-blue-hex: #0051a8;--color-secondary-blue: #2e6aab;--color-dark-blue: rgb(8, 31, 127);--color-accent-orange: #ff6b00;--color-accent-red: #ff1f06;--color-accent-purple: rgba(115, 103, 240, 1);--color-white: #ffffff;--color-bg-light: #f0f5fa;--color-black: #000000;--color-gray-dark: #333333;--color-gray: #666666;--color-gray-medium: #525252;--font-family: "Roboto", sans-serif;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-bold: 700;--spacing-xs: 15px;--spacing-sm: 30px;--spacing-md: 45px;--spacing-lg: 60px;--spacing-xl: 75px;--radius-sm: 5px;--radius-md: 15px;--radius-lg: 30px;--shadow-sm: 0px 0px 10px rgba(0, 0, 0, .3);--shadow-md: 0px 0px 15px rgba(0, 0, 0, .1);--transition-default: .2s ease-in-out}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-family);font-weight:var(--font-weight-normal);font-size:16px;line-height:1.6;color:var(--color-gray-dark);background-color:var(--color-white);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-bold);color:var(--color-black);line-height:1.2}h1{font-size:52px}h2{font-size:42px;color:var(--color-primary-blue)}h3{font-size:34px}h4{font-size:26px}h5{font-size:24px}h6{font-size:20px}p{margin-bottom:1rem}a{color:var(--color-primary-blue);text-decoration:none;transition:color var(--transition-default)}a:hover{color:var(--color-accent-orange)}.container{max-width:1200px;margin:0 auto;padding:0 20px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 24px;font-family:var(--font-family);font-size:16px;font-weight:var(--font-weight-medium);text-decoration:none;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-default)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{color:var(--color-white);background-color:var(--color-accent-red)}.btn-primary:hover:not(:disabled){background-color:#e01a00;color:var(--color-white)}.btn-secondary{color:var(--color-white);background-color:var(--color-black)}.btn-secondary:hover:not(:disabled){background-color:var(--color-gray-dark);color:var(--color-white)}.btn-gradient{color:var(--color-white);background-image:linear-gradient(.5turn,#2e6aab,#7367f0);border-radius:6px}.btn-gradient:hover:not(:disabled){opacity:.9;color:var(--color-white)}.btn-outline{color:var(--color-primary-blue);background-color:transparent;border:2px solid var(--color-primary-blue)}.btn-outline:hover:not(:disabled){background-color:var(--color-primary-blue);color:var(--color-white)}.btn-lg{padding:16px 32px;font-size:18px}.btn-sm{padding:8px 16px;font-size:14px}.form-group{margin-bottom:20px}.form-label{display:block;margin-bottom:8px;font-weight:var(--font-weight-medium);color:var(--color-gray-dark)}.form-input{width:100%;padding:12px 16px;font-family:var(--font-family);font-size:16px;color:var(--color-black);background-color:var(--color-white);border:1px solid var(--color-black);border-radius:var(--radius-sm);transition:border-color var(--transition-default),box-shadow var(--transition-default)}.form-input:focus{outline:none;border-color:var(--color-primary-blue);box-shadow:0 0 0 3px #0051a826}.form-input::placeholder{color:var(--color-black);opacity:.5}.form-input.error{border-color:var(--color-accent-red)}.form-error{margin-top:4px;font-size:14px;color:var(--color-accent-red)}.card{background-color:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-sm)}.card-sm{border-radius:var(--radius-sm)}.section{padding:var(--spacing-lg) 0}.section-light{background-color:var(--color-bg-light)}.text-center{text-align:center}.text-primary{color:var(--color-primary-blue)}.text-accent{color:var(--color-accent-orange)}.mt-1{margin-top:8px}.mt-2{margin-top:16px}.mt-3{margin-top:24px}.mt-4{margin-top:32px}.mb-1{margin-bottom:8px}.mb-2{margin-bottom:16px}.mb-3{margin-bottom:24px}.mb-4{margin-bottom:32px}.py-1{padding-top:8px;padding-bottom:8px}.py-2{padding-top:16px;padding-bottom:16px}.py-3{padding-top:24px;padding-bottom:24px}.py-4{padding-top:32px;padding-bottom:32px}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg-light);padding:20px}.auth-card{width:100%;max-width:420px;background-color:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:40px}.auth-title{font-size:26px;font-weight:var(--font-weight-bold);color:var(--color-primary-blue);text-align:center;margin-bottom:8px}.auth-subtitle{font-size:16px;color:var(--color-gray);text-align:center;margin-bottom:32px}.auth-form{display:flex;flex-direction:column}.auth-footer{margin-top:24px;text-align:center;font-size:14px;color:var(--color-gray)}.auth-footer a{color:var(--color-primary-blue);font-weight:var(--font-weight-medium)}.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(to bottom,#081f7fcc,#081f7f80),url(/static/images/hero-bg.jpg) center/cover no-repeat;color:var(--color-white);text-align:center;padding:40px 20px}.hero-content{max-width:800px}.hero h1{color:var(--color-white);margin-bottom:24px}.hero p{font-size:20px;margin-bottom:32px;opacity:.9}@media screen and (max-width:640px){h1{font-size:36px}h2{font-size:28px}.auth-card{padding:24px}.hero{padding:20px}}@media screen and (max-width:480px){h1{font-size:28px}h2{font-size:24px}.btn-lg{padding:14px 24px;font-size:16px}}.admin-page-title{font-size:28px;font-weight:var(--font-weight-bold);color:var(--color-gray-dark);margin-bottom:24px}select.form-input{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23666666'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:20px;padding-right:40px}textarea.form-input{resize:vertical;min-height:100px}.d-flex{display:flex}.align-center{align-items:center}.justify-between{justify-content:space-between}.gap-1{gap:8px}.gap-2{gap:16px}.gap-3{gap:24px}.grid{display:grid}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}@media screen and (max-width:960px){.grid-cols-4{grid-template-columns:repeat(2,1fr)}}@media screen and (max-width:640px){.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr}}
