.layout{display:flex;min-height:100vh;width:100%;background:var(--pe-bg-tertiary)}.sidebar{width:240px;background:var(--pe-bg-primary);border-right:1px solid var(--pe-gray-200);display:flex;flex-direction:column;flex-shrink:0}.sidebar-header{padding:24px 20px 20px;border-bottom:1px solid var(--pe-gray-200);display:flex;flex-direction:column;gap:10px}.sidebar-logo-image{height:22px;width:auto;display:block}.sidebar-subtitle{display:block;font-size:10px;font-weight:600;color:var(--pe-text-secondary);text-transform:uppercase;letter-spacing:1px;padding:0;margin:0}.sidebar-nav{flex:1;padding:12px 8px;display:flex;flex-direction:column;gap:2px}.nav-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:6px;color:var(--pe-gray-700);text-decoration:none;font-size:14px;font-weight:500;transition:background .15s,color .15s}.nav-item:hover{background:var(--pe-gray-100);color:var(--pe-text-primary);text-decoration:none}.nav-item.active{background:var(--pe-primary-light);color:var(--pe-primary-dark)}.nav-icon{font-size:14px;width:18px;text-align:center;color:var(--pe-gray-500)}.nav-item.active .nav-icon{color:var(--pe-primary)}.nav-item.staff{border-top:1px solid var(--pe-gray-200);margin-top:8px;padding-top:13px}.nav-item.staff .nav-icon{color:var(--pe-warning)}.sidebar-footer{padding:16px 20px;border-top:1px solid var(--pe-gray-200)}.user-info{margin-bottom:10px}.user-email{font-size:12px;color:var(--pe-text-secondary);word-break:break-all}.logout-button{background:var(--pe-bg-primary);border:1px solid var(--pe-gray-200);color:var(--pe-gray-700);padding:6px 12px;border-radius:4px;font-size:12px;font-weight:500;width:100%;transition:border-color .15s,color .15s}.logout-button:hover{border-color:var(--pe-primary);color:var(--pe-primary)}.content{flex:1;padding:32px;overflow-y:auto;min-width:0}.landing{display:flex;align-items:center;justify-content:center;min-height:100vh;width:100%;background:var(--pe-gray-100)}.landing-card{background:#fff;border-radius:12px;padding:48px;max-width:420px;width:100%;text-align:center;box-shadow:0 1px 3px #00000014,0 4px 12px #0000000a}.landing-logo{height:36px;width:auto;margin:0 auto 8px;display:block}.landing-subtitle{font-size:14px;color:var(--pe-gray-500);margin-bottom:24px}.landing-description{font-size:14px;color:var(--pe-gray-600);line-height:1.6;margin-bottom:32px}.landing-login-button{background:var(--pe-primary);color:#fff;border:none;padding:12px 32px;border-radius:6px;font-size:15px;font-weight:500;width:100%;transition:background .15s}.landing-login-button:hover{background:var(--pe-primary-dark)}:root{--pe-primary: #319795;--pe-primary-light: #e6fffa;--pe-primary-dark: #2c7a7b;--pe-primary-darker: #285e61;--pe-success: #22c55e;--pe-warning: #fec601;--pe-error: #ef4444;--pe-info: #0ea5e9;--pe-gray-50: #f9fafb;--pe-gray-100: #f2f4f7;--pe-gray-200: #e2e8f0;--pe-gray-300: #d1d5db;--pe-gray-400: #9ca3af;--pe-gray-500: #6b7280;--pe-gray-600: #4b5563;--pe-gray-700: #344054;--pe-gray-800: #1f2937;--pe-gray-900: #111827;--pe-text-primary: #000000;--pe-text-secondary: #5a5a5a;--pe-text-tertiary: #9ca3af;--pe-bg-primary: #ffffff;--pe-bg-secondary: #f5f9ff;--pe-bg-tertiary: #f1f5f9;--font-sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Consolas, monospace;font-family:var(--font-sans);font-size:14px;line-height:1.5;color:var(--pe-text-primary);background:var(--pe-bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}*{margin:0;padding:0;box-sizing:border-box}body{min-height:100vh}#root{min-height:100vh;display:flex}button{cursor:pointer;font-family:var(--font-sans)}a{color:var(--pe-primary);text-decoration:none}a:hover{text-decoration:underline}.loading{display:flex;align-items:center;justify-content:center;min-height:100vh;font-size:16px;color:var(--pe-text-secondary)}.config-error{min-height:100vh;width:100%;display:grid;place-items:center;background:var(--pe-bg-secondary);padding:24px}.config-error-panel{width:min(100%,520px);background:#fff;border:1px solid var(--pe-gray-200);border-left:4px solid var(--pe-error);border-radius:8px;padding:24px;box-shadow:0 12px 32px #273b4c14}.config-error-panel h1{font-size:20px;line-height:1.3;margin-bottom:8px;color:var(--pe-gray-900)}.config-error-panel p{color:var(--pe-text-secondary);line-height:1.6}
