/*
 * Enterprise administration theme.
 */

:root {
    --zy-navy: #123B3A;
    --zy-brand-800: #17524E;
    --zy-primary: #167C6C;
    --zy-primary-hover: #0F6659;
    --zy-teal: #16866B;
    --zy-teal-hover: #0F6E59;
    --zy-warm: #E99A58;
    --zy-danger: #E8565B;
    --zy-tech: #3E6D69;
    --zy-canvas: #F3F7F5;
    --zy-surface: #FFFFFF;
    --zy-ink: #18332F;
    --zy-muted: #687974;
    --zy-border: #DFE9E5;
    --zy-border-strong: #C7D8D2;
    --zy-soft-primary: #E8F5F1;
    --zy-soft-teal: #E7F6F1;
    --zy-soft-tech: #EDF4F2;
    --zy-soft-warning: #FFF4E8;
    --zy-soft-danger: #FFF0F0;
    --zy-shadow-sm: 0 3px 10px rgba(24, 74, 66, 0.055);
    --zy-shadow-md: 0 18px 42px rgba(24, 74, 66, 0.12);
    --zy-focus-ring: rgba(22, 124, 108, 0.18);

    /* Original enterprise palette retained as compatibility references. */
    --zy-legacy-navy: #10232B;
    --zy-legacy-brand: #18343D;
    --zy-legacy-primary: #0F6B66;
    --zy-legacy-primary-hover: #147A73;
    --zy-legacy-tech: #315C8C;
    --zy-legacy-canvas: #F4F7F7;
    --zy-legacy-ink: #1D2A32;
    --zy-legacy-border: #D9E2E3;
}

.zy-admin-shell,
.zy-admin-page,
.zy-admin-login {
    color: var(--zy-ink);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

.zy-admin-shell a,
.zy-admin-page a,
.zy-admin-login a {
    color: var(--zy-primary);
}

.zy-admin-shell a:hover,
.zy-admin-page a:hover,
.zy-admin-login a:hover {
    color: var(--zy-primary-hover);
    text-decoration: none;
}

.zy-admin-shell a:focus-visible,
.zy-admin-page a:focus-visible,
.zy-admin-login a:focus-visible,
.zy-admin-shell button:focus-visible,
.zy-admin-page button:focus-visible,
.zy-admin-login button:focus-visible,
.zy-admin-shell input:focus-visible,
.zy-admin-page input:focus-visible,
.zy-admin-login input:focus-visible,
.zy-admin-page select:focus-visible,
.zy-admin-page textarea:focus-visible {
    outline: 2px solid var(--zy-primary);
    outline-offset: 2px;
}

/* Administration shell */

.zy-admin-shell {
    background: var(--zy-canvas);
}

.zy-admin-shell .wrapper,
.zy-admin-shell .content-wrapper,
.zy-admin-shell .right-side {
    background: var(--zy-canvas);
}

.zy-admin-shell .main-header {
    box-shadow: 0 1px 0 rgba(16, 35, 43, 0.08);
}

.zy-admin-shell .main-header .logo {
    align-items: center;
    background: var(--zy-navy);
    border-right: 1px solid rgba(255, 255, 255, 0.06);
    color: #FFFFFF;
    display: flex;
    font-weight: 600;
    letter-spacing: 0.02em;
    padding: 0 18px;
}

.zy-admin-shell .main-header .logo:hover,
.zy-admin-shell .main-header .logo:focus {
    background: var(--zy-brand-800);
    color: #FFFFFF;
}

.zy-admin-shell .main-header .logo .logo-lg {
    align-items: center;
    display: flex;
    font-size: 16px;
    gap: 10px;
}

.zy-admin-shell .main-header .logo .logo-lg::before,
.zy-admin-shell .main-header .logo .logo-mini::before {
    align-items: center;
    background: linear-gradient(145deg, rgba(255,255,255,.22), rgba(255,255,255,.08));
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 9px;
    color: #FFFFFF;
    content: "KBT";
    display: inline-flex;
    font-size: 9px;
    font-weight: 700;
    height: 28px;
    justify-content: center;
    letter-spacing: 0.03em;
    width: 32px;
}

.zy-admin-shell .main-header .logo .logo-mini {
    align-items: center;
    display: none;
    font-size: 0;
    justify-content: center;
    width: 100%;
}

.zy-admin-shell .main-header .navbar,
.zy-admin-shell.skin-black-blue .main-header .navbar,
.zy-admin-shell[class*="skin-"] .main-header .navbar {
    background: #FFFFFF;
    color: var(--zy-ink);
}

.zy-admin-shell #firstnav {
    border-bottom: 1px solid var(--zy-border);
    box-shadow: none;
}

.zy-admin-shell #firstnav .sidebar-toggle,
.zy-admin-shell .main-header .navbar .nav > li > a,
.zy-admin-shell .main-header .navbar .navbar-nav > li > a {
    color: #566971;
}

.zy-admin-shell #firstnav .sidebar-toggle:hover,
.zy-admin-shell #firstnav .sidebar-toggle:focus,
.zy-admin-shell .main-header .navbar .nav > li > a:hover,
.zy-admin-shell .main-header .navbar .nav > li > a:focus,
.zy-admin-shell .main-header .navbar .nav > .open > a,
.zy-admin-shell .main-header .navbar .nav > .active > a {
    background: var(--zy-soft-primary);
    color: var(--zy-primary);
}

.zy-admin-shell .main-header .nav-addtabs > li > a {
    border-right: 1px solid #EEF2F2;
    color: #66777F;
    font-weight: 500;
}

.zy-admin-shell .main-header .nav-addtabs > li.active > a,
.zy-admin-shell .main-header .nav-addtabs > li.active > a:hover,
.zy-admin-shell .main-header .nav-addtabs > li.active > a:focus {
    background: var(--zy-canvas);
    box-shadow: inset 0 -2px 0 var(--zy-primary);
    color: var(--zy-ink);
}

.zy-admin-shell .main-header .navbar-custom-menu .dropdown-menu {
    border: 1px solid var(--zy-border);
    border-radius: 7px;
    box-shadow: var(--zy-shadow-md);
    overflow: hidden;
}

.zy-admin-shell .main-header .navbar-custom-menu .dropdown-menu > li > a {
    color: var(--zy-ink);
}

.zy-admin-shell .main-header .navbar-custom-menu .dropdown-menu > li > a:hover,
.zy-admin-shell .main-header .navbar-custom-menu .dropdown-menu > li > a:focus {
    background: var(--zy-soft-primary);
    color: var(--zy-primary);
}

.zy-admin-shell .main-header li.user-header,
.zy-admin-shell[class*="skin-"] .main-header li.user-header {
    background: var(--zy-brand-800);
}

.zy-admin-shell .main-header .user-menu .user-image {
    border: 1px solid var(--zy-border);
}

.zy-admin-shell .main-header .user-menu .user-footer {
    background: #F7F9F9;
    border-top: 1px solid var(--zy-border);
}

.zy-admin-shell .main-sidebar,
.zy-admin-shell .left-side,
.zy-admin-shell[class*="skin-"] .main-sidebar,
.zy-admin-shell[class*="skin-"] .left-side {
    background: var(--zy-navy);
}

.zy-admin-shell .sidebar .user-panel {
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    padding: 18px 14px;
}

.zy-admin-shell .sidebar .user-panel > .image img {
    border: 2px solid rgba(255, 255, 255, 0.15);
    height: 42px;
    width: 42px;
}

.zy-admin-shell .sidebar .user-panel > .info {
    color: #E8EFF0;
    padding-left: 61px;
    padding-top: 5px;
}

.zy-admin-shell .sidebar .user-panel > .info > p {
    color: #FFFFFF;
    font-weight: 600;
    margin-bottom: 4px;
}

.zy-admin-shell .sidebar .user-panel .text-success {
    color: #6FC7AE;
}

.zy-admin-shell .main-sidebar .sidebar-form {
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 6px;
    margin: 12px 12px 16px;
}

.zy-admin-shell .main-sidebar .sidebar-form input[type="text"],
.zy-admin-shell .main-sidebar .sidebar-form .btn {
    background: rgba(255, 255, 255, 0.07);
    color: #D7E1E3;
}

.zy-admin-shell .main-sidebar .sidebar-form input[type="text"]::placeholder {
    color: #8EA1A8;
}

.zy-admin-shell .main-sidebar .sidebar-form input[type="text"]:focus,
.zy-admin-shell .main-sidebar .sidebar-form input[type="text"]:focus + .input-group-btn .btn {
    background: rgba(255, 255, 255, 0.11);
    color: #FFFFFF;
}

.zy-admin-shell .main-sidebar .sidebar-form .menuresult {
    border: 1px solid var(--zy-border);
    border-radius: 6px;
    box-shadow: var(--zy-shadow-md);
}

.zy-admin-shell .main-sidebar .sidebar-form .menuresult a {
    background: #FFFFFF;
    border-color: #EDF1F1;
    color: var(--zy-ink);
}

.zy-admin-shell .main-sidebar .sidebar-form .menuresult a:hover {
    background: var(--zy-soft-primary);
    color: var(--zy-primary);
}

.zy-admin-shell .sidebar-menu > li > a,
.zy-admin-shell .sidebar-menu .treeview-menu > li > a {
    color: #AFC0C5;
    font-weight: 500;
}

.zy-admin-shell .sidebar-menu > li > a {
    border-left: 3px solid transparent;
    padding-bottom: 12px;
    padding-top: 12px;
}

.zy-admin-shell .sidebar-menu > li > a > .fa,
.zy-admin-shell .sidebar-menu .treeview-menu > li > a > .fa {
    color: #81969D;
}

.zy-admin-shell .sidebar-menu > li:hover > a,
.zy-admin-shell .sidebar-menu > li.active > a,
.zy-admin-shell .sidebar-menu > li.treeview-open > a,
.zy-admin-shell[class*="skin-"] .sidebar-menu > li:hover > a,
.zy-admin-shell[class*="skin-"] .sidebar-menu > li.active > a,
.zy-admin-shell[class*="skin-"] .sidebar-menu > li.treeview-open > a {
    background: linear-gradient(90deg, var(--zy-brand-800), rgba(23,82,78,.76));
    border-left-color: var(--zy-primary-hover);
    color: #FFFFFF;
}

.zy-admin-shell .sidebar-menu > li:hover > a > .fa,
.zy-admin-shell .sidebar-menu > li.active > a > .fa,
.zy-admin-shell .sidebar-menu > li.treeview-open > a > .fa {
    color: #A9DBD3;
}

.zy-admin-shell .sidebar-menu .treeview-menu,
.zy-admin-shell[class*="skin-"] .sidebar-menu .treeview-menu {
    background: #0C1B21;
}

.zy-admin-shell .sidebar-menu .treeview-menu > li > a {
    border-left: 3px solid transparent;
    padding-bottom: 10px;
    padding-top: 10px;
}

.zy-admin-shell .sidebar-menu .treeview-menu > li:hover > a,
.zy-admin-shell .sidebar-menu .treeview-menu > li.active > a,
.zy-admin-shell[class*="skin-"] .sidebar-menu .treeview-menu > li:hover > a,
.zy-admin-shell[class*="skin-"] .sidebar-menu .treeview-menu > li.active > a {
    background: rgba(20, 122, 115, 0.25);
    border-left-color: var(--zy-primary-hover);
    color: #FFFFFF;
}

.zy-admin-shell .sidebar-menu .badge {
    background: rgba(255, 255, 255, 0.12);
    color: #D7E1E3;
}

.zy-admin-shell .zy-admin-workspace iframe {
    background: var(--zy-canvas);
    border: 0;
    display: block;
    height: 100%;
    width: 100%;
}

.zy-admin-shell .control-sidebar-dark,
.zy-admin-shell .control-sidebar-dark + .control-sidebar-bg {
    background: var(--zy-navy);
}

.zy-admin-shell .control-sidebar-dark .control-sidebar-tabs > li > a,
.zy-admin-shell .control-sidebar-dark .control-sidebar-heading,
.zy-admin-shell .control-sidebar-dark .control-sidebar-subheading {
    color: #D7E1E3;
}

.zy-admin-shell .control-sidebar-dark .control-sidebar-tabs > li.active > a,
.zy-admin-shell .control-sidebar-dark .control-sidebar-tabs > li.active > a:hover,
.zy-admin-shell .control-sidebar-dark .control-sidebar-tabs > li.active > a:focus {
    background: var(--zy-brand-800);
    color: #FFFFFF;
}

/* Inner administration pages */

.zy-admin-page {
    background: var(--zy-canvas);
}

.zy-admin-page.is-dialog {
    background: #FFFFFF;
}

.zy-admin-page .zy-admin-content {
    padding: 18px;
}

.zy-admin-page.is-dialog .zy-admin-content {
    padding: 20px;
}

.zy-admin-page #ribbon {
    background: #FFFFFF;
    border-bottom: 1px solid var(--zy-border);
    box-shadow: none;
}

.zy-admin-page #ribbon .breadcrumb {
    background: transparent;
}

.zy-admin-page .panel,
.zy-admin-page .box,
.zy-admin-page .well,
.zy-admin-page .card {
    border-color: var(--zy-border);
    border-radius: 12px;
    box-shadow: var(--zy-shadow-sm);
}

.zy-admin-page .panel {
    background: #FFFFFF;
}

.zy-admin-page .panel-intro {
    border: 1px solid var(--zy-border);
    overflow: hidden;
}

.zy-admin-page .panel-intro > .panel-heading,
.zy-admin-page .panel-default > .panel-heading {
    background: #FFFFFF;
    border-color: var(--zy-border);
    color: var(--zy-ink);
}

.zy-admin-page .panel-intro > .panel-heading {
    padding: 16px 18px 12px;
}

.zy-admin-page .panel-intro > .panel-heading .panel-title,
.zy-admin-page .panel-heading > strong {
    color: var(--zy-ink);
    font-size: 15px;
    font-weight: 600;
}

.zy-admin-page .panel-intro > .panel-heading .panel-lead em {
    color: var(--zy-ink);
}

.zy-admin-page .panel-intro > .panel-heading .panel-lead,
.zy-admin-page .panel-intro > .panel-heading .panel-lead p {
    color: var(--zy-muted);
}

.zy-admin-page .panel-intro > .panel-heading .nav-tabs > li > a {
    background: #F0F4F4;
    border-color: var(--zy-border);
    color: var(--zy-muted);
}

.zy-admin-page .panel-intro > .panel-heading .nav-tabs > li.active > a,
.zy-admin-page .panel-intro > .panel-heading .nav-tabs > li.active > a:hover,
.zy-admin-page .panel-intro > .panel-heading .nav-tabs > li.active > a:focus {
    background: #FFFFFF;
    border-top-color: var(--zy-primary);
    color: var(--zy-primary);
}

.zy-admin-page .panel-body {
    padding: 18px;
}

.zy-admin-page .alert {
    border: 1px solid transparent;
    border-left-width: 3px;
    border-radius: 6px;
    box-shadow: none;
    line-height: 1.65;
    padding: 11px 14px;
}

.zy-admin-page .alert-info,
.zy-admin-page .alert-info-light {
    background: var(--zy-soft-tech);
    border-color: #C8D7E7;
    border-left-color: var(--zy-tech);
    color: #34526E;
}

.zy-admin-page .alert-success,
.zy-admin-page .alert-success-light {
    background: var(--zy-soft-primary);
    border-color: #C8E1DC;
    border-left-color: var(--zy-primary);
    color: #285F5A;
}

.zy-admin-page .alert-warning,
.zy-admin-page .alert-warning-light {
    background: var(--zy-soft-warning);
    border-color: #EEDDB8;
    border-left-color: #A66D25;
    color: #705126;
}

.zy-admin-page .alert-danger,
.zy-admin-page .alert-danger-light {
    background: var(--zy-soft-danger);
    border-color: #E9CACA;
    border-left-color: #A84B47;
    color: #7B3F3C;
}

.zy-admin-page .toolbar,
.zy-admin-page .fixed-table-toolbar {
    color: var(--zy-muted);
}

.zy-admin-page .fixed-table-toolbar {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: space-between;
    margin-bottom: 10px;
}

.zy-admin-page .fixed-table-toolbar::before,
.zy-admin-page .fixed-table-toolbar::after {
    display: none;
}

.zy-admin-page .fixed-table-toolbar .bs-bars,
.zy-admin-page .fixed-table-toolbar .columns,
.zy-admin-page .fixed-table-toolbar .search{margin:0;max-width:100%;min-width:0;}
.zy-admin-page .fixed-table-toolbar .bs-bars .toolbar{display:flex;flex-wrap:wrap;gap:6px;}

.zy-admin-page .fixed-table-toolbar .search input,
.zy-admin-page .fixed-table-toolbar .columns .btn,
.zy-admin-page .fixed-table-toolbar .btn-group .btn {
    min-height: 36px;
}

.zy-admin-page .fixed-table-toolbar .search input {
    min-width: 220px;
}

.zy-admin-page .bootstrap-table {
    color: var(--zy-ink);
}

.zy-admin-page .bootstrap-table .fixed-table-container {
    border: 1px solid var(--zy-border) !important;
    border-radius: 7px;
}

.zy-admin-page .bootstrap-table .fixed-table-header,
.zy-admin-page .bootstrap-table .fixed-table-container thead th,
.zy-admin-page .bootstrap-table .fixed-table-container thead td,
.zy-admin-page .table > thead > tr > th {
    background: #EDF3F3;
    border-color: var(--zy-border);
    color: #34464E;
    font-weight: 600;
    vertical-align: middle;
}

.zy-admin-page .bootstrap-table .fixed-table-container thead th .th-inner {
    line-height: 1.45;
    padding: 10px 12px;
}

.zy-admin-page .bootstrap-table .table:not(.table-condensed) > tbody > tr > td,
.zy-admin-page .bootstrap-table .table:not(.table-condensed) > tbody > tr > th,
.zy-admin-page .table > tbody > tr > td,
.zy-admin-page .table > tbody > tr > th {
    border-color: #E5EBEC;
    vertical-align: middle;
}

.zy-admin-page .bootstrap-table .table:not(.table-condensed) > tbody > tr > td {
    height: 45px;
    padding: 9px 12px;
}

.zy-admin-page .table-striped > tbody > tr:nth-of-type(odd) {
    background: #FAFCFC;
}

.zy-admin-page .table-hover > tbody > tr:hover,
.zy-admin-page .bootstrap-table .fixed-table-container tbody .selected td {
    background: #EEF7F5;
}

.zy-admin-page .bootstrap-table .fixed-table-loading {
    background: rgba(255, 255, 255, 0.94);
    color: var(--zy-muted);
}

.zy-admin-page .bootstrap-table .fixed-table-pagination,
.zy-admin-page .bootstrap-table .fixed-table-pagination .pagination-detail {
    color: var(--zy-muted);
}

.zy-admin-page .bootstrap-table .fixed-table-body,
.zy-admin-page .table-responsive{-webkit-overflow-scrolling:touch;overflow-x:auto;}
.zy-admin-page .bootstrap-table .fixed-table-pagination{align-items:center;display:flex;flex-wrap:wrap;gap:8px 14px;justify-content:space-between;}
.zy-admin-page .bootstrap-table .fixed-table-pagination::before,
.zy-admin-page .bootstrap-table .fixed-table-pagination::after{display:none;}

.zy-admin-page .pagination > li > a,
.zy-admin-page .pagination > li > span {
    border-color: var(--zy-border);
    color: var(--zy-muted);
}

.zy-admin-page .pagination > .active > a,
.zy-admin-page .pagination > .active > span,
.zy-admin-page .pagination > .active > a:hover,
.zy-admin-page .pagination > .active > span:hover {
    background: var(--zy-primary);
    border-color: var(--zy-primary);
    color: #FFFFFF;
}

.zy-admin-page .fixed-columns,
.zy-admin-page .fixed-columns-right {
    background: #FFFFFF;
    box-shadow: -4px 0 12px rgba(16, 35, 43, 0.06);
}

.zy-admin-page .panel-body > .table-bordered > tbody > tr > th {
    background: #F3F7F7;
    color: #42545C;
    font-weight: 600;
    min-width: 120px;
}

.zy-admin-page .panel-body > .table-bordered > tbody > tr > td {
    color: var(--zy-ink);
}

.zy-admin-page pre,
.zy-admin-page code {
    background: #F3F6F6;
    border-color: var(--zy-border);
    color: #3B5260;
}

.zy-admin-page .btn {
    border-radius: 5px;
    box-shadow: none;
    font-weight: 500;
    transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, box-shadow 160ms ease;
}

.zy-admin-page .btn:hover,
.zy-admin-page .btn:focus {
    box-shadow: 0 3px 10px rgba(16, 35, 43, 0.09);
}

.zy-admin-page .btn-primary,
.zy-admin-page .btn-success,
.zy-admin-shell .btn-primary {
    background: var(--zy-primary);
    border-color: var(--zy-primary);
    color: #FFFFFF;
}

.zy-admin-page .btn-primary:hover,
.zy-admin-page .btn-primary:focus,
.zy-admin-page .btn-primary:active,
.zy-admin-page .btn-success:hover,
.zy-admin-page .btn-success:focus,
.zy-admin-page .btn-success:active,
.zy-admin-shell .btn-primary:hover,
.zy-admin-shell .btn-primary:focus {
    background: var(--zy-primary-hover);
    border-color: var(--zy-primary-hover);
    color: #FFFFFF;
}

.zy-admin-page .btn-info {
    background: var(--zy-tech);
    border-color: var(--zy-tech);
    color: #FFFFFF;
}

.zy-admin-page .btn-info:hover,
.zy-admin-page .btn-info:focus,
.zy-admin-page .btn-info:active {
    background: #284D77;
    border-color: #284D77;
    color: #FFFFFF;
}

.zy-admin-page .btn-warning {
    background: #8C5B1F;
    border-color: #8C5B1F;
    color: #FFFFFF;
}

.zy-admin-page .btn-warning:hover,
.zy-admin-page .btn-warning:focus,
.zy-admin-page .btn-warning:active {
    background: #704817;
    border-color: #704817;
    color: #FFFFFF;
}

.zy-admin-page .btn-danger {
    background: #A84B47;
    border-color: #A84B47;
    color: #FFFFFF;
}

.zy-admin-page .btn-danger:hover,
.zy-admin-page .btn-danger:focus,
.zy-admin-page .btn-danger:active {
    background: #8D3F3B;
    border-color: #8D3F3B;
    color: #FFFFFF;
}

.zy-admin-page .btn-default,
.zy-admin-shell .btn-default {
    background: #FFFFFF;
    border-color: var(--zy-border-strong);
    color: #42545C;
}

.zy-admin-page .btn-default:hover,
.zy-admin-page .btn-default:focus,
.zy-admin-page .btn-default:active,
.zy-admin-shell .btn-default:hover,
.zy-admin-shell .btn-default:focus {
    background: #F1F5F5;
    border-color: #AEBEC1;
    color: var(--zy-ink);
}

.zy-admin-page .btn.disabled,
.zy-admin-page .btn[disabled],
.zy-admin-page fieldset[disabled] .btn {
    box-shadow: none;
    opacity: 0.56;
}

