.app-layout,.sidebar{display:flex;min-height:100vh}.sidebar{background:var(--bg-sidebar);bottom:0;flex-direction:column;left:0;overflow-y:auto;position:fixed;top:0;transition:transform .25s ease;width:var(--sidebar-width);z-index:100}.sidebar-header{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;gap:10px;padding:20px 16px}.sidebar-logo{background:#fff;border-radius:8px;height:36px;object-fit:contain;padding:4px;width:36px}.sidebar-logo-text{font-size:28px}.sidebar-app-name{color:#fff;font-size:16px;font-weight:700}.sidebar-company{color:#ffffff80;font-size:11px;margin-top:1px;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-close{background:none;color:#ffffff80;display:none;margin-left:auto}.sidebar-nav{display:flex;flex:1 1;flex-direction:column;gap:2px;padding:12px 8px}.sidebar-link{align-items:center;border-radius:var(--radius-sm);color:#ffffffb3;display:flex;font-size:14px;gap:10px;padding:9px 12px;transition:all .15s}.sidebar-link:hover{background:#ffffff1a;color:#fff}.sidebar-link.active{background:#ffffff2e;color:#fff;font-weight:500}.sidebar-group-btn{align-items:center;background:none;border-radius:var(--radius-sm);color:#ffffffb3;display:flex;font-size:14px;gap:10px;padding:9px 12px;text-align:left;transition:all .15s;width:100%}.sidebar-group-btn:hover{background:#ffffff14;color:#fff}.sidebar-group-btn span:first-of-type{flex:1 1}.sidebar-children{display:flex;flex-direction:column;gap:1px;margin-top:2px;padding-left:26px}.sidebar-child-link{border-left:2px solid #0000;border-radius:var(--radius-sm);color:#fff9;display:block;font-size:13px;padding:7px 12px;transition:all .15s}.sidebar-child-link:hover{background:#ffffff12;color:#fff}.sidebar-child-link.active{background:#ffffff1a;border-left-color:#fff9;color:#fff}.sidebar-footer{border-top:1px solid #ffffff1a;padding:16px}.sidebar-footer,.sidebar-user{align-items:center;display:flex;gap:10px}.sidebar-user{flex:1 1;min-width:0}.sidebar-user-avatar{align-items:center;background:#fff3;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:14px;font-weight:700;height:32px;justify-content:center;width:32px}.sidebar-user-name{color:#fff;font-size:13px;font-weight:500;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user-role{color:#ffffff80;font-size:11px}.sidebar-logout{background:none;border-radius:var(--radius-sm);color:#ffffff80;padding:6px;transition:all .15s}.sidebar-logout:hover{background:#ffffff1a;color:#fff}.app-main{flex:1 1;margin-left:var(--sidebar-width);min-height:100vh}.app-content{max-width:1400px;padding:28px}@media (max-width:768px){.sidebar{transform:translateX(-100%)}.sidebar.mobile-open{transform:translateX(0)}.sidebar-close{display:flex}.sidebar-overlay{background:#0006;inset:0;position:fixed;z-index:99}.app-main{margin-left:0}.mobile-menu-btn{background:var(--color-primary);border-radius:8px;color:#fff;display:flex!important;left:16px;padding:8px;position:fixed;top:16px;z-index:98}}:root{--color-primary:#2d6a4f;--color-secondary:#40916c;--color-primary-light:#52b788;--color-accent:#b7e4c7;--color-danger:#dc2626;--color-warning:#d97706;--color-success:#16a34a;--color-info:#2563eb;--bg-main:#f8f7f4;--bg-card:#fff;--bg-sidebar:#1b4332;--text-primary:#1c1917;--text-secondary:#6b7280;--text-sidebar:#d1fae5;--border-color:#e5e7eb;--shadow-sm:0 1px 3px #00000014;--shadow-md:0 4px 12px #0000001a;--shadow-lg:0 8px 24px #0000001f;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--font-family:"Roboto",sans-serif;--sidebar-width:240px}[data-theme=dark]{--bg-main:#111827;--bg-card:#1f2937;--bg-sidebar:#0f2419;--text-primary:#f9fafb;--text-secondary:#9ca3af;--border-color:#374151}*{box-sizing:border-box;margin:0;padding:0}body{background:#f8f7f4;background:var(--bg-main);color:#1c1917;color:var(--text-primary);font-family:Roboto,sans-serif;font-family:var(--font-family),sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}button{border:none;cursor:pointer;font-family:inherit}input,select,textarea{background:#fff;background:var(--bg-card);border:1px solid #e5e7eb;border:1px solid var(--border-color);border-radius:6px;border-radius:var(--radius-sm);color:#1c1917;color:var(--text-primary);font-family:inherit;font-size:14px;outline:none;padding:8px 12px;width:100%}input:focus,select:focus,textarea:focus{border-color:#2d6a4f;border-color:var(--color-primary);box-shadow:0 0 0 2px #2d6a4f26}.btn{align-items:center;border-radius:6px;border-radius:var(--radius-sm);display:inline-flex;font-size:14px;font-weight:500;gap:6px;padding:8px 16px;transition:all .15s}.btn-primary{background:#2d6a4f;background:var(--color-primary);color:#fff}.btn-primary:hover{background:#40916c;background:var(--color-secondary)}.btn-secondary{background:#fff;background:var(--bg-card);border:1px solid #e5e7eb;border:1px solid var(--border-color);color:#1c1917;color:var(--text-primary)}.btn-secondary:hover{background:#f8f7f4;background:var(--bg-main)}.btn-danger{background:#dc2626;background:var(--color-danger);color:#fff}.btn-sm{font-size:13px;padding:5px 10px}.card{background:#fff;background:var(--bg-card);border:1px solid #e5e7eb;border:1px solid var(--border-color);border-radius:10px;border-radius:var(--radius-md);box-shadow:0 1px 3px #00000014;box-shadow:var(--shadow-sm);padding:20px}.badge{align-items:center;border-radius:100px;display:inline-flex;font-size:12px;font-weight:500;padding:2px 8px}.badge-green{background:#dcfce7;color:#15803d}.badge-yellow{background:#fef9c3;color:#92400e}.badge-red{background:#fee2e2;color:#991b1b}.badge-blue{background:#dbeafe;color:#1e40af}.badge-gray{background:#f3f4f6;color:#4b5563}.badge-orange{background:#fed7aa;color:#92400e}table{border-collapse:collapse;font-size:14px;width:100%}thead th{color:#6b7280;color:var(--text-secondary);font-size:12px;font-weight:600;letter-spacing:.04em;padding:10px 12px;text-align:left;text-transform:uppercase}tbody td,thead th{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-color)}tbody td{padding:12px}tbody tr:hover{background:#f8f7f4;background:var(--bg-main)}.form-group{margin-bottom:16px}.form-group label{color:#6b7280;color:var(--text-secondary);display:block;font-size:13px;font-weight:500;margin-bottom:5px}.form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.form-row-3{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr 1fr}.modal-overlay{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.modal{border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 8px 24px #0000001f;box-shadow:var(--shadow-lg);max-height:90vh;max-width:620px;overflow-y:auto;width:100%}.modal,.modal-header{background:#fff;background:var(--bg-card)}.modal-header{align-items:center;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:20px 24px;position:sticky;top:0;z-index:1}.modal-header h2{font-size:18px;font-weight:600}.modal-body{padding:24px}.modal-footer{border-top:1px solid #e5e7eb;border-top:1px solid var(--border-color);display:flex;gap:10px;justify-content:flex-end;padding:16px 24px}.page-header{margin-bottom:24px}.page-header h1{font-size:24px;font-weight:700}.page-header p{color:#6b7280;color:var(--text-secondary);font-size:14px;margin-top:4px}.stats-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:24px}.stat-card{background:#fff;background:var(--bg-card);border:1px solid #e5e7eb;border:1px solid var(--border-color);border-radius:10px;border-radius:var(--radius-md);box-shadow:0 1px 3px #00000014;box-shadow:var(--shadow-sm);padding:20px}.stat-card .stat-label{color:#6b7280;color:var(--text-secondary);font-size:12px;font-weight:600;letter-spacing:.05em;margin-bottom:8px;text-transform:uppercase}.stat-card .stat-value{font-size:28px;font-weight:700;line-height:1}.stat-card .stat-sub{color:#6b7280;color:var(--text-secondary);font-size:12px;margin-top:4px}.search-box{position:relative}.search-box input{padding-left:36px}.search-box svg{left:10px;position:absolute;top:50%;transform:translateY(-50%)}.empty-state,.search-box svg{color:#6b7280;color:var(--text-secondary)}.empty-state{padding:60px 20px;text-align:center}::-webkit-scrollbar{height:6px;width:6px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#e5e7eb;background:var(--border-color);border-radius:3px}
/*# sourceMappingURL=main.bd57afd7.css.map*/