﻿/* =========================================================
   SCUM ADMIN SUITE — CANON CSS IMPORT CONTRACT
   ---------------------------------------------------------
   This is the ONLY CSS file referenced by layouts.
   All styling MUST flow through this file.
   No other CSS file may be linked directly.

   ---------------------------------------------------------
   LAYER OWNERSHIP (LOCKED LAW)

   1. CORE        → Tokens, resets, base typography.
   2. LAYOUT      → Page grammar (bands, shell, header, footer, sidebar).
   3. COMPONENTS  → Reusable UI elements (buttons, tables, forms, etc).
   4. PAGES       → Content styling INSIDE the Main band only.
   5. UTILITIES   → Small helper classes (spacing, text, visibility).
   6. VENDORS     → Third-party overrides (MUST NOT touch SaS canon).
   7. THEMES      → Optional future theming layer.
   8. DEV         → Development-only pages.

   ---------------------------------------------------------
   NON-NEGOTIABLE RULES

   - LAYOUT owns vertical rhythm. Pages may NOT modify band padding/margins.
   - COMPONENTS may NOT modify layout spacing.
   - PAGES may NOT modify .sas-band, .app-shell, or structural classes.
   - VENDORS may NOT override:
         .btn-so-*
         .sas-band-*
         .sas-status-*
         or any canonical SaS component class.
   - No !important unless correcting vendor interference.
   - No increasing selector specificity to “win”.
   - If a rule wins but violates ownership → it is INTERFERENCE.

   ---------------------------------------------------------
   CSS INTERFERENCE PROTOCOL (LOCKED)

   When debugging styling:

   1. Identify the applied rule in DevTools.
   2. Classify it as:
        ✅ Canonical (correct file + correct layer)
        ❌ Interfering (wrong layer or forbidden override)
   3. If interfering:
        Remove, relocate, or narrow the rule.
        DO NOT override it with stronger CSS.
   4. Only after interference is removed may canonical values be tuned.

   Winning ≠ Correct.

   ---------------------------------------------------------
   IMPORT ORDER IS ARCHITECTURE.
   Do not reorder sections casually.
   ========================================================= */


/* =========================================================
   1. CORE (Design System & Global Defaults)
   ========================================================= */
@import url("./core/variables.css");
@import url("./core/reset.css");
@import url("./core/typography.css");
@import url("./core/base.css");


/* =========================================================
   2. LAYOUT (Structural Page Skeleton)
   Owns page grammar and vertical rhythm.
   ========================================================= */
@import url("./layout/bands.css");
@import url("./layout/status.css"); 
@import url("./layout/app-shell.css");
@import url("./layout/header.css");
@import url("./layout/footer.css");
@import url("./layout/sidebar.css");
@import url("./layout/app-layout.css");


/* =========================================================
   3. COMPONENTS (Reusable UI Pieces)
   Must not alter band spacing or shell layout.
   ========================================================= */
@import url("./Components/buttons.css");
@import url("./Components/cards.css");
@import url("./Components/tables.css");
@import url("./Components/forms.css");
@import url("./Components/dropdowns.css");
@import url("./Components/modals.css");
@import url("./Components/fields.css");
@import url("./Components/configuration.css");
@import url("./Components/activity-console.css");
@import url("./shared/plan-modal.css");
@import url("./operationConsole.css");
@import url("./Components/post-commit-notify.css");
@import url("./Components/item-picker-modal.css");
@import url("./Components/so-components.css");
@import url("./Components/rarity-slider.css");


/* =========================================================
   4. PAGES (Page-Specific Styling)
   May style content inside Main band only.
   Must NOT modify layout grammar.
   ========================================================= */
@import url("./pages/splash.css");
@import url("./pages/identity.css");
@import url("./pages/dashboard.css");
@import url("./pages/configuration-hub.css");
@import url("./pages/admin-management.css");
@import url("./pages/raid-times.css");
@import url("./pages/economy-intelligence.css");
@import url("./pages/discord-management.css");
@import url("./pages/discord-alerts.css");
@import url("./pages/server-events.css");
@import url("./pages/event-library.css");
@import url("./pages/server-profile.css");
@import url("./pages/cache-app.css");
/* @import url("./pages/home.css"); */
/* @import url("./pages/users.css"); */
/* @import url("./pages/servers.css"); */
/* @import url("./pages/settings.css"); */


/* =========================================================
   5. UTILITIES (Single-Purpose Helper Classes)
   Must not override layout or components.
   ========================================================= */
@import url("./utilities/spacing.css");
@import url("./utilities/text.css");
@import url("./utilities/visibility.css");


/* =========================================================
   6. VENDORS (Third-Party Overrides)
   MUST NOT override SaS canonical classes.
   Only patch Bootstrap conflicts when necessary.
   ========================================================= */
@import url("./vendors/bootstrap-overrides.css");


/* =========================================================
   7. THEMES (Optional / Future)
   ========================================================= */
/* @import url("./themes/theme-scum.css"); */
/* @import url("./themes/theme-dark.css"); */
/* @import url("./themes/theme-light.css"); */


/* =========================================================
   8. DEV TOOLS (Non-Production Styling)
   May be removed in production builds.
   ========================================================= */
@import url("./pages/dev-ui-kitchen-sink.css");
@import url("./pages/metadata-categories.css");
@import url("./pages/asset-browser.css");
@import url("./pages/system-maintenance.css");
