@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap");

@import url("/vendor/qite/src/components/button/button.css");
@import url("/vendor/qite/src/components/text_input/text_input.css");
@import url("/vendor/qite/src/components/notification/notification.css");
@import url("/vendor/qite/src/components/dialog/dialog.css");

@import url("/assets/buttons-90c4c25a.css");
@import url("/assets/auth-3acfd19e.css");
@import url("/assets/checkbox-ec342530.css");
@import url("/assets/select-de1de78f.css");
@import url("/assets/documents-8e1e04d5.css");
@import url("/assets/cases-4bca1278.css");
@import url("/assets/case-5e7b42d7.css");
@import url("/assets/pagination-bd2be352.css");

* { box-sizing: border-box; }

html { min-height: 100%; font-size: 100%; }

body {
    min-height: 100%; margin: 0; background: white; color: #111827;
    font-family: "Inter", system-ui, sans-serif; font-size: 1rem;
}

#root {
    min-height: 100vh; display: flex; flex-direction: column;
    position: relative;

    & > header {
        min-height: 4rem; padding: 0 2rem; border-bottom: 1px solid #e5e7eb;
        display: flex; align-items: center; gap: 2rem;

        .brand {
            color: #111827; font-size: 1.25rem; font-weight: 700;
            text-decoration: none;
        }

        menu {
            margin: 0; padding: 0; list-style: none;
            display: flex; align-items: center; gap: 1.125rem;
            li {
              padding: 0.5rem;
              &.current {
                background: #b6cad1; font-weight: bold; border-radius: 0.3rem;
                a { color: #000; }
                a:hover { text-decoration: none; }
              }
            }
        }

        .session {
            margin-left: auto; display: flex; align-items: center; gap: 0.75rem;

            form { margin: 0; }

            button {
                padding: 0; border: 0; background: none; color: #2563eb;
                cursor: pointer;
            }
        }
    }

    & > main {
        width: 100%; max-width: 75rem; margin: 0 auto;
        padding: 2.5rem 2rem; flex: 1; min-height: 0;
    }

    & > footer {
        min-height: 5em; padding: 1.5rem 2rem; border-top: 1px solid #e5e7eb;
        display: flex; align-items: center; gap: 1.125rem;
    }
}

a {
    color: #2563eb; text-decoration: none;
    &:hover { text-decoration: underline; }
}

[hidden], template { display: none !important; }
