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

:root,
:root[data-theme="dark"] {
    --premium-ink: #080808;
    --premium-surface: #121212;
    --premium-surface-2: #1c1c1c;
    --premium-paper: #f1efe8;
    --premium-text: #f6f4ed;
    --premium-muted: #9da198;
    --premium-accent: #d8ff3e;
    --premium-danger: #ff725f;
    --premium-warning: #ffc857;
    --premium-success: #d8ff3e;
    --premium-line: rgba(246, 244, 237, .17);
    --premium-line-strong: rgba(246, 244, 237, .34);
    --premium-shadow: 0 24px 70px rgba(0, 0, 0, .24);
    --ui-bg: var(--premium-ink);
    --ui-panel: var(--premium-surface);
    --ui-panel-soft: var(--premium-surface-2);
    --ui-text: var(--premium-text);
    --ui-muted: var(--premium-muted);
    --ui-line: var(--premium-line);
    --ui-line-strong: var(--premium-line-strong);
    --color-black: var(--premium-text);
    --color-white: var(--premium-surface);
    --color-gray: var(--premium-surface-2);
    --color-gray-light: var(--premium-ink);
    --main-font: "Manrope", sans-serif;
    --kid-bg: #080808;
    --kid-card: #121212;
    --kid-card-soft: #1c1c1c;
    --kid-text: #f6f4ed;
    --kid-muted: #a7a7a2;
    --kid-border: #f6f4ed;
    --dashboard-chart-border: #121212;
    --dashboard-stat-primary-bg: #0d0d0d;
    --dashboard-heatmap-empty: #262626;
    --dashboard-report-no: #303030;
    color-scheme: dark;
}

:root[data-theme="light"] {
    --ui-bg: #f1efe8;
    --ui-panel: #fffef9;
    --ui-panel-soft: #e7e4da;
    --ui-text: #111310;
    --ui-muted: #676c63;
    --ui-line: rgba(17, 19, 16, .17);
    --ui-line-strong: rgba(17, 19, 16, .34);
    --color-black: #111310;
    --color-white: #fffef9;
    --color-gray: #e6e3d9;
    --color-gray-light: #f1efe8;
    color-scheme: light;
}

*,
*::before,
*::after {
    box-sizing: border-box;
    border-radius: 0 !important;
}

html {
    background: var(--ui-bg);
    color: var(--ui-text);
    scroll-behavior: smooth;
}

body,
.auth-shell,
.premium-app,
.page,
.dashboard-page {
    zoom: 1 !important;
    background: var(--ui-bg) !important;
    color: var(--ui-text) !important;
    font-family: "Manrope", sans-serif !important;
    -webkit-font-smoothing: antialiased;
}

::selection {
    background: var(--premium-accent);
    color: var(--premium-ink);
}

::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: var(--ui-bg); }
::-webkit-scrollbar-thumb { background: var(--ui-line-strong); border: 2px solid var(--ui-bg); }

h1,
h2,
h3,
h4,
.block-title,
.section-title,
.auth-form-title,
.app-brand-title,
.app-brand-kicker,
.brand-block h1,
.sidebar-title,
.panel-title,
.tabs-title,
.side-nav-title {
    font-family: "Unbounded", sans-serif !important;
    letter-spacing: -.045em;
}

a { color: inherit; }

/* Unified top navigation */
.header,
.auth-header,
.app-header {
    position: sticky !important;
    z-index: 100 !important;
    top: 0 !important;
    min-height: 76px !important;
    margin: 0 !important;
    padding: 12px clamp(18px, 3vw, 48px) !important;
    background: color-mix(in srgb, var(--ui-bg) 90%, transparent) !important;
    color: var(--ui-text) !important;
    border: 0 !important;
    border-bottom: 1px solid var(--ui-line) !important;
    box-shadow: none !important;
    backdrop-filter: blur(18px);
}

.auth-logo,
.app-brand,
.brand-logo {
    display: inline-flex !important;
    align-items: center;
    color: var(--ui-text) !important;
    text-decoration: none !important;
}

.auth-logo img,
.app-brand img,
.brand-logo img {
    width: auto !important;
    height: 42px !important;
    object-fit: contain;
    filter: brightness(0) invert(1) !important;
}

:root[data-theme="light"] .auth-logo img,
:root[data-theme="light"] .app-brand img,
:root[data-theme="light"] .brand-logo img {
    filter: none !important;
}

.auth-navigation,
.app-nav,
.app-toolbar,
.header-actions {
    gap: 8px !important;
}

.nav-link,
.app-nav-link,
.text-button,
.view-switch-button,
.side-nav-link,
.registry-switch-link {
    min-height: 42px !important;
    padding: 10px 14px !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    background: transparent !important;
    color: var(--ui-muted) !important;
    border: 1px solid transparent !important;
    font-family: "Unbounded", sans-serif !important;
    font-size: 9px !important;
    font-weight: 600 !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    transition: .2s ease !important;
}

.nav-link:hover,
.nav-link.active,
.app-nav-link:hover,
.app-nav-link.active,
.text-button:hover,
.view-switch-button:hover,
.view-switch-button.is-active,
.side-nav-link:hover,
.side-nav-link.active,
.registry-switch-link:hover,
.registry-switch-link.active {
    background: var(--premium-accent) !important;
    color: var(--premium-ink) !important;
    border-color: var(--premium-accent) !important;
}

.theme-toggle,
.icon-button {
    min-width: 42px !important;
    min-height: 42px !important;
    border: 1px solid var(--ui-line-strong) !important;
    background: transparent !important;
    color: var(--ui-text) !important;
}

.theme-toggle-text { font-family: "Unbounded", sans-serif; font-size: 8px; letter-spacing: .08em; }
.theme-toggle-track { border-width: 1px !important; }
.theme-toggle-knob { background: var(--premium-accent) !important; }

/* Controls */
.btn,
.button,
.button-secondary,
.primary-button,
.secondary-button,
.danger-button,
.device-report-button,
.device-alias-button,
.analytics-mode-button,
.panel-toggle-button,
.adjustment-close-button,
.adjustment-delete-button,
.registry-delete,
.app-nav-button,
button[type="submit"] {
    min-height: 46px;
    padding: 12px 17px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    border: 1px solid var(--ui-line-strong) !important;
    background: transparent !important;
    color: var(--ui-text) !important;
    font-family: "Unbounded", sans-serif !important;
    font-size: 9px !important;
    font-weight: 600 !important;
    letter-spacing: .06em;
    text-transform: uppercase;
    cursor: pointer;
    transition: transform .2s ease, background .2s ease, color .2s ease !important;
}

.btn:hover,
.button:hover,
.button-secondary:hover,
.secondary-button:hover,
.icon-button:hover,
.panel-toggle-button:hover {
    border-color: var(--premium-accent) !important;
    color: var(--premium-accent) !important;
    transform: translateY(-1px);
}

.btn-secondary,
.btn-primary,
.primary-button,
.button:not(.button-secondary):not(.button-danger),
.device-report-button:not(:disabled),
.auth-submit {
    background: var(--premium-accent) !important;
    color: var(--premium-ink) !important;
    border-color: var(--premium-accent) !important;
}