.zy-admin-page .label,
.zy-admin-page .badge {
    border-radius: 999px;
    font-weight: 600;
    letter-spacing: 0.01em;
    padding: 0.3em 0.65em;
}

.zy-admin-page .label-primary,
.zy-admin-page .badge-primary {
    background: var(--zy-primary);
}

.zy-admin-page .label-info,
.zy-admin-page .badge-info {
    background: var(--zy-tech);
}

.zy-admin-page .label-success,
.zy-admin-page .badge-success {
    background: #3B806D;
}

.zy-admin-page .label-warning,
.zy-admin-page .badge-warning {
    background: #8C5B1F;
}

.zy-admin-page .label-danger,
.zy-admin-page .badge-danger {
    background: #A84B47;
}

.zy-admin-page .form-horizontal .control-label,
.zy-admin-page form[role="form"] .control-label {
    color: #3A4B53;
    font-weight: 600;
}

.zy-admin-page .form-control,
.zy-admin-page .bootstrap-select > .dropdown-toggle,
.zy-admin-page .selectpage,
.zy-admin-page .input-group-addon {
    border-color: var(--zy-border-strong);
    border-radius: 5px;
    box-shadow: none;
    color: var(--zy-ink);
    min-height: 36px;
}

.zy-admin-page .input-group .form-control:first-child,
.zy-admin-page .input-group-addon:first-child {
    border-bottom-right-radius: 0;
    border-top-right-radius: 0;
}

.zy-admin-page .input-group .form-control:last-child,
.zy-admin-page .input-group-addon:last-child {
    border-bottom-left-radius: 0;
    border-top-left-radius: 0;
}

.zy-admin-page .input-group-addon {
    align-items: center;
    background: #F2F6F6;
    color: #62747C;
}

.zy-admin-page .form-control:focus,
.zy-admin-page .bootstrap-select.open > .dropdown-toggle,
.zy-admin-page .sp_container .sp_element_box:focus-within {
    border-color: var(--zy-primary);
    box-shadow: 0 0 0 3px var(--zy-focus-ring);
}

.zy-admin-page .form-control[disabled],
.zy-admin-page .form-control[readonly],
.zy-admin-page fieldset[disabled] .form-control {
    background: #EFF3F3;
    color: #6F7F86;
}

.zy-admin-page .form-control::placeholder {
    color: #63747C;
}

.zy-admin-page textarea.form-control {
    line-height: 1.65;
    min-height: 96px;
    resize: vertical;
}

.zy-admin-page .form-group {
    margin-bottom: 18px;
}

.zy-admin-page .help-block,
.zy-admin-page .text-muted {
    color: var(--zy-muted);
}

.zy-admin-page .well {
    background: #F7FAFA;
    border: 1px solid var(--zy-border);
}

.zy-admin-page .dropdown-menu {
    border-color: var(--zy-border);
    border-radius: 6px;
    box-shadow: var(--zy-shadow-md);
}

.zy-admin-page .dropdown-menu > li > a {
    color: var(--zy-ink);
    padding: 7px 13px;
}

.zy-admin-page .dropdown-menu > li > a:hover,
.zy-admin-page .dropdown-menu > li > a:focus,
.zy-admin-page .dropdown-menu > .active > a,
.zy-admin-page .dropdown-menu > .active > a:hover {
    background: var(--zy-soft-primary);
    color: var(--zy-primary);
}

.zy-admin-page .bootstrap-select.btn-group .dropdown-menu li a span.text {
    color: inherit;
}

.zy-admin-page .n-bootstrap .n-invalid,
.zy-admin-page .n-bootstrap .n-invalid:focus {
    border-color: #A84B47;
    box-shadow: 0 0 0 3px rgba(168, 75, 71, 0.12);
}

.zy-admin-page .n-bootstrap .n-error {
    color: #97433F;
}

/* Layer dialogs are rendered in the shell document; their form body is an iframe. */

.zy-admin-shell .layui-layer-fast,
.zy-admin-page .layui-layer-fast {
    border: 1px solid rgba(16, 35, 43, 0.12) !important;
    border-radius: 9px !important;
    box-shadow: 0 24px 70px rgba(16, 35, 43, 0.2) !important;
    max-width: calc(100vw - 24px);
}

.zy-admin-shell .layui-layer-fast .layui-layer-title,
.zy-admin-page .layui-layer-fast .layui-layer-title {
    background: var(--zy-brand-800) !important;
    color: #FFFFFF !important;
    font-size: 15px;
    font-weight: 600;
    height: 48px;
    line-height: 48px;
}

.zy-admin-shell .layui-layer-fast .layui-layer-title ~ .layui-layer-setwin,
.zy-admin-page .layui-layer-fast .layui-layer-title ~ .layui-layer-setwin {
    height: 48px;
}

.zy-admin-shell .layui-layer-fast .layui-layer-title ~ .layui-layer-setwin > a,
.zy-admin-page .layui-layer-fast .layui-layer-title ~ .layui-layer-setwin > a {
    height: 48px;
    line-height: 48px;
}

.zy-admin-shell .layui-layer-fast .layui-layer-btn,
.zy-admin-shell .layui-layer-fast .layui-layer-footer,
.zy-admin-page .layui-layer-fast .layui-layer-btn,
.zy-admin-page .layui-layer-fast .layui-layer-footer {
    background: #F4F7F7;
    border-top: 1px solid var(--zy-border);
}

.zy-admin-shell .layui-layer-fast .layui-layer-btn a,
.zy-admin-page .layui-layer-fast .layui-layer-btn a {
    background: #77878D;
    border: 0;
    border-radius: 5px;
}

.zy-admin-shell .layui-layer-fast .layui-layer-btn .layui-layer-btn0,
.zy-admin-page .layui-layer-fast .layui-layer-btn .layui-layer-btn0 {
    background: var(--zy-primary);
}

.zy-admin-shell .modal-content,
.zy-admin-page .modal-content {
    border: 1px solid var(--zy-border);
    border-radius: 9px;
    box-shadow: 0 24px 70px rgba(16, 35, 43, 0.2);
}

.zy-admin-shell .modal-dialog,
.zy-admin-page .modal-dialog{max-width:calc(100vw - 24px);}

.zy-admin-shell .modal-header,
.zy-admin-page .modal-header {
    border-bottom-color: var(--zy-border);
}

.zy-admin-shell .modal-footer,
.zy-admin-page .modal-footer {
    background: #F4F7F7;
    border-top-color: var(--zy-border);
}

/* Core FastAdmin dashboard, retained but brought into the product palette. */

.zy-admin-page .sm-st,
.zy-admin-page .stat-elem,
.zy-admin-page .stat-info {
    background: #FFFFFF;
    border: 1px solid var(--zy-border);
    border-radius: 8px;
    box-shadow: var(--zy-shadow-sm);
}

.zy-admin-page .sm-st-icon {
    border-radius: 8px;
}

.zy-admin-page .sm-st-icon.st-red,
.zy-admin-page .sm-st-icon.orange {
    background: #7A5A44 !important;
}

.zy-admin-page .sm-st-icon.st-blue,
.zy-admin-page .sm-st-icon.pink {
    background: var(--zy-tech) !important;
}

.zy-admin-page .sm-st-icon.st-green,
.zy-admin-page .sm-st-icon.green,
.zy-admin-page .sm-st-icon.tar {
    background: var(--zy-primary) !important;
}

.zy-admin-page .sm-st-info span,
.zy-admin-page .stat .value {
    color: var(--zy-ink);
}

.zy-admin-page .stats .stat-icon {
    color: var(--zy-primary);
}

.zy-admin-page #statistics .panel.bg-teal-gradient,
.zy-admin-page #statistics .panel.bg-green-gradient {
    background: var(--zy-primary) !important;
}

.zy-admin-page #statistics .panel.bg-purple-gradient {
    background: var(--zy-tech) !important;
}

.zy-admin-page #statistics .panel .label-primary {
    background: rgba(255, 255, 255, 0.17);
}

/* Property operations dashboard */

.zy-admin-page .zy-property-dashboard {
    border: 0;
    box-shadow: none;
    overflow: visible;
}

.zy-admin-page .zy-property-dashboard > .panel-heading {
    background: linear-gradient(125deg, var(--zy-navy), var(--zy-brand-800));
    border: 0;
    border-radius: 10px;
    box-shadow: var(--zy-shadow-md);
    color: #FFFFFF;
    padding: 24px 26px;
}

.zy-admin-page .zy-property-dashboard > .panel-body {
    background: transparent;
    padding: 18px 0 0;
}

.zy-admin-page .zy-dashboard-heading {
    align-items: center;
    display: flex;
    gap: 24px;
    justify-content: space-between;
}

.zy-admin-page .zy-dashboard-heading h2 {
    color: #FFFFFF;
    font-size: 23px;
    font-weight: 600;
    letter-spacing: 0.01em;
    margin: 5px 0 8px;
}

.zy-admin-page .zy-dashboard-heading p {
    color: #BFD0D4;
    margin: 0;
}

.zy-admin-page .zy-dashboard-kicker {
    color: #83C7BE;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.14em;
}

.zy-admin-page .zy-dashboard-live {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.13);
    border-radius: 999px;
    color: #D7E9E7;
    flex: 0 0 auto;
    font-size: 12px;
    padding: 7px 12px;
}

.zy-admin-page .zy-dashboard-live .fa {
    color: #70C5B4;
    font-size: 8px;
    margin-right: 5px;
}

.zy-admin-page .zy-dashboard-notice {
    align-items: center;
    display: flex;
    gap: 8px;
    margin-bottom: 18px;
}

.zy-admin-page .zy-stat-grid {
    display: flex;
    flex-wrap: wrap;
}

.zy-admin-page .zy-stat-col {
    display: flex;
    margin-bottom: 18px;
}

/* Commercial product layer: clearer hierarchy, softer surfaces and useful motion. */

.zy-admin-shell .main-header .logo .logo-lg::before,
.zy-admin-shell .main-header .logo .logo-mini::before {
    background: linear-gradient(135deg, var(--zy-primary), var(--zy-teal));
    border: 0;
    box-shadow: 0 6px 16px rgba(25, 118, 243, 0.28);
}

.zy-admin-shell .main-header .navbar,
.zy-admin-shell.skin-black-blue .main-header .navbar,
.zy-admin-shell[class*="skin-"] .main-header .navbar {
    box-shadow: 0 3px 14px rgba(24, 34, 48, 0.04);
}

.zy-admin-shell .sidebar-menu > li:hover > a,
.zy-admin-shell .sidebar-menu > li.active > a,
.zy-admin-shell .sidebar-menu > li.treeview-open > a,
.zy-admin-shell[class*="skin-"] .sidebar-menu > li:hover > a,
.zy-admin-shell[class*="skin-"] .sidebar-menu > li.active > a,
.zy-admin-shell[class*="skin-"] .sidebar-menu > li.treeview-open > a {
    background: linear-gradient(90deg, rgba(25, 118, 243, 0.2), rgba(18, 168, 131, 0.1));
    border-left-color: #4D9BFF;
}

.zy-admin-shell .sidebar-menu .treeview-menu > li:hover > a,
.zy-admin-shell .sidebar-menu .treeview-menu > li.active > a,
.zy-admin-shell[class*="skin-"] .sidebar-menu .treeview-menu > li:hover > a,
.zy-admin-shell[class*="skin-"] .sidebar-menu .treeview-menu > li.active > a {
    background: rgba(25, 118, 243, 0.16);
    border-left-color: var(--zy-teal);
}

.zy-admin-page .panel,
.zy-admin-page .box,
.zy-admin-page .well,
.zy-admin-page .card {
    border-radius: 12px;
}

.zy-admin-page .panel-intro {
    border-color: rgba(203, 214, 226, 0.78);
    box-shadow: 0 6px 20px rgba(29, 52, 74, 0.055);
}

.zy-admin-page .btn {
    border-radius: 8px;
    min-height: 34px;
}

.zy-admin-page .btn-primary,
.zy-admin-page .btn-success,
.zy-admin-shell .btn-primary {
    background: linear-gradient(135deg, var(--zy-primary), var(--zy-teal));
    border-color: var(--zy-primary);
    box-shadow: 0 6px 14px rgba(22, 124, 108, 0.16);
}

.zy-admin-page .btn-primary:hover,
.zy-admin-page .btn-primary:focus,
.zy-admin-page .btn-primary:active,
.zy-admin-page .btn-success:hover,
.zy-admin-page .btn-success:focus,
.zy-admin-page .btn-success:active,
.zy-admin-shell .btn-primary:hover,
.zy-admin-shell .btn-primary:focus {
    background: linear-gradient(135deg, var(--zy-primary-hover), var(--zy-teal-hover));
    box-shadow: 0 8px 18px rgba(22, 124, 108, 0.22);
}

.zy-admin-page .bootstrap-table .fixed-table-container {
    border-radius: 10px;
    overflow: hidden;
}

.zy-admin-page .bootstrap-table .fixed-table-header,
.zy-admin-page .bootstrap-table .fixed-table-container thead th,
.zy-admin-page .bootstrap-table .fixed-table-container thead td,
.zy-admin-page .table > thead > tr > th {
    background: #F2F6FA;
    color: #435367;
}

.zy-admin-page .table-hover > tbody > tr {
    transition: background-color 140ms ease, box-shadow 140ms ease;
}

.zy-admin-page .table-hover > tbody > tr:hover,
.zy-admin-page .bootstrap-table .fixed-table-container tbody .selected td {
    background: #F0F6FF;
}

/* Property manager's command centre. */

.zy-admin-page .zy-property-dashboard {
    background: transparent;
    margin: 0 auto;
    max-width: 1480px;
}

