:root{--background: #ffffff;--foreground: #1b4b7d;--primary: #0d47a1;--primary-foreground: #ffffff;--secondary: #f6f8fa;--muted-foreground: #757575;--accent: #029ee0;--success: #4caf50;--warning: #ffb300;--destructive: #f44336;--border: #e0e0e0;--radius: .5rem;--font-sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--sidebar: #1b4b7d;--sidebar-foreground: #ffffff;--sidebar-accent: rgba(2, 158, 224, .2);--sidebar-border: rgba(255, 255, 255, .1)}*{box-sizing:border-box}body{margin:0;background:var(--secondary);color:var(--foreground);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}button{font-family:inherit;cursor:pointer;border-radius:var(--radius)}input,select,textarea{font-family:inherit;border:1px solid var(--border);border-radius:var(--radius)}a{color:var(--primary)}.app-layout{display:flex;min-height:100vh}.sidebar{display:flex;flex-direction:column;flex-shrink:0;width:16rem;background:var(--sidebar);color:var(--sidebar-foreground)}.sidebar-header{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:1rem 1.25rem}.sidebar-header img{height:1.5rem}.sidebar-header span{font-size:1.125rem;font-weight:700}.sidebar-nav{flex:1;padding:0 .75rem}.sidebar-item{display:flex;width:100%;align-items:center;gap:.5rem;margin-bottom:.25rem;padding:.5rem .75rem;border:0;border-radius:.375rem;background:transparent;color:var(--sidebar-foreground);font-size:.875rem;font-weight:500;text-align:left;transition:background-color .15s}.sidebar-item:hover{background:#029ee01f}.sidebar-item.active{background:var(--sidebar-accent)}.sidebar-item svg{width:1rem;height:1rem;flex-shrink:0}.sidebar-footer{border-top:1px solid var(--sidebar-border);padding:.75rem;font-size:.875rem}.sidebar-user{margin-bottom:.5rem;padding:0 .5rem}.sidebar-user .name{font-weight:600}.sidebar-user .meta{font-size:.75rem;opacity:.7}.sidebar-version{margin-top:.5rem;padding:0 .75rem;font-size:.6875rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;opacity:.45;-webkit-user-select:text;user-select:text}
