﻿*,
*::before,
*::after {
    box-sizing: border-box;
}

:root {
    --hms-ink: #203040;
    --hms-muted: #718096;
    --hms-border: #e5eaf0;
    --hms-canvas: #f8fafc;
    --hms-sidebar-surface: #edf3f8;
    --hms-surface: #ffffff;
    --hms-primary: #4e46c7;
    --hms-primary-soft: #f0efff;
    --hms-sidebar-width: 240px;
    --hms-sidebar-rail: 72px;
    --hms-topbar-height: 68px;
    --hms-page-padding: 20px;
    --hms-page-padding-mobile: 12px;
}

html,
body {
    margin: 0;
    min-height: 100%;
    overflow-x: hidden;
    background: var(--hms-canvas);
    color: var(--hms-ink);
    font-family: 'Sora', 'Inter', sans-serif !important;
}

.layout {
    display: flex;
    min-height: 100vh;
}

.main-wrapper {
    display: flex;
    flex: 1;
    min-width: 0;
    min-height: 100vh;
    margin-left: var(--hms-sidebar-width);
    flex-direction: column;
    transition: margin-left 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

/* When sidebar is collapsed */
.sidebar.collapsed ~ .main-wrapper {
    margin-left: var(--hms-sidebar-rail);
}

/* When sidebar is hidden on mobile */
@media (max-width: 992px) {
    .main-wrapper,
    .sidebar.collapsed ~ .main-wrapper {
        margin-left: 0;
    }
}

.main-content {
    display: flex;
    flex: 1;
    min-width: 0;
    min-height: 100vh;
    padding-top: var(--hms-topbar-height);
    flex-direction: column;
}

.page-body {
    width: 100%;
    max-width: 1600px;
    flex: 1;
    margin: 0 auto;
    padding: 20px var(--hms-page-padding) 0;
    /* Balanced padding on both sides */
    padding-left: 50px !important;
    padding-right: var(--hms-page-padding);
    transition: padding 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

/* When sidebar is collapsed, maintain same padding */
.sidebar.collapsed ~ .main-wrapper .page-body {
    padding-left: var(--hms-page-padding);
    padding-right: var(--hms-page-padding);
}

/* Medium screens - slightly less padding */
@media (max-width: 1200px) {
    .page-body {
        max-width: 100%;
        padding-left: 16px;
        padding-right: 16px;
    }

    .sidebar.collapsed ~ .main-wrapper .page-body {
        padding-left: 16px;
        padding-right: 16px;
    }
}

/* Tablet and smaller */
@media (max-width: 992px) {
    .page-body {
        padding: 18px var(--hms-page-padding-mobile) 0;
    }

    .sidebar.collapsed ~ .main-wrapper .page-body {
        padding: 18px var(--hms-page-padding-mobile) 0;
    }
}

/* Mobile */
@media (max-width: 576px) {
    .main-content {
        padding-top: 60px;
    }

    .page-body {
        padding: 14px 10px 0;
    }

    .sidebar.collapsed ~ .main-wrapper .page-body {
        padding: 14px 10px 0;
    }
}

/* Loading progress */
.loading-progress {
    display: none;
}

/* Toast container */
.blazored-toast-container {
    position: fixed !important;
    z-index: 999999 !important;
}