.btn-secondary:hover,
.btn-primary:hover,
.primary-button:hover,
.button:not(.button-secondary):not(.button-danger):hover,
.device-report-button:hover:not(:disabled),
.auth-submit:hover {
    background: var(--premium-paper) !important;
    color: var(--premium-ink) !important;
    border-color: var(--premium-paper) !important;
}

.button-danger,
.danger-button,
.device-delete-button,
.adjustment-delete-button,
.registry-delete {
    color: var(--premium-danger) !important;
    border-color: color-mix(in srgb, var(--premium-danger) 55%, transparent) !important;
}

input,
textarea,
select,
.field-input,
.text-input,
.select-input,
.comment-input,
.file-input,
.filter-control,
.date-selector,
.remote-select,
.remote-textarea,
.device-alias-input,
.device-department-select,
.device-gemini-field {
    min-height: 46px !important;
    padding: 12px 14px !important;
    background: var(--ui-bg) !important;
    color: var(--ui-text) !important;
    border: 1px solid var(--ui-line-strong) !important;
    outline: 0 !important;
    font-family: "Manrope", sans-serif !important;
    font-size: 14px !important;
    transition: border-color .2s ease, box-shadow .2s ease;
}

textarea { min-height: 110px !important; resize: vertical; }
input:focus,
textarea:focus,
select:focus {
    border-color: var(--premium-accent) !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--premium-accent) 16%, transparent) !important;
}

input::placeholder,
textarea::placeholder { color: var(--ui-muted) !important; }

/* Surfaces */
.admin-card,
.service-card,
.profile-card,
.workspace-frame-wrap,
.panel-overview-block,
.registry-add-panel,
.registry-table-wrap,
.sidebar,
.admin-panel,
.material-card,
.empty-panel,
.object-panel,
.object-info,
.premium-app .section,
.subsection,
.supplier-panel,
.supplier-card,
.project-sidebar,
.task-workspace,
.selected-project-header,
.calendar-control-band,
.calendar-panel,
.calendar-risk-panel,
.remarks-control-band,
.remark-row,
.kanban-column,
.task-card,
.modal-window,
.analytics-control-panel,
.analytics-summary-card,
.overview-card,
.device-card,
.remote-panel,
.remote-card,
.report-feed-card,
.adjustment-dialog,
.device-alias-panel,
.device-report-panel,
.stat-box,
.chart-container,
.apps-list-container {
    background: var(--ui-panel) !important;
    color: var(--ui-text) !important;
    border: 1px solid var(--ui-line) !important;
    box-shadow: none !important;
}

.service-card:hover,
.material-card:hover,
.project-item:hover,
.task-card:hover,
.overview-card:hover,
.device-card:hover,
.supplier-card:hover {
    border-color: var(--ui-line-strong) !important;
    transform: translateY(-2px);
}

.auth-kicker,
.eyebrow,
.app-brand-kicker,
.service-badge,
.role-label,
.field-label,
.permission-title,
.meta-label,
.analytics-control-label,
.summary-label,
.stat-label,
.overview-stat-chip-label,
.report-feed-section-title {
    color: var(--ui-muted) !important;
    font-family: "Unbounded", sans-serif !important;
    font-size: 8px !important;
    font-weight: 600 !important;
    letter-spacing: .1em !important;
    text-transform: uppercase !important;
}

.auth-kicker::before,
.eyebrow::before,
.app-brand-kicker::before {
    content: "";
    width: 22px;
    height: 6px;
    display: inline-block;
    margin-right: 9px;
    background: var(--premium-accent);
    vertical-align: middle;
}

.auth-description,
.service-card-text,
.service-lock-note,
.user-meta,
.object-meta,
.section-meta,
.file-date,
.empty-text,
.material-description,
.material-date,
.empty-note,
.footer-note,
.profile-line span,
.project-item-meta,
.selected-project-meta,
.task-card-meta,
.task-description,
.overview-card-subtitle,
.overview-department-meta,
.analytics-summary-meta,
.device-report-meta {
    color: var(--ui-muted) !important;
}

/* Authentication */
.auth-main { min-height: calc(100vh - 76px); padding: 0 !important; }
.auth-login-section { min-height: calc(100vh - 76px) !important; padding: 0 !important; }
.auth-login-section > .container { max-width: none !important; padding: 0 !important; }
.auth-login-card {
    min-height: calc(100vh - 76px) !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1.15fr) minmax(390px, .65fr);
    align-items: stretch !important;
    background: var(--ui-bg) !important;
}

.auth-login-intro {
    position: relative;
    min-width: 0;
    padding: clamp(55px, 8vw, 130px) clamp(28px, 7vw, 115px);
    display: flex;
    flex-direction: column;
    justify-content: center;
    overflow: hidden;
    border-right: 1px solid var(--ui-line);
    background:
        linear-gradient(var(--ui-line) 1px, transparent 1px),
        linear-gradient(90deg, var(--ui-line) 1px, transparent 1px),
        var(--ui-bg);
    background-size: 84px 84px;
}

.auth-login-intro::after {
    content: "";
    position: absolute;
    width: min(34vw, 520px);
    aspect-ratio: 1;
    right: -12vw;
    bottom: -20vw;
    border: 1px solid var(--premium-accent);
    border-radius: 50% !important;
    box-shadow: 0 0 0 80px color-mix(in srgb, var(--premium-accent) 3%, transparent), 0 0 0 160px color-mix(in srgb, var(--premium-accent) 2%, transparent);
}

.auth-login-intro > * { position: relative; z-index: 1; }
.auth-login-intro h1 {
    max-width: 920px;
    margin: 24px 0 34px;
    font-size: clamp(43px, 6.2vw, 98px);
    font-weight: 500;
    line-height: .98;
    text-transform: uppercase;
}
.auth-login-intro h1 span { color: var(--premium-accent); }
.auth-login-lead { max-width: 590px; color: var(--ui-muted); font-size: clamp(15px, 1.25vw, 19px); }
.auth-system-status { margin-top: clamp(55px, 9vw, 130px); display: flex; align-items: center; gap: 11px; font-family: "Unbounded", sans-serif; font-size: 8px; letter-spacing: .08em; text-transform: uppercase; }
.auth-system-status i { width: 9px; height: 9px; border-radius: 50% !important; background: var(--premium-accent); box-shadow: 0 0 0 6px color-mix(in srgb, var(--premium-accent) 13%, transparent); }

.auth-form {
    width: 100% !important;
    max-width: none !important;
    padding: clamp(42px, 6vw, 95px) clamp(28px, 5vw, 78px);
    justify-content: center;
    background: var(--ui-panel);
}
.auth-form-head { display: flex; justify-content: space-between; padding-bottom: 18px; margin-bottom: 48px; border-bottom: 1px solid var(--ui-line); color: var(--ui-muted); font-family: "Unbounded", sans-serif; font-size: 8px; letter-spacing: .1em; text-transform: uppercase; }
.auth-form-head b { color: var(--premium-accent); font-weight: 600; }
.auth-form-title { margin: 0 0 12px !important; font-size: clamp(24px, 2.2vw, 36px) !important; font-weight: 500 !important; }
.auth-form-note { margin-bottom: 34px; color: var(--ui-muted); }
.auth-form .field-label { margin-top: 12px; }
.auth-submit { margin-top: 20px !important; justify-content: space-between !important; }
.auth-submit span { font-size: 17px; }