.zy-admin-page .zy-property-dashboard > .panel-heading {
    background:
        radial-gradient(circle at 88% 16%, rgba(81, 202, 171, 0.22), transparent 24%),
        radial-gradient(circle at 68% 120%, rgba(76, 147, 255, 0.3), transparent 34%),
        linear-gradient(125deg, #10263C 0%, #123C59 48%, #0D6B70 100%);
    border-radius: 18px;
    box-shadow: 0 18px 42px rgba(20, 53, 79, 0.18);
    overflow: hidden;
    padding: 18px 22px 14px;
    position: relative;
}

.zy-admin-page .zy-property-dashboard > .panel-heading::before,
.zy-admin-page .zy-property-dashboard > .panel-heading::after {
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 999px;
    content: "";
    pointer-events: none;
    position: absolute;
}

.zy-admin-page .zy-property-dashboard > .panel-heading::before {
    height: 140px;
    right: -44px;
    top: -86px;
    width: 140px;
}

.zy-service-page-head {margin:0 0 16px;padding:14px 20px;border:1px solid #e5eae7;border-radius:10px;background:#fff}
.zy-service-page-head h1 {margin:0;color:#26332f;font-size:24px}
.zy-service-page-head p {margin:5px 0 0;color:#74807b;font-size:14px}
.zy-service-tabs {margin:0 0 16px;padding:0 16px;border:1px solid #e5eae7;border-radius:10px;background:#fff}
.zy-service-tabs > li > a {margin-right:18px;padding:14px 4px 12px;border:0!important;border-bottom:2px solid transparent!important;color:#596762}
.zy-service-tabs > li.active > a,
.zy-service-tabs > li.active > a:hover,
.zy-service-tabs > li.active > a:focus {color:#176b5b;border-bottom-color:#176b5b!important;background:transparent}
.zy-service-summary{display:grid;grid-template-columns:repeat(6,minmax(100px,1fr));gap:12px;margin:0 0 8px}
.zy-service-summary button{display:flex;min-height:72px;padding:12px 14px;align-items:flex-start;justify-content:space-between;border:1px solid #e5eae7;border-radius:10px;background:#fff;color:#53615c;text-align:left;transition:border-color .15s ease,background-color .15s ease}
.zy-service-summary button:not(:disabled):hover,.zy-service-summary button:not(:disabled):focus{border-color:#9dbdb5;background:#f6faf8;outline:0}
.zy-service-summary button:disabled{cursor:default;opacity:1}
.zy-service-summary button strong{color:#26332f;font-size:24px;font-variant-numeric:tabular-nums}
.zy-service-summary button.is-risk strong{color:#9a4b35}
.zy-service-summary-status{margin:0 0 12px;font-size:12px}
@media(max-width:1100px){.zy-service-summary{grid-template-columns:repeat(3,minmax(100px,1fr))}}
@media(max-width:640px){.zy-service-summary{grid-template-columns:repeat(2,minmax(100px,1fr))}}

.zy-admin-page .zy-property-dashboard > .panel-heading::after {
    bottom: -104px;
    height: 170px;
    right: 18%;
    width: 170px;
}

.zy-admin-page .zy-property-dashboard > .panel-body {
    padding-top: 18px;
}

.zy-admin-page .zy-dashboard-heading,
.zy-admin-page .zy-dashboard-pulsebar {
    position: relative;
    z-index: 1;
}

.zy-admin-page .zy-dashboard-heading-copy {
    min-width: 0;
}

.zy-admin-page .zy-dashboard-heading h2 {
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 0;
    margin: 3px 0 5px;
}

.zy-admin-page .zy-dashboard-heading p {
    color: rgba(255, 255, 255, 0.88);
    font-size: 13px;
}

.zy-admin-page .zy-dashboard-kicker {
    color: #79D9C2;
    letter-spacing: 0.12em;
}

.zy-admin-page .zy-dashboard-heading-tools {
    align-items: center;
    display: flex;
    flex: 0 0 auto;
    gap: 12px;
}

.zy-admin-page .zy-dashboard-date {
    color: rgba(238, 248, 250, 0.82);
    font-size: 13px;
    white-space: nowrap;
}

.zy-admin-page .zy-dashboard-refresh {
    align-items: center;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: #FFFFFF;
    display: inline-flex;
    gap: 8px;
    padding: 6px 11px;
}

.zy-admin-page .zy-dashboard-refresh:hover,
.zy-admin-page .zy-dashboard-refresh:focus {
    background: rgba(255, 255, 255, 0.2);
    border-color: rgba(255, 255, 255, 0.3);
    color: #FFFFFF;
}

.zy-admin-page .zy-dashboard-refresh.is-loading .fa {
    animation: zy-dashboard-spin 900ms linear infinite;
}

.zy-admin-page .zy-dashboard-pulsebar {
    align-items: center;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    display: flex;
    gap: 14px;
    justify-content: space-between;
    margin-top: 10px;
    padding-top: 9px;
}

.zy-admin-page .zy-dashboard-pulse-summary,
.zy-admin-page .zy-dashboard-pulse-tools {
    align-items: center;
    display: flex;
    gap: 12px;
    min-width: 0;
}

.zy-admin-page .zy-dashboard-pulse-tools {
    justify-content: flex-end;
    margin-left: auto;
}

.zy-admin-page .zy-dashboard-live {
    align-items: center;
    display: inline-flex;
    gap: 4px;
    padding: 5px 10px;
}

.zy-admin-page .zy-dashboard-live[data-state="ready"] .fa {
    animation: zy-dashboard-pulse 2.2s ease-out infinite;
    color: #65E1BD;
}

.zy-admin-page .zy-dashboard-live[data-state="error"] {
    background: rgba(232, 86, 91, 0.18);
    border-color: rgba(255, 184, 186, 0.25);
}

.zy-admin-page .zy-dashboard-live[data-state="error"] .fa {
    color: #FFB0B3;
}

.zy-admin-page .zy-dashboard-pulse-copy {
    color: rgba(255, 255, 255, 0.88);
    font-size: 13px;
}

.zy-admin-page .zy-dashboard-pulse-copy strong {
    color: #FFFFFF;
    font-size: 16px;
    margin: 0 2px;
}

.zy-admin-page .zy-dashboard-updated {
    color: rgba(255, 255, 255, 0.88);
    font-size: 12px;
    white-space: nowrap;
}

.zy-admin-page .zy-dashboard-notice {
    align-items: center;
    background: #F0F8F5;
    border: 1px solid #D5EAE4;
    border-radius: 10px;
    color: #526579;
    display: flex;
    font-size: 13px;
    gap: 12px;
    justify-content: space-between;
    margin-bottom: 18px;
    padding: 11px 14px;
}

.zy-admin-page .zy-dashboard-notice-copy > .fa {
    color: var(--zy-primary);
}

.zy-admin-page .zy-dashboard-notice-copy {
    align-items: center;
    display: flex;
    gap: 8px;
    min-width: 0;
}

.zy-admin-page .zy-dashboard-project-actions {
    display: flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    gap: 8px;
}

.zy-admin-page .zy-dashboard-section {
    margin-bottom: 24px;
}

.zy-admin-page .zy-dashboard-section-compact {
    margin-bottom: 4px;
}

.zy-admin-page .zy-section-heading{align-items:flex-end;display:flex;flex-wrap:wrap;gap:8px 16px;justify-content:space-between;margin-bottom:14px;}

.zy-admin-page .zy-dashboard-section > .zy-section-heading {
    padding-inline: 18px;
}

.zy-admin-page .zy-section-heading h3 {
    color: var(--zy-ink);
    font-size: 19px;
    font-weight: 700;
    line-height: 1.3;
    margin: 3px 0 0;
}

.zy-admin-page .zy-section-kicker {
    color: var(--zy-primary);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
}

.zy-admin-page .zy-section-tip{color:#5E6F82;font-size:12px;margin-left:auto;max-width:100%;overflow-wrap:anywhere;text-align:right}

.zy-admin-page .zy-priority-card{background:#FFF;border:1px solid var(--zy-border);border-radius:14px;box-shadow:0 7px 22px rgba(29,52,74,.055);display:flex;flex-direction:column;min-height:132px;overflow:hidden;padding:17px 18px 15px;position:relative;width:100%}

.zy-admin-page .zy-priority-card::before{background:var(--zy-card-accent,var(--zy-primary));border-radius:14px 14px 0 0;content:"";height:4px;left:0;position:absolute;right:0;top:0}

.zy-admin-page .zy-priority-blue{--zy-card-accent:var(--zy-primary);--zy-card-soft:var(--zy-soft-primary)}.zy-admin-page .zy-priority-teal{--zy-card-accent:var(--zy-teal);--zy-card-soft:var(--zy-soft-teal)}
.zy-admin-page .zy-priority-warm{--zy-card-accent:var(--zy-warm);--zy-card-soft:var(--zy-soft-warning)}
.zy-admin-page .zy-priority-red{--zy-card-accent:var(--zy-danger);--zy-card-soft:var(--zy-soft-danger)}

.zy-admin-page .zy-priority-topline{align-items:center;display:flex;gap:10px}.zy-admin-page .zy-priority-icon{align-items:center;background:var(--zy-card-soft,var(--zy-soft-primary));border-radius:11px;color:var(--zy-card-accent,var(--zy-primary));display:inline-flex;font-size:16px;height:38px;justify-content:center;width:38px}

.zy-admin-page .zy-priority-label{color:#506173;font-size:13px;font-weight:600}.zy-admin-page .zy-priority-value{color:var(--zy-ink);font-size:32px;font-variant-numeric:tabular-nums;font-weight:750;letter-spacing:-.035em;line-height:1;margin:11px 0 6px}

.zy-admin-page .zy-priority-money{font-size:28px}.zy-admin-page .zy-priority-card p{color:var(--zy-muted);font-size:12px;line-height:1.45;margin:0}

.zy-admin-page .zy-shortcut-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.zy-admin-page .zy-shortcut {
    align-items: center;
    background: #FFFFFF;
    border: 1px solid var(--zy-border);
    border-radius: 13px;
    box-shadow: var(--zy-shadow-sm);
    color: var(--zy-ink);
    display: flex;
    gap: 12px;
    min-height: 78px;
    padding: 14px;
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.zy-admin-page .zy-shortcut:hover,
.zy-admin-page .zy-shortcut:focus {
    border-color: #BED5F4;
    box-shadow: 0 10px 24px rgba(29, 52, 74, 0.09);
    color: var(--zy-ink);
    transform: translateY(-2px);
}

.zy-admin-page .zy-shortcut-primary {
    background: linear-gradient(135deg, var(--zy-primary), #1765C1);
    border-color: transparent;
    color: #FFFFFF;
}

.zy-admin-page .zy-shortcut-primary:hover,
.zy-admin-page .zy-shortcut-primary:focus {
    border-color: transparent;
    color: #FFFFFF;
}

.zy-admin-page .zy-shortcut-icon {
    align-items: center;
    background: var(--zy-soft-primary);
    border-radius: 11px;
    color: var(--zy-primary);
    display: inline-flex;
    flex: 0 0 42px;
    font-size: 17px;
    height: 42px;
    justify-content: center;
}

.zy-admin-page .zy-shortcut-primary .zy-shortcut-icon {
    background: rgba(255, 255, 255, 0.16);
    color: #FFFFFF;
}

.zy-admin-page .zy-shortcut > span:nth-child(2) {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.zy-admin-page .zy-shortcut strong {
    font-size: 14px;
    font-weight: 650;
    margin-bottom: 4px;
}

.zy-admin-page .zy-shortcut small {
    color: #5E6F82;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.zy-admin-page .zy-shortcut-primary small {
    color: #FFFFFF;
}

.zy-admin-page .zy-shortcut-arrow {
    color: #A1ACB8;
    margin-left: auto;
}

.zy-admin-page .zy-shortcut-primary .zy-shortcut-arrow {
    color: #FFFFFF;
}

.zy-admin-page .zy-queue-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.zy-admin-page .zy-queue-card {
    background: #FFFFFF;
    border: 1px solid var(--zy-border);
    border-radius: 14px;
    box-shadow: var(--zy-shadow-sm);
    padding: 20px;
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.zy-admin-page .zy-queue-card:hover {
    border-color: #D2DDE8;
    box-shadow: 0 12px 28px rgba(29, 52, 74, 0.08);
    transform: translateY(-2px);
}

.zy-admin-page .zy-queue-heading {
    align-items: center;
    display: flex;
    gap: 12px;
    margin-bottom: 17px;
}

.zy-admin-page .zy-queue-heading h4 {
    color: var(--zy-ink);
    font-size: 15px;
    font-weight: 700;
    margin: 0 0 4px;
}

.zy-admin-page .zy-queue-heading p {
    color: #5E6F82;
    font-size: 12px;
    margin: 0;
}

.zy-admin-page .zy-queue-icon {
    align-items: center;
    border-radius: 12px;
    display: inline-flex;
    flex: 0 0 44px;
    font-size: 18px;
    height: 44px;
    justify-content: center;
}

.zy-admin-page .zy-queue-icon-blue {
    background: var(--zy-soft-primary);
    color: var(--zy-primary);
}

.zy-admin-page .zy-queue-icon-teal {
    background: var(--zy-soft-teal);
    color: var(--zy-teal);
}

.zy-admin-page .zy-queue-icon-warm {
    background: var(--zy-soft-warning);
    color: #D67A35;
}

.zy-admin-page .zy-queue-list {
    margin: 0 0 14px;
}

.zy-admin-page .zy-queue-list > div {
    align-items: center;
    border-top: 1px solid #EDF1F5;
    display: flex;
    justify-content: space-between;
    min-height: 42px;
}

.zy-admin-page .zy-queue-list dt {
    color: #657486;
    font-size: 13px;
    font-weight: 500;
}

.zy-admin-page .zy-queue-list dd {
    background: #F2F6FA;
    border-radius: 999px;
    color: #405166;
    font-size: 12px;
    font-variant-numeric: tabular-nums;
    font-weight: 700;
    min-width: 28px;
    padding: 4px 8px;
    text-align: center;
}

.zy-admin-page .zy-queue-action {
    color: var(--zy-primary);
    font-size: 13px;
    font-weight: 600;
}

.zy-admin-page .zy-queue-action .fa {
    margin-left: 5px;
    transition: transform 160ms ease;
}

.zy-admin-page .zy-queue-action:hover .fa {
    transform: translateX(3px);
}

.zy-admin-page .zy-overview-strip {
    align-items: center;
    background: linear-gradient(120deg, #FFFFFF, #F8FBFD);
    border: 1px solid var(--zy-border);
    border-radius: 14px;
    box-shadow: var(--zy-shadow-sm);
    display: flex;
    min-height: 100px;
    padding: 16px 20px;
}

.zy-admin-page .zy-overview-strip > div {
    align-items: center;
    border-right: 1px solid #E9EEF3;
    display: flex;
    gap: 11px;
    margin-right: 24px;
    min-width: 150px;
    padding-right: 24px;
}

.zy-admin-page .zy-overview-icon {
    align-items: center;
    background: var(--zy-soft-teal);
    border-radius: 10px;
    color: var(--zy-teal);
    display: inline-flex;
    font-size: 16px;
    height: 40px;
    justify-content: center;
    width: 40px;
}

.zy-admin-page .zy-overview-strip > div > span:last-child {
    display: flex;
    flex-direction: column;
}

.zy-admin-page .zy-overview-strip strong {
    color: var(--zy-ink);
    font-size: 22px;
    font-variant-numeric: tabular-nums;
    line-height: 1.1;
}

.zy-admin-page .zy-overview-strip small {
    color: #5E6F82;
    margin-top: 4px;
}

.zy-admin-page .zy-overview-strip > p {
    color: #5E6F82;
    font-size: 12px;
    margin: 0 0 0 auto;
}

.zy-admin-page .zy-overview-strip > p .fa {
    color: var(--zy-primary);
    margin-right: 4px;
}

.zy-admin-page .zy-property-dashboard.is-ready .zy-motion-card {
    animation: zy-dashboard-rise 420ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.zy-admin-page .zy-property-dashboard.is-ready .zy-motion-card:nth-child(2) {
    animation-delay: 45ms;
}

.zy-admin-page .zy-property-dashboard.is-ready .zy-motion-card:nth-child(3) {
    animation-delay: 90ms;
}

.zy-admin-page .zy-property-dashboard.is-ready .zy-motion-card:nth-child(4) {
    animation-delay: 135ms;
}

@keyframes zy-dashboard-rise {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes zy-dashboard-spin {
    to {
        transform: rotate(360deg);
    }
}

@keyframes zy-dashboard-pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(101, 225, 189, 0.4);
    }
    70%, 100% {
        box-shadow: 0 0 0 5px rgba(101, 225, 189, 0);
    }
}

/* Selected-community workspace. */
.zy-admin-page .zy-community-summary,.zy-admin-page .zy-community-workspace-panel{background:#FFFFFF;border:1px solid var(--zy-border);border-radius:15px;box-shadow:var(--zy-shadow-sm);}
.zy-admin-page .zy-community-summary{margin-bottom:16px;padding:18px;}
.zy-admin-page .zy-community-metrics{background:#F6FAF8;box-shadow:none;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(142px,1fr));min-height:0;padding:10px;}
.zy-admin-page .zy-community-metrics > div{background:#FFFFFF;border:1px solid #E2ECE8;border-radius:10px;gap:9px;margin:0;min-width:0;padding:10px;}
.zy-admin-page .zy-community-metrics > .zy-community-metrics-summary{align-items:center;background:#FFFFFF;border:1px solid #E2ECE8;border-radius:10px;display:grid;gap:6px;grid-column:span 2;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin:0;padding:8px 10px;}
.zy-admin-page .zy-community-metrics-summary > span{align-items:baseline;display:flex;gap:4px;min-width:0;}
.zy-admin-page .zy-community-metrics-summary small{margin:0;white-space:nowrap;}
.zy-admin-page .zy-community-metrics-summary strong{font-size:18px;overflow:hidden;text-overflow:ellipsis;}
.zy-admin-page #property-project-shortcuts.zy-community-shortcuts{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:12px;}
.zy-admin-page #property-project-shortcuts.zy-community-shortcuts:empty{display:none;}
.zy-admin-page .zy-community-workspace{align-items:start;display:grid;gap:16px;grid-template-columns:minmax(0,1.55fr) minmax(320px,.75fr);}
.zy-admin-page .zy-community-workspace.is-single-panel{grid-template-columns:1fr;}
.zy-admin-page .zy-community-workspace-panel{min-width:0;padding:17px;}
.zy-admin-page .zy-building-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));}
.zy-admin-page .zy-building-grid > .zy-dashboard-empty-state,.zy-admin-page .zy-building-grid > .zy-building-note{grid-column:1 / -1;}
.zy-admin-page .zy-building-card,.zy-admin-page .zy-community-content-grid .zy-queue-card{box-shadow:none;padding:15px;}
.zy-admin-page .zy-unit-chip-list{display:flex;flex-wrap:wrap;gap:7px;}
.zy-admin-page .zy-household-panel{border-top:1px solid var(--zy-border);margin-top:16px;padding-top:16px;}
.zy-admin-page .zy-community-content-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));}
.zy-admin-page .zy-dashboard-empty-state{align-items:center;background:#F8FBFA;border-style:dashed;box-shadow:none;color:#5E6F82;display:flex;justify-content:center;min-height:92px;padding:18px;text-align:center;}
.zy-admin-page .zy-dashboard-empty-state p{margin:0;}
.zy-admin-page .zy-dashboard-inline-empty{align-items:center;background:#F8FBFA;border:1px dashed #D8E6E1;border-radius:9px;display:flex;justify-content:center;margin:0;min-height:62px;padding:12px;text-align:center;}
.zy-admin-page #property-dashboard{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-left:0;margin-right:0;}
.zy-admin-page #property-dashboard > .zy-stat-col{float:none;margin:0;padding:0;width:auto;}
.zy-admin-page #property-common-shortcuts{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));}
.zy-admin-page #property-todos{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));}

@media (max-width: 1199px) {
    .zy-admin-page .zy-shortcut-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .zy-admin-page .zy-shortcut small {
        display: -webkit-box;
        line-height: 1.45;
        white-space: normal;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    .zy-admin-page .zy-queue-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .zy-admin-page .zy-overview-strip {
        flex-wrap: wrap;
        gap: 14px;
    }

    .zy-admin-page .zy-overview-strip > p {
        flex-basis: 100%;
        margin-left: 0;
    }
}

@media (max-width: 767px) {
    .zy-admin-page .zy-property-dashboard > .panel-heading {
        border-radius: 14px;
        padding: 18px 18px 14px;
    }

    .zy-admin-page .zy-dashboard-heading-tools {
        justify-content: space-between;
        width: 100%;
    }

    .zy-admin-page .zy-dashboard-pulsebar {
        align-items: stretch;
        flex-direction: column;
        flex-wrap: wrap;
        gap: 10px 12px;
    }

    .zy-admin-page .zy-dashboard-pulse-summary,
    .zy-admin-page .zy-dashboard-pulse-tools {
        flex-wrap: wrap;
        justify-content: flex-start;
        margin-left: 0;
        width: 100%;
    }

    .zy-admin-page .zy-section-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 5px;
    }

    .zy-admin-page .zy-dashboard-section > .zy-section-heading {
        padding-inline: 10px;
    }

    .zy-admin-page .zy-section-tip {
        margin-left: 0;
        text-align: left;
    }

    .zy-admin-page .zy-priority-card {
        min-height: 128px;
    }

    .zy-admin-page .zy-shortcut-grid,
    .zy-admin-page .zy-queue-grid {
        grid-template-columns: 1fr;
    }

    .zy-admin-page .zy-overview-strip {
        align-items: stretch;
        flex-direction: column;
    }

    .zy-admin-page .zy-overview-strip > div {
        border-bottom: 1px solid #E9EEF3;
        border-right: 0;
        margin: 0;
        padding: 0 0 13px;
        width: 100%;
    }
}

/* Manager-first high-frequency list pages. */

.zy-admin-page .zy-operations-list .zy-list-intro {
    align-items: center;
    background: linear-gradient(115deg, #F1F7FF, #F6FBFA);
    border: 1px solid #DCE9F7;
    border-radius: 12px;
    display: flex;
    gap: 14px;
    margin-bottom: 12px;
    padding: 14px 16px;
}

.zy-admin-page .zy-operations-list .zy-list-intro-icon {
    align-items: center;
    background: var(--zy-primary);
    border-radius: 11px;
    box-shadow: 0 7px 16px rgba(25, 118, 243, 0.18);
    color: #FFFFFF;
    display: inline-flex;
    flex: 0 0 42px;
    font-size: 17px;
    height: 42px;
    justify-content: center;
}

.zy-admin-page .zy-operations-list .zy-list-intro-icon-warm {
    background: linear-gradient(135deg, var(--zy-warm), #E98345);
    box-shadow: 0 7px 16px rgba(245, 158, 91, 0.22);
}

.zy-admin-page .zy-operations-list .zy-list-intro strong {
    color: var(--zy-ink);
    display: block;
    font-size: 14px;
    margin-bottom: 3px;
}

.zy-admin-page .zy-operations-list .zy-list-intro p {
    color: #5E6F82;
    line-height: 1.6;
    margin: 0;
}

.zy-admin-page .zy-technical-help {
    background: #FAFCFD;
    border: 1px solid var(--zy-border);
    border-radius: 9px;
    color: #5E6F82;
    font-size: 12px;
    margin-bottom: 14px;
}

.zy-admin-page .zy-technical-help > summary {
    color: #667689;
    cursor: pointer;
    font-weight: 600;
    list-style-position: inside;
    padding: 9px 12px;
    user-select: none;
}

.zy-admin-page .zy-technical-help > summary .fa {
    color: var(--zy-primary);
    margin-right: 5px;
}

.zy-admin-page .zy-technical-help > div {
    border-top: 1px solid #E9EEF3;
    line-height: 1.75;
    padding: 10px 13px 12px;
}

.zy-admin-page .zy-bill-generator {
    background: #FFFFFF;
    border: 1px solid #D7E3F0;
    border-radius: 11px;
    box-shadow: var(--zy-shadow-sm);
    margin-bottom: 12px;
    overflow: hidden;
}

.zy-admin-page .zy-bill-generator > summary {
    align-items: center;
    background: #F5F9FE;
    color: var(--zy-ink);
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    list-style: none;
    padding: 12px 15px;
    user-select: none;
}

.zy-admin-page .zy-bill-generator > summary::-webkit-details-marker {
    display: none;
}

.zy-admin-page .zy-bill-generator > summary > span {
    font-size: 14px;
    font-weight: 700;
}

.zy-admin-page .zy-bill-generator > summary > span .fa {
    color: var(--zy-primary);
    margin-right: 7px;
}

.zy-admin-page .zy-bill-generator > summary > small {
    color: #5E6F82;
}

.zy-admin-page .zy-bill-generator[open] > summary {
    border-bottom: 1px solid #DDE7F1;
}

.zy-admin-page .zy-bill-generator-body {
    padding: 16px 15px 12px;
}

.zy-admin-page .zy-bill-generator-body label {
    color: #485A6C;
    font-size: 12px;
    font-weight: 600;
}

.zy-admin-page .zy-inline-advanced {
    background: #F8FAFC;
    border: 1px dashed #D6E0EA;
    border-radius: 8px;
    margin-top: 13px;
}

.zy-admin-page .zy-inline-advanced > summary {
    color: #5E6F82;
    cursor: pointer;
    font-size: 12px;
    font-weight: 600;
    padding: 8px 11px;
}

.zy-admin-page .zy-inline-advanced > .row {
    border-top: 1px dashed #DDE5ED;
    margin: 0;
    padding: 12px 2px 9px;
}

.zy-admin-page .zy-inline-advanced p {
    color: #5E6F82;
    line-height: 1.65;
    margin: 5px 0 0;
}

.zy-admin-page .zy-bill-generator .help-block {
    color: #65778A;
    margin: 10px 0 0;
}

.zy-admin-page .zy-operations-list .fixed-table-toolbar {
    border-top: 1px solid #E8EDF2;
    margin-top: 4px;
    padding-top: 13px;
}

.zy-admin-page .zy-operations-list .fixed-table-toolbar .search input {
    min-width: 260px;
}

.zy-admin-page .zy-list-feedback {
    align-items: center;
    background: #F8FAFC;
    border: 1px dashed #CBD8E5;
    border-radius: 9px;
    color: #526579;
    display: flex;
    gap: 9px;
    margin: 11px 0;
    min-height: 44px;
    padding: 9px 12px;
}

.zy-admin-page .zy-list-feedback .fa {
    color: var(--zy-primary);
}

.zy-admin-page .zy-list-feedback[data-state="empty"] {
    background: #FBFCFE;
}

.zy-admin-page .zy-list-feedback[data-state="error"] {
    background: var(--zy-soft-danger);
    border-color: #E7BFC2;
    color: #8F3036;
}

.zy-admin-page .zy-list-feedback[data-state="error"] .fa {
    color: #B4232B;
}

.zy-admin-page .zy-list-feedback [data-list-retry] {
    margin-left: auto;
}

.zy-admin-page .zy-operations-list .text-primary {
    color: #1168D9 !important;
}

.zy-admin-page .zy-operations-list .text-success {
    color: #207A5A !important;
}

.zy-admin-page .zy-operations-list .text-info {
    color: #2469C8 !important;
}

.zy-admin-page .zy-operations-list .text-warning {
    color: #8A5500 !important;
}

.zy-admin-page .zy-operations-list .text-danger {
    color: #B4232B !important;
}

.zy-admin-page .zy-operations-list .text-gray {
    color: #5E6F82 !important;
}

@media (max-width: 767px) {
    .zy-admin-page .zy-operations-list .zy-list-intro {
        align-items: flex-start;
        padding: 13px;
    }

    .zy-admin-page .zy-bill-generator > summary {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
    }

    .zy-admin-page .zy-bill-generator-body .col-sm-2,
    .zy-admin-page .zy-bill-generator-body .col-sm-3,
    .zy-admin-page .zy-bill-generator-body .col-sm-6 {
        margin-bottom: 12px;
    }
}

/* Staff workspace: compact primary rail + contextual secondary navigation. */

@media (min-width: 768px) {
    .zy-admin-shell .main-header .logo { padding: 0 14px; width: 248px; }
    .zy-admin-shell .main-header .navbar { margin-left: 248px; }
    .zy-admin-shell .main-sidebar,
    .zy-admin-shell .left-side {
        background: linear-gradient(90deg, #102A43 0, #102A43 72px, #FFFFFF 72px, #FFFFFF 100%);
        width: 248px;
    }
    .zy-admin-shell .content-wrapper,
    .zy-admin-shell .right-side,
    .zy-admin-shell .main-footer { margin-left: 248px; }
    .zy-admin-shell .main-sidebar::after {
        background: #F7FAF9; border-right: 1px solid var(--zy-border); bottom: 0;
        box-shadow: 5px 0 18px rgba(21, 56, 82, .055); content: ""; left: 72px;
        pointer-events: none; position: absolute; top: 0; width: 176px;
    }
    .zy-admin-shell .main-sidebar .sidebar { overflow: visible; position: relative; z-index: 1; }
    .zy-admin-shell .main-sidebar .user-panel,
    .zy-admin-shell .main-sidebar .sidebar-form,
    .zy-admin-shell .main-sidebar .mobilenav { display: none !important; }
    .zy-admin-shell .sidebar-menu {
        height: calc(100vh - 50px); margin: 0; overflow: visible !important;
        padding: 12px 0; position: relative; width: 72px;
    }
    .zy-admin-shell .sidebar-menu > li { position: static; width: 72px; }
    .zy-admin-shell .sidebar-menu > li > a {
        align-items: center; border-left: 0; color: #B9C8D5; display: flex;
        flex-direction: column; font-size: 11px; gap: 6px; height: 64px;
        justify-content: center; line-height: 1; padding: 7px 4px; text-align: center;
        white-space: nowrap; width: 72px;
    }
    .zy-admin-shell .sidebar-menu > li > a > .fa {
        color: #9EB3C4; font-size: 19px; margin: 0; width: auto;
    }
    .zy-admin-shell .sidebar-menu > li > a .pull-right-container { display: none; }
    .zy-admin-shell .sidebar-menu > li:hover > a,
    .zy-admin-shell .sidebar-menu > li.active > a,
    .zy-admin-shell .sidebar-menu > li.treeview-open > a,
    .zy-admin-shell[class*="skin-"] .sidebar-menu > li:hover > a,
    .zy-admin-shell[class*="skin-"] .sidebar-menu > li.active > a,
    .zy-admin-shell[class*="skin-"] .sidebar-menu > li.treeview-open > a {
        background: linear-gradient(145deg, var(--zy-primary), var(--zy-teal)); border-left: 0; color: #FFFFFF;
    }
    .zy-admin-shell .sidebar-menu > li:hover > a > .fa,
    .zy-admin-shell .sidebar-menu > li.active > a > .fa,
    .zy-admin-shell .sidebar-menu > li.treeview-open > a > .fa { color: #FFFFFF; }
    .zy-admin-shell .sidebar-menu > li > .treeview-menu,
    .zy-admin-shell[class*="skin-"] .sidebar-menu > li > .treeview-menu {
        background: #F7FAF9 !important; bottom: 0; left: 72px; margin: 0; overflow-x: hidden;
        border-right: 1px solid var(--zy-border); box-shadow: 5px 0 18px rgba(24, 74, 66, .055);
        overflow-y: auto !important; padding: 16px 12px;
        position: absolute; top: 0; width: 176px;
    }
    .zy-admin-shell .sidebar-menu > li:not(.active):not(.treeview-open) > .treeview-menu { display: none !important; }
    .zy-admin-shell .sidebar-menu > li.active > .treeview-menu,
    .zy-admin-shell .sidebar-menu > li.treeview-open > .treeview-menu { display: block !important; }
    .zy-admin-shell .sidebar-menu .treeview-menu > li > a {
        border: 0; border-radius: 8px; color: #4F6660; font-size: 13px;
        margin-bottom: 4px; padding: 11px 10px; white-space: normal;
    }
    .zy-admin-shell .sidebar-menu .treeview-menu > li > a > .fa { color: #78928A; margin-right: 7px; }
    .zy-admin-shell .sidebar-menu .treeview-menu > li:hover > a,
    .zy-admin-shell .sidebar-menu .treeview-menu > li.active > a,
    .zy-admin-shell[class*="skin-"] .sidebar-menu .treeview-menu > li:hover > a,
    .zy-admin-shell[class*="skin-"] .sidebar-menu .treeview-menu > li.active > a {
        background: var(--zy-soft-primary); border: 0; color: var(--zy-primary);
    }
    .zy-admin-shell .sidebar-menu .treeview-menu > li.active > a > .fa,
    .zy-admin-shell .sidebar-menu .treeview-menu > li:hover > a > .fa { color: var(--zy-primary); }
    .zy-admin-shell.sidebar-mini.sidebar-collapse .main-header .logo,
    .zy-admin-shell.sidebar-mini.sidebar-collapse .main-sidebar,
    .zy-admin-shell.sidebar-mini.sidebar-collapse .left-side { width: 72px !important; }
    .zy-admin-shell.sidebar-mini.sidebar-collapse .main-header .navbar,
    .zy-admin-shell.sidebar-mini.sidebar-collapse .content-wrapper,
    .zy-admin-shell.sidebar-mini.sidebar-collapse .right-side,
    .zy-admin-shell.sidebar-mini.sidebar-collapse .main-footer { margin-left: 72px !important; }
    .zy-admin-shell.sidebar-mini.sidebar-collapse .main-sidebar::after,
    .zy-admin-shell.sidebar-mini.sidebar-collapse .sidebar-menu > li > .treeview-menu,
    .zy-admin-shell.sidebar-mini.sidebar-collapse .sidebar-menu > li:hover > .treeview-menu,
    .zy-admin-shell.sidebar-mini.sidebar-collapse .sidebar-menu > li:hover > a > span:not(.pull-right),
    .zy-admin-shell.sidebar-mini.sidebar-collapse .sidebar-menu > li:hover > a > .pull-right-container { display: none !important; }
    .zy-admin-shell.sidebar-mini.sidebar-collapse .sidebar-menu > li:hover > a { width: 72px !important; }

}

@media (max-width: 991px) {
    .zy-admin-page .zy-dashboard-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 14px;
    }

    .zy-admin-page .zy-dashboard-heading-tools {
        justify-content: space-between;
        width: 100%;
    }

    .zy-admin-page .zy-dashboard-pulsebar {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .zy-admin-page .zy-dashboard-pulse-tools {
        flex-wrap: wrap;
        margin-left: 0;
    }

    .zy-admin-page .zy-section-heading {
        align-items: flex-start;
        flex-wrap: wrap;
        gap: 8px 14px;
    }
}

@media (max-width:1399px){
.zy-admin-page .zy-community-metrics > .zy-community-metrics-summary{grid-column:1 / -1;}
.zy-admin-page .zy-community-workspace{grid-template-columns:1fr;}
.zy-admin-page .zy-building-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));}
.zy-admin-page .zy-community-content-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));}
}
@media (max-width:991px){.zy-admin-page .zy-community-metrics{gap:8px;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));}
}
@media (max-width:767px){.zy-admin-page .zy-community-summary,.zy-admin-page .zy-community-workspace-panel{border-radius:12px;padding:14px;}
.zy-admin-page .zy-community-metrics{padding:8px;}
.zy-admin-page .zy-community-metrics > div{border:1px solid #E2ECE8;margin:0;padding:10px;width:auto;}
.zy-admin-page #property-project-shortcuts.zy-community-shortcuts,.zy-admin-page .zy-building-grid,.zy-admin-page .zy-community-content-grid{grid-template-columns:1fr;}
.zy-admin-page .zy-community-metrics > .zy-community-metrics-summary{grid-template-columns:1fr;}
.zy-admin-page #property-dashboard,.zy-admin-page #property-common-shortcuts,.zy-admin-page #property-todos{grid-template-columns:1fr;}
}

/* Enterprise login */

.zy-admin-login {
    align-items: center;
    background-color: #238BEF;
    background-image:
        radial-gradient(circle at 18% 22%, rgba(255, 255, 255, 0.20), transparent 27%),
        radial-gradient(circle at 78% 78%, rgba(95, 195, 255, 0.34), transparent 32%),
        linear-gradient(145deg, #1681E8 0%, #37A5F6 55%, #74C8FA 100%);
    background-size: auto;
    display: flex;
    min-height: 100%;
    overflow-x: hidden;
    position: relative;
}

.zy-admin-login::before {
    background-image:
        linear-gradient(30deg, transparent 48%, rgba(255,255,255,.12) 49%, rgba(255,255,255,.12) 51%, transparent 52%),
        linear-gradient(150deg, transparent 48%, rgba(255,255,255,.08) 49%, rgba(255,255,255,.08) 51%, transparent 52%);
    background-size: 170px 110px;
    content: "";
    inset: 0;
    pointer-events: none;
    position: fixed;
}

.zy-admin-login .zy-login-container {
    position: relative;
    width: 100%;
    z-index: 1;
}

.zy-admin-login .login-wrapper {
    align-items: center;
    display: flex;
    justify-content: center;
    margin: 0 auto;
    max-width: 820px;
    min-height: 100vh;
    padding: 42px 20px;
}

.zy-admin-login .zy-login-card {
    align-items: stretch;
    display: flex;
    flex: 0 1 780px;
    justify-content: center;
    max-width: 780px;
    width: 100%;
}

.zy-admin-login .zy-login-showcase {
    background: linear-gradient(145deg, #DDF4FF, #B8E5FC);
    border-radius: 18px 0 0 18px;
    flex: 0 0 390px;
    max-width: 390px;
    overflow: hidden;
    padding: 42px 34px;
    position: relative;
}

.zy-admin-login .zy-login-showcase-badge {
    align-items: center;
    background: rgba(255, 255, 255, 0.8);
    border: 1px solid rgba(203, 214, 226, 0.88);
    border-radius: 999px;
    box-shadow: var(--zy-shadow-sm);
    color: #146FB8;
    display: inline-flex;
    font-size: 12px;
    font-weight: 650;
    gap: 7px;
    padding: 7px 12px;
}

.zy-admin-login .zy-login-showcase h2 {
    color: #174C78;
    font-size: 29px;
    font-weight: 750;
    letter-spacing: -0.025em;
    line-height: 1.32;
    margin: 25px 0 15px;
}

.zy-admin-login .zy-login-showcase > p {
    color: #5E6F82;
    font-size: 15px;
    line-height: 1.8;
    margin: 0;
    max-width: 450px;
}

.zy-admin-login .zy-login-benefits {
    display: grid;
    gap: 13px;
    list-style: none;
    margin: 28px 0 0;
    padding: 0;
}

.zy-admin-login .zy-login-benefits li {
    align-items: center;
    display: flex;
    gap: 13px;
}

.zy-admin-login .zy-login-benefits li > span {
    align-items: center;
    background: #FFFFFF;
    border: 1px solid var(--zy-border);
    border-radius: 11px;
    box-shadow: var(--zy-shadow-sm);
    color: var(--zy-teal);
    display: inline-flex;
    flex: 0 0 42px;
    font-size: 16px;
    height: 42px;
    justify-content: center;
}

.zy-admin-login .zy-login-benefits li > div {
    display: flex;
    flex-direction: column;
}

.zy-admin-login .zy-login-benefits strong {
    color: #2B3E50;
    font-size: 13px;
    margin-bottom: 3px;
}

.zy-admin-login .zy-login-benefits small {
    color: #5E6F82;
    line-height: 1.45;
}

.zy-admin-login .login-screen {
    flex: 0 0 390px;
    margin: 0;
    max-width: 390px;
    padding: 0;
    width: 100%;
}

.zy-admin-login .login-screen .well {
    background: #FFFFFF;
    border: 1px solid rgba(16, 35, 43, 0.1);
    border-radius: 0 18px 18px 0;
    box-shadow: 0 30px 90px rgba(11, 78, 142, 0.28);
    margin: 0;
    overflow: hidden;
    padding: 0;
}

.zy-admin-login .login-head {
    background: #FFFFFF;
    color: #243F55;
    padding: 30px 32px 26px;
    position: relative;
}

.zy-admin-login .login-head::after {
    background: #268EF0;
    bottom: 0;
    content: "";
    height: 3px;
    left: 32px;
    position: absolute;
    width: 56px;
}

.zy-admin-login .zy-login-brand-lockup {
    align-items: center;
    display: flex;
    gap: 16px;
}

.zy-admin-login .zy-login-mark {
    align-items: center;
    background: linear-gradient(135deg, #1976D2, #45B4F5);
    border: 0;
    border-radius: 10px;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.18);
    color: #FFFFFF;
    display: flex;
    flex: 0 0 54px;
    font-size: 18px;
    font-weight: 700;
    height: 54px;
    justify-content: center;
    letter-spacing: 0.08em;
}

.zy-admin-login .zy-login-brand-copy h1 {
    color: #23445F;
    font-size: 21px;
    font-weight: 600;
    letter-spacing: 0.02em;
    margin: 0 0 5px;
}

.zy-admin-login .zy-login-brand-copy p {
    color: #6B8AA3;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.13em;
    margin: 0;
}

.zy-admin-login .zy-login-intro {
    color: #708697;
    font-size: 13px;
    margin: 21px 0 0;
}

.zy-admin-login .login-form {
    padding: 29px 32px 24px;
    position: relative;
}

.zy-admin-login #login-form {
    margin: 0;
}

.zy-admin-login .zy-login-field-label {
    color: #3A4A51;
    display: block;
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 7px;
}

.zy-admin-login #login-form .input-group {
    margin-bottom: 17px;
    width: 100%;
}

.zy-admin-login #login-form .input-group-addon,
.zy-admin-login #login-form .form-control {
    border-color: var(--zy-border-strong);
    box-shadow: none;
    height: 42px;
}

.zy-admin-login #login-form .input-group-addon {
    background: #F2F6F6;
    color: #60727A;
    min-width: 43px;
}

.zy-admin-login #login-form .zy-captcha-row {
    align-items: center;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(0, 1fr) 180px;
    margin-bottom: 17px;
}

.zy-admin-login #login-form .zy-captcha-input-group {
    margin-bottom: 0;
}

.zy-admin-login #login-form .zy-captcha-input-group .input-group-addon,
.zy-admin-login #login-form .zy-captcha-input-group .form-control {
    height: 52px;
}

.zy-admin-login #login-form .zy-captcha-refresh {
    align-items: center;
    background: #F7FBFF;
    border: 1px solid var(--zy-border-strong);
    border-radius: 6px;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    height: 76px;
    justify-content: center;
    min-width: 180px;
    overflow: hidden;
    padding: 3px 4px 2px;
}

.zy-admin-login #login-form .zy-captcha-refresh:hover,
.zy-admin-login #login-form .zy-captcha-refresh:focus-visible {
    background: #E7F2EF;
    border-color: var(--zy-primary);
    box-shadow: inset 0 0 0 2px var(--zy-focus-ring);
    outline: 0;
}

.zy-admin-login #login-form .zy-captcha-refresh span {
    color: #4B6470;
    font-size: 11px;
    font-weight: 600;
    line-height: 14px;
}

.zy-admin-login #login-form .form-control {
    color: var(--zy-ink);
    font-size: 14px;
}

.zy-admin-login #login-form .form-control::placeholder {
    color: #63747C;
}

.zy-admin-login #login-form .form-control:focus {
    border-color: var(--zy-primary);
    box-shadow: 0 0 0 3px var(--zy-focus-ring);
}

.zy-admin-login #login-form .zy-captcha-refresh img {
    display: block;
    height: 54px;
    object-fit: contain;
    width: 170px;
}

.zy-admin-login #login-form .checkbox {
    color: var(--zy-muted);
    margin-bottom: 19px;
    margin-top: 0;
}

.zy-admin-login #login-form .checkbox input[type="checkbox"] {
    accent-color: var(--zy-primary);
}

.zy-admin-login .zy-login-submit {
    background: linear-gradient(135deg, #1976D2, #2E9AF1);
    border-color: #1976D2;
    border-radius: 6px;
    box-shadow: 0 10px 22px rgba(25, 118, 210, 0.24);
    color: #FFFFFF;
    font-size: 15px;
    font-weight: 600;
    height: 44px;
    letter-spacing: 0.08em;
}

.zy-admin-login .zy-login-submit:hover,
.zy-admin-login .zy-login-submit:focus,
.zy-admin-login .zy-login-submit:active {
    background: linear-gradient(135deg, #125EA9, #2388DA);
    border-color: #125EA9;
    color: #FFFFFF;
}

.zy-admin-login #errtips {
    background: var(--zy-soft-danger);
    border: 1px solid #E9CACA;
    border-left: 3px solid #A84B47;
    border-radius: 5px;
    color: #7B3F3C;
    margin-bottom: 17px;
    padding: 9px 11px;
}

.zy-admin-login .zy-login-assurance {
    border-top: 1px solid #E8EEEE;
    color: var(--zy-muted);
    font-size: 12px;
    margin: 20px 0 0;
    padding-top: 17px;
    text-align: center;
}

.zy-admin-login .zy-login-assurance .fa {
    color: var(--zy-primary);
    margin-right: 5px;
}

/* Responsive density */

@media (max-width: 1199px) {
    .zy-admin-page .bootstrap-table .table:not(.table-condensed) > tbody > tr > td {
        padding-left: 10px;
        padding-right: 10px;
    }

    .zy-admin-page .zy-stat-card {
        min-height: 108px;
    }
}

@media (max-width: 991px) {
    .zy-admin-login .zy-login-card {
        flex-basis: 390px;
        max-width: 390px;
    }

    .zy-admin-login .zy-login-showcase {
        display: none;
    }

    .zy-admin-login .login-screen {
        flex: 1 1 auto;
    }

    .zy-admin-login .login-screen .well {
        border-radius: 18px;
    }
}

@media (max-width: 767px) {
    .zy-admin-shell .wrapper .main-header .logo {
        justify-content: center;
        padding: 0 10px;
        width: 150px;
        margin-left: -75px;
    }

    .zy-admin-shell .main-header .logo .logo-lg {
        font-size: 14px;
    }

    .zy-admin-shell .main-header .logo .logo-lg::before {
        display: none;
    }

    .zy-admin-page .zy-admin-content,
    .zy-admin-page.is-dialog .zy-admin-content {
        padding: 12px;
    }

    .zy-admin-page .panel-body {
        padding: 14px;
    }

    .zy-admin-page .zy-dashboard-notice {
        align-items: stretch;
        flex-direction: column;
    }

    .zy-admin-page .zy-dashboard-project-actions {
        width: 100%;
    }

    .zy-admin-page .fixed-table-toolbar {
        align-items: stretch;
        display: flex;
        flex-direction: column;
    }

    .zy-admin-page .fixed-table-toolbar .search {
        max-width: none;
        width: 100%;
    }

    .zy-admin-page .fixed-table-toolbar .search input {
        min-width: 0;
        width: 100%;
    }

    .zy-admin-page .fixed-table-toolbar .bs-bars,
    .zy-admin-page .fixed-table-toolbar .columns,
    .zy-admin-page .fixed-table-toolbar .toolbar,
    .zy-admin-page .bootstrap-table .fixed-table-pagination > div {
        float: none !important;
        width: 100%;
    }

    .zy-admin-page .bootstrap-table .fixed-table-pagination {
        align-items: stretch;
        flex-direction: column;
    }

    .zy-admin-shell .layui-layer-fast,
    .zy-admin-page .layui-layer-fast{left:12px!important;max-width:none;width:calc(100vw - 24px)!important;}

    .zy-admin-page .form-horizontal .control-label {
        margin-bottom: 6px;
        text-align: left;
    }

    .zy-admin-page .panel-body > .table-bordered > tbody > tr > th {
        min-width: 96px;
    }

    .zy-admin-page .zy-property-dashboard > .panel-heading {
        padding: 16px;
    }

    .zy-admin-page .zy-dashboard-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 10px;
    }

    .zy-admin-page .zy-dashboard-heading h2 {
        font-size: 21px;
    }

    .zy-admin-page .zy-dashboard-live {
        align-self: flex-start;
    }

    .zy-admin-page .zy-stat-card {
        min-height: 102px;
    }

    .zy-admin-login .login-wrapper {
        padding: 24px 16px;
    }

    .zy-admin-login .login-head {
        padding: 25px 23px 23px;
    }

    .zy-admin-login .login-head::after {
        left: 23px;
    }

    .zy-admin-login .login-form {
        padding: 25px 23px 21px;
    }

    .zy-admin-login .zy-login-brand-copy h1 {
        font-size: 19px;
    }

    .zy-admin-login .zy-login-brand-copy p {
        letter-spacing: 0.08em;
    }
}

@media (max-width: 359px) {
    .zy-admin-shell .wrapper .main-header .logo {
        margin-left: -62px;
        width: 124px;
    }

    .zy-admin-shell .main-header .logo .logo-lg {
        font-size: 12px;
    }
}

@media (max-width: 420px) {
    .zy-admin-login #login-form .zy-captcha-row {
        grid-template-columns: 1fr;
    }

    .zy-admin-login #login-form .zy-captcha-refresh {
        min-width: 0;
        width: 100%;
    }

    .zy-admin-login .zy-login-mark {
        flex-basis: 48px;
        height: 48px;
    }

    .zy-admin-login .zy-login-brand-copy h1 {
        font-size: 17px;
    }

    .zy-admin-login .zy-login-brand-copy p {
        font-size: 9px;
    }

    .zy-admin-page .zy-stat-icon {
        flex-basis: 42px;
        height: 42px;
    }

    .zy-admin-page .zy-stat-copy > strong {
        font-size: 23px;
    }
}

.zy-admin-page .zy-patrol-heading {
    align-items: center;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    padding: 16px 20px;
}

.zy-admin-page .zy-patrol-heading > div:first-child {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.zy-admin-page .zy-patrol-heading strong {
    color: var(--zy-navy);
    font-size: 17px;
}

.zy-admin-page .zy-patrol-heading strong .fa {
    color: var(--zy-primary);
    margin-right: 7px;
}

.zy-admin-page .zy-patrol-heading small,
.zy-admin-page #patrol-staff-status {
    color: #5e6f82;
}

.zy-admin-page .zy-patrol-heading-actions {
    display: flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    gap: 8px;
}

.zy-admin-page .zy-patrol-search {
    margin-bottom: 12px;
    max-width: 620px;
}

.zy-admin-page .zy-patrol-staff-list {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    margin-top: 12px;
}

.zy-admin-page .zy-patrol-staff-card {
    align-items: center;
    background: #fff;
    border: 1px solid var(--zy-border);
    border-radius: 12px;
    display: grid;
    gap: 12px;
    grid-template-columns: 46px minmax(0, 1fr) auto;
    min-height: 92px;
    padding: 14px;
}

.zy-admin-page .zy-patrol-avatar {
    align-items: center;
    background: var(--zy-soft-primary);
    border-radius: 12px;
    color: var(--zy-primary);
    display: flex;
    font-size: 20px;
    height: 46px;
    justify-content: center;
}

.zy-admin-page .zy-patrol-staff-main,
.zy-admin-page .zy-patrol-contact {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

.zy-admin-page .zy-patrol-staff-main strong {
    color: var(--zy-navy);
    font-size: 16px;
}

.zy-admin-page .zy-patrol-staff-main span,
.zy-admin-page .zy-patrol-staff-main small,
.zy-admin-page .zy-patrol-contact {
    color: #5e6f82;
    overflow-wrap: anywhere;
}

.zy-admin-page .zy-patrol-contact .fa {
    color: var(--zy-primary);
    width: 16px;
}

.zy-admin-page .zy-patrol-empty {
    align-items: center;
    background: var(--zy-soft-primary);
    border: 1px dashed var(--zy-border-strong);
    border-radius: 12px;
    color: #5e6f82;
    display: flex;
    gap: 9px;
    grid-column: 1 / -1;
    justify-content: center;
    min-height: 72px;
    padding: 15px;
}

.zy-admin-page .zy-patrol-schedule {
    margin-top: 18px;
}

@media (max-width: 767px) {
    .zy-admin-page .zy-patrol-heading,
    .zy-admin-page .zy-patrol-staff-card {
        align-items: stretch;
        grid-template-columns: 42px minmax(0, 1fr);
    }
    .zy-admin-page .zy-patrol-heading { flex-direction: column; }
    .zy-admin-page .zy-patrol-heading-actions { width: 100%; }
    .zy-admin-page .zy-patrol-heading-actions .btn { min-height: 44px; }
    .zy-admin-page .zy-patrol-contact { grid-column: 2; }
}

@media (prefers-reduced-motion: reduce) {
    .zy-admin-page .btn,
    .zy-admin-page .zy-stat-card,
    .zy-admin-page .zy-shortcut,
    .zy-admin-page .zy-queue-card,
    .zy-admin-page .zy-queue-action .fa,
    .zy-admin-page .table-hover > tbody > tr {
        transition: none;
    }

    .zy-admin-page .zy-property-dashboard.is-ready .zy-motion-card,
    .zy-admin-page .zy-dashboard-refresh.is-loading .fa,
    .zy-admin-page .zy-dashboard-live[data-state="ready"] .fa {
        animation: none;
    }
}

/* Project overview 2026: route-driven shell and compact information architecture. */
:root {
    --zy-primary: #176B5B;
    --zy-primary-hover: #125548;
    --zy-canvas: #F6F8FA;
    --zy-border: #E5EAE7;
    --zy-warm: #D97706;
    --zy-danger: #C73E3E;
}

.zy-admin-page { background:#F6F8FA; color:#243832; font-size:14px; }
.zy-admin-page .zy-admin-content { background:#F6F8FA; padding:0; }
.zy-admin-page .zy-property-dashboard { background:#F6F8FA; border:0; border-radius:0; box-shadow:none; margin:0; min-height:100vh; }
.zy-admin-page .zy-property-dashboard > .panel-heading.zy-overview-page-heading {
    align-items:center; background:#fff; border:0; border-bottom:1px solid #E5EAE7; border-radius:0; display:flex;
    justify-content:space-between; min-height:94px; padding:16px 24px;
}
.zy-admin-page .zy-overview-title-copy h2 { color:#203A34; font-size:24px; font-weight:700; line-height:1.2; margin:0 0 4px; }
.zy-admin-page .zy-overview-title-copy > p { color:#65756F; font-size:14px; margin:0 0 7px; }
.zy-admin-page .zy-overview-meta { color:#87938F; display:flex; flex-wrap:wrap; font-size:12px; gap:6px 18px; }
.zy-admin-page .zy-overview-compact-toolbar {
    align-items:center; background:#fff; border-bottom:1px solid #E5EAE7; display:flex; gap:12px;
    justify-content:space-between; padding:10px 24px;
}
.zy-admin-page .zy-overview-compact-toolbar-end { justify-content:flex-end; }
.zy-admin-page .zy-overview-compact-toolbar .zy-overview-meta { margin:0; }
.zy-admin-page .zy-overview-header-actions { display:flex; gap:10px; }
.zy-admin-page .zy-overview-header-actions .btn { border-radius:8px; min-height:38px; padding:8px 14px; }
.zy-admin-page .zy-property-dashboard > .panel-body.zy-overview-body { padding:20px 24px 32px; }
.zy-admin-page .zy-dashboard-section { margin:0 0 24px; }
.zy-admin-page .zy-dashboard-section > .zy-section-heading { align-items:center; display:flex; justify-content:space-between; margin:0 0 12px; padding:0; }
.zy-admin-page .zy-section-heading h3 { color:#253D36; font-size:18px; font-weight:700; margin:0; }
.zy-admin-page .zy-section-heading p,
.zy-admin-page .zy-section-heading > span { color:#84918C; font-size:12px; margin:3px 0 0; }
.zy-admin-page .zy-overview-card { background:#fff; border:1px solid #E5EAE7; border-radius:10px; box-shadow:none; padding:16px; }

.zy-admin-page .zy-overview-todo-grid { display:grid; gap:8px 16px; grid-template-columns:repeat(4,minmax(0,1fr)); }
.zy-admin-page .zy-overview-todo { align-items:center; background:#fff; border:1px solid #EDF0EE; border-radius:8px; color:#435B54; display:grid; gap:9px; grid-template-columns:28px minmax(0,1fr) auto; min-height:48px; padding:8px 12px; text-decoration:none; }
.zy-admin-page .zy-overview-todo > i { color:#176B5B; font-size:15px; text-align:center; }
.zy-admin-page .zy-overview-todo strong { color:#243C35; font-size:18px; }
.zy-admin-page .zy-overview-todo.is-overdue > i,
.zy-admin-page .zy-overview-todo.is-overdue strong { color:#D97706; }
.zy-admin-page .zy-overview-todo.is-critical > i,
.zy-admin-page .zy-overview-todo.is-critical strong { color:#C73E3E; }

.zy-admin-page .zy-overview-chart-wrap { min-height:260px; position:relative; }
.zy-admin-page #property-billing-chart { display:block; height:260px; width:100%; }
.zy-admin-page .zy-billing-grid-line { stroke:#EDF1EF; stroke-width:1; }
.zy-admin-page .zy-billing-axis-label { fill:#7B8984; font-size:11px; }
.zy-admin-page .zy-billing-line { stroke-linecap:round; stroke-linejoin:round; stroke-width:2.5; }
.zy-admin-page .zy-billing-point { outline:none; stroke:#fff; stroke-width:2; }
.zy-admin-page .zy-billing-point:focus { stroke:#243C35; stroke-width:3; }
.zy-admin-page .zy-overview-legend { display:flex; gap:15px; }
.zy-admin-page .zy-overview-legend span::before { border-radius:50%; content:""; display:inline-block; height:8px; margin-right:6px; width:8px; }
.zy-admin-page .zy-overview-legend .is-receivable::before { background:#6B7C78; }
.zy-admin-page .zy-overview-legend .is-collected::before { background:#176B5B; }
.zy-admin-page .zy-overview-legend .is-arrears::before { background:#D97706; }

.zy-admin-page .zy-overview-two-column { display:grid; gap:16px; grid-template-columns:minmax(300px,.72fr) minmax(520px,1.28fr); }
.zy-admin-page .zy-overview-project-table { margin:0; }
.zy-admin-page .zy-overview-project-table th { border-bottom:1px solid #E5EAE7 !important; color:#75827E; font-size:12px; font-weight:600; }
.zy-admin-page .zy-overview-project-table td { border-top:1px solid #F0F2F1 !important; color:#425951; vertical-align:middle; }
.zy-admin-page .zy-overview-project-table td strong,
.zy-admin-page .zy-overview-project-table td small { display:block; }
.zy-admin-page .zy-overview-project-table td small { color:#8A9692; font-size:11px; margin-top:2px; }
.zy-admin-page .zy-overview-project-table .is-money { color:#D97706; white-space:nowrap; }

.zy-admin-page .zy-overview-shortcuts { display:grid; gap:16px; grid-template-columns:repeat(4,minmax(0,1fr)); }
.zy-admin-page .zy-overview-shortcut { align-items:center; background:#fff; border:1px solid #E5EAE7; border-radius:10px; color:#344C45; display:flex; gap:10px; min-height:58px; padding:12px 14px; text-decoration:none; }
.zy-admin-page .zy-overview-shortcut i { color:#176B5B; font-size:17px; }

.zy-admin-page .zy-single-metric-grid { display:grid; gap:16px; grid-template-columns:repeat(4,minmax(0,1fr)); }
.zy-admin-page .zy-single-metric { align-items:center; border:1px solid #E5EAE7; border-radius:10px; color:#536A62; display:grid; gap:4px 10px; grid-template-columns:38px 1fr; padding:14px; text-decoration:none; }
.zy-admin-page .zy-single-metric > i { align-items:center; background:#EEF5F2; border-radius:8px; color:#176B5B; display:flex; grid-row:1 / 3; height:38px; justify-content:center; }
.zy-admin-page .zy-single-metric strong { color:#263E37; font-size:28px; line-height:1; }
.zy-admin-page .zy-single-finance-grid { display:grid; gap:16px; grid-template-columns:repeat(3,minmax(0,1fr)); }
.zy-admin-page .zy-single-finance { background:#fff; border:1px solid #E5EAE7; border-radius:10px; color:#66766F; display:flex; flex-direction:column; gap:9px; padding:16px; text-decoration:none; }
.zy-admin-page .zy-single-finance strong { color:#253D36; font-size:28px; }
.zy-admin-page .zy-single-finance.is-overdue strong { color:#D97706; }
.zy-admin-page .zy-single-work-grid { display:grid; gap:16px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.zy-admin-page .zy-single-work { align-items:center; background:#fff; border:1px solid #E5EAE7; border-radius:10px; color:#176B5B; display:grid; gap:14px; grid-template-columns:42px 1fr auto; padding:15px; text-decoration:none; }
.zy-admin-page .zy-single-work > i:first-child { align-items:center; background:#EEF5F2; border-radius:9px; display:flex; height:42px; justify-content:center; }
.zy-admin-page .zy-single-work small,
.zy-admin-page .zy-single-work strong { display:block; }
.zy-admin-page .zy-single-work small { color:#687A73; font-size:12px; }
.zy-admin-page .zy-single-work strong { color:#263E37; font-size:28px; line-height:1.1; }
.zy-admin-page .zy-single-work.is-critical,
.zy-admin-page .zy-single-work.is-critical strong { color:#C73E3E; }
.zy-admin-page .zy-project-activity { list-style:none; margin:0; padding:0; }
.zy-admin-page .zy-project-activity li { align-items:flex-start; border-bottom:1px solid #EFF2F0; display:grid; gap:12px; grid-template-columns:34px 1fr; padding:10px 0; }
.zy-admin-page .zy-project-activity li:last-child { border-bottom:0; }
.zy-admin-page .zy-project-activity li > i { align-items:center; background:#EEF5F2; border-radius:50%; color:#176B5B; display:flex; height:34px; justify-content:center; }
.zy-admin-page .zy-project-activity strong { color:#304840; }
.zy-admin-page .zy-project-activity p { color:#6C7C76; font-size:13px; margin:2px 0; }
.zy-admin-page .zy-project-activity time { color:#929D99; font-size:12px; }
.zy-admin-page .zy-dashboard-empty { color:#84918C; padding:28px 12px; text-align:center; }

/* Project overview: restrained operational hierarchy and explicit data states. */
.zy-admin-page .zy-overview-title-copy h2 { font-size:27px; font-weight:600; letter-spacing:-.02em; }
.zy-admin-page .zy-overview-header-actions .btn { height:40px; min-height:40px; }
.zy-admin-page .zy-overview-card { border-radius:12px; padding:20px; }
.zy-admin-page .zy-readiness-progress { background:#EDF1EF; border-radius:3px; height:6px; margin:2px 0 16px; overflow:hidden; }
.zy-admin-page .zy-readiness-progress i { background:#176B5B; display:block; height:100%; transition:width .2s ease; width:0; }
.zy-admin-page .zy-readiness-grid { display:grid; gap:8px 16px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.zy-admin-page .zy-readiness-item { align-items:center; border:1px solid #E8ECEA; border-radius:8px; display:flex; justify-content:space-between; min-height:66px; padding:10px 12px; }
.zy-admin-page .zy-readiness-item strong { color:#314A42; font-size:14px; }
.zy-admin-page .zy-readiness-item p { color:#687A73; font-size:12px; margin:3px 0 0; }
.zy-admin-page .zy-readiness-item small { color:#8A9692; display:block; font-size:11px; margin-top:3px; }
.zy-admin-page .zy-readiness-item.is-warning { background:#FFFBF5; border-color:#EEDFC9; }
.zy-admin-page .zy-readiness-item.is-ready { background:#FAFCFB; }
.zy-admin-page .zy-operation-metric-grid { display:grid; gap:16px; grid-template-columns:repeat(3,minmax(0,1fr)); }
.zy-admin-page .zy-operation-metric { background:#fff; border:1px solid #E5EAE7; border-radius:10px; color:inherit; min-height:174px; padding:16px; text-decoration:none; }
.zy-admin-page .zy-operation-metric-title { align-items:center; display:flex; justify-content:space-between; }
.zy-admin-page .zy-operation-metric-title strong { color:#29433B; font-size:16px; }
.zy-admin-page .zy-operation-metric-title span { color:#71817B; font-size:11px; }
.zy-admin-page .zy-operation-metric dl { display:grid; gap:10px 14px; grid-template-columns:repeat(2,minmax(0,1fr)); margin:15px 0 10px; }
.zy-admin-page .zy-operation-metric dl > div { min-width:0; }
.zy-admin-page .zy-operation-metric dt { color:#7B8984; font-size:12px; font-weight:400; }
.zy-admin-page .zy-operation-metric dd { color:#243C35; font-size:21px; font-variant-numeric:tabular-nums; font-weight:600; margin:2px 0 0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.zy-admin-page .zy-operation-metric > p { color:#8A9692; font-size:11px; margin:0; }
.zy-admin-page .zy-operation-metric.is-unavailable { background:#FAFBFB; }
.zy-admin-page .zy-operation-metric.is-unavailable dd { color:#7C8985; font-size:13px; font-weight:500; white-space:normal; }
.zy-admin-page .zy-overview-chart-wrap.is-compact-empty { min-height:150px; }
.zy-admin-page .zy-overview-chart-wrap.is-compact-empty .zy-dashboard-empty { padding:18px 12px; }
.zy-admin-page .zy-overview-chart-wrap.is-compact-empty .zy-dashboard-empty strong { color:#425951; display:block; }
.zy-admin-page .zy-overview-chart-wrap.is-compact-empty .zy-dashboard-empty p { margin:5px 0 12px; }
.zy-admin-page .zy-risk-row.is-unavailable { background:#FFFBF5; border:1px solid #EEDFC9; border-radius:8px; margin-bottom:8px; padding:10px 12px; }
.zy-admin-page .zy-risk-row.is-unavailable p { color:#7A6A52; font-size:12px; margin:5px 0 0; }
.zy-admin-page .zy-project-status.is-warning { background:#FFF4E5; color:#9A5B12; }
.zy-admin-page .zy-overview-todo { transition:background-color .15s ease,border-color .15s ease; }
.zy-admin-page .zy-overview-todo-icon { align-items:center; color:#176B5B; display:flex; justify-content:center; }
.zy-admin-page .zy-overview-todo-copy { min-width:0; }
.zy-admin-page .zy-overview-todo-copy strong,
.zy-admin-page .zy-overview-todo-copy small { display:block; }
.zy-admin-page .zy-overview-todo-copy strong { color:#435B54; font-size:14px; font-weight:600; }
.zy-admin-page .zy-overview-todo-copy small { color:#899590; font-size:11px; margin-top:2px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.zy-admin-page .zy-overview-todo > b { color:#243C35; font-size:18px; font-variant-numeric:tabular-nums; font-weight:600; white-space:nowrap; }
.zy-admin-page .zy-overview-todo.is-unavailable > b { color:#7D8985; font-size:12px; }
.zy-admin-page .zy-overview-todo:hover { background:#F7FAF9; transform:none; }
.zy-admin-page .zy-overview-todo.is-zero { background:#FAFBFB; border-color:#F0F2F1; color:#87938F; }
.zy-admin-page .zy-overview-todo.is-zero > i,
.zy-admin-page .zy-overview-todo.is-zero strong { color:#98A29E !important; }
.zy-admin-page .zy-overview-todo.is-critical:not(.is-active-risk) > i,
.zy-admin-page .zy-overview-todo.is-critical:not(.is-active-risk) strong,
.zy-admin-page .zy-overview-todo.is-overdue:not(.is-active-risk) > i,
.zy-admin-page .zy-overview-todo.is-overdue:not(.is-active-risk) strong { color:#687A73; }
.zy-admin-page .zy-overview-todo.is-critical.is-active-risk > i,
.zy-admin-page .zy-overview-todo.is-critical.is-active-risk strong { color:#A63232; }
.zy-admin-page .zy-overview-todo.is-overdue.is-active-risk > i,
.zy-admin-page .zy-overview-todo.is-overdue.is-active-risk strong { color:#B56A12; }
.zy-admin-page .zy-overview-operating-grid { align-items:stretch; grid-template-columns:minmax(0,2fr) minmax(300px,1fr); }
.zy-admin-page .zy-overview-operating-grid > .zy-dashboard-section { margin-bottom:24px; min-height:342px; }
.zy-admin-page .zy-trend-tools { align-items:flex-end; display:flex; flex-direction:column; gap:8px; }
.zy-admin-page .zy-trend-tools .btn { border-color:#DDE4E1; color:#66766F; }
.zy-admin-page .zy-trend-tools .btn.active { background:#EEF5F2; box-shadow:none; color:#176B5B; }
.zy-admin-page .zy-overview-chart-wrap { min-height:238px; }
.zy-admin-page #property-billing-chart { height:238px; }
.zy-admin-page .zy-billing-bar.is-receivable { fill:#91A39D; }
.zy-admin-page .zy-billing-bar.is-collected { fill:#176B5B; }
.zy-admin-page .zy-billing-bar:focus { outline:none; stroke:#203A34; stroke-width:2; }
.zy-admin-page .zy-billing-line.is-arrears { stroke:#C77A20; stroke-linecap:round; stroke-linejoin:round; stroke-width:2.25; }
.zy-admin-page .zy-billing-point.is-arrears { fill:#C77A20; stroke:#fff; stroke-width:2; }
.zy-admin-page .zy-billing-missing-label { fill:#A0AAA6; font-size:9px; }
.zy-admin-page .zy-chart-foot { align-items:flex-start; border-top:1px solid #F0F2F1; color:#7B8984; display:flex; font-size:12px; gap:18px; justify-content:space-between; line-height:1.45; padding-top:10px; }
.zy-admin-page .zy-chart-foot span:first-child { max-width:72%; }
.zy-admin-page .zy-chart-foot span:last-child { white-space:nowrap; }
.zy-admin-page .zy-risk-row { border-bottom:1px solid #EEF1F0; padding:13px 0; }
.zy-admin-page .zy-risk-row.is-severe .zy-risk-head strong,
.zy-admin-page .zy-risk-row.is-high .zy-risk-head strong { color:#8F3434; }
.zy-admin-page .zy-risk-row:first-child { padding-top:2px; }
.zy-admin-page .zy-risk-row:last-child { border-bottom:0; padding-bottom:0; }
.zy-admin-page .zy-risk-head { align-items:center; display:flex; justify-content:space-between; }
.zy-admin-page .zy-risk-head strong { color:#263E37; font-size:14px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.zy-admin-page .zy-risk-head .btn-link { color:#176B5B; padding:0; }
.zy-admin-page .zy-risk-amount { align-items:baseline; display:flex; gap:8px; margin-top:7px; }
.zy-admin-page .zy-risk-amount span { color:#75827E; font-size:12px; }
.zy-admin-page .zy-risk-amount strong { color:#9A5B12; font-size:18px; font-variant-numeric:tabular-nums; }
.zy-admin-page .zy-risk-amount small { color:#87938F; }
.zy-admin-page .zy-risk-meta { color:#6F7E79; display:flex; flex-wrap:wrap; font-size:12px; gap:5px 14px; margin-top:5px; }
.zy-admin-page .zy-overview-project-table { font-variant-numeric:tabular-nums; min-width:1120px; }
.zy-admin-page .zy-overview-project-table td:first-child { min-width:160px; }
.zy-admin-page .zy-overview-project-table td:first-child .btn-link { color:#29433B; display:block; padding:0; text-align:left; }
.zy-admin-page .zy-overview-project-table .is-money { color:#9A5B12; }
.zy-admin-page .zy-project-status { background:#F1F4F3; border-radius:12px; color:#65746F; display:inline-block; font-size:12px; padding:3px 8px; white-space:nowrap; }
.zy-admin-page .zy-project-status.is-active { background:#EAF4F0; color:#176B5B; }
.zy-admin-page .zy-project-status.is-danger { background:#FBECEC; color:#A63232; }
.zy-admin-page .zy-demo-data-flag { background:#F2F4F3; border-radius:10px; color:#66766F; padding:2px 7px; }
.zy-admin-page #property-single-basic-metrics article,
.zy-admin-page #property-single-finance article { background:#fff; border:1px solid #E5EAE7; border-radius:10px; display:flex; flex-direction:column; min-height:108px; padding:16px; }
.zy-admin-page #property-single-basic-metrics article > span,
.zy-admin-page #property-single-finance article > span { color:#71817B; font-size:13px; }
.zy-admin-page #property-single-basic-metrics article > strong,
.zy-admin-page #property-single-finance article > strong { color:#253D36; font-size:28px; font-variant-numeric:tabular-nums; font-weight:600; margin:7px 0 4px; }
.zy-admin-page #property-single-basic-metrics article > small,
.zy-admin-page #property-single-finance article > small { color:#8A9692; font-size:11px; }
.zy-admin-page .zy-project-activity li.addtabsit { color:inherit; cursor:pointer; text-decoration:none; }
.zy-admin-page .zy-project-activity small { color:#87938F; display:block; font-size:11px; }
.zy-admin-page .zy-dashboard-feedback { align-items:center; background:#FFF8EE; border:1px solid #F0D8B4; border-radius:10px; color:#7D541E; display:flex; gap:10px; margin:0 0 16px; padding:10px 14px; }
.zy-admin-page .zy-dashboard-feedback span { flex:1; }
.zy-admin-page .zy-overview-skeleton { display:grid; gap:16px; grid-template-columns:repeat(5,minmax(0,1fr)); margin-bottom:24px; }
.zy-admin-page .zy-overview-skeleton i { background:#E9EEEC; border-radius:10px; display:block; height:124px; opacity:.72; }
.zy-admin-page .zy-property-dashboard.is-loading.has-valid-data .zy-overview-body { opacity:.92; }

.zy-admin-page a.zy-overview-todo:hover,
.zy-admin-page a.zy-overview-shortcut:hover,
.zy-admin-page a.zy-single-metric:hover,
.zy-admin-page a.zy-single-finance:hover,
.zy-admin-page a.zy-single-work:hover { border-color:#B9CEC7; color:#176B5B; transform:translateY(-1px); }
.zy-admin-page a.zy-overview-todo:focus,
.zy-admin-page a.zy-overview-shortcut:focus,
.zy-admin-page a.zy-single-metric:focus,
.zy-admin-page a.zy-single-finance:focus,
.zy-admin-page a.zy-single-work:focus { box-shadow:0 0 0 3px rgba(23,107,91,.14); outline:2px solid #176B5B; outline-offset:1px; }

#toast-container { max-width:320px; width:calc(100% - 32px); }
#toast-container > .toast-success { background-color:#fff !important; background-image:none !important; border:1px solid #DDE7E3; border-left:3px solid #176B5B; border-radius:8px; box-shadow:0 8px 24px rgba(31,58,50,.12); color:#29423A !important; opacity:1; padding:13px 16px !important; width:100%; }
#toast-container > .toast-success .toast-message { color:#29423A; }

@media (max-width:1199px) {
    .zy-admin-page .zy-overview-todo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .zy-admin-page .zy-overview-two-column { grid-template-columns:1fr; }
    .zy-admin-page .zy-operation-metric-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:767px) {
    .zy-admin-page .zy-property-dashboard > .panel-heading.zy-overview-page-heading { align-items:flex-start; flex-direction:column; gap:12px; min-height:0; padding:14px 16px; }
    .zy-admin-page .zy-overview-compact-toolbar { align-items:flex-start; flex-direction:column; padding:10px 16px; }
    .zy-admin-page .zy-overview-compact-toolbar-end { align-items:flex-end; }
    .zy-admin-page .zy-overview-header-actions { width:100%; }
    .zy-admin-page .zy-overview-header-actions .btn { flex:1; }
    .zy-admin-page .zy-property-dashboard > .panel-body.zy-overview-body { padding:16px; }
    .zy-admin-page .zy-single-metric-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .zy-admin-page .zy-overview-todo-grid,
    .zy-admin-page .zy-single-finance-grid,
    .zy-admin-page .zy-single-work-grid,
    .zy-admin-page .zy-overview-shortcuts { grid-template-columns:1fr; }
    .zy-admin-page .zy-readiness-grid,
    .zy-admin-page .zy-operation-metric-grid { grid-template-columns:1fr; }
    .zy-admin-page .zy-section-heading { align-items:flex-start !important; flex-wrap:wrap; gap:8px; }
}

.zy-admin-page .zy-project-management-page { background:#F6F8FA; border:0; box-shadow:none; margin:0; min-height:100vh; }
.zy-admin-page .zy-project-management-page > .panel-body { padding:24px; }
.zy-admin-page .zy-business-page-title { align-items:center; background:#fff; border:1px solid #E5EAE7; border-radius:10px; display:flex; justify-content:space-between; margin-bottom:16px; min-height:86px; padding:16px 20px; }
.zy-admin-page .zy-business-page-title h1 { color:#203A34; font-size:24px; font-weight:700; line-height:1.25; margin:0 0 5px; }
.zy-admin-page .zy-business-page-title p { color:#687A73; font-size:14px; margin:0; }
.zy-admin-page .zy-patrol-summary { display:grid; gap:12px; grid-template-columns:repeat(7,minmax(0,1fr)); margin:0 0 8px; }
.zy-admin-page .zy-patrol-stat { background:#fff; border:1px solid #E5EAE7; border-radius:10px; color:#536861; min-height:76px; padding:12px 16px; text-align:left; transition:border-color .15s ease,background .15s ease,transform .15s ease; }
.zy-admin-page .zy-patrol-stat:hover,.zy-admin-page .zy-patrol-stat:focus,.zy-admin-page .zy-patrol-stat.is-active { background:#F3F8F6; border-color:#176B5B; outline:none; transform:translateY(-1px); }
.zy-admin-page .zy-patrol-stat span { display:block; font-size:12px; margin-bottom:4px; }
.zy-admin-page .zy-patrol-stat strong { color:#203A34; display:block; font-size:28px; line-height:1; }
.zy-admin-page .zy-patrol-stat.is-warning strong { color:#B96A12; }
.zy-admin-page .zy-patrol-stat.is-danger strong { color:#B42318; }
.zy-admin-page .zy-patrol-summary-meta { color:#73837D; font-size:12px; margin:0 0 14px; }
.zy-admin-page .zy-patrol-schedule .panel-body,.zy-admin-page .zy-patrol-roster .panel-body { padding:18px 20px; }
.zy-admin-page .zy-patrol-schedule .table>tbody>tr>td,.zy-admin-page .zy-patrol-roster .table>tbody>tr>td { height:48px; vertical-align:middle; }
.zy-admin-page .zy-patrol-schedule .table>thead>tr>th,.zy-admin-page .zy-patrol-roster .table>thead>tr>th { background:#F7F9F8; color:#4E635B; }
.zy-admin-page #patrol-staff-list .small { line-height:1.35; margin-top:4px; max-width:220px; white-space:normal; }
.zy-admin-page .zy-technical-help { background:#fff; border:1px solid #E5EAE7; border-radius:10px; color:#697A74; margin:0 0 16px; padding:0 14px; }
.zy-admin-page .zy-technical-help summary { color:#52655E; cursor:pointer; font-size:13px; padding:11px 0; }
.zy-admin-page .zy-technical-help summary:focus { outline:2px solid rgba(23,107,91,.35); outline-offset:2px; }
.zy-admin-page .zy-technical-help > div { border-top:1px solid #EEF1EF; font-size:12px; line-height:1.7; padding:10px 0 12px; }
.zy-admin-page .zy-project-management-page .fixed-table-container { background:#fff; border:1px solid #E5EAE7; border-radius:10px; overflow:hidden; }
.zy-admin-page .zy-project-management-page .table > thead > tr > th { background:#FAFBFA; border-bottom:1px solid #E5EAE7; color:#5C6E67; }
.zy-admin-page .zy-project-management-page .table > tbody > tr > td { border-color:#EEF1EF; vertical-align:middle; }
.zy-admin-page .zy-cell-note { color:#8A9692; display:block; font-size:12px; font-weight:400; margin-top:3px; }
.zy-admin-page .zy-business-name-link { color:#24443B; display:inline-block; text-decoration:none; }
.zy-admin-page .zy-business-name-link:hover { color:#176B5B; }
.zy-admin-page .zy-business-name-link:focus { border-radius:3px; outline:2px solid rgba(23,107,91,.35); outline-offset:2px; }

.zy-admin-page .zy-community-detail { display:grid; gap:16px; }
.zy-admin-page .zy-community-detail-main { background:#fff; border:1px solid #E5EAE7; border-radius:10px; display:grid; gap:16px; grid-template-columns:repeat(3,minmax(0,1fr)); padding:18px; }
.zy-admin-page .zy-community-detail-main div,
.zy-admin-page .zy-community-metrics article { display:flex; flex-direction:column; gap:7px; }
.zy-admin-page .zy-community-detail-main span,
.zy-admin-page .zy-community-metrics span { color:#75857F; font-size:12px; }
.zy-admin-page .zy-community-detail-main strong { color:#2A433B; font-size:15px; }
.zy-admin-page .zy-community-metrics { display:grid; gap:16px; grid-template-columns:repeat(4,minmax(0,1fr)); }
.zy-admin-page .zy-community-metrics article { background:#fff; border:1px solid #E5EAE7; border-radius:10px; min-height:104px; padding:16px; }
.zy-admin-page .zy-community-metrics strong { color:#203A34; font-size:30px; line-height:1; }

.zy-admin-page .zy-space-browser { align-items:start; display:grid; gap:16px; grid-template-columns:260px minmax(0,1fr); }
.zy-admin-page .zy-space-tree-panel,
.zy-admin-page .zy-space-list-panel { background:#fff; border:1px solid #E5EAE7; border-radius:10px; min-width:0; }
.zy-admin-page .zy-space-module-nav { align-items:center; display:flex; gap:6px; margin:0 0 10px; }
.zy-admin-page .zy-space-module-nav .btn { border-radius:6px; font-size:12px; line-height:18px; padding:5px 9px; }
.zy-admin-page .zy-space-module-nav .btn.active { cursor:default; pointer-events:none; }
.zy-admin-page .zy-space-tree-panel { position:sticky; top:16px; }
.zy-admin-page .zy-space-tree-heading { align-items:center; border-bottom:1px solid #E5EAE7; display:flex; justify-content:space-between; min-height:48px; padding:8px 12px 8px 16px; }
.zy-admin-page .zy-space-tree-tools { border-bottom:1px solid #EEF1EF; display:grid; gap:8px; padding:10px 12px; }
.zy-admin-page .zy-space-tree-tools .btn-group { display:flex; }
.zy-admin-page .zy-space-tree-tools .btn { flex:1 1 50%; }
.zy-admin-page .zy-space-tree { max-height:calc(100vh - 260px); overflow:auto; padding:8px; }
.zy-admin-page .zy-space-tree-row { min-width:0; }
.zy-admin-page .zy-space-tree-children[hidden] { display:none; }
.zy-admin-page .zy-tree-loading { display:block; padding:8px 10px 8px 24px; }
.zy-admin-page .zy-space-tree-node { align-items:center; background:transparent; border:0; border-radius:7px; color:#40564F; display:grid; gap:7px; grid-template-columns:14px minmax(0,1fr) auto; padding:9px 8px 9px calc(9px + var(--tree-depth)*14px); text-align:left; width:100%; }
.zy-admin-page .zy-space-tree-node small { color:#89958F; font-size:11px; }
.zy-admin-page .zy-space-tree-node:hover { background:#F3F7F5; color:#176B5B; }
.zy-admin-page .zy-space-tree-node:focus { outline:2px solid rgba(23,107,91,.35); outline-offset:-2px; }
.zy-admin-page .zy-space-tree-node.is-active { background:#EAF3F0; color:#176B5B; font-weight:600; }
.zy-admin-page .zy-space-contextbar { align-items:center; border-bottom:1px solid #E5EAE7; display:flex; gap:12px; justify-content:space-between; min-height:58px; padding:10px 14px; }
.zy-admin-page .zy-space-contextbar > div:first-child { display:flex; flex-direction:column; }
.zy-admin-page .zy-space-contextbar span { color:#819089; font-size:11px; }
.zy-admin-page .zy-space-contextbar strong { color:#29433B; }
.zy-admin-page .zy-space-breadcrumb { color:#819089; font-size:11px; margin-top:2px; }
.zy-admin-page .zy-space-list-panel .toolbar,
.zy-admin-page .zy-space-list-panel .bootstrap-table { margin-left:14px; margin-right:14px; }
.zy-admin-page .zy-space-list-panel .fixed-table-container { margin-bottom:14px; }
.zy-admin-page .zy-space-structure-page .panel-body { padding:20px 24px; }
.zy-admin-page .zy-structure-scope { background:#F7FAF8; border-color:#DDE9E4; color:#496159; margin:16px 0; }
.zy-admin-page .zy-structure-layout { display:grid; gap:16px; grid-template-columns:220px minmax(0,1fr); }
.zy-admin-page .zy-structure-viewbar{align-items:center;display:flex;gap:8px;margin:0 0 16px}.zy-admin-page .zy-structure-viewbar span{color:#718079;font-size:12px;margin-left:8px}
.zy-admin-page #structure-graph-view[hidden],.zy-admin-page #structure-builder-view[hidden],.zy-admin-page .zy-org-tree ul[hidden],.zy-admin-page .zy-structure-section[hidden],.zy-admin-page .custom-category-field[hidden]{display:none!important}
.zy-admin-page .zy-org-panel{background:#fff;border:1px solid #E5EAE7;border-radius:10px;min-height:430px;padding:18px}.zy-admin-page .zy-org-tools{display:flex;gap:8px;justify-content:flex-end;margin-bottom:14px}.zy-admin-page .zy-org-create-actions{display:flex;gap:8px;margin-right:auto}.zy-admin-page .zy-org-scroll{min-height:350px;overflow:auto;padding:16px 20px 40px}.zy-admin-page .zy-org-tree,.zy-admin-page .zy-org-tree ul{display:flex;justify-content:center;list-style:none;margin:0;padding:0;position:relative}.zy-admin-page .zy-org-tree ul{gap:18px;padding-top:34px}.zy-admin-page .zy-org-tree ul:before{border-left:1px solid #C9D7D1;content:"";height:34px;left:50%;position:absolute;top:0}.zy-admin-page .zy-org-tree li{align-items:center;display:flex;flex-direction:column;padding:0 8px;position:relative}.zy-admin-page .zy-org-tree ul>li:before{border-top:1px solid #C9D7D1;content:"";left:0;position:absolute;right:0;top:-17px}.zy-admin-page .zy-org-tree ul>li:first-child:before{left:50%}.zy-admin-page .zy-org-tree ul>li:last-child:before{right:50%}.zy-admin-page .zy-org-tree ul>li:only-child:before{display:none}.zy-admin-page .zy-org-card{align-items:stretch;background:#fff;border:1px solid #DCE5E1;border-radius:10px;display:flex;min-height:70px;min-width:190px;position:relative;z-index:1}.zy-admin-page .zy-org-card:hover{border-color:#7FA99F;background:#FAFCFB}.zy-admin-page .zy-org-community{background:#176B5B;border-color:#176B5B;color:#fff;min-width:300px}.zy-admin-page .zy-org-main{align-items:center;background:transparent;border:0;color:inherit;display:flex;flex:1;gap:10px;padding:12px;text-align:left}.zy-admin-page .zy-org-main strong,.zy-admin-page .zy-org-main small{display:block;max-width:180px}.zy-admin-page .zy-org-main small{color:#7C8C85;font-size:12px;margin-top:4px}.zy-admin-page .zy-org-community .zy-org-main small{color:#D9E8E3}.zy-admin-page .zy-org-icon{align-items:center;background:#EAF3F0;border-radius:8px;color:#176B5B;display:flex;height:38px;justify-content:center;width:38px}.zy-admin-page .zy-org-community .zy-org-icon{background:rgba(255,255,255,.16);color:#fff}.zy-admin-page .zy-org-toggle{color:#6C7D76;display:inline-block;width:10px}.zy-admin-page .zy-org-edit{background:transparent;border:0;border-left:1px solid #EDF1EF;color:#6B7D76;padding:0 10px}.zy-admin-page .zy-org-root-add{align-items:center;background:rgba(255,255,255,.14);border:0;border-left:1px solid rgba(255,255,255,.2);color:#fff;display:flex;flex-direction:column;font-size:12px;gap:3px;justify-content:center;padding:0 12px}.zy-admin-page .zy-org-root-add:hover{background:rgba(255,255,255,.22)}.zy-admin-page .zy-org-loading,.zy-admin-page .zy-org-error{color:#718079;min-width:180px;padding:18px;text-align:center}.zy-admin-page .zy-org-empty{align-items:center;color:#667770;display:flex;flex-direction:column;gap:10px;justify-content:center;min-height:330px}.zy-admin-page .zy-org-empty[hidden]{display:none}.zy-admin-page .zy-org-empty>i{color:#9AB0A8;font-size:42px}.zy-admin-page .zy-org-empty>strong{color:#273A34;font-size:18px}
.zy-admin-page .zy-structure-steps,.zy-admin-page .zy-structure-workspace { background:#fff; border:1px solid #E5EAE7; border-radius:10px; }
.zy-admin-page .zy-structure-steps { align-self:start; padding:18px; }
.zy-admin-page .zy-structure-steps ol { list-style:none; margin:16px 0; padding:0; }
.zy-admin-page .zy-structure-steps li { border-left:2px solid #DCE5E1; color:#7D8C86; padding:10px 0 10px 16px; }
.zy-admin-page .zy-structure-steps li.active { border-color:#176B5B; color:#176B5B; font-weight:600; }
.zy-admin-page .zy-structure-steps details { color:#667770; font-size:12px; }
.zy-admin-page .zy-structure-workspace { padding:20px; }
.zy-admin-page .zy-structure-mode { display:flex; gap:8px; margin-bottom:18px; }
.zy-admin-page .zy-structure-section { border-top:1px solid #EEF1EF; padding:16px 0; }
.zy-admin-page .zy-structure-section h3 { font-size:16px; margin:0 0 14px; }
.zy-admin-page .zy-rule-grid { display:grid; gap:14px; grid-template-columns:repeat(3,minmax(150px,1fr)); }
.zy-admin-page .zy-rule-grid label { color:#51635C; font-size:13px; font-weight:500; }
.zy-admin-page .zy-rule-grid .form-control { margin-top:6px; }
.zy-admin-page .zy-structure-preview { background:#F6F8FA; border:1px solid #E5EAE7; border-radius:8px; display:grid; gap:16px; grid-template-columns:1fr 2fr; margin:4px 0 18px; padding:14px 18px; }
.zy-admin-page .zy-structure-preview div { display:flex; flex-direction:column; }
.zy-admin-page .zy-structure-preview span,.zy-admin-page .zy-structure-preview small { color:#7C8A85; }
.zy-admin-page .zy-structure-preview strong { color:#263D36; font-size:18px; margin:4px 0; }
@media(max-width:991px){.zy-admin-page .zy-structure-layout{grid-template-columns:1fr}.zy-admin-page .zy-rule-grid{grid-template-columns:repeat(2,minmax(140px,1fr))}}

@media (max-width:991px) {
    .zy-admin-page .zy-space-browser { grid-template-columns:220px minmax(0,1fr); }
    .zy-admin-page .zy-community-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:767px) {
    .zy-admin-page .zy-project-management-page > .panel-body { padding:16px; }
    .zy-admin-page .zy-business-page-title { align-items:flex-start; flex-direction:column; gap:12px; }
    .zy-admin-page .zy-business-page-title .btn { width:100%; }
    .zy-admin-page .zy-patrol-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .zy-admin-page .zy-community-detail-main,
    .zy-admin-page .zy-community-metrics,
    .zy-admin-page .zy-space-browser { grid-template-columns:1fr; }
    .zy-admin-page .zy-space-tree-panel { position:static; }
    .zy-admin-page .zy-space-tree { max-height:300px; }
    .zy-admin-page .zy-space-contextbar { align-items:flex-start; flex-direction:column; }
    .zy-admin-page .zy-space-categories { display:flex; overflow:auto; width:100%; }
    .zy-admin-page .zy-space-categories .btn { flex:0 0 auto; min-height:40px; }
}
.zy-content-page-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin: 0 0 16px;
}
.zy-content-page-head h1 { margin: 0 0 6px; color: #203b36; font-size: 24px; font-weight: 600; }
.zy-content-page-head p { margin: 0; color: #72827e; font-size: 14px; }
.zy-admin-page .zy-content-operations { background:#F6F8FA; border:0; box-shadow:none; min-height:100%; }
.zy-admin-page .zy-content-operations > .panel-body { padding:20px 24px; }
.zy-admin-page .zy-content-operations .zy-content-page-head,
.zy-admin-page .zy-content-operations .zy-list-intro { background:#fff; border:1px solid #E5EAE7; border-radius:10px; box-shadow:none; margin-bottom:16px; min-height:76px; padding:16px 20px; }
.zy-admin-page .zy-content-operations .fixed-table-container { background:#fff; border:1px solid #E5EAE7; border-radius:10px; overflow:hidden; }
.zy-admin-page .zy-content-operations .table > thead > tr > th { background:#FAFBFA; border-bottom:1px solid #E5EAE7; color:#566A62; }
.zy-admin-page .zy-content-operations .table > tbody > tr > td { border-color:#EEF1EF; height:50px; vertical-align:middle; }

/* Account ownership, recovery and role administration */
.zy-admin-page .zy-account-pending { align-items:flex-start; background:#fff; border:1px solid var(--zy-border); border-radius:10px; display:flex; gap:18px; margin:28px auto; max-width:760px; padding:28px 30px; }
.zy-admin-page .zy-account-pending__icon { align-items:center; background:var(--zy-soft-warning); border-radius:50%; color:#A86412; display:flex; flex:0 0 36px; height:36px; justify-content:center; margin-top:2px; width:36px; }
.zy-admin-page .zy-account-pending__content { flex:1; min-width:0; }
.zy-admin-page .zy-account-pending h2 { color:var(--zy-ink); font-size:22px; font-weight:600; margin:0 0 8px; }
.zy-admin-page .zy-account-pending__facts { border:1px solid var(--zy-border); border-radius:8px; display:grid; grid-template-columns:1fr 1fr; margin:20px 0; }
.zy-admin-page .zy-account-pending__facts div { display:flex; flex-direction:column; gap:4px; min-height:70px; padding:14px 16px; }
.zy-admin-page .zy-account-pending__facts div:nth-child(odd) { border-right:1px solid var(--zy-border); }
.zy-admin-page .zy-account-pending__facts div:nth-child(-n+2) { border-bottom:1px solid var(--zy-border); }
.zy-admin-page .zy-account-pending__facts span,.zy-admin-page .zy-detail-grid dt { color:var(--zy-muted); font-size:12px; font-weight:500; }
.zy-admin-page .zy-account-pending__facts strong { color:var(--zy-ink); font-size:14px; font-weight:600; }
.zy-admin-page .zy-account-pending__missing { background:#FBF7F0; border-left:3px solid #C78935; color:#5E4A2D; padding:12px 16px; }
.zy-admin-page .zy-account-pending__missing ul { margin:7px 0 0; padding-left:18px; }
.zy-admin-page .zy-account-pending__actions { display:flex; gap:10px; margin:20px 0 14px; }
.zy-admin-page .zy-account-pending__technical { border-top:1px solid var(--zy-border); color:var(--zy-muted); font-size:12px; padding-top:12px; }
.zy-admin-page .zy-account-pending__technical summary { cursor:pointer; }
.zy-admin-page .zy-account-pending__technical dl { display:grid; grid-template-columns:70px 1fr; margin:10px 0 0; }
.zy-admin-page .zy-account-pending__technical dt,.zy-admin-page .zy-account-pending__technical dd { margin:0; padding:3px 0; }
.zy-admin-page .zy-scope-note { background:#F3F7F5; border:1px solid var(--zy-border); border-radius:6px; color:#5D716A; display:inline-block; font-size:12px; margin-left:12px; padding:6px 10px; }
.zy-admin-page .zy-row-actions .dropdown-menu { border:1px solid var(--zy-border); box-shadow:var(--zy-shadow-sm); min-width:190px; padding:5px 0; }
.zy-admin-page .zy-row-actions .dropdown-menu a { color:var(--zy-ink); padding:8px 14px; }
.zy-admin-page .zy-row-actions .dropdown-menu a.text-danger { color:#9B3E3E; }
.zy-admin-page .zy-account-detail { color:var(--zy-ink); padding:20px 24px 28px; }
.zy-admin-page .zy-account-detail__header { align-items:center; border-bottom:1px solid var(--zy-border); display:flex; justify-content:space-between; margin-bottom:20px; padding-bottom:16px; }
.zy-admin-page .zy-account-detail__header h3 { font-size:20px; margin:0 0 4px; }
.zy-admin-page .zy-account-detail__header p { color:var(--zy-muted); margin:0; }
.zy-admin-page .zy-account-detail section { border-bottom:1px solid var(--zy-border); margin-bottom:18px; padding-bottom:12px; }
.zy-admin-page .zy-account-detail section:last-child { border-bottom:0; }
.zy-admin-page .zy-account-detail h4 { font-size:15px; font-weight:600; margin:0 0 12px; }
.zy-admin-page .zy-detail-grid { display:grid; grid-template-columns:120px minmax(0,1fr) 120px minmax(0,1fr); margin:0; }
.zy-admin-page .zy-detail-grid dt,.zy-admin-page .zy-detail-grid dd { border-top:1px solid #EEF2F0; margin:0; min-height:42px; padding:11px 8px; }
.zy-admin-page .zy-detail-grid dd { color:#314A42; }
.zy-admin-page .zy-audit-list { list-style:none; margin:0; padding:0; }
.zy-admin-page .zy-audit-list li { align-items:center; border-top:1px solid #EEF2F0; display:flex; justify-content:space-between; padding:9px 4px; }
.zy-admin-page .zy-audit-list time { color:var(--zy-muted); font-size:12px; }
@media (max-width:767px) { .zy-admin-page .zy-account-pending { margin:14px; padding:20px; } .zy-admin-page .zy-account-pending__facts,.zy-admin-page .zy-detail-grid { grid-template-columns:1fr; } .zy-admin-page .zy-account-pending__facts div { border-bottom:1px solid var(--zy-border); border-right:0 !important; } }
.zy-admin-page .zy-content-operations .btn-primary { background:#176B5B; border-color:#176B5B; }
.zy-admin-page .zy-list-feedback[data-state="partial"] { background:#F5F8F7; border-color:#CDDAD5; color:#546B63; }
.zy-admin-page .zy-list-feedback [data-list-feedback-meta] { color:#7B8984; display:block; font-size:11px; margin-left:25px; margin-top:4px; }
.zy-admin-page .zy-operations-list.is-list-error .no-records-found { display:none; }
@media(max-width:767px){.zy-admin-page .zy-content-operations>.panel-body{padding:16px}}

/* Announcement article editor: intentionally self-contained so the same
 * canonical HTML can be previewed in admin and rendered by WeChat rich-text. */
.zy-announcement-form .zy-announcement-editor{background:#fff;border:1px solid #D8E2DE;border-radius:10px;box-shadow:0 8px 24px rgba(23,60,56,.06);overflow:visible;position:relative}
.zy-announcement-form .zy-announcement-editor-toolbar{align-items:center;background:#F6F9F8;border-bottom:1px solid #DDE7E3;border-radius:10px 10px 0 0;display:flex;flex-wrap:wrap;gap:6px;padding:10px;position:sticky;top:0;z-index:12}
.zy-announcement-form .zy-announcement-editor-toolbar .btn{border-color:#D7E2DE;color:#365C55;min-height:34px;padding:6px 10px}
.zy-announcement-form .zy-announcement-editor-toolbar .btn:focus,.zy-announcement-form .zy-announcement-editor-toolbar .btn:hover{background:#EAF4F1;border-color:#9FC2B9;color:#176B5B}
.zy-announcement-form .zy-announcement-editor-toolbar .btn-group{display:inline-flex}
.zy-announcement-form .zy-editor-block{display:inline-block;height:34px;padding:5px 28px 5px 10px;width:96px}
.zy-announcement-form .zy-announcement-editor-surface{background:#fff;color:#243B37;font-size:16px;line-height:1.8;min-height:480px;outline:0;overflow-wrap:anywhere;padding:28px 34px}
.zy-announcement-form .zy-announcement-editor-surface:focus{box-shadow:inset 0 0 0 2px rgba(23,107,91,.14)}
.zy-announcement-form .zy-announcement-editor.has-editor-error{border-color:#D9534F;box-shadow:0 0 0 2px rgba(217,83,79,.12)}
.zy-announcement-form .zy-announcement-editor-surface:empty:before{color:#9AA9A4;content:attr(data-placeholder);pointer-events:none}
.zy-announcement-form .zy-announcement-editor-surface h2{color:#173C38;font-size:25px;line-height:1.45;margin:1.2em 0 .55em}
.zy-announcement-form .zy-announcement-editor-surface h3{color:#244A44;font-size:20px;line-height:1.5;margin:1.05em 0 .45em}
.zy-announcement-form .zy-announcement-editor-surface p{margin:0 0 1em}
.zy-announcement-form .zy-announcement-editor-surface blockquote{background:#F3F8F6;border-left:4px solid #4D8E82;color:#526D67;margin:1em 0;padding:12px 16px}
.zy-announcement-form .zy-announcement-editor-surface img,.zy-announcement-preview img{display:block;height:auto;margin:18px auto;max-width:100%}
.zy-announcement-preview .zy-announcement-article h2{color:#173C38;font-size:24px;line-height:1.45;margin:1.2em 0 .55em}
.zy-announcement-preview .zy-announcement-article h3{color:#244A44;font-size:20px;line-height:1.5;margin:1.05em 0 .45em}
.zy-announcement-preview .zy-announcement-article blockquote{background:#F3F8F6;border-left:4px solid #4D8E82;color:#526D67;margin:1em 0;padding:12px 16px}
.zy-announcement-preview .zy-announcement-article li{margin:.35em 0}
.zy-announcement-form .zy-announcement-editor-surface hr{border:0;border-top:1px solid #DDE5E2;margin:28px 0}
.zy-announcement-form .zy-announcement-editor-value{height:1px!important;left:-10000px;opacity:0;overflow:hidden;padding:0;position:absolute;width:1px!important}
.zy-announcement-form .zy-announcement-editor-status{align-items:center;background:#FAFBFA;border-top:1px solid #EDF1EF;color:#71827D;display:flex;font-size:12px;justify-content:space-between;padding:8px 12px}
.zy-announcement-form .zy-editor-icon-panel{background:#fff;border:1px solid #D6E1DD;border-radius:8px;box-shadow:0 10px 30px rgba(23,60,56,.16);display:flex;flex-wrap:wrap;gap:4px;left:10px;max-width:330px;padding:8px;position:absolute;top:54px;z-index:30}
.zy-announcement-form .zy-editor-icon-panel button{background:#fff;border:0;border-radius:6px;font-size:20px;height:36px;line-height:36px;padding:0;text-align:center;width:36px}
.zy-announcement-form .zy-editor-icon-panel button:hover,.zy-announcement-form .zy-editor-icon-panel button:focus{background:#EAF4F1;outline:0}
@media(min-width:992px){.zy-announcement-form fieldset .form-group>.col-sm-8{width:78%}}
@media(max-width:767px){.zy-announcement-form .zy-announcement-editor-toolbar{position:relative}.zy-announcement-form .zy-announcement-editor-surface{min-height:360px;padding:20px}.zy-announcement-form .zy-announcement-editor-status{align-items:flex-start;flex-direction:column;gap:4px}}
.zy-admin-shell .sidebar-menu .treeview-menu > li.zy-access-menu-section {
    color: #8a9692;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .08em;
    padding: 14px 14px 5px;
    pointer-events: none;
    text-transform: uppercase;
}
.zy-admin-page .zy-commerce-data-note {
    align-items:center;
    color:#677871;
    display:flex;
    gap:10px;
    margin:0 0 12px;
    min-height:28px;
}
.zy-admin-page .zy-commerce-data-note > .label { background:#eef2f0; color:#53655e; font-weight:600; }
.zy-admin-page .zy-commerce-data-note details { max-width:760px; }
.zy-admin-page .zy-commerce-data-note summary { color:#51655d; cursor:pointer; font-size:13px; }
.zy-admin-page .zy-commerce-data-note p { background:#f7f9f8; border-left:2px solid #cdd8d4; margin:8px 0 0; padding:8px 12px; }
.zy-admin-page .zy-project-initialization { border-top:1px solid var(--zy-border); margin-top:20px; padding-top:18px; }
.zy-admin-page .zy-project-initialization h3 { font-size:16px; margin:0 0 12px; }
.zy-admin-page .zy-project-initialization .zy-readiness-grid { display:grid; gap:10px; grid-template-columns:repeat(4,minmax(0,1fr)); }
.zy-admin-page .zy-project-initialization .zy-readiness-grid > a { align-items:center; background:#fff; border:1px solid var(--zy-border); border-radius:8px; color:#344b47; display:flex; justify-content:space-between; min-height:44px; padding:9px 12px; }
.zy-admin-page .zy-project-initialization .zy-readiness-grid > a:hover { background:#f4f8f6; border-color:#a9c9c0; color:var(--zy-primary); }
.zy-admin-page .zy-project-initialization .zy-readiness-grid strong { font-size:12px; font-weight:600; margin-left:8px; text-align:right; }
@media (max-width:1100px) { .zy-admin-page .zy-project-initialization .zy-readiness-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
.zy-admin-page .zy-platform-billing>.panel-heading.zy-platform-heading { background:#fff; border-bottom:1px solid var(--zy-border); padding:18px 20px; }
.zy-admin-page .zy-platform-heading strong { color:var(--zy-ink); display:block; font-size:20px; font-weight:600; }
.zy-admin-page .zy-platform-heading small { color:var(--zy-muted); display:block; margin-top:5px; }
.zy-admin-page .zy-platform-help { color:var(--zy-muted); margin:0 0 14px; }
.zy-admin-page .zy-platform-help summary { cursor:pointer; font-size:13px; }
.zy-admin-page .zy-platform-help p { background:#f7f9f8; border-left:2px solid #c8d7d2; margin:8px 0 0; padding:9px 12px; }
.zy-admin-page .zy-platform-summary { display:grid; gap:10px; grid-template-columns:repeat(4,minmax(0,1fr)); margin:0 0 16px; }
.zy-admin-page .zy-platform-summary>[class*=col-] { padding:0; width:auto; }
.zy-admin-page .zy-platform-summary .well { align-items:center; background:#fff; border:1px solid var(--zy-border); border-radius:8px; box-shadow:none; color:var(--zy-ink); display:flex; justify-content:space-between; margin:0; min-height:54px; padding:10px 14px; }
.zy-admin-page .zy-platform-summary .well:hover { background:#f5f8f7; border-color:#abc7bf; }
.zy-admin-page .zy-platform-summary small { color:var(--zy-muted); font-size:12px; }
.zy-admin-page .zy-platform-summary strong { font-size:20px; font-variant-numeric:tabular-nums; }
.zy-admin-page .zy-platform-billing .nav-tabs { margin-top:4px; }
.zy-admin-page .zy-platform-list { border:1px solid var(--zy-border); border-radius:0 0 8px 8px; }
.zy-admin-page .zy-platform-list table { margin:0; min-width:1000px; }
.zy-admin-page .zy-platform-list thead th { background:#f5f7f6; color:#53655f; font-size:13px; padding:12px; white-space:nowrap; }
.zy-admin-page .zy-platform-list tbody>tr:not(.zy-platform-editor-row)>td { padding:14px 12px; vertical-align:middle; }
.zy-admin-page .zy-platform-list th:first-child { width:22%; }
.zy-admin-page .zy-platform-list th:nth-child(2) { width:24%; }
.zy-admin-page .zy-platform-list th:nth-child(3) { width:15%; }
.zy-admin-page .zy-platform-list th:nth-child(4) { width:16%; }
.zy-admin-page .zy-platform-list th:last-child { width:12%; }
.zy-admin-page .zy-platform-blocker,.zy-admin-page .zy-platform-next,.zy-admin-page .zy-platform-money-meta { color:var(--zy-muted); display:block; font-size:12px; line-height:1.5; margin-top:5px; }
.zy-admin-page .zy-platform-next { color:#6b7c76; }
.zy-admin-page .zy-platform-money-meta { white-space:nowrap; }
.zy-admin-page .zy-platform-editor-row>td { background:#f3f6f5 !important; padding:14px !important; }
.zy-admin-page .zy-platform-editor { background:#fff; border:1px solid #cbd8d4; border-radius:10px; box-shadow:0 4px 14px rgba(27,65,55,.06); padding:20px; }
.zy-admin-page .zy-platform-editor__head { align-items:center; border-bottom:1px solid var(--zy-border); display:flex; justify-content:space-between; margin:-2px 0 18px; padding-bottom:14px; }
.zy-admin-page .zy-platform-editor__head strong { display:block; font-size:17px; }
.zy-admin-page .zy-platform-editor__head small { color:var(--zy-muted); display:block; margin-top:4px; }
.zy-admin-page .zy-platform-section-title { color:var(--zy-ink); font-size:14px; font-weight:600; margin:18px 0 12px; }
.zy-admin-page .zy-platform-section-title small { color:var(--zy-muted); font-size:12px; font-weight:400; margin-left:6px; }
.zy-admin-page .zy-platform-form-grid { display:grid; gap:14px; grid-template-columns:repeat(6,minmax(0,1fr)); }
.zy-admin-page .zy-platform-form-grid .zy-span-2 { grid-column:span 2; }
.zy-admin-page .zy-platform-module-grid { display:grid; gap:12px; grid-template-columns:repeat(3,minmax(0,1fr)); }
.zy-admin-page .zy-platform-module-card { background:#f8faf9; border:1px solid var(--zy-border); border-radius:8px; min-width:0; padding:13px; transition:background-color .15s,border-color .15s; }
.zy-admin-page .zy-platform-module-card.is-selected { background:#f2f8f5; border-color:#9fc3b8; }
.zy-admin-page .zy-platform-module-card__toggle { align-items:center; cursor:pointer; display:flex; gap:8px; margin:0 0 10px; }
.zy-admin-page .zy-platform-module-card__toggle span { color:#30463f; flex:1; font-weight:600; }
.zy-admin-page .zy-platform-module-card__toggle em { background:#ecefed; border-radius:10px; color:#77837f; font-size:11px; font-style:normal; padding:2px 7px; }
.zy-admin-page .zy-platform-module-card.is-selected .zy-platform-module-card__toggle em { background:#dfeee8; color:#176b5b; }
.zy-admin-page .zy-platform-module-card input[readonly] { background:#f1f3f2; color:#919a97; }
.zy-admin-page .zy-platform-payment,.zy-admin-page .zy-platform-void { border-top:1px solid var(--zy-border); margin-top:16px; padding-top:14px; }
@media(max-width:1200px){.zy-admin-page .zy-platform-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.zy-admin-page .zy-platform-form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.zy-admin-page .zy-platform-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.zy-admin-page .zy-platform-summary,.zy-admin-page .zy-platform-form-grid,.zy-admin-page .zy-platform-module-grid{grid-template-columns:1fr}.zy-admin-page .zy-platform-form-grid .zy-span-2{grid-column:auto}.zy-admin-page .zy-platform-editor{padding:14px}}
.zy-admin-page .zy-org-delete{background:transparent;border:0;border-left:1px solid #EDF1EF;color:#9A5656;padding:0 10px}.zy-admin-page .zy-org-delete:hover,.zy-admin-page .zy-org-delete:focus{background:#FFF5F4;color:#7D3030}.zy-admin-page .zy-org-delete[disabled]{background:transparent;color:#B8C1BD;cursor:not-allowed}
.zy-admin-page .zy-org-panel{min-width:0}.zy-admin-page .zy-org-scroll{box-sizing:border-box;max-width:100%;overflow-x:auto;overflow-y:hidden;padding-bottom:22px;scrollbar-color:#8FA9A0 #EEF2F0;scrollbar-gutter:stable;scrollbar-width:auto;width:100%}.zy-admin-page .zy-org-scroll:focus{outline:2px solid rgba(23,107,91,.18);outline-offset:-2px}.zy-admin-page .zy-org-scroll::-webkit-scrollbar{height:12px}.zy-admin-page .zy-org-scroll::-webkit-scrollbar-track{background:#EEF2F0;border-radius:999px}.zy-admin-page .zy-org-scroll::-webkit-scrollbar-thumb{background:#8FA9A0;border:2px solid #EEF2F0;border-radius:999px}.zy-admin-page .zy-org-scroll::-webkit-scrollbar-thumb:hover{background:#176B5B}.zy-admin-page .zy-org-tree{box-sizing:border-box;min-width:100%;width:max-content}.zy-admin-page .zy-org-tree>li{min-width:max-content}
.zy-admin-page .zy-org-building-row{align-items:flex-start}.zy-admin-page .zy-org-building-row>.zy-org-building-branch{box-sizing:border-box;width:270px}.zy-admin-page .zy-org-building-row>.zy-org-building-branch>.zy-org-card{width:100%}.zy-admin-page .zy-org-tree .zy-org-branch-children{align-items:stretch;box-sizing:border-box;display:flex;flex-direction:column;gap:6px;justify-content:flex-start;padding:10px 0 0 16px;width:100%}.zy-admin-page .zy-org-tree .zy-org-branch-children:before{border-left:1px solid #C9D7D1;height:calc(100% - 10px);left:7px;top:0}.zy-admin-page .zy-org-tree .zy-org-branch-children>li{align-items:stretch;padding:0;width:100%}.zy-admin-page .zy-org-tree .zy-org-branch-children>li:before,.zy-admin-page .zy-org-tree .zy-org-branch-children>li:first-child:before,.zy-admin-page .zy-org-tree .zy-org-branch-children>li:last-child:before,.zy-admin-page .zy-org-tree .zy-org-branch-children>li:only-child:before{border-top:1px solid #C9D7D1;display:block;left:-9px;right:auto;top:25px;width:9px}.zy-admin-page .zy-org-tree .zy-org-branch-children .zy-org-card{border-radius:8px;min-height:50px;min-width:0;width:100%}.zy-admin-page .zy-org-tree .zy-org-branch-children .zy-org-main{gap:8px;min-width:0;padding:7px 8px}.zy-admin-page .zy-org-tree .zy-org-branch-children .zy-org-copy{min-width:0}.zy-admin-page .zy-org-tree .zy-org-branch-children .zy-org-main strong,.zy-admin-page .zy-org-tree .zy-org-branch-children .zy-org-main small{max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.zy-admin-page .zy-org-tree .zy-org-branch-children .zy-org-icon{border-radius:7px;flex:0 0 30px;height:30px;width:30px}.zy-admin-page .zy-org-tree .zy-org-branch-children .zy-org-edit,.zy-admin-page .zy-org-tree .zy-org-branch-children .zy-org-delete{padding:0 7px}.zy-admin-page .zy-org-tree .zy-org-branch-children .zy-org-branch-children{padding-left:14px;padding-top:6px}.zy-admin-page .zy-org-tree .zy-org-branch-children .zy-org-branch-children:before{height:calc(100% - 6px);left:6px}.zy-admin-page .zy-org-tree .zy-org-branch-children .zy-org-branch-children>li:before{left:-8px;width:8px}
.zy-admin-page .zy-org-feedback{margin:0 0 12px;padding:10px 14px}.zy-admin-page .zy-org-feedback[hidden]{display:none}.zy-admin-page [data-quick-add="building"][aria-busy="true"]{cursor:wait}
.zy-admin-page .zy-org-building-row>.zy-org-node{box-sizing:border-box;width:270px}.zy-admin-page .zy-org-building-row>.zy-org-node>.zy-org-card{width:100%}.zy-admin-page .zy-org-tree .zy-org-branch-children>.zy-org-loading,.zy-admin-page .zy-org-tree .zy-org-branch-children>.zy-org-error{box-sizing:border-box;min-width:0;width:100%}
.zy-admin-page .zy-org-community:hover,.zy-admin-page .zy-org-community:focus-within{background:#176B5B;border-color:#176B5B}.zy-admin-page .zy-native-quick-building-form:not(.zy-org-root-add-form){display:inline-flex;margin:0}.zy-admin-page .zy-org-root-add-form{display:contents}.zy-admin-page .zy-org-community .zy-org-root-add:hover,.zy-admin-page .zy-org-community .zy-org-root-add:focus{background:#2B7A6B;color:#fff;outline:2px solid rgba(255,255,255,.7);outline-offset:-2px}.zy-admin-page .zy-org-community .zy-org-root-add[disabled]{background:rgba(255,255,255,.14);color:#fff;opacity:1}

/* Two visual tiers remain compatible with cached controllers. */
.zy-admin-page .zy-org-tree>.zy-org-root>.zy-org-children{align-items:flex-start;flex-direction:row;flex-wrap:nowrap;justify-content:center}
.zy-admin-page .zy-org-tree>.zy-org-root>.zy-org-children>li{align-items:stretch;box-sizing:border-box;flex:0 0 270px;width:270px}
.zy-admin-page .zy-org-tree>.zy-org-root>.zy-org-children>li>.zy-org-card{box-sizing:border-box;width:100%}
.zy-admin-page .zy-org-tree>.zy-org-root>.zy-org-children>li .zy-org-children{align-items:stretch;box-sizing:border-box;display:flex;flex-direction:column;gap:6px;justify-content:flex-start;padding:10px 0 0 16px;width:100%}
.zy-admin-page .zy-org-tree>.zy-org-root>.zy-org-children>li .zy-org-children:before{border-left:1px solid #C9D7D1;height:calc(100% - 10px);left:7px;top:0}
.zy-admin-page .zy-org-tree>.zy-org-root>.zy-org-children>li .zy-org-children>li{align-items:stretch;box-sizing:border-box;padding:0;width:100%}
.zy-admin-page .zy-org-tree>.zy-org-root>.zy-org-children>li .zy-org-children>li:before,.zy-admin-page .zy-org-tree>.zy-org-root>.zy-org-children>li .zy-org-children>li:first-child:before,.zy-admin-page .zy-org-tree>.zy-org-root>.zy-org-children>li .zy-org-children>li:last-child:before,.zy-admin-page .zy-org-tree>.zy-org-root>.zy-org-children>li .zy-org-children>li:only-child:before{border-top:1px solid #C9D7D1;display:block;left:-9px;right:auto;top:25px;width:9px}
.zy-admin-page .zy-org-tree>.zy-org-root>.zy-org-children>li .zy-org-children .zy-org-card{box-sizing:border-box;border-radius:8px;min-height:50px;min-width:0;width:100%}
.zy-admin-page .zy-org-tree>.zy-org-root>.zy-org-children>li .zy-org-children .zy-org-main{gap:8px;min-width:0;padding:7px 8px}
.zy-admin-page .zy-org-tree>.zy-org-root>.zy-org-children>li .zy-org-children .zy-org-copy{min-width:0}
.zy-admin-page .zy-org-tree>.zy-org-root>.zy-org-children>li .zy-org-children .zy-org-main strong,.zy-admin-page .zy-org-tree>.zy-org-root>.zy-org-children>li .zy-org-children .zy-org-main small{max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.zy-admin-page .zy-org-tree>.zy-org-root>.zy-org-children>li .zy-org-children .zy-org-icon{border-radius:7px;flex:0 0 30px;height:30px;width:30px}
.zy-admin-page .zy-org-tree>.zy-org-root>.zy-org-children>li .zy-org-children .zy-org-edit,.zy-admin-page .zy-org-tree>.zy-org-root>.zy-org-children>li .zy-org-children .zy-org-delete{padding:0 7px}
.zy-admin-page .zy-org-tree>.zy-org-root>.zy-org-children>li .zy-org-children .zy-org-children{padding-left:14px;padding-top:6px}
.zy-admin-page .zy-org-tree>.zy-org-root>.zy-org-children>li .zy-org-children .zy-org-children:before{height:calc(100% - 6px);left:6px}
.zy-admin-page .zy-org-tree>.zy-org-root>.zy-org-children>li .zy-org-children .zy-org-children>li:before{left:-8px;width:8px}
.zy-admin-page .zy-org-tree>.zy-org-root>.zy-org-children>li .zy-org-children>.zy-org-loading,.zy-admin-page .zy-org-tree>.zy-org-root>.zy-org-children>li .zy-org-children>.zy-org-error{box-sizing:border-box;min-width:0;width:100%}

/* Two-tier structure fallback for cached templates without .zy-admin-page. */
.zy-space-structure-page .zy-org-scroll{box-sizing:border-box;max-width:100%;overflow-x:auto;overflow-y:hidden;padding:0 0 20px;scrollbar-color:#8FA9A0 #EEF2F0;scrollbar-gutter:stable;scrollbar-width:auto}
.zy-space-structure-page .zy-org-scroll::-webkit-scrollbar{height:12px}
.zy-space-structure-page .zy-org-scroll::-webkit-scrollbar-track{background:#EEF2F0;border-radius:999px}
.zy-space-structure-page .zy-org-scroll::-webkit-scrollbar-thumb{background:#8FA9A0;border:2px solid #EEF2F0;border-radius:999px}
.zy-space-structure-page .zy-org-tree{box-sizing:border-box;min-width:100%;width:max-content}
.zy-space-structure-page .zy-org-tree>.zy-org-root{min-width:max-content}
.zy-space-structure-page .zy-org-tree>.zy-org-root>.zy-org-children{align-items:flex-start!important;display:flex!important;flex-flow:row nowrap!important;gap:18px!important;justify-content:center!important;min-width:max-content}
.zy-space-structure-page .zy-org-tree>.zy-org-root>.zy-org-children>.zy-org-node{align-items:stretch!important;box-sizing:border-box;display:flex!important;flex:0 0 270px;flex-direction:column!important;min-width:270px;width:270px}
.zy-space-structure-page .zy-org-tree>.zy-org-root>.zy-org-children>.zy-org-node>.zy-org-card{box-sizing:border-box;width:100%}
.zy-space-structure-page .zy-org-tree>.zy-org-root>.zy-org-children>.zy-org-node>.zy-org-children{align-items:stretch!important;border-left:1px solid #C9D7D1;box-sizing:border-box;display:flex!important;flex-direction:column!important;gap:6px!important;justify-content:flex-start!important;margin:0 0 0 12px!important;min-width:0!important;padding:10px 0 0 12px!important;position:relative;width:calc(100% - 12px)!important}
.zy-space-structure-page .zy-org-tree>.zy-org-root>.zy-org-children>.zy-org-node>.zy-org-children:before{display:none!important}
.zy-space-structure-page .zy-org-tree>.zy-org-root>.zy-org-children>.zy-org-node>.zy-org-children>.zy-org-node{align-items:stretch!important;box-sizing:border-box;display:flex!important;flex-direction:column!important;padding:0!important;position:relative;width:100%!important}
.zy-space-structure-page .zy-org-tree>.zy-org-root>.zy-org-children>.zy-org-node>.zy-org-children>.zy-org-node:before{border-top:1px solid #C9D7D1!important;content:"";display:block!important;left:-12px!important;position:absolute;right:auto!important;top:25px!important;width:12px!important}
.zy-space-structure-page .zy-org-tree>.zy-org-root>.zy-org-children>.zy-org-node>.zy-org-children .zy-org-card{border-radius:8px;box-sizing:border-box;min-height:50px;min-width:0;width:100%}
.zy-space-structure-page .zy-org-tree>.zy-org-root>.zy-org-children>.zy-org-node>.zy-org-children .zy-org-main{gap:8px;min-width:0;padding:7px 8px}
.zy-space-structure-page .zy-org-tree>.zy-org-root>.zy-org-children>.zy-org-node>.zy-org-children .zy-org-copy{min-width:0}
.zy-space-structure-page .zy-org-tree>.zy-org-root>.zy-org-children>.zy-org-node>.zy-org-children .zy-org-main strong,.zy-space-structure-page .zy-org-tree>.zy-org-root>.zy-org-children>.zy-org-node>.zy-org-children .zy-org-main small{max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.zy-space-structure-page .zy-org-tree>.zy-org-root>.zy-org-children>.zy-org-node>.zy-org-children .zy-org-icon{border-radius:7px;flex:0 0 30px;height:30px;width:30px}
.zy-space-structure-page .zy-org-tree>.zy-org-root>.zy-org-children>.zy-org-node>.zy-org-children .zy-org-children{align-items:stretch!important;border-left:1px solid #D7E1DD;display:flex!important;flex-direction:column!important;gap:5px!important;margin:0 0 0 10px!important;min-width:0!important;padding:6px 0 0 10px!important;width:calc(100% - 10px)!important}
.zy-space-structure-page .zy-org-tree>.zy-org-root>.zy-org-children>.zy-org-node>.zy-org-children .zy-org-children:before{display:none!important}
.zy-space-structure-page .zy-org-tree>.zy-org-root>.zy-org-children>.zy-org-node>.zy-org-children .zy-org-children>.zy-org-node{align-items:stretch!important;padding:0!important;width:100%!important}
.zy-space-structure-page .zy-org-tree>.zy-org-root>.zy-org-children>.zy-org-node>.zy-org-children .zy-org-children>.zy-org-node:before{border-top:1px solid #D7E1DD!important;display:block!important;left:-10px!important;right:auto!important;top:24px!important;width:10px!important}
/* Preserve collapsed branches over every flex fallback. */
.zy-space-structure-page .zy-org-tree>.zy-org-root>.zy-org-children[hidden],.zy-space-structure-page .zy-org-tree>.zy-org-root>.zy-org-children>.zy-org-node>.zy-org-children[hidden],
.zy-space-structure-page .zy-org-tree>.zy-org-root>.zy-org-children>.zy-org-node>.zy-org-children .zy-org-children[hidden]{display:none!important}

/* Space structure: compact, operation-first workspace. */
.zy-admin-page.zy-space-structure-page{--zy-org-connector:#78988E;--zy-org-connector-sub:#8FA99F;font-size:13px}
.zy-admin-page.zy-space-structure-page > .panel-body{padding:10px 14px}
/* Stronger primary connectors keep the hierarchy legible. */
.zy-space-structure-page .zy-org-tree ul:before{
    border-left-color:var(--zy-org-connector)!important;
    border-left-width:2px!important;
}
.zy-space-structure-page .zy-org-tree ul>li:before{
    border-top-color:var(--zy-org-connector)!important;
    border-top-width:2px!important;
}
.zy-space-structure-page .zy-org-tree>.zy-org-root>.zy-org-children>.zy-org-node>.zy-org-children{
    border-left:2px solid var(--zy-org-connector)!important;
}
.zy-space-structure-page .zy-org-tree>.zy-org-root>.zy-org-children>.zy-org-node>.zy-org-children>.zy-org-node:before{
    border-top:2px solid var(--zy-org-connector)!important;
}
.zy-space-structure-page .zy-org-tree>.zy-org-root>.zy-org-children>.zy-org-node>.zy-org-children .zy-org-children{
    border-left:2px solid var(--zy-org-connector-sub)!important;
}
.zy-space-structure-page .zy-org-tree>.zy-org-root>.zy-org-children>.zy-org-node>.zy-org-children .zy-org-children>.zy-org-node:before{
    border-top:2px solid var(--zy-org-connector-sub)!important;
}
/* This workspace is intentionally operation-first: never render legacy title/help banners. */
.zy-space-structure-page .zy-business-page-title,
.zy-space-structure-page .zy-structure-compact-title,
.zy-space-structure-page .zy-structure-scope,
.zy-space-structure-page .alert-info{display:none!important}
.zy-space-structure-page .zy-structure-viewbar .btn,
.zy-space-structure-page .zy-structure-viewbar .zy-structure-archive-link,
.zy-space-structure-page .zy-org-tools .btn{
    border-radius:6px;
    font-size:12px;
    line-height:18px;
    padding:5px 9px;
}
.zy-space-structure-page .zy-structure-viewbar{
    align-items:center;
    gap:6px;
    margin:0 0 8px;
}
.zy-space-structure-page .zy-structure-archive-link{margin-left:auto}
.zy-space-structure-page .zy-org-panel{
    border-radius:8px;
    display:flex;
    flex-direction:column;
    min-height:max(520px,calc(100vh - 200px));
    padding:12px;
}
.zy-space-structure-page .zy-org-tools{
    gap:6px;
    margin-bottom:8px;
}
.zy-space-structure-page .zy-org-create-actions{gap:6px}
.zy-space-structure-page .zy-org-feedback{
    font-size:12px;
    margin-bottom:8px;
    padding:7px 10px;
}
.zy-space-structure-page .zy-org-scroll{
    flex:1 1 auto;
    min-height:440px;
    padding:8px 8px 14px;
}
.zy-space-structure-page .zy-org-scroll::-webkit-scrollbar{height:8px}
.zy-space-structure-page .zy-org-community{min-width:250px}
.zy-space-structure-page .zy-org-card{
    border-radius:8px;
    min-height:56px;
    min-width:170px;
}
.zy-space-structure-page .zy-org-main{
    gap:8px;
    padding:8px 10px;
}
.zy-space-structure-page .zy-org-main strong{
    font-size:13px;
    line-height:1.25;
}
.zy-space-structure-page .zy-org-main small{
    font-size:11px;
    margin-top:2px;
}
.zy-space-structure-page .zy-org-icon{
    border-radius:7px;
    flex:0 0 32px;
    height:32px;
    width:32px;
}
.zy-space-structure-page .zy-org-edit,
.zy-space-structure-page .zy-org-configure,
.zy-space-structure-page .zy-org-delete{
    font-size:12px;
    padding:0 8px;
}
.zy-space-structure-page .zy-org-configure{background:#F2F8F6;border:0;border-left:1px solid #DCEAE5;color:#176B5B;display:flex;flex-direction:column;font-size:10px;gap:2px;justify-content:center;line-height:1.1;min-width:48px;padding:0 5px}.zy-space-structure-page .zy-org-configure:hover,.zy-space-structure-page .zy-org-configure:focus{background:#E4F2ED;color:#0F584B}.zy-space-structure-page .zy-org-configure i{font-size:12px}.zy-space-structure-page .zy-selected-building{margin:0 0 10px;padding:9px 12px}.zy-space-structure-page .zy-selected-building strong{margin-left:4px}.zy-space-structure-page .zy-structure-help{font-size:12px;margin:0 0 10px}
.zy-space-structure-page .zy-org-root-add{
    font-size:11px;
    padding:0 9px;
}
.zy-space-structure-page .zy-org-tree>.zy-org-root>.zy-org-children{
    gap:14px!important;
    padding-top:26px;
}
.zy-space-structure-page .zy-org-tree>.zy-org-root>.zy-org-children>.zy-org-node{
    flex:0 0 auto;
    min-width:330px;
    width:max-content;
}
.zy-space-structure-page .zy-org-tree>.zy-org-root>.zy-org-children>.zy-org-node>.zy-org-card{min-width:330px;width:max-content}
.zy-space-structure-page .zy-org-tree>.zy-org-root>.zy-org-children>.zy-org-node>.zy-org-card>.zy-org-main{flex:0 0 auto;min-width:190px}
.zy-space-structure-page .zy-org-tree>.zy-org-root>.zy-org-children>.zy-org-node>.zy-org-card>.zy-org-main .zy-org-copy{flex:0 0 auto;min-width:0}
.zy-space-structure-page .zy-org-tree>.zy-org-root>.zy-org-children>.zy-org-node>.zy-org-card>.zy-org-main strong{max-width:none;overflow:visible;text-overflow:clip;white-space:nowrap}
.zy-space-structure-page .zy-org-card.is-virtual{background:#FAFCFB;border-color:#D5E4DE}
.zy-space-structure-page .zy-org-tree>.zy-org-root>.zy-org-children>.zy-org-node>.zy-org-children{
    gap:5px!important;
    padding-top:8px!important;
}
.zy-space-structure-page .zy-org-tree>.zy-org-root>.zy-org-children>.zy-org-node>.zy-org-children .zy-org-card{min-height:50px}
.zy-space-structure-page .zy-org-tree>.zy-org-root>.zy-org-children>.zy-org-node>.zy-org-children .zy-org-main{gap:6px;padding:6px 7px}
.zy-space-structure-page .zy-org-tree>.zy-org-root>.zy-org-children>.zy-org-node>.zy-org-children .zy-org-icon{flex-basis:26px;height:26px;width:26px}
.zy-space-structure-page .zy-org-empty{flex:1 1 auto;gap:8px;min-height:440px}
.zy-space-structure-page .zy-org-empty>i{font-size:30px}
.zy-space-structure-page .zy-org-empty>strong{font-size:14px}
.zy-space-structure-page .zy-structure-layout{display:block}
.zy-space-structure-page .zy-structure-workspace{border-radius:8px;padding:14px}
.zy-space-structure-page .zy-structure-mode{margin-bottom:10px}
.zy-space-structure-page .zy-structure-section{padding:12px 0}
.zy-space-structure-page .zy-structure-section h3{font-size:14px;margin-bottom:10px}
.zy-space-structure-page .zy-rule-grid{gap:10px}
.zy-space-structure-page .zy-rule-grid label{font-size:12px}
.zy-space-structure-page .zy-rule-grid .form-control{font-size:13px;height:34px;margin-top:4px}
.zy-space-structure-page .zy-structure-preview{margin:2px 0 12px;padding:10px 12px}
.zy-space-structure-page .zy-structure-preview strong{font-size:15px}
.zy-space-structure-page .layer-footer{margin-bottom:0}
.zy-building-config-groups,.zy-supporting-space-grid{display:grid;gap:12px}
.zy-building-config-groups{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:12px}
.zy-building-config-group,.zy-supporting-space-card{border:1px solid #E2E9E6;border-radius:8px}
.zy-building-config-group{background:#FBFCFC;padding:14px}
.zy-building-config-group--wide{grid-column:1/-1}
.zy-building-config-heading{display:flex;gap:9px;margin-bottom:12px}
.zy-building-config-heading>span{background:#EAF4F0;border-radius:7px;color:#28715F;flex:0 0 30px;height:30px;line-height:30px;text-align:center;width:30px}
.zy-building-config-heading h4{font-size:14px;font-weight:700;margin:0 0 3px}
.zy-building-config-heading p{color:#7C8A85;margin:0}
.zy-building-config-group>.zy-rule-grid,.zy-supporting-space-card .zy-rule-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.zy-building-config-group--wide:first-child>.zy-rule-grid{grid-template-columns:minmax(240px,1fr)}
.zy-supporting-space-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.zy-supporting-space-card{padding:11px}
.zy-supporting-space-card h5{font-size:13px;font-weight:700;margin:0 0 9px}
@media(max-width:991px){.zy-building-config-groups,.zy-supporting-space-grid{grid-template-columns:1fr}.zy-building-config-group--wide{grid-column:auto}}
@media(max-width:575px){.zy-building-config-group>.zy-rule-grid,.zy-supporting-space-card .zy-rule-grid{grid-template-columns:1fr}}
/* Space structure: replace the framework error page with an in-workspace project picker. */
.zy-space-structure-page .zy-space-project-picker{background:#fff;border:1px solid #E1E8E5;border-radius:10px;box-sizing:border-box;min-height:max(520px,calc(100vh - 160px));padding:32px}
.zy-space-structure-page .zy-space-project-picker-heading{align-items:center;display:flex;gap:14px;margin:0 auto 26px;max-width:980px}
.zy-space-structure-page .zy-space-project-picker-icon{align-items:center;background:#E8F2EF;border-radius:12px;color:#176B5B;display:flex;flex:0 0 48px;font-size:20px;height:48px;justify-content:center}
.zy-space-structure-page .zy-space-project-picker-heading h2{color:#243831;font-size:20px;margin:0 0 5px}
.zy-space-structure-page .zy-space-project-picker-heading p{color:#74847E;font-size:13px;margin:0}
.zy-space-structure-page .zy-space-project-picker-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin:0 auto;max-width:980px}
.zy-space-structure-page .zy-space-project-option{align-items:center;background:#fff;border:1px solid #DCE6E2;border-radius:9px;color:#263B34;display:flex;gap:12px;min-height:82px;padding:14px 16px;text-align:left;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease;width:100%}
.zy-space-structure-page .zy-space-project-option:hover,.zy-space-structure-page .zy-space-project-option:focus{border-color:#6E9D91;box-shadow:0 8px 20px rgba(23,107,91,.09);outline:0;transform:translateY(-1px)}
.zy-space-structure-page .zy-space-project-option:disabled{cursor:wait;opacity:.65;transform:none}
.zy-space-structure-page .zy-space-project-option-icon{align-items:center;background:#EAF3F0;border-radius:8px;color:#176B5B;display:flex;flex:0 0 38px;height:38px;justify-content:center}
.zy-space-structure-page .zy-space-project-option-copy{display:block;min-width:0}
.zy-space-structure-page .zy-space-project-option-copy strong,.zy-space-structure-page .zy-space-project-option-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.zy-space-structure-page .zy-space-project-option-copy strong{font-size:14px;margin-bottom:4px}
.zy-space-structure-page .zy-space-project-option-copy small{color:#7B8A84;font-size:12px}
.zy-space-structure-page .zy-space-project-option-enter{color:#176B5B;font-size:12px;margin-left:auto;white-space:nowrap}
.zy-space-structure-page .zy-space-project-picker-empty{align-items:center;color:#7B8A84;display:flex;flex-direction:column;gap:8px;justify-content:center;min-height:300px;text-align:center}
.zy-space-structure-page .zy-space-project-picker-empty>i{color:#9AAEA7;font-size:38px}
.zy-space-structure-page .zy-space-project-picker-empty>strong{color:#394D46;font-size:15px}
@media(max-width:767px){.zy-space-structure-page .zy-space-project-picker{padding:20px 16px}.zy-space-structure-page .zy-space-project-picker-heading{align-items:flex-start}.zy-space-structure-page .zy-space-project-picker-grid{grid-template-columns:1fr}}
.zy-admin-page .zy-camera-monitor-page>.panel-body{padding:16px}.zy-admin-page .zy-camera-monitor-toolbar{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:10px}.zy-admin-page .zy-camera-monitor-toolbar #toolbar{margin:0}.zy-admin-page .zy-camera-view-switch{flex:0 0 auto}.zy-admin-page .zy-camera-grid-summary{align-items:center;background:#F7FAF9;border:1px solid #E3EAE7;border-radius:8px;color:#667972;display:flex;flex-wrap:wrap;gap:18px;margin:0 0 14px;padding:10px 13px}.zy-admin-page .zy-camera-grid-summary span{font-size:12px}.zy-admin-page .zy-camera-grid-summary strong{color:#263F37;font-size:17px;margin-right:4px}.zy-admin-page .zy-camera-grid-summary .is-online strong{color:#247A61}.zy-admin-page .zy-camera-grid-summary .is-offline strong{color:#7B8984}.zy-admin-page .zy-camera-grid-summary .is-fault strong{color:#B2524B}.zy-admin-page .zy-camera-grid-summary small{color:#82918B;margin-left:auto}.zy-admin-page .zy-camera-monitor-grid{display:grid;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:14px}.zy-admin-page .zy-camera-card{background:#fff;border:1px solid #DDE6E2;border-radius:10px;box-shadow:0 3px 12px rgba(24,54,45,.07);min-width:0;overflow:hidden;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.zy-admin-page .zy-camera-card:hover{border-color:#A8BDB5;box-shadow:0 6px 18px rgba(24,54,45,.12);transform:translateY(-1px)}.zy-admin-page .zy-camera-screen{aspect-ratio:16/9;background:linear-gradient(145deg,#172520,#0E1714);color:#E8F0ED;overflow:hidden;position:relative}.zy-admin-page .zy-camera-screen:after{background:repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0,rgba(255,255,255,.025) 1px,transparent 1px,transparent 4px);content:"";inset:0;pointer-events:none;position:absolute}.zy-admin-page .zy-camera-screen-status{align-items:center;background:rgba(8,14,12,.72);border-radius:12px;display:flex;font-size:11px;gap:6px;left:10px;padding:4px 8px;position:absolute;top:10px;z-index:2}.zy-admin-page .zy-camera-live-dot{background:#87958F;border-radius:50%;height:7px;width:7px}.zy-admin-page .is-online .zy-camera-live-dot{background:#53C995;box-shadow:0 0 0 3px rgba(83,201,149,.16)}.zy-admin-page .is-fault .zy-camera-live-dot{background:#E16B63;box-shadow:0 0 0 3px rgba(225,107,99,.15)}.zy-admin-page .zy-camera-screen-center{align-items:center;display:flex;flex-direction:column;inset:0;justify-content:center;padding:40px 18px 46px;position:absolute;text-align:center;z-index:1}.zy-admin-page .zy-camera-screen-center>.fa{color:#789188;font-size:31px;margin-bottom:11px}.zy-admin-page .zy-camera-screen-center strong{font-size:13px;font-weight:500;line-height:1.5}.zy-admin-page .zy-camera-screen-center small{color:#8FA29B;font-size:11px;line-height:1.45;margin-top:5px;max-width:96%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.zy-admin-page .zy-camera-screen-name{align-items:flex-end;background:linear-gradient(transparent,rgba(4,9,7,.86));bottom:0;display:flex;gap:8px;justify-content:space-between;left:0;padding:24px 11px 9px;position:absolute;right:0;z-index:2}.zy-admin-page .zy-camera-screen-name strong{font-size:13px;max-width:58%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.zy-admin-page .zy-camera-screen-name span{color:#B8C7C1;font-size:11px;max-width:40%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.zy-admin-page .zy-camera-card-meta{border-bottom:1px solid #EDF1EF;padding:10px 11px 9px}.zy-admin-page .zy-camera-card-meta>div{display:flex;gap:6px;margin-bottom:7px;min-width:0}.zy-admin-page .zy-camera-card-meta>div span{background:#EEF5F2;border-radius:10px;color:#516B62;font-size:10px;max-width:50%;overflow:hidden;padding:3px 7px;text-overflow:ellipsis;white-space:nowrap}.zy-admin-page .zy-camera-card-meta small{color:#82918C;display:block;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.zy-admin-page .zy-camera-card-footer{align-items:center;display:flex;gap:8px;justify-content:space-between;min-height:42px;padding:8px 10px}.zy-admin-page .zy-camera-card-footer>span{color:#75847F;font-size:10px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.zy-admin-page .zy-camera-card-footer>div{display:flex;flex:0 0 auto;gap:5px}.zy-admin-page .zy-camera-grid-empty{align-items:center;background:#F8FAF9;border:1px dashed #CBD8D3;border-radius:10px;color:#71817B;display:flex;flex-direction:column;grid-column:1/-1;justify-content:center;min-height:280px;padding:28px;text-align:center}.zy-admin-page .zy-camera-grid-empty>.fa{color:#9AADA6;font-size:36px;margin-bottom:12px}.zy-admin-page .zy-camera-grid-empty strong{color:#395148;font-size:16px;margin-bottom:6px}.zy-admin-page .zy-camera-grid-empty span{font-size:12px}.zy-admin-page .zy-camera-grid-empty.is-error>.fa{color:#C66058}.zy-admin-page .zy-camera-monitor-page.is-grid-view .fixed-table-container{display:none}.zy-admin-page .zy-camera-monitor-page.is-list-view .zy-camera-grid-summary,.zy-admin-page .zy-camera-monitor-page.is-list-view .zy-camera-monitor-grid{display:none}@media(max-width:1499px){.zy-admin-page .zy-camera-monitor-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1099px){.zy-admin-page .zy-camera-monitor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:699px){.zy-admin-page .zy-camera-monitor-toolbar{align-items:stretch;flex-direction:column}.zy-admin-page .zy-camera-view-switch{display:flex}.zy-admin-page .zy-camera-view-switch .btn{flex:1}.zy-admin-page .zy-camera-monitor-grid{grid-template-columns:1fr}.zy-admin-page .zy-camera-grid-summary{gap:10px}.zy-admin-page .zy-camera-grid-summary small{flex-basis:100%;margin-left:0}}

/* Camera onboarding and clearly watermarked demo stills. */
.zy-admin-page .zy-camera-onboarding{background:#F2F6FA;border:1px solid #CBD8E4;border-left:4px solid #315B88;border-radius:6px;margin:0 0 16px;padding:15px}.zy-admin-page .zy-camera-onboarding-head{align-items:center;display:flex;gap:14px;justify-content:space-between;margin-bottom:12px}.zy-admin-page .zy-camera-onboarding-head strong,.zy-admin-page .zy-camera-onboarding-head small{display:block}.zy-admin-page .zy-camera-onboarding-head strong{color:#183A63;font-size:17px}.zy-admin-page .zy-camera-onboarding-head small{color:#687A8F;margin-top:3px}.zy-admin-page .zy-camera-methods{display:grid;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr))}.zy-admin-page .zy-camera-methods article{align-items:flex-start;background:#FFF;border:1px solid #D8E1E9;border-radius:5px;display:flex;gap:9px;min-height:82px;padding:11px;position:relative}.zy-admin-page .zy-camera-methods article>b{align-items:center;background:#E8EFF5;border-radius:4px;color:#315B88;display:flex;flex:0 0 30px;height:30px;justify-content:center}.zy-admin-page .zy-camera-methods article>span{min-width:0}.zy-admin-page .zy-camera-methods article strong,.zy-admin-page .zy-camera-methods article small{display:block}.zy-admin-page .zy-camera-methods article strong{color:#273C54;font-size:13px}.zy-admin-page .zy-camera-methods article small{color:#758397;font-size:11px;line-height:1.5;margin-top:4px}.zy-admin-page .zy-camera-methods article em{background:#315B88;border-radius:3px;color:#FFF;font-size:10px;font-style:normal;padding:2px 5px;position:absolute;right:7px;top:7px}.zy-admin-page .zy-camera-methods article.is-demo{background:#EDF4F0;border-color:#B9D2C5}.zy-admin-page .zy-camera-methods article.is-demo>b{background:#DCEAE2;color:#2E6C50}.zy-admin-page .zy-camera-methods article.is-demo>em{background:#2E6C50}.zy-admin-page .zy-camera-checklist{border-top:1px solid #D6E0E8;display:flex;flex-wrap:wrap;gap:16px;margin-top:12px;padding-top:10px}.zy-admin-page .zy-camera-checklist span{color:#627388;font-size:11px}.zy-admin-page .zy-camera-checklist .fa{color:#2E6C50;margin-right:4px}.zy-admin-page .zy-camera-demo-image{height:100%;inset:0;object-fit:cover;position:absolute;width:100%;z-index:0}.zy-admin-page .zy-camera-demo-watermark{background:rgba(17,43,68,.76);border:1px solid rgba(255,255,255,.68);border-radius:3px;bottom:34px;color:#FFF;font-size:10px;letter-spacing:.5px;padding:4px 7px;position:absolute;right:9px;z-index:3}.zy-admin-page .zy-camera-screen-center.is-demo{display:none}@media(max-width:1250px){.zy-admin-page .zy-camera-methods{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:699px){.zy-admin-page .zy-camera-onboarding-head{align-items:stretch;flex-direction:column}.zy-admin-page .zy-camera-methods{grid-template-columns:1fr}}
