:root{--color-primary:#2563eb;--color-primary-hover:#1d4ed8;--color-primary-light:#eff6ff;--color-primary-dark:#1e40af;--color-success:#16a34a;--color-success-bg:#dcfce7;--color-success-light:#f0fdf4;--color-error:#dc2626;--color-error-bg:#fee2e2;--color-error-light:#fef2f2;--color-warning:#d97706;--color-warning-bg:#fef3c7;--color-warning-light:#fffbeb;--color-background:#f8fafc;--color-surface:#fff;--color-surface-hover:#f1f5f9;--color-text-main:#0f172a;--color-text-primary:#1e293b;--color-text-secondary:#64748b;--color-text-muted:#94a3b8;--color-border:#e2e8f0;--color-border-hover:#cbd5e1;--font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--spacing-1:.25rem;--spacing-2:.5rem;--spacing-3:.75rem;--spacing-4:1rem;--spacing-5:1.25rem;--spacing-6:1.5rem;--spacing-8:2rem;--spacing-12:3rem;--spacing-xs:var(--spacing-1);--spacing-sm:var(--spacing-2);--spacing-md:var(--spacing-4);--spacing-lg:var(--spacing-6);--spacing-xl:var(--spacing-8);--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-full:9999px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a, 0 10px 10px -5px #0000000a;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.25s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);font-size:var(--font-size-base);background-color:var(--color-background);color:var(--color-text-main);line-height:1.5}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4,h5,h6{margin-bottom:var(--spacing-sm);color:var(--color-text-main)}.login-container{background-color:var(--color-background);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background-color:var(--color-surface);padding:var(--spacing-lg);border-radius:var(--radius-md);width:100%;max-width:400px;box-shadow:0 4px 6px #0000001a}.login-card h2{margin-top:0;margin-bottom:var(--spacing-sm);text-align:center}.login-subtitle{color:var(--color-text-muted);text-align:center;margin-bottom:var(--spacing-lg)}.login-form{gap:var(--spacing-md);flex-direction:column;display:flex}.form-group{gap:var(--spacing-sm);flex-direction:column;display:flex}.form-group label{font-weight:500}.form-group input{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:inherit;font-size:var(--font-size-base)}.form-group input:focus{border-color:var(--color-primary);outline:none}.login-button{background-color:var(--color-primary);color:#fff;padding:var(--spacing-md);border-radius:var(--radius-md);font-size:var(--font-size-base);cursor:pointer;margin-top:var(--spacing-sm);border:none;font-weight:700}.login-button:hover:not(:disabled){background-color:var(--color-primary-hover)}.login-button:disabled{opacity:.7;cursor:not-allowed}.error-message{color:var(--color-error);background-color:var(--color-error-bg);padding:var(--spacing-sm);border-radius:var(--radius-md);text-align:center;font-size:.9rem}.layout-container{background-color:var(--color-background);height:100vh;display:flex;overflow:hidden}.layout-sidebar{background-color:var(--color-surface);border-right:1px solid var(--color-border);flex-direction:column;width:10%;min-width:max-content;display:flex}.sidebar-brand{height:60px;padding:0 var(--spacing-md);border-bottom:1px solid var(--color-border);align-items:center;display:flex}.sidebar-brand h2{color:var(--color-primary);margin:0}.sidebar-nav{padding:var(--spacing-md) 0;gap:var(--spacing-sm);flex-direction:column;display:flex}.nav-item{padding:var(--spacing-sm) var(--spacing-md);color:var(--color-text-main);align-items:center;gap:var(--spacing-md);white-space:nowrap;border-left:3px solid #0000;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.nav-icon{flex-shrink:0;width:20px;height:20px}.nav-item:hover{background-color:var(--color-background);transform:translate(4px)}.nav-item.active{background-color:var(--color-background);color:var(--color-primary);border-left-color:var(--color-primary)}.nav-item.active .nav-text{font-weight:600}.layout-main{flex-direction:column;flex:1;display:flex}.layout-topbar{background-color:var(--color-surface);border-bottom:1px solid var(--color-border);height:60px;padding:0 var(--spacing-lg);justify-content:space-between;align-items:center;display:flex}.topbar-actions{align-items:center;gap:var(--spacing-md);display:flex}.user-info{color:var(--color-text-muted);font-size:.9rem}.btn-logout{border:1px solid var(--color-border);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);cursor:pointer;color:var(--color-text-main);background:0 0;font-weight:500}.btn-logout:hover{background-color:var(--color-background)}.layout-content{padding:var(--spacing-4);flex:1;overflow-y:auto}.sidebar-footer{padding:var(--spacing-md) 0;gap:var(--spacing-sm);border-top:1px solid var(--color-border);flex-direction:column;margin-top:auto;display:flex}.btn-sidebar-action{cursor:pointer;text-align:left;background:0 0;border:none;width:100%;font-size:1rem}