/* Central panel */
.auth-panel-section,
.auth-admin-section,
.registry-section,
.workspace-section { padding: clamp(55px, 7vw, 100px) 0 !important; }
.auth-panel-section .container,
.auth-admin-section .container,
.registry-section .container,
.workspace-section .container { max-width: 1560px; padding-inline: clamp(20px, 4vw, 64px); }
.page-head,
.workspace-head { margin-bottom: 55px !important; padding-bottom: 35px; border-bottom: 1px solid var(--ui-line); }
.auth-title { max-width: 860px; margin: 0 0 18px !important; font-size: clamp(34px, 4.6vw, 72px) !important; font-weight: 500 !important; line-height: 1.05; text-transform: uppercase; }
.profile-card { min-width: 340px !important; padding: 22px !important; }
.profile-line { padding: 12px 0 !important; border-bottom: 1px solid var(--ui-line) !important; }
.panel-overview-grid { gap: 18px !important; }
.panel-overview-block { padding: clamp(22px, 2.3vw, 36px) !important; }
.my-day-summary { border: 1px solid var(--ui-line) !important; background: var(--ui-bg); }
.my-day-metric { border-right: 1px solid var(--ui-line) !important; }
.my-day-metric strong { font-family: "Unbounded", sans-serif; font-weight: 500; color: var(--premium-accent); }
.upcoming-task-row,
.notification-row { border-color: var(--ui-line) !important; color: var(--ui-text) !important; }
.upcoming-task-row:hover,
.notification-row:hover { background: var(--ui-panel-soft) !important; }
.notification-row.is-unread { background: color-mix(in srgb, var(--premium-accent) 7%, var(--ui-panel)) !important; }
.notification-state { background: var(--ui-muted) !important; }
.notification-row.is-unread .notification-state { background: var(--premium-accent) !important; }

.service-grid { counter-reset: service; gap: 18px !important; }
.service-card { counter-increment: service; min-height: 290px !important; padding: 28px !important; position: relative; overflow: hidden; }
.service-card::before { content: "0" counter(service); position: absolute; top: 25px; right: 25px; color: var(--ui-muted); font-family: "Unbounded", sans-serif; font-size: 9px; letter-spacing: .08em; }
.service-card::after { content: ""; position: absolute; inset: auto 0 0; height: 3px; background: var(--premium-accent); transform: scaleX(0); transform-origin: left; transition: transform .35s ease; }
.service-card:hover::after { transform: scaleX(1); }
.service-badge,
.state-pill { width: fit-content; padding: 7px 9px !important; background: var(--premium-accent) !important; color: var(--premium-ink) !important; border: 0 !important; }
.service-actions { margin-top: auto !important; }
.panel-empty-state { background: var(--ui-bg) !important; border: 1px dashed var(--ui-line-strong) !important; color: var(--ui-muted) !important; }

/* Generic service shells */
.premium-app .page,
.dashboard-page { max-width: 1600px !important; padding: 0 clamp(18px, 3vw, 48px) 70px !important; }
.premium-app .app-header,
.dashboard-page .app-header { margin-inline: calc(clamp(18px, 3vw, 48px) * -1) !important; margin-bottom: 50px !important; }
.app-brand-title { font-size: 17px !important; font-weight: 500 !important; }
.topbar { margin-bottom: 36px !important; padding: 0 0 28px !important; border-bottom: 1px solid var(--ui-line); }
.topbar h1,
.dashboard-intro .section-title { font-size: clamp(31px, 4vw, 60px) !important; font-weight: 500 !important; text-transform: uppercase; }
.topbar p,
.dashboard-intro p { color: var(--ui-muted) !important; }

.tabs-wrap { border: 1px solid var(--ui-line) !important; background: var(--ui-panel) !important; }
.tabs-header,
.section-header,
.subsection-header,
.supplier-card-header { border-color: var(--ui-line) !important; }
.tab-item { background: transparent !important; border: 0 !important; border-right: 1px solid var(--ui-line) !important; color: var(--ui-muted) !important; }
.tab-item.active { background: var(--premium-accent) !important; color: var(--premium-ink) !important; }
.tab-item.active * { color: var(--premium-ink) !important; }
.object-panel,
.main-panel { min-width: 0; }
.object-info { padding: clamp(22px, 3vw, 40px) !important; }
.object-title { font-size: clamp(25px, 3vw, 46px) !important; font-weight: 500 !important; }
.premium-app .section { margin-top: 16px !important; padding: 0 !important; }
.section-header { padding: 22px !important; }
.subsection { margin: 0 !important; border-width: 1px 0 0 !important; padding: 20px 22px !important; }
.file-item,
.app-item,
.adjustment-history-item { border-color: var(--ui-line) !important; background: var(--ui-bg) !important; }
.status-badge,
.material-tag,
.user-pill,
.file-mark,
.project-status-label,
.tag,
.overview-status-badge,
.device-runtime-badge,
.remark-priority,
.remark-status { background: var(--ui-panel-soft) !important; color: var(--ui-text) !important; border: 1px solid var(--ui-line) !important; }
.status-ok,
.project-status-label.active,
.overview-status-badge.online,
.device-runtime-badge.online { color: var(--premium-success) !important; border-color: color-mix(in srgb, var(--premium-success) 45%, transparent) !important; }

/* Work environment */
.workspace-layout { gap: 18px !important; }
.workenv-app .workspace-layout { grid-template-columns: 270px minmax(0, 1fr) !important; }
.sidebar { position: sticky; top: 95px !important; padding: 20px !important; }
.sidebar-link { min-height: 46px; padding: 12px 14px !important; border: 1px solid transparent !important; color: var(--ui-muted) !important; }
.sidebar-link:hover,
.sidebar-link.active { background: var(--premium-accent) !important; color: var(--premium-ink) !important; border-color: var(--premium-accent) !important; }
.admin-panel,
.empty-panel { padding: 28px !important; }
.materials-grid { gap: 16px !important; }
.material-card { overflow: hidden; }
.material-preview { background: var(--ui-bg) !important; border-bottom: 1px solid var(--ui-line) !important; }
.material-body { padding: 22px !important; }

/* Commercial offers */
.commercial-app .app-shell { grid-template-columns: 265px minmax(0, 1fr) !important; gap: 18px !important; }
.side-nav { top: 96px !important; padding: 18px !important; background: var(--ui-panel) !important; border: 1px solid var(--ui-line) !important; }
.supplier-grid { gap: 14px !important; }
.supplier-card { padding: 20px !important; }

