:root{--primary-color:#1e3a8a;--secondary-color:#3b82f6;--accent-color:#10b981;--text-color:#374151;--light-text:#6b7280;--background-color:#f9fafb;--border-color:#e5e7eb;--success-color:#10b981;--warning-color:#f59e0b;--error-color:#ef4444}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;color:var(--text-color);background-color:var(--background-color);line-height:1.6}a{color:var(--primary-color);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer}button,input,select,textarea{font-family:inherit}.container{min-height:100vh;display:flex;flex-direction:column}.main{flex:1 1;display:flex;flex-direction:column}.title{font-size:2.5rem;font-weight:700;color:var(--primary-color);margin-bottom:1rem}.subtitle{font-size:1.25rem;color:var(--light-text);margin-bottom:2rem}.form-group{margin-bottom:1rem}.form-label{display:block;margin-bottom:.5rem;font-weight:500}.form-input,.form-select,.form-textarea{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:.25rem;font-size:1rem}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(30,58,138,.1)}.btn{padding:.75rem 1.5rem;border-radius:.25rem;font-weight:500;font-size:1rem;border:none;cursor:pointer;transition:all .2s ease}.btn-primary{background-color:var(--primary-color);color:#fff}.btn-primary:hover{background-color:var(--secondary-color)}.btn-secondary{background-color:#fff;color:var(--primary-color);border:1px solid var(--primary-color)}.btn-secondary:hover{background-color:var(--primary-color);color:#fff}.btn-success{background-color:var(--success-color);color:#fff}.btn-warning{background-color:var(--warning-color);color:#fff}.btn-error{background-color:var(--error-color);color:#fff}.card{background-color:#fff;border-radius:.5rem;border:1px solid var(--border-color);padding:1.5rem;margin-bottom:1rem}.card-header{border-bottom:1px solid var(--border-color);padding-bottom:1rem;margin-bottom:1rem}.card-title{font-size:1.5rem;font-weight:600;color:var(--primary-color)}.loading{color:var(--light-text)}.error,.loading{text-align:center;padding:2rem}.error{color:var(--error-color)}.success{text-align:center;padding:2rem;color:var(--success-color)}@media (max-width:768px){.title{font-size:2rem}.subtitle{font-size:1.1rem}}