@font-face{font-family:SpinozaFont;src:url(/SpinozaRegular.otf) format("opentype");font-weight:400;font-style:normal}@font-face{font-family:SpinozaFont;src:url(/SpinozaLight.otf) format("opentype");font-weight:300;font-style:normal}@font-face{font-family:SpinozaFont;src:url(/SpinozaMedium.otf) format("opentype");font-weight:500;font-style:normal}@font-face{font-family:SpinozaFont;src:url(/SpinozaBold.otf) format("opentype");font-weight:700;font-style:normal}@font-face{font-family:SpinozaFont;src:url(/SpinozaBlack.otf) format("opentype");font-weight:900;font-style:normal}:root{--color-primary: #000000;--color-accent: #03CEEA;--color-accent-mint: #06EDA5;--color-accent-teal: #04D7D6;--color-bg: #EDEBE9;--color-white: #FFFFFF;--color-border: #E0DFDD;--color-text: #000000;--color-text-light: #555555;--color-success: #06EDA5;--color-warning: #F59E0B;--color-error: #EF4444;--color-info: #03CEEA}*{margin:0;padding:0;box-sizing:border-box}body{font-family:SpinozaFont,Satoshi,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background-color:var(--color-bg);color:var(--color-text);line-height:1.6}html,body,#root{height:100%}#root{display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{font-weight:600;margin-bottom:.5rem}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}a{color:var(--color-accent);text-decoration:none;transition:color .2s}a:hover{color:#02aaca}button{font-family:inherit;padding:.5rem 1rem;border:none;border-radius:.375rem;cursor:pointer;font-weight:500;transition:all .2s}.btn-primary{background-color:var(--color-primary);color:var(--color-white)}.btn-primary:hover{background-color:#222;transform:translateY(-1px);box-shadow:0 4px 6px #0000001a}.btn-secondary{background-color:var(--color-border);color:var(--color-text)}.btn-secondary:hover{background-color:#d0d0d0}.btn-accent{background-color:var(--color-accent);color:var(--color-white)}.btn-accent:hover{background-color:#02aaca}.btn-success{background-color:var(--color-success);color:var(--color-white)}.btn-danger{background-color:var(--color-error);color:var(--color-white)}.btn-danger:hover{background-color:#dc2626}button:disabled{opacity:.5;cursor:not-allowed}input,textarea,select{font-family:inherit;padding:.5rem;border:1px solid var(--color-border);border-radius:.375rem;font-size:1rem;width:100%}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #009b6226}textarea{resize:vertical;min-height:100px}label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--color-text)}.form-group{margin-bottom:1.5rem}.card{background-color:var(--color-white);border-radius:.5rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a;transition:box-shadow .2s}.card:hover{box-shadow:0 4px 6px #0000001a}table{width:100%;border-collapse:collapse;background-color:var(--color-white);border-radius:.5rem;overflow:hidden}th{background-color:var(--color-primary);color:var(--color-white);padding:1rem;text-align:left;font-weight:600}td{padding:1rem;border-bottom:1px solid var(--color-border)}tr:hover{background-color:#f9fafb}.alert{padding:1rem;border-radius:.375rem;margin-bottom:1rem}.alert-success{background-color:#d1fae5;color:#065f46;border:1px solid #6ee7b7}.alert-error{background-color:#fee2e2;color:#991b1b;border:1px solid #fca5a5}.alert-warning{background-color:#fef3c7;color:#92400e;border:1px solid #fde68a}.alert-info{background-color:#dbeafe;color:#1e40af;border:1px solid #93c5fd}.text-center{text-align:center}.text-right{text-align:right}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mb-4{margin-bottom:2rem}.p-1{padding:.5rem}.p-2{padding:1rem}.p-3{padding:1.5rem}.p-4{padding:2rem}.flex{display:flex}.flex-col{flex-direction:column}.gap-2{gap:1rem}.gap-4{gap:2rem}.justify-between{justify-content:space-between}.items-center{align-items:center}.spinner{display:inline-block;width:20px;height:20px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 768px){h1{font-size:1.5rem}h2{font-size:1.25rem}.grid-2{grid-template-columns:1fr!important}}
