.layout{display:flex;min-height:100vh;background-color:#f5f5f5}.sidebar{width:250px;background-color:#fff;box-shadow:0 4px 6px #00000012,0 10px 20px #00000014;display:flex;flex-direction:column;position:fixed;height:100vh;z-index:1000}.sidebar-header{padding:2rem 1.5rem;border-bottom:1px solid #f5f5f5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem}.sidebar-logo{max-width:50px;max-height:50px;height:auto;object-fit:contain}.sidebar-title{font-size:1.125rem;font-weight:600;color:#000;letter-spacing:.5px}.sidebar-nav{flex:1;padding:1rem 0;display:flex;flex-direction:column;gap:.25rem}.nav-item{display:flex;align-items:center;gap:.75rem;padding:.875rem 1.5rem;color:#000;text-decoration:none;transition:all .25s ease;margin:0 .5rem;border-radius:12px}.nav-item:hover{background-color:#f5f5f5}.nav-item-active{background-color:#000;color:#fff}.nav-item-active:hover{background-color:#333}.nav-icon{font-size:1.125em;flex-shrink:0}.nav-label{font-weight:500;font-size:.9375em}.main-content{flex:1;margin-left:250px;padding:2rem;min-height:100vh}@media (max-width: 768px){.sidebar{width:70px}.sidebar-header{padding:1rem}.sidebar-logo{max-width:50px}.sidebar-title,.nav-label{display:none}.nav-item{justify-content:center;padding:.875rem;margin:0 .25rem}.main-content{margin-left:70px;padding:1rem}}.card{padding:2.5em;background-color:#fff;border-radius:16px;box-shadow:0 4px 6px #00000012,0 10px 20px #00000014,0 20px 40px #0000000f;transition:box-shadow .3s ease,transform .3s ease}.card-hover:hover{box-shadow:0 6px 12px #00000017,0 15px 30px #0000001a,0 25px 50px #00000014;transform:translateY(-2px)}.card-hover{cursor:pointer}.text{margin:0;color:#000}.text-h1{font-size:3.2em;font-weight:700;line-height:1.1}.text-h2{font-size:2.5em;font-weight:600;line-height:1.2}.text-h3{font-size:2em;font-weight:600;line-height:1.3}.text-h4{font-size:1.5em;font-weight:600;line-height:1.4}.text-h5{font-size:1.25em;font-weight:600;line-height:1.4}.text-h6{font-size:1.125em;font-weight:600;line-height:1.4}.text-body{font-size:1em;font-weight:400;line-height:1.5}.text-small{font-size:.875em;font-weight:400;line-height:1.5}.text-caption{font-size:.75em;font-weight:400;line-height:1.5;color:#666}.text-bold{font-weight:700}.text-medium{font-weight:500}.text-light{font-weight:300}.input-wrapper{display:flex;flex-direction:column;gap:.5rem;width:100%}.input-label{font-size:.875em;font-weight:500;color:#000}.input{padding:.75em 1em;border-radius:12px;border:1px solid #cccccc;background-color:#fff;color:#000;font-size:1em;font-family:inherit;transition:all .25s ease;box-shadow:0 1px 2px #0000000d,0 2px 4px #0000000a}.input:focus{outline:none;border-color:#000;box-shadow:0 2px 4px #00000014,0 4px 8px #0000000f}.input:disabled{background-color:#f5f5f5;cursor:not-allowed;opacity:.6}.input::placeholder{color:#999}.input-error{border-color:#c00}.input-error-text{font-size:.75em;color:#c00}.input-helper-text{font-size:.75em;color:#666}.btn{border-radius:12px;border:none;font-weight:500;font-family:inherit;cursor:pointer;transition:all .25s ease;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:#000;color:#fff;box-shadow:0 2px 4px #0003,0 4px 8px #00000026}.btn-primary:hover:not(:disabled){background-color:#333;box-shadow:0 3px 6px #00000040,0 6px 12px #0003;transform:translateY(-1px)}.btn-secondary{background-color:#fff;color:#000;border:1px solid #cccccc;box-shadow:0 2px 4px #0000000d,0 4px 8px #0000000a}.btn-secondary:hover:not(:disabled){background-color:#f5f5f5;box-shadow:0 3px 6px #00000014,0 6px 12px #0000000f;transform:translateY(-1px)}.btn-ghost{background-color:transparent;color:#000;border:1px solid transparent}.btn-ghost:hover:not(:disabled){background-color:#f5f5f5}.btn-small{padding:.4em .8em;font-size:.875em}.btn-medium{padding:.6em 1.2em;font-size:1em}.btn-large{padding:.8em 1.6em;font-size:1.125em}.login-page{min-height:100vh;background-color:#f5f5f5;display:flex;align-items:center;justify-content:center;padding:2rem;width:100vw;box-sizing:border-box;margin:0;position:relative}.login-container{width:100%;max-width:450px;margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center;flex-shrink:0;position:relative}.login-header{text-align:center;margin-bottom:2rem;width:100%}.login-logo{width:50px;height:50px;border-radius:50%;object-fit:cover;margin:0 auto 1.5rem;display:block}.login-title{margin-bottom:.5rem;text-align:center}.login-subtitle{color:#666;text-align:center}.login-card{padding:2.5rem;width:100%;text-align:left;align-self:center}.login-form{display:flex;flex-direction:column;gap:1.5rem;width:100%}.login-error-general{padding:.75rem 1rem;background-color:#f5f5f5;border:1px solid #cccccc;border-radius:8px;color:#000;font-size:.875em;text-align:center}.login-button{width:100%;margin-top:.5rem}.login-footer{margin-top:2rem;padding-top:1.5rem;border-top:1px solid #f5f5f5;text-align:center}.login-help-text{color:#666;line-height:1.6}.login-contact-link{color:#000;text-decoration:underline;font-weight:500;transition:color .25s ease}.login-contact-link:hover{color:#333}@media (max-width: 768px){.login-page{padding:1rem}.login-card{padding:2rem}.login-logo{width:50px;height:50px}}#root{min-height:100vh;background-color:#f5f5f5}.App{width:100%;min-height:100vh}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#000;background-color:#f5f5f5;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#000;text-decoration:inherit}a:hover{color:#333}body{margin:0;min-width:320px;min-height:100vh;background-color:#f5f5f5;color:#000}h1{font-size:3.2em;line-height:1.1;color:#000}button{border-radius:12px;border:1px solid #cccccc;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#000;color:#fff;cursor:pointer;transition:all .25s ease}button:hover{background-color:#f5f5f5;border-color:#333}button:focus,button:focus-visible{outline:2px solid #000000;outline-offset:2px}