/* Projects / CRM */
.projects-app { min-height: 100vh; }
.projects-app .app-header { position: sticky !important; margin-inline: 0 !important; }
.brand-divider { background: var(--ui-line) !important; }
.brand-block h1 { font-size: 17px !important; font-weight: 500 !important; }
.view-switcher { border: 1px solid var(--ui-line) !important; background: var(--ui-panel) !important; }
.view-switch-button { border-right: 1px solid var(--ui-line) !important; }
.projects-app .workspace-layout { height: calc(100vh - 76px) !important; min-height: calc(100vh - 76px) !important; grid-template-columns: 320px minmax(0, 1fr) !important; gap: 0 !important; padding: 0 !important; }
.project-sidebar { border-width: 0 1px 0 0 !important; padding: 25px !important; }
.task-workspace { border: 0 !important; padding: 25px !important; background: var(--ui-bg) !important; }
.sidebar-heading h2,
.remarks-control-band h2,
.calendar-heading-group h2 { font-size: clamp(22px, 2.4vw, 34px) !important; font-weight: 500 !important; }
.project-item { margin-bottom: 8px; padding: 15px !important; border: 1px solid var(--ui-line) !important; background: var(--ui-bg) !important; }
.project-item.is-active { background: var(--premium-accent) !important; color: var(--premium-ink) !important; border-color: var(--premium-accent) !important; }
.project-item.is-active * { color: var(--premium-ink) !important; }
.selected-project-header { padding: 24px !important; }
.selected-project-main { flex: 1; align-items: flex-start !important; }
.selected-project-main > div { min-width: 0; }
.selected-project-title { max-width: none !important; overflow: visible !important; text-overflow: clip !important; white-space: normal !important; font-size: clamp(22px, 2.7vw, 38px) !important; font-weight: 500 !important; line-height: 1.05; }
.selected-project-actions { flex: 0 0 auto; }
.task-toolbar { padding: 14px 0 !important; border: 0 !important; border-bottom: 1px solid var(--ui-line) !important; }
.summary-strip { gap: 1px !important; background: var(--ui-line); border: 1px solid var(--ui-line) !important; }
.summary-item { background: var(--ui-panel) !important; border: 0 !important; }
.summary-value { color: var(--premium-accent) !important; font-family: "Unbounded", sans-serif; font-weight: 500 !important; }
.board-shell { background: var(--ui-bg) !important; border: 0 !important; }
.kanban-board { gap: 12px !important; }
.kanban-column { min-width: 305px !important; }
.column-header { border-bottom: 1px solid var(--ui-line) !important; padding: 17px !important; }
.column-count { background: var(--premium-accent) !important; color: var(--premium-ink) !important; }
.column-body { padding: 12px !important; }
.task-card { padding: 16px !important; }
.task-card.priority-high { border-left: 3px solid var(--premium-warning) !important; }
.task-card.priority-critical,
.task-card.is-overdue { border-left: 3px solid var(--premium-danger) !important; }
.task-title { font-size: 14px !important; }
.avatar { background: var(--premium-accent) !important; color: var(--premium-ink) !important; }
.calendar-view,
.remarks-view { padding: 28px clamp(18px, 3vw, 48px) 70px !important; background: var(--ui-bg) !important; }
.calendar-summary-item { background: var(--ui-panel) !important; border: 1px solid var(--ui-line) !important; }
.calendar-summary-value { color: var(--premium-accent) !important; }
.remark-row { border-left-width: 1px !important; }
.remark-row.priority-high { border-left: 3px solid var(--premium-warning) !important; }
.remark-row.priority-critical,
.remark-row.is-overdue { border-left: 3px solid var(--premium-danger) !important; }

/* Analytics and notifications */
.dashboard-page { max-width: 1600px !important; }
.dashboard-intro { margin-bottom: 44px !important; padding-bottom: 30px; border-bottom: 1px solid var(--ui-line); }
.analytics-control-panel,
.remote-panel { padding: 24px !important; }
.analytics-mode-button.is-active { background: var(--premium-accent) !important; color: var(--premium-ink) !important; }
.analytics-summary-grid,
.overview-dashboard,
.stats-grid { gap: 14px !important; }
.analytics-summary-card,
.overview-card,
.stat-box { padding: 22px !important; }
.analytics-summary-value,
.overview-stat-chip-value,
.stat-value,
.reports-summary-value { color: var(--premium-accent) !important; font-family: "Unbounded", sans-serif !important; font-weight: 500 !important; }
.overview-stat-chip { background: var(--ui-bg) !important; border: 1px solid var(--ui-line) !important; }
.heatmap-cell { border: 1px solid var(--ui-line) !important; }
.reports-date-heading { border-color: var(--ui-line) !important; }
.report-feed-section { border-color: var(--ui-line) !important; }
.remote-panel-header,
.device-header,
.report-feed-header,
.adjustment-dialog-header { border-color: var(--ui-line) !important; }
.device-status-dot { background: var(--premium-accent) !important; }
.chart-placeholder { background: var(--ui-bg) !important; color: var(--ui-muted) !important; border: 1px dashed var(--ui-line-strong) !important; }

/* Tables and modals */
table,
.registry-table,
.section-table { width: 100%; border-collapse: collapse !important; }
th { background: var(--ui-bg) !important; color: var(--ui-muted) !important; font-family: "Unbounded", sans-serif !important; font-size: 8px !important; letter-spacing: .08em; text-transform: uppercase; }
th,
td { padding: 14px !important; border: 1px solid var(--ui-line) !important; }
tbody tr:hover { background: var(--ui-panel-soft) !important; }
.modal-backdrop,
.adjustment-modal { background: rgba(4, 5, 4, .78) !important; backdrop-filter: blur(10px); }
.modal-window,
.adjustment-dialog { box-shadow: var(--premium-shadow) !important; }
.modal-header,
.modal-footer { padding: 20px 24px !important; border-color: var(--ui-line) !important; }
.modal-content { padding: 24px !important; }
.flash-message,
.message,
.toast { border: 1px solid var(--ui-line-strong) !important; background: var(--ui-panel) !important; color: var(--ui-text) !important; box-shadow: var(--premium-shadow); }
.flash-error,
.message.error,
.toast.is-error { border-color: var(--premium-danger) !important; color: var(--premium-danger) !important; }

/* Unified service header (CRM intentionally keeps its own workspace header) */
.unified-header {
    isolation: isolate;
    min-height: 82px !important;
    background: var(--ui-panel) !important;
    overflow: visible;
}

.unified-header::after {
    content: "";
    position: absolute;
    z-index: 3;
    right: 0;
    bottom: -1px;
    left: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent 0 8%, var(--ui-text) 30% 70%, transparent 92% 100%);
    background-size: 220% 100%;
    animation: unified-header-line 5.5s linear infinite;
    pointer-events: none;
}

:root[data-theme="light"] .unified-header {
    background: #f1efe8 !important;
    color: #111310 !important;
}

