.layout{min-height:100vh}.navbar{background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:12px 0;position:sticky;top:0;z-index:100}.navbar-inner{display:flex;align-items:center;gap:32px}.navbar-brand{font-size:18px;font-weight:700;color:var(--color-primary)!important}.navbar-links{display:flex;gap:8px;flex:1}.navbar-links a{padding:6px 12px;border-radius:var(--radius);font-size:14px;color:var(--color-text-secondary);transition:all .15s}.navbar-links a:hover{background:var(--color-bg);color:var(--color-text)}.navbar-links a.active{background:#eff6ff;color:var(--color-primary);font-weight:500}.navbar-user{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--color-text-secondary);position:relative}.user-menu-trigger{background:none;border:1px solid var(--color-border);padding:6px 12px;border-radius:var(--radius);cursor:pointer;font:inherit;color:inherit}.user-menu{position:absolute;right:0;top:calc(100% + 4px);min-width:160px;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:0 2px 8px #00000014;z-index:10;display:flex;flex-direction:column}.user-menu a,.user-menu .user-menu-signout{display:block;padding:8px 12px;text-decoration:none;color:inherit;background:none;border:none;font:inherit;text-align:left;cursor:pointer}.user-menu a:hover,.user-menu .user-menu-signout:hover{background:var(--color-bg)}.approvals-link{position:relative}.badge-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9999px;background:var(--color-danger);color:#fff;font-size:11px;font-weight:700;margin-left:4px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg: #f8f9fa;--color-surface: #ffffff;--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-text: #1f2937;--color-text-secondary: #6b7280;--color-border: #e5e7eb;--color-success: #16a34a;--color-warning: #d97706;--color-danger: #dc2626;--radius: 8px;--shadow: 0 1px 3px rgba(0, 0, 0, .1)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--color-bg);color:var(--color-text);line-height:1.5}a{color:var(--color-primary);text-decoration:none}button{cursor:pointer;font:inherit}.container{max-width:1200px;margin:0 auto;padding:0 24px}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid transparent;border-radius:var(--radius);font-size:14px;font-weight:500;transition:all .15s}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-hover)}.btn-secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}.btn-secondary:hover{background:var(--color-bg)}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover{background:#b91c1c}.btn-success{background:var(--color-success);color:#fff}.btn-success:hover{background:#15803d}.badge{display:inline-block;padding:2px 10px;border-radius:9999px;font-size:12px;font-weight:600;text-transform:uppercase}.badge-pending{background:#fef3c7;color:#92400e}.badge-approved{background:#d1fae5;color:#065f46}.badge-denied{background:#fee2e2;color:#991b1b}.badge-cancelled{background:#f3f4f6;color:#4b5563}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:14px;font-weight:500;margin-bottom:4px;color:var(--color-text-secondary)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius);font:inherit;font-size:14px}.form-group textarea{resize:vertical;min-height:80px}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.page-header h1{font-size:24px;font-weight:700}.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.stat-value{font-size:32px;font-weight:700;color:var(--color-primary)}.stat-label{font-size:14px;color:var(--color-text-secondary)}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--color-border);font-size:14px}.table th{font-weight:600;color:var(--color-text-secondary);background:var(--color-bg)}
