:root{--primary: #1A2B4A;--accent: #B8973A;--ground: #F5F5F3;--mid: #D0D0CC;--dark: #1A1A1A;--muted: #666666;--white: #FFFFFF;--font-display: "Neue Haas Grotesk", Inter, system-ui, Arial, sans-serif;--font-body: "Inter", system-ui, Arial, sans-serif}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%}body{background:var(--ground);color:var(--dark);font-family:var(--font-body);-webkit-font-smoothing:antialiased}a{color:var(--primary);text-decoration:none}button{font-family:var(--font-body);cursor:pointer}input,textarea,select{font-family:var(--font-body)}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:1rem;background:linear-gradient(135deg,var(--ground) 0%,var(--mid) 100%)}.login-card{background:var(--white);padding:2.5rem;border-radius:8px;box-shadow:0 4px 24px #1a2b4a1a;width:100%;max-width:380px}.login-card h1{font-family:var(--font-display);font-size:1.75rem;font-weight:600;color:var(--primary);margin-bottom:.25rem}.login-subtitle{color:var(--muted);font-size:.875rem;margin-bottom:2rem}.login-card .form-group{margin-bottom:1.25rem}.login-card label{display:block;font-size:.8125rem;font-weight:500;color:var(--dark);margin-bottom:.5rem}.login-card input{width:100%;padding:.75rem 1rem;font-size:.9375rem;border:1px solid var(--mid);border-radius:4px;transition:border-color .2s,box-shadow .2s}.login-card input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #1a2b4a1a}.login-card button{width:100%;padding:.875rem;font-size:.9375rem;font-weight:500;color:var(--white);background:var(--primary);border:none;border-radius:4px;transition:background .2s}.login-card button:hover:not(:disabled){background:#0f1a2e}.login-card button:disabled{opacity:.6;cursor:not-allowed}.login-card .error{color:#dc2626;font-size:.8125rem;margin-bottom:1rem}.layout{display:flex;min-height:100vh}.sidebar{width:240px;background:var(--primary);padding:1.5rem 0;flex-shrink:0}.sidebar nav{display:flex;flex-direction:column}.sidebar a{display:block;padding:.75rem 1.5rem;color:#ffffffb3;font-size:.9375rem;transition:color .15s,background .15s}.sidebar a:hover,.sidebar a.active{color:var(--white);background:#ffffff1a}.layout-main{flex:1;padding:2rem;overflow-x:hidden}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;border-radius:4px;border:none;transition:background .2s,opacity .2s}.btn-primary{background:var(--primary);color:var(--white)}.btn-primary:hover:not(:disabled){background:#0f1a2e}.btn-secondary{background:var(--mid);color:var(--dark)}.btn-ghost{background:transparent;color:var(--primary)}.btn:disabled{opacity:.6;cursor:not-allowed}.input-group{margin-bottom:1rem}.input-group label{display:block;font-size:.8125rem;font-weight:500;margin-bottom:.375rem}.input-group input,.input-group select,.input-group textarea{width:100%;padding:.625rem .875rem;font-size:.9375rem;border:1px solid var(--mid);border-radius:4px}.input-group input:focus,.input-group select:focus,.input-group textarea:focus{outline:none;border-color:var(--primary)}.input-error{border-color:#dc2626!important}.error-message{display:block;color:#dc2626;font-size:.75rem;margin-top:.25rem}.spinner{display:flex;align-items:center;justify-content:center;padding:2rem;color:var(--muted)}.is-widget{font-family:var(--font-body)}.is-widget .is-card{background:var(--white);border-radius:8px;overflow:hidden}@media(max-width:768px){.sidebar{display:none}.layout-main{padding:1rem}}