:root[data-theme="light"] .unified-header::after {
    background-image: linear-gradient(90deg, transparent 0 6%, #111310 28% 72%, transparent 94% 100%);
}

@keyframes unified-header-line {
    from { background-position: 110% 0; }
    to { background-position: -110% 0; }
}

.unified-header .auth-logo,
.unified-header .app-brand { gap: 14px !important; flex: 0 0 auto; }
.unified-brand-copy,
.unified-header .app-brand > div { display: grid; gap: 2px; }
.unified-brand-copy small,
.unified-header .app-brand-kicker { color: var(--ui-muted) !important; font-family: "Unbounded", sans-serif; font-size: 7px !important; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.unified-brand-copy strong,
.unified-header .app-brand-title { color: var(--ui-text) !important; font-family: "Unbounded", sans-serif; font-size: 14px !important; font-weight: 500 !important; letter-spacing: -.035em; text-transform: uppercase; }
:root[data-theme="light"] .unified-brand-copy strong,
:root[data-theme="light"] .unified-header .app-brand-title { color: #111310 !important; }
.unified-header .auth-navigation,
.unified-header .app-nav { margin-left: auto; gap: 3px !important; }
.unified-header .nav-link,
.unified-header .app-nav-link { min-height: 38px !important; padding: 9px 10px !important; font-size: 8px !important; }
.service-panel-header { width: 100vw !important; margin: 0 calc(50% - 50vw) 44px !important; }
.service-panel-header .auth-logo { gap: 14px !important; }
.service-panel-header .auth-navigation { margin-left: auto; }

/* Neutral hover behavior and a theme switch that never turns blue */
.theme-toggle:hover {
    background: var(--ui-text) !important;
    color: var(--ui-bg) !important;
    border-color: var(--ui-text) !important;
    filter: none !important;
}
.theme-toggle:hover .theme-toggle-text,
.theme-toggle:hover .theme-toggle-track,
.theme-toggle:hover .theme-toggle-knob { filter: none !important; }
.theme-toggle:hover .theme-toggle-track { border-color: currentColor !important; }
.theme-toggle:hover .theme-toggle-knob { background: var(--ui-bg) !important; }

:root[data-theme="light"] .btn-outline:hover,
:root[data-theme="light"] .button-secondary:hover,
:root[data-theme="light"] .secondary-button:hover,
:root[data-theme="light"] .icon-button:hover,
:root[data-theme="light"] .panel-toggle-button:hover,
:root[data-theme="light"] .device-alias-button:hover,
:root[data-theme="light"] .analytics-mode-button:not(.is-active):hover,
:root[data-theme="light"] .adjustment-close-button:hover,
:root[data-theme="light"] .app-nav-link:hover,
:root[data-theme="light"] .nav-link:hover,
:root[data-theme="light"] .side-nav-link:hover,
:root[data-theme="light"] .sidebar-link:hover,
:root[data-theme="light"] .view-switch-button:hover {
    background: #111310 !important;
    color: #f6f4ed !important;
    border-color: #111310 !important;
}

/* Explicit hierarchy for document containers */
.kid-container-app .object-info,
.commercial-app .object-info { position: relative; display: grid; grid-template-columns: 118px minmax(0, 1fr); gap: 24px; align-items: center; border-width: 2px !important; }
.hierarchy-label { display: inline-flex; align-items: center; gap: 9px; color: var(--ui-muted); font-family: "Unbounded", sans-serif; font-size: 8px; letter-spacing: .08em; text-transform: uppercase; }
.hierarchy-label span { min-width: 44px; color: var(--ui-muted); }
.hierarchy-label strong { color: var(--ui-text); font-size: 9px; font-weight: 600; }
.hierarchy-object > .hierarchy-label { align-self: stretch; padding-right: 20px; flex-direction: column; align-items: flex-start; justify-content: center; border-right: 1px solid var(--ui-line-strong); }
.hierarchy-object > .hierarchy-label span { color: var(--premium-accent); font-size: 12px; }
.kid-container-app .sections,
.commercial-app .sections { position: relative; margin-top: 22px; padding-left: 34px; }
.kid-container-app .sections::before,
.commercial-app .sections::before { content: ""; position: absolute; top: 0; bottom: 0; left: 8px; width: 1px; background: var(--ui-line-strong); }
.kid-container-app .hierarchy-section,
.commercial-app .hierarchy-section { position: relative; margin: 0 0 20px !important; overflow: visible; border-width: 2px !important; }
.kid-container-app .hierarchy-section::before,
.commercial-app .hierarchy-section::before { content: ""; position: absolute; top: 31px; left: -26px; width: 26px; height: 1px; background: var(--ui-line-strong); }
.hierarchy-section.is-collapsed > :not(.section-header),
.hierarchy-subsection.is-collapsed > :not(.subsection-header) { display: none !important; }
.hierarchy-toggle { min-height: 34px !important; padding: 8px 10px !important; }
.hierarchy-toggle::before { content: "−"; font-size: 13px; line-height: 1; }
.is-collapsed > .section-header .hierarchy-toggle::before,
.is-collapsed > .subsection-header .hierarchy-toggle::before { content: "+"; }
.kid-container-app .section-header,
.commercial-app .section-header { align-items: flex-start !important; background: var(--ui-panel-soft); }
.section-heading { min-width: 0; display: grid; gap: 9px; }
.kid-container-app .section-title,
.commercial-app .section-title { margin: 0 !important; font-size: clamp(20px, 2.2vw, 32px) !important; line-height: 1.08; }
.kid-container-app .subsections,
.commercial-app .subsections { position: relative; padding: 8px 18px 20px 56px; }
.kid-container-app .subsections::before,
.commercial-app .subsections::before { content: ""; position: absolute; top: 0; bottom: 20px; left: 28px; width: 1px; background: var(--ui-line); }
.kid-container-app .hierarchy-subsection,
.commercial-app .hierarchy-subsection { position: relative; margin: 12px 0 0 !important; padding: 20px !important; background: var(--ui-bg) !important; border: 1px solid var(--ui-line-strong) !important; }
.kid-container-app .hierarchy-subsection::before,
.commercial-app .hierarchy-subsection::before { content: ""; position: absolute; top: 28px; left: -28px; width: 28px; height: 1px; background: var(--ui-line); }
.kid-container-app .subsection-left,
.commercial-app .subsection-left { display: grid !important; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px !important; }
.kid-container-app .subsection-title,
.commercial-app .subsection-title { font-size: 16px !important; line-height: 1.35; }
.kid-container-app .files,
.commercial-app .files { margin: 18px 0 0 28px; border-left: 2px solid var(--ui-line-strong); }
.kid-container-app .file-item,
.commercial-app .file-item { margin-left: 14px; }

.edit-mode-toolbar { align-items: center !important; gap: 16px !important; }
.edit-mode-status { max-width: 260px; display: grid; gap: 4px; text-align: right; }
.edit-mode-state { font-family: "Unbounded", sans-serif; font-size: 8px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.edit-mode-hint { color: var(--ui-muted); font-size: 11px; line-height: 1.35; }
.edit-toggle[aria-pressed="true"] { background: var(--ui-text) !important; color: var(--ui-bg) !important; border-color: var(--ui-text) !important; }
.edit-mode-banner { margin: -16px 0 24px; padding: 16px 18px; align-items: center; gap: 14px; background: var(--premium-accent); color: var(--premium-ink); border: 1px solid var(--premium-accent); }
.edit-mode-banner strong { font-family: "Unbounded", sans-serif; font-size: 9px; letter-spacing: .06em; text-transform: uppercase; }
.edit-mode-banner span { font-size: 12px; }
body.edit-mode .edit-mode-banner { display: flex !important; }
body.edit-mode .object-panel,
body.edit-mode .section-create,
body.edit-mode .subsection-create,
body.edit-mode .supplier-create,
body.edit-mode .subsection-toolbar,
body.edit-mode .comment-form { position: relative; border: 1px dashed var(--ui-line-strong) !important; background: color-mix(in srgb, var(--ui-text) 3%, var(--ui-panel)) !important; }
body.edit-mode .object-create::before,
body.edit-mode .section-create::before,
body.edit-mode .subsection-create::before,
body.edit-mode .supplier-create::before,
body.edit-mode .subsection-toolbar::before,
body.edit-mode .comment-form::before { grid-column: 1 / -1; color: var(--ui-muted); font-family: "Unbounded", sans-serif; font-size: 8px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
body.edit-mode .object-create::before { content: "Добавить новый объект"; }
body.edit-mode .section-create::before { content: "Добавить раздел в выбранный объект"; }
body.edit-mode .subsection-create::before { content: "Добавить подраздел в этот раздел"; }
body.edit-mode .supplier-create::before { content: "Добавить поставщика"; }
body.edit-mode .subsection-toolbar::before { content: "Загрузить файлы в этот подраздел"; }
body.edit-mode .comment-form::before { content: "Изменить комментарий"; }

/* Rebuilt container creation workflow */
.structure-editor { margin: 0 0 30px; padding: clamp(20px, 3vw, 34px); background: var(--ui-panel); border: 2px solid var(--ui-text); }
body.edit-mode .structure-editor { display: block !important; }
.structure-editor-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .65fr); gap: 30px; align-items: end; padding-bottom: 24px; border-bottom: 1px solid var(--ui-line-strong); }
.structure-editor-head h2 { margin: 10px 0 8px; font-size: clamp(22px, 2.7vw, 38px); font-weight: 500; }
.structure-editor-head p { max-width: 700px; margin: 0; color: var(--ui-muted); line-height: 1.55; }
.creation-steps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid var(--ui-line); }
.creation-steps span { min-height: 42px; padding: 12px; display: flex; align-items: center; border: 1px solid var(--ui-line); color: var(--ui-muted); font-family: "Unbounded", sans-serif; font-size: 7px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; }
.structure-editor-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; padding-top: 20px; }
.structure-editor-grid.is-single { grid-template-columns: minmax(0, 720px); }
.creation-card { min-width: 0; padding: 20px; background: var(--ui-bg); border: 1px solid var(--ui-line-strong); }
.creation-card-head,
.inline-addition-head { display: flex; align-items: center; gap: 13px; }
.creation-card-head { margin-bottom: 18px; padding-bottom: 16px; border-bottom: 1px solid var(--ui-line); }
.creation-card-head > span,
.inline-addition-head > span { min-width: 42px; height: 42px; display: inline-flex; align-items: center; justify-content: center; background: var(--ui-text); color: var(--ui-bg); font-family: "Unbounded", sans-serif; font-size: 8px; font-weight: 600; }
.creation-card-head > div,
.inline-addition-head > div { min-width: 0; display: grid; gap: 3px; }
.creation-card-head strong,
.inline-addition-head strong { font-family: "Unbounded", sans-serif; font-size: 11px; font-weight: 500; text-transform: uppercase; }
.creation-card-head small,
.inline-addition-head small { color: var(--ui-muted); font-size: 11px; }
.creation-card .object-create,
.creation-card .section-create { display: grid !important; grid-template-columns: 1fr !important; gap: 13px !important; margin: 0 !important; padding: 0 !important; background: transparent !important; border: 0 !important; }
.creation-field { min-width: 0; display: grid; gap: 7px; }
.creation-field > span { color: var(--ui-muted); font-family: "Unbounded", sans-serif; font-size: 7px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.creation-field input,
.creation-field textarea,
.creation-field select { width: 100%; }
.creation-card .button { width: 100%; margin-top: 2px; }
.inline-addition-head { grid-column: 1 / -1; margin-bottom: 4px; }
.kid-container-app .subsection-create,
.commercial-app .subsection-create,
.commercial-app .supplier-create,
.kid-container-app .subsection-toolbar,
.commercial-app .subsection-toolbar { margin: 16px 18px !important; padding: 18px !important; gap: 12px !important; background: var(--ui-panel-soft) !important; border: 1px solid var(--ui-line-strong) !important; }
.kid-container-app .subsection-create,
.commercial-app .subsection-create,
.kid-container-app .subsection-toolbar,
.commercial-app .subsection-toolbar { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.commercial-app .supplier-create { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.kid-container-app .subsection-create > .button,
.commercial-app .subsection-create > .button,
.commercial-app .supplier-create > .button,
.kid-container-app .subsection-toolbar > .button,
.commercial-app .subsection-toolbar > .button { grid-column: 1 / -1; width: 100%; }
.subsection-toolbar-note { grid-column: 1 / -1; }
body.edit-mode .context-add-button { display: inline-flex !important; }
body.edit-mode .context-addition-form { display: none !important; }
body.edit-mode .context-addition-form.is-open { display: grid !important; }
.context-add-button[aria-expanded="true"] { background: var(--ui-text) !important; color: var(--ui-bg) !important; border-color: var(--ui-text) !important; }
.kid-container-app .section-actions,
.commercial-app .section-actions,
.kid-container-app .subsection-actions,
.commercial-app .subsection-actions { flex-wrap: wrap; justify-content: flex-end; }
body.edit-mode .object-create::before,
body.edit-mode .section-create::before,
body.edit-mode .subsection-create::before,
body.edit-mode .supplier-create::before,
body.edit-mode .subsection-toolbar::before { display: none !important; }
.kid-container-app .tabs-wrap,
.commercial-app .tabs-wrap { margin-bottom: 24px; border-width: 2px !important; }
.kid-container-app .tabs-header,
.commercial-app .tabs-header { padding: 14px 18px !important; background: var(--ui-panel-soft); }
.kid-container-app .tabs,
.commercial-app .tabs { gap: 8px; padding: 10px; }
.kid-container-app .tab-item,
.commercial-app .tab-item { border: 1px solid var(--ui-line) !important; }

/* Active object showcase */
.kid-container-app .object-showcase,
.commercial-app .object-showcase {
    position: relative;
    min-height: 310px;
    margin: 0 0 28px;
    padding: 0 !important;
    display: grid;
    grid-template-columns: 148px minmax(0, 1fr) minmax(220px, 25%);
    gap: 0;
    overflow: hidden;
    background: var(--ui-panel) !important;
    border: 2px solid var(--ui-text) !important;
}
.object-showcase-index {
    position: relative;
    z-index: 2;
    padding: 26px 22px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background: var(--ui-text);
    color: var(--ui-bg);
}
.object-showcase-index > span { font-family: "Unbounded", sans-serif; font-size: 12px; font-weight: 600; letter-spacing: .08em; }
.object-showcase-index > strong { font-family: "Unbounded", sans-serif; font-size: 13px; font-weight: 500; line-height: 1.25; letter-spacing: -.04em; text-transform: uppercase; }
.object-showcase-index > small { font-family: "Unbounded", sans-serif; font-size: 7px; font-weight: 600; letter-spacing: .1em; opacity: .55; text-transform: uppercase; writing-mode: vertical-rl; }
.object-showcase-content { position: relative; z-index: 2; min-width: 0; padding: clamp(30px, 4vw, 58px); display: flex; flex-direction: column; justify-content: center; }
.object-showcase-kicker { display: flex; align-items: center; gap: 10px; color: var(--ui-muted); font-family: "Unbounded", sans-serif; font-size: 8px; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; }
.object-showcase-kicker i { width: 32px; height: 7px; flex: 0 0 auto; background: var(--premium-accent); }
.kid-container-app .object-showcase .object-title,
.commercial-app .object-showcase .object-title { max-width: 850px; margin: 18px 0 16px !important; color: var(--ui-text); font-family: "Unbounded", sans-serif !important; font-size: clamp(36px, 5.2vw, 76px) !important; font-weight: 500 !important; line-height: .98; letter-spacing: -.07em; text-transform: uppercase; overflow-wrap: anywhere; }
.object-showcase .object-meta { max-width: 700px; margin: 0; font-size: clamp(13px, 1.2vw, 16px); line-height: 1.55; }
.object-showcase-stats { margin-top: clamp(24px, 3vw, 38px); display: grid; grid-template-columns: repeat(4, minmax(90px, 1fr)); border: 1px solid var(--ui-line-strong); }
.kid-container-app .object-showcase-stats { grid-template-columns: repeat(3, minmax(90px, 1fr)); }
.object-showcase-stats > div { min-height: 72px; padding: 13px 15px; display: grid; align-content: center; gap: 5px; border-right: 1px solid var(--ui-line); }
.object-showcase-stats > div:last-child { border-right: 0; }
.object-showcase-stats strong { color: var(--premium-accent); font-family: "Unbounded", sans-serif; font-size: 22px; font-weight: 500; line-height: 1; }
.object-showcase-stats span { color: var(--ui-muted); font-family: "Unbounded", sans-serif; font-size: 7px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
:root[data-theme="light"] .object-showcase-stats strong { color: #111310; font-weight: 700; }
.object-showcase-visual {
    position: relative;
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-left: 1px solid var(--ui-line-strong);
    background:
        linear-gradient(var(--ui-line) 1px, transparent 1px),
        linear-gradient(90deg, var(--ui-line) 1px, transparent 1px),
        var(--ui-bg);
    background-size: 38px 38px;
}
.object-showcase-visual::before { content: ""; position: absolute; width: min(17vw, 230px); aspect-ratio: 1; border: 2px solid var(--premium-accent); border-radius: 50% !important; transition: transform .6s cubic-bezier(.2,.8,.2,1); }
.object-showcase-visual::after { content: ""; position: absolute; width: 1px; height: 130%; background: var(--premium-accent); transform: rotate(38deg); opacity: .7; }
.object-showcase:hover .object-showcase-visual::before { transform: scale(.86) rotate(18deg); }
.object-showcase-visual > span { position: relative; z-index: 2; color: var(--ui-text); font-family: "Unbounded", sans-serif; font-size: clamp(45px, 6vw, 92px); font-weight: 500; letter-spacing: -.08em; }
.object-showcase-visual > small { position: absolute; z-index: 2; right: 18px; bottom: 18px; color: var(--ui-muted); font-family: "Unbounded", sans-serif; font-size: 7px; letter-spacing: .1em; text-transform: uppercase; }

/* Light theme counters must stay readable */
:root[data-theme="light"] .my-day-metric strong,
:root[data-theme="light"] .summary-value,
:root[data-theme="light"] .calendar-summary-value,
:root[data-theme="light"] .analytics-summary-value,
:root[data-theme="light"] .overview-stat-chip-value,
:root[data-theme="light"] .stat-value,
:root[data-theme="light"] .reports-summary-value,
:root[data-theme="light"] .account-time-period strong,
:root[data-theme="light"] .sidebar-count,
:root[data-theme="light"] .column-count { color: #111310 !important; font-weight: 800 !important; }
:root[data-theme="light"] .column-count { background: transparent !important; border: 1px solid #111310 !important; }

/* CRM: neutral states, smaller object heading and a compact full calendar */
.projects-app .selected-project-header { min-height: 104px !important; padding: 16px 18px !important; }
.projects-app .app-header { isolation: isolate; background: var(--ui-panel) !important; }
.projects-app .app-header::after { content: ""; position: absolute; z-index: 3; right: 0; bottom: -1px; left: 0; height: 2px; background: linear-gradient(90deg, transparent 0 6%, var(--ui-text) 28% 72%, transparent 94% 100%); background-size: 220% 100%; animation: unified-header-line 5.5s linear infinite; pointer-events: none; }
.projects-app .selected-project-title { font-size: clamp(18px, 2vw, 27px) !important; line-height: 1.08; }
.projects-app .project-status-label.active { background: transparent !important; color: var(--ui-text) !important; border-color: var(--ui-line-strong) !important; }
.projects-app .project-status-dot.active,
.projects-app .progress-fill { background: var(--ui-text) !important; }
.projects-app .project-item.is-active .project-status-dot.active,
.projects-app .project-item.is-active .progress-fill { background: var(--premium-ink) !important; }
.projects-app .progress-track { background: var(--ui-panel-soft) !important; }
.projects-app .calendar-view,
.projects-app .remarks-view { height: calc(100vh - 76px) !important; padding: 14px clamp(14px, 2vw, 28px) 18px !important; }
.projects-app .calendar-control-band { min-height: 72px !important; padding: 9px 12px !important; }
.projects-app .calendar-heading-group h2 { font-size: clamp(17px, 2vw, 24px) !important; }
.projects-app .calendar-summary-item { min-height: 44px !important; padding: 7px 10px !important; }
.projects-app .calendar-summary-value { font-size: 17px !important; }
.projects-app .calendar-panel { padding: 7px !important; }
.projects-app .calendar-layout { grid-template-columns: minmax(0, 1fr) 240px !important; }
.projects-app #taskCalendar .fc-col-header-cell { height: 27px !important; }
.projects-app #taskCalendar .fc-daygrid-day-number { padding: 3px 5px !important; font-size: 8px !important; }
.projects-app #taskCalendar .fc-daygrid-event { min-height: 17px !important; margin: 1px 2px 0 !important; padding: 1px 3px !important; }
.projects-app .calendar-event-title { font-size: 6px !important; }
:root[data-theme="dark"] .projects-app #taskCalendar .fc { --fc-border-color: #363636; --fc-page-bg-color: #121212; --fc-neutral-bg-color: #1c1c1c; --fc-neutral-text-color: #a7a7a2; }
:root[data-theme="dark"] .projects-app #taskCalendar .fc-scrollgrid { border-color: #444 !important; }
:root[data-theme="dark"] .projects-app #taskCalendar .fc-daygrid-event { background: #242424 !important; color: #f6f4ed !important; border-color: #3c3c3c !important; }
:root[data-theme="dark"] .projects-app #taskCalendar .calendar-event-high { background: #8d4a26 !important; }
:root[data-theme="dark"] .projects-app #taskCalendar .calendar-event-critical,
:root[data-theme="dark"] .projects-app #taskCalendar .calendar-event-overdue { background: #973b42 !important; }

/* Admin heading containment */
.auth-admin-section .admin-layout,
.auth-admin-section .admin-column,
.auth-admin-section .admin-card { min-width: 0; }
.auth-admin-section .auth-title { max-width: 100%; font-size: clamp(27px, 4.2vw, 58px) !important; overflow-wrap: anywhere; word-break: normal; }

@media (max-width: 1100px) {
    .auth-login-card { grid-template-columns: 1fr 430px; }
    .auth-login-intro h1 { font-size: clamp(42px, 5vw, 62px); }
    .projects-app .workspace-layout { grid-template-columns: 280px minmax(0, 1fr) !important; }
    .service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (max-width: 820px) {
    .header,
    .auth-header,
    .app-header { position: relative !important; flex-wrap: wrap !important; }
    .auth-navigation,
    .app-nav,
    .app-toolbar,
    .header-actions {
        position: static !important;
        width: 100% !important;
        height: auto !important;
        padding: 0 0 4px !important;
        overflow-x: auto;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: flex-start !important;
        background: transparent !important;
        border: 0 !important;
        transform: none !important;
    }
    .auth-navigation .nav-link,
    .app-nav .app-nav-link,
    .header-actions .text-button,
    .header-actions .view-switch-button { flex: 0 0 auto; margin: 0 !important; }
    .auth-navigation .theme-toggle { margin-left: 0 !important; width: auto !important; flex: 0 0 auto; }
    .auth-login-card { grid-template-columns: 1fr; }
    .auth-login-intro { min-height: 430px; border-right: 0; border-bottom: 1px solid var(--ui-line); }
    .auth-system-status { margin-top: 50px; }
    .page-head,
    .workspace-head { flex-direction: column; }
    .profile-card { min-width: 0 !important; width: 100%; }
    .panel-overview-grid,
    .service-grid { grid-template-columns: 1fr !important; }
    .premium-app .page,
    .dashboard-page { padding-inline: 16px !important; }
    .premium-app .app-header,
    .dashboard-page .app-header { margin-inline: -16px !important; }
    .projects-app .app-header { margin-inline: 0 !important; }
    .workspace-layout,
    .workenv-app .workspace-layout,
    .commercial-app .app-shell,
    .projects-app .workspace-layout { grid-template-columns: 1fr !important; }
    .projects-app .workspace-layout { height: auto !important; }
    .sidebar,
    .side-nav { position: static !important; }
    .project-sidebar { border-width: 0 0 1px !important; max-height: 420px; }
    .task-workspace { padding: 18px !important; }
    .kid-container-app .object-info,
    .commercial-app .object-info { grid-template-columns: 1fr; gap: 16px; }
    .hierarchy-object > .hierarchy-label { padding: 0 0 12px; flex-direction: row; align-items: center; justify-content: flex-start; border-right: 0; border-bottom: 1px solid var(--ui-line-strong); }
    .kid-container-app .sections,
    .commercial-app .sections { padding-left: 20px; }
    .kid-container-app .sections::before,
    .commercial-app .sections::before { left: 0; }
    .kid-container-app .hierarchy-section::before,
    .commercial-app .hierarchy-section::before { left: -20px; width: 20px; }
    .kid-container-app .subsections,
    .commercial-app .subsections { padding-right: 10px; padding-left: 28px; }
    .kid-container-app .subsections::before,
    .commercial-app .subsections::before { left: 12px; }
    .kid-container-app .hierarchy-subsection::before,
    .commercial-app .hierarchy-subsection::before { left: -16px; width: 16px; }
    .kid-container-app .subsection-left,
    .commercial-app .subsection-left { grid-template-columns: minmax(0, 1fr) auto; }
    .kid-container-app .subsection-left .hierarchy-label,
    .commercial-app .subsection-left .hierarchy-label { grid-column: 1 / -1; }
    .edit-mode-toolbar { width: 100%; align-items: stretch !important; flex-direction: column; }
    .edit-mode-status { max-width: none; text-align: left; }
    .edit-mode-banner { align-items: flex-start; flex-direction: column; }
    .structure-editor-head,
    .structure-editor-grid { grid-template-columns: 1fr; }
    .structure-editor-grid.is-single { grid-template-columns: 1fr; }
    .kid-container-app .subsection-create,
    .commercial-app .subsection-create,
    .commercial-app .supplier-create,
    .kid-container-app .subsection-toolbar,
    .commercial-app .subsection-toolbar { grid-template-columns: 1fr !important; margin-inline: 10px !important; }
    .inline-addition-head,
    .kid-container-app .subsection-create > .button,
    .commercial-app .subsection-create > .button,
    .commercial-app .supplier-create > .button,
    .kid-container-app .subsection-toolbar > .button,
    .commercial-app .subsection-toolbar > .button,
    .subsection-toolbar-note { grid-column: 1; }
    .kid-container-app .object-showcase,
    .commercial-app .object-showcase { min-height: 0; grid-template-columns: 1fr; }
    .object-showcase-index { min-height: 92px; padding: 18px 20px; flex-direction: row; align-items: center; gap: 20px; }
    .object-showcase-index > strong { margin-left: auto; text-align: right; }
    .object-showcase-index > small { writing-mode: horizontal-tb; }
    .object-showcase-content { padding: 28px 22px; }
    .object-showcase-visual { min-height: 190px; border-top: 1px solid var(--ui-line-strong); border-left: 0; }
    .object-showcase-visual::before { width: 150px; }
    .object-showcase-stats,
    .kid-container-app .object-showcase-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .object-showcase-stats > div { border-bottom: 1px solid var(--ui-line); }
}

@media (max-width: 520px) {
    .auth-logo img,
    .app-brand img,
    .brand-logo img { height: 34px !important; }
    .auth-login-intro { padding: 45px 20px; min-height: 400px; }
    .auth-login-intro h1 { font-size: 10.2vw; }
    .auth-form { padding: 45px 20px; }
    .auth-title { font-size: 30px !important; }
    .service-card { min-height: 245px !important; }
    .my-day-summary { grid-template-columns: repeat(2, 1fr) !important; }
    .my-day-metric { border-bottom: 1px solid var(--ui-line) !important; }
    .projects-app .app-header { padding-inline: 14px !important; }
    .view-switcher { min-width: max-content; }
    .task-toolbar { grid-template-columns: 1fr !important; }
    .kanban-column { min-width: 86vw !important; }
    .object-showcase-visual { display: none; }
    .kid-container-app .object-showcase .object-title,
    .commercial-app .object-showcase .object-title { font-size: 30px !important; }
    .object-showcase-stats,
    .kid-container-app .object-showcase-stats { grid-template-columns: 1fr; }
    .object-showcase-stats > div { min-height: 62px; border-right: 0; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
