:root {

    --sidebar: #111827;

    --sidebar-hover: #1f2937;

    --primary: #3b82f6;

    --primary-hover: #2563eb;

    --success: #22c55e;

    --danger: #ef4444;

    --background: #f8fafc;

    --card: #ffffff;

    --border: #e5e7eb;

    --text: #111827;

    --text-light: #6b7280;

    --z-sidebar: 10000;

    --z-sidebar-flyout: 11000;
}

/* Sidebar contrast fix */
.sidebar nav a,
.sidebar .menu-parent > a,
.sidebar .menu-child a
{
    color:rgba(255,255,255,.88) !important;
}

.sidebar nav a span,
.sidebar .menu-parent > a span,
.sidebar .menu-child a span
{
    color:inherit !important;
}

.sidebar nav a i,
.sidebar .menu-parent > a i,
.sidebar .menu-child a i
{
    color:rgba(255,255,255,.72) !important;
}

.sidebar nav a:hover,
.sidebar nav a:focus-visible,
.sidebar nav a.active,
.sidebar nav a.active-sub,
.sidebar .menu-parent.open > a
{
    color:#fff !important;
}

.sidebar nav a:hover i,
.sidebar nav a:focus-visible i,
.sidebar nav a.active i,
.sidebar nav a.active-sub i,
.sidebar .menu-parent.open > a i
{
    color:#fff !important;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  }

body {
    font-family: 'Inter', sans-serif;
}

.theme-dark
{
    --background:#0f172a;
    --card:#111827;
    --border:#334155;
    --text:#f8fafc;
    --text-light:#cbd5e1;
}

.theme-light
{
    --background:#eef2f7;
    --card:#ffffff;
    --border:#d8dee8;
    --text:#172033;
    --text-light:#667085;
    --primary:#2563eb;
    --primary-hover:#1d4ed8;
    --success:#16a34a;
    --danger:#dc2626;
}

.theme-light body,
body.theme-light
{
    background:
        linear-gradient(180deg, #f8fafc 0%, #eef2f7 280px),
        var(--background);
    color:var(--text);
}

.theme-light .panel,
.theme-light .card-stat,
.theme-light .project-card,
.theme-light .task-column,
.theme-light .modal-content,
.theme-light .mail-app,
.theme-light .chat-app,
.theme-light input,
.theme-light select,
.theme-light textarea
{
    background:rgba(255,255,255,.96);
    border-color:var(--border);
    color:var(--text);
}

.theme-light .users-table th,
.theme-light .users-table tr:hover td,
.theme-light .task-card,
.theme-light .mail-sidebar,
.theme-light .chat-list
{
    background:#f8fafc;
}

.theme-dark body,
body.theme-dark
{
    background:var(--background);
    color:var(--text);
}

.theme-dark .panel,
.theme-dark .card-stat,
.theme-dark .project-card,
.theme-dark .task-column,
.theme-dark .modal-content,
.theme-dark input,
.theme-dark select,
.theme-dark textarea,
.theme-dark .mail-app,
.theme-dark .chat-app
{
    background:#111827;
    color:var(--text);
    border-color:var(--border);
}

.theme-dark .users-table th,
.theme-dark .users-table tr:hover td,
.theme-dark .task-card,
.theme-dark .mail-sidebar,
.theme-dark .chat-list
{
    background:#1e293b;
}

@media (prefers-color-scheme: dark)
{
    .theme-system
    {
        --background:#0f172a;
        --card:#111827;
        --border:#334155;
        --text:#f8fafc;
        --text-light:#cbd5e1;
    }

    body.theme-system
    {
        background:var(--background);
        color:var(--text);
    }
}

/* CRM module */
.crm-topbar
{
    align-items:flex-start;
}

.crm-toolbar
{
    margin-bottom:18px;
}

.crm-search-row
{
    display:grid;
    grid-template-columns:minmax(280px,1fr) minmax(180px,260px) auto auto auto;
    gap:10px;
    align-items:center;
}

.crm-list-panel
{
    padding:24px;
}

.crm-grid-table tbody tr
{
    cursor:pointer;
}

.crm-grid-table tbody tr:hover
{
    background:#f8fafc;
}

.crm-record-modal
{
    align-items:center;
    justify-content:center;
}

.crm-record-modal-content
{
    width:min(980px,calc(100vw - 32px));
    max-height:calc(100vh - 44px);
    overflow:auto;
}

.crm-record-form .form-grid.two
{
    grid-template-columns:repeat(2,minmax(0,1fr));
}

.crm-modal-actions
{
    display:grid;
    grid-template-columns:auto 1fr auto auto;
    gap:10px;
    align-items:center;
    margin-top:18px;
    padding-top:16px;
    border-top:1px solid #d8e1ec;
}

.crm-custom-field-heading
{
    margin-top:8px;
    padding-top:16px;
    border-top:1px solid #d8e1ec;
}

.crm-custom-field-heading h3
{
    margin:0 0 4px;
}

.danger-link
{
    color:#9f1239 !important;
    border-color:#fecdd3 !important;
    background:#fff1f2 !important;
}

.crm-dashboard-grid
{
    grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
    margin-bottom:20px;
}

.crm-dashboard-grid .dashboard-card
{
    text-decoration:none;
}

.crm-insight-grid
{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
}

.crm-summary-bars
{
    display:grid;
    gap:14px;
}

.crm-summary-bars div
{
    display:grid;
    grid-template-columns:1fr auto;
    gap:6px 12px;
    align-items:center;
}

.crm-summary-bars i
{
    grid-column:1 / -1;
    display:block;
    max-width:100%;
    height:8px;
    border-radius:999px;
}

.crm-activity-list
{
    display:grid;
    gap:12px;
}

.crm-activity-list div
{
    display:grid;
    gap:4px;
    padding-bottom:12px;
    border-bottom:1px solid #e2e8f0;
}

.crm-activity-list span
{
    color:#667085;
    font-size:13px;
}

.crm-pipeline-board
{
    display:grid;
    grid-auto-flow:column;
    grid-auto-columns:minmax(260px,1fr);
    gap:16px;
    overflow-x:auto;
    padding-bottom:16px;
}

.crm-pipeline-column
{
    min-height:520px;
    padding:16px;
    border:1px solid #d8e1ec;
    border-radius:18px;
    background:#f8fafc;
}

.crm-pipeline-heading
{
    display:grid;
    grid-template-columns:auto 1fr auto;
    gap:10px;
    align-items:center;
    margin-bottom:14px;
    padding-bottom:12px;
    border-bottom:1px solid #d8e1ec;
}

.crm-pipeline-heading span
{
    width:10px;
    height:10px;
    border-radius:999px;
}

.crm-pipeline-card
{
    display:grid;
    gap:8px;
    margin-bottom:12px;
    padding:14px;
    border:1px solid #d8e1ec;
    border-radius:14px;
    background:#fff;
    box-shadow:0 10px 24px rgba(15,23,42,.06);
}

.crm-pipeline-card > span,
.crm-pipeline-card small
{
    color:#667085;
}

.crm-pipeline-card div
{
    display:flex;
    justify-content:space-between;
    gap:12px;
}

.crm-config-grid-card
{
    grid-column:1 / -1;
}

.status-badge[style*="--badge-colour"]
{
    background:color-mix(in srgb,var(--badge-colour) 14%,#ffffff);
    color:#1f2937;
    border:1px solid color-mix(in srgb,var(--badge-colour) 34%,#ffffff);
}

@media (max-width:900px)
{
    .crm-search-row
    {
        grid-template-columns:1fr;
    }

    .crm-insight-grid
    {
        grid-template-columns:1fr;
    }

    .crm-record-form .form-grid.two
    {
        grid-template-columns:1fr;
    }

    .crm-modal-actions
    {
        grid-template-columns:1fr;
    }

    .crm-pipeline-board
    {
        grid-auto-flow:row;
        grid-auto-columns:auto;
        grid-template-columns:1fr;
    }
}

.profile-details strong {

    color: white;

    font-size: 15px;

    font-weight: 600;

    line-height: 1.2;
}

.profile-details small {

    color: rgba(255,255,255,0.65);

    font-size: 13px;
}

/* Layout */

.dashboard {
display: flex;
min-height: 100vh;
}

.content {

    flex: 1;

    padding: 40px;

    overflow-y: auto;
}

/* Sidebar */

body {
    background: var(--background);
    color: var(--text);
}
.logo {

    color: white;

    font-size: 30px;

    font-weight: 700;

    letter-spacing: -1px;

    margin-bottom: 35px;
}
:root {

    --sidebar: #111827;

    --sidebar-hover: #1f2937;

    --primary: #3b82f6;

    --primary-hover: #2563eb;

    --success: #22c55e;

    --danger: #ef4444;

    --background: #f8fafc;

    --card: #ffffff;

    --border: #e5e7eb;

    --text: #111827;

    --text-light: #6b7280;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  }

body {
    font-family: 'Inter', sans-serif;
}

.theme-light
{
    --background:#eef2f7;
    --card:#ffffff;
    --border:#d8dee8;
    --text:#172033;
    --text-light:#667085;
    --primary:#2563eb;
    --primary-hover:#1d4ed8;
    --success:#16a34a;
    --danger:#dc2626;
}

/* Layout */

.dashboard {
display: flex;
min-height: 100vh;
}

.content {
flex: 1;
padding: 30px;
}

/* Sidebar */

body {
    background: var(--background);
    color: var(--text);
}
.logo {

    font-size: 30px;

    font-weight: 700;

    letter-spacing: -1px;

    margin-bottom: 35px;
}

.user-info {

    margin-bottom: 32px;

    padding: 14px;

    background: rgba(255,255,255,0.04);

    border: 1px solid rgba(255,255,255,0.05);

    border-radius: 16px;

    backdrop-filter: blur(10px);
}
.sidebar {

    width: 280px;

    min-height: 100vh;

    height: 100vh;

    background: var(--sidebar);

    padding: 24px;

    border-right: 1px solid rgba(255,255,255,0.05);

    display: flex;

    flex-direction: column;

    position: sticky;

    top: 0;
}

.sidebar nav {

    flex: 1;

    overflow-y: auto;
}

.workspace-tabs
{
    display:flex;
    align-items:center;
    gap:8px;
    min-height:44px;
    margin:-18px -6px 24px;
    padding:0 4px 10px;
    border-bottom:1px solid var(--border);
    overflow-x:auto;
}

.workspace-tab
{
    display:flex;
    align-items:center;
    gap:6px;
    max-width:230px;
    min-width:120px;
    height:34px;
    padding:0 8px 0 12px;
    border:1px solid var(--border);
    border-radius:8px;
    background:var(--card);
    color:var(--text);
    box-shadow:0 2px 10px rgba(0,0,0,.04);
}

.workspace-tab.active
{
    border-color:var(--primary);
    background:#eff6ff;
}

.workspace-tab-label
{
    flex:1;
    min-width:0;
    border:0;
    background:transparent;
    color:inherit;
    cursor:pointer;
    font-size:13px;
    font-weight:600;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    text-align:left;
}

.workspace-tab-close
{
    width:22px;
    height:22px;
    border:0;
    border-radius:6px;
    background:transparent;
    color:var(--text-light);
    cursor:pointer;
    font-weight:700;
}

.workspace-tab-close:hover
{
    background:rgba(239,68,68,.12);
    color:var(--danger);
}

.workspace-tab-menu
{
    display:none;
    position:fixed;
    z-index:9999;
    min-width:180px;
    padding:6px;
    border:1px solid var(--border);
    border-radius:10px;
    background:var(--card);
    box-shadow:0 18px 50px rgba(0,0,0,.18);
}

.workspace-tab-menu.show
{
    display:grid;
    gap:4px;
}

.workspace-tab-menu button
{
    min-height:34px;
    padding:8px 10px;
    border:0;
    border-radius:8px;
    background:transparent;
    color:var(--text);
    cursor:pointer;
    text-align:left;
}

.workspace-tab-menu button:hover
{
    background:#f1f5f9;
}

.theme-dark .workspace-tab.active
{
    background:#1e3a8a;
}

.theme-dark .workspace-tab-menu button:hover
{
    background:#1e293b;
}

.sidebar nav a {

    display: flex;

    align-items: center;

    gap: 12px;

    color: #d1d5db;

    text-decoration: none;

    padding: 14px 16px;

    border-radius: 12px;

    transition: all 0.2s ease;
}
.sidebar nav a:hover {

    background: var(--sidebar-hover);

    color: white;

    transform: translateX(3px);
}
/* Navigation */

.menu-group {
margin-bottom: 8px;
}

.submenu {
display: none;
margin-top: 4px;
}

.submenu-open {
display: block;
}

.submenu a {
display: block;
padding: 10px 10px 10px 40px;
font-size: 14px;
margin-bottom: 4px;
border-radius: 6px;
background: rgba(255,255,255,0.04);
}

.submenu a:hover {
background: rgba(255,255,255,0.12);
}

.sidebar nav a.active,
.profile-tab.active {

    background: linear-gradient(
        135deg,
        #3b82f6,
        #2563eb
    );

    color: white;
}

.active-sub {
background: rgba(255,255,255,0.15);
}

/* Top Bar */

.topbar {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 30px;
}

.topbar-actions
{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
}

.topbar h1 {

    font-size: 42px;

    font-weight: 700;

    letter-spacing: -1px;

    color: var(--text);
}

/* Dashboard Cards */

.cards {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
gap: 20px;
margin-bottom: 30px;
}

.card-stat {

    background: white;

    padding: 28px;

    border-radius: 20px;

    border: 1px solid var(--border);

    box-shadow:
        0 4px 20px
        rgba(0,0,0,.04);

    transition: all .2s;
}

.card-stat h3 {

    color: var(--text-light);

    font-size: 14px;

    font-weight: 500;

    margin-bottom: 12px;
}

.card-stat p {

    font-size: 42px;

    font-weight: 700;

    letter-spacing: -1px;

    color: var(--primary);
}

/* Panels */

.panel {

    background: white;

    border-radius: 24px;

    padding: 30px;

    border: 1px solid var(--border);

    box-shadow:
        0 4px 20px
        rgba(0,0,0,.04);
}

.panel h2 {
margin-bottom: 15px;
}

.panel ul {
margin-top: 15px;
margin-left: 20px;
}

.panel li {
margin-bottom: 8px;
}

/* Tables */

.users-table {

    width: 100%;

    border-collapse: separate;

    border-spacing: 0;

    overflow: hidden;

    border-radius: 16px;
}
.users-table tr:hover td {

    background: #f8fafc;
}

.users-table th,
.users-table td {
padding: 12px;
text-align: left;
border-bottom: 1px solid #ddd;
}

.users-table th {

    background: #f8fafc;

    color: #64748b;

    font-size: 13px;

    text-transform: uppercase;

    letter-spacing: .5px;
}

/* Buttons */

.primary-btn {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 8px;

    padding: 12px 22px;

    border: none;

    border-radius: 12px;

    background: linear-gradient(
        135deg,
        #3b82f6,
        #2563eb
    );

    color: white;

    font-weight: 600;

    cursor: pointer;

    transition: all .2s;
}

.primary-btn:hover {

    transform: translateY(-2px);

    box-shadow:
        0 10px 25px
        rgba(37,99,235,.35);
}

.primary-btn:hover {
background: #1d4ed8;
}

.btn-small {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    padding: 10px 14px;

    border-radius: 10px;

    font-weight: 600;

    transition: all .2s ease;

    background: var(--primary);
}


.btn-small:hover {
opacity: 0.9;
transform: translateY(-1px);
}

.delete-btn {
background: #dc2626;
}

.delete-btn:hover {
background: #b91c1c;
}

/* Login & Register */

.card {
width: 100%;
max-width: 450px;
background: white;
padding: 40px;
border-radius: 12px;
box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}

body:has(.card) {
display: flex;
justify-content: center;
align-items: center;
}

.card h1 {
text-align: center;
margin-bottom: 25px;
}

input,
select,
textarea {

    width: 100%;

    padding: 14px 16px;

    border: 1px solid var(--border);

    border-radius: 12px;

    background: white;

    transition: all .2s ease;

    font-size: 15px;
}

input:focus,
select:focus,
textarea:focus {

    outline: none;

    border-color: var(--primary);

    box-shadow:
        0 0 0 4px
        rgba(59,130,246,.15);
}

.card button,
form button {
width: 100%;
padding: 14px;
border: none;
border-radius: 8px;
background: #2563eb;
color: white;
cursor: pointer;
font-size: 16px;
}

.card button:hover,
form button:hover {
background: #1d4ed8;
}

.link {
text-align: center;
margin-top: 20px;
}

.link a {
color: #2563eb;
text-decoration: none;
}

.message {
text-align: center;
margin-bottom: 15px;
}

.error {
color: red;
}

.message.success {
color: #166534;
}

.login-helper-text {
margin: -8px 0 20px;
color: #64748b;
font-size: 14px;
line-height: 1.55;
text-align: center;
}

/* Calendar */

#calendar {
margin-top: 20px;
}

.fc {
background: white;
border-radius: 12px;
padding: 20px;
}

.fc-theme-standard td,
.fc-theme-standard th {
border-color: #e5e7eb;
}

.fc .fc-toolbar {
margin-bottom: 25px !important;
}

.fc .fc-toolbar-chunk {
display: flex;
align-items: center;
gap: 12px;
}

.fc .fc-button-group {
display: flex;
gap: 4px;
}

.fc .fc-button {
width: auto !important;
min-width: 75px;
height: 42px;
padding: 0 16px !important;
border: none !important;
border-radius: 8px !important;
font-size: 14px !important;
font-weight: 500 !important;
}

.fc .fc-button-primary {
background: #2563eb !important;
}

.fc .fc-button-primary:hover {
background: #1d4ed8 !important;
}

.fc .fc-button-primary:not(:disabled).fc-button-active {
background: #1e40af !important;
}

.fc .fc-toolbar-title {
font-size: 32px !important;
font-weight: 600 !important;
color: #1f2937;
}

.fc-daygrid-day-number {
color: #374151;
text-decoration: none;
}

.fc-col-header-cell {
background: #f9fafb;
}

.fc-day-today {
background: rgba(37, 99, 235, 0.08) !important;
}
/* Modal */

.modal {
display: none;
position: fixed !important;
top: 0;
left: 0;
right: 0;
bottom: 0;
width: 100vw;
height: 100vh;

background: rgba(0, 0, 0, 0.5);

justify-content: center;
align-items: center;

z-index: 999999;

}

.modal-content {

    background: white;

    width: 700px;

    max-width: 95%;

    max-height: 90vh;

    overflow-y: auto;

    border-radius: 24px;

    padding: 35px;

    border: 1px solid var(--border);

    box-shadow:
        0 30px 80px
        rgba(0,0,0,.15);
}

.modal-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 20px;

}

.modal-header button {
width: auto !important;

background: transparent !important;

border: none;

color: #666;

font-size: 28px;

cursor: pointer;

padding: 0;


}

.modal-header button:hover {
color: #000;
}

/* Profile Avatar */

.avatar {
width: 48px;
height: 48px;

border-radius: 50%;

object-fit: cover;

flex-shrink: 0;

}

.avatar-initials {

    width: 52px;

    height: 52px;

    border-radius: 16px;

    background:
        linear-gradient(
            135deg,
            #3b82f6,
            #2563eb
        );

    display: flex;

    align-items: center;

    justify-content: center;

    color: white;

    font-weight: 700;

    font-size: 18px;
}

/* Profile Dropdown */

.profile-menu-wrapper {
position: relative;
}

.profile-menu-trigger {

    display: flex;

    align-items: center;

    gap: 12px;

    width: 100%;

    cursor: pointer;
}

.profile-details {

    flex: 1;

    display: flex;

    flex-direction: column;
}

.profile-details {
display: flex;
flex-direction: column;
}

.profile-details small {
color: rgba(255,255,255,0.7);
}

.profile-arrow {
margin-left: auto;
font-size: 12px;
}

.profile-dropdown {
display: none;

position: absolute;

top: calc(100% + 8px);
left: 0;

width: 100%;

background: white;

border-radius: 8px;

overflow: hidden;

box-shadow: 0 10px 25px rgba(0,0,0,0.15);

z-index: 9999;

}

.profile-dropdown.show {
display: block;
}

.profile-dropdown a {
display: block;

padding: 12px 15px;

text-decoration: none;

color: #333;

background: white;

}

.profile-dropdown a:hover {
background: #f3f4f6;
}

.success-message {
    background: #dcfce7;

    color: #166534;

    padding: 15px;

    border-radius: 8px;

    margin-bottom: 20px;
}

.error-message {
    background: #fee2e2;

    color: #991b1b;

    padding: 15px;

    border-radius: 8px;

    margin-bottom: 20px;
}

.password-strength {

    margin-top: -10px;
    margin-bottom: 15px;

    font-size: 14px;

    font-weight: 600;
}

.password-strength.weak {
    color: #dc2626;
}

.password-strength.medium {
    color: #d97706;
}

.password-strength.strong {
    color: #16a34a;
}

.status-badge {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    padding: 6px 14px;

    border-radius: 999px;

    font-size: 12px;

    font-weight: 700;

    letter-spacing: .3px;
}

.status-active {

    background: #dcfce7;

    color: #166534;
}

.status-suspended {

    background: #fee2e2;

    color: #991b1b;
}

.users-toolbar {

    display: flex;

    justify-content: space-between;

    margin-bottom: 20px;
}

.suspend-btn {
    background: #d97706;
}

.status-badge {

    display: inline-block;

    padding: 6px 12px;

    border-radius: 999px;

    font-size: 12px;

    font-weight: 600;

    background: #e5e7eb;

    color: #374151;
}
textarea {

    min-height: 250px;

    resize: vertical;
}

.card-stat:hover {

    transform: translateY(-3px);

    box-shadow:
        0 15px 35px
        rgba(0,0,0,.08);
}
.sidebar nav a {

    display: flex;

    align-items: center;

    gap: 12px;

    color: #d1d5db;

    text-decoration: none;

    padding: 14px 16px;

    border-radius: 12px;

    transition: all 0.2s ease;
}
.sidebar nav a:hover {

    background: var(--sidebar-hover);

    color: white;

    transform: translateX(3px);
}
/* Navigation */

.menu-group {
margin-bottom: 8px;
}

.submenu {
display: none;
margin-top: 4px;
}

.submenu-open {
display: block;
}

.submenu a {
display: block;
padding: 10px 10px 10px 40px;
font-size: 14px;
margin-bottom: 4px;
border-radius: 6px;
background: rgba(255,255,255,0.04);
}

.submenu a:hover {
background: rgba(255,255,255,0.12);
}

.active {

    background: linear-gradient(
        135deg,
        #3b82f6,
        #2563eb
    ) !important;

    color: white !important;

    box-shadow:
        0 8px 20px
        rgba(59,130,246,.25);
}
.active-sub {
background: rgba(255,255,255,0.15);
}

/* Top Bar */

.topbar {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 30px;
}

.topbar h1 {
color: #333;
}

/* Dashboard Cards */

.cards {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
gap: 20px;
margin-bottom: 30px;
}

.card-stat {

    background: white;

    padding: 28px;

    border-radius: 20px;

    border: 1px solid var(--border);

    box-shadow:
        0 4px 20px
        rgba(0,0,0,.04);

    transition: all .2s;
}
.card-stat h3 {
color: #666;
margin-bottom: 10px;
}

.card-stat p {
font-size: 30px;
font-weight: bold;
color: #2563eb;
}

/* Panels */

.panel {

    background: white;

    border-radius: 24px;

    padding: 30px;

    border: 1px solid var(--border);

    box-shadow:
        0 4px 20px
        rgba(0,0,0,.04);
}

.panel h2 {
margin-bottom: 15px;
}

.panel ul {
margin-top: 15px;
margin-left: 20px;
}

.panel li {
margin-bottom: 8px;
}

/* Tables */

.users-table {

    width: 100%;

    border-collapse: separate;

    border-spacing: 0;

    overflow: hidden;

    border-radius: 16px;
}

.users-table th,
.users-table td {
padding: 12px;
text-align: left;
border-bottom: 1px solid #ddd;
}

.users-table th {

    background: #f8fafc;

    color: #64748b;

    font-size: 13px;

    text-transform: uppercase;

    letter-spacing: .5px;
}

/* Buttons */

.primary-btn {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 8px;

    padding: 12px 22px;

    border: none;

    border-radius: 12px;

    background: linear-gradient(
        135deg,
        #3b82f6,
        #2563eb
    );

    color: white;

    font-weight: 600;

    cursor: pointer;

    transition: all .2s;
}

.primary-btn:hover {

    transform: translateY(-2px);

    box-shadow:
        0 10px 25px
        rgba(37,99,235,.35);
}

.primary-btn:hover {
background: #1d4ed8;
}

.btn-small {
display: inline-block;
padding: 8px 12px;
border-radius: 6px;
text-decoration: none;
background: #2563eb;
color: white;
margin-right: 5px;
}

.btn-small:hover {
opacity: 0.9;
}

.delete-btn {
background: #dc2626;
}

.delete-btn:hover {
background: #b91c1c;
}

/* Login & Register */

.card {
width: 100%;
max-width: 450px;
background: white;
padding: 40px;
border-radius: 12px;
box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}

body:has(.card) {
display: flex;
justify-content: center;
align-items: center;
}

.card h1 {
text-align: center;
margin-bottom: 25px;
}

input,
select,
textarea {
width: 100%;
padding: 14px;
border: 1px solid #ddd;
border-radius: 8px;
margin-bottom: 15px;
font-size: 16px;
}

.card button,
form button {
width: 100%;
padding: 14px;
border: none;
border-radius: 8px;
background: #2563eb;
color: white;
cursor: pointer;
font-size: 16px;
}

.card button:hover,
form button:hover {
background: #1d4ed8;
}

.link {
text-align: center;
margin-top: 20px;
}

.link a {
color: #2563eb;
text-decoration: none;
}

.message {
text-align: center;
margin-bottom: 15px;
}

.error {
color: red;
}

/* Calendar */

#calendar {
margin-top: 20px;
}

.fc {
background: white;
border-radius: 12px;
padding: 20px;
}

.fc-theme-standard td,
.fc-theme-standard th {
border-color: #e5e7eb;
}

.fc .fc-toolbar {
margin-bottom: 25px !important;
}

.fc .fc-toolbar-chunk {
display: flex;
align-items: center;
gap: 12px;
}

.fc .fc-button-group {
display: flex;
gap: 4px;
}

.fc .fc-button {
width: auto !important;
min-width: 75px;
height: 42px;
padding: 0 16px !important;
border: none !important;
border-radius: 8px !important;
font-size: 14px !important;
font-weight: 500 !important;
}

.fc .fc-button-primary {
background: #2563eb !important;
}

.fc .fc-button-primary:hover {
background: #1d4ed8 !important;
}

.fc .fc-button-primary:not(:disabled).fc-button-active {
background: #1e40af !important;
}

.fc .fc-toolbar-title {
font-size: 32px !important;
font-weight: 600 !important;
color: #1f2937;
}

.fc-daygrid-day-number {
color: #374151;
text-decoration: none;
}

.fc-col-header-cell {
background: #f9fafb;
}

.fc-day-today {
background: rgba(37, 99, 235, 0.08) !important;
}
/* Modal */

.modal {
display: none;
position: fixed !important;
top: 0;
left: 0;
right: 0;
bottom: 0;
width: 100vw;
height: 100vh;

background: rgba(0, 0, 0, 0.5);

justify-content: center;
align-items: center;

z-index: 999999;

}

.modal-content {
background: white;
width: 600px;
max-width: 90%;
max-height: 90vh;


overflow-y: auto;

border-radius: 12px;

padding: 30px;

box-shadow: 0 15px 40px rgba(0,0,0,0.25);

}

.modal-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 20px;

}

.modal-header button {
width: auto !important;

background: transparent !important;

border: none;

color: #666;

font-size: 28px;

cursor: pointer;

padding: 0;


}

.modal-header button:hover {
color: #000;
}

/* Profile Avatar */

.avatar {
width: 48px;
height: 48px;

border-radius: 50%;

object-fit: cover;

flex-shrink: 0;

}

.avatar-initials {

    width: 52px;

    height: 52px;

    border-radius: 16px;

    background:
        linear-gradient(
            135deg,
            #3b82f6,
            #2563eb
        );

    display: flex;

    align-items: center;

    justify-content: center;

    color: white;

    font-weight: 700;

    font-size: 18px;
}

/* Profile Dropdown */

.profile-menu-wrapper {
position: relative;
}

.profile-menu-trigger {
display: flex;
align-items: center;
gap: 12px;

cursor: pointer;

}

.profile-details {
display: flex;
flex-direction: column;
}

.profile-details small {
color: rgba(255,255,255,0.7);
}

.profile-arrow {
margin-left: auto;
font-size: 12px;
}

.profile-dropdown {
display: none;

position: absolute;

top: calc(100% + 8px);
left: 0;

width: 100%;

background: white;

border-radius: 8px;

overflow: hidden;

box-shadow: 0 10px 25px rgba(0,0,0,0.15);

z-index: 9999;

}

.profile-dropdown.show {
display: block;
}

.profile-dropdown a {
display: block;

padding: 12px 15px;

text-decoration: none;

color: #333;

background: white;

}

.profile-dropdown a:hover {
background: #f3f4f6;
}

.success-message {
    background: #dcfce7;

    color: #166534;

    padding: 15px;

    border-radius: 8px;

    margin-bottom: 20px;
}

.error-message {
    background: #fee2e2;

    color: #991b1b;

    padding: 15px;

    border-radius: 8px;

    margin-bottom: 20px;
}

.password-strength {

    margin-top: -10px;
    margin-bottom: 15px;

    font-size: 14px;

    font-weight: 600;
}

.password-strength.weak {
    color: #dc2626;
}

.password-strength.medium {
    color: #d97706;
}

.password-strength.strong {
    color: #16a34a;
}
.status-badge {

    padding: 6px 12px;

    border-radius: 999px;

    font-size: 13px;

    font-weight: 600;
}

.status-active {

    background: #dcfce7;

    color: #166534;
}

.status-suspended {

    background: #fee2e2;

    color: #991b1b;
}

.users-toolbar {

    display: flex;

    justify-content: space-between;

    margin-bottom: 20px;
}

.suspend-btn {
    background: #d97706;
}

.status-badge {

    display: inline-block;

    padding: 6px 12px;

    border-radius: 999px;

    font-size: 12px;

    font-weight: 600;

    background: #e5e7eb;

    color: #374151;
}
textarea {

    min-height: 250px;

    resize: vertical;
}

.card-stat:hover {

    transform: translateY(-3px);

    box-shadow:
        0 15px 35px
        rgba(0,0,0,.08);
}

.sidebar {

    width: 280px;

    min-height: 100vh;

    height: 100vh;

    background: var(--sidebar);

    padding: 24px;

    border-right: 1px solid rgba(255,255,255,0.05);

    display: flex;

    flex-direction: column;

    position: sticky;

    top: 0;
}

.inline-action-form
{
    display:inline-flex;
    margin:0;
}

.inline-action-form button
{
    width:auto;
}

.sidebar nav {

    flex: 1;

    overflow-y: auto;
}

.task-board {

    display: grid;

    grid-auto-flow: column;

    grid-auto-columns: minmax(320px, 1fr);

    gap: 20px;

    overflow-x: auto;

    padding-bottom: 12px;

    scroll-snap-type: x proximity;
}

.task-column {

    background: white;

    border-radius: 20px;

    padding: 20px;

    border: 1px solid var(--border);

    min-height: 600px;

    scroll-snap-align: start;
}

.task-column-header {

    display: flex;

    justify-content: space-between;

    align-items: center;

    margin-bottom: 20px;

    padding-bottom: 15px;

    border-bottom: 1px solid var(--border);
}

.task-card {

    background: #f8fafc;

    border-radius: 14px;

    padding: 15px;

    margin-bottom: 15px;

    border: 1px solid var(--border);

    cursor: pointer;

    transition: .2s;
}

.task-card:hover {

    transform: translateY(-2px);

    box-shadow:
        0 10px 25px
        rgba(0,0,0,.08);
}

.task-table-row
{
    cursor:pointer;
}

.task-context-menu
{
    position:fixed;
    z-index:2500;
    display:none;
    min-width:220px;
    padding:8px;
    border:1px solid var(--border);
    border-radius:12px;
    background:var(--surface-strong);
    box-shadow:var(--shadow-md);
}

.task-context-menu-open
{
    display:grid;
    gap:4px;
}

.task-context-menu button
{
    width:100%;
    justify-content:flex-start;
    min-height:36px;
    padding:8px 10px;
    border:0;
    background:transparent;
    color:var(--text);
    box-shadow:none;
}

.task-context-menu button:hover
{
    background:#f1f5f9;
    transform:none;
}

.task-context-menu .danger-text
{
    color:#b91c1c;
}

.task-context-submenu
{
    position:relative;
}

.task-context-submenu-panel
{
    position:absolute;
    top:0;
    left:calc(100% + 8px);
    display:none;
    min-width:180px;
    padding:8px;
    border:1px solid var(--border);
    border-radius:12px;
    background:var(--surface-strong);
    box-shadow:var(--shadow-md);
}

.task-context-submenu:hover .task-context-submenu-panel
{
    display:grid;
    gap:4px;
}

.task-type-field-card
{
    display:grid;
    gap:14px;
    margin-bottom:18px;
    padding:16px;
    border:1px solid var(--border);
    border-radius:12px;
    background:var(--surface-strong);
}

.task-type-field-card-header
{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
}

.task-type-field-card-header h3
{
    margin:0 0 4px;
}

.task-type-field-card-header span
{
    color:var(--text-light);
    font-weight:800;
}

.task-type-field-grid
{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));
    gap:10px;
}

.task-type-field-option
{
    display:flex !important;
    align-items:center;
    gap:8px;
    margin:0;
    padding:10px;
    border:1px solid var(--border);
    border-radius:10px;
    background:var(--card);
}

.task-type-field-option input
{
    width:auto;
}

body.theme-dark .task-context-menu button:hover
{
    background:#1e293b;
}

.task-card h4 {

    margin-bottom: 10px;
}

.task-number-chip
{
    display:inline-flex;
    align-items:center;
    margin-right:8px;
    padding:3px 8px;
    border-radius:999px;
    background:#e0ecff;
    color:#1d4ed8;
    font-size:12px;
    font-weight:800;
}

.task-card p {

    color: var(--text-light);

    font-size: 14px;

    margin-bottom: 12px;
}

.task-meta {

    font-size: 13px;

    color: var(--text-light);

    display: flex;

    flex-direction: column;

    gap: 5px;
}

.task-priority {

    display: inline-block;

    padding: 4px 10px;

    border-radius: 999px;

    font-size: 12px;

    font-weight: 700;

    margin-bottom: 10px;
}

.priority-low {
    background: #dcfce7;
    color: #166534;
}

.priority-medium {
    background: #dbeafe;
    color: #1d4ed8;
}

.priority-high {
    background: #fef3c7;
    color: #92400e;
}

.priority-critical {
    background: #fee2e2;
    color: #991b1b;
}

.task-detail-grid {

    display: grid;

    grid-template-columns:
        repeat(
            auto-fit,
            minmax(220px,1fr)
        );

    gap: 20px;

    margin-top: 20px;
}

.task-detail strong {

    display: block;

    margin-bottom: 5px;

    color: #64748b;
}

.task-detail p {

    margin: 0;
}

.project-filters
{
    display:grid;

    grid-template-columns:
        minmax(220px, 1fr)
        220px
        auto;

    gap:12px;

    margin-bottom:24px;
}

.project-grid
{
    display:grid;

    grid-template-columns:
        repeat(
            auto-fit,
            minmax(280px, 1fr)
        );

    gap:20px;
}

.project-card
{
    background:white;

    border:1px solid var(--border);

    border-radius:16px;

    padding:22px;

    cursor:pointer;

    box-shadow:
        0 4px 20px
        rgba(0,0,0,.04);

    transition:all .2s ease;
}

.project-card:hover
{
    transform:translateY(-2px);

    box-shadow:
        0 15px 35px
        rgba(0,0,0,.08);
}

.project-card-header,
.project-meta,
.project-actions
{
    display:flex;

    align-items:center;

    gap:10px;

    flex-wrap:wrap;
}

.project-card-header
{
    justify-content:space-between;

    margin-bottom:16px;
}

.project-card h2
{
    font-size:22px;

    margin-bottom:10px;
}

.project-card p
{
    color:var(--text-light);

    line-height:1.5;

    min-height:44px;
}

.project-status,
.project-health,
.project-chip
{
    display:inline-flex;

    align-items:center;

    gap:6px;

    border-radius:999px;

    padding:6px 10px;

    font-size:12px;

    font-weight:700;
}

.project-status-planning
{
    background:#dbeafe;
    color:#1d4ed8;
}

.project-status-active
{
    background:#dcfce7;
    color:#166534;
}

.project-status-on-hold
{
    background:#fef3c7;
    color:#92400e;
}

.project-status-completed
{
    background:#e0e7ff;
    color:#3730a3;
}

.project-status-archived
{
    background:#e5e7eb;
    color:#374151;
}

.project-health-green
{
    background:#dcfce7;
    color:#166534;
}

.project-health-amber
{
    background:#fef3c7;
    color:#92400e;
}

.project-health-red
{
    background:#fee2e2;
    color:#991b1b;
}

.project-progress
{
    margin:18px 0;
}

.project-progress div:first-child
{
    display:flex;

    justify-content:space-between;

    gap:12px;

    margin-bottom:8px;

    color:var(--text-light);

    font-size:13px;
}

.project-progress strong
{
    color:var(--text);
}

.project-progress-bar
{
    height:8px;

    border-radius:999px;

    background:#e5e7eb;

    overflow:hidden;
}

.project-progress-bar span
{
    display:block;

    height:100%;

    border-radius:999px;

    background:var(--primary);
}

.project-meta
{
    color:var(--text-light);

    font-size:13px;
}

.project-chip
{
    width:max-content;

    margin-bottom:10px;

    background:#eef2ff;

    color:#3730a3;
}

.settings-shell
{
    max-width:980px;
}

.settings-shell h3
{
    margin:24px 0 12px;
}

.mail-app
{
    display:grid;

    grid-template-columns:360px minmax(0, 1fr);

    gap:0;

    min-height:calc(100vh - 80px);

    background:white;

    border:1px solid var(--border);

    border-radius:16px;

    overflow:hidden;
}

.mail-sidebar
{
    border-right:1px solid var(--border);

    background:#f8fafc;

    overflow:auto;
}

.mail-sidebar-header,
.mail-reader-header
{
    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:14px;

    padding:20px;

    border-bottom:1px solid var(--border);
}

.mail-sidebar-header h1
{
    font-size:28px;
}

.mail-list
{
    display:flex;

    flex-direction:column;
}

.mail-list-item
{
    display:grid;

    gap:6px;

    padding:16px 18px;

    color:var(--text);

    text-decoration:none;

    border-bottom:1px solid var(--border);
}

.mail-list-item:hover,
.mail-list-item.active
{
    background:white;
}

.mail-list-item span,
.mail-list-item small,
.mail-reader-header p
{
    color:var(--text-light);
}

.mail-reader
{
    min-width:0;

    background:white;
}

.mail-reader-header h2
{
    font-size:24px;

    margin-bottom:6px;
}

.mail-body
{
    padding:28px;

    line-height:1.7;

    white-space:normal;
}

.mail-empty
{
    padding:24px;

    color:var(--text-light);
}

.org-chart-panel
{
    overflow:auto;
}

.org-chart ul
{
    display:flex;

    justify-content:center;

    gap:24px;

    padding-top:20px;

    list-style:none;
}

.org-chart li
{
    display:flex;

    flex-direction:column;

    align-items:center;

    position:relative;
}

.org-person
{
    min-width:190px;

    padding:16px;

    text-align:center;

    background:#ffffff;

    border:1px solid var(--border);

    border-radius:14px;

    box-shadow:
        0 4px 20px
        rgba(0,0,0,.04);
}

.org-person strong,
.org-person span,
.org-person small
{
    display:block;
}

.org-person span
{
    margin-top:6px;

    color:var(--text-light);
}

.org-person small
{
    margin-top:4px;

    color:#64748b;
}

.audit-filters
{
    display:grid;

    grid-template-columns:
        minmax(220px, 1fr)
        repeat(4, minmax(140px, 180px))
        auto;

    gap:12px;

    margin-bottom:24px;
}

.audit-action
{
    display:inline-flex;

    padding:5px 9px;

    border-radius:999px;

    background:#eef2ff;

    color:#3730a3;

    font-size:12px;

    font-weight:700;
}

.user-filters
{
    display:grid;

    grid-template-columns:
        minmax(220px, 1fr)
        repeat(4, minmax(140px, 180px))
        auto;

    gap:12px;

    margin-bottom:24px;
}

.table-link
{
    padding:0;

    border:0;

    background:none;

    color:var(--primary);

    font:inherit;

    font-weight:700;

    cursor:pointer;
}

.enhanced-table td small
{
    display:block;

    margin-top:4px;

    color:var(--text-light);
}

.table-actions
{
    display:flex;

    gap:8px;

    flex-wrap:wrap;
}

.detail-list p
{
    margin-bottom:10px;
}

.menu-admin-panel
{
    display:grid;

    gap:18px;
}

.menu-admin-note
{
    padding:12px 14px;

    border-radius:12px;

    background:#eff6ff;

    color:#1d4ed8;

    font-weight:600;
}

.menu-admin-table tr
{
    transition:background .2s ease;
}

.menu-admin-table tr.dragging
{
    opacity:.5;
}

.drag-handle
{
    width:42px;

    color:var(--text-light);

    cursor:grab;
}

.menu-title-cell
{
    display:flex;

    align-items:center;

    gap:10px;
}

.child-menu-row .menu-title-cell
{
    padding-left:28px;
}

.child-indent
{
    width:16px;

    height:16px;

    border-left:2px solid #cbd5e1;

    border-bottom:2px solid #cbd5e1;
}

.calendar-layout
{
    display:grid;

    grid-template-columns:240px minmax(0, 1fr);

    gap:20px;
}

.calendar-sidebar
{
    background:white;

    border:1px solid var(--border);

    border-radius:16px;

    padding:20px;

    box-shadow:
        0 4px 20px
        rgba(0,0,0,.04);
}

.calendar-sidebar h3
{
    margin-bottom:12px;
}

.calendar-sidebar-header
{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-bottom:12px;
}

.calendar-sidebar-header h3
{
    margin:0;
}

.calendar-sidebar-header .btn-small
{
    width:auto;
    min-height:32px;
    padding:6px 10px;
}

.calendar-sidebar-header .calendar-collapse-toggle
{
    width:34px;
    height:34px;
}

.calendar-picker
{
    display:grid;

    gap:10px;

    margin-bottom:24px;
}

.calendar-picker label
{
    display:grid;

    grid-template-columns:18px 12px minmax(0, 1fr);

    align-items:start;

    gap:8px;

    font-weight:600;

    line-height:1.25;
}

.calendar-picker label strong
{
    min-width:0;
    font-size:14px;
    font-weight:700;
}

.calendar-picker input[type="checkbox"]
{
    margin:1px 0 0;
}

.calendar-picker span
{
    width:12px;

    height:12px;

    border-radius:50%;

    margin-top:3px;
}

.calendar-availability-form
{
    display:grid;

    gap:8px;

    margin-bottom:20px;
}

.availability-row
{
    display:grid;

    grid-template-columns:70px 1fr 1fr;

    gap:8px;

    align-items:center;
}

.availability-row label,
.checkbox-row
{
    display:flex;

    align-items:center;

    gap:8px;
}

.calendar-list-collapsed
{
    width:76px;
    padding:14px 12px;
}

.calendar-list-collapsed .calendar-sidebar-header
{
    justify-content:center;
}

.calendar-list-collapsed .calendar-sidebar-header h3,
.calendar-list-collapsed .calendar-upcoming-panel
{
    display:none;
}

.calendar-list-collapsed .calendar-picker
{
    justify-items:center;
    margin-bottom:0;
}

.calendar-list-collapsed .calendar-picker label
{
    grid-template-columns:18px 12px;
    justify-content:center;
    gap:8px;
    width:100%;
}

.calendar-list-collapsed .calendar-picker label strong
{
    display:none;
}

.calendar-list-collapsed + .calendar-main
{
    min-width:0;
}

.calendar-layout:has(.calendar-list-collapsed)
{
    grid-template-columns:76px minmax(0, 1fr);
}

.digital-presence-card {
    margin-bottom: 14px;
}

.digital-presence-table select,
.digital-presence-table input[type="text"] {
    width: 100%;
    min-width: 180px;
}

.digital-presence-empty td {
    color: #64748b;
    text-align: center;
}

.profile-completion-list.inline {
    margin-top: 14px;
}

.profile-completion-empty {
    display: grid;
    justify-items: center;
    gap: 6px;
    padding: 24px;
    border: 1px dashed var(--border);
    border-radius: 14px;
    background: #f8fafc;
    color: var(--text-light);
    text-align: center;
}

.profile-completion-empty[hidden] {
    display: none;
}

.profile-completion-empty i {
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #eef2f7;
    color: var(--text);
}

.profile-completion-empty strong {
    color: var(--text);
}

.profile-completion-empty small {
    max-width: 340px;
}

.profile-sidebar-column .profile-side-card {
    padding: 18px;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: var(--card);
    box-shadow: 0 10px 28px rgba(15, 23, 42, .06);
}

.profile-sidebar-column .profile-side-card h3 {
    margin: 0 0 14px;
    color: var(--text);
    font-size: 15px;
    font-weight: 800;
    letter-spacing: 0;
}

.profile-side-actions {
    display: grid;
    gap: 8px;
}

.profile-side-actions a,
.profile-side-actions button {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr) 16px;
    align-items: center;
    gap: 10px;
    width: 100%;
    min-height: 46px;
    padding: 10px 12px;
    border: 1px solid var(--border);
    border-radius: 12px;
    background: #fff;
    color: var(--text);
    box-shadow: none;
    font: inherit;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.25;
    text-align: left;
    text-decoration: none;
    cursor: pointer;
    transition:
        background .16s ease,
        border-color .16s ease,
        color .16s ease,
        transform .16s ease;
}

.profile-side-actions a > i:first-child,
.profile-side-actions button > i:first-child {
    width: 18px;
    font-size: 16px;
    color: var(--text-light);
    text-align: center;
}

.profile-side-actions a > i:last-child,
.profile-side-actions button > i:last-child {
    justify-self: end;
    font-size: 13px;
    color: var(--text-light);
    opacity: .78;
}

.profile-side-actions a:hover,
.profile-side-actions button:hover {
    background: #f8fafc;
    border-color: #cbd5e1;
    color: var(--text);
    transform: translateY(-1px);
}

.profile-side-actions a:hover > i:first-child,
.profile-side-actions button:hover > i:first-child {
    color: var(--text);
}

.profile-side-actions a:focus-visible,
.profile-side-actions button:focus-visible {
    outline: 2px solid rgba(51, 65, 85, .42);
    outline-offset: 3px;
}

.theme-dark .profile-side-actions a,
.theme-dark .profile-side-actions button {
    background: #111827;
    border-color: #334155;
    color: #e5e7eb;
}

.theme-dark .profile-side-actions a:hover,
.theme-dark .profile-side-actions button:hover {
    background: #1e293b;
    border-color: #475569;
}

.invitation-role-checkboxes {
    padding: 10px 12px;
    border: 1px solid var(--border);
    border-radius: 12px;
    background: #fff;
}

.leave-request-modal {
    max-width: 720px;
}

.leave-date-row {
    display: grid;
    grid-template-columns: 180px minmax(180px, 1fr) minmax(180px, 1fr);
    gap: 12px;
    align-items: end;
    margin-bottom: 14px;
}

.leave-date-row label {
    margin: 0 0 12px;
    font-weight: 800;
}

.workspace-inline-form input[type="text"] {
    min-width: 220px;
    width: 100%;
}

.workspace-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.workspace-actions form {
    margin: 0;
}

.dashboard-wide-bars {
    min-height: 180px;
}

.dashboard-communication-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.dashboard-communication-grid a {
    display: grid;
    gap: 6px;
    padding: 16px;
    border: 1px solid var(--border);
    border-radius: 12px;
    background: #f8fafc;
    text-decoration: none;
    color: #172033;
}

.dashboard-communication-grid strong {
    font-size: 28px;
}

.dashboard-communication-grid span,
.dashboard-list span {
    color: #64748b;
}

.dashboard-list {
    display: grid;
    gap: 10px;
}

.dashboard-list div {
    display: grid;
    gap: 4px;
    padding: 10px 0;
    border-bottom: 1px solid var(--border);
}

.dashboard-list div:last-child {
    border-bottom: 0;
}

.leave-requests-table tr {
    cursor: pointer;
}

.leave-requests-table small {
    display: block;
    color: #64748b;
    margin-top: 4px;
}

.task-context-menu a {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 9px 12px;
    color: inherit;
    text-decoration: none;
}

.task-context-menu a:hover {
    background: #eef4ff;
}

@media (max-width: 760px) {
    .leave-date-row {
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .leave-date-row label {
        margin: 0;
    }

    .dashboard-communication-grid {
        grid-template-columns: 1fr;
    }
}

.availability-row input[type="time"]
{
    padding:8px;
}

.working-hours-form
{
    gap:12px;
}

.working-hours-row
{
    display:grid;

    grid-template-columns:minmax(160px, 1fr) 160px 160px;

    gap:12px;

    align-items:center;

    padding:12px;

    border:1px solid var(--border);

    border-radius:14px;

    background:var(--surface-strong);
}

.working-hours-row label
{
    display:flex;

    align-items:center;

    gap:10px;

    font-weight:700;
}

.calendar-attachments
{
    display:grid;

    gap:8px;

    margin-bottom:14px;
}

.calendar-attachments a
{
    padding:8px 10px;

    border:1px solid var(--border);

    border-radius:10px;

    background:var(--surface-strong);
}

.calendar-event-modal
{
    align-items:flex-start;
    padding:28px 16px;
    overflow-y:auto;
}

.calendar-event-modal-content
{
    width:min(1020px, calc(100vw - 32px));
    max-width:1020px;
    max-height:none;
    padding:0;
    overflow:visible;
    border-radius:18px;
    background:#f8fafc;
    box-shadow:0 28px 70px rgba(15,23,42,.24);
}

.calendar-event-modal-header
{
    position:sticky;
    top:0;
    z-index:4;
    padding:22px 26px;
    margin:0;
    border-bottom:1px solid #dbe3ee;
    border-radius:18px 18px 0 0;
    background:rgba(255,255,255,.96);
    backdrop-filter:blur(12px);
}

.calendar-event-modal-header h2
{
    margin:2px 0 4px;
    color:#0f172a;
    font-size:28px;
    letter-spacing:0;
}

.modal-eyebrow
{
    margin:0;
    color:#64748b;
    font-size:12px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.calendar-event-form
{
    display:block;
}

.calendar-event-sections
{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
    padding:18px;
}

.event-form-section
{
    display:grid;
    gap:16px;
    align-content:start;
    padding:18px;
    border:1px solid #dbe3ee;
    border-radius:16px;
    background:#ffffff;
    box-shadow:0 10px 24px rgba(15,23,42,.05);
}

.event-form-section-wide,
.event-advanced-section
{
    grid-column:1 / -1;
}

.event-section-heading
{
    display:flex;
    align-items:flex-start;
    gap:12px;
}

.event-section-heading h3
{
    margin:0;
    color:#172033;
    font-size:18px;
    letter-spacing:0;
}

.event-section-heading p,
.event-advanced-section summary small
{
    margin:3px 0 0;
    color:#64748b;
    font-size:13px;
    line-height:1.45;
}

.event-section-icon
{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:36px;
    height:36px;
    border-radius:12px;
    background:#eef2f7;
    color:#334155;
    flex:0 0 auto;
}

.event-form-grid
{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:14px;
}

.event-form-grid-tight
{
    grid-template-columns:repeat(3, minmax(0, 1fr));
}

.event-field,
.event-field label
{
    display:grid;
    gap:7px;
}

.event-field-full
{
    grid-column:1 / -1;
}

.event-field label,
.event-toggle strong
{
    color:#172033;
    font-size:13px;
    font-weight:800;
}

.event-field label span
{
    color:#64748b;
    font-size:11px;
    font-weight:800;
    text-transform:uppercase;
}

.calendar-event-form input,
.calendar-event-form select,
.calendar-event-form textarea
{
    min-height:44px;
    padding:11px 13px;
    border:1px solid #cfd8e5;
    border-radius:11px;
    background:#ffffff;
    color:#172033;
    font-size:14px;
    box-shadow:none;
}

.calendar-event-form textarea
{
    min-height:112px;
    resize:vertical;
}

.calendar-event-form input:hover,
.calendar-event-form select:hover,
.calendar-event-form textarea:hover
{
    border-color:#94a3b8;
}

.calendar-event-form input:focus,
.calendar-event-form select:focus,
.calendar-event-form textarea:focus
{
    border-color:#334155;
    box-shadow:0 0 0 4px rgba(51,65,85,.14);
}

.event-toggle
{
    display:inline-grid;
    grid-template-columns:42px auto;
    align-items:center;
    gap:10px;
    width:max-content;
    max-width:100%;
    cursor:pointer;
}

.event-toggle input
{
    position:absolute;
    opacity:0;
    pointer-events:none;
}

.event-toggle > span
{
    position:relative;
    display:block;
    width:42px;
    height:24px;
    border-radius:999px;
    background:#cbd5e1;
    transition:background .16s ease;
}

.event-toggle > span::after
{
    content:'';
    position:absolute;
    top:3px;
    left:3px;
    width:18px;
    height:18px;
    border-radius:50%;
    background:#ffffff;
    box-shadow:0 2px 5px rgba(15,23,42,.24);
    transition:transform .16s ease;
}

.event-toggle input:checked + span
{
    background:#334155;
}

.event-toggle input:checked + span::after
{
    transform:translateX(18px);
}

.event-toggle input:focus-visible + span
{
    outline:3px solid rgba(51,65,85,.24);
    outline-offset:3px;
}

.event-number-input
{
    display:grid;
    grid-template-columns:minmax(0, 1fr) auto;
    align-items:center;
    border:1px solid #cfd8e5;
    border-radius:11px;
    overflow:hidden;
    background:#ffffff;
}

.event-number-input input
{
    border:0;
    border-radius:0;
}

.event-number-input span
{
    padding:0 12px;
    color:#64748b;
    font-size:12px;
    font-weight:800;
}

.event-scheduling-insight
{
    display:flex;
    align-items:flex-start;
    gap:10px;
    padding:12px 13px;
    border:1px solid #dbe3ee;
    border-radius:13px;
    background:linear-gradient(135deg, #f8fafc, #eef2f7);
    color:#334155;
}

.event-scheduling-insight span
{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:30px;
    height:30px;
    border-radius:10px;
    background:#ffffff;
    color:#334155;
    box-shadow:0 6px 14px rgba(15,23,42,.08);
    flex:0 0 auto;
}

.event-scheduling-insight strong
{
    display:block;
    color:#172033;
    font-size:13px;
    font-weight:900;
}

.event-scheduling-insight p
{
    margin:2px 0 0;
    color:#64748b;
    font-size:13px;
    line-height:1.45;
}

.event-colour-input
{
    width:54px !important;
    height:42px;
    padding:4px !important;
}

.event-colour-swatches
{
    display:flex;
    flex-wrap:wrap;
    gap:9px;
}

.event-colour-swatches button
{
    width:34px;
    height:34px;
    min-height:34px;
    padding:0;
    border:2px solid #ffffff;
    border-radius:999px;
    background:var(--swatch);
    box-shadow:0 0 0 1px #cfd8e5;
}

.event-colour-swatches button.active,
.event-colour-swatches button:focus-visible
{
    box-shadow:0 0 0 3px rgba(51,65,85,.2), 0 0 0 1px #334155 inset;
}

.event-checklist-builder
{
    display:grid;
    gap:10px;
    padding:10px;
    border:1px solid #dbe3ee;
    border-radius:12px;
    background:#f8fafc;
}

.event-checklist-items
{
    display:grid;
    gap:8px;
}

.event-checklist-row
{
    display:grid;
    grid-template-columns:auto minmax(0, 1fr) auto;
    align-items:center;
    gap:8px;
    padding:8px;
    border:1px solid #dbe3ee;
    border-radius:10px;
    background:#ffffff;
}

.event-checklist-row input[type="checkbox"]
{
    width:16px;
    min-height:16px;
}

.event-checklist-row input[type="text"]
{
    min-height:34px;
    padding:6px 8px;
    border:0;
}

.event-checklist-row button
{
    width:32px;
    height:32px;
    min-height:32px;
    padding:0;
    border:1px solid #e2e8f0;
    border-radius:9px;
    background:#ffffff;
    color:#64748b;
}

.event-checklist-add
{
    display:grid;
    grid-template-columns:minmax(0, 1fr) auto;
    gap:8px;
}

.event-checklist-add .secondary-btn
{
    width:auto;
}

.event-checklist-source
{
    display:none;
}

.event-upload-zone
{
    display:grid;
    place-items:center;
    gap:6px;
    min-height:132px;
    padding:18px;
    border:1px dashed #94a3b8;
    border-radius:14px;
    background:#f8fafc;
    color:#334155;
    text-align:center;
    cursor:pointer;
}

.event-upload-zone input
{
    position:absolute;
    opacity:0;
    pointer-events:none;
}

.event-upload-zone i
{
    font-size:24px;
}

.event-upload-zone span
{
    color:#64748b;
    font-size:13px;
}

.event-advanced-section
{
    padding:0;
    overflow:hidden;
}

.event-advanced-section summary
{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:17px 18px;
    cursor:pointer;
    list-style:none;
}

.event-advanced-section summary::-webkit-details-marker
{
    display:none;
}

.event-advanced-section summary span
{
    display:inline-flex;
    align-items:center;
    gap:10px;
    color:#172033;
    font-weight:800;
}

.event-advanced-grid
{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:14px;
    padding:0 18px 18px;
    border-top:1px solid #e2e8f0;
}

.event-repeat-until.is-hidden,
.event-template-name.is-hidden
{
    display:none;
}

.calendar-event-footer
{
    position:sticky;
    bottom:0;
    z-index:4;
    display:flex;
    justify-content:flex-end;
    align-items:center;
    gap:10px;
    padding:16px 18px;
    border-top:1px solid #dbe3ee;
    border-radius:0 0 18px 18px;
    background:rgba(255,255,255,.96);
    backdrop-filter:blur(12px);
}

.calendar-event-footer .secondary-btn,
.calendar-event-footer .primary-btn,
.calendar-event-footer .danger-btn
{
    width:auto;
}

.theme-dark .calendar-event-modal-content,
.theme-dark .calendar-event-modal-header,
.theme-dark .calendar-event-footer,
.theme-dark .event-form-section,
.theme-dark .event-checklist-row
{
    background:#111827;
    border-color:#334155;
}

.theme-dark .calendar-event-form input,
.theme-dark .calendar-event-form select,
.theme-dark .calendar-event-form textarea,
.theme-dark .event-number-input,
.theme-dark .event-checklist-builder,
.theme-dark .event-upload-zone,
.theme-dark .event-scheduling-insight
{
    background:#0f172a;
    border-color:#334155;
    color:#f8fafc;
}

.theme-dark .event-scheduling-insight span
{
    background:#111827;
    color:#f8fafc;
}

.theme-dark .event-scheduling-insight strong
{
    color:#f8fafc;
}

.theme-dark .event-scheduling-insight p
{
    color:#cbd5e1;
}

@media (max-width:900px)
{
    .calendar-event-sections,
    .event-form-grid,
    .event-form-grid-tight,
    .event-advanced-grid
    {
        grid-template-columns:1fr;
    }

    .calendar-event-modal
    {
        padding:10px;
    }

    .calendar-event-modal-content
    {
        width:100%;
    }
}

.modal-actions
{
    display:flex;

    flex-wrap:wrap;

    gap:10px;

    align-items:center;
}

.employee-grid
{
    display:grid;

    grid-template-columns:
        repeat(
            auto-fit,
            minmax(240px, 1fr)
        );

    gap:18px;
}

.employee-card,
.org-person
{
    border:1px solid var(--border);

    cursor:pointer;

    font:inherit;
}

.employee-card
{
    display:grid;

    gap:6px;

    padding:18px;

    text-align:left;

    background:white;

    border-radius:14px;

    box-shadow:
        0 4px 20px
        rgba(0,0,0,.04);
}

.employee-card span,
.employee-card small
{
    color:var(--text-light);
}

.employee-profile-card
{
    display:grid;

    gap:10px;
}

.employee-profile-card .avatar
{
    width:72px;

    height:72px;
}

.bulk-actions
{
    display:flex;

    gap:12px;

    align-items:center;

    margin-bottom:16px;
}

.bulk-actions button
{
    width:auto;
    min-width:110px;
    flex:0 0 auto;
}

.task-board-toolbar
{
    display:flex;

    justify-content:flex-start;

    align-items:center;

    margin:0 0 18px;
}

.bulk-actions select
{
    max-width:220px;
}

.filter-panel
{
    background:#ffffff;

    border:1px solid var(--border);

    border-radius:16px;

    padding:16px;

    margin-bottom:20px;

    display:grid;

    gap:14px;
}

.filter-panel-toggle
{
    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:12px;

    width:100%;

    min-height:44px;

    padding:0;

    border:0;

    background:transparent;

    color:var(--text);

    font-weight:700;

    cursor:pointer;
}

.filter-panel-toggle span
{
    color:var(--text-light);

    font-size:14px;

    font-weight:600;
}

.filter-panel-body
{
    display:grid;

    gap:14px;
}

.filter-panel:not(.filter-panel-expanded) .filter-panel-body
{
    display:none;
}

.filter-panel-expanded .filter-panel-toggle span::after
{
    content:'Hide';
}

.filter-panel:not(.filter-panel-expanded) .filter-panel-toggle span::after
{
    content:'Show';
}

.quick-filters,
.saved-filter-list
{
    display:flex;

    flex-wrap:wrap;

    gap:8px;

    align-items:center;
}

.quick-filters a,
.saved-filter-list a
{
    display:inline-flex;

    align-items:center;

    min-height:34px;

    padding:7px 12px;

    border:1px solid var(--border);

    border-radius:999px;

    background:#f8fafc;

    color:var(--text);

    font-size:14px;
}

.quick-filters a:hover,
.saved-filter-list a:hover
{
    border-color:var(--primary);

    color:var(--primary);
}

.advanced-filters
{
    display:grid;

    grid-template-columns:2fr repeat(4, minmax(140px, 1fr)) auto;

    gap:10px;

    align-items:end;
}

.saved-filter-row
{
    display:flex;

    justify-content:space-between;

    gap:12px;

    align-items:center;

    flex-wrap:wrap;
}

.saved-filter-list span
{
    color:var(--text-light);

    font-size:14px;
}

.save-filter-form
{
    display:flex;

    gap:8px;

    align-items:center;
}

.save-filter-form input[type="text"]
{
    min-width:220px;
}

.twiki-layout
{
    display:grid;

    grid-template-columns:340px minmax(0, 1fr);

    gap:20px;

    align-items:start;
}

.twiki-index
{
    position:sticky;

    top:20px;

    max-height:calc(100vh - 140px);

    overflow:auto;
}

.twiki-index h2
{
    margin-bottom:14px;
}

.twiki-page-link
{
    display:grid;

    gap:5px;

    padding:12px;

    border:1px solid transparent;

    border-radius:12px;

    color:var(--text);
}

.twiki-page-link span
{
    color:var(--text-light);

    font-size:13px;
}

.twiki-page-link:hover,
.twiki-page-link.active
{
    background:#f8fafc;

    border-color:var(--border);
}

.twiki-reader
{
    min-height:560px;
}

.twiki-reader-header
{
    display:flex;

    justify-content:space-between;

    gap:16px;

    align-items:flex-start;

    padding-bottom:18px;

    margin-bottom:22px;

    border-bottom:1px solid var(--border);
}

.twiki-reader-header h2
{
    margin:10px 0 6px;

    font-size:30px;
}

.twiki-reader-header p
{
    color:var(--text-light);
}

.twiki-content
{
    line-height:1.7;

    color:var(--text);
}

.twiki-content h1,
.twiki-content h2,
.twiki-content h3
{
    margin:22px 0 10px;
}

.twiki-content p,
.twiki-content ul,
.twiki-content ol,
.twiki-content blockquote,
.twiki-content pre
{
    margin-bottom:16px;
}

.twiki-content blockquote
{
    border-left:4px solid var(--primary);

    padding-left:14px;

    color:var(--text-light);
}

.twiki-content code,
.twiki-content pre
{
    background:#f1f5f9;

    border-radius:8px;
}

.twiki-content code
{
    padding:2px 5px;
}

.twiki-content pre
{
    padding:14px;

    overflow:auto;
}

.modal-content.modal-wide
{
    max-width:900px;
}

.admin-user-tab-content
{
    display:none;

    margin-bottom:18px;
}

.admin-user-tab-content.tab-visible
{
    display:block;
}

.address-suggestions
{
    position:relative;

    z-index:30;

    display:grid;

    gap:4px;

    margin-top:-12px;

    margin-bottom:14px;
}

.address-suggestions button
{
    width:100%;

    padding:10px 12px;

    text-align:left;

    border:1px solid var(--border);

    border-radius:10px;

    background:#ffffff;

    color:var(--text);

    cursor:pointer;
}

.address-suggestions button:hover
{
    background:#f8fafc;
}

.chat-app
{
    display:grid;

    grid-template-columns:320px minmax(0, 1fr);

    min-height:680px;

    background:white;

    border:1px solid var(--border);

    border-radius:16px;

    overflow:hidden;
}

.chat-list
{
    border-right:1px solid var(--border);

    background:#f8fafc;

    overflow:auto;
}

.chat-list-item
{
    display:grid;

    gap:6px;

    width:100%;

    padding:16px;

    text-align:left;

    border:0;

    border-bottom:1px solid var(--border);

    background:transparent;

    cursor:pointer;
}

.chat-list-item:hover
{
    background:white;
}

.chat-list-item span,
.chat-list-item small
{
    color:var(--text-light);
}

.chat-window
{
    display:grid;

    grid-template-rows:auto 1fr auto;

    min-width:0;
}

.chat-window-header
{
    padding:18px 20px;

    border-bottom:1px solid var(--border);

    font-weight:700;
}

.chat-messages
{
    display:flex;

    flex-direction:column;

    gap:12px;

    padding:20px;

    overflow:auto;
}

.chat-message
{
    max-width:72%;

    padding:12px 14px;

    border-radius:14px;

    background:#f1f5f9;
}

.chat-message.own
{
    align-self:flex-end;

    background:#dbeafe;
}

.chat-message p
{
    margin:6px 0;
}

.chat-message small
{
    color:var(--text-light);
}

.chat-composer
{
    display:grid;

    grid-template-columns:auto minmax(0, 1fr) auto;

    gap:10px;

    padding:16px;

    border-top:1px solid var(--border);
}

.chat-composer input[type="hidden"],
.chat-composer .emoji-picker
{
    display:none;
}

.chat-composer-tools
{
    display:flex;

    gap:8px;
}

.chat-composer-tools button,
.emoji-picker button,
.chat-delete-button
{
    width:auto;

    padding:8px 10px;

    min-height:38px;
}

.emoji-picker.emoji-picker-open
{
    display:flex;

    grid-column:1 / -1;

    flex-wrap:wrap;

    gap:8px;

    padding:10px;

    border:1px solid var(--border);

    border-radius:12px;

    background:#f8fafc;
}

.emoji-picker button
{
    min-width:38px;

    font-size:18px;
}

.chat-gif img
{
    display:block;

    max-width:260px;

    max-height:220px;

    border-radius:12px;

    object-fit:cover;
}

.chat-delete-button
{
    margin-top:8px;

    background:#fee2e2;

    color:#991b1b;
}

.profile-photo-modal
{
    max-width:440px;
}

.profile-photo-modal .primary-btn,
.profile-photo-modal .btn-small
{
    width:100%;

    margin-top:10px;
}

.danger-btn
{
    background:#fee2e2;

    color:#991b1b;
}

.profile-cropper
{
    gap:10px;

    margin-top:16px;

    padding-top:16px;

    border-top:1px solid var(--border);
}

.profile-cropper canvas
{
    width:260px;

    height:260px;

    max-width:100%;

    justify-self:center;

    border-radius:50%;

    border:4px solid #ffffff;

    box-shadow:
        0 10px 30px
        rgba(15,23,42,.18);

    background:#f1f5f9;

    cursor:grab;

    touch-action:none;

    user-select:none;
}

.profile-cropper canvas.profile-crop-dragging
{
    cursor:grabbing;
}

.cropper-hint
{
    margin:0;

    color:var(--text-light);

    font-size:13px;

    text-align:center;
}

.profile-cropper label
{
    margin-top:6px;

    font-weight:700;

    color:var(--text);
}

.profile-cropper input[type="range"]
{
    width:100%;
}

.success-message,
.error-message
{
    position:fixed;

    right:24px;

    bottom:24px;

    z-index:9999;

    width:min(380px, calc(100vw - 32px));

    margin:0;

    padding:16px 46px 16px 18px;

    border-radius:14px;

    box-shadow:
        0 18px 45px
        rgba(15,23,42,.18);

    animation:toastSlideIn .2s ease-out;
}

.toast-close
{
    position:absolute;

    top:8px;

    right:8px;

    width:30px;

    height:30px;

    min-height:30px;

    padding:0;

    border-radius:999px;

    background:rgba(15,23,42,.08);

    color:inherit;
}

@keyframes toastSlideIn
{
    from
    {
        transform:translateY(12px);

        opacity:0;
    }

    to
    {
        transform:translateY(0);

        opacity:1;
    }
}

.simple-editor
{
    border:1px solid var(--border);
    border-radius:12px;
    background:white;
    overflow:hidden;
    margin-bottom:16px;
}

.simple-editor-toolbar
{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    padding:8px;
    border-bottom:1px solid var(--border);
    background:#f8fafc;
}

.simple-editor-toolbar-group
{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding-right:8px;
    margin-right:2px;
    border-right:1px solid rgba(148,163,184,.28);
}

.simple-editor-toolbar-group:last-child
{
    padding-right:0;
    margin-right:0;
    border-right:0;
}

.simple-editor-button
{
    width:auto;
    min-height:34px;
    padding:6px 10px;
    border:1px solid var(--border);
    border-radius:8px;
    background:white;
    color:var(--text);
    cursor:pointer;
}

.simple-editor-surface
{
    min-height:180px;
    padding:14px 16px;
    outline:none;
    line-height:1.6;
}

.theme-dark .simple-editor,
.theme-dark .simple-editor-button,
.theme-dark .simple-editor-surface
{
    background:#111827;
    color:var(--text);
}

.theme-dark .simple-editor-toolbar
{
    background:#1e293b;
}

.task-admin-layout
{
    display:grid;
    grid-template-columns:minmax(280px, .8fr) minmax(360px, 1.2fr);
    gap:20px;
    align-items:start;
}

.task-admin-layout form
{
    display:grid;
    gap:12px;
}

.task-admin-layout label
{
    color:var(--text-light);
    font-size:13px;
    font-weight:700;
    text-transform:uppercase;
}

.admin-centre-grid
{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));
    gap:18px;
}

.admin-centre-card
{
    display:grid;
    gap:10px;
    min-height:150px;
    padding:22px;
    border:1px solid var(--border);
    border-radius:14px;
    background:var(--card);
    color:var(--text);
    text-decoration:none;
    box-shadow:0 10px 30px rgba(15,23,42,.06);
    transition:transform .18s ease, border-color .18s ease;
}

.admin-centre-card:hover
{
    transform:translateY(-2px);
    border-color:var(--primary);
}

.admin-centre-card h2
{
    font-size:20px;
}

.admin-centre-card p
{
    color:var(--text-light);
    line-height:1.5;
}

.automation-shell
{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:20px;
    margin-bottom:20px;
}

.automation-shell form
{
    display:grid;
    gap:12px;
}

.automation-builder
{
    padding:14px;
    border:1px solid var(--border);
    border-radius:12px;
    background:#f8fafc;
}

.automation-record-grid
{
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:16px;
}

.automation-record-grid section
{
    padding:14px;
    border:1px solid var(--border);
    border-radius:12px;
}

.automation-record-grid p
{
    display:grid;
    gap:4px;
    padding:10px 0;
    border-bottom:1px solid var(--border);
}

.automation-record-grid span
{
    color:var(--text-light);
    font-size:13px;
}

.theme-dark .automation-builder
{
    background:#1e293b;
}

.task-detail-sections
{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:14px;
    margin:18px 0;
}

.task-detail-sections section
{
    border:1px solid var(--border);
    border-radius:12px;
    padding:14px;
    background:#f8fafc;
}

.task-detail-sections h3
{
    margin-bottom:10px;
    font-size:16px;
}

.task-detail-toolbar
{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:14px;
    margin-bottom:18px;
    padding:12px 14px;
    border:1px solid var(--border);
    border-radius:14px;
    background:var(--surface-strong);
}

.task-autosave-status
{
    margin-left:10px;
    color:var(--text-light);
    font-size:13px;
    font-weight:700;
}

.task-actions-menu
{
    position:relative;
}

.task-actions-dropdown
{
    position:absolute;
    right:0;
    top:calc(100% + 8px);
    z-index:40;
    display:none;
    min-width:180px;
    padding:8px;
    border:1px solid var(--border);
    border-radius:14px;
    background:var(--surface-strong);
    box-shadow:var(--shadow-md);
}

.task-actions-dropdown-open
{
    display:grid;
    gap:4px;
}

.task-actions-dropdown form
{
    margin:0;
}

.task-actions-dropdown button
{
    width:100%;
    justify-content:flex-start;
    min-height:38px;
    padding:9px 10px;
    background:transparent;
    color:var(--text);
    box-shadow:none;
}

.task-actions-dropdown button:hover
{
    background:#f1f5f9;
    transform:none;
}

.task-actions-dropdown .danger-text
{
    color:#b91c1c;
}

.task-detail-tabs
{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin:22px 0 0;
    overflow-x:auto;
}

.task-detail-tab
{
    flex:0 0 auto;
    width:auto;
    min-height:38px;
    padding:9px 12px;
    border:1px solid var(--border);
    border-bottom:0;
    border-radius:12px 12px 0 0;
    background:#f8fafc;
    color:var(--text-light);
    box-shadow:none;
}

.task-detail-tab.active
{
    background:var(--surface-strong);
    color:var(--text);
    box-shadow:none;
}

.task-detail-tab-panels
{
    border:1px solid var(--border);
    border-radius:0 14px 14px 14px;
    padding:18px;
    background:var(--surface-strong);
    margin-bottom:18px;
}

.task-detail-tab-panel
{
    display:none;
}

.task-detail-tab-panel.tab-visible
{
    display:block;
}

body.theme-dark .task-actions-dropdown button:hover,
body.theme-dark .task-detail-tab
{
    background:#1e293b;
}

#taskDetailsModal .modal-content
{
    width:min(1100px, calc(100vw - 32px));
    max-width:1100px;
}

@media (max-width:640px)
{
    .task-detail-toolbar
    {
        align-items:flex-start;
        flex-direction:column;
    }

    .task-actions-menu,
    .task-actions-menu > button
    {
        width:100%;
    }

    .task-actions-dropdown
    {
        left:0;
        right:auto;
        width:100%;
    }
}

.task-comment
{
    border-top:1px solid var(--border);
    padding-top:10px;
    margin-top:10px;
}

.discussion-note-toggle
{
    display:inline-flex !important;
    width:auto !important;
    max-width:max-content;
    align-items:center;
    justify-content:flex-start;
    gap:8px;
    margin:12px 0 14px;
    font-weight:700;
}

.discussion-note-toggle input
{
    flex:0 0 auto;
    width:auto;
    margin:0;
}

.task-comment-reply
{
    margin-left:18px;
    padding-left:12px;
    border-left:3px solid var(--primary);
}

.reaction-row
{
    display:inline-flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:10px;
    align-items:center;
}

.reaction-button,
.reaction-count
{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:34px;
    min-width:34px;
    height:34px;
    min-height:34px;
    padding:0;
    border:1px solid var(--border);
    border-radius:999px;
    background:var(--card);
    color:var(--text);
    font-size:14px;
}

.reaction-button
{
    cursor:pointer;
}

.reaction-button:hover
{
    background:#eef4ff;
    color:var(--primary);
    transform:none;
}

.reaction-count
{
    width:auto;
    min-width:auto;
    padding:0 10px;
    font-size:13px;
}

.revision-editor
{
    margin-bottom:20px;
}

.revision-timeline
{
    display:grid;
    gap:18px;
}

.revision-post-meta
{
    display:flex;
    justify-content:space-between;
    gap:12px;
    color:var(--text-light);
    font-size:13px;
    margin-bottom:10px;
}

.revision-post-body
{
    line-height:1.7;
}

.revision-post-body p
{
    margin-bottom:12px;
}

.theme-dark .reaction-button,
.theme-dark .reaction-count
{
    background:#111827;
}

.permission-module-heading
{
    margin:18px 0 10px;
    padding-bottom:8px;
    border-bottom:1px solid var(--border);
    color:var(--text);
    font-size:16px;
}

.permission-option
{
    display:inline-flex;
    align-items:center;
    min-width:150px;
    margin:0 10px 12px 0;
}

.permission-option label
{
    display:flex;
    align-items:center;
    gap:8px;
    color:var(--text);
}

.dashboard-grid
{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:20px;
    margin-bottom:20px;
}

.dashboard-kpis
{
    margin-bottom:20px;
}

.dashboard-topbar
{
    padding-bottom:8px;
}

.dashboard-kpi-grid
{
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:16px;
    margin-bottom:22px;
}

.dashboard-kpi-card
{
    display:grid;
    gap:10px;
    min-height:138px;
    padding:20px;
    border:1px solid var(--border);
    border-radius:14px;
    background:
        linear-gradient(135deg, rgba(59,130,246,.08), rgba(34,197,94,.08)),
        var(--card);
    color:var(--text);
    text-decoration:none;
    box-shadow:0 10px 30px rgba(15,23,42,.06);
    transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.dashboard-kpi-card:hover
{
    transform:translateY(-2px);
    border-color:var(--primary);
    box-shadow:0 18px 44px rgba(15,23,42,.12);
}

.dashboard-kpi-card span,
.dashboard-kpi-card small
{
    color:var(--text-light);
    font-size:13px;
    font-weight:700;
    text-transform:uppercase;
}

.dashboard-kpi-card strong
{
    font-size:42px;
    line-height:1;
    color:var(--text);
}

.dashboard-panel
{
    border-radius:16px;
}

.dashboard-grid-featured
{
    grid-template-columns:minmax(0, 1.25fr) minmax(320px, .75fr);
}

.panel-heading-row
{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:14px;
}

.dashboard-chart
{
    display:grid;
    gap:12px;
}

.chart-row
{
    display:grid;
    grid-template-columns:110px 1fr 42px;
    align-items:center;
    gap:10px;
    padding:8px;
    border-radius:10px;
    color:var(--text);
    text-decoration:none;
}

a.chart-row:hover
{
    background:#f8fafc;
}

.chart-row span
{
    color:var(--text-light);
    font-size:14px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.chart-track
{
    height:12px;
    border-radius:999px;
    background:#e5e7eb;
    overflow:hidden;
}

.chart-track div
{
    height:100%;
    border-radius:inherit;
    background:linear-gradient(90deg, #3b82f6, #22c55e);
}

.donut-wrap
{
    display:grid;
    grid-template-columns:180px 1fr;
    align-items:center;
    gap:22px;
}

.dashboard-donut
{
    width:180px;
    height:180px;
    border-radius:50%;
    display:grid;
    place-content:center;
    text-align:center;
    position:relative;
}

.dashboard-donut::after
{
    content:'';
    position:absolute;
    inset:32px;
    border-radius:50%;
    background:var(--card);
}

.dashboard-donut strong,
.dashboard-donut span
{
    position:relative;
    z-index:1;
}

.dashboard-donut strong
{
    font-size:36px;
}

.dashboard-donut span
{
    color:var(--text-light);
    font-size:13px;
    font-weight:700;
    text-transform:uppercase;
}

.dashboard-legend
{
    display:grid;
    gap:10px;
}

.dashboard-legend a
{
    display:flex;
    align-items:center;
    gap:8px;
    color:var(--text);
    text-decoration:none;
}

.dashboard-legend i
{
    width:10px;
    height:10px;
    border-radius:50%;
}

.mini-bar-chart
{
    display:flex;
    align-items:end;
    gap:14px;
    min-height:160px;
}

.mini-bar-chart div
{
    display:grid;
    align-items:end;
    justify-items:center;
    gap:8px;
    min-width:34px;
}

.mini-bar-chart span
{
    width:28px;
    border-radius:999px 999px 6px 6px;
    background:linear-gradient(180deg, #3b82f6, #22c55e);
}

.mini-bar-chart small
{
    color:var(--text-light);
    font-size:12px;
}

.activity-stream
{
    display:grid;
    gap:12px;
}

.activity-item
{
    padding:12px 0;
    border-bottom:1px solid var(--border);
}

.activity-stream.compact .activity-item:nth-child(n+11)
{
    display:none;
}

.activity-item-rich
{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
}

.activity-page-panel
{
    max-width:980px;
}

.activity-page-shell
{
    width:min(100%, 1120px);

    display:grid;

    gap:18px;
}

.activity-page-shell .audit-filters,
.activity-page-shell .filter-panel,
.activity-page-shell .activity-page-panel
{
    width:100%;

    max-width:none;

    margin:0;
}

.activity-search-form
{
    grid-template-columns:minmax(0, 1fr) 180px;
}

.activity-page-panel
{
    padding:18px 20px;
}

.activity-stream.full
{
    display:grid;

    gap:0;
}

.activity-stream.full .activity-item
{
    display:grid;

    grid-template-columns:minmax(0, 1fr) auto;

    align-items:center;

    gap:18px;

    width:100%;

    padding:18px 4px;

    border-bottom:1px solid var(--border);
}

.activity-stream.full .activity-item:last-child
{
    border-bottom:0;
}

.activity-stream.full .activity-item > div
{
    min-width:0;
}

.activity-stream.full .activity-item strong,
.activity-stream.full .activity-item span
{
    overflow:hidden;

    text-overflow:ellipsis;
}

.activity-item strong,
.activity-item span
{
    display:block;
}

.activity-item span
{
    margin-top:4px;
    color:var(--text-light);
    font-size:13px;
}

.theme-dark .chart-track
{
    background:#334155;
}

.theme-dark a.chart-row:hover
{
    background:#1e293b;
}

.muted-text
{
    color:var(--text-light);
}

.checkbox-row
{
    display:flex;
    align-items:center;
    gap:8px;
    text-transform:none !important;
}

.theme-dark .task-detail-sections section
{
    background:#1e293b;
}

.modal-content-wide
{
    max-width:1100px;
}

.project-detail-layout
{
    display:grid;

    grid-template-columns:minmax(280px, .9fr) minmax(320px, 1.1fr);

    gap:24px;
}

.form-grid
{
    display:grid;

    grid-template-columns:repeat(2, minmax(0, 1fr));

    gap:14px;
}

.project-task-panel h3
{
    margin-bottom:12px;
}

.project-task-table
{
    margin-top:16px;
}

@media (max-width: 900px)
{
    .project-filters,
    .project-detail-layout,
    .form-grid,
    .mail-app,
    .audit-filters,
    .activity-search-form,
    .user-filters,
    .calendar-layout,
    .chat-app
    {
        grid-template-columns:1fr;
    }

    .mail-sidebar
    {
        border-right:none;

        border-bottom:1px solid var(--border);
    }
}

.sidebar-footer
{
    margin-top:auto;
    padding-top:16px;
    display:flex;
    gap:10px;
    position:relative;
}

.global-search-shell
{
    position:relative;
}

.notification-bell,
.global-search-button
{
    position:relative;

    width:48px;
    height:48px;

    padding:0;

    border-radius:16px;

    background:white;

    display:flex;
    align-items:center;
    justify-content:center;

    cursor:pointer;

    border:1px solid var(--border);

    font:inherit;

    box-shadow:
        0 4px 20px rgba(0,0,0,.04);
}

.sidebar .notification-bell,
.sidebar .global-search-button,
.sidebar .information-menu-button,
.sidebar .system-admin-menu-button,
.sidebar .workspace-switcher-button,
.sidebar .sidebar-collapse-button
{
    background:rgba(255,255,255,0.06);

    border:1px solid rgba(255,255,255,0.12);

    color:white;

    box-shadow:none;
}

.sidebar .notification-bell:hover,
.sidebar .global-search-button:hover,
.sidebar .information-menu-button:hover,
.sidebar .system-admin-menu-button:hover,
.sidebar .workspace-switcher-button:hover,
.sidebar .sidebar-collapse-button:hover
{
    border-color:rgba(255,255,255,.24);
    background:rgba(255,255,255,.13);
    color:#fff;
}

.sidebar .notification-bell:focus-visible,
.sidebar .global-search-button:focus-visible,
.sidebar .information-menu-button:focus-visible,
.sidebar .system-admin-menu-button:focus-visible,
.sidebar .workspace-switcher-button:focus-visible,
.sidebar .sidebar-collapse-button:focus-visible
{
    outline:2px solid rgba(255,255,255,.78);
    outline-offset:3px;
}

.global-search-panel
{
    position:absolute;
    left:0;
    bottom:58px;
    z-index:1400;
    width:min(420px, calc(100vw - 28px));
    max-height:min(520px, calc(100vh - 112px));
    padding:10px;
    border:1px solid rgba(148,163,184,.35);
    border-radius:12px;
    background:var(--surface);
    box-shadow:0 24px 70px rgba(15,23,42,.24);
    opacity:0;
    pointer-events:none;
    transform:translateY(8px) scale(.98);
    transform-origin:bottom left;
    transition:opacity .16s ease, transform .16s ease;
}

.global-search-panel-open
{
    opacity:1;
    pointer-events:auto;
    transform:translateY(0) scale(1);
}

.global-search-input-row
{
    display:grid;
    grid-template-columns:20px minmax(0, 1fr) 28px;
    align-items:center;
    gap:8px;
    min-height:42px;
    padding:0 8px;
    border:1px solid var(--border);
    border-radius:8px;
    background:var(--surface-strong);
}

.global-search-input-row i
{
    color:var(--text-light);
}

.global-search-input-row input
{
    min-height:38px;
    padding:0;
    border:0;
    background:transparent;
    box-shadow:none;
    outline:none;
}

.global-search-close
{
    width:28px;
    height:28px;
    padding:0;
    border:0;
    border-radius:6px;
    background:transparent;
    color:var(--text-light);
    cursor:pointer;
}

.global-search-close:hover
{
    background:rgba(148,163,184,.16);
    color:var(--text);
}

.global-search-results
{
    display:grid;
    gap:8px;
    max-height:430px;
    margin-top:10px;
    overflow:auto;
}

.global-search-result
{
    display:flex;
    justify-content:space-between;
    gap:12px;
    padding:12px;
    border:1px solid var(--border);
    border-radius:12px;
    color:var(--text);
    text-decoration:none;
}

.global-search-result strong
{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.global-search-result span
{
    color:var(--text-light);
    font-size:13px;
}

.presence-badge
{
    display:inline-flex;
    align-items:center;
    gap:7px;
    width:max-content;
    min-height:28px;
    padding:4px 10px;
    border:1px solid var(--border);
    border-radius:999px;
    background:var(--surface-strong);
    color:var(--text-light);
    font-size:13px;
    font-weight:700;
}

.presence-badge span
{
    width:8px;
    height:8px;
    border-radius:999px;
    background:#94a3b8;
}

.presence-online
{
    color:#047857;
    border-color:#a7f3d0;
    background:#ecfdf5;
}

.presence-online span
{
    background:#10b981;
}

.presence-offline
{
    color:#64748b;
}

.settings-columns
{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));
    gap:18px;
    margin-bottom:18px;
}

.settings-columns section
{
    display:grid;
    gap:10px;
    align-content:start;
    padding:14px;
    border:1px solid var(--border);
    border-radius:8px;
    background:var(--surface-strong);
}

.setting-toggle
{
    display:flex;
    align-items:center;
    gap:10px;
    min-height:34px;
    margin:0;
    color:var(--text);
    font-weight:600;
}

.setting-toggle input
{
    width:16px;
    height:16px;
    flex:0 0 auto;
}

.page-intro
{
    margin:4px 0 0;
    color:var(--text-light);
}

.settings-search
{
    display:grid;
    grid-template-columns:20px minmax(0, 420px);
    align-items:center;
    gap:10px;
    margin-bottom:14px;
    padding:10px 12px;
    width:min(100%, 480px);
    border:1px solid var(--border);
    border-radius:10px;
    background:var(--surface);
}

.settings-search input
{
    min-height:34px;
    padding:0;
    border:0;
    background:transparent;
    box-shadow:none;
}

body:has(#mail-settings) .settings-shell
{
    width:100%;
    max-width:none;
}

body:has(#mail-settings) .settings-search
{
    grid-template-columns:20px minmax(0, 1fr);
    width:100%;
    max-width:none;
    min-height:46px;
    margin-bottom:14px;
}

body:has(#mail-settings) .account-settings-tabs
{
    display:flex;
    flex-wrap:nowrap;
    align-items:center;
    width:100%;
    gap:6px;
    overflow-x:auto;
    overflow-y:hidden;
    margin-bottom:18px;
    scrollbar-width:thin;
}

body:has(#mail-settings) .account-settings-tabs .profile-tab
{
    flex:1 1 0;
    min-width:max-content;
    justify-content:center;
    white-space:nowrap;
}

.settings-dashboard-layout
{
    display:grid;
    grid-template-columns:minmax(0, 1fr) 310px;
    gap:18px;
    align-items:start;
}

body:has(#mail-settings) .settings-dashboard-layout
{
    grid-template-columns:minmax(720px, 1fr) clamp(300px, 20vw, 380px);
    gap:20px;
}

.settings-main-column
{
    min-width:0;
}

.settings-summary-column
{
    display:grid;
    gap:12px;
    position:sticky;
    top:18px;
}

.settings-summary-card,
.settings-card
{
    border:1px solid var(--border);
    border-radius:10px;
    background:var(--surface);
    box-shadow:var(--shadow-sm);
}

.settings-summary-card
{
    padding:14px;
}

.settings-summary-card h3,
.settings-card-heading h3
{
    margin:0;
    font-size:15px;
}

.settings-summary-card h3
{
    display:flex;
    align-items:center;
    gap:8px;
}

.summary-value
{
    margin:10px 0 4px;
    font-size:22px;
    font-weight:800;
}

.summary-status-row
{
    display:flex;
    justify-content:space-between;
    gap:10px;
    padding:8px 0;
    border-bottom:1px solid var(--border);
}

.summary-status-row:last-of-type
{
    border-bottom:0;
}

.settings-section-heading
{
    margin-bottom:14px;
}

.settings-section-heading h2,
.settings-card-heading
{
    display:flex;
    align-items:center;
    gap:10px;
}

.settings-section-heading p,
.settings-card-heading p,
.settings-summary-card small,
.settings-card small
{
    color:var(--text-light);
}

.settings-card
{
    padding:16px;
    margin-bottom:14px;
}

.settings-card-heading
{
    align-items:flex-start;
    margin-bottom:14px;
}

.settings-card-heading > i
{
    width:34px;
    height:34px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:8px;
    background:#eef4ff;
    color:var(--primary);
}

.compact-grid
{
    grid-template-columns:repeat(auto-fit, minmax(220px, 360px));
}

body:has(#mail-settings) .compact-grid
{
    grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));
}

body:has(#mail-settings) .settings-columns
{
    grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));
}

body:has(#mail-settings) .settings-card
{
    padding:18px;
}

.settings-status-inline
{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-bottom:12px;
    padding:6px 10px;
    border:1px solid var(--border);
    border-radius:999px;
    background:var(--surface-strong);
    font-size:13px;
    font-weight:700;
}

.settings-status-dot
{
    width:8px;
    height:8px;
    border-radius:999px;
    background:#94a3b8;
}

.status-good
{
    background:#22c55e;
}

.status-muted
{
    background:#94a3b8;
}

.settings-card-actions
{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:12px;
    padding-top:12px;
    border-top:1px solid var(--border);
}

.password-saved-state
{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:10px;
    min-height:42px;
    padding:8px 10px;
    border:1px solid var(--border);
    border-radius:8px;
    background:var(--surface-strong);
}

.password-change-row
{
    display:grid;
    grid-template-columns:minmax(0, 1fr) auto;
    gap:8px;
}

.settings-save-bar
{
    position:sticky;
    bottom:14px;
    z-index:25;
    display:flex;
    justify-content:flex-end;
    gap:8px;
    margin-top:16px;
    padding:10px;
    border:1px solid var(--border);
    border-radius:10px;
    background:rgba(255,255,255,.92);
    box-shadow:0 16px 45px rgba(15,23,42,.16);
    backdrop-filter:blur(12px);
}

.settings-save-bar button:disabled
{
    opacity:.55;
    cursor:not-allowed;
}

.settings-toast
{
    position:fixed;
    right:22px;
    bottom:22px;
    z-index:10000;
    display:flex;
    align-items:center;
    gap:12px;
    max-width:360px;
    padding:13px 14px;
    border-radius:10px;
    background:#111827;
    color:#ffffff;
    box-shadow:0 18px 50px rgba(15,23,42,.28);
}

.settings-toast button
{
    width:24px;
    height:24px;
    border:0;
    border-radius:6px;
    background:rgba(255,255,255,.12);
    color:#ffffff;
}

.readonly-detail-grid
{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
    gap:12px;
}

.readonly-detail-grid div
{
    padding:14px;
    border:1px solid var(--border);
    border-radius:10px;
    background:var(--surface-strong);
}

.readonly-detail-grid span
{
    display:block;
    margin-bottom:6px;
    color:var(--text-light);
    font-size:13px;
    font-weight:700;
}

.readonly-detail-grid strong
{
    color:var(--text);
    font-size:15px;
}

.security-centre-layout .settings-card
{
    margin-bottom:14px;
}

.security-tab-content
{
    display:none;
}

.security-tab-content.tab-visible
{
    display:block;
}

.security-tabs
{
    margin-bottom:14px;
}

.account-settings-tabs .profile-tab
{
    display:inline-flex;
    align-items:center;
    gap:8px;
    min-height:36px;
    padding:7px 11px !important;
    border-radius:8px;
}

.sr-only
{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
}

@media (max-width:1100px)
{
    .settings-dashboard-layout
    {
        grid-template-columns:1fr;
    }

    body:has(#mail-settings) .settings-dashboard-layout
    {
        grid-template-columns:1fr;
    }

    body:has(#mail-settings) .account-settings-tabs
    {
        flex-wrap:wrap;
        overflow-x:visible;
    }

    .settings-summary-column
    {
        position:static;
        grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
    }
}

@media (max-width:720px)
{
    .settings-save-bar,
    .settings-card-actions
    {
        justify-content:stretch;
    }

    .settings-save-bar button,
    .settings-card-actions button
    {
        flex:1 1 100%;
    }

    .password-change-row
    {
        grid-template-columns:1fr;
    }
}

.security-grid
{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));
    gap:20px;
    margin-bottom:24px;
}

.security-panels
{
    align-items:start;
}

.notification-bell i
{
    font-size:18px;
}

.notification-count
{
    position:absolute;

    top:-5px;
    right:-5px;

    width:22px;
    height:22px;

    border-radius:50%;

    background:#ef4444;

    color:white;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:12px;

    font-weight:700;
}

.notification-item
{
    padding:16px;

    border-bottom:
        1px solid var(--border);
}

.notification-item h4
{
    margin-bottom:6px;
}

.notification-item small
{
    color:var(--text-light);
}

@media (max-width: 1100px)
{
    .task-board
    {
        grid-auto-columns:minmax(300px, 82vw);
    }

    .audit-filters
    {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 768px)
{
    body
    {
        min-width:0;
    }

    .dashboard
    {
        display:block;

        min-height:100vh;
    }

    .sidebar
    {
        position:relative;

        top:auto;

        width:100%;

        height:auto;

        min-height:0;

        padding:16px;

        border-right:none;

        border-bottom:1px solid rgba(255,255,255,0.08);
    }

    .logo
    {
        margin-bottom:14px;

        font-size:26px;
    }

    .user-info
    {
        margin-bottom:14px;

        padding:10px;
    }

    .profile-menu-trigger
    {
        gap:10px;
    }

    .profile-details
    {
        min-width:0;
    }

    .profile-details strong,
    .profile-details small
    {
        display:block;

        overflow:hidden;

        text-overflow:ellipsis;

        white-space:nowrap;
    }

    .profile-dropdown
    {
        left:0;

        right:0;

        width:auto;
    }

    .sidebar nav
    {
        display:flex;

        gap:8px;

        overflow-x:auto;

        overflow-y:hidden;

        padding-bottom:8px;

        -webkit-overflow-scrolling:touch;
    }

    .sidebar nav a
    {
        flex:0 0 auto;

        padding:10px 12px;

        border-radius:10px;

        white-space:nowrap;

        transform:none;
    }

    .sidebar nav a:hover
    {
        transform:none;
    }

    .menu-group
    {
        flex:0 0 auto;

        margin-bottom:0;
    }

    .submenu
    {
        position:absolute;

        left:16px;

        right:16px;

        z-index:20;

        margin-top:8px;

        padding:8px;

        background:#111827;

        border:1px solid rgba(255,255,255,0.12);

        border-radius:12px;

        box-shadow:
            0 16px 40px
            rgba(0,0,0,.22);
    }

    .submenu a
    {
        display:block;

        margin-bottom:6px;

        padding:10px 12px;
    }

    .sidebar-footer
    {
        position:absolute;

        top:14px;

        right:16px;

        margin-top:0;

        padding-top:0;
    }

    .sidebar .notification-bell
    {
        width:42px;

        height:42px;

        border-radius:12px;
    }

    .sidebar .global-search-button
    {
        width:42px;

        height:42px;

        border-radius:12px;
    }

    .global-search-panel
    {
        position:fixed;
        left:12px;
        right:12px;
        bottom:12px;
        width:auto;
        max-height:min(520px, calc(100vh - 24px));
        transform-origin:bottom left;
    }

    .content
    {
        padding:18px;

        overflow-x:hidden;
    }

    .topbar
    {
        align-items:flex-start;

        flex-direction:column;

        gap:14px;

        margin-bottom:20px;
    }

    .topbar h1
    {
        font-size:30px;

        line-height:1.1;
    }

    .topbar > div
    {
        width:100%;

        flex-wrap:wrap;
    }

    .primary-btn,
    .btn-small,
    form button
    {
        min-height:42px;
    }

    .cards,
    .project-grid,
    .project-filters,
    .project-detail-layout,
    .form-grid,
    .mail-app,
    .audit-filters,
    .user-filters,
    .calendar-layout,
    .employee-grid,
    .chat-app,
    .chat-composer,
    .task-admin-layout,
    .task-detail-sections,
    .dashboard-grid,
    .dashboard-grid-featured,
    .dashboard-kpi-grid,
    .automation-shell,
    .automation-record-grid
    {
        grid-template-columns:1fr;
    }

    .twiki-layout
    {
        grid-template-columns:1fr;
    }

    .twiki-index
    {
        position:static;

        max-height:none;
    }

    .twiki-reader-header
    {
        flex-direction:column;
    }

    .advanced-filters
    {
        grid-template-columns:1fr;
    }

    .activity-stream.full .activity-item
    {
        grid-template-columns:1fr;

        align-items:start;
    }

    .working-hours-row
    {
        grid-template-columns:1fr;
    }

    .task-board
    {
        grid-auto-columns:minmax(280px, 88vw);
    }

    .task-board-toolbar,
    .bulk-actions,
    .save-filter-form
    {
        align-items:stretch;

        flex-direction:column;
    }

    .donut-wrap
    {
        grid-template-columns:1fr;
        justify-items:center;
    }

    .chat-app
    {
        min-height:0;
    }

    .chat-list
    {
        max-height:300px;

        border-right:none;

        border-bottom:1px solid var(--border);
    }

    .chat-message
    {
        max-width:100%;
    }

    .card-stat
    {
        padding:20px;
    }

    .card-stat p
    {
        font-size:34px;
    }

    .panel
    {
        padding:18px;

        border-radius:16px;

        overflow-x:auto;
    }

    .users-table
    {
        min-width:680px;

        font-size:14px;
    }

    .task-column
    {
        min-height:0;

        padding:16px;
    }

    .task-card:hover,
    .project-card:hover,
    .card-stat:hover
    {
        transform:none;
    }

    .project-card
    {
        padding:18px;
    }

    .project-progress div:first-child,
    .project-meta,
    .project-actions
    {
        align-items:flex-start;

        flex-direction:column;
    }

    .project-chip
    {
        max-width:100%;

        width:auto;
    }

    .mail-app
    {
        min-height:0;

        border-radius:14px;
    }

    .mail-sidebar
    {
        max-height:360px;
    }

    .mail-sidebar-header,
    .mail-reader-header
    {
        align-items:flex-start;

        flex-direction:column;

        padding:16px;
    }

    .mail-reader-header h2
    {
        font-size:20px;
    }

    .mail-body
    {
        padding:18px;

        font-size:14px;

        overflow-wrap:anywhere;
    }

    .org-chart
    {
        min-width:720px;
    }

    .org-chart ul
    {
        justify-content:flex-start;
    }

    .modal
    {
        align-items:flex-start;

        padding:12px;

        overflow-y:auto;
    }

    .modal-content
    {
        width:100%;

        max-width:none;

        max-height:none;

        margin:0;

        padding:20px;

        border-radius:16px;
    }

    input,
    select,
    textarea
    {
        font-size:16px;
    }
}

@media (max-width: 480px)
{
    .content
    {
        padding:14px;
    }

    .topbar h1
    {
        font-size:26px;
    }

    .panel,
    .project-card,
    .task-column,
    .modal-content
    {
        border-radius:12px;
    }

    .primary-btn,
    .btn-small,
    form button
    {
        width:100%;
    }

    .sidebar nav a
    {
        font-size:14px;
    }

    .users-table
    {
        min-width:620px;
    }
}

/* Modern interface refresh */
:root
{
    --radius-sm:10px;
    --radius-md:14px;
    --radius-lg:18px;
    --radius-xl:24px;
    --shadow-sm:0 8px 22px rgba(15,23,42,.06);
    --shadow-md:0 18px 48px rgba(15,23,42,.1);
    --shadow-lg:0 28px 80px rgba(15,23,42,.18);
    --surface:rgba(255,255,255,.92);
    --surface-strong:#ffffff;
    --focus-ring:0 0 0 4px rgba(37,99,235,.16);
}

body
{
    min-height:100vh;

    background:
        radial-gradient(circle at top left, rgba(59,130,246,.08), transparent 340px),
        linear-gradient(180deg, rgba(248,250,252,1) 0%, var(--background) 360px);

    color:var(--text);

    letter-spacing:0;
}

body.theme-dark
{
    --surface:rgba(17,24,39,.92);
    --surface-strong:#111827;
    --shadow-sm:0 8px 22px rgba(0,0,0,.2);
    --shadow-md:0 18px 48px rgba(0,0,0,.28);
    --shadow-lg:0 28px 80px rgba(0,0,0,.4);

    background:
        radial-gradient(circle at top left, rgba(59,130,246,.12), transparent 340px),
        linear-gradient(180deg, #0b1220 0%, var(--background) 420px);
}

a
{
    color:inherit;

    text-decoration:none;
}

.content
{
    flex:1 1 auto;
    min-width:0;
    max-width:100%;

    padding:28px clamp(18px, 2.4vw, 36px);
}

.sidebar
{
    box-shadow:14px 0 36px rgba(15,23,42,.08);
    z-index:var(--z-sidebar, 10000);
    isolation:isolate;
}

.logo
{
    letter-spacing:-.02em;

    line-height:1;
}

.sidebar nav
{
    display:grid;

    gap:4px;

    align-content:start;

    grid-auto-rows:max-content;

    padding-right:4px;
}

.sidebar .menu-group
{
    margin:0;
}

.sidebar nav a,
.menu-group > a
{
    display:flex;

    align-items:center;

    gap:10px;

    min-height:42px;

    padding:10px 12px;

    border-radius:12px;

    color:rgba(255,255,255,.9);

    transition:
        background .18s ease,
        color .18s ease,
        transform .18s ease;
}

.sidebar nav a i
{
    width:18px;

    text-align:center;

    color:rgba(255,255,255,.76);
}

.sidebar nav a:hover,
.sidebar nav a.active,
.sidebar nav a.active-sub
{
    background:rgba(255,255,255,.1);

    color:#ffffff;

    transform:translateX(2px);
}

.sidebar nav a.active,
.sidebar nav a.active-sub
{
    box-shadow:inset 3px 0 0 var(--primary);
}

.submenu
{
    margin:2px 0 8px 12px;

    padding-left:10px;

    border-left:1px solid rgba(255,255,255,.12);
}

.submenu a
{
    min-height:36px;

    padding:8px 10px;

    font-size:14px;
}

.user-info
{
    border:1px solid rgba(255,255,255,.1);

    border-radius:18px;

    background:rgba(255,255,255,.07);

    box-shadow:inset 0 1px 0 rgba(255,255,255,.08);

    overflow:visible;

    position:relative;

    z-index:50;
}

.profile-menu-trigger
{
    appearance:none;
    border:0;
    background:transparent;
    color:inherit;
    font:inherit;
    text-align:left;
    border-radius:14px;
    padding:0;
    min-height:44px;
    cursor:pointer;
}

.profile-menu-trigger:hover,
.profile-menu-trigger:focus-visible
{
    outline:0;
    background:rgba(255,255,255,.08);
    box-shadow:0 0 0 3px rgba(255,255,255,.12);
}

.profile-dropdown
{
    position:absolute;

    top:calc(100% + 10px);

    left:0;

    right:0;

    z-index:10000;

    display:none;

    border:1px solid var(--border);

    border-radius:14px;

    box-shadow:var(--shadow-md);

    overflow:hidden;
}

.profile-dropdown.show
{
    display:block;
}

.profile-dropdown a
{
    display:block;

    min-height:0;

    padding:12px 16px;

    color:var(--text);

    background:var(--surface-strong);

    border-radius:0;

    box-shadow:none;

    transform:none;
}

.profile-dropdown a:hover,
.profile-dropdown a.active,
.profile-dropdown a.active-sub
{
    background:#f3f4f6;

    color:var(--text);

    box-shadow:none;

    transform:none;
}

body.theme-dark .profile-dropdown a:hover,
body.theme-dark .profile-dropdown a.active,
body.theme-dark .profile-dropdown a.active-sub
{
    background:#1e293b;

    color:var(--text);
}

.workspace-tabs
{
    margin:-8px -4px 24px;

    padding:6px 4px 0;

    border-bottom:1px solid var(--border);

    gap:8px;

    min-height:50px;

    scroll-padding-inline:4px;

    overflow-x:auto;

    overflow-y:hidden;

    scrollbar-width:thin;

    scrollbar-color:rgba(100,116,139,.35) transparent;
}

.workspace-tabs::-webkit-scrollbar
{
    height:8px;
}

.workspace-tabs::-webkit-scrollbar-thumb
{
    background:rgba(100,116,139,.35);

    border-radius:999px;
}

.workspace-tab
{
    position:relative;

    height:40px;

    min-width:150px;

    max-width:240px;

    margin:0 0 -1px 0;

    padding:0 8px 0 14px;

    border:1px solid var(--border);

    border-bottom-color:var(--border);

    border-radius:14px 14px 0 0;

    background:rgba(248,250,252,.86);

    box-shadow:0 -1px 0 rgba(255,255,255,.7) inset;

    color:var(--text-light);

    flex:0 0 auto;
}

.workspace-tab.active
{
    z-index:2;

    background:var(--surface-strong);

    border-color:var(--border);

    border-bottom-color:var(--surface-strong);

    color:var(--text);

    box-shadow:
        0 -1px 0 rgba(255,255,255,.8) inset,
        0 -8px 18px rgba(15,23,42,.04),
        0 8px 20px rgba(15,23,42,.06);
}

.workspace-tab:not(.active):hover
{
    background:rgba(255,255,255,.9);

    color:var(--text);
}

.workspace-tab-label
{
    font-size:13px;

    font-weight:700;

    padding-right:4px;
}

.workspace-tab-close
{
    width:24px;

    height:24px;

    border-radius:50%;

    font-size:14px;

    flex:0 0 24px;
}

.workspace-tab-close:hover
{
    background:rgba(100,116,139,.18);

    color:var(--text);
}

body.theme-dark .workspace-tab
{
    background:rgba(30,41,59,.75);
}

body.theme-dark .workspace-tab.active
{
    background:var(--surface-strong);

    border-bottom-color:var(--surface-strong);
}

.topbar
{
    align-items:center;

    gap:18px;

    margin-bottom:24px;
}

.topbar h1
{
    letter-spacing:-.03em;

    line-height:1.05;
}

.topbar-actions
{
    flex-wrap:wrap;
}

.panel,
.card-stat,
.project-card,
.task-column,
.filter-panel,
.mail-app,
.chat-app,
.modal-content,
.twiki-index,
.twiki-reader
{
    background:var(--surface);

    border:1px solid rgba(148,163,184,.28);

    border-radius:var(--radius-xl);

    box-shadow:var(--shadow-sm);

    backdrop-filter:blur(10px);
}

.panel,
.modal-content
{
    padding:24px;
}

.card-stat,
.project-card,
.task-card
{
    transition:
        transform .18s ease,
        box-shadow .18s ease,
        border-color .18s ease;
}

.card-stat:hover,
.project-card:hover,
.task-card:hover
{
    border-color:rgba(37,99,235,.26);

    box-shadow:var(--shadow-md);
}

.card-stat h3,
.project-card p,
.task-card p,
.muted-text
{
    color:var(--text-light);
}

button,
.primary-btn,
.btn-small,
form button
{
    border:0;

    border-radius:12px;

    font-weight:700;

    letter-spacing:0;

    cursor:pointer;

    transition:
        transform .16s ease,
        box-shadow .16s ease,
        background .16s ease,
        border-color .16s ease;
}

.primary-btn,
form button,
.btn-small
{
    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:8px;
}

.primary-btn,
form button
{
    background:linear-gradient(180deg, var(--primary) 0%, var(--primary-hover) 100%);

    box-shadow:0 10px 22px rgba(37,99,235,.22);
}

.btn-small
{
    background:var(--primary);

    color:#ffffff;
}

button:hover,
.primary-btn:hover,
.btn-small:hover,
form button:hover
{
    transform:translateY(-1px);

    box-shadow:var(--shadow-sm);
}

button:focus-visible,
a:focus-visible,
input:focus,
select:focus,
textarea:focus
{
    outline:none;

    box-shadow:var(--focus-ring);
}

input,
select,
textarea
{
    border:1px solid var(--border);

    border-radius:12px;

    background:var(--surface-strong);

    color:var(--text);

    transition:
        border-color .16s ease,
        box-shadow .16s ease,
        background .16s ease;
}

input::placeholder,
textarea::placeholder
{
    color:var(--text-light);
}

label
{
    color:var(--text);
}

.users-table
{
    border-collapse:separate;

    border-spacing:0;

    background:var(--surface-strong);

    border:1px solid var(--border);

    border-radius:16px;
}

.users-table th
{
    background:rgba(148,163,184,.12);

    color:var(--text-light);

    font-size:12px;

    text-transform:uppercase;

    letter-spacing:.04em;
}

.users-table[data-interactive-table="true"] th
{
    cursor:pointer;
    user-select:none;
}

.users-table[data-interactive-table="true"] th:hover
{
    color:var(--primary);
}

.users-table td
{
    border-bottom:1px solid rgba(148,163,184,.22);
}

.users-table tbody tr:last-child td
{
    border-bottom:0;
}

.users-table tr:hover td
{
    background:rgba(37,99,235,.04);
}

.status-badge,
.project-status,
.project-health,
.task-priority,
.project-chip
{
    border-radius:999px;

    font-weight:800;
}

.filter-panel
{
    padding:12px 16px;
}

.filter-panel-toggle
{
    min-height:42px;
}

.quick-filters a,
.saved-filter-list a
{
    background:rgba(37,99,235,.06);

    border-color:rgba(37,99,235,.14);
}

.modal
{
    background:rgba(15,23,42,.48);

    backdrop-filter:blur(8px);
}

.modal-content
{
    box-shadow:var(--shadow-lg);
}

.modal-header
{
    margin-bottom:18px;

    padding-bottom:14px;

    border-bottom:1px solid var(--border);
}

.modal-header h2
{
    letter-spacing:-.02em;
}

.modal-subtitle
{
    margin-top:4px;

    color:var(--text-light);

    font-size:13px;
}

.global-search-modal
{
    max-width:680px;
}

.global-search-results
{
    display:grid;

    gap:8px;

    margin-top:14px;
}

.global-search-result
{
    display:flex;

    justify-content:space-between;

    gap:16px;

    align-items:center;

    padding:12px 14px;

    border:1px solid var(--border);

    border-radius:14px;

    background:var(--surface-strong);
}

.global-search-result:hover
{
    border-color:rgba(37,99,235,.3);

    box-shadow:var(--shadow-sm);
}

.global-search-result span
{
    color:var(--text-light);

    font-size:13px;
}

.modal-header button,
.workspace-tab-close,
.toast-close
{
    display:inline-flex;

    align-items:center;

    justify-content:center;
}

.task-comment .reaction-row
{
    display:flex;
    flex-direction:row;
    align-items:center;
    gap:8px;
}

.task-comment .reaction-button
{
    display:inline-flex;
    width:34px !important;
    min-width:34px;
    max-width:34px;
    height:34px;
    padding:0;
}

.task-comment .reaction-count
{
    display:inline-flex;
    width:auto !important;
    min-width:auto;
    max-width:none;
}

.task-activity-timeline
{
    display:grid;
    gap:12px;
}

.task-activity-item
{
    padding:14px;
    border:1px solid var(--border);
    border-radius:12px;
    background:var(--card);
}

.task-activity-header
{
    display:flex;
    justify-content:space-between;
    gap:12px;
}

.task-activity-header span
{
    color:var(--text-light);
    font-size:13px;
    white-space:nowrap;
}

.task-activity-change
{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
    margin-top:10px;
}

.task-activity-change div
{
    min-width:0;
    padding:10px;
    border:1px solid var(--border);
    border-radius:10px;
    background:var(--surface-strong);
}

.task-activity-change span
{
    display:block;
    margin-bottom:6px;
    color:var(--text-light);
    font-size:12px;
    font-weight:800;
    text-transform:uppercase;
}

.task-activity-change p
{
    margin:0;
    overflow-wrap:anywhere;
}

@media (max-width:700px)
{
    .task-activity-change
    {
        grid-template-columns:1fr;
    }
}

.task-board
{
    scrollbar-width:thin;

    scrollbar-color:rgba(100,116,139,.45) transparent;
}

.bulk-actions button
{
    width:auto !important;
    min-width:110px;
    max-width:180px;
    flex:0 0 auto;
}

/* Dense operational grid styling */
.workspace-tabs
{
    margin:-14px -24px 24px;
    padding:0 24px;
    min-height:45px;
    gap:0;
    border-bottom:1px solid #cfd6df;
    background:#f8fafc;
}

.workspace-tab
{
    height:38px;
    min-width:150px;
    max-width:240px;
    margin:7px 4px -1px 0;
    padding:0 8px 0 12px;
    border:1px solid #cfd6df;
    border-radius:4px 4px 0 0;
    background:#ffffff;
    box-shadow:none;
}

.workspace-tab.active
{
    background:#2f6df6;
    border-color:#2f6df6;
    color:#ffffff;
    box-shadow:none;
}

.workspace-tab-label
{
    font-size:13px;
    font-weight:700;
}

.workspace-tab-close
{
    width:22px;
    height:22px;
    border-radius:3px;
}

.workspace-tab.active .workspace-tab-close
{
    color:rgba(255,255,255,.78);
}

.workspace-tab.active .workspace-tab-close:hover
{
    background:rgba(255,255,255,.18);
    color:#ffffff;
}

.topbar
{
    margin-bottom:16px;
}

.filter-panel
{
    display:grid;
    grid-template-columns:auto minmax(0, 1fr);
    align-items:start;
    gap:14px;
    padding:12px 14px;
    margin-bottom:16px;
    border-radius:4px;
    border:1px solid #d8dee8;
    background:#f8fafc;
    box-shadow:none;
}

.filter-panel-toggle
{
    order:2;
    justify-self:end;
    width:auto;
    min-width:104px;
    min-height:38px;
    padding:0 12px;
    border:1px solid #d8dee8;
    border-radius:4px;
    background:#ffffff;
    box-shadow:none;
    color:#243047;
}

.filter-panel-title
{
    display:none;
}

.filter-panel-action
{
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:#243047;
    font-size:14px;
    font-weight:700;
}

.filter-panel-toggle span::after
{
    content:'' !important;
}

.filter-panel-body
{
    order:1;
    display:grid !important;
    grid-template-columns:minmax(220px, 1.2fr) minmax(0, 2fr);
    align-items:center;
    gap:12px;
    min-width:0;
}

.quick-filters,
.saved-filter-list
{
    gap:6px;
}

.quick-filters
{
    order:2;
}

.quick-filters a,
.saved-filter-list a
{
    min-height:28px;
    padding:4px 9px;
    border-radius:4px;
    background:#eef3ff;
    border-color:#c9d6ff;
    color:#3156d4;
    font-size:13px;
    font-weight:700;
}

.advanced-filters
{
    order:1;
    display:grid;
    grid-template-columns:minmax(240px, 1.8fr) repeat(4, minmax(115px, .8fr)) auto;
    gap:8px;
    align-items:center;
}

.advanced-filters input,
.advanced-filters select,
.save-filter-form input,
.bulk-actions select
{
    min-height:38px;
    padding:8px 11px;
    border-radius:4px;
    background:#ffffff;
}

.advanced-filters button,
.save-filter-form button
{
    min-height:38px;
    width:auto;
    padding:0 14px;
    border-radius:4px;
    box-shadow:none;
}

.saved-filter-row
{
    grid-column:1 / -1;
    padding-top:4px;
    border-top:1px solid #e3e8ef;
}

.filter-panel:not(.filter-panel-expanded)
{
    grid-template-columns:minmax(0, 1fr) auto;
}

.filter-panel:not(.filter-panel-expanded) .filter-panel-body
{
    grid-template-columns:minmax(220px, 380px) minmax(0, 1fr);
}

.filter-panel:not(.filter-panel-expanded) .advanced-filters
{
    grid-template-columns:minmax(220px, 380px);
}

.filter-panel:not(.filter-panel-expanded) .advanced-filters select,
.filter-panel:not(.filter-panel-expanded) .advanced-filters button,
.filter-panel:not(.filter-panel-expanded) .saved-filter-row
{
    display:none;
}

.filter-panel-expanded
{
    background:#ffffff;
}

.filter-panel-expanded .filter-panel-body
{
    grid-template-columns:1fr;
}

.filter-panel-expanded .quick-filters
{
    grid-row:2;
}

.filter-panel-expanded .filter-panel-action
{
    border-color:#2f6df6;
    color:#2457db;
}

.panel:has(.users-table),
.panel:has(.data-table),
.table-card
{
    padding:10px;
    border-radius:4px;
    box-shadow:none;
    overflow:auto;
}

.users-table,
.data-table
{
    width:100%;
    border-collapse:separate;
    border-spacing:0;
    border-radius:4px;
    border-color:#d8dee8;
    box-shadow:none;
    overflow:hidden;
}

.users-table th,
.data-table th
{
    height:32px;
    padding:7px 10px;
    border-right:1px solid #d8dee8;
    border-bottom:1px solid #cfd6df;
    background:#eef1f5;
    color:#33415c;
    font-size:12px;
    font-weight:700;
    text-align:center;
    letter-spacing:0;
}

.users-table td,
.data-table td
{
    padding:8px 10px;
    border-right:1px solid #d8dee8;
    border-bottom:1px solid #d8dee8;
    background:#ffffff;
}

.users-table tbody tr:nth-child(odd) td,
.data-table tbody tr:nth-child(odd) td
{
    background:#f7faff;
}

.users-table tr:hover td,
.data-table tr:hover td
{
    background:#eaf1ff;
}

.users-table tr:has(input[type="checkbox"]:checked) td,
.data-table tr:has(input[type="checkbox"]:checked) td
{
    background:#e7efff;
    border-color:#c5d7ff;
}

.users-table[data-interactive-table="true"] th::after,
.users-table:not([data-interactive-table="false"]) th::after,
.data-table[data-interactive-table="true"] th::after,
.data-table:not([data-interactive-table="false"]) th::after
{
    content:'';
    display:inline-block;
    width:6px;
    height:6px;
    margin-left:6px;
    border-right:1px solid currentColor;
    border-bottom:1px solid currentColor;
    transform:rotate(45deg) translateY(-2px);
    opacity:.45;
}

.bulk-actions
{
    align-items:center;
    gap:8px;
    padding:0 0 10px;
    margin-bottom:10px;
    border-bottom:1px solid #e3e8ef;
}

.bulk-actions select
{
    flex:0 0 220px;
    width:220px;
    max-width:100%;
}

.bulk-actions button
{
    min-height:38px;
    height:38px;
    width:auto !important;
    min-width:84px;
    max-width:110px;
    padding:0 14px;
    flex:0 0 auto;
    border-radius:4px;
    box-shadow:none;
}

@media (max-width:900px)
{
    .filter-panel
    {
        grid-template-columns:1fr;
    }

    .filter-panel-toggle
    {
        justify-self:start;
        order:1;
    }

    .filter-panel-body
    {
        order:2;
        grid-template-columns:1fr;
    }

    .advanced-filters
    {
        grid-template-columns:1fr;
    }
}

.task-column
{
    border-radius:20px;
}

.task-card
{
    background:var(--surface-strong);

    border-radius:16px;
}

.chat-message
{
    border:1px solid rgba(148,163,184,.24);

    box-shadow:var(--shadow-sm);
}

.chat-message.own
{
    background:linear-gradient(180deg, var(--primary), var(--primary-hover));
}

.mail-empty
{
    color:var(--text-light);
}

.danger-btn,
.btn-small.danger-btn
{
    background:#fee2e2;

    color:#991b1b;

    box-shadow:none;
}

body.theme-dark .danger-btn,
body.theme-dark .btn-small.danger-btn
{
    background:rgba(239,68,68,.18);

    color:#fecaca;
}

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

        animation-iteration-count:1 !important;

        scroll-behavior:auto !important;

        transition-duration:.01ms !important;
    }
}
/* Public marketing / workspace registration */
.public-site
{
    min-height:100vh;
    margin:0;
    background:#f4f7fb;
    color:#111827;
    font-family:Inter, system-ui, sans-serif;
}

.public-nav
{
    display:flex;
    justify-content:space-between;
    align-items:center;
    max-width:1180px;
    margin:0 auto;
    padding:22px 24px;
}

.public-brand
{
    font-size:24px;
    font-weight:900;
}

.public-nav nav,
.public-actions
{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    align-items:center;
}

.public-nav a
{
    color:#1f2937;
    text-decoration:none;
    font-weight:800;
}

.public-hero
{
    display:grid;
    grid-template-columns:minmax(0, 1.1fr) minmax(320px, .9fr);
    gap:36px;
    align-items:center;
    max-width:1180px;
    margin:0 auto;
    padding:68px 24px 44px;
}

.public-kicker
{
    color:#2563eb;
    font-weight:900;
    text-transform:uppercase;
    font-size:13px;
}

.public-hero h1
{
    max-width:760px;
    margin:14px 0;
    font-size:56px;
    line-height:1;
    letter-spacing:0;
}

.public-hero p
{
    max-width:680px;
    color:#526179;
    font-size:18px;
    line-height:1.6;
}

.public-hero-panel,
.public-feature-grid article,
.public-split,
.public-auth-card
{
    border:1px solid #d7e0ec;
    border-radius:18px;
    background:#ffffff;
    box-shadow:0 20px 60px rgba(15,23,42,.08);
}

.public-hero-panel
{
    display:grid;
    gap:12px;
    padding:18px;
}

.public-metric
{
    display:grid;
    gap:4px;
    padding:18px;
    border-radius:14px;
    background:#f8fafc;
}

.public-metric strong
{
    font-size:20px;
}

.public-metric span,
.public-section p,
.public-auth-card p
{
    color:#64748b;
}

.public-section
{
    max-width:1180px;
    margin:0 auto;
    padding:34px 24px;
}

.public-section h2
{
    margin:0 0 18px;
    font-size:34px;
}

.public-feature-grid
{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));
    gap:16px;
}

.public-feature-grid article
{
    padding:22px;
}

.public-split
{
    display:flex;
    justify-content:space-between;
    gap:24px;
    align-items:center;
    margin-bottom:48px;
    padding:26px;
}

.public-auth-card
{
    width:min(680px, calc(100% - 32px));
    margin:48px auto;
    padding:28px;
}

.public-auth-card form
{
    display:grid;
    gap:12px;
}

.public-back-link
{
    display:inline-flex;
    margin-bottom:12px;
    color:#2563eb;
    text-decoration:none;
    font-weight:800;
}

@media (max-width: 820px)
{
    .public-hero,
    .public-split
    {
        grid-template-columns:1fr;
        display:grid;
    }

    .public-hero h1
    {
        font-size:38px;
    }

    .public-nav
    {
        align-items:flex-start;
        gap:14px;
        flex-direction:column;
    }
}

/* Premium public landing page */
.public-site
{
    background:
        radial-gradient(circle at 18% 8%, rgba(37,99,235,.18), transparent 32rem),
        radial-gradient(circle at 82% 12%, rgba(14,165,233,.16), transparent 28rem),
        linear-gradient(180deg, #f8fbff 0%, #eef4fb 46%, #f8fafc 100%);
    color:#111827;
}

.public-site::before
{
    content:"";
    position:fixed;
    inset:0;
    pointer-events:none;
    background:
        linear-gradient(rgba(15,23,42,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(15,23,42,.035) 1px, transparent 1px);
    background-size:42px 42px;
    mask-image:linear-gradient(180deg, #000 0%, transparent 70%);
}

.public-nav
{
    position:sticky;
    top:0;
    z-index:20;
    width:min(1180px, calc(100% - 32px));
    margin:14px auto 0;
    padding:12px 14px 12px 18px;
    border:1px solid rgba(148,163,184,.32);
    border-radius:18px;
    background:rgba(255,255,255,.82);
    box-shadow:0 18px 50px rgba(15,23,42,.08);
    backdrop-filter:blur(18px);
}

.public-brand
{
    display:inline-flex;
    align-items:center;
    gap:10px;
    color:#0f172a;
    text-decoration:none;
}

.public-brand::before
{
    content:"";
    width:30px;
    height:30px;
    border-radius:10px;
    background:linear-gradient(135deg, #2563eb, #0ea5e9);
    box-shadow:0 12px 24px rgba(37,99,235,.28);
}

.public-nav nav
{
    gap:6px;
}

.public-nav nav a:not(.primary-btn)
{
    padding:9px 11px;
    border-radius:10px;
    color:#475569;
}

.public-nav nav a:not(.primary-btn):hover
{
    background:#eff6ff;
    color:#1d4ed8;
}

.public-site .primary-btn,
.public-site .secondary-btn
{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:11px 16px;
    border-radius:12px;
    font-weight:900;
    text-decoration:none;
    transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.public-site .primary-btn
{
    border:1px solid #2563eb;
    background:linear-gradient(135deg, #2563eb, #1d4ed8);
    color:#ffffff;
    box-shadow:0 14px 28px rgba(37,99,235,.25);
}

.public-site .secondary-btn
{
    border:1px solid rgba(148,163,184,.42);
    background:#ffffff;
    color:#1e293b;
    box-shadow:0 10px 24px rgba(15,23,42,.06);
}

.public-site .primary-btn:hover,
.public-site .secondary-btn:hover
{
    transform:translateY(-1px);
    box-shadow:0 18px 34px rgba(37,99,235,.22);
}

.public-site a:focus-visible,
.public-site button:focus-visible
{
    outline:3px solid rgba(37,99,235,.3);
    outline-offset:3px;
}

.public-hero
{
    position:relative;
    width:min(1180px, calc(100% - 32px));
    min-height:620px;
    padding:82px 0 52px;
}

.public-hero::after
{
    content:"";
    position:absolute;
    right:10%;
    top:88px;
    width:260px;
    height:260px;
    border-radius:999px;
    background:rgba(37,99,235,.12);
    filter:blur(60px);
    z-index:-1;
}

.public-hero-copy h1
{
    max-width:720px;
    margin:16px 0;
    color:#0f172a;
    font-size:clamp(42px, 6vw, 70px);
    line-height:.98;
    letter-spacing:0;
}

.public-hero-copy p
{
    max-width:650px;
}

.public-kicker
{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:7px 10px;
    border:1px solid rgba(37,99,235,.18);
    border-radius:999px;
    background:rgba(239,246,255,.8);
}

.public-trust-text
{
    margin-top:12px;
    color:#64748b;
    font-size:14px !important;
    font-weight:800;
}

.public-product-preview
{
    overflow:hidden;
    border:1px solid rgba(148,163,184,.32);
    border-radius:24px;
    background:linear-gradient(180deg, rgba(255,255,255,.95), rgba(248,250,252,.94));
    box-shadow:0 28px 80px rgba(15,23,42,.16);
}

.preview-topbar
{
    display:flex;
    gap:7px;
    align-items:center;
    padding:14px 16px;
    border-bottom:1px solid #e2e8f0;
}

.preview-topbar span
{
    width:10px;
    height:10px;
    border-radius:999px;
    background:#cbd5e1;
}

.preview-topbar strong
{
    margin-left:8px;
    color:#334155;
    font-size:13px;
}

.preview-grid
{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:12px;
    padding:16px;
}

.preview-card
{
    min-height:138px;
    padding:16px;
    border:1px solid #dbe4ef;
    border-radius:16px;
    background:#ffffff;
    box-shadow:0 10px 26px rgba(15,23,42,.06);
}

.preview-card small
{
    display:block;
    margin-bottom:10px;
    color:#64748b;
    font-weight:900;
    text-transform:uppercase;
    font-size:11px;
}

.preview-card strong
{
    color:#0f172a;
    font-size:20px;
}

.preview-card p
{
    margin:8px 0 0;
    color:#64748b;
    font-size:13px;
    line-height:1.45;
}

.preview-progress-bar
{
    height:9px;
    margin:14px 0 0;
    overflow:hidden;
    border-radius:999px;
    background:#e2e8f0;
}

.preview-progress-bar span
{
    display:block;
    height:100%;
    border-radius:999px;
    background:linear-gradient(90deg, #2563eb, #0ea5e9);
}

.preview-avatars
{
    display:flex;
    align-items:center;
    margin-top:10px;
}

.preview-avatars span,
.preview-avatars strong
{
    display:grid;
    place-items:center;
    width:34px;
    height:34px;
    margin-right:-8px;
    border:2px solid #ffffff;
    border-radius:999px;
    background:#dbeafe;
    color:#1d4ed8;
    font-size:13px;
}

.preview-activity
{
    grid-column:1 / -1;
    min-height:auto;
}

.public-section
{
    width:min(1180px, calc(100% - 32px));
    padding:54px 0;
}

.public-section-heading
{
    max-width:760px;
    margin-bottom:24px;
}

.public-section-heading h2,
.public-cta h2
{
    margin:12px 0;
    color:#0f172a;
    font-size:clamp(30px, 4vw, 44px);
    line-height:1.08;
}

.public-section-heading p
{
    max-width:680px;
    font-size:17px;
    line-height:1.6;
}

.public-card-grid,
.public-workspace-grid,
.public-steps,
.public-credibility-grid
{
    display:grid;
    gap:16px;
}

.public-card-grid
{
    grid-template-columns:repeat(3, minmax(0, 1fr));
}

.public-card-grid-four
{
    grid-template-columns:repeat(4, minmax(0, 1fr));
}

.public-card-grid article,
.public-workspace-grid article,
.public-steps article
{
    padding:22px;
    border:1px solid rgba(148,163,184,.32);
    border-radius:18px;
    background:rgba(255,255,255,.86);
    box-shadow:0 16px 42px rgba(15,23,42,.07);
}

.public-card-grid article i
{
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    margin-bottom:14px;
    border-radius:12px;
    background:#eff6ff;
    color:#2563eb;
    font-size:18px;
}

.public-card-grid h3,
.public-workspace-grid h3,
.public-steps h3
{
    margin:0 0 8px;
    color:#0f172a;
    font-size:20px;
}

.public-steps
{
    grid-template-columns:repeat(3, minmax(0, 1fr));
}

.public-steps span
{
    display:grid;
    place-items:center;
    width:34px;
    height:34px;
    margin-bottom:14px;
    border-radius:999px;
    background:#2563eb;
    color:#ffffff;
    font-weight:900;
}

.public-workspace-grid
{
    grid-template-columns:repeat(2, minmax(0, 1fr));
}

.public-workspace-grid ul
{
    display:grid;
    gap:9px;
    margin:16px 0 0;
    padding:0;
    list-style:none;
}

.public-workspace-grid li
{
    display:flex;
    gap:9px;
    align-items:center;
    color:#334155;
    font-weight:800;
}

.public-workspace-grid li::before
{
    content:"";
    width:8px;
    height:8px;
    border-radius:999px;
    background:#2563eb;
}

.public-credibility-grid
{
    grid-template-columns:repeat(3, minmax(0, 1fr));
}

.public-credibility-grid span
{
    display:flex;
    gap:10px;
    align-items:center;
    padding:16px;
    border:1px solid rgba(148,163,184,.28);
    border-radius:14px;
    background:rgba(255,255,255,.78);
    color:#1e293b;
    font-weight:900;
}

.public-credibility-grid i
{
    color:#2563eb;
}

.public-cta
{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:24px;
    margin:44px auto 70px;
    padding:34px;
    border:1px solid rgba(37,99,235,.24);
    border-radius:26px;
    background:
        radial-gradient(circle at 92% 10%, rgba(14,165,233,.28), transparent 20rem),
        linear-gradient(135deg, #ffffff, #eff6ff);
    box-shadow:0 24px 70px rgba(37,99,235,.14);
}

.public-cta p
{
    max-width:650px;
    font-size:17px;
}

@media (max-width: 1020px)
{
    .public-hero,
    .public-card-grid,
    .public-card-grid-four,
    .public-steps,
    .public-credibility-grid
    {
        grid-template-columns:1fr 1fr;
    }

    .public-hero
    {
        min-height:auto;
    }
}

@media (max-width: 760px)
{
    .public-nav
    {
        position:static;
        width:calc(100% - 24px);
    }

    .public-nav nav
    {
        width:100%;
    }

    .public-nav nav a
    {
        flex:1 1 auto;
        justify-content:center;
    }

    .public-hero,
    .public-card-grid,
    .public-card-grid-four,
    .public-steps,
    .public-workspace-grid,
    .public-credibility-grid,
    .preview-grid
    {
        grid-template-columns:1fr;
    }

    .public-hero
    {
        width:calc(100% - 24px);
        padding-top:46px;
    }

    .public-section
    {
        width:calc(100% - 24px);
        padding:38px 0;
    }

    .public-actions
    {
        width:100%;
    }

    .public-actions a
    {
        width:100%;
    }

    .preview-activity
    {
        grid-column:auto;
    }

    .public-cta
    {
        display:grid;
        padding:24px;
    }
}

/* Tortal design tokens and global button polish */
:root
{
    --color-primary:#334155;
    --color-primary-hover:#1E293B;
    --color-primary-soft:#F1F5F9;
    --color-text:#0F172A;
    --color-muted:#64748B;
    --color-border:#CBD5E1;
    --color-surface:#FFFFFF;
    --radius-sm:8px;
    --radius-md:12px;
    --radius-lg:16px;
    --shadow-soft:0 8px 24px rgba(15, 23, 42, 0.08);
    --primary:var(--color-primary);
    --primary-hover:var(--color-primary-hover);
    --text:var(--color-text);
    --text-light:var(--color-muted);
    --border:var(--color-border);
    --surface:var(--color-surface);
}

button,
.btn,
.btn-primary,
.btn-secondary,
.btn-ghost,
.btn-danger,
.btn-success,
.primary-btn,
.secondary-btn,
.btn-small,
.danger-btn,
input[type="submit"]
{
    font-family:inherit;
}

.btn,
.btn-primary,
.primary-btn,
button[type="submit"],
input[type="submit"]
{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:40px;
    padding:10px 16px;
    border:1px solid var(--color-primary);
    border-radius:var(--radius-md);
    background:var(--color-primary);
    color:#ffffff;
    font-size:14px;
    font-weight:700;
    line-height:1;
    text-decoration:none;
    box-shadow:0 8px 18px rgba(15,23,42,.12);
    cursor:pointer;
    transition:background .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.btn-primary:hover,
.primary-btn:hover,
button[type="submit"]:hover,
input[type="submit"]:hover
{
    background:var(--color-primary-hover);
    border-color:var(--color-primary-hover);
    box-shadow:0 10px 22px rgba(15,23,42,.16);
}

.primary-btn:active,
button[type="submit"]:active,
input[type="submit"]:active,
.secondary-btn:active,
.btn-small:active
{
    transform:translateY(1px);
    box-shadow:none;
}

.btn-secondary,
.secondary-btn
{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:40px;
    padding:10px 16px;
    border:1px solid var(--color-border);
    border-radius:var(--radius-md);
    background:#ffffff;
    color:#334155;
    font-size:14px;
    font-weight:700;
    line-height:1;
    text-decoration:none;
    box-shadow:none;
    cursor:pointer;
    transition:background .16s ease, border-color .16s ease, color .16s ease, transform .16s ease;
}

.btn-secondary:hover,
.secondary-btn:hover
{
    background:#F8FAFC;
    border-color:#94A3B8;
    color:#0F172A;
}

.btn-ghost,
.ghost-btn,
.link-button
{
    border:0;
    background:transparent;
    color:#475569;
    font-weight:700;
    cursor:pointer;
}

.btn-ghost:hover,
.ghost-btn:hover,
.link-button:hover
{
    color:var(--color-primary);
    background:#F1F5F9;
}

.btn-small
{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    min-height:34px;
    padding:7px 10px;
    border:1px solid var(--color-border);
    border-radius:9px;
    background:#ffffff;
    color:#334155;
    font-size:13px;
    font-weight:700;
    line-height:1;
    text-decoration:none;
    box-shadow:none;
}

.btn-small:hover
{
    background:#F8FAFC;
    color:#0F172A;
}

.btn-danger,
.danger-btn,
.btn-small.danger-btn,
.suspend-btn
{
    border-color:#FCA5A5;
    background:#FEF2F2;
    color:#B91C1C;
    box-shadow:none;
}

.btn-danger:hover,
.danger-btn:hover,
.btn-small.danger-btn:hover,
.suspend-btn:hover
{
    background:#FEE2E2;
    color:#991B1B;
}

.btn-success
{
    border-color:#86efac;
    background:#dcfce7;
    color:#166534;
    box-shadow:none;
}

.btn-success:hover
{
    background:#bbf7d0;
    color:#14532d;
}

.btn-sm
{
    min-height:32px;
    padding:6px 10px;
    font-size:12px;
}

.btn-md
{
    min-height:40px;
}

.btn-lg
{
    min-height:46px;
    padding:12px 18px;
    font-size:15px;
}

.icon-btn,
button.icon-btn
{
    display:inline-grid;
    place-items:center;
    width:36px;
    height:36px;
    padding:0;
    border:1px solid var(--color-border);
    border-radius:10px;
    background:#ffffff;
    color:#475569;
    box-shadow:none;
}

.icon-btn:hover,
button.icon-btn:hover
{
    background:#F8FAFC;
    color:var(--color-primary);
}

.primary-btn:focus-visible,
.secondary-btn:focus-visible,
.btn-small:focus-visible,
.danger-btn:focus-visible,
.icon-btn:focus-visible,
button:focus-visible,
a:focus-visible
{
    outline:3px solid rgba(37,99,235,.24);
    outline-offset:2px;
}

.settings-toggle-list
{
    display:grid;
    gap:12px;
}

.settings-toggle-list label
{
    display:flex;
    justify-content:space-between;
    gap:18px;
    align-items:center;
    padding:14px;
    border:1px solid var(--color-border);
    border-radius:var(--radius-md);
    background:#FFFFFF;
}

.settings-toggle-list span
{
    display:grid;
    gap:4px;
}

.settings-toggle-list strong
{
    color:var(--color-text);
}

.settings-toggle-list small
{
    color:var(--color-muted);
}

.settings-toggle-list input[type="checkbox"],
.settings-inline-toggle input[type="checkbox"],
.module-toggle-list input[type="checkbox"],
.module-inline-check input[type="checkbox"]
{
    position:relative;
    flex:0 0 40px;
    width:40px;
    min-width:40px;
    height:22px;
    margin:0;
    appearance:none;
    border:1px solid transparent;
    border-radius:999px;
    background:#cbd5e1;
    box-shadow:inset 0 0 0 1px rgba(15,23,42,.04);
    cursor:pointer;
    transition:
        background .18s ease,
        border-color .18s ease,
        box-shadow .18s ease;
}

.settings-toggle-list input[type="checkbox"]::before,
.settings-inline-toggle input[type="checkbox"]::before,
.module-toggle-list input[type="checkbox"]::before,
.module-inline-check input[type="checkbox"]::before
{
    content:none!important;
}

.settings-toggle-list input[type="checkbox"]::after,
.settings-inline-toggle input[type="checkbox"]::after,
.module-toggle-list input[type="checkbox"]::after,
.module-inline-check input[type="checkbox"]::after
{
    content:'';
    position:absolute;
    top:2px;
    left:2px;
    width:18px;
    height:18px;
    border-radius:999px;
    background:#fff;
    box-shadow:0 1px 4px rgba(15,23,42,.22);
    transition:
        transform .18s ease,
        box-shadow .18s ease;
}

.settings-toggle-list input[type="checkbox"]:checked,
.settings-inline-toggle input[type="checkbox"]:checked,
.module-toggle-list input[type="checkbox"]:checked,
.module-inline-check input[type="checkbox"]:checked
{
    background:var(--primary, var(--color-primary, #334155));
    border-color:var(--primary, var(--color-primary, #334155));
}

.settings-toggle-list input[type="checkbox"]:checked::after,
.settings-inline-toggle input[type="checkbox"]:checked::after,
.module-toggle-list input[type="checkbox"]:checked::after,
.module-inline-check input[type="checkbox"]:checked::after
{
    transform:translateX(18px);
}

.settings-toggle-list input[type="checkbox"]:hover,
.settings-inline-toggle input[type="checkbox"]:hover,
.module-toggle-list input[type="checkbox"]:hover,
.module-inline-check input[type="checkbox"]:hover
{
    box-shadow:
        inset 0 0 0 1px rgba(15,23,42,.06),
        0 0 0 4px rgba(51,65,85,.08);
}

.settings-toggle-list input[type="checkbox"]:focus-visible,
.settings-inline-toggle input[type="checkbox"]:focus-visible,
.module-toggle-list input[type="checkbox"]:focus-visible,
.module-inline-check input[type="checkbox"]:focus-visible
{
    outline:0;
    box-shadow:
        0 0 0 3px rgba(51,65,85,.22),
        inset 0 0 0 1px rgba(15,23,42,.06);
}

.settings-toggle-list input[type="checkbox"]:disabled,
.settings-inline-toggle input[type="checkbox"]:disabled,
.module-toggle-list input[type="checkbox"]:disabled,
.module-inline-check input[type="checkbox"]:disabled
{
    opacity:.48;
    cursor:not-allowed;
}

.settings-inline-toggle
{
    display:flex;
    gap:10px;
    align-items:center;
    margin-bottom:16px;
    color:var(--color-text);
    font-weight:700;
}

.workspace-admin-save-bar.visible
{
    max-width:none;
    margin-top:18px;
}

.email-notification-list
{
    display:grid;
    gap:16px;
}

.email-notification-card
{
    display:grid;
    gap:12px;
    padding:16px;
    border:1px solid var(--color-border);
    border-radius:var(--radius-lg);
    background:#FFFFFF;
    box-shadow:var(--shadow-soft);
}

.email-notification-header
{
    display:flex;
    justify-content:space-between;
    gap:18px;
    align-items:flex-start;
}

.email-notification-header div
{
    display:grid;
    gap:4px;
}

.email-notification-header strong
{
    color:var(--color-text);
    font-size:17px;
}

.email-notification-header span,
.email-notification-header small,
.email-token-help
{
    color:var(--color-muted);
}

.email-notification-card textarea
{
    font-family:Consolas, Monaco, monospace;
    font-size:13px;
    line-height:1.5;
}

.email-notification-actions
{
    display:flex;
    justify-content:flex-end;
}

.pending-invitation-row
{
    opacity:.82;
}

.pending-invitation-row td
{
    background:#f8fafc;
}

.employment-shell,
.manager-approval-shell
{
    max-width:1280px;
}

.approval-list
{
    display:grid;
    gap:18px;
}

.approval-card
{
    border:1px solid var(--border);
    border-radius:18px;
    padding:20px;
    background:#fff;
}

.approval-card-header
{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
    margin-bottom:16px;
}

.approval-card-header h3
{
    margin:10px 0 4px;
}

.approval-card-header p
{
    margin:0;
    color:var(--muted);
}

.detail-grid
{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));
    gap:14px;
    margin:0 0 16px;
}

.detail-grid div
{
    border:1px solid var(--border);
    border-radius:14px;
    padding:12px;
    background:#f8fafc;
}

.detail-grid dt
{
    font-size:12px;
    font-weight:800;
    color:var(--muted);
    text-transform:uppercase;
}

.detail-grid dd
{
    margin:6px 0 0;
}

.approval-actions
{
    border-top:1px solid var(--border);
    margin-top:16px;
    padding-top:16px;
}

.inline-form
{
    display:flex;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
}

.information-menu-shell,
.system-admin-menu-shell
{
    position:relative;
}

.information-menu-button,
.system-admin-menu-button
{
    width:48px;
    height:48px;
    border:1px solid rgba(255,255,255,.14);
    border-radius:14px;
    display:grid;
    place-items:center;
    color:#fff;
    background:rgba(255,255,255,.06);
}

.information-menu-panel,
.system-admin-menu-panel
{
    position:absolute;
    left:0;
    bottom:58px;
    width:220px;
    padding:8px;
    border:1px solid var(--border);
    border-radius:16px;
    background:#fff;
    box-shadow:0 18px 45px rgba(15,23,42,.20);
    display:none;
    z-index:50;
}

.information-menu-panel-open,
.system-admin-menu-panel-open
{
    display:grid;
    gap:4px;
}

.information-menu-panel a,
.system-admin-menu-panel a
{
    display:flex;
    align-items:center;
    gap:10px;
    padding:11px 12px;
    border-radius:12px;
    color:var(--text);
    text-decoration:none;
    font-weight:700;
}

.information-menu-panel a:hover,
.information-menu-panel a:focus,
.system-admin-menu-panel a:hover,
.system-admin-menu-panel a:focus
{
    background:#eef4ff;
    color:#255edb;
}

.system-admin-menu-panel
{
    width:260px;
}

.help-page
{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(320px, 1fr));
    gap:18px;
    max-width:1320px;
}

.help-list
{
    margin:0;
    padding-left:20px;
    color:var(--muted);
    line-height:1.7;
}

.organization-user-modal .modal-content
{
    max-width:920px;
}

.organization-user-modal .modal-header p
{
    margin:4px 0 0;
    color:var(--muted);
}

/* Enterprise Tasks workbench */
.tasks-page-shell
{
    display:grid;
    gap:18px;
}

.tasks-hero
{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:18px;
}

.tasks-hero h1
{
    margin:0;
    letter-spacing:0;
}

.tasks-hero p
{
    margin:4px 0 0;
    color:var(--color-muted);
}

.tasks-view-actions,
.task-toolbar,
.task-quick-chip-row,
.task-builder-actions
{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
}

.tasks-view-actions .btn-small.active,
.task-density-toggle button.active
{
    border-color:#334155;
    background:#334155;
    color:#fff;
}

.task-workbench
{
    padding:12px;
    border:1px solid #dbe3ee;
    border-radius:14px;
    background:#fff;
    box-shadow:0 12px 28px rgba(15,23,42,.05);
}

.task-toolbar
{
    display:grid;
    grid-template-columns:minmax(260px, 1.3fr) minmax(190px, .6fr) minmax(260px, 1fr) auto auto auto auto;
    align-items:center;
    gap:10px;
}

.task-search-control
{
    display:grid;
    grid-template-columns:20px minmax(0, 1fr);
    align-items:center;
    gap:8px;
    height:44px;
    padding:0 12px;
    border:1px solid var(--color-border);
    border-radius:10px;
    background:#f8fafc;
}

.task-search-control input
{
    height:42px;
    min-height:0;
    padding:0;
    border:0;
    background:transparent;
    box-shadow:none;
    line-height:42px;
}

.task-view-selector
{
    height:44px;
    min-height:0;
    padding:0 38px 0 14px;
    line-height:42px;
    align-self:center;
}

.table-grid-toolbar
{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    align-items:center;
    padding:12px;
    border:1px solid #dbe3ee;
    border-bottom:0;
    border-radius:14px 14px 0 0;
    background:#ffffff;
    box-shadow:0 12px 28px rgba(15,23,42,.05);
}

.table-grid-toolbar + table
{
    border-top-left-radius:0;
    border-top-right-radius:0;
}

.table-grid-search
{
    flex:1 1 320px;
    display:grid;
    grid-template-columns:20px minmax(0, 1fr);
    align-items:center;
    gap:8px;
    height:44px;
    padding:0 12px;
    border:1px solid var(--color-border);
    border-radius:10px;
    background:#f8fafc;
}

.table-grid-search input
{
    height:42px;
    min-height:0;
    padding:0;
    border:0;
    background:transparent;
    box-shadow:none;
}

.table-grid-toolbar select
{
    flex:0 1 190px;
    height:44px;
    min-height:0;
    padding:0 34px 0 12px;
    border:1px solid var(--color-border);
    border-radius:10px;
    background:#ffffff;
    color:#172033;
    font-weight:800;
}

.table-grid-toolbar .secondary-btn
{
    flex:0 0 auto;
    width:auto;
    min-height:44px;
    padding:0 12px;
    border-color:#d6dfeb;
    background:#ffffff;
    color:#334155;
    box-shadow:none;
}

.table-grid-toolbar .secondary-btn:hover
{
    border-color:#334155;
    background:#f8fafc;
}

.table-grid-filter-help,
.table-density-toggle
{
    white-space:nowrap;
}

@media (max-width:1200px)
{
    .table-grid-toolbar
    {
        grid-template-columns:1fr 1fr;
    }
}

@media (max-width:720px)
{
    .table-grid-toolbar
    {
        grid-template-columns:1fr;
    }

    .table-grid-toolbar .secondary-btn,
    .table-grid-toolbar select,
    .table-density-toggle
    {
        width:100%;
    }
}

.project-toolbar
{
    grid-template-columns:minmax(280px, 1.4fr) minmax(190px, .6fr) minmax(280px, 1fr) auto auto auto auto;
}

.project-filter-grid
{
    display:grid;
    grid-template-columns:repeat(2, minmax(180px, 1fr));
    gap:10px;
}

.project-list-panel
{
    overflow:auto;
}

.project-enterprise-table tbody tr
{
    cursor:pointer;
}

.project-table-progress
{
    display:grid;
    gap:6px;
    min-width:130px;
}

.project-table-progress strong
{
    font-size:13px;
}

.project-context-menu
{
    min-width:230px;
}

.task-filter-chip,
.task-active-filters span
{
    display:inline-flex;
    align-items:center;
    min-height:30px;
    padding:5px 10px;
    border:1px solid #dbe3ee;
    border-radius:999px;
    background:#f8fafc;
    color:#334155;
    font-size:13px;
    font-weight:700;
    text-decoration:none;
}

.task-filter-chip:hover
{
    border-color:#94a3b8;
    background:#eef2f7;
}

.task-filter-count,
.task-column-filter-button span
{
    display:inline-grid;
    place-items:center;
    min-width:18px;
    height:18px;
    padding:0 5px;
    border-radius:999px;
    background:#e0e7ff;
    color:#3730a3;
    font-size:11px;
}

.task-active-filters
{
    grid-column:1 / -1;
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:8px;
}

.task-active-filters a
{
    color:#475569;
    font-weight:800;
}

.task-advanced-builder
{
    grid-column:1 / -1;
    display:none;
    gap:12px;
    padding:14px;
    border:1px solid #dbe3ee;
    border-radius:12px;
    background:#f8fafc;
    animation:taskFilterIn .16s ease;
}

.task-advanced-builder.open
{
    display:grid;
}

@keyframes taskFilterIn
{
    from { opacity:0; transform:translateY(-4px); }
    to { opacity:1; transform:translateY(0); }
}

.task-builder-header
{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
}

.task-condition-rows
{
    display:grid;
    gap:8px;
}

.task-condition-row
{
    display:grid;
    grid-template-columns:minmax(150px, .8fr) minmax(170px, .8fr) minmax(180px, 1fr) 38px;
    gap:8px;
    align-items:center;
}

.task-density-toggle
{
    display:inline-flex;
    padding:3px;
    border:1px solid var(--color-border);
    border-radius:10px;
    background:#f8fafc;
}

.task-density-toggle button
{
    min-height:30px;
    padding:0 9px;
    border:0;
    border-radius:8px;
    background:transparent;
    color:#475569;
    box-shadow:none;
    font-size:12px;
}

.task-list-panel
{
    overflow:visible;
}

.task-enterprise-table
{
    table-layout:auto;
}

.task-enterprise-table thead th
{
    position:sticky;
    top:0;
    z-index:4;
    white-space:nowrap;
}

.task-enterprise-table th
{
    position:relative;
}

.task-enterprise-table th.is-filtered
{
    background:#e9eef8;
    color:#1e293b;
}

.task-column-heading
{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
}

.task-column-filter-button
{
    display:inline-flex;
    align-items:center;
    gap:3px;
    width:auto;
    min-height:24px;
    padding:2px 5px;
    border:0;
    border-radius:7px;
    background:transparent;
    color:#64748b;
    box-shadow:none;
}

.task-column-filter-button:hover
{
    background:#e2e8f0;
    color:#0f172a;
}

.task-column-filter-popover
{
    position:absolute;
    top:calc(100% + 6px);
    left:10px;
    z-index:20;
    display:none;
    width:240px;
    padding:12px;
    border:1px solid #cbd5e1;
    border-radius:12px;
    background:#fff;
    box-shadow:0 18px 40px rgba(15,23,42,.16);
    text-align:left;
}

.task-column-filter-popover.open
{
    display:grid;
    gap:8px;
}

.task-column-filter-condition
{
    display:grid;
    gap:6px;
}

.task-enterprise-table td strong
{
    display:block;
}

.task-enterprise-table td small
{
    display:block;
    margin-top:3px;
    color:#64748b;
}

.task-density-compact th,
.task-density-compact td
{
    padding:5px 8px;
}

.task-status-badge,
.task-priority-badge,
.task-date-pill
{
    display:inline-flex;
    align-items:center;
    min-height:24px;
    padding:3px 8px;
    border-radius:999px;
    background:#eef2f7;
    color:#334155;
    font-size:12px;
    font-weight:800;
}

.task-priority-badge.priority-critical
{
    background:#fee2e2;
    color:#991b1b;
}

.task-priority-badge.priority-high
{
    background:#ffedd5;
    color:#9a3412;
}

.task-priority-badge.priority-medium
{
    background:#dbeafe;
    color:#1e40af;
}

.task-priority-badge.priority-low
{
    background:#dcfce7;
    color:#166534;
}

.task-date-pill.due-overdue
{
    background:#fee2e2;
    color:#991b1b;
}

.task-date-pill.due-soon
{
    background:#fef3c7;
    color:#92400e;
}

.task-selected-count
{
    margin-left:auto;
    color:#64748b;
    font-size:13px;
    font-weight:800;
}

.task-bulk-extra
{
    display:none;
    max-width:220px;
}

.task-empty-state
{
    display:grid;
    place-items:center;
    gap:6px;
    padding:34px;
    color:#64748b;
    text-align:center;
}

.task-empty-state i
{
    font-size:26px;
    color:#94a3b8;
}

.task-save-view-modal
{
    max-width:760px;
}

.task-saved-view-manager
{
    display:grid;
    gap:10px;
    margin-top:18px;
}

.task-saved-view-row
{
    display:grid;
    grid-template-columns:minmax(180px, 1fr) auto auto auto auto;
    align-items:center;
    gap:8px;
    padding:8px;
    border:1px solid #dbe3ee;
    border-radius:10px;
    background:#f8fafc;
}

@media (max-width:1200px)
{
    .task-toolbar
    {
        grid-template-columns:1fr 220px;
    }

    .task-quick-chip-row,
    .task-active-filters,
    .task-advanced-builder
    {
        grid-column:1 / -1;
    }
}

@media (max-width:900px)
{
    .table-grid-toolbar,
    .project-toolbar
    {
        grid-template-columns:1fr;
    }

    .project-filter-grid
    {
        grid-template-columns:1fr;
    }
}

@media (max-width:760px)
{
    .tasks-hero,
    .task-builder-header
    {
        flex-direction:column;
        align-items:stretch;
    }

    .task-toolbar,
    .task-condition-row,
    .task-saved-view-row
    {
        grid-template-columns:1fr;
    }
}

/* Final design-system guardrail.
   This must remain the last layer so new components inherit one consistent app style. */
.modal
{
    position:fixed !important;
    inset:0 !important;
    z-index:10050 !important;
    display:none;
    align-items:center !important;
    justify-content:center !important;
    padding:24px !important;
    background:rgba(15,23,42,.56) !important;
    backdrop-filter:blur(8px);
    overflow:auto !important;
}

.modal[aria-hidden="false"],
.modal.is-open,
.modal.open
{
    display:flex !important;
}

.modal-content,
.modal-content-wide,
.modal-content.modal-wide,
.organization-user-profile-modal,
.project-editor-modal-content,
.calendar-event-modal-content,
.bulk-edit-modal-content,
.crm-record-modal-content,
.workspace-admin-modal-content,
.invite-user-modal-content
{
    margin:auto !important;
    border:1px solid #dbe3ee !important;
    border-radius:20px !important;
    background:#fff !important;
    box-shadow:0 28px 90px rgba(15,23,42,.28) !important;
    color:#172033 !important;
}

.primary-btn,
.secondary-btn,
.btn-small,
button.primary,
a.primary-btn,
input[type="submit"],
button[type="submit"]
{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:8px !important;
    width:auto;
    min-height:40px;
    padding:0 14px !important;
    border-radius:10px !important;
    font-size:13px !important;
    font-weight:900 !important;
    line-height:1 !important;
    text-decoration:none !important;
}

.primary-btn,
button.primary,
a.primary-btn,
input[type="submit"],
button[type="submit"]
{
    border:1px solid #334155 !important;
    background:#334155 !important;
    color:#fff !important;
    box-shadow:0 10px 24px rgba(15,23,42,.14) !important;
}

.secondary-btn,
.btn-small
{
    border:1px solid #cbd5e1 !important;
    background:#fff !important;
    color:#334155 !important;
    box-shadow:none !important;
}

.panel,
.settings-card,
.table-card,
.profile-section,
.profile-sub-card,
.workspace-action-card,
.asset-summary-card,
.approval-summary-grid article,
.dashboard-card,
.stat-card
{
    border:1px solid #dbe3ee !important;
    border-radius:18px !important;
    background:#fff !important;
    box-shadow:0 16px 42px rgba(15,23,42,.07) !important;
}

input:not([type="checkbox"]):not([type="radio"]),
select,
textarea
{
    min-height:42px;
    padding:10px 12px;
    border:1px solid #cbd5e1;
    border-radius:12px;
    background:#fff;
    color:#172033;
    font:inherit;
}

.profile-tabs,
.settings-tab-bar,
.account-settings-tabs,
.module-admin-tabs,
.task-detail-tabs
{
    display:flex !important;
    flex-wrap:wrap;
    gap:8px;
    padding:8px !important;
    border:1px solid #dbe3ee !important;
    border-radius:16px !important;
    background:#fff !important;
    box-shadow:0 8px 20px rgba(15,23,42,.05) !important;
}

.profile-tab,
.settings-tab-bar button,
.settings-tab-bar a,
.account-settings-tabs .profile-tab,
.module-admin-tabs .profile-tab,
.task-detail-tabs .profile-tab
{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    gap:8px;
    width:auto !important;
    min-height:38px;
    padding:8px 12px !important;
    border:1px solid transparent !important;
    border-radius:11px !important;
    background:transparent !important;
    color:#64748b !important;
    box-shadow:none !important;
    font-size:13px;
    font-weight:900;
    text-decoration:none;
    white-space:nowrap;
}

.profile-tab.active,
.profile-tab[aria-selected="true"],
.settings-tab-bar .active,
.settings-tab-bar [aria-selected="true"],
.account-settings-tabs .profile-tab.active,
.module-admin-tabs .profile-tab.active,
.task-detail-tabs .profile-tab.active
{
    border-color:#334155 !important;
    background:#334155 !important;
    color:#fff !important;
    box-shadow:0 10px 20px rgba(15,23,42,.14) !important;
}

.users-table,
.data-table,
.tasks-grid-table,
.task-enterprise-table,
.module-config-table,
.workspace-admin-table,
.workspace-users-table,
.organization-users-table,
.crm-grid-table
{
    width:100%;
    border:0 !important;
    border-collapse:separate !important;
    border-spacing:0 !important;
    background:#fff !important;
}

.users-table th,
.data-table th,
.tasks-grid-table th,
.task-enterprise-table th,
.module-config-table th,
.workspace-admin-table th,
.workspace-users-table th,
.organization-users-table th,
.crm-grid-table th
{
    height:44px;
    padding:11px 14px !important;
    border-bottom:1px solid #e2e8f0 !important;
    background:#f8fafc !important;
    color:#64748b !important;
    font-size:12px !important;
    font-weight:950 !important;
    text-align:left !important;
    text-transform:uppercase;
}

.users-table td,
.data-table td,
.tasks-grid-table td,
.task-enterprise-table td,
.module-config-table td,
.workspace-admin-table td,
.workspace-users-table td,
.organization-users-table td,
.crm-grid-table td
{
    padding:13px 14px !important;
    border-bottom:1px solid #e5eaf1 !important;
    background:#fff !important;
    color:#172033 !important;
    vertical-align:middle;
}

.users-table tbody tr:hover td,
.data-table tbody tr:hover td,
.tasks-grid-table tbody tr:hover td,
.task-enterprise-table tbody tr:hover td,
.module-config-table tbody tr:hover td,
.workspace-admin-table tbody tr:hover td,
.workspace-users-table tbody tr:hover td,
.organization-users-table tbody tr:hover td,
.crm-grid-table tbody tr:hover td
{
    background:#f8fafc !important;
    box-shadow:inset 3px 0 0 #334155;
}

@media (max-width:760px)
{
    .modal
    {
        padding:10px !important;
        align-items:flex-end !important;
    }

    .modal-content,
    .modal-content-wide,
    .modal-content.modal-wide,
    .organization-user-profile-modal,
    .project-editor-modal-content,
    .calendar-event-modal-content,
    .bulk-edit-modal-content,
    .crm-record-modal-content,
    .workspace-admin-modal-content,
    .invite-user-modal-content
    {
        width:100% !important;
        max-width:100% !important;
        max-height:calc(100dvh - 20px) !important;
        border-radius:18px 18px 0 0 !important;
    }
}

/* Retire duplicate legacy filter strips once the shared grid workbench is active. */
.projects-page-shell .project-workbench,
.tasks-page-shell:has(+ .task-list-panel) .task-workbench
{
    display:none !important;
}

/* --------------------------------------------------------------------------
   Tortal design-system normalization layer
   Keep this at the end of the stylesheet. It gives new and existing pages one
   consistent foundation for modals, cards, buttons, forms, tabs and grids,
   overriding older page-specific drift without removing page functionality.
   -------------------------------------------------------------------------- */
:root
{
    --tortal-surface:#ffffff;
    --tortal-surface-muted:#f8fafc;
    --tortal-border:#dbe3ee;
    --tortal-border-strong:#cbd5e1;
    --tortal-text:#172033;
    --tortal-muted:#64748b;
    --tortal-primary:#334155;
    --tortal-primary-hover:#1f2937;
    --tortal-danger:#be123c;
    --tortal-success:#166534;
    --tortal-warning:#92400e;
    --tortal-radius-sm:10px;
    --tortal-radius:14px;
    --tortal-radius-lg:18px;
    --tortal-shadow-sm:0 8px 20px rgba(15,23,42,.05);
    --tortal-shadow:0 16px 42px rgba(15,23,42,.07);
    --tortal-shadow-modal:0 28px 90px rgba(15,23,42,.28);
    --tortal-focus:0 0 0 3px rgba(51,65,85,.18);
}

body
{
    color:var(--tortal-text);
}

.panel,
.settings-card,
.table-card,
.profile-section,
.profile-sub-card,
.workspace-action-card,
.asset-summary-card,
.approval-summary-grid article,
.dashboard-card,
.stat-card
{
    border:1px solid var(--tortal-border) !important;
    border-radius:var(--tortal-radius-lg) !important;
    background:var(--tortal-surface) !important;
    box-shadow:var(--tortal-shadow) !important;
}

.settings-card,
.profile-section,
.profile-sub-card,
.panel
{
    padding:18px !important;
}

.settings-card-heading,
.modal-header,
.topbar,
.profile-section-heading-row
{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
}

.settings-card-heading h2,
.settings-card-heading h3,
.profile-section h2,
.panel h2,
.modal-header h2
{
    margin:0;
    color:var(--tortal-text);
    letter-spacing:0;
}

.settings-card-heading p,
.page-intro,
.muted-text,
.modal-header p
{
    color:var(--tortal-muted) !important;
}

.primary-btn,
.secondary-btn,
.btn-small,
button.primary,
a.primary-btn,
input[type="submit"],
button[type="submit"]
{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    gap:8px;
    width:auto;
    min-height:40px;
    padding:0 14px;
    border-radius:var(--tortal-radius-sm);
    font-size:13px;
    font-weight:900;
    line-height:1;
    text-decoration:none;
    cursor:pointer;
    transition:background .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease;
}

.primary-btn,
button.primary,
a.primary-btn,
input[type="submit"],
button[type="submit"]
{
    border:1px solid var(--tortal-primary) !important;
    background:var(--tortal-primary) !important;
    color:#fff !important;
    box-shadow:0 10px 24px rgba(15,23,42,.14) !important;
}

.primary-btn:hover,
button.primary:hover,
a.primary-btn:hover,
input[type="submit"]:hover,
button[type="submit"]:hover
{
    border-color:var(--tortal-primary-hover) !important;
    background:var(--tortal-primary-hover) !important;
}

.secondary-btn,
.btn-small
{
    border:1px solid var(--tortal-border-strong) !important;
    background:#fff !important;
    color:var(--tortal-primary) !important;
    box-shadow:none !important;
}

.secondary-btn:hover,
.btn-small:hover
{
    border-color:var(--tortal-primary) !important;
    background:var(--tortal-surface-muted) !important;
    color:var(--tortal-text) !important;
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible
{
    outline:0 !important;
    box-shadow:var(--tortal-focus) !important;
}

input:not([type="checkbox"]):not([type="radio"]),
select,
textarea
{
    min-height:42px;
    padding:10px 12px;
    border:1px solid var(--tortal-border-strong);
    border-radius:12px;
    background:#fff;
    color:var(--tortal-text);
    font:inherit;
}

textarea
{
    min-height:96px;
    line-height:1.5;
}

label
{
    color:var(--tortal-text);
}

.form-grid,
.profile-grid-2,
.compact-grid
{
    gap:14px !important;
}

.modal
{
    position:fixed !important;
    inset:0 !important;
    z-index:10050 !important;
    display:none;
    align-items:center !important;
    justify-content:center !important;
    padding:24px !important;
    background:rgba(15,23,42,.56) !important;
    backdrop-filter:blur(8px);
    overflow:auto !important;
}

.modal[aria-hidden="false"],
.modal.is-open,
.modal.open
{
    display:flex !important;
}

.modal-content,
.modal-content-wide,
.modal-content.modal-wide,
.organization-user-profile-modal,
.project-editor-modal-content,
.calendar-event-modal-content,
.bulk-edit-modal-content,
.crm-record-modal-content,
.workspace-admin-modal-content,
.invite-user-modal-content
{
    position:relative !important;
    width:min(860px,calc(100vw - 48px));
    max-width:calc(100vw - 48px);
    max-height:calc(100dvh - 48px);
    margin:auto !important;
    overflow:auto;
    border:1px solid var(--tortal-border) !important;
    border-radius:20px !important;
    background:var(--tortal-surface) !important;
    box-shadow:var(--tortal-shadow-modal) !important;
    color:var(--tortal-text);
}

.modal-header
{
    position:sticky;
    top:0;
    z-index:2;
    padding:18px 20px;
    border-bottom:1px solid #e5eaf1;
    background:rgba(255,255,255,.96);
    backdrop-filter:blur(12px);
}

.modal-header button
{
    display:grid !important;
    place-items:center;
    width:38px !important;
    height:38px !important;
    min-height:38px !important;
    padding:0 !important;
    border:1px solid var(--tortal-border) !important;
    border-radius:12px !important;
    background:#fff !important;
    color:var(--tortal-muted) !important;
    box-shadow:none !important;
}

.modal-header button:hover
{
    border-color:var(--tortal-primary) !important;
    color:var(--tortal-text) !important;
}

.settings-card-actions,
.modal-actions,
.calendar-event-footer,
.bulk-edit-footer
{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:10px;
    padding-top:14px;
    border-top:1px solid #e5eaf1;
}

.profile-tabs,
.settings-tab-bar,
.account-settings-tabs,
.module-admin-tabs,
.task-detail-tabs
{
    display:flex !important;
    flex-wrap:wrap;
    gap:8px;
    padding:8px !important;
    border:1px solid var(--tortal-border) !important;
    border-radius:16px !important;
    background:#fff !important;
    box-shadow:var(--tortal-shadow-sm) !important;
}

.profile-tab,
.settings-tab-bar button,
.settings-tab-bar a,
.account-settings-tabs .profile-tab,
.module-admin-tabs .profile-tab,
.task-detail-tabs .profile-tab
{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    gap:8px;
    width:auto !important;
    min-height:38px;
    padding:8px 12px !important;
    border:1px solid transparent !important;
    border-radius:11px !important;
    background:transparent !important;
    color:var(--tortal-muted) !important;
    box-shadow:none !important;
    font-size:13px;
    font-weight:900;
    text-decoration:none;
    white-space:nowrap;
}

.profile-tab.active,
.profile-tab[aria-selected="true"],
.settings-tab-bar .active,
.settings-tab-bar [aria-selected="true"],
.account-settings-tabs .profile-tab.active,
.module-admin-tabs .profile-tab.active,
.task-detail-tabs .profile-tab.active
{
    border-color:var(--tortal-primary) !important;
    background:var(--tortal-primary) !important;
    color:#fff !important;
    box-shadow:0 10px 20px rgba(15,23,42,.14) !important;
}

.users-table,
.data-table,
.tasks-grid-table,
.task-enterprise-table,
.module-config-table,
.workspace-admin-table,
.workspace-users-table,
.organization-users-table,
.crm-grid-table
{
    width:100%;
    border:0 !important;
    border-collapse:separate !important;
    border-spacing:0 !important;
    background:#fff !important;
}

.users-table th,
.data-table th,
.tasks-grid-table th,
.task-enterprise-table th,
.module-config-table th,
.workspace-admin-table th,
.workspace-users-table th,
.organization-users-table th,
.crm-grid-table th
{
    height:44px;
    padding:11px 14px !important;
    border-bottom:1px solid #e2e8f0 !important;
    background:var(--tortal-surface-muted) !important;
    color:var(--tortal-muted) !important;
    font-size:12px !important;
    font-weight:950 !important;
    text-align:left !important;
    text-transform:uppercase;
}

.users-table td,
.data-table td,
.tasks-grid-table td,
.task-enterprise-table td,
.module-config-table td,
.workspace-admin-table td,
.workspace-users-table td,
.organization-users-table td,
.crm-grid-table td
{
    min-height:58px;
    padding:13px 14px !important;
    border-bottom:1px solid #e5eaf1 !important;
    background:#fff !important;
    color:var(--tortal-text) !important;
    vertical-align:middle;
}

.users-table tbody tr:hover td,
.data-table tbody tr:hover td,
.tasks-grid-table tbody tr:hover td,
.task-enterprise-table tbody tr:hover td,
.module-config-table tbody tr:hover td,
.workspace-admin-table tbody tr:hover td,
.workspace-users-table tbody tr:hover td,
.organization-users-table tbody tr:hover td,
.crm-grid-table tbody tr:hover td
{
    background:var(--tortal-surface-muted) !important;
    box-shadow:inset 3px 0 0 var(--tortal-primary);
}

.status-pill,
.status-badge,
.project-status,
.project-health,
.approval-status,
.approval-sla
{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    width:max-content;
    min-height:26px;
    padding:5px 9px;
    border-radius:999px;
    background:#eef2f7 !important;
    color:#475569 !important;
    font-size:11px !important;
    font-weight:900 !important;
    line-height:1;
}

.status-pill.approved,
.status-badge.status-active,
.approval-status.approved
{
    background:#ecfdf3 !important;
    color:var(--tortal-success) !important;
}

.status-pill.pending,
.approval-status.pending
{
    background:#eef2f7 !important;
    color:var(--tortal-primary) !important;
}

.status-pill.rejected,
.approval-status.rejected,
.danger-action
{
    color:var(--tortal-danger) !important;
}

.asset-summary-grid,
.summary-grid,
.stats-grid,
.dashboard-stats,
.approval-summary-grid
{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
    gap:12px;
}

.asset-context-menu,
.task-context-menu,
.bulk-edit-context-menu
{
    position:fixed;
    z-index:10080;
    min-width:220px;
    padding:7px;
    border:1px solid var(--tortal-border);
    border-radius:14px;
    background:#fff;
    box-shadow:0 22px 60px rgba(15,23,42,.2);
}

.asset-context-menu button,
.task-context-menu button,
.bulk-edit-context-menu button
{
    display:flex !important;
    align-items:center;
    justify-content:flex-start;
    gap:10px;
    width:100% !important;
    min-height:38px;
    padding:8px 10px !important;
    border:0 !important;
    border-radius:10px !important;
    background:transparent !important;
    color:var(--tortal-primary) !important;
    box-shadow:none !important;
    text-align:left;
}

.asset-context-menu button:hover,
.task-context-menu button:hover,
.bulk-edit-context-menu button:hover
{
    background:var(--tortal-surface-muted) !important;
    color:var(--tortal-text) !important;
}

body.theme-dark .panel,
body.theme-dark .settings-card,
body.theme-dark .table-card,
body.theme-dark .profile-section,
body.theme-dark .profile-sub-card,
body.theme-dark .modal-content
{
    border-color:#334155 !important;
    background:#111827 !important;
    color:#f8fafc !important;
}

body.theme-dark input:not([type="checkbox"]):not([type="radio"]),
body.theme-dark select,
body.theme-dark textarea,
body.theme-dark .users-table td,
body.theme-dark .data-table td,
body.theme-dark .tasks-grid-table td,
body.theme-dark .task-enterprise-table td
{
    border-color:#334155 !important;
    background:#0f172a !important;
    color:#f8fafc !important;
}

@media (max-width:760px)
{
    .modal
    {
        padding:10px !important;
        align-items:flex-end !important;
    }

    .modal-content,
    .modal-content-wide,
    .modal-content.modal-wide,
    .organization-user-profile-modal,
    .project-editor-modal-content,
    .calendar-event-modal-content,
    .bulk-edit-modal-content,
    .crm-record-modal-content,
    .workspace-admin-modal-content,
    .invite-user-modal-content
    {
        width:100% !important;
        max-width:100% !important;
        max-height:calc(100dvh - 20px);
        border-radius:18px 18px 0 0 !important;
    }

    .settings-card-actions,
    .modal-actions,
    .calendar-event-footer,
    .bulk-edit-footer
    {
        display:grid;
        grid-template-columns:1fr;
    }

    .settings-card-actions > *,
    .modal-actions > *,
    .calendar-event-footer > *,
    .bulk-edit-footer > *
    {
        width:100% !important;
    }
}

.forum-layout
{
    display:grid;
    grid-template-columns:minmax(280px, 360px) 1fr;
    gap:20px;
    max-width:1400px;
}

.forum-sidebar
{
    align-self:start;
}

.forum-topic-form
{
    border:1px solid var(--border);
    border-radius:16px;
    padding:14px;
    background:#f8fafc;
    margin-bottom:16px;
}

.forum-topic-list
{
    display:grid;
    gap:8px;
}

.forum-topic-link
{
    display:grid;
    gap:4px;
    padding:12px;
    border:1px solid var(--border);
    border-radius:14px;
    text-decoration:none;
    color:var(--text);
    background:#fff;
}

.forum-topic-link span
{
    color:var(--muted);
    font-size:13px;
}

.forum-topic-link.active,
.forum-topic-link:hover
{
    border-color:#2f6df6;
    background:#eef4ff;
}

.forum-post-list
{
    display:grid;
    gap:14px;
}

.forum-post
{
    display:grid;
    grid-template-columns:44px 1fr;
    gap:12px;
    border:1px solid var(--border);
    border-radius:16px;
    padding:14px;
    background:#fff;
}

.forum-post-avatar
{
    width:44px;
    height:44px;
    border-radius:14px;
    display:grid;
    place-items:center;
    background:#2f6df6;
    color:#fff;
    font-weight:800;
    overflow:hidden;
}

.forum-post-avatar img
{
    width:100%;
    height:100%;
    object-fit:cover;
}

.forum-post header
{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
    margin-bottom:8px;
}

.forum-post header span,
.forum-post header small
{
    color:var(--muted);
    font-size:13px;
}

.forum-post p
{
    margin:0;
    color:var(--text);
    line-height:1.6;
}

.forum-reply-form
{
    margin-top:18px;
    border-top:1px solid var(--border);
    padding-top:18px;
}

.audit-table tbody tr
{
    cursor:pointer;
}

.audit-table tbody tr:hover
{
    background:#f8fafc;
}

.audit-details-modal
{
    max-width:980px;
}

.audit-detail-grid
{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));
    gap:12px;
    margin-bottom:18px;
}

.audit-detail-grid div
{
    border:1px solid var(--border);
    border-radius:14px;
    padding:12px;
    background:#f8fafc;
}

.audit-detail-grid span
{
    display:block;
    color:var(--muted);
    font-size:12px;
    font-weight:800;
    text-transform:uppercase;
    margin-bottom:6px;
}

.audit-detail-grid strong
{
    overflow-wrap:anywhere;
}

.audit-detail-summary
{
    margin-top:16px;
}

.audit-detail-summary h3
{
    margin:0 0 10px;
}

.audit-detail-change-table
{
    width:100%;
    border-collapse:collapse;
}

.audit-detail-change-table th,
.audit-detail-change-table td
{
    border:1px solid var(--border);
    padding:10px;
    text-align:left;
    vertical-align:top;
}

.audit-detail-change-table th
{
    background:#f8fafc;
}

.audit-detail-change-table pre
{
    margin:0;
    white-space:pre-wrap;
    font-family:Consolas, monospace;
    font-size:13px;
}

@media (max-width:900px)
{
    .forum-layout
    {
        grid-template-columns:1fr;
    }
}

.automation-tabbar
{
    max-width:1320px;
    margin-bottom:20px;
}

.automation-tab-content
{
    max-width:1320px;
}

.automation-two-column
{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(360px, 1fr));
    gap:20px;
}

.automation-two-column form,
.automation-tab-content > .settings-card > form
{
    border:1px solid var(--border);
    border-radius:18px;
    padding:18px;
    background:#fff;
}

.automation-tab-content .automation-builder
{
    margin:16px 0;
    border:1px solid var(--border);
    border-radius:16px;
    padding:16px;
    background:#f8fafc;
}

.automation-tab-content .automation-builder h3
{
    margin:0 0 12px;
}

.leave-days-preview
{
    display:flex;
    align-items:center;
    gap:14px;
    flex-wrap:wrap;
    border:1px solid var(--border);
    border-radius:16px;
    padding:14px 16px;
    margin:16px 0;
    background:#f8fafc;
}

.leave-days-preview span
{
    color:var(--muted);
    font-weight:800;
    text-transform:uppercase;
    font-size:12px;
}

.leave-days-preview strong
{
    font-size:30px;
}

.leave-days-preview small
{
    color:var(--muted);
}

@media (max-width: 760px)
{
    .email-notification-header
    {
        display:grid;
    }
}
/* Workspace module configuration, workspace roles, and enterprise org chart */
.module-config-shell,
.workspace-role-layout,
.org-workspace {
    display: grid;
    gap: 20px;
}

.module-config-layout {
    display: grid;
    grid-template-columns: 240px minmax(0, 1fr);
    gap: 20px;
}

.module-config-nav {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.module-config-nav a {
    display: flex;
    align-items: center;
    padding: 11px 14px;
    border: 1px solid #d7e0ef;
    border-radius: 10px;
    color: #536079;
    background: #fff;
    text-decoration: none;
    font-weight: 700;
}

.module-config-nav a.active,
.module-config-nav a:hover {
    color: #fff;
    background: #334155;
    border-color: #334155;
}

.module-config-panel {
    min-width: 0;
}

.communication-config-form
{
    gap:18px;
}

.communication-config-form .settings-toggle-list
{
    gap:14px;
}

.workspace-role-layout {
    grid-template-columns: minmax(360px, 0.8fr) minmax(0, 1.2fr);
}

.workspace-role-checkboxes {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
}

.workspace-role-checkboxes label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0;
}

.system-role-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(190px, 1fr));
    gap: 18px;
    margin-bottom: 20px;
}

.system-role-card {
    display: flex;
    gap: 14px;
    align-items: flex-start;
}

.system-role-icon {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 12px;
    color: #1d4ed8;
    background: #eff6ff;
    flex: 0 0 auto;
}

.system-role-card h2 {
    margin: 0 0 8px;
    font-size: 18px;
}

.system-role-card p {
    color: #64748b;
    margin: 0 0 12px;
}

.org-chart-topbar {
    align-items: flex-start;
}

.org-toolbar {
    display: grid;
    grid-template-columns: minmax(220px, 1.2fr) minmax(180px, 0.8fr) minmax(180px, 0.8fr);
    gap: 14px;
    align-items: end;
    margin-bottom: 18px;
}

.org-toolbar label {
    display: grid;
    gap: 6px;
    margin: 0;
    color: #64748b;
    font-weight: 700;
}

.org-toolbar-actions {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.org-toolbar-actions .active {
    background: #2f6df6;
    color: #fff;
    border-color: #2f6df6;
}

.org-workspace {
    grid-template-columns: minmax(0, 1fr) 340px;
    align-items: start;
}

.org-chart-canvas {
    overflow: auto;
    min-height: 620px;
    background: linear-gradient(#f8fafc 1px, transparent 1px), linear-gradient(90deg, #f8fafc 1px, transparent 1px), #ffffff;
    background-size: 26px 26px;
}

.org-view {
    display: none;
}

.org-view.is-active {
    display: block;
}

.enterprise-org-chart {
    min-width: 980px;
    padding: 24px 18px 40px;
    transition: transform 0.2s ease;
}

.enterprise-org-chart ul,
.org-flat-list {
    position: relative;
    display: flex;
    justify-content: center;
    gap: 24px;
    list-style: none;
    margin: 0;
    padding: 34px 0 0;
}

.enterprise-org-chart > ul {
    padding-top: 0;
}

.org-node {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.enterprise-org-chart .org-node::before,
.enterprise-org-chart .org-node::after {
    content: '';
    position: absolute;
    top: 0;
    width: 50%;
    height: 18px;
    border-top: 2px solid #cbd5e1;
}

.enterprise-org-chart .org-node::before {
    right: 50%;
}

.enterprise-org-chart .org-node::after {
    left: 50%;
}

.enterprise-org-chart .org-node:first-child::before,
.enterprise-org-chart .org-node:last-child::after,
.enterprise-org-chart > ul > .org-node::before,
.enterprise-org-chart > ul > .org-node::after {
    border-top: 0;
}

.org-children::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    height: 34px;
    border-left: 2px solid #cbd5e1;
}

.enterprise-org-card {
    position: relative;
    display: grid;
    grid-template-columns: 44px minmax(150px, 1fr) auto;
    gap: 12px;
    align-items: center;
    width: 290px;
    padding: 14px;
    border: 1px solid #d8e1ef;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
    cursor: pointer;
    transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease;
    z-index: 1;
}

.enterprise-org-card:hover,
.enterprise-org-card:focus-visible,
.enterprise-org-card.is-selected {
    transform: translateY(-2px);
    border-color: #2f6df6;
    box-shadow: 0 16px 32px rgba(47, 109, 246, 0.16);
    outline: none;
}

.enterprise-org-card.is-current-user {
    border-color: #93c5fd;
    background: #f8fbff;
}

.org-card-avatar,
.org-profile-avatar {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    overflow: hidden;
    border-radius: 50%;
    color: #fff;
    background: linear-gradient(135deg, #2563eb, #22c55e);
    font-weight: 800;
}

.org-card-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.org-card-main strong,
.org-card-main span,
.org-card-main small {
    display: block;
}

.org-card-main strong {
    color: #111827;
}

.org-card-main span {
    margin-top: 3px;
    color: #536079;
    font-size: 13px;
}

.org-card-main small {
    margin-top: 6px;
    color: #7a869a;
    font-size: 12px;
}

.org-card-meta {
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: flex-end;
}

.org-status {
    display: inline-flex;
    align-items: center;
    width: max-content;
    padding: 4px 8px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
}

.org-status-active {
    color: #166534;
    background: #dcfce7;
}

.org-status-away {
    color: #92400e;
    background: #fef3c7;
}

.org-status-offline {
    color: #475569;
    background: #e2e8f0;
}

.org-card-action,
.org-collapse-toggle {
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border: 1px solid #d8e1ef;
    border-radius: 8px;
    color: #64748b;
    background: #fff;
}

.org-profile-panel {
    position: sticky;
    top: 88px;
}

.org-profile-empty {
    text-align: center;
    color: #64748b;
    padding: 42px 12px;
}

.org-profile-empty i {
    font-size: 30px;
    color: #2f6df6;
}

.org-profile-header {
    display: flex;
    gap: 14px;
    align-items: center;
    margin-bottom: 18px;
}

.org-profile-header h2 {
    margin: 0;
    font-size: 22px;
}

.org-profile-header p {
    margin: 4px 0 8px;
    color: #64748b;
}

.org-profile-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 18px 0;
}

.org-group-grid,
.org-reporting-lines {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 16px;
}

.org-group-card,
.org-reporting-lines section {
    border: 1px solid #d8e1ef;
    border-radius: 14px;
    padding: 16px;
    background: rgba(255, 255, 255, 0.92);
}

.org-flat-list {
    flex-direction: column;
    align-items: stretch;
    padding: 0;
}

.org-flat-list .enterprise-org-card {
    width: 100%;
}

.org-reporting-lines ul {
    list-style: none;
    padding: 0;
    margin: 12px 0 0;
}

.org-reporting-lines li {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 0;
    border-top: 1px solid #e2e8f0;
}

.is-filter-hidden {
    display: none !important;
}

@media (max-width: 1100px) {
    .module-config-layout,
    .workspace-role-layout,
    .org-workspace {
        grid-template-columns: 1fr;
    }

    .system-role-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .org-profile-panel {
        position: static;
    }
}

@media (max-width: 760px) {
    .org-toolbar {
        grid-template-columns: 1fr;
    }

    .enterprise-org-chart {
        min-width: 0;
        padding: 8px 0;
    }

    .enterprise-org-chart ul {
        display: block;
        padding: 10px 0 0 18px;
    }

    .enterprise-org-chart .org-node {
        align-items: stretch;
        margin-bottom: 12px;
    }

    .enterprise-org-card {
        width: 100%;
    }

    .enterprise-org-chart .org-node::before,
    .enterprise-org-chart .org-node::after,
    .org-children::before {
        display: none;
    }

    .system-role-grid {
        grid-template-columns: 1fr;
    }
}

/* Final palette normalisation: replace legacy bright-blue accents with the current professional slate system. */
:root
{
    --color-primary:#334155;
    --color-primary-hover:#1e293b;
    --color-primary-soft:#f1f5f9;
    --primary:#334155;
    --primary-hover:#1e293b;
    --focus-ring:0 0 0 4px rgba(51,65,85,.18);
}

.sidebar nav a.active,
.sidebar nav a:hover,
.sidebar .menu-parent.open > a,
.sidebar .menu-child a.active,
.workspace-tab.active,
.workspace-tab[aria-selected="true"],
.profile-tab.active,
.profile-tab[aria-selected="true"],
.account-settings-tabs .profile-tab.active,
.account-settings-tabs .profile-tab[aria-selected="true"],
.profile-settings-tabs.account-settings-tabs .profile-tab.active,
.profile-settings-tabs.account-settings-tabs .profile-tab[aria-selected="true"],
.security-tabs .profile-tab.active,
.tasks-view-actions .btn-small.active,
.task-density-toggle button.active,
.fc .fc-button-primary:not(:disabled).fc-button-active
{
    border-color:#334155 !important;
    background:#334155 !important;
    color:#fff !important;
    box-shadow:0 10px 22px rgba(15,23,42,.16) !important;
}

.primary-btn,
.btn-primary,
button[type="submit"],
input[type="submit"],
.public-site .primary-btn,
.fc .fc-button-primary
{
    border-color:#334155 !important;
    background:#334155 !important;
    color:#fff !important;
    box-shadow:0 10px 22px rgba(15,23,42,.14) !important;
}

.primary-btn:hover,
.btn-primary:hover,
button[type="submit"]:hover,
input[type="submit"]:hover,
.public-site .primary-btn:hover,
.fc .fc-button-primary:hover
{
    border-color:#1e293b !important;
    background:#1e293b !important;
    color:#fff !important;
    box-shadow:0 14px 28px rgba(15,23,42,.18) !important;
}

a,
.link-button,
.ghost-btn,
.btn-ghost,
.quick-filters a:hover,
.saved-filter-list a:hover,
.task-filter-chip:hover,
.task-column-filter-button:hover,
.users-table[data-interactive-table="true"] th:hover,
.data-table[data-interactive-table="true"] th:hover
{
    color:#334155;
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
.primary-btn:focus-visible,
.secondary-btn:focus-visible,
.btn-small:focus-visible,
.danger-btn:focus-visible
{
    outline:3px solid rgba(51,65,85,.24) !important;
    outline-offset:2px;
    box-shadow:var(--focus-ring) !important;
}

.task-number-chip,
.task-filter-count,
.task-column-filter-button span,
.global-search-result-type,
.status-pill,
.notification-badge,
.profile-progress-bar
{
    background:#e2e8f0 !important;
    color:#1e293b !important;
}

.task-priority-badge.priority-medium,
.task-priority.priority-medium
{
    background:#e2e8f0 !important;
    color:#334155 !important;
}

.task-card:hover,
.users-table tr:hover td,
.data-table tr:hover td
{
    border-color:#cbd5e1;
    background:#f8fafc !important;
}

.users-table tr:has(input[type="checkbox"]:checked) td,
.data-table tr:has(input[type="checkbox"]:checked) td,
.task-enterprise-table th.is-filtered
{
    border-color:#cbd5e1 !important;
    background:#eef2f7 !important;
    color:#1e293b !important;
}

.public-site .hero-glow,
.public-hero,
.dashboard-chart-bar,
.chart-bar,
.settings-progress-bar
{
    background:linear-gradient(135deg, #334155, #475569) !important;
}

.task-detail-tabs.profile-tabs.account-settings-tabs
{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    width:100%;
    margin:18px 0 0;
    padding:6px;
    border:1px solid var(--color-border);
    border-radius:12px;
    background:#fff;
    box-shadow:none;
}

.task-detail-tabs .task-detail-tab.profile-tab
{
    display:inline-flex;
    align-items:center;
    gap:7px;
    min-height:36px;
    width:auto;
    padding:7px 11px !important;
    border:0;
    border-radius:9px;
    background:transparent;
    color:#475569;
    font-size:13px;
    font-weight:800;
    line-height:1;
    box-shadow:none;
}

.task-detail-tabs .task-detail-tab.profile-tab:hover
{
    background:#f1f5f9;
    color:#1e293b;
}

.task-detail-tabs .task-detail-tab.profile-tab.active,
.task-detail-tabs .task-detail-tab.profile-tab[aria-selected="true"]
{
    border-color:#334155 !important;
    background:#334155 !important;
    color:#fff !important;
    box-shadow:0 10px 22px rgba(15,23,42,.16) !important;
}

.task-detail-tab-panels
{
    border-top:0;
}

/* Modern Live Chat */
.chat-shell{--chat-navy:#0f172a;--chat-slate:#334155;--chat-muted:#64748b;--chat-border:#dbe3ee;--chat-soft:#f8fafc;--chat-accent:#0f766e;display:grid;grid-template-columns:minmax(280px,340px) minmax(0,1fr) minmax(280px,330px);height:calc(100vh - 190px);min-height:680px;border:1px solid var(--chat-border);border-radius:18px;background:#fff;box-shadow:0 18px 50px rgba(15,23,42,.08);overflow:hidden}
.chat-inbox-panel,.chat-details-panel{min-width:0;background:#f8fafc}
.chat-inbox-panel{display:grid;grid-template-rows:auto auto auto 1fr;border-right:1px solid var(--chat-border)}
.chat-details-panel{display:grid;grid-template-rows:auto auto auto auto 1fr;gap:14px;padding-bottom:16px;border-left:1px solid var(--chat-border);overflow:auto}
.chat-details-panel.collapsed{display:none}
.chat-panel-header,.chat-thread-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px;border-bottom:1px solid var(--chat-border);background:rgba(255,255,255,.94)}
.panel-kicker{display:block;color:var(--chat-muted);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.chat-panel-header h2,.chat-thread-header h2{margin:0;color:#172033;font-size:18px;letter-spacing:0}
.chat-search-box,.chat-thread-search{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:8px;height:42px;margin:14px;padding:0 12px;border:1px solid var(--chat-border);border-radius:12px;background:#fff;color:var(--chat-muted)}
.chat-thread-search{width:220px;margin:0}
.chat-search-box input,.chat-thread-search input{height:40px;min-height:0;padding:0;border:0;background:transparent;box-shadow:none}
.chat-filter-row{display:flex;gap:8px;padding:0 14px 14px}
.chat-filter-row button{width:auto;min-height:30px;padding:6px 10px;border:1px solid var(--chat-border);border-radius:999px;background:#fff;color:var(--chat-muted);font-size:12px;font-weight:800;box-shadow:none}
.chat-filter-row button.active{border-color:var(--chat-slate);background:var(--chat-slate);color:#fff}
.chat-list-modern{overflow:auto}
.chat-list-item-modern{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;width:100%;padding:14px;border:0;border-bottom:1px solid #e2e8f0;background:transparent;color:#172033;text-align:left;box-shadow:none}
.chat-list-item-modern:hover,.chat-list-item-modern.active{background:#fff}
.chat-list-item-modern.active{box-shadow:inset 3px 0 0 var(--chat-accent)}
.chat-avatar{position:relative;display:inline-grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#334155;color:#fff;font-weight:900;overflow:hidden}
.chat-avatar img{width:100%;height:100%;object-fit:cover}
.chat-avatar::after{content:'';position:absolute;right:0;bottom:0;width:10px;height:10px;border:2px solid #fff;border-radius:50%;background:#94a3b8}
.presence-online::after{background:#16a34a}
.presence-away::after{background:#d97706}
.chat-list-main{display:grid;gap:4px;min-width:0}
.chat-list-title{display:flex;align-items:center;justify-content:space-between;gap:10px}
.chat-list-title strong,.chat-list-preview{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chat-list-title small,.chat-list-preview,.chat-list-meta{color:var(--chat-muted);font-size:12px}
.chat-list-meta{display:flex;gap:6px;flex-wrap:wrap}
.chat-list-meta em{font-style:normal}
.chat-unread-badge{align-self:center;min-width:22px;padding:3px 7px;border-radius:999px;background:var(--chat-accent);color:#fff;font-size:12px;font-weight:900;text-align:center}
.chat-thread-panel{display:grid;grid-template-rows:auto 1fr auto auto;min-width:0;background:#fff}
.chat-thread-identity,.chat-thread-actions{display:flex;align-items:center;gap:12px;min-width:0}
.chat-thread-identity p{margin:3px 0 0;color:var(--chat-muted);font-size:13px}
.chat-messages-modern{display:flex;flex-direction:column;gap:4px;padding:22px;overflow:auto;background:linear-gradient(180deg,rgba(248,250,252,.7),rgba(255,255,255,1) 220px),#fff}
.chat-date-separator{display:flex;justify-content:center;margin:12px 0}
.chat-date-separator span{padding:5px 10px;border:1px solid var(--chat-border);border-radius:999px;background:#fff;color:var(--chat-muted);font-size:12px;font-weight:800}
.chat-message-modern{position:relative;display:grid;grid-template-columns:42px minmax(0,max-content);gap:10px;max-width:78%;align-self:flex-start}
.chat-message-modern.own{grid-template-columns:minmax(0,max-content);align-self:flex-end}
.chat-message-modern.grouped{margin-top:-2px}
.message-avatar-spacer{width:42px}
.message-avatar{width:34px;height:34px;border-radius:12px;align-self:end}
.chat-bubble-wrap{display:grid;gap:4px;min-width:0}
.chat-message-meta{display:flex;align-items:center;gap:8px;color:var(--chat-muted);font-size:12px}
.chat-message-meta strong{color:#172033}
.chat-bubble{padding:11px 13px;border:1px solid #e2e8f0;border-radius:16px 16px 16px 6px;background:#f8fafc;color:#172033;box-shadow:0 8px 22px rgba(15,23,42,.05)}
.chat-message-modern.own .chat-bubble{border-color:#cbd5e1;border-radius:16px 16px 6px 16px;background:#334155;color:#fff}
.chat-bubble p{margin:0;line-height:1.5}
.chat-bubble a{color:inherit;font-weight:800}
.chat-link-preview{display:flex;align-items:center;gap:8px;margin-top:10px;padding:8px;border:1px solid rgba(148,163,184,.35);border-radius:12px;color:inherit;text-decoration:none}
.chat-reaction-row{display:flex;flex-wrap:wrap;gap:5px}
.chat-reaction-row button{width:auto;min-height:26px;padding:3px 8px;border:1px solid var(--chat-border);border-radius:999px;background:#fff;color:#334155;font-size:12px;box-shadow:none}
.chat-message-footer{color:var(--chat-muted);font-size:11px;text-align:right}
.chat-message-actions{display:none;gap:6px;flex-wrap:wrap}
.chat-message-modern:hover .chat-message-actions{display:flex}
.chat-message-actions button{width:auto;min-height:26px;padding:4px 8px;border:1px solid var(--chat-border);border-radius:8px;background:#fff;color:#475569;font-size:12px;box-shadow:none}
.chat-message-actions .danger-text{color:#b91c1c}
.typing-indicator{min-height:0;padding:0 20px;color:var(--chat-muted);font-size:12px}
.chat-composer-modern{position:sticky;bottom:0;display:grid;gap:8px;padding:14px 18px 18px;border-top:1px solid var(--chat-border);background:rgba(255,255,255,.96);backdrop-filter:blur(12px)}
.chat-composer-modern input[type="hidden"]{display:none}
.emoji-picker-modern{display:none;gap:8px;flex-wrap:wrap;padding:10px;border:1px solid var(--chat-border);border-radius:14px;background:#f8fafc}
.emoji-picker-modern.emoji-picker-open{display:flex}
.emoji-picker-modern button{width:34px;min-height:34px;padding:0;border:1px solid var(--chat-border);border-radius:10px;background:#fff;box-shadow:none}
.attachment-preview-row{display:flex;flex-wrap:wrap;gap:8px}
.attachment-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border:1px solid var(--chat-border);border-radius:999px;background:#f8fafc;color:#334155;font-size:12px;font-weight:800}
.chat-composer-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:end;padding:10px;border:1px solid #cbd5e1;border-radius:18px;background:#fff;box-shadow:0 12px 30px rgba(15,23,42,.08)}
.chat-composer-card.is-dragging{border-color:var(--chat-accent);box-shadow:0 0 0 4px rgba(15,118,110,.14)}
.chat-composer-button-row{display:flex;gap:6px;align-items:center}
.chat-composer-card textarea{min-height:40px;max-height:160px;padding:9px 4px;border:0;border-radius:0;background:transparent;box-shadow:none;resize:none}
.chat-send-button{display:grid;place-items:center;width:42px;min-height:42px;padding:0;border:0;border-radius:14px;background:var(--chat-slate);color:#fff;box-shadow:0 10px 20px rgba(15,23,42,.16)}
.chat-send-button:disabled{background:#cbd5e1;cursor:not-allowed;box-shadow:none}
.chat-detail-card{display:grid;gap:10px;margin:0 14px;padding:14px;border:1px solid var(--chat-border);border-radius:14px;background:#fff}
.chat-detail-card h3{margin:0;color:#172033;font-size:15px}
.chat-participant,.chat-mini-item{display:flex;align-items:center;gap:10px;padding:8px;border-radius:12px;color:#172033;text-decoration:none}
.chat-participant span:last-child,.chat-mini-item{display:grid;gap:2px}
.chat-participant small,.chat-mini-item small{color:var(--chat-muted)}
.chat-empty-state{display:grid;place-items:center;align-content:center;gap:8px;height:100%;padding:24px;color:var(--chat-muted);text-align:center}
.chat-empty-state i{font-size:34px;color:#94a3b8}
.chat-empty-state strong{color:#172033}
.chat-empty-state.compact{min-height:180px;height:auto}
.chat-skeleton{height:74px;margin:12px;border-radius:14px;background:linear-gradient(90deg,#f1f5f9,#e2e8f0,#f1f5f9);background-size:200% 100%;animation:chatSkeleton 1.2s ease infinite}
@keyframes chatSkeleton{0%{background-position:200% 0}100%{background-position:-200% 0}}
@media (max-width:1200px){.chat-shell{grid-template-columns:minmax(260px,320px) minmax(0,1fr)}.chat-details-panel{position:absolute;right:28px;top:160px;bottom:28px;z-index:10;width:330px;box-shadow:0 20px 50px rgba(15,23,42,.18)}}
@media (max-width:820px){.chat-shell{grid-template-columns:1fr;height:auto;min-height:0}.chat-inbox-panel,.chat-thread-panel{min-height:520px}.chat-details-panel{position:static;width:auto;box-shadow:none}.chat-thread-header,.chat-thread-actions{flex-wrap:wrap}.chat-thread-search{width:100%}.chat-message-modern{max-width:96%}.chat-composer-card{grid-template-columns:1fr auto}.chat-composer-button-row{grid-column:1 / -1}}

/* Enterprise module configuration refresh */
.workspace-tabs{gap:10px!important;min-height:48px!important;margin:-18px -6px 26px!important;padding:0 8px 12px!important;border-bottom:1px solid #d7dde8!important;scrollbar-width:thin}
.workspace-tab{min-width:150px!important;height:38px!important;padding:0 8px 0 14px!important;border:1px solid #cfd8e6!important;border-bottom-color:#b8c3d4!important;border-radius:10px 10px 0 0!important;background:#fff!important;color:#334155!important;box-shadow:0 4px 12px rgba(15,23,42,.04)!important}
.workspace-tab.active,.workspace-tab[aria-selected="true"]{border-color:#334155!important;background:#334155!important;color:#fff!important;box-shadow:0 10px 22px rgba(15,23,42,.14)!important}
.workspace-tab-label{font-size:13px!important;font-weight:800!important}
.workspace-tab-close{color:inherit!important;opacity:.75}
.workspace-tab-close:hover{opacity:1;background:rgba(255,255,255,.18)!important;color:inherit!important}
.module-config-shell{gap:12px!important}
.module-admin-tabs{margin-bottom:0!important}
.module-config-layout{display:grid;grid-template-columns:1fr;gap:18px;align-items:start}
.module-config-nav-card{position:relative;top:auto;display:block;padding:8px;border:1px solid #d6dfeb;border-radius:0 0 14px 14px;background:rgba(255,255,255,.92);box-shadow:0 10px 24px rgba(15,23,42,.05)}
.module-config-layout > .module-config-nav-card{grid-column:1;grid-row:auto}
.module-config-layout > .module-config-panel{grid-column:1;width:100%;max-width:none}
.module-config-nav-header{display:grid;gap:3px}
.module-config-nav-header span{color:#111827;font-size:15px;font-weight:900}
.module-config-nav-header small,.module-config-nav-group-title,.field-help{color:#64748b;font-size:12px;font-weight:800}
.module-config-nav-search{display:flex;align-items:center;gap:9px;min-height:42px;padding:0 12px;border:1px solid #d6dfeb;border-radius:11px;background:#f8fafc;color:#64748b}
.module-config-nav-search input{width:100%;border:0;background:transparent;outline:0;color:#111827;font-weight:700}
.module-config-nav-header,.module-config-nav-search{display:none!important}
.module-config-nav{display:flex!important;align-items:center;gap:8px!important;overflow-x:auto;padding:0;scrollbar-width:thin}
.module-config-nav-group{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.module-config-nav-group-title{padding:0 4px;text-transform:uppercase;letter-spacing:.04em}
.module-config-nav a{display:inline-flex!important;align-items:center;justify-content:center;gap:8px;flex:0 0 auto;min-height:38px;padding:8px 13px!important;border:1px solid transparent!important;border-radius:11px!important;background:transparent!important;color:#475569!important;font-size:13px;font-weight:900;text-decoration:none;white-space:nowrap;box-shadow:none!important}
.module-config-nav a:hover{background:#f1f5f9!important;color:#111827!important}
.module-config-nav a.active{border-color:#334155!important;background:#334155!important;color:#fff!important}
.module-config-panel{border-color:#d6dfeb!important;border-radius:16px!important;box-shadow:0 14px 34px rgba(15,23,42,.06)!important}
.module-config-create-panel{display:none!important}
.module-config-editor-card{padding:22px!important}
.module-config-editor-card + .module-config-editor-card{margin-top:20px}
.module-config-form{max-width:none!important}
.module-config-form input,.module-config-form select,.module-config-form textarea{min-height:42px;border-radius:10px}
.module-inline-check{align-items:center;margin:10px 0 16px!important;padding:11px 12px;border:1px solid #d6dfeb;border-radius:10px;background:#f8fafc;color:#334155;font-weight:800}
.module-table-shell{overflow:auto;border:1px solid #d6dfeb;border-radius:14px;background:#fff}
.module-config-table{width:100%;border-collapse:separate;border-spacing:0}
.module-config-table th{height:42px;padding:11px 14px;border-bottom:1px solid #d6dfeb;background:#f8fafc;color:#64748b;font-size:12px;font-weight:900;text-align:left;text-transform:uppercase}
.module-config-table td{padding:13px 14px;border-bottom:1px solid #e5eaf1;color:#1f2937;vertical-align:middle}
.module-config-table tr:last-child td{border-bottom:0}
.module-config-table tbody tr:not(.task-type-config-row):hover{background:#f8fafc}
.module-config-record-row{cursor:pointer}
.module-config-grid-card{min-height:420px}
.module-config-grid-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}
.module-config-grid-header h2{margin:0 0 5px}
.module-config-grid-header .primary-btn{width:auto;white-space:nowrap}
.table-code-badge{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border-radius:999px;background:#eef2f7;color:#334155;font-size:12px;font-weight:900}
.compact-btn{min-height:32px!important;padding:7px 11px!important;font-size:12px!important}
.task-type-config-row td{padding:0!important;background:#f8fafc}
.task-type-field-card-modern{margin:0;padding:18px;border:0;border-radius:0;background:#f8fafc;box-shadow:none}
.field-config-table-wrap{overflow:auto;border:1px solid #d6dfeb;border-radius:12px;background:#fff}
.field-config-table{width:100%;border-collapse:separate;border-spacing:0}
.field-config-table th,.field-config-table td{padding:10px 12px;border-bottom:1px solid #e5eaf1;text-align:left}
.field-config-table th{color:#64748b;font-size:12px;font-weight:900;text-transform:uppercase}
.field-config-table tr:last-child td{border-bottom:0}
.switch-lite{position:relative;display:inline-flex;align-items:center;width:40px;height:22px}
.switch-lite input{position:absolute;opacity:0}
.switch-lite span{position:absolute;inset:0;border:1px solid transparent;border-radius:999px;background:#cbd5e1;box-shadow:inset 0 0 0 1px rgba(15,23,42,.04);transition:.18s ease}
.switch-lite span::before{content:none!important}
.switch-lite span::after{content:'';position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(15,23,42,.22);transition:.18s ease}
.switch-lite input:checked + span{background:var(--primary, #334155);border-color:var(--primary, #334155)}
.switch-lite input:checked + span::after{transform:translateX(18px)}
.switch-lite input:hover + span{box-shadow:inset 0 0 0 1px rgba(15,23,42,.06),0 0 0 4px rgba(51,65,85,.08)}
.switch-lite input:disabled + span{opacity:.48;cursor:not-allowed}
.module-toggle-list label{border-radius:14px!important}
.module-toggle-list input[type="checkbox"],.module-inline-check input[type="checkbox"]{position:relative;flex:0 0 40px;width:40px!important;min-width:40px!important;height:22px!important;margin:0;appearance:none;border:1px solid transparent;border-radius:999px;background:#cbd5e1;cursor:pointer;transition:.18s ease}
.module-toggle-list input[type="checkbox"]::before,.module-inline-check input[type="checkbox"]::before{content:none!important}
.module-toggle-list input[type="checkbox"]::after,.module-inline-check input[type="checkbox"]::after{content:'';position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(15,23,42,.22);transition:.18s ease}
.module-toggle-list input[type="checkbox"]:checked,.module-inline-check input[type="checkbox"]:checked{background:var(--primary, #334155);border-color:var(--primary, #334155)}
.module-toggle-list input[type="checkbox"]:checked::after,.module-inline-check input[type="checkbox"]:checked::after{transform:translateX(18px)}
.module-toggle-list input[type="checkbox"]:focus-visible,.module-inline-check input[type="checkbox"]:focus-visible,.switch-lite input:focus-visible + span{outline:0;box-shadow:0 0 0 3px rgba(51,65,85,.22),inset 0 0 0 1px rgba(15,23,42,.06)}

.working-hours-list{display:grid;gap:12px}
.working-hours-row{display:grid!important;grid-template-columns:180px repeat(4,minmax(120px,1fr));gap:12px;align-items:end;padding:14px 16px;border:1px solid #d6dfeb;border-radius:14px;background:#fff;box-shadow:0 8px 20px rgba(15,23,42,.04)}
.working-hours-row label{display:grid!important;gap:6px;margin:0;color:#334155;font-weight:800}
.working-hours-row label span{font-size:12px;color:#64748b;font-weight:800}
.working-hours-day{align-self:center;display:flex!important;grid-auto-flow:column;grid-template-columns:auto 1fr;align-items:center;gap:10px;font-size:15px;color:#0f172a!important}
.working-hours-day input{width:18px;height:18px}
.profile-data-action-card{appearance:none;text-align:left;border:1px solid #d6dfeb;background:#fff;cursor:pointer;font:inherit}
.profile-data-action-card:hover{border-color:#94a3b8;box-shadow:0 14px 30px rgba(15,23,42,.08);transform:translateY(-1px)}
.danger-action-card span:first-child{background:#fee2e2;color:#991b1b}

@media (max-width:900px){
    .working-hours-row{grid-template-columns:1fr 1fr}
    .working-hours-day{grid-column:1 / -1}
}
.module-config-nav-group-title{display:none!important}
.module-config-item-modal-content{width:min(760px,calc(100vw - 32px));max-height:calc(100vh - 48px);overflow:auto}
.module-config-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid #e5eaf1}
.module-config-context-menu{position:fixed;z-index:10000;display:none;min-width:150px;padding:6px;border:1px solid #d6dfeb;border-radius:12px;background:#fff;box-shadow:0 18px 44px rgba(15,23,42,.18)}
.module-config-context-menu.show{display:grid}
.module-config-context-menu button{display:flex;align-items:center;gap:8px;width:100%;min-height:36px;padding:8px 10px;border:0;border-radius:9px;background:transparent;color:#b91c1c;font-weight:800;text-align:left;cursor:pointer;box-shadow:none}
.module-config-context-menu button:hover{background:#fee2e2}
@media (max-width:980px){.module-config-layout{grid-template-columns:1fr}.module-config-nav-card{position:static}.module-config-layout > .module-config-nav-card,.module-config-layout > .module-config-panel{grid-column:1;grid-row:auto}}
@media (max-width:720px){.module-config-grid-header{display:grid}.module-config-grid-header .primary-btn{width:100%}}

/* Public website v2 */
.public-site-v2 .public-nav-v2{width:min(1240px,calc(100% - 32px))}
.public-hero-v2{width:min(1240px,calc(100% - 32px));grid-template-columns:minmax(0,1fr) minmax(420px,.86fr);gap:44px;padding-top:96px}
.public-hero-v2 .public-hero-copy h1{max-width:820px;font-size:clamp(44px,6vw,76px)}
.public-trust-strip{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.public-trust-strip span{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid rgba(148,163,184,.34);border-radius:999px;background:rgba(255,255,255,.72);color:#334155;font-size:13px;font-weight:900}
.public-dashboard-preview{min-height:520px}
.preview-dashboard-shell{display:grid;gap:14px;padding:16px}
.preview-kpi-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.preview-kpi-row div,.preview-chart-card,.preview-stream-card{border:1px solid #dbe4ef;border-radius:16px;background:#fff;box-shadow:0 10px 26px rgba(15,23,42,.06)}
.preview-kpi-row div{display:grid;gap:4px;padding:14px}
.preview-kpi-row small,.preview-chart-card small{color:#64748b;font-size:11px;font-weight:900;text-transform:uppercase}
.preview-kpi-row strong{color:#0f172a;font-size:26px}
.preview-kpi-row span{color:#64748b;font-size:12px;font-weight:800}
.preview-chart-card{display:grid;gap:16px;padding:18px}
.preview-chart-bars{display:flex;align-items:end;gap:10px;height:130px;padding:12px;border-radius:14px;background:#f8fafc}
.preview-chart-bars span{flex:1;border-radius:999px 999px 6px 6px;background:linear-gradient(180deg,#334155,#64748b)}
.preview-chart-card strong{display:block;margin-top:6px;color:#172033}
.preview-stream-card{display:grid;gap:8px;padding:16px}
.preview-stream-card p{display:flex;gap:8px;align-items:center;margin:0;color:#475569;font-size:13px;font-weight:800}
.preview-stream-card i{color:#334155}
.public-platform-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding-top:20px}
.public-platform-strip article{padding:18px;border:1px solid rgba(148,163,184,.3);border-radius:16px;background:rgba(255,255,255,.82);box-shadow:0 14px 34px rgba(15,23,42,.06)}
.public-platform-strip strong{display:block;margin-bottom:6px;color:#172033;font-size:18px}
.public-platform-strip span{color:#64748b;line-height:1.5}
.public-snippet-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.public-snippet-card{display:grid;gap:18px;min-height:300px;padding:22px;border:1px solid rgba(148,163,184,.32);border-radius:22px;background:rgba(255,255,255,.88);box-shadow:0 18px 48px rgba(15,23,42,.08)}
.public-snippet-wide{grid-column:1 / -1;grid-template-columns:minmax(280px,.72fr) minmax(0,1fr);align-items:center}
.public-snippet-copy i{display:grid;place-items:center;width:44px;height:44px;margin-bottom:14px;border-radius:13px;background:#f1f5f9;color:#334155}
.public-snippet-copy h3{margin:0 0 9px;color:#0f172a;font-size:24px}
.mini-task-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.mini-task-board div{display:grid;align-content:start;gap:10px;min-height:230px;padding:14px;border:1px solid #dbe4ef;border-radius:16px;background:#f8fafc}
.mini-task-board strong{font-size:13px;color:#475569}
.mini-task-board span{padding:10px;border:1px solid #d6dfeb;border-radius:12px;background:#fff;color:#172033;font-size:13px;font-weight:900}
.mini-task-board .critical{border-color:#fecaca;background:#fff1f2;color:#991b1b}
.mini-task-board .done{background:#ecfdf5;color:#047857}
.mini-calendar-card{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.mini-calendar-day{display:grid;place-items:center;min-height:90px;border:1px solid #dbe4ef;border-radius:14px;background:#f8fafc;color:#334155;font-weight:900}
.mini-calendar-day.active{background:#334155;color:#fff}
.mini-calendar-day.leave{background:#fef3c7;color:#92400e}
.mini-calendar-day.sync{background:#ecfdf5;color:#047857}
.mini-org-chart{display:grid;gap:14px;text-align:center}
.mini-org-chart span,.mini-org-chart small{display:inline-flex;justify-content:center;padding:10px 12px;border:1px solid #dbe4ef;border-radius:12px;background:#fff;color:#172033;font-weight:900}
.mini-org-chart > span{justify-self:center;background:#334155;color:#fff}
.mini-org-chart div{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
.mini-chat-card{display:grid;gap:10px;padding:14px;border:1px solid #dbe4ef;border-radius:16px;background:#f8fafc}
.mini-chat-card p{margin:0;padding:11px;border-radius:14px;background:#fff;color:#334155}
.mini-chat-card .reply{margin-left:28px;background:#334155;color:#fff}
.mini-chat-card span{justify-self:end;color:#64748b;font-size:12px;font-weight:900}
.mini-admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.mini-admin-grid span{display:grid;gap:8px;padding:14px;border:1px solid #dbe4ef;border-radius:14px;background:#f8fafc;color:#475569;font-weight:900}
.mini-admin-grid b{color:#172033;font-size:22px}
.public-feature-grid-v2 article p{line-height:1.55}
.public-governance{padding-bottom:20px}
.public-cta-v2{width:min(1240px,calc(100% - 32px))}
@media (max-width:1040px){.public-hero-v2,.public-snippet-wide{grid-template-columns:1fr}.public-platform-strip,.public-snippet-grid{grid-template-columns:1fr 1fr}.public-dashboard-preview{min-height:auto}}
@media (max-width:760px){.public-hero-v2,.public-cta-v2{width:calc(100% - 24px)}.public-platform-strip,.public-snippet-grid,.mini-task-board,.mini-admin-grid,.preview-kpi-row{grid-template-columns:1fr}.mini-calendar-card{grid-template-columns:repeat(2,minmax(0,1fr))}.public-trust-strip span{width:100%}}

/* Premium Tortal public homepage polish */
.public-site-v2
{
    --public-ink:#0c1220;
    --public-navy:#111827;
    --public-charcoal:#1f2937;
    --public-muted:#667085;
    --public-line:#d7dde8;
    --public-panel:#ffffff;
    --public-wash:#f5f7f3;
    --public-sage:#74856f;
    --public-copper:#a46a43;
    background:
        radial-gradient(circle at 16% 10%, rgba(116,133,111,.18), transparent 28rem),
        radial-gradient(circle at 82% 4%, rgba(164,106,67,.12), transparent 24rem),
        linear-gradient(180deg,#f8f7f2 0%,#eef2f0 48%,#f7f7f4 100%) !important;
    color:var(--public-ink);
}

.public-site-v2::before
{
    opacity:.45;
    background:
        linear-gradient(rgba(17,24,39,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(17,24,39,.035) 1px, transparent 1px);
}

.public-nav-v2
{
    border-color:rgba(17,24,39,.14) !important;
    background:rgba(255,255,252,.84) !important;
    box-shadow:0 18px 48px rgba(17,24,39,.08) !important;
}

.public-brand::before
{
    background:linear-gradient(135deg,#111827,#475569) !important;
    box-shadow:0 12px 24px rgba(17,24,39,.22) !important;
}

.public-nav-v2 nav a:not(.primary-btn):hover
{
    background:#eef1ec !important;
    color:#111827 !important;
}

.public-site-v2 .primary-btn
{
    border-color:#111827 !important;
    background:linear-gradient(135deg,#111827,#2f3b4f) !important;
    color:#ffffff !important;
    box-shadow:0 14px 28px rgba(17,24,39,.2) !important;
}

.public-site-v2 .secondary-btn
{
    border-color:rgba(17,24,39,.18) !important;
    background:rgba(255,255,255,.82) !important;
    color:#111827 !important;
}

.public-site-v2 .primary-btn:hover,
.public-site-v2 .secondary-btn:hover
{
    transform:translateY(-1px);
    box-shadow:0 18px 34px rgba(17,24,39,.16) !important;
}

.public-site-v2 a:focus-visible,
.public-site-v2 button:focus-visible
{
    outline:3px solid rgba(116,133,111,.34) !important;
    outline-offset:3px;
}

.public-site-v2 .public-kicker
{
    border-color:rgba(116,133,111,.26) !important;
    background:rgba(245,247,243,.78) !important;
    color:#435044 !important;
}

.public-hero-v2
{
    min-height:700px;
    align-items:center;
}

.public-hero-v2::after
{
    background:rgba(116,133,111,.16) !important;
}

.public-hero-v2 .public-hero-copy h1
{
    color:#0c1220;
    letter-spacing:-.02em;
}

.public-hero-v2 .public-hero-copy p
{
    color:#4b5563;
    font-size:19px;
}

.public-trust-strip span,
.public-positioning-strip span,
.public-platform-strip article,
.public-snippet-card,
.public-card-grid article,
.public-workspace-grid article,
.public-steps article,
.public-credibility-grid span,
.public-operations-grid article,
.public-use-case-grid article
{
    border-color:rgba(17,24,39,.13) !important;
    background:rgba(255,255,252,.82) !important;
    box-shadow:0 18px 44px rgba(17,24,39,.07) !important;
}

.public-positioning-strip
{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
    padding-top:10px;
}

.public-positioning-strip span
{
    display:flex;
    align-items:center;
    min-height:58px;
    padding:14px 16px;
    border:1px solid;
    border-radius:16px;
    color:#354052;
    font-weight:900;
}

.public-dashboard-preview
{
    border-color:rgba(17,24,39,.16) !important;
    background:linear-gradient(180deg,rgba(255,255,252,.96),rgba(245,247,243,.94)) !important;
    box-shadow:0 34px 90px rgba(17,24,39,.18) !important;
}

.preview-topbar strong,
.preview-kpi-row strong,
.preview-chart-card strong,
.public-section-heading h2,
.public-card-grid h3,
.public-workspace-grid h3,
.public-steps h3,
.public-snippet-copy h3
{
    color:#111827 !important;
}

.preview-chart-bars span
{
    background:linear-gradient(180deg,#111827,#74856f) !important;
}

.preview-people-card,
.preview-profile-status
{
    display:flex;
    align-items:center;
    gap:10px;
    padding:14px;
    border:1px solid #d7dde8;
    border-radius:16px;
    background:#fff;
    box-shadow:0 10px 26px rgba(17,24,39,.06);
}

.preview-people-card div,
.preview-profile-status
{
    flex:1;
}

.preview-people-card small,
.preview-profile-status small
{
    display:block;
    color:#667085;
    font-size:11px;
    font-weight:900;
    text-transform:uppercase;
}

.preview-people-card strong,
.preview-profile-status strong
{
    display:block;
    color:#111827;
}

.preview-people-card span
{
    display:grid;
    place-items:center;
    width:32px;
    height:32px;
    border-radius:999px;
    background:#eef1ec;
    color:#354052;
    font-size:12px;
    font-weight:900;
}

.preview-profile-status
{
    display:grid;
    gap:4px;
}

.preview-profile-status p
{
    margin:0;
    color:#667085;
    font-size:13px;
    font-weight:700;
}

.public-operations-grid,
.public-use-case-grid
{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
}

.public-operations-grid article,
.public-use-case-grid article
{
    padding:22px;
    border:1px solid;
    border-radius:20px;
}

.public-operations-grid i
{
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    margin-bottom:14px;
    border-radius:13px;
    background:#eef1ec;
    color:#435044;
}

.public-operations-grid strong,
.public-use-case-grid h3
{
    display:block;
    margin-bottom:8px;
    color:#111827;
    font-size:20px;
}

.public-operations-grid span,
.public-use-case-grid p
{
    color:#667085;
    line-height:1.58;
}

.public-use-case-grid article > span
{
    display:inline-flex;
    margin-bottom:16px;
    color:#a46a43;
    font-size:12px;
    font-weight:900;
    letter-spacing:.08em;
}

.public-card-grid article,
.public-snippet-card,
.public-workspace-grid article,
.public-steps article
{
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.public-card-grid article:hover,
.public-snippet-card:hover,
.public-workspace-grid article:hover,
.public-steps article:hover
{
    transform:translateY(-3px);
    border-color:rgba(17,24,39,.22) !important;
    box-shadow:0 24px 60px rgba(17,24,39,.1) !important;
}

.public-card-grid article i,
.public-snippet-copy i,
.public-steps span
{
    background:#eef1ec !important;
    color:#435044 !important;
}

.mini-task-board .critical
{
    border-color:#ead7c7 !important;
    background:#fbf4ee !important;
    color:#8a4f2d !important;
}

.mini-calendar-day.active,
.mini-chat-card .reply,
.mini-org-chart > span
{
    background:#111827 !important;
    color:#fff !important;
}

.public-workspace-grid li::before
{
    background:#74856f !important;
}

.public-credibility-grid i
{
    color:#74856f !important;
}

.public-cta-v2
{
    border-color:rgba(17,24,39,.16) !important;
    background:
        radial-gradient(circle at 92% 10%, rgba(116,133,111,.22), transparent 20rem),
        linear-gradient(135deg,#ffffff,#eef1ec) !important;
    box-shadow:0 26px 70px rgba(17,24,39,.12) !important;
}

@media (max-width:1040px)
{
    .public-positioning-strip,
    .public-operations-grid,
    .public-use-case-grid
    {
        grid-template-columns:1fr 1fr;
    }
}

@media (max-width:760px)
{
    .public-hero-v2
    {
        min-height:auto;
        padding-top:48px;
    }

    .public-positioning-strip,
    .public-operations-grid,
    .public-use-case-grid
    {
        grid-template-columns:1fr;
    }

    .preview-people-card
    {
        flex-wrap:wrap;
    }
}

/* Enterprise manager approvals centre */
.approval-centre{display:grid;gap:18px;max-width:1680px;margin:0 auto}.approval-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.approval-hero h1{margin:4px 0 4px;color:#172033;font-size:36px;letter-spacing:0}.approval-hero-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.approval-hero-actions .secondary-btn,.approval-bulk-bar .secondary-btn,.approval-row-actions .approval-mini,.approval-drawer-actions .secondary-btn,.approval-drawer-actions .primary-btn,.approval-modal-actions .secondary-btn,.approval-modal-actions .primary-btn{width:auto}.approval-banner{display:flex;align-items:center;gap:10px;padding:13px 15px;border:1px solid #cbd5e1;border-radius:14px;background:#f8fafc;color:#334155;box-shadow:0 10px 24px rgba(15,23,42,.05)}.approval-banner.warning{border-color:#fde68a;background:#fffbeb;color:#92400e}.approval-banner form{margin-left:auto}.approval-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.approval-summary-grid article{padding:16px;border:1px solid #dbe3ee;border-radius:16px;background:#fff;box-shadow:0 12px 28px rgba(15,23,42,.05)}.approval-summary-grid span{display:block;color:#64748b;font-size:12px;font-weight:900;text-transform:uppercase}.approval-summary-grid strong{display:block;margin-top:8px;color:#172033;font-size:30px;line-height:1}.approval-workbench{display:grid;gap:14px;padding:16px;border:1px solid #dbe3ee;border-radius:18px;background:#fff;box-shadow:0 16px 42px rgba(15,23,42,.07)}.approval-tabs.settings-tab-bar{display:flex;flex-wrap:wrap;gap:8px;padding:8px;border:1px solid #dbe3ee;border-radius:15px;background:#f8fafc}.approval-tabs button{display:inline-flex;align-items:center;gap:8px;width:auto;min-height:36px;padding:8px 11px;border:1px solid transparent;border-radius:11px;background:transparent;color:#475569;font-size:13px;font-weight:900}.approval-tabs button.active{background:#334155;color:#fff;box-shadow:0 10px 20px rgba(15,23,42,.16)}.approval-tabs button span{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:rgba(100,116,139,.14);font-size:11px}.approval-tabs button.active span{background:rgba(255,255,255,.2);color:#fff}.approval-filter-bar{display:grid;grid-template-columns:minmax(260px,1.3fr) 160px 150px minmax(160px,.8fr) 140px 140px 140px auto auto auto;gap:9px;align-items:center}.approval-search{display:flex;align-items:center;gap:9px;min-height:42px;padding:0 12px;border:1px solid #d6dfeb;border-radius:12px;background:#fff;color:#64748b}.approval-search input{width:100%;border:0;background:transparent;outline:0}.approval-filter-bar select,.approval-filter-bar input[type="date"],.approval-filter-bar input[type="text"],.approval-delegation-form select,.approval-delegation-form input,.approval-delegation-form textarea,.approval-decision-form textarea{min-height:42px;padding:10px 12px;border:1px solid #d6dfeb;border-radius:12px;background:#fff;color:#172033}.approval-toggle-filter{display:flex;align-items:center;gap:8px;color:#475569;font-size:13px;font-weight:800}.approval-bulk-bar{display:flex;align-items:center;gap:8px;min-height:46px;padding:9px 12px;border:1px solid #dbe3ee;border-radius:13px;background:#f8fafc}.approval-bulk-bar span{margin-right:auto;color:#475569;font-size:13px}.approval-queue-card{border:1px solid #dbe3ee;border-radius:16px;overflow:hidden;background:#fff}.approval-queue-head,.approval-row{display:grid;grid-template-columns:42px minmax(210px,1.2fr) minmax(180px,1fr) 150px 160px 120px 110px 190px;gap:12px;align-items:center}.approval-queue-head{padding:10px 14px;background:#f8fafc;color:#64748b;font-size:12px;font-weight:900;text-transform:uppercase;border-bottom:1px solid #e2e8f0}.approval-queue{display:grid}.approval-row{min-height:76px;padding:12px 14px;border-bottom:1px solid #e2e8f0;cursor:pointer;transition:background .16s ease,box-shadow .16s ease}.approval-row:hover,.approval-row:focus{background:#f8fafc;outline:none;box-shadow:inset 3px 0 0 #334155}.approval-row[hidden]{display:none}.approval-select-cell{display:grid;place-items:center}.approval-person{display:flex;align-items:center;gap:10px;padding:0;border:0;background:transparent;color:#172033;text-align:left}.approval-avatar{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:12px;background:#334155;color:#fff;font-size:12px;font-weight:900;overflow:hidden}.approval-avatar img{width:100%;height:100%;object-fit:cover}.approval-person strong,.approval-request-cell strong{display:block;color:#172033;font-size:14px}.approval-person small,.approval-request-cell small,.approval-row div span{display:block;color:#64748b;font-size:12px;line-height:1.35}.approval-status,.approval-sla{display:inline-flex!important;align-items:center;justify-content:center;width:max-content;min-height:26px;padding:5px 9px;border-radius:999px;font-size:11px!important;font-weight:900}.approval-status.pending{background:#eef2f7;color:#334155}.approval-status.approved{background:#ecfdf3;color:#166534}.approval-status.rejected{background:#fff1f2;color:#be123c}.approval-status.more-info-requested{background:#fef3c7;color:#92400e}.approval-sla.is-overdue{background:#fff1f2;color:#be123c}.approval-sla.is-due{background:#fffbeb;color:#92400e}.approval-sla.is-calm{background:#eef2f7;color:#475569}.approval-row-actions{display:flex;flex-wrap:wrap;gap:6px}.approval-row-actions form{display:inline}.approval-mini{min-height:30px;padding:6px 9px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;color:#334155;font-size:12px;font-weight:900}.approval-mini.dark{border-color:#334155;background:#334155;color:#fff}.approval-mini.ghost:hover{background:#f1f5f9}.approval-empty-state{display:grid;place-items:center;gap:8px;padding:42px 20px;color:#64748b;text-align:center}.approval-empty-state i{color:#334155;font-size:30px}.approval-empty-state h2{margin:0;color:#172033}.approval-empty-state p{margin:0}.approval-detail-drawer{position:fixed;top:0;right:0;z-index:9998;display:grid;grid-template-rows:auto minmax(0,1fr);width:min(520px,100vw);height:100vh;transform:translateX(105%);border-left:1px solid #d6dfeb;background:#fff;box-shadow:-24px 0 60px rgba(15,23,42,.18);transition:transform .2s ease}.approval-detail-drawer.open{transform:translateX(0)}.approval-drawer-header{display:flex;justify-content:space-between;gap:14px;padding:20px;border-bottom:1px solid #e2e8f0;background:#fff}.approval-drawer-header h2{margin:4px 0;color:#172033}.approval-drawer-header p{margin:0;color:#64748b}.approval-drawer-body{display:grid;align-content:start;gap:18px;padding:18px;overflow:auto;background:#f8fafc}.approval-drawer-body section,.approval-drawer-grid div{padding:14px;border:1px solid #dbe3ee;border-radius:14px;background:#fff}.approval-drawer-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.approval-drawer-grid small{display:block;color:#64748b;font-size:11px;font-weight:900;text-transform:uppercase}.approval-drawer-grid strong{display:block;margin-top:5px;color:#172033;font-size:13px}.approval-drawer-body h3{margin:0 0 10px;color:#172033;font-size:16px}.approval-decision-form{display:grid;gap:10px}.approval-drawer-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.approval-timeline{display:grid;gap:10px}.approval-timeline div{position:relative;padding-left:22px}.approval-timeline span{position:absolute;left:0;top:4px;width:10px;height:10px;border-radius:999px;background:#334155}.approval-timeline strong{display:block;color:#172033;text-transform:capitalize}.approval-timeline p,.approval-timeline small{display:block;margin:2px 0 0;color:#64748b}.approval-modal{align-items:flex-start;padding:28px 16px;overflow:auto}.approval-modal-content{width:min(720px,calc(100vw - 32px));max-width:720px;border-radius:18px;background:#fff}.approval-delegation-form{display:grid;gap:14px;padding:18px}.approval-delegation-form label{display:grid;gap:7px;color:#172033;font-size:13px;font-weight:900}.approval-delegation-form fieldset{display:grid;gap:10px;margin:0;padding:14px;border:1px solid #dbe3ee;border-radius:14px;background:#f8fafc}.approval-delegation-form legend{padding:0 6px;color:#172033;font-weight:900}.approval-delegation-dates{display:grid;grid-template-columns:1fr 1fr;gap:12px}.approval-type-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.approval-type-options label,.approval-radio{display:flex!important;align-items:center;gap:8px;font-weight:800}.approval-modal-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:6px}.approval-decision-form .primary-btn,.approval-modal-actions .primary-btn,.approval-hero-actions .secondary-btn,.approval-bulk-bar .secondary-btn{background:#334155;border-color:#334155;color:#fff}.approval-decision-form .danger-action,.approval-bulk-bar .danger-action{border-color:#fecdd3;background:#fff;color:#be123c}.theme-dark .approval-workbench,.theme-dark .approval-summary-grid article,.theme-dark .approval-queue-card,.theme-dark .approval-row,.theme-dark .approval-detail-drawer,.theme-dark .approval-drawer-header,.theme-dark .approval-drawer-body section,.theme-dark .approval-drawer-grid div,.theme-dark .approval-modal-content{background:#111827;border-color:#334155}.theme-dark .approval-filter-bar select,.theme-dark .approval-filter-bar input,.theme-dark .approval-search,.theme-dark .approval-delegation-form select,.theme-dark .approval-delegation-form input,.theme-dark .approval-delegation-form textarea,.theme-dark .approval-decision-form textarea{background:#0f172a;border-color:#334155;color:#f8fafc}.theme-dark .approval-queue-head,.theme-dark .approval-tabs.settings-tab-bar,.theme-dark .approval-bulk-bar,.theme-dark .approval-drawer-body,.theme-dark .approval-delegation-form fieldset{background:#0f172a;border-color:#334155}@media (max-width:1300px){.approval-filter-bar{grid-template-columns:1fr 1fr 1fr}.approval-queue-head,.approval-row{grid-template-columns:36px minmax(190px,1fr) minmax(160px,1fr) 120px 120px 100px}.approval-queue-head span:nth-child(5),.approval-queue-head span:nth-child(8),.approval-row>div:nth-of-type(3),.approval-row-actions{display:none}}@media (max-width:900px){.approval-hero{display:grid}.approval-hero-actions{justify-content:flex-start}.approval-summary-grid{grid-template-columns:1fr 1fr}.approval-filter-bar,.approval-delegation-dates,.approval-type-options,.approval-drawer-grid{grid-template-columns:1fr}.approval-queue-head{display:none}.approval-row{grid-template-columns:auto 1fr;align-items:start}.approval-row>div,.approval-row-actions{grid-column:2}.approval-row-actions{display:flex}.approval-detail-drawer{width:100vw}}@media (max-width:560px){.approval-summary-grid{grid-template-columns:1fr}.approval-bulk-bar{display:grid}.approval-row{padding:12px}.approval-hero h1{font-size:30px}}

/* Enterprise mail centre */
.mail-centre{display:grid;gap:18px;max-width:1760px;margin:0 auto}.mail-centre-header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.mail-centre-header h1{margin:4px 0;color:#172033;font-size:36px}.mail-header-actions{display:flex;gap:10px;flex-wrap:wrap}.mail-header-actions .primary-btn,.mail-header-actions .secondary-btn{width:auto}.mail-status-banner{display:flex;align-items:center;gap:10px;padding:13px 15px;border:1px solid #dbe3ee;border-radius:14px;background:#f8fafc;color:#334155;box-shadow:0 10px 24px rgba(15,23,42,.05)}.mail-status-banner a{margin-left:auto;color:#334155;font-weight:900}.mail-workspace{display:grid;grid-template-columns:240px minmax(360px,.9fr) minmax(480px,1.2fr);gap:14px;min-height:760px}.mail-folder-panel,.mail-message-panel,.mail-reading-pane{border:1px solid #dbe3ee;border-radius:18px;background:#fff;box-shadow:0 16px 42px rgba(15,23,42,.07);overflow:hidden}.mail-folder-panel{display:grid;align-content:start;gap:14px;padding:14px;background:#f8fafc}.mail-compose-button{display:flex;align-items:center;justify-content:center;gap:9px;min-height:44px;border:1px solid #334155;border-radius:13px;background:#334155;color:#fff;font-weight:900}.mail-folder-list,.mail-folder-section{display:grid;gap:6px}.mail-folder-list button,.mail-folder-section button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:38px;padding:8px 10px;border:1px solid transparent;border-radius:11px;background:transparent;color:#475569;font-weight:800;text-align:left}.mail-folder-list button span,.mail-folder-section button{display:flex;align-items:center;gap:9px}.mail-folder-list button.active,.mail-folder-list button:hover,.mail-folder-section button:hover{background:#fff;border-color:#dbe3ee;color:#172033}.mail-folder-list strong,.mail-folder-section strong{margin-left:auto;color:#64748b;font-size:12px}.mail-folder-section{padding-top:12px;border-top:1px solid #e2e8f0}.mail-folder-section h3{margin:0 0 4px;color:#64748b;font-size:12px;font-weight:900;text-transform:uppercase}.mail-label-chip{display:inline-flex;width:max-content;margin:2px 4px 2px 0;padding:5px 8px;border-radius:999px;background:#eef2f7;color:#475569;font-size:12px;font-weight:900}.mail-message-panel{display:grid;grid-template-rows:auto auto auto minmax(0,1fr)}.mail-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) 150px;gap:9px;padding:12px;border-bottom:1px solid #e2e8f0}.mail-search{display:flex;align-items:center;gap:9px;min-height:42px;padding:0 12px;border:1px solid #d6dfeb;border-radius:12px;background:#fff;color:#64748b}.mail-search input{width:100%;border:0;background:transparent;outline:0}.mail-toolbar select,.mail-filter-row input{min-height:42px;padding:8px 10px;border:1px solid #d6dfeb;border-radius:12px;background:#fff;color:#172033}.mail-filter-row,.mail-bulk-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:10px 12px;border-bottom:1px solid #e2e8f0;background:#f8fafc}.mail-filter-row button,.mail-bulk-actions button{width:auto;min-height:32px;padding:6px 9px;border:1px solid #cbd5e1;border-radius:999px;background:#fff;color:#334155;font-size:12px;font-weight:900}.mail-filter-row button.active{background:#334155;color:#fff;border-color:#334155}.mail-bulk-actions label{display:flex;align-items:center;gap:6px;margin-right:auto;color:#475569;font-size:12px;font-weight:900}.mail-message-list{display:grid;align-content:start;overflow:auto}.mail-message-card{display:grid;grid-template-columns:auto 38px minmax(0,1fr) auto;gap:10px;padding:13px;border-bottom:1px solid #e2e8f0;color:#172033;text-decoration:none;transition:background .16s ease,box-shadow .16s ease}.mail-message-card:hover,.mail-message-card.active{background:#f8fafc;box-shadow:inset 3px 0 0 #334155}.mail-message-card.unread .mail-card-subject,.mail-message-card.unread .mail-card-top strong{font-weight:950;color:#0f172a}.mail-card-select{display:grid;place-items:start;padding-top:8px}.mail-avatar{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:12px;background:#334155;color:#fff;font-size:13px;font-weight:900;flex:0 0 auto}.mail-card-main{display:grid;gap:3px;min-width:0}.mail-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.mail-card-top strong,.mail-card-subject{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mail-card-top time,.mail-card-email,.mail-card-snippet{color:#64748b;font-size:12px}.mail-card-snippet{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mail-card-labels{display:flex;gap:5px;flex-wrap:wrap}.mail-card-labels em{padding:3px 7px;border-radius:999px;background:#eef2f7;color:#475569;font-size:11px;font-style:normal;font-weight:900}.mail-card-icons{display:grid;align-content:start;gap:6px;color:#64748b;font-size:11px}.mail-card-icons .fa-circle{color:#334155;font-size:8px}.mail-reading-pane{display:grid;align-content:start;gap:14px;padding:16px;overflow:auto}.mail-reading-header{display:flex;justify-content:space-between;gap:14px;padding-bottom:14px;border-bottom:1px solid #e2e8f0}.mail-reading-header h2{margin:8px 0 6px;color:#172033;font-size:26px}.mail-reading-header p{margin:0;color:#64748b}.mail-priority{display:inline-flex;padding:5px 8px;border-radius:999px;background:#eef2f7;color:#475569;font-size:11px;font-weight:900;text-transform:uppercase}.mail-priority.high{background:#fff1f2;color:#be123c}.mail-priority.low{background:#ecfdf3;color:#166534}.mail-icon-button{display:grid;place-items:center;width:40px;height:40px;border:1px solid #dbe3ee;border-radius:12px;background:#fff;color:#334155}.mail-reading-meta{display:flex;align-items:center;gap:10px}.mail-reading-meta div{display:grid}.mail-reading-meta small,.mail-reading-meta time{color:#64748b}.mail-reading-meta time{margin-left:auto;font-size:12px}.mail-action-strip{display:flex;flex-wrap:wrap;gap:8px}.mail-action-strip button{width:auto;min-height:34px;padding:7px 10px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;color:#334155;font-size:12px;font-weight:900}.mail-header-details,.mail-attachments,.mail-body-card,.mail-inline-composer{padding:14px;border:1px solid #dbe3ee;border-radius:15px;background:#fff}.mail-header-details summary{cursor:pointer;color:#334155;font-weight:900}.mail-header-details dl{display:grid;gap:8px;margin:12px 0 0}.mail-header-details div{display:grid;grid-template-columns:80px 1fr;gap:8px}.mail-header-details dt{color:#64748b;font-weight:900}.mail-header-details dd{margin:0;color:#172033}.mail-attachments{display:grid;gap:9px}.mail-attachments button{display:flex;justify-content:space-between;gap:10px;min-height:38px;padding:8px 10px;border:1px solid #dbe3ee;border-radius:11px;background:#f8fafc;color:#334155;font-weight:900}.mail-body-card{max-width:860px;color:#172033;line-height:1.72;white-space:normal}.mail-format-toolbar{display:flex;flex-wrap:wrap;gap:6px;padding:8px;border:1px solid #dbe3ee;border-radius:12px;background:#f8fafc}.mail-format-toolbar button{width:32px;height:32px;min-height:32px;padding:0;border:1px solid #cbd5e1;border-radius:9px;background:#fff;color:#334155}.mail-rich-editor{min-height:180px;padding:14px;border:1px solid #d6dfeb;border-radius:13px;background:#fff;color:#172033;line-height:1.6}.mail-composer-actions{display:flex;justify-content:flex-end;gap:8px}.mail-composer-actions .primary-btn,.mail-composer-actions .secondary-btn{width:auto}.mail-compose-modal{align-items:flex-start;padding:28px 16px;overflow:auto}.mail-compose-modal.minimised .mail-compose-content{transform:translateY(calc(100vh - 120px))}.mail-compose-content{width:min(860px,calc(100vw - 32px));max-width:860px;border-radius:18px;background:#fff;transition:transform .2s ease}.mail-compose-content form{display:grid;gap:12px;padding:16px}.mail-compose-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.mail-compose-grid label{display:grid;gap:6px;color:#172033;font-size:13px;font-weight:900}.mail-compose-grid .full{grid-column:1/-1}.mail-compose-grid input{min-height:42px;padding:10px 12px;border:1px solid #d6dfeb;border-radius:12px;background:#fff;color:#172033}.mail-upload-zone{display:flex;align-items:center;gap:10px;padding:12px;border:1px dashed #94a3b8;border-radius:13px;background:#f8fafc;color:#334155;font-weight:900}.mail-upload-zone input{position:absolute;opacity:0;pointer-events:none}.mail-settings-panel{position:fixed;top:0;right:0;z-index:9998;display:grid;grid-template-rows:auto minmax(0,1fr);width:min(420px,100vw);height:100vh;transform:translateX(105%);border-left:1px solid #d6dfeb;background:#fff;box-shadow:-24px 0 60px rgba(15,23,42,.18);transition:transform .2s ease}.mail-settings-panel.open{transform:translateX(0)}.mail-settings-header{display:flex;justify-content:space-between;gap:12px;padding:18px;border-bottom:1px solid #e2e8f0}.mail-settings-header h2{margin:3px 0;color:#172033}.mail-settings-header p{margin:0;color:#64748b}.mail-settings-sections{display:grid;align-content:start;gap:8px;padding:16px;background:#f8fafc;overflow:auto}.mail-settings-sections a{display:flex;align-items:center;gap:9px;padding:12px;border:1px solid #dbe3ee;border-radius:12px;background:#fff;color:#334155;text-decoration:none;font-weight:900}.mail-empty-state{display:grid;place-items:center;align-content:center;gap:8px;min-height:240px;padding:28px;color:#64748b;text-align:center}.mail-empty-state i{color:#334155;font-size:32px}.mail-empty-state h2{margin:0;color:#172033}.mail-skeleton{display:grid;gap:10px;padding:12px}.mail-skeleton span{height:68px;border-radius:14px;background:linear-gradient(90deg,#eef2f7,#f8fafc,#eef2f7);background-size:200% 100%;animation:mailSkeleton 1.3s infinite}@keyframes mailSkeleton{to{background-position:-200% 0}}@media (max-width:1280px){.mail-workspace{grid-template-columns:220px minmax(320px,1fr)}.mail-reading-pane{grid-column:1/-1}}@media (max-width:860px){.mail-centre-header{display:grid}.mail-workspace{grid-template-columns:1fr}.mail-folder-panel{position:static}.mail-toolbar,.mail-compose-grid{grid-template-columns:1fr}.mail-reading-meta{align-items:flex-start}.mail-reading-meta time{margin-left:0}.mail-action-strip button{flex:1 1 auto}}

/* Enterprise calendar refresh */
.calendar-page-topbar{align-items:flex-start}.calendar-layout{grid-template-columns:300px minmax(0,1fr)!important;align-items:start;gap:22px!important}.calendar-sidebar{position:sticky;top:16px;display:grid;gap:16px;padding:18px!important;border-color:#d6dfeb!important;border-radius:18px!important;box-shadow:0 16px 42px rgba(15,23,42,.07)!important}.calendar-sidebar-header{margin:0!important}.calendar-sidebar-header small,.calendar-side-meta span,.calendar-upcoming-header small{color:#64748b;font-size:12px;font-weight:800}.calendar-sidebar-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.calendar-sidebar-actions button,.calendar-quick-filters button{width:auto}.calendar-side-meta{display:grid;gap:7px;padding:12px;border:1px solid #dbe3ee;border-radius:13px;background:#f8fafc}.calendar-side-meta span{display:flex;align-items:center;gap:8px}.calendar-quick-filters{display:flex;flex-wrap:wrap;gap:7px}.calendar-quick-filters button,.calendar-view-switcher button{min-height:32px;padding:7px 10px;border:1px solid #d6dfeb;border-radius:999px;background:#fff;color:#475569;font-size:12px;font-weight:900;cursor:pointer;box-shadow:none}.calendar-quick-filters button.active,.calendar-view-switcher button.active{border-color:#334155;background:#334155;color:#fff}.calendar-group-heading{color:#64748b;font-size:12px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.calendar-picker{gap:8px!important;margin:0!important}.calendar-picker label{min-height:42px;padding:9px;border:1px solid transparent;border-radius:12px;background:#f8fafc;transition:background .18s ease,border-color .18s ease}.calendar-picker label:hover{border-color:#d6dfeb;background:#fff}.calendar-picker input[type="checkbox"]{accent-color:#334155}.calendar-picker small{grid-column:3;color:#64748b;font-size:11px;font-weight:800}.calendar-upcoming-panel{display:grid;gap:12px;padding-top:4px;border-top:1px solid #e2e8f0}.calendar-upcoming-header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.calendar-upcoming-header h3{margin:0 0 3px!important}.calendar-upcoming-panel.is-collapsed #upcomingEvents{display:none}.calendar-empty-state{display:grid;place-items:center;gap:8px;min-height:180px;padding:20px;border:1px dashed #cbd5e1;border-radius:14px;background:#f8fafc;color:#64748b;text-align:center}.calendar-empty-state i{color:#334155;font-size:28px}.calendar-empty-state strong{color:#172033}.calendar-empty-state div{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.calendar-agenda-card{display:grid;gap:4px;width:100%;padding:11px;border:1px solid #dbe3ee;border-radius:13px;background:#fff;color:#172033;text-align:left;cursor:pointer;box-shadow:none}.calendar-agenda-card:hover{background:#f8fafc}.calendar-agenda-time{color:#64748b;font-size:11px;font-weight:900;text-transform:uppercase}.calendar-agenda-card small{color:#64748b;font-weight:800}.calendar-shell-card{display:grid;gap:14px;padding:18px!important;border-color:#d6dfeb!important;border-radius:18px!important;box-shadow:0 16px 42px rgba(15,23,42,.07)!important}.calendar-command-bar{display:grid;grid-template-columns:minmax(260px,auto) minmax(220px,1fr) minmax(360px,auto);gap:16px;align-items:center}.calendar-command-left,.calendar-command-right,.calendar-nav-buttons{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.calendar-command-title{text-align:center}.calendar-command-title span{display:block;color:#64748b;font-size:12px;font-weight:900;text-transform:uppercase}.calendar-command-title strong{color:#172033;font-size:22px}.calendar-view-switcher{display:flex;flex-wrap:wrap;gap:6px;padding:5px;border:1px solid #d6dfeb;border-radius:999px;background:#f8fafc}.calendar-filter-bar{display:grid;grid-template-columns:minmax(260px,1fr) 170px auto auto;gap:10px;align-items:center}.calendar-search-box{display:flex;align-items:center;gap:10px;min-height:42px;padding:0 13px;border:1px solid #d6dfeb;border-radius:12px;background:#fff;color:#64748b}.calendar-search-box input{width:100%;border:0;background:transparent;outline:0}.calendar-filter-bar select{min-height:42px;border:1px solid #d6dfeb;border-radius:12px;background:#fff;color:#172033}.calendar-active-context{display:flex;flex-wrap:wrap;gap:8px}.calendar-active-context span{display:inline-flex;align-items:center;min-height:28px;padding:5px 9px;border-radius:999px;background:#eef2f7;color:#475569;font-size:12px;font-weight:900}#calendar{min-height:720px;padding:8px;border:1px solid #d6dfeb;border-radius:16px;background:#fff}#calendar .fc-theme-standard td,#calendar .fc-theme-standard th,#calendar.fc-theme-standard td,#calendar.fc-theme-standard th{border-color:#e2e8f0}#calendar .fc-col-header-cell{background:#f8fafc;color:#64748b;font-size:12px;font-weight:900;text-transform:uppercase}#calendar .fc-daygrid-day{transition:background .16s ease}#calendar .fc-daygrid-day:hover{background:#f8fafc}#calendar .fc-day-today{background:#eef2f7!important}#calendar .fc-day-sat,#calendar .fc-day-sun{background:rgba(248,250,252,.65)}#calendar .fc-daygrid-day-number{padding:8px;color:#334155;font-weight:800}#calendar .fc-event{border:0;border-radius:999px;padding:2px 7px;font-weight:800;box-shadow:0 3px 10px rgba(15,23,42,.08)}#calendar .fc-list{border-radius:14px;overflow:hidden}.calendar-detail-drawer{position:fixed;top:0;right:0;z-index:9998;display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(420px,100vw);height:100vh;transform:translateX(105%);border-left:1px solid #d6dfeb;background:#fff;box-shadow:-24px 0 60px rgba(15,23,42,.18);transition:transform .2s ease}.calendar-detail-drawer.open{transform:translateX(0)}.calendar-detail-header,.calendar-detail-actions{padding:18px;border-bottom:1px solid #e2e8f0}.calendar-detail-header{display:flex;justify-content:space-between;gap:12px}.calendar-detail-header h2{margin:3px 0;color:#172033}.calendar-detail-header p{margin:0;color:#64748b}.calendar-detail-body,.calendar-settings-list{display:grid;align-content:start;gap:14px;padding:18px;overflow:auto}.calendar-detail-status-row{display:flex;flex-wrap:wrap;gap:8px}.calendar-detail-status-row span{padding:6px 9px;border-radius:999px;background:#eef2f7;color:#334155;font-size:12px;font-weight:900}.calendar-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.calendar-detail-grid div,.calendar-conflict-card,.calendar-settings-list label{padding:12px;border:1px solid #dbe3ee;border-radius:13px;background:#f8fafc}.calendar-detail-grid small,.calendar-settings-list span{display:block;color:#64748b;font-size:12px;font-weight:900;text-transform:uppercase}.calendar-detail-grid strong{color:#172033}.calendar-conflict-card{display:flex;gap:10px;align-items:center;color:#92400e;background:#fffbeb}.calendar-detail-actions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid #e2e8f0;border-bottom:0}.calendar-settings-list label{display:grid;gap:8px}@media (max-width:1180px){.calendar-command-bar,.calendar-filter-bar{grid-template-columns:1fr}.calendar-command-title{text-align:left}}@media (max-width:900px){.calendar-layout{grid-template-columns:1fr!important}.calendar-sidebar{position:static}}@media (max-width:640px){.calendar-view-switcher{border-radius:14px}.calendar-view-switcher button,.calendar-command-left>button,.calendar-filter-bar .secondary-btn{flex:1 1 auto}#calendar{min-height:560px}}

/* Site-wide enterprise theme consistency */
:root{--primary:#334155!important;--primary-hover:#1f2937!important;--color-primary:#334155!important;--color-primary-dark:#1f2937!important;--accent:#0f766e!important}.primary-btn,.btn-primary,button.primary,a.primary-btn,input[type="submit"].primary-btn{background:#334155!important;border-color:#334155!important;color:#fff!important;box-shadow:0 10px 24px rgba(15,23,42,.14)!important}.primary-btn:hover,.btn-primary:hover,button.primary:hover,a.primary-btn:hover,input[type="submit"].primary-btn:hover{background:#1f2937!important;border-color:#1f2937!important}.profile-tab.active,.account-settings-tabs .profile-tab.active,.settings-tab-bar .active,.task-filter-chip.active,.workspace-tabs .tab.active{background:#334155!important;border-color:#334155!important;color:#fff!important}.status-pill,.task-filter-count,.task-selected-count,.table-grid-toolbar .task-filter-count{background:#eef2f7!important;color:#475569!important}.link-button,a:not(.primary-btn):not(.btn-small):not(.tab):not(.mail-message-card){color:#334155}.sidebar .active,.nav-item.active,.menu-item.active{background:#334155!important;color:#fff!important}

/* Mail enterprise layout refinements */
.mail-centre.mail-centre-wide{width:100%;max-width:none;margin:0;gap:20px}.mail-centre.mail-centre-wide .mail-centre-header{padding-right:2px}.mail-centre.mail-centre-wide .mail-workspace{grid-template-columns:minmax(220px,260px) minmax(460px,.95fr) minmax(640px,1.35fr);gap:18px;min-height:calc(100vh - 190px);align-items:stretch}.mail-centre.mail-centre-wide .mail-folder-panel,.mail-centre.mail-centre-wide .mail-message-panel,.mail-centre.mail-centre-wide .mail-reading-pane{border-radius:18px;border-color:#d6dfeb;box-shadow:0 16px 42px rgba(15,23,42,.07)}.mail-centre.mail-centre-wide .mail-message-panel{min-width:430px;resize:horizontal;max-width:760px}.mail-centre.mail-centre-wide .mail-reading-pane{min-width:560px}.mail-centre.mail-centre-wide .mail-toolbar{grid-template-columns:minmax(280px,1fr) 180px;padding:14px}.mail-centre.mail-centre-wide .mail-filter-row,.mail-centre.mail-centre-wide .mail-bulk-actions{padding:11px 14px}.mail-centre.mail-centre-wide .mail-message-list{min-height:0}.mail-centre.mail-centre-wide .mail-message-card{cursor:pointer;grid-template-columns:auto 42px minmax(0,1fr) 46px;padding:14px 15px}.mail-centre.mail-centre-wide .mail-card-meta{display:flex;align-items:center;gap:8px;min-width:0}.mail-centre.mail-centre-wide .mail-card-meta small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#64748b;font-size:12px}.mail-centre.mail-centre-wide .mail-card-icons{justify-items:end}.mail-centre.mail-centre-wide .mail-card-icons button{display:grid;place-items:center;width:28px;height:28px;min-height:28px;padding:0;border:0;background:transparent;color:#475569;box-shadow:none}.mail-centre.mail-centre-wide .mail-card-icons button:hover{background:#eef2f7}.mail-centre.mail-centre-wide .mail-reading-header h2{font-size:28px;line-height:1.15}.mail-centre.mail-centre-wide .mail-body-card{max-width:none;min-height:220px;font-size:15px}.mail-centre.mail-centre-wide .mail-action-strip button,.mail-centre.mail-centre-wide .mail-filter-row button,.mail-centre.mail-centre-wide .mail-bulk-actions button,.mail-centre.mail-centre-wide .mail-save-view{border-color:#d6dfeb;background:#fff;color:#334155;box-shadow:none}.mail-centre.mail-centre-wide .mail-action-strip button:hover,.mail-centre.mail-centre-wide .mail-filter-row button:hover,.mail-centre.mail-centre-wide .mail-bulk-actions button:hover{border-color:#334155;background:#f8fafc}.mail-centre.mail-centre-wide .mail-folder-section button.active,.mail-centre.mail-centre-wide .mail-filter-row button.active{background:#334155;color:#fff;border-color:#334155}.floating-toast{position:fixed;right:22px;bottom:22px;z-index:10000;max-width:360px;padding:12px 14px;border:1px solid #d6dfeb;border-radius:14px;background:#172033;color:#fff;box-shadow:0 18px 45px rgba(15,23,42,.22);font-weight:850}.floating-toast.error{background:#7f1d1d}.floating-toast[hidden],.mail-empty-state[hidden]{display:none!important}@media (max-width:1500px){.mail-centre.mail-centre-wide .mail-workspace{grid-template-columns:230px minmax(400px,.9fr) minmax(520px,1.1fr)}.mail-centre.mail-centre-wide .mail-reading-pane{min-width:0}}@media (max-width:1180px){.mail-centre.mail-centre-wide .mail-workspace{grid-template-columns:220px minmax(0,1fr)}.mail-centre.mail-centre-wide .mail-message-panel{max-width:none;resize:none}.mail-centre.mail-centre-wide .mail-reading-pane{grid-column:1/-1;min-height:520px}}@media (max-width:820px){.mail-centre.mail-centre-wide .mail-workspace{grid-template-columns:1fr}.mail-centre.mail-centre-wide .mail-folder-panel{position:static}.mail-centre.mail-centre-wide .mail-toolbar{grid-template-columns:1fr}.mail-centre.mail-centre-wide .mail-message-card{grid-template-columns:auto 38px minmax(0,1fr)}.mail-centre.mail-centre-wide .mail-card-icons{grid-column:3;display:flex;justify-content:flex-start}.mail-centre.mail-centre-wide .mail-reading-pane{grid-column:auto}.mail-centre.mail-centre-wide .mail-centre-header{display:grid}.mail-centre.mail-centre-wide .mail-header-actions{justify-content:flex-start}}

/* Enterprise timecard entry */
.timecard-centre{display:grid;gap:18px;width:100%;max-width:none;margin:0}.timecard-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.timecard-hero h1{margin:4px 0;color:#172033;font-size:38px}.timecard-week-controls,.timecard-command-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}.timecard-week-controls .secondary-btn,.timecard-command-actions .secondary-btn,.timecard-command-actions .primary-btn,.timecard-sticky-summary .secondary-btn,.timecard-sticky-summary .primary-btn{width:auto}.timecard-week-picker{display:flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid #d6dfeb;border-radius:13px;background:#fff;color:#475569;font-weight:900}.timecard-week-picker input{border:0;background:transparent;color:#172033;outline:0}.timecard-summary-strip{display:grid;grid-template-columns:1.2fr 1fr .8fr .7fr;gap:12px}.timecard-summary-strip article{padding:15px 16px;border:1px solid #dbe3ee;border-radius:16px;background:#fff;box-shadow:0 12px 28px rgba(15,23,42,.05)}.timecard-summary-strip span{display:block;color:#64748b;font-size:12px;font-weight:900;text-transform:uppercase}.timecard-summary-strip strong{display:block;margin-top:7px;color:#172033;font-size:20px}.timecard-status{display:inline-flex;align-items:center;width:max-content;padding:6px 10px;border-radius:999px;background:#eef2f7;color:#334155;font-size:12px;font-style:normal;font-weight:900}.timecard-status.approved{background:#ecfdf3;color:#166534}.timecard-status.rejected{background:#fff1f2;color:#be123c}.timecard-status.submitted{background:#fffbeb;color:#92400e}.timecard-workbench{display:grid;gap:14px;padding:16px;border:1px solid #dbe3ee;border-radius:18px;background:#fff;box-shadow:0 16px 42px rgba(15,23,42,.07)}.timecard-command-bar{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.timecard-command-bar h2{margin:0;color:#172033}.timecard-command-bar p{margin:4px 0 0;color:#64748b}.timecard-lock-banner{display:flex;align-items:center;gap:9px;padding:11px 13px;border:1px solid #fde68a;border-radius:13px;background:#fffbeb;color:#92400e;font-weight:850}.timecard-grid-shell{position:relative;overflow:auto;border:1px solid #d6dfeb;border-radius:16px;background:#fff}.timecard-grid{width:100%;min-width:1280px;border-collapse:separate;border-spacing:0}.timecard-grid th,.timecard-grid td{border-bottom:1px solid #e2e8f0;border-right:1px solid #eef2f7;padding:10px;vertical-align:middle}.timecard-grid th{position:sticky;top:0;z-index:2;background:#f8fafc;color:#64748b;font-size:12px;font-weight:950;text-align:left;text-transform:uppercase}.timecard-grid th span,.timecard-grid th small{display:block}.timecard-grid th small{margin-top:2px;color:#94a3b8;font-size:11px;text-transform:none}.timecard-grid tfoot th{position:sticky;bottom:0;background:#f8fafc;color:#172033}.timecard-grid td:nth-child(1),.timecard-grid td:nth-child(2){min-width:180px}.timecard-grid td:nth-child(3){min-width:260px}.timecard-grid input,.timecard-grid select,.timecard-comments-card textarea{width:100%;min-height:38px;padding:8px 10px;border:1px solid #d6dfeb;border-radius:10px;background:#fff;color:#172033;outline:0}.timecard-grid input[data-day]{min-width:76px;text-align:right}.timecard-grid input:focus,.timecard-grid select:focus,.timecard-comments-card textarea:focus{border-color:#334155;box-shadow:0 0 0 3px rgba(51,65,85,.12)}.timecard-grid input.invalid,.timecard-grid tr.has-error input,.timecard-grid tr.has-error select{border-color:#be123c;background:#fff1f2}.timecard-grid [data-row-total]{color:#172033}.timecard-grid .is-warning{color:#be123c}.timecard-toggle{display:inline-flex;align-items:center;justify-content:center}.timecard-toggle input{position:absolute;opacity:0;pointer-events:none}.timecard-toggle span{width:42px;height:24px;border-radius:999px;background:#fee2e2;border:1px solid #fecdd3;position:relative;transition:.16s ease}.timecard-toggle span:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:999px;background:#fff;box-shadow:0 2px 6px rgba(15,23,42,.2);transition:.16s ease}.timecard-toggle input:checked+span{background:#dcfce7;border-color:#86efac}.timecard-toggle input:checked+span:after{left:18px}.timecard-row-actions{display:flex;gap:6px}.timecard-row-actions button{display:grid;place-items:center;width:32px;height:32px;min-height:32px;padding:0;border:1px solid #d6dfeb;border-radius:9px;background:#fff;color:#334155;box-shadow:none}.timecard-row-actions button:hover{background:#f8fafc;border-color:#334155}.timecard-command-actions .danger-action{border-color:#fecdd3;color:#be123c;background:#fff}.timecard-empty-state{display:grid;place-items:center;gap:8px;padding:30px;color:#64748b;text-align:center}.timecard-comments-card{display:grid;grid-template-columns:1.4fr .8fr;gap:12px}.timecard-comments-card label,.timecard-manager-comments{display:grid;gap:7px;padding:14px;border:1px solid #dbe3ee;border-radius:14px;background:#f8fafc;color:#172033;font-weight:900}.timecard-manager-comments p{margin:0;color:#475569;font-weight:500}.timecard-sticky-summary{position:sticky;bottom:10px;z-index:5;display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:10px;border:1px solid #d6dfeb;border-radius:15px;background:rgba(255,255,255,.94);box-shadow:0 18px 45px rgba(15,23,42,.14);backdrop-filter:blur(10px)}.timecard-sticky-summary div{min-width:110px;padding:8px 10px;border-radius:12px;background:#f8fafc}.timecard-sticky-summary span{display:block;color:#64748b;font-size:11px;font-weight:900;text-transform:uppercase}.timecard-sticky-summary strong{display:block;color:#172033;font-size:18px}.timecard-history-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:14px}.timecard-history-card{border:1px solid #dbe3ee;border-radius:18px;background:#fff;box-shadow:0 14px 34px rgba(15,23,42,.06);overflow:hidden}.timecard-history-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:14px 16px;border:0;background:#fff;color:#172033;font-weight:950;text-align:left}.timecard-history-toggle span{display:flex;align-items:center;gap:9px}.timecard-history-body{display:none;padding:0 16px 16px}.timecard-history-card.open .timecard-history-body{display:block}.timecard-history-card.open .timecard-history-toggle .fa-chevron-down{transform:rotate(180deg)}.timecard-history-body dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0}.timecard-history-body dl div{padding:12px;border:1px solid #dbe3ee;border-radius:13px;background:#f8fafc}.timecard-history-body dt{color:#64748b;font-size:11px;font-weight:900;text-transform:uppercase}.timecard-history-body dd{margin:5px 0 0;color:#172033;font-weight:850}.timecard-history-body .data-table tr{cursor:pointer}@media (max-width:1250px){.timecard-summary-strip,.timecard-history-grid{grid-template-columns:1fr 1fr}.timecard-command-bar{display:grid}.timecard-command-actions{justify-content:flex-start}.timecard-comments-card{grid-template-columns:1fr}}@media (max-width:760px){.timecard-hero{display:grid}.timecard-week-controls,.timecard-command-actions,.timecard-sticky-summary{justify-content:flex-start}.timecard-summary-strip,.timecard-history-grid{grid-template-columns:1fr}.timecard-sticky-summary{position:static;display:grid;grid-template-columns:1fr 1fr}.timecard-sticky-summary button{width:100%}}

/* Enterprise Twiki knowledge base */
.twiki-page-shell{display:grid;gap:18px;width:100%;max-width:none;margin:0}.twiki-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.twiki-hero h1{margin:2px 0;color:#172033;font-size:40px;letter-spacing:0}.twiki-hero p{max-width:760px;margin:0;color:#64748b;font-size:16px}.twiki-hero-actions,.twiki-article-actions,.twiki-editor-footer{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}.twiki-hero-actions .primary-btn,.twiki-hero-actions .secondary-btn,.twiki-article-actions .primary-btn,.twiki-article-actions .secondary-btn,.twiki-editor-footer .primary-btn,.twiki-editor-footer .secondary-btn{width:auto}.twiki-command-bar{display:grid;gap:12px;padding:14px;border-radius:18px}.twiki-search-form{display:grid;grid-template-columns:minmax(280px,1fr) repeat(3,minmax(150px,190px)) auto;gap:10px;align-items:center}.twiki-search-form .primary-btn{width:auto}.twiki-filter-chips{display:flex;gap:8px;flex-wrap:wrap}.twiki-filter-chips a{display:inline-flex;align-items:center;min-height:34px;padding:7px 11px;border:1px solid #d6dfeb;border-radius:999px;background:#fff;color:#334155;font-size:12px;font-weight:900;text-decoration:none}.twiki-filter-chips a.active,.twiki-filter-chips a:hover{background:#334155;color:#fff;border-color:#334155}.twiki-workspace{display:grid;grid-template-columns:240px 330px minmax(520px,1fr) 300px;gap:16px;align-items:start}.twiki-sidebar,.twiki-page-tree,.twiki-reader,.twiki-inspector{min-height:calc(100vh - 240px);border-radius:18px;border-color:#d6dfeb;box-shadow:0 14px 36px rgba(15,23,42,.06)}.twiki-sidebar,.twiki-page-tree,.twiki-inspector{position:sticky;top:16px;max-height:calc(100vh - 190px);overflow:auto}.twiki-panel-header{display:flex;justify-content:space-between;gap:12px;margin-bottom:14px}.twiki-panel-header h2{margin:0;color:#172033;font-size:18px}.twiki-panel-header span{display:block;margin-top:3px;color:#64748b;font-size:12px;font-weight:800}.twiki-space-list,.twiki-side-section,.twiki-tree-list,.twiki-inspector section{display:grid;gap:8px}.twiki-space-list a,.twiki-side-section a,.twiki-related-list a,.twiki-attachment-list a{display:flex;align-items:center;gap:9px;padding:9px 10px;border-radius:11px;color:#334155;text-decoration:none;font-weight:850}.twiki-space-list a:hover,.twiki-space-list a.active,.twiki-page-card:hover,.twiki-page-card.active{background:#eef2f7;color:#172033}.twiki-side-section{margin-top:18px;padding-top:16px;border-top:1px solid #e5eaf1}.twiki-side-section h3,.twiki-inspector h3{margin:0;color:#172033;font-size:14px}.twiki-side-section p,.twiki-inspector span,.twiki-inspector p{margin:0;color:#64748b;font-size:13px}.twiki-page-card{display:grid;gap:6px;padding:12px;border:1px solid #dbe3ee;border-radius:14px;background:#fff;color:#172033;text-decoration:none}.twiki-page-card.is-child{margin-left:16px}.twiki-page-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.twiki-page-card strong{font-size:14px}.twiki-page-card span:not(.twiki-page-card-top){color:#64748b;font-size:12px}.twiki-status-pill{display:inline-flex;align-items:center;width:max-content;padding:5px 8px;border-radius:999px;background:#eef2f7;color:#334155;font-size:11px;font-style:normal;font-weight:950}.twiki-status-pill.published,.twiki-status-pill.approved{background:#ecfdf3;color:#166534}.twiki-status-pill.draft{background:#f8fafc;color:#475569}.twiki-status-pill.archived{background:#f1f5f9;color:#64748b}.twiki-status-pill.submitted-for-review,.twiki-status-pill.needs-review{background:#fffbeb;color:#92400e}.twiki-reader{padding:0;overflow:hidden;background:#fff}.twiki-article-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:24px 28px;border-bottom:1px solid #e5eaf1;background:#fff}.twiki-article-meta-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:#64748b;font-size:12px;font-weight:850}.twiki-article-header h2{margin:10px 0 6px;color:#172033;font-size:34px;line-height:1.1}.twiki-article-header p{margin:0;color:#64748b}.twiki-action-menu{margin:12px 28px 0;padding:10px;border:1px solid #d6dfeb;border-radius:14px;background:#f8fafc}.twiki-action-menu form{display:flex;gap:8px;flex-wrap:wrap}.twiki-action-menu button{width:auto;min-height:36px;padding:7px 10px;border:1px solid #d6dfeb;border-radius:10px;background:#fff;color:#334155;font-weight:900}.twiki-content{padding:28px;color:#1f2937;font-size:15px;line-height:1.7}.twiki-content h1,.twiki-content h2,.twiki-content h3,.twiki-content h4{margin:1.4em 0 .45em;color:#172033;line-height:1.2}.twiki-content h1:first-child,.twiki-content h2:first-child,.twiki-content h3:first-child{margin-top:0}.twiki-content blockquote{margin:16px 0;padding:14px 16px;border-left:4px solid #334155;border-radius:10px;background:#f8fafc;color:#334155}.twiki-content pre{overflow:auto;padding:14px;border-radius:12px;background:#0f172a;color:#e2e8f0}.twiki-content code{padding:2px 5px;border-radius:6px;background:#eef2f7;color:#172033}.twiki-content pre code{padding:0;background:transparent;color:inherit}.twiki-content table{width:100%;border-collapse:separate;border-spacing:0;margin:16px 0;border:1px solid #d6dfeb;border-radius:12px;overflow:hidden}.twiki-content th,.twiki-content td{padding:10px 12px;border-bottom:1px solid #e5eaf1;text-align:left}.twiki-content th{background:#f8fafc;color:#64748b;font-size:12px;text-transform:uppercase}.twiki-article-section{margin:0 28px 28px;padding:18px;border:1px solid #dbe3ee;border-radius:16px;background:#f8fafc}.twiki-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.twiki-section-header h3{margin:0;color:#172033}.twiki-section-header span{color:#64748b;font-size:12px;font-weight:850}.twiki-comment-form{display:grid;gap:10px;margin-bottom:14px}.twiki-comment-form textarea{min-height:90px}.twiki-comment-list{display:grid;gap:10px}.twiki-comment-list article{padding:12px;border:1px solid #dbe3ee;border-radius:12px;background:#fff}.twiki-comment-list strong{color:#172033}.twiki-comment-list span{margin-left:8px;color:#64748b;font-size:12px}.twiki-comment-list p{margin:7px 0 0;color:#334155}.twiki-inspector{display:grid;gap:16px}.twiki-inspector section{padding-bottom:14px;border-bottom:1px solid #e5eaf1}.twiki-inspector section:last-child{border-bottom:0}.twiki-inspector dl{display:grid;gap:8px;margin:0}.twiki-inspector dl div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #eef2f7}.twiki-inspector dt{color:#64748b;font-size:12px;font-weight:900}.twiki-inspector dd{margin:0;color:#172033;font-size:12px;font-weight:900;text-align:right}.twiki-toc,.twiki-tag-list,.twiki-attachment-list,.twiki-version-list,.twiki-related-list{display:grid;gap:7px}.twiki-toc a,.twiki-tag-list a{display:block;padding:7px 9px;border-radius:9px;background:#f8fafc;color:#334155;text-decoration:none;font-size:12px;font-weight:850}.twiki-toc a.h3{margin-left:10px}.twiki-tag-list{display:flex;flex-wrap:wrap}.twiki-version-list form{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px;border:1px solid #dbe3ee;border-radius:12px;background:#fff}.twiki-version-list span{color:#172033!important;font-weight:850}.twiki-version-list small{display:block;color:#64748b}.twiki-version-list button{width:auto;min-height:30px;padding:5px 8px;border:1px solid #d6dfeb;border-radius:8px;background:#fff;color:#334155;font-weight:900}.twiki-empty-state,.twiki-empty-small{display:grid;place-items:center;gap:12px;min-height:420px;padding:28px;color:#64748b;text-align:center}.twiki-empty-state i,.twiki-empty-small i{display:grid;place-items:center;width:56px;height:56px;border-radius:16px;background:#eef2f7;color:#334155;font-size:24px}.twiki-empty-state h2,.twiki-empty-small strong{margin:0;color:#172033}.twiki-empty-state p,.twiki-empty-small p{max-width:520px;margin:0}.twiki-empty-state div{display:flex;gap:9px;flex-wrap:wrap;justify-content:center}.twiki-editor-modal{width:min(1120px,calc(100vw - 40px));max-height:calc(100vh - 40px);overflow:auto}.twiki-editor-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px}.twiki-editor-main,.twiki-editor-side{display:grid;gap:12px}.twiki-editor-main label,.twiki-editor-side label{display:grid;gap:7px;color:#172033;font-weight:900}.twiki-editor-main label span{color:#64748b;font-size:12px}.twiki-editor-side{padding:14px;border:1px solid #dbe3ee;border-radius:16px;background:#f8fafc}.twiki-editor-preview{min-height:260px;padding:16px;border:1px solid #d6dfeb;border-radius:14px;background:#fff}.twiki-upload-zone{position:relative;display:grid;place-items:center;gap:8px;min-height:120px;padding:18px;border:1px dashed #94a3b8;border-radius:14px;background:#fff;color:#64748b;text-align:center}.twiki-upload-zone input{position:absolute;inset:0;opacity:0;cursor:pointer}.twiki-editor-footer{position:sticky;bottom:0;margin:18px -2px -2px;padding:12px;border-top:1px solid #e5eaf1;background:rgba(255,255,255,.94);backdrop-filter:blur(10px)}.twiki-editor-footer span{margin-right:auto;color:#64748b;font-size:12px;font-weight:850}.simple-editor-toolbar{display:flex;gap:7px;flex-wrap:wrap}.simple-editor-button{width:auto;min-height:34px;padding:6px 10px;border:1px solid #d6dfeb;border-radius:9px;background:#fff;color:#172033;font-weight:900}.simple-editor-button:hover{border-color:#334155;background:#f8fafc}.simple-editor-surface{min-height:320px;padding:14px;border:1px solid #d6dfeb;border-radius:0 0 14px 14px;background:#fff;outline:0}.simple-editor-surface:focus{border-color:#334155;box-shadow:0 0 0 3px rgba(51,65,85,.12)}@media (max-width:1500px){.twiki-workspace{grid-template-columns:220px 300px minmax(480px,1fr)}.twiki-inspector{grid-column:2/-1;position:static;max-height:none;min-height:0}}@media (max-width:1100px){.twiki-search-form{grid-template-columns:1fr 1fr}.twiki-workspace{grid-template-columns:1fr}.twiki-sidebar,.twiki-page-tree,.twiki-inspector{position:static;max-height:none;min-height:0}.twiki-editor-grid{grid-template-columns:1fr}.twiki-hero,.twiki-article-header{display:grid}.twiki-article-actions{justify-content:flex-start}}@media (max-width:720px){.twiki-search-form{grid-template-columns:1fr}.twiki-hero h1{font-size:32px}.twiki-article-header h2{font-size:26px}.twiki-content{padding:20px}.twiki-article-section{margin:0 20px 20px}.twiki-editor-footer{display:grid}.twiki-editor-footer span{margin:0}.twiki-hero-actions .primary-btn,.twiki-hero-actions .secondary-btn,.twiki-editor-footer .primary-btn,.twiki-editor-footer .secondary-btn{width:100%}}

/* Organization user profile editor */
.organization-user-profile-modal{width:min(1180px,calc(100vw - 42px));max-height:calc(100vh - 42px);overflow:auto}.organization-user-profile-tabs{margin:4px 0 16px}.organization-user-profile-tabs .profile-tab{width:auto;border:0}.organization-user-tab-panel{display:none}.organization-user-tab-panel.active{display:block}.organization-user-tab-panel .profile-section{margin:0;padding:18px;border:1px solid #dbe3ee;border-radius:16px;background:#fff}.organization-user-tab-panel .profile-section h3{margin:0 0 14px;color:#172033}.organization-user-tab-panel label{display:grid;gap:7px;color:#172033;font-weight:850}.organization-user-tab-panel .profile-grid-2{margin-bottom:12px}.organization-user-tab-panel .table-card{margin-bottom:12px}.organization-user-modal .settings-card-actions{position:sticky;bottom:0;margin:18px -4px -4px;padding:12px;border-top:1px solid #e5eaf1;background:rgba(255,255,255,.94);backdrop-filter:blur(10px)}@media (max-width:760px){.organization-user-profile-modal{width:calc(100vw - 22px)}.organization-user-profile-tabs{display:flex;overflow:auto}.organization-user-profile-tabs .profile-tab{white-space:nowrap}}

/* Mobile app responsiveness foundation */
.mobile-menu-button,.mobile-sidebar-header,.mobile-nav-backdrop{display:none}
@media (max-width:900px){
    html,body{max-width:100%;overflow-x:hidden}
    body.mobile-nav-is-open{overflow:hidden}
    .dashboard{display:block;min-height:100vh}
    .mobile-menu-button{position:sticky;top:10px;left:12px;z-index:9997;display:inline-flex;align-items:center;gap:8px;min-height:44px;margin:10px 0 0 12px;padding:0 13px;border:1px solid rgba(203,213,225,.86);border-radius:14px;background:rgba(255,255,255,.92);color:#172033;font-weight:900;box-shadow:0 14px 34px rgba(15,23,42,.12);backdrop-filter:blur(12px)}
    .mobile-menu-button i{font-size:15px}
    .mobile-nav-backdrop{position:fixed;inset:0;z-index:9994;background:rgba(15,23,42,.48);opacity:0;pointer-events:none;transition:opacity .18s ease}
    body.mobile-nav-is-open .mobile-nav-backdrop{display:block;opacity:1;pointer-events:auto}
    .sidebar{position:fixed!important;top:0!important;left:0!important;z-index:9995;width:min(340px,88vw)!important;height:100dvh!important;min-height:100dvh!important;padding:14px!important;display:grid!important;grid-template-rows:auto auto auto minmax(0,1fr) auto;gap:12px;overflow:hidden;border-right:1px solid rgba(255,255,255,.12)!important;border-bottom:0!important;box-shadow:28px 0 70px rgba(15,23,42,.34);transform:translateX(-105%);transition:transform .2s ease;background:var(--sidebar)!important}
    .sidebar.mobile-nav-open{transform:translateX(0)}
    .mobile-sidebar-header{display:flex;align-items:center;justify-content:space-between;min-height:42px;color:rgba(255,255,255,.72);font-size:12px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}
    .mobile-sidebar-header button{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(255,255,255,.08);color:#fff}
    .sidebar .logo{margin:0!important;font-size:23px!important;line-height:1.1}
    .sidebar .user-info{margin:0!important;padding:10px!important;border-radius:16px}
    .profile-menu-trigger{min-width:0}
    .profile-menu-trigger .avatar{width:42px!important;height:42px!important}
    .profile-details{min-width:0}
    .profile-details strong,.profile-details small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
    .profile-dropdown{position:absolute!important;left:10px!important;right:10px!important;top:calc(100% + 8px)!important;width:auto!important;z-index:10000}
    .sidebar nav{display:grid!important;align-content:start;gap:6px;min-height:0;overflow:auto!important;padding:4px 2px 12px!important}
    .sidebar nav a{display:flex!important;align-items:center;gap:10px;width:100%;min-height:44px;padding:10px 11px!important;border-radius:12px!important;white-space:normal!important;color:rgba(255,255,255,.82);font-size:14px;transform:none!important}
    .sidebar nav a i{width:18px;text-align:center;color:rgba(255,255,255,.62)}
    .sidebar nav a.active,.sidebar nav a.active-sub{background:rgba(255,255,255,.14)!important;color:#fff!important;box-shadow:inset 3px 0 0 rgba(255,255,255,.72)}
    .menu-group{margin:0!important}
    .submenu{position:static!important;display:none;margin:4px 0 6px 0!important;padding:5px 0 5px 16px!important;border:0!important;border-left:1px solid rgba(255,255,255,.14)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
    .submenu.submenu-open{display:grid!important;gap:4px}
    .submenu a{min-height:40px!important;margin:0!important;padding:8px 10px!important;font-size:13px!important}
    .sidebar-footer{position:static!important;display:flex!important;justify-content:flex-start!important;gap:8px;margin:0!important;padding-top:10px!important;border-top:1px solid rgba(255,255,255,.12)}
    .sidebar-footer button,.sidebar-footer .global-search-button,.sidebar-footer .notification-bell,.information-menu-button,.system-admin-menu-button{width:44px!important;height:44px!important;min-height:44px;border-radius:14px!important}
    .global-search-panel{position:fixed!important;left:12px!important;right:12px!important;bottom:12px!important;width:auto!important;max-height:min(560px,calc(100dvh - 24px))}
    .information-menu-panel,.system-admin-menu-panel{position:fixed!important;left:12px!important;right:12px!important;bottom:68px!important;width:auto!important;max-width:none!important}
    .content{width:100%;padding:14px!important;overflow-x:hidden}
    .workspace-tabs{position:relative;margin:8px -2px 14px;padding:6px;display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x proximity;border-radius:14px;background:rgba(255,255,255,.62)}
    .workspace-tabs .tab{flex:0 0 auto;min-width:max-content;scroll-snap-align:start;min-height:38px;padding:8px 12px;border-radius:12px}
    .topbar,.page-header,.mail-centre-header,.calendar-page-topbar,.timecard-hero,.approval-hero{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;align-items:start!important}
    .topbar h1,.page-header h1,.mail-centre-header h1,.timecard-hero h1,.approval-hero h1,.calendar-page-topbar h1{font-size:clamp(28px,9vw,38px)!important;line-height:1.08}
    .topbar .primary-btn,.topbar .secondary-btn,.page-header .primary-btn,.page-header .secondary-btn{width:100%;justify-content:center}
    .profile-tabs,.settings-tab-bar,.account-settings-tabs,.organization-user-profile-tabs,.approval-tabs.settings-tab-bar{display:flex!important;gap:8px;overflow-x:auto;padding:7px;border-radius:15px;scroll-snap-type:x proximity}
    .profile-tab,.settings-tab-bar button,.account-settings-tabs .profile-tab{flex:0 0 auto;min-height:42px;scroll-snap-align:start;white-space:nowrap}
    .panel,.settings-card,.table-card,.profile-section{border-radius:16px!important}
    .settings-shell,.profile-overview-grid,.profile-grid-2,.form-grid,.form-grid.two,.dashboard-grid,.card-grid,.project-grid,.timecard-summary-strip,.approval-summary-grid,.public-card-grid{grid-template-columns:1fr!important}
    .table-card,.table-shell,.module-table-shell,.timecard-grid-shell,.calendar-shell-card,.approval-workbench{overflow-x:auto;-webkit-overflow-scrolling:touch}
    .users-table,.data-table,.task-enterprise-table,.tasks-grid-table,.module-config-table{min-width:720px}
    .table-grid-toolbar{display:grid!important;grid-template-columns:1fr!important}
    .table-grid-search,.table-grid-toolbar select,.table-grid-toolbar .secondary-btn,.table-density-toggle{width:100%;flex:auto}
    input,select,textarea,button,.primary-btn,.secondary-btn{max-width:100%;min-height:44px}
    .modal{padding:10px!important;align-items:flex-start!important;overflow:auto}
    .modal-content,.modal-content-wide,.modal-wide,.organization-user-profile-modal,.calendar-event-modal-content,.mail-compose-content{width:calc(100vw - 20px)!important;max-width:calc(100vw - 20px)!important;max-height:calc(100dvh - 20px)!important;overflow:auto}
    .calendar-layout,.mail-centre.mail-centre-wide .mail-workspace,.mail-workspace,.timecard-history-grid,.approval-history-grid,.twiki-workspace{grid-template-columns:1fr!important}
    .calendar-sidebar,.mail-folder-panel,.twiki-sidebar,.twiki-page-tree,.twiki-inspector{position:static!important;max-height:none!important;min-height:0!important}
    .calendar-command-bar,.calendar-filter-bar,.approval-filter-bar,.mail-toolbar,.timecard-command-bar{grid-template-columns:1fr!important}
    .task-board{grid-auto-columns:minmax(270px,86vw)!important;overflow-x:auto}
    .task-list-panel,.project-list-panel{padding:10px!important}
    #calendar{min-height:560px}
}
@media (max-width:430px){
    .mobile-menu-button{margin-left:10px}
    .content{padding:10px!important}
    .workspace-tabs .tab{max-width:220px;overflow:hidden;text-overflow:ellipsis}
    .primary-btn,.secondary-btn,button{font-size:14px}
}
@media (prefers-reduced-motion:reduce){
    .sidebar,.mobile-nav-backdrop,.public-card-grid article,.public-snippet-card,.public-workspace-grid article,.public-steps article{transition:none!important}
}

/* Public marketing site responsive refinement */
.public-site-v2 .public-feature-grid-v2 article{min-height:220px}
@media (max-width:900px){
    .public-nav-v2{position:sticky!important;top:10px!important;width:calc(100% - 20px)!important;margin:10px auto!important;padding:10px!important;border-radius:18px!important}
    .public-nav-v2 nav{display:flex!important;gap:6px;overflow-x:auto;white-space:nowrap;padding-bottom:2px}
    .public-nav-v2 nav a{flex:0 0 auto;min-height:40px;padding:9px 11px!important;font-size:13px}
    .public-nav-v2 .public-brand{flex:0 0 auto}
    .public-hero-v2{width:calc(100% - 24px)!important;padding-top:34px!important;gap:24px!important}
    .public-hero-v2 .public-hero-copy h1{font-size:clamp(38px,11vw,58px)!important;line-height:1.02}
    .public-hero-v2 .public-hero-copy p{font-size:17px!important}
    .public-actions{display:grid!important;grid-template-columns:1fr;gap:10px}
    .public-actions .primary-btn,.public-actions .secondary-btn{width:100%;justify-content:center}
    .public-dashboard-preview{min-height:auto!important}
    .preview-dashboard-shell{grid-template-columns:1fr!important}
    .public-section{width:calc(100% - 24px)!important;padding:38px 0!important}
    .public-section-heading h2,.public-cta h2{font-size:clamp(28px,8vw,40px)!important;line-height:1.08}
    .public-card-grid,.public-feature-grid-v2,.public-workspace-grid,.public-steps{grid-template-columns:1fr!important}
    .public-snippet-wide{display:grid!important;grid-template-columns:1fr!important}
    .public-cta-v2{display:grid!important;gap:20px!important;padding:24px!important}
}
@media (max-width:430px){
    .public-nav-v2{align-items:flex-start!important}
    .public-brand span{font-size:18px}
    .public-nav-v2 nav a:not(.primary-btn){display:none}
    .public-nav-v2 nav a[href="login.php"],.public-nav-v2 nav .primary-btn{display:inline-flex}
    .public-hero-v2 .public-hero-copy h1{font-size:36px!important}
    .public-trust-strip span{font-size:12px}
    .preview-kpi-row,.mini-calendar-card{grid-template-columns:1fr!important}
}

.timecard-grid th.is-non-working,.timecard-grid td.is-non-working,.timecard-grid tfoot th.is-non-working{background:#f1f5f9;color:#94a3b8}.timecard-grid td.is-non-working input[data-day]{background:#e2e8f0;border-color:#cbd5e1;color:#64748b}.timecard-grid td.is-non-working input[data-day]:focus{background:#fff;box-shadow:0 0 0 3px rgba(100,116,139,.16)}
.timecard-grid tr[data-leave-row="1"] td{background:#f8fafc}.timecard-grid tr[data-leave-row="1"] input[readonly]{background:#eef2f7;color:#475569}.timecard-generated-badge{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:5px 9px;border-radius:999px;background:#eef2f7;color:#334155;font-size:11px;font-weight:900;text-transform:uppercase}

/* Responsive interaction system */
.responsive-page-tools{display:grid;gap:12px}
.responsive-action-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.responsive-segmented-control{display:inline-flex;align-items:center;gap:4px;padding:5px;border:1px solid #d6dfeb;border-radius:14px;background:#f8fafc}
.responsive-segmented-control button,.responsive-segmented-control a{display:inline-flex;align-items:center;justify-content:center;gap:7px;width:auto;min-height:38px;padding:8px 12px;border:1px solid transparent;border-radius:10px;background:transparent;color:#475569;font-size:13px;font-weight:900;text-decoration:none;white-space:nowrap;box-shadow:none}
.responsive-segmented-control button.active,.responsive-segmented-control button[aria-selected="true"],.responsive-segmented-control a.active{border-color:#334155;background:#334155;color:#fff}
.responsive-icon-button{display:inline-grid;place-items:center;width:42px;height:42px;min-width:42px;min-height:42px;padding:0;border:1px solid #d6dfeb;border-radius:13px;background:#fff;color:#334155;box-shadow:0 8px 18px rgba(15,23,42,.06);cursor:pointer}
.responsive-icon-button:hover,.responsive-icon-button:focus-visible{border-color:#334155;background:#f8fafc;outline:0;box-shadow:0 0 0 3px rgba(51,65,85,.12)}
.responsive-more-actions{position:relative;display:inline-flex}
.responsive-more-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:10010;display:none;min-width:220px;padding:7px;border:1px solid #d6dfeb;border-radius:14px;background:#fff;box-shadow:0 18px 48px rgba(15,23,42,.18)}
.responsive-more-actions.is-open .responsive-more-menu{display:grid;gap:3px}
.responsive-more-menu button,.responsive-more-menu a{display:flex;align-items:center;gap:9px;width:100%;min-height:40px;padding:9px 10px;border:0;border-radius:10px;background:transparent;color:#334155;font-size:13px;font-weight:900;text-align:left;text-decoration:none;box-shadow:none}
.responsive-more-menu button:hover,.responsive-more-menu a:hover,.responsive-more-menu button:focus-visible,.responsive-more-menu a:focus-visible{background:#f1f5f9;outline:0}
.mobile-filter-trigger{display:none;align-items:center;justify-content:center;gap:8px;width:auto;min-height:42px;padding:9px 12px;border:1px solid #d6dfeb;border-radius:13px;background:#fff;color:#334155;font-size:13px;font-weight:900;box-shadow:0 8px 18px rgba(15,23,42,.06)}
.mobile-filter-header{display:none}
.mobile-filter-actions{display:none}
.filter-chip-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.filter-chip{display:inline-flex;align-items:center;min-height:30px;padding:6px 10px;border:1px solid #d6dfeb;border-radius:999px;background:#fff;color:#475569;font-size:12px;font-weight:900}
.compact-zoom-control{display:inline-flex;align-items:center;gap:6px;padding:4px;border:1px solid #d6dfeb;border-radius:14px;background:#f8fafc}
.org-toolbar{grid-template-columns:1fr!important;align-items:stretch}
.org-filter-fields{display:grid;grid-template-columns:minmax(240px,1.2fr) minmax(180px,.8fr) minmax(180px,.8fr);gap:12px;align-items:end}
.org-toolbar-actions{justify-content:space-between}
.org-toolbar-actions .mobile-filter-trigger{display:none}
.org-toolbar-actions .responsive-segmented-control{margin-right:auto}
.org-active-filter-chips:empty{display:none}
.org-filter-fields .mobile-filter-header,.org-filter-fields .mobile-filter-actions{display:none}

@media (max-width:900px){
    body.mobile-filter-is-open{overflow:hidden}

    .topbar .primary-btn,.topbar .secondary-btn,.page-header .primary-btn,.page-header .secondary-btn,
    .topbar-actions .primary-btn,.topbar-actions .secondary-btn,
    .mail-header-actions .primary-btn,.mail-header-actions .secondary-btn,
    .calendar-sidebar-actions button,.calendar-quick-filters button,
    .timecard-week-controls .secondary-btn,.timecard-command-actions .secondary-btn,.timecard-command-actions .primary-btn,
    .approval-hero-actions .secondary-btn,.approval-bulk-bar .secondary-btn,
    .twiki-hero-actions .primary-btn,.twiki-hero-actions .secondary-btn,
    .project-actions .primary-btn,.project-actions .secondary-btn,
    .settings-card-actions .primary-btn,.settings-card-actions .secondary-btn,
    .bulk-actions button,.bulk-actions select,
    .task-toolbar-apply{
        width:auto!important;
        flex:0 0 auto!important;
        justify-content:center;
    }

    .topbar-actions,.mail-header-actions,.calendar-sidebar-actions,.calendar-quick-filters,
    .timecard-week-controls,.timecard-command-actions,.approval-hero-actions,
    .approval-bulk-bar,.twiki-hero-actions,.twiki-article-actions,
    .mail-action-strip,.mail-filter-row,.mail-bulk-actions,.bulk-actions,
    .settings-card-actions,.task-builder-actions,.modal-actions{
        display:flex!important;
        align-items:center!important;
        gap:8px!important;
        flex-wrap:nowrap!important;
        overflow-x:auto;
        overflow-y:hidden;
        -webkit-overflow-scrolling:touch;
        scrollbar-width:thin;
        padding-bottom:2px;
    }

    .topbar-actions > *,.mail-header-actions > *,.calendar-sidebar-actions > *,
    .calendar-quick-filters > *,.timecard-week-controls > *,.timecard-command-actions > *,
    .approval-hero-actions > *,.approval-bulk-bar > *,.twiki-hero-actions > *,
    .twiki-article-actions > *,.mail-action-strip > *,.mail-filter-row > *,
    .mail-bulk-actions > *,.bulk-actions > *,.settings-card-actions > *,
    .task-builder-actions > *,.modal-actions > *{
        flex:0 0 auto;
    }

    .profile-tabs,.settings-tab-bar,.account-settings-tabs,.organization-user-profile-tabs,
    .approval-tabs.settings-tab-bar,.task-detail-tabs,.module-admin-tabs,
    .calendar-view-switcher,.tasks-view-actions{
        flex-wrap:nowrap!important;
        overflow-x:auto!important;
        overflow-y:hidden!important;
        white-space:nowrap;
        scrollbar-width:thin;
    }

    .profile-tab,.settings-tab-bar button,.account-settings-tabs .profile-tab,
    .approval-tabs button,.calendar-view-switcher button,.tasks-view-actions .btn-small{
        width:auto!important;
        min-width:max-content;
        flex:0 0 auto!important;
    }

    .filter-panel{position:relative;padding:0!important;border-radius:16px!important}
    .filter-panel-toggle{width:100%;min-height:52px;padding:0 14px;border:0;border-radius:16px;background:#fff;color:#172033}
    .filter-panel-toggle .filter-panel-action{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid #d6dfeb;border-radius:999px;background:#f8fafc;color:#334155}
    .filter-panel-body{display:none!important}
    .filter-panel.filter-panel-expanded .filter-panel-body{position:fixed;left:10px;right:10px;bottom:10px;z-index:10020;display:grid!important;gap:12px;max-height:min(78dvh,680px);overflow:auto;padding:16px;border:1px solid #d6dfeb;border-radius:20px;background:#fff;box-shadow:0 -20px 60px rgba(15,23,42,.24)}
    .filter-panel.filter-panel-expanded::before{content:"";position:fixed;inset:0;z-index:10015;background:rgba(15,23,42,.42)}
    .filter-panel.filter-panel-expanded .quick-filters,
    .filter-panel.filter-panel-expanded .saved-filter-row,
    .filter-panel.filter-panel-expanded .advanced-filters,
    .filter-panel.filter-panel-expanded form{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:10px!important;
    }
    .quick-filters{display:flex!important;gap:8px;overflow-x:auto;flex-wrap:nowrap!important}
    .quick-filters a,.quick-filters button{flex:0 0 auto}

    .mobile-filter-trigger{display:inline-flex}
    .mobile-filter-backdrop{display:none}
    body.mobile-filter-is-open .mobile-filter-backdrop{position:fixed;inset:0;z-index:10015;display:block;background:rgba(15,23,42,.42)}
    .mobile-filter-surface{position:fixed;left:10px;right:10px;bottom:10px;z-index:10020;display:grid!important;grid-template-columns:1fr!important;gap:12px;max-height:min(78dvh,680px);overflow:auto;padding:16px;border:1px solid #d6dfeb;border-radius:20px;background:#fff;box-shadow:0 -20px 60px rgba(15,23,42,.24);transform:translateY(calc(100% + 30px));opacity:0;pointer-events:none;transition:transform .18s ease,opacity .18s ease}
    .mobile-filter-surface.is-open{transform:translateY(0);opacity:1;pointer-events:auto}
    .mobile-filter-header{display:flex!important;align-items:flex-start;justify-content:space-between;gap:12px}
    .mobile-filter-header strong{display:block;color:#172033;font-size:16px}
    .mobile-filter-header span{display:block;margin-top:3px;color:#64748b;font-size:12px;font-weight:800}
    .mobile-filter-actions{display:flex!important;justify-content:flex-end;gap:8px;padding-top:8px;border-top:1px solid #e5eaf1}
    .mobile-filter-actions .primary-btn,.mobile-filter-actions .secondary-btn{width:auto!important}

    .responsive-action-toolbar{flex-wrap:nowrap;overflow-x:auto;align-items:center}
    .responsive-segmented-control{flex:0 0 auto;max-width:100%;overflow-x:auto}
    .responsive-segmented-control button,.responsive-segmented-control a{min-height:40px;padding:8px 10px}
    .responsive-more-menu{position:fixed;right:12px;bottom:68px;top:auto;width:min(280px,calc(100vw - 24px))}

    .org-toolbar{gap:10px;padding:10px!important}
    .org-filter-fields{display:block}
    .org-toolbar-actions{display:flex!important;justify-content:flex-start!important;gap:8px!important;overflow-x:auto}
    .org-toolbar-actions .mobile-filter-trigger{display:inline-flex}
    .org-toolbar-actions .responsive-segmented-control{margin-right:0}
    .org-active-filter-chips{overflow-x:auto;flex-wrap:nowrap;padding:0 2px 2px}
    .org-active-filter-chips .filter-chip{flex:0 0 auto}
    .org-workspace{gap:12px}
    .org-chart-canvas{min-height:420px!important}
    .enterprise-org-chart{padding:14px!important;overflow:auto}
    .enterprise-org-card{min-width:235px!important}

    .table-grid-toolbar,.task-toolbar,.project-toolbar,.mail-toolbar,.approval-filter-bar,.calendar-filter-bar,.twiki-search-form{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:10px!important;
    }

    .task-toolbar .task-filter-chip-row,.project-toolbar .task-filter-chip-row,
    .task-active-filters,.twiki-filter-chips{
        display:flex!important;
        gap:8px;
        flex-wrap:nowrap!important;
        overflow-x:auto;
        -webkit-overflow-scrolling:touch;
    }

    .task-filter-chip,.task-active-filters span,.twiki-filter-chips a{
        flex:0 0 auto;
        white-space:nowrap;
    }

    .mail-filter-row button,.mail-bulk-actions button,.mail-action-strip button{
        flex:0 0 auto!important;
        width:auto!important;
    }

    .module-config-nav-card{position:static!important;padding:12px!important}
    .module-config-nav{display:flex!important;gap:8px!important;overflow-x:auto;flex-wrap:nowrap!important}
    .module-config-nav a{flex:0 0 auto;width:auto!important;white-space:nowrap}
    .module-config-grid-header{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:10px!important}
    .module-config-grid-header .primary-btn{width:auto!important;flex:0 0 auto}

    .twiki-hero-actions .primary-btn,.twiki-hero-actions .secondary-btn,
    .twiki-editor-footer .primary-btn,.twiki-editor-footer .secondary-btn{
        width:auto!important;
    }
}

@media (max-width:560px){
    .responsive-segmented-control button,.responsive-segmented-control a{font-size:12px}
    .compact-zoom-control .responsive-icon-button,.responsive-icon-button{width:44px;height:44px;min-width:44px;min-height:44px}
    .org-profile-panel{order:2}
    .org-chart-canvas{order:1}
    .mail-action-strip,.mail-bulk-actions,.approval-bulk-bar,.bulk-actions{margin-left:-2px;margin-right:-2px}
    .timecard-sticky-summary{display:flex!important;overflow-x:auto;grid-template-columns:none!important}
    .timecard-sticky-summary button{width:auto!important;flex:0 0 auto}
}

/* Enterprise bulk edit */
.bulk-edit-context-menu{position:fixed;z-index:10060;display:none;min-width:230px;padding:7px;border:1px solid #d6dfeb;border-radius:14px;background:#fff;box-shadow:0 22px 60px rgba(15,23,42,.2)}
.bulk-edit-context-menu.is-open{display:grid;gap:4px}
.bulk-edit-context-menu button{display:flex;align-items:center;gap:10px;width:100%;min-height:40px;padding:9px 10px;border:0;border-radius:10px;background:transparent;color:#334155;font-size:13px;font-weight:900;text-align:left;box-shadow:none;cursor:pointer}
.bulk-edit-context-menu button:hover,.bulk-edit-context-menu button:focus-visible{background:#f1f5f9;outline:0}
.bulk-edit-context-menu button:disabled{color:#94a3b8;cursor:not-allowed}
.bulk-edit-context-menu button i{width:16px;color:#64748b;text-align:center}
.bulk-edit-modal{align-items:flex-start;padding:28px 16px;overflow:auto}
body.bulk-edit-is-open{overflow:hidden}
.bulk-edit-modal-content{width:min(980px,calc(100vw - 32px));max-height:calc(100dvh - 48px);overflow:auto;border:1px solid #d6dfeb;border-radius:20px;background:#fff;box-shadow:0 28px 80px rgba(15,23,42,.24)}
.bulk-edit-modal .modal-header{position:sticky;top:0;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid #e5eaf1;background:rgba(255,255,255,.96);backdrop-filter:blur(12px)}
.bulk-edit-modal .modal-header h2{margin:0;color:#172033}
.bulk-edit-modal .modal-header p{margin:4px 0 0;color:#64748b}
.bulk-edit-warning{display:flex;align-items:flex-start;gap:10px;margin:16px 20px 0;padding:12px 14px;border:1px solid #fde68a;border-radius:14px;background:#fffbeb;color:#92400e;font-size:13px;font-weight:850}
.bulk-edit-form{display:grid;gap:14px;padding:16px 20px 20px}
.bulk-edit-field-list{display:grid;gap:10px}
.bulk-edit-field{display:grid;grid-template-columns:170px minmax(0,1fr);gap:14px;align-items:start;padding:14px;border:1px solid #dbe3ee;border-radius:16px;background:#fff}
.bulk-edit-field-toggle{display:flex!important;align-items:center;gap:9px;min-height:42px;color:#334155;font-size:13px;font-weight:900}
.bulk-edit-field-toggle input{accent-color:#334155}
.bulk-edit-field-main{display:grid;grid-template-columns:minmax(160px,1fr) minmax(150px,.75fr) minmax(210px,1fr);gap:12px;align-items:end}
.bulk-edit-field-main strong{display:block;color:#172033}
.bulk-edit-field-main small{display:block;margin-top:3px;color:#64748b;font-size:12px;font-weight:800}
.bulk-edit-current{display:grid;gap:4px;min-height:54px;padding:10px 12px;border:1px solid #dbe3ee;border-radius:12px;background:#f8fafc}
.bulk-edit-current span,.bulk-edit-new-value span{color:#64748b;font-size:11px;font-weight:900;text-transform:uppercase}
.bulk-edit-current b{color:#172033;font-size:13px}
.bulk-edit-current.is-mixed{border-color:#fde68a;background:#fffbeb}
.bulk-edit-current.is-mixed b{color:#92400e}
.bulk-edit-new-value{display:grid!important;gap:6px;color:#172033;font-weight:850}
.bulk-edit-new-value input,.bulk-edit-new-value select,.bulk-edit-new-value textarea{width:100%;min-height:42px;padding:9px 11px;border:1px solid #d6dfeb;border-radius:12px;background:#fff;color:#172033;outline:0}
.bulk-edit-new-value input:focus,.bulk-edit-new-value select:focus,.bulk-edit-new-value textarea:focus{border-color:#334155;box-shadow:0 0 0 3px rgba(51,65,85,.12)}
.bulk-edit-errors{padding:11px 12px;border:1px solid #fecdd3;border-radius:12px;background:#fff1f2;color:#be123c;font-weight:850}
.bulk-edit-footer{position:sticky;bottom:0;display:flex;align-items:center;justify-content:flex-end;gap:10px;margin:4px -20px -20px;padding:12px 20px;border-top:1px solid #e5eaf1;background:rgba(255,255,255,.96);backdrop-filter:blur(12px)}
.bulk-edit-footer span{margin-right:auto;color:#64748b;font-size:13px;font-weight:900}
.bulk-edit-footer .primary-btn,.bulk-edit-footer .secondary-btn{width:auto}
.bulk-edit-mobile-bar{position:sticky;bottom:10px;z-index:12;display:none;align-items:center;justify-content:space-between;gap:10px;margin:12px 0 0;padding:10px 12px;border:1px solid #d6dfeb;border-radius:15px;background:rgba(255,255,255,.96);box-shadow:0 16px 45px rgba(15,23,42,.16);backdrop-filter:blur(12px)}
.bulk-edit-mobile-bar span{color:#334155;font-size:13px;font-weight:900}
.bulk-edit-mobile-bar .secondary-btn{width:auto}
.bulk-edit-mobile-bar.is-visible{display:flex}
.users-table tr:has(input[type="checkbox"]:checked),.task-enterprise-table tr:has(input[type="checkbox"]:checked){background:#f8fafc;box-shadow:inset 3px 0 0 #334155}
@media (max-width:900px){
    .bulk-edit-context-menu{display:none!important}
    .bulk-edit-modal{padding:0!important}
    .bulk-edit-modal-content{width:100vw!important;max-width:100vw!important;min-height:100dvh;max-height:100dvh;border-radius:0}
    .bulk-edit-field{grid-template-columns:1fr}
    .bulk-edit-field-main{grid-template-columns:1fr}
    .bulk-edit-footer{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto}
    .bulk-edit-footer .primary-btn,.bulk-edit-footer .secondary-btn{flex:0 0 auto;width:auto!important}
}

/* Calendar enterprise polish */
.calendar-mobile-controls,.calendar-mobile-backdrop,.calendar-mobile-close,.calendar-mobile-filter-heading{display:none}
.calendar-layout{min-height:calc(100dvh - 130px)}
.calendar-main,.calendar-shell-card{min-height:calc(100dvh - 154px)}
.calendar-shell-card{grid-template-rows:auto auto auto minmax(0,1fr)}
.calendar-command-bar{align-items:center!important}
.calendar-command-left,.calendar-command-right{gap:10px}
.calendar-command-left .primary-btn{min-height:44px;padding:0 15px}
.calendar-view-switcher{border-radius:14px!important}
.calendar-view-switcher button{border-radius:10px!important}
.calendar-filter-bar{grid-template-columns:minmax(260px,1fr) 150px 160px 150px 150px auto auto auto!important}
.calendar-mobile-filter-heading{grid-column:1/-1}
.calendar-mini-date-picker{display:grid;gap:7px;padding:12px;border:1px solid #dbe3ee;border-radius:13px;background:#fff;color:#172033;font-weight:900}
.calendar-mini-date-picker span{color:#64748b;font-size:12px;text-transform:uppercase}
.calendar-mini-date-picker input{min-height:40px;padding:8px 10px;border:1px solid #d6dfeb;border-radius:10px;background:#f8fafc;color:#172033}
.calendar-toggle-filter{display:flex;align-items:center;gap:8px;min-height:42px;padding:0 12px;border:1px solid #d6dfeb;border-radius:12px;background:#fff;color:#334155;font-size:13px;font-weight:900}
.calendar-toggle-filter input{accent-color:#334155}
.calendar-active-context{align-items:center}
.calendar-active-context > span,.calendar-active-context .calendar-filter-chip{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:6px 10px;border:1px solid #d6dfeb;border-radius:999px;background:#fff;color:#475569;font-size:12px;font-weight:900}
.calendar-active-context .calendar-filter-chip{cursor:pointer}
.calendar-active-context .calendar-filter-chip:hover{border-color:#334155;background:#f8fafc}
#calendar{height:100%!important;min-height:690px}
#calendar .fc{height:100%}
#calendar .fc-scrollgrid{border-radius:14px;overflow:hidden}
#calendar .fc-daygrid-day-frame{min-height:118px;padding:4px}
#calendar .fc-timegrid-slot{height:42px}
#calendar .fc-event{cursor:pointer}
.calendar-detail-actions .primary-btn,.calendar-detail-actions .secondary-btn{width:auto}
.calendar-settings-list label strong{display:block;margin-top:4px;color:#172033}
.calendar-settings-list label{align-content:start}
.calendar-settings-status-card{display:grid;gap:7px;padding:14px;border:1px solid #dbe3ee;border-radius:14px;background:#f8fafc}
.calendar-settings-status-card span{color:#64748b;font-size:12px;font-weight:900;text-transform:uppercase}
.calendar-settings-status-card strong{color:#172033;font-size:18px}
.calendar-settings-status-card p{margin:0;color:#64748b;font-size:13px;line-height:1.45}
.calendar-settings-status-card .secondary-btn{justify-self:start;width:auto}
@media (max-width:1180px){
    .calendar-filter-bar{grid-template-columns:1fr 1fr!important}
}
@media (max-width:900px){
    .calendar-mobile-controls{display:flex;align-items:center;gap:8px;position:sticky;top:8px;z-index:50;margin-bottom:10px;padding:8px;border:1px solid #d6dfeb;border-radius:16px;background:rgba(255,255,255,.94);box-shadow:0 12px 34px rgba(15,23,42,.12);backdrop-filter:blur(12px);overflow-x:auto}
    .calendar-mobile-controls .secondary-btn{width:auto!important;flex:0 0 auto}
    .calendar-mobile-view-select{display:flex;align-items:center;gap:8px;flex:0 0 auto;min-height:44px;padding:0 10px;border:1px solid #d6dfeb;border-radius:12px;background:#fff;color:#334155;font-size:13px;font-weight:900}
    .calendar-mobile-view-select span{color:#64748b;font-size:11px;text-transform:uppercase}
    .calendar-mobile-view-select select{min-height:34px;border:0;background:transparent;color:#172033;font-weight:900;outline:0}
    .calendar-mobile-backdrop{position:fixed;inset:0;z-index:10005;background:rgba(15,23,42,.42)}
    body.calendar-sidebar-open .calendar-mobile-backdrop,body.calendar-filter-open .calendar-mobile-backdrop{display:block}
    .calendar-sidebar{position:fixed!important;top:0!important;left:0!important;z-index:10010;width:min(360px,88vw)!important;height:100dvh!important;max-height:100dvh!important;overflow:auto;transform:translateX(-105%);transition:transform .2s ease;border-radius:0 20px 20px 0!important}
    body.calendar-sidebar-open .calendar-sidebar{transform:translateX(0)}
    .calendar-sidebar .calendar-collapse-toggle{display:none}
    .calendar-mobile-close{display:grid!important}
    .calendar-filter-bar{position:fixed;left:10px;right:10px;bottom:10px;z-index:10020;display:grid!important;grid-template-columns:1fr!important;gap:10px!important;max-height:min(78dvh,680px);overflow:auto;padding:16px!important;border:1px solid #d6dfeb;border-radius:20px;background:#fff;box-shadow:0 -20px 60px rgba(15,23,42,.24);transform:translateY(calc(100% + 30px));opacity:0;pointer-events:none;transition:transform .18s ease,opacity .18s ease}
    body.calendar-filter-open .calendar-filter-bar{transform:translateY(0);opacity:1;pointer-events:auto}
    .calendar-mobile-filter-heading{display:flex!important;align-items:flex-start;justify-content:space-between;gap:12px}
    .calendar-mobile-filter-heading strong{display:block;color:#172033}
    .calendar-mobile-filter-heading span{display:block;margin-top:3px;color:#64748b;font-size:12px;font-weight:800}
    .calendar-command-right .calendar-view-switcher{display:none!important}
    .calendar-command-bar{grid-template-columns:1fr!important;gap:12px!important}
    .calendar-command-left{justify-content:space-between}
    .calendar-command-title{text-align:left}
    .calendar-main,.calendar-shell-card{min-height:calc(100dvh - 176px)}
    #calendar{min-height:620px}
    #calendar .fc-daygrid-day-frame{min-height:92px}
}
@media (max-width:640px){
    .calendar-layout{min-height:0}
    .calendar-command-left{display:grid!important;grid-template-columns:1fr auto;align-items:center}
    .calendar-nav-buttons{grid-column:1/-1;display:flex!important;flex-wrap:nowrap!important;overflow-x:auto}
    .calendar-nav-buttons button{width:auto!important;flex:0 0 auto}
    .calendar-command-title strong{font-size:18px!important}
    #calendar{min-height:560px;padding:4px}
    #calendar .fc-list-event{min-height:54px}
    #calendar .fc-daygrid-day-frame{min-height:76px}
    #calendar .fc-daygrid-day-number{font-size:13px}
    .calendar-detail-drawer,.calendar-settings-drawer{width:100vw!important}
    .calendar-event-modal-content{width:100vw!important;max-width:100vw!important;min-height:100dvh;max-height:100dvh;border-radius:0!important}
}

/* Tortal public SaaS homepage v3 */
.public-site-v3
{
    --v3-ink:#0d1422;
    --v3-navy:#111827;
    --v3-charcoal:#263244;
    --v3-muted:#667085;
    --v3-line:#d8dfeb;
    --v3-panel:#fffffc;
    --v3-wash:#f6f7f2;
    --v3-sage:#74856f;
    --v3-copper:#a46a43;
    --v3-shadow:0 24px 70px rgba(17,24,39,.12);
    --v3-soft-shadow:0 16px 42px rgba(17,24,39,.08);
    margin:0;
    min-height:100vh;
    background:
        radial-gradient(circle at 12% 6%, rgba(116,133,111,.22), transparent 30rem),
        radial-gradient(circle at 86% 2%, rgba(164,106,67,.13), transparent 28rem),
        linear-gradient(180deg,#faf9f3 0%,#eef2ef 46%,#f9faf7 100%);
    color:var(--v3-ink);
    font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    scroll-behavior:smooth;
}

.public-site-v3 *
{
    box-sizing:border-box;
}

.public-site-v3 main
{
    display:grid;
    gap:0;
}

.public-site-v3 section
{
    scroll-margin-top:110px;
}

.public-nav-v3
{
    position:sticky;
    top:14px;
    z-index:100;
    display:flex;
    align-items:center;
    justify-content:space-between;
    width:min(1480px,calc(100% - 36px));
    min-height:68px;
    margin:14px auto 0;
    padding:10px 12px 10px 18px;
    border:1px solid rgba(17,24,39,.14);
    border-radius:22px;
    background:rgba(255,255,252,.86);
    box-shadow:0 18px 48px rgba(17,24,39,.1);
    backdrop-filter:blur(18px);
}

.public-nav-v3 .public-brand
{
    display:inline-flex;
    align-items:center;
    gap:10px;
    color:var(--v3-ink);
    font-size:21px;
    font-weight:950;
    text-decoration:none;
}

.public-nav-v3 .public-brand::before,
.public-footer-v3 .public-brand::before
{
    content:"";
    display:inline-grid;
    width:34px;
    height:34px;
    border-radius:11px;
    background:linear-gradient(135deg,var(--v3-navy),#465368);
    box-shadow:0 12px 24px rgba(17,24,39,.2);
}

.public-nav-v3 nav
{
    display:flex;
    align-items:center;
    gap:5px;
}

.public-nav-v3 nav a
{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:0 12px;
    border-radius:13px;
    color:#344054;
    font-size:14px;
    font-weight:850;
    text-decoration:none;
    transition:background .18s ease,color .18s ease,transform .18s ease;
}

.public-nav-v3 nav a:not(.primary-btn):hover
{
    background:#eef1ec;
    color:var(--v3-ink);
}

.public-menu-button
{
    display:none;
}

.public-site-v3 .primary-btn,
.public-site-v3 .secondary-btn
{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:46px;
    padding:0 18px;
    border:1px solid rgba(17,24,39,.18);
    border-radius:14px;
    font-weight:900;
    text-decoration:none;
    transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}

.public-site-v3 .primary-btn
{
    border-color:var(--v3-navy);
    background:linear-gradient(135deg,var(--v3-navy),#2d3748);
    color:#fff;
    box-shadow:0 14px 30px rgba(17,24,39,.2);
}

.public-site-v3 .secondary-btn
{
    background:rgba(255,255,252,.84);
    color:var(--v3-ink);
}

.public-site-v3 .primary-btn:hover,
.public-site-v3 .secondary-btn:hover
{
    transform:translateY(-1px);
    box-shadow:0 18px 38px rgba(17,24,39,.16);
}

.public-site-v3 a:focus-visible,
.public-site-v3 button:focus-visible
{
    outline:3px solid rgba(116,133,111,.36);
    outline-offset:3px;
}

.public-hero-v3
{
    position:relative;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(520px,.86fr);
    gap:58px;
    align-items:center;
    width:min(1480px,calc(100% - 48px));
    min-height:calc(100vh - 92px);
    margin:0 auto;
    padding:78px 0 86px;
}

.public-hero-v3::before
{
    content:"";
    position:absolute;
    inset:70px -40px auto auto;
    z-index:-1;
    width:min(560px,44vw);
    height:min(560px,44vw);
    border-radius:999px;
    background:radial-gradient(circle,rgba(116,133,111,.22),transparent 70%);
    filter:blur(8px);
}

.public-kicker
{
    display:inline-flex;
    align-items:center;
    width:max-content;
    max-width:100%;
    min-height:32px;
    margin-bottom:16px;
    padding:6px 11px;
    border:1px solid rgba(116,133,111,.28);
    border-radius:999px;
    background:rgba(255,255,252,.66);
    color:#435044;
    font-size:12px;
    font-weight:950;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.public-hero-copy h1
{
    max-width:960px;
    margin:0;
    color:var(--v3-ink);
    font-size:clamp(48px,6.5vw,88px);
    line-height:.98;
    letter-spacing:-.035em;
}

.public-hero-copy p
{
    max-width:760px;
    margin:24px 0 0;
    color:#4b5563;
    font-size:20px;
    line-height:1.6;
}

.public-actions
{
    display:flex;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
    margin-top:28px;
}

.public-trust-strip
{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-top:24px;
}

.public-trust-strip span,
.public-logo-strip span
{
    display:inline-flex;
    align-items:center;
    gap:8px;
    min-height:40px;
    padding:9px 12px;
    border:1px solid rgba(17,24,39,.14);
    border-radius:999px;
    background:rgba(255,255,252,.78);
    color:#354052;
    font-size:13px;
    font-weight:900;
    box-shadow:0 10px 26px rgba(17,24,39,.06);
}

.public-dashboard-preview-v3
{
    overflow:hidden;
    border:1px solid rgba(17,24,39,.16);
    border-radius:30px;
    background:linear-gradient(180deg,rgba(255,255,252,.94),rgba(244,247,242,.94));
    box-shadow:0 38px 100px rgba(17,24,39,.2);
}

.preview-browser-bar
{
    display:flex;
    align-items:center;
    gap:7px;
    padding:15px 18px;
    border-bottom:1px solid rgba(17,24,39,.1);
    background:rgba(255,255,255,.7);
}

.preview-browser-bar span
{
    width:10px;
    height:10px;
    border-radius:999px;
    background:#cbd5e1;
}

.preview-browser-bar strong
{
    margin-left:8px;
    color:#334155;
    font-size:13px;
}

.preview-app-shell
{
    display:grid;
    grid-template-columns:64px minmax(0,1fr);
    gap:0;
    padding:16px;
}

.preview-side-rail
{
    display:grid;
    align-content:start;
    gap:12px;
    padding:12px 9px;
    border-radius:18px;
    background:#111827;
}

.preview-side-rail span
{
    width:34px;
    height:34px;
    border-radius:11px;
    background:rgba(255,255,255,.16);
}

.preview-main-board
{
    display:grid;
    gap:14px;
    padding-left:16px;
}

.preview-main-header
{
    display:flex;
    justify-content:space-between;
    gap:14px;
    padding:14px;
    border:1px solid var(--v3-line);
    border-radius:18px;
    background:#fff;
}

.preview-main-header small,
.preview-metric-grid small
{
    display:block;
    color:var(--v3-muted);
    font-size:11px;
    font-weight:950;
    text-transform:uppercase;
}

.preview-main-header strong
{
    display:block;
    margin-top:3px;
    color:var(--v3-ink);
    font-size:20px;
}

.preview-main-header > span
{
    align-self:start;
    padding:6px 9px;
    border-radius:999px;
    background:#eef1ec;
    color:#435044;
    font-size:11px;
    font-weight:950;
}

.preview-metric-grid
{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
}

.preview-metric-grid article,
.preview-task-list,
.preview-activity-timeline
{
    display:grid;
    gap:5px;
    padding:14px;
    border:1px solid var(--v3-line);
    border-radius:16px;
    background:#fff;
    box-shadow:0 10px 26px rgba(17,24,39,.06);
}

.preview-metric-grid strong
{
    color:var(--v3-ink);
    font-size:26px;
}

.preview-metric-grid span,
.preview-task-list span,
.preview-activity-timeline span
{
    color:var(--v3-muted);
    font-size:12px;
    font-weight:850;
}

.preview-split-row
{
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:12px;
}

.preview-task-list p,
.preview-activity-timeline p
{
    margin:0;
    padding:9px;
    border-radius:12px;
    background:#f8fafc;
    color:#334155;
    font-size:13px;
    font-weight:800;
}

.preview-task-list em
{
    float:right;
    color:#8a4f2d;
    font-style:normal;
    font-size:11px;
}

.public-section
{
    width:min(1480px,calc(100% - 48px));
    margin:0 auto;
    padding:86px 0;
}

.public-section:nth-of-type(even):not(.public-hero-v3)
{
    width:100%;
    max-width:none;
    padding-left:max(24px,calc((100vw - 1480px) / 2));
    padding-right:max(24px,calc((100vw - 1480px) / 2));
    background:rgba(255,255,252,.42);
    border-block:1px solid rgba(17,24,39,.06);
}

.public-logo-strip
{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
    padding-top:20px;
    padding-bottom:20px;
}

.public-logo-strip span
{
    justify-content:center;
    border-radius:16px;
}

.public-section-heading
{
    max-width:860px;
    margin-bottom:28px;
}

.public-section-heading h2,
.public-problem-solution h2,
.public-final-cta h2
{
    margin:0;
    color:var(--v3-ink);
    font-size:clamp(34px,4vw,58px);
    line-height:1.05;
    letter-spacing:-.025em;
}

.public-section-heading p,
.public-problem-solution p,
.public-final-cta p
{
    color:var(--v3-muted);
    font-size:17px;
    line-height:1.65;
}

.public-problem-solution
{
    display:grid;
    grid-template-columns:minmax(0,1fr) 420px;
    gap:40px;
    align-items:center;
}

.public-solution-card
{
    padding:28px;
    border:1px solid rgba(17,24,39,.14);
    border-radius:26px;
    background:rgba(255,255,252,.86);
    box-shadow:var(--v3-soft-shadow);
}

.public-solution-card i
{
    display:grid;
    place-items:center;
    width:52px;
    height:52px;
    margin-bottom:18px;
    border-radius:16px;
    background:#eef1ec;
    color:#435044;
}

.public-solution-card h3
{
    margin:0 0 10px;
    color:var(--v3-ink);
    font-size:26px;
}

.public-feature-grid-v3
{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:16px;
}

.public-feature-grid-v3 article,
.product-tour-row,
.workspace-comparison article,
.public-steps-v3 article,
.security-grid span,
.plans-grid article,
.public-final-cta
{
    border:1px solid rgba(17,24,39,.14);
    background:rgba(255,255,252,.84);
    box-shadow:var(--v3-soft-shadow);
}

.public-feature-grid-v3 article
{
    display:grid;
    gap:10px;
    min-height:250px;
    padding:22px;
    border-radius:22px;
    transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}

.public-feature-grid-v3 article:hover,
.product-tour-row:hover,
.workspace-comparison article:hover,
.plans-grid article:hover
{
    transform:translateY(-3px);
    border-color:rgba(17,24,39,.24);
    box-shadow:0 26px 66px rgba(17,24,39,.12);
}

.public-feature-grid-v3 i,
.public-steps-v3 i
{
    display:grid;
    place-items:center;
    width:44px;
    height:44px;
    border-radius:14px;
    background:#eef1ec;
    color:#435044;
}

.public-feature-grid-v3 h3,
.product-tour-row h3,
.workspace-comparison h3,
.public-steps-v3 h3,
.plans-grid h3
{
    margin:0;
    color:var(--v3-ink);
    font-size:21px;
}

.public-feature-grid-v3 p,
.product-tour-row p,
.workspace-comparison p,
.public-steps-v3 p,
.plans-grid p
{
    margin:0;
    color:var(--v3-muted);
    line-height:1.58;
}

.public-feature-grid-v3 article > span
{
    align-self:end;
    width:max-content;
    padding:6px 9px;
    border-radius:999px;
    background:#f1f5f9;
    color:#475569;
    font-size:11px;
    font-weight:950;
    text-transform:uppercase;
}

.public-product-tour
{
    display:grid;
    gap:18px;
}

.product-tour-row
{
    display:grid;
    grid-template-columns:minmax(280px,.72fr) minmax(0,1fr);
    gap:28px;
    align-items:center;
    padding:28px;
    border-radius:28px;
    transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}

.product-tour-row-alt
{
    grid-template-columns:minmax(0,1fr) minmax(280px,.72fr);
}

.product-tour-row-alt > div:first-child
{
    order:2;
}

.tour-mockup
{
    display:grid;
    gap:10px;
    min-height:260px;
    padding:18px;
    border:1px solid var(--v3-line);
    border-radius:22px;
    background:linear-gradient(180deg,#ffffff,#f8fafc);
}

.task-tour
{
    grid-template-columns:repeat(4,minmax(0,1fr));
}

.task-tour p
{
    grid-column:1/-1;
    padding:12px;
    border-radius:14px;
    background:#fff;
    border:1px solid var(--v3-line);
}

.task-tour span,
.governance-tour span
{
    display:grid;
    gap:8px;
    padding:12px;
    border-radius:14px;
    background:#f1f5f9;
    color:#475569;
    font-weight:900;
}

.task-tour b,
.governance-tour b
{
    color:var(--v3-ink);
    font-size:22px;
}

.calendar-tour
{
    grid-template-columns:repeat(5,minmax(0,1fr));
}

.calendar-tour div
{
    display:grid;
    place-items:center;
    min-height:92px;
    border-radius:16px;
    background:#f1f5f9;
    color:#475569;
    font-weight:950;
}

.calendar-tour .active
{
    background:var(--v3-navy);
    color:#fff;
}

.calendar-tour p,
.comms-tour p
{
    grid-column:1/-1;
    margin:0;
    padding:12px;
    border:1px solid var(--v3-line);
    border-radius:14px;
    background:#fff;
    color:#334155;
    font-weight:850;
}

.people-tour
{
    align-content:center;
    text-align:center;
}

.people-tour span,
.people-tour small
{
    display:inline-flex;
    justify-content:center;
    padding:10px 12px;
    border:1px solid var(--v3-line);
    border-radius:13px;
    background:#fff;
    color:#334155;
    font-weight:900;
}

.people-tour > span
{
    justify-self:center;
    background:var(--v3-navy);
    color:#fff;
}

.people-tour div
{
    display:flex;
    justify-content:center;
    gap:10px;
    flex-wrap:wrap;
}

.governance-tour
{
    grid-template-columns:1fr 1fr;
}

.workspace-comparison,
.public-steps-v3,
.security-grid,
.plans-grid
{
    display:grid;
    gap:18px;
}

.workspace-comparison
{
    grid-template-columns:1fr 1fr;
}

.workspace-comparison article,
.plans-grid article
{
    display:grid;
    gap:16px;
    padding:28px;
    border-radius:26px;
}

.featured-workspace-card
{
    background:
        radial-gradient(circle at 90% 10%, rgba(116,133,111,.22), transparent 18rem),
        rgba(255,255,252,.9) !important;
}

.workspace-comparison ul
{
    display:grid;
    gap:9px;
    margin:0;
    padding:0;
    list-style:none;
}

.workspace-comparison li
{
    position:relative;
    padding-left:22px;
    color:#475569;
    font-weight:800;
}

.workspace-comparison li::before
{
    content:"";
    position:absolute;
    top:.65em;
    left:0;
    width:8px;
    height:8px;
    border-radius:999px;
    background:var(--v3-sage);
}

.public-steps-v3
{
    grid-template-columns:repeat(4,minmax(0,1fr));
}

.public-steps-v3 article
{
    position:relative;
    display:grid;
    gap:12px;
    padding:24px;
    border-radius:24px;
}

.public-steps-v3 article > span
{
    position:absolute;
    top:18px;
    right:18px;
    color:rgba(17,24,39,.13);
    font-size:44px;
    font-weight:950;
}

.security-grid
{
    grid-template-columns:repeat(4,minmax(0,1fr));
}

.security-grid span
{
    display:flex;
    align-items:center;
    gap:10px;
    min-height:72px;
    padding:16px;
    border-radius:18px;
    color:#334155;
    font-weight:900;
}

.security-grid i
{
    color:var(--v3-sage);
}

.plans-grid
{
    grid-template-columns:repeat(3,minmax(0,1fr));
}

.public-final-cta
{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:28px;
    margin-bottom:78px;
    padding:38px;
    border-radius:32px;
    background:
        radial-gradient(circle at 86% 10%, rgba(116,133,111,.24), transparent 22rem),
        linear-gradient(135deg,#ffffff,#eef1ec);
}

.public-final-cta p
{
    max-width:680px;
}

.public-footer-v3
{
    display:grid;
    grid-template-columns:minmax(260px,1.4fr) repeat(3,minmax(160px,.6fr));
    gap:28px;
    width:min(1480px,calc(100% - 48px));
    margin:0 auto;
    padding:38px 0 48px;
    border-top:1px solid rgba(17,24,39,.12);
    color:#475569;
}

.public-footer-v3 .public-brand
{
    display:inline-flex;
    align-items:center;
    gap:10px;
    margin-bottom:12px;
    color:var(--v3-ink);
    font-size:20px;
    font-weight:950;
    text-decoration:none;
}

.public-footer-v3 p
{
    max-width:440px;
    margin:0;
    line-height:1.6;
}

.public-footer-v3 nav
{
    display:grid;
    align-content:start;
    gap:9px;
}

.public-footer-v3 strong
{
    color:var(--v3-ink);
}

.public-footer-v3 a
{
    color:#475569;
    text-decoration:none;
    font-weight:750;
}

.public-footer-v3 a:hover
{
    color:var(--v3-ink);
}

.public-footer-v3 small
{
    grid-column:1/-1;
    padding-top:10px;
    color:#667085;
}

@media (max-width:1180px)
{
    .public-hero-v3,
    .public-problem-solution,
    .product-tour-row,
    .product-tour-row-alt,
    .workspace-comparison,
    .public-final-cta
    {
        grid-template-columns:1fr;
    }

    .product-tour-row-alt > div:first-child
    {
        order:0;
    }

    .public-feature-grid-v3,
    .public-steps-v3,
    .security-grid
    {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media (max-width:860px)
{
    .public-nav-v3
    {
        align-items:center;
    }

    .public-menu-button
    {
        display:grid;
        place-items:center;
        width:44px;
        height:44px;
        border:1px solid rgba(17,24,39,.14);
        border-radius:14px;
        background:#fff;
        color:var(--v3-ink);
    }

    .public-nav-v3 nav
    {
        position:fixed;
        top:88px;
        left:16px;
        right:16px;
        z-index:110;
        display:none;
        grid-template-columns:1fr;
        gap:6px;
        padding:12px;
        border:1px solid rgba(17,24,39,.14);
        border-radius:20px;
        background:rgba(255,255,252,.96);
        box-shadow:0 22px 60px rgba(17,24,39,.18);
        backdrop-filter:blur(16px);
    }

    body.public-nav-open .public-nav-v3 nav
    {
        display:grid;
    }

    .public-nav-v3 nav a
    {
        justify-content:flex-start;
        min-height:46px;
    }

    .public-nav-v3 nav .primary-btn
    {
        justify-content:center;
    }
}

@media (max-width:760px)
{
    .public-nav-v3,
    .public-hero-v3,
    .public-section,
    .public-footer-v3
    {
        width:calc(100% - 24px);
    }

    .public-section:nth-of-type(even):not(.public-hero-v3)
    {
        padding-left:12px;
        padding-right:12px;
    }

    .public-hero-v3
    {
        min-height:auto;
        gap:30px;
        padding:44px 0 56px;
    }

    .public-hero-copy h1
    {
        font-size:clamp(38px,12vw,58px);
    }

    .public-hero-copy p
    {
        font-size:17px;
    }

    .public-actions
    {
        display:grid;
        grid-template-columns:1fr;
    }

    .public-actions .primary-btn,
    .public-actions .secondary-btn
    {
        width:100%;
    }

    .public-logo-strip,
    .public-feature-grid-v3,
    .public-steps-v3,
    .security-grid,
    .plans-grid,
    .preview-metric-grid,
    .preview-split-row,
    .task-tour,
    .calendar-tour,
    .governance-tour,
    .public-footer-v3
    {
        grid-template-columns:1fr;
    }

    .preview-app-shell
    {
        grid-template-columns:1fr;
    }

    .preview-side-rail
    {
        display:none;
    }

    .preview-main-board
    {
        padding-left:0;
    }

    .public-feature-grid-v3 article
    {
        min-height:auto;
    }

    .product-tour-row,
    .workspace-comparison article,
    .plans-grid article,
    .public-final-cta
    {
        padding:22px;
        border-radius:22px;
    }

    .tour-mockup
    {
        min-height:auto;
    }

    .public-footer-v3 small
    {
        grid-column:auto;
    }
}

@media (prefers-reduced-motion:reduce)
{
    .public-site-v3 *,
    .public-site-v3 *::before,
    .public-site-v3 *::after
    {
        scroll-behavior:auto !important;
        transition:none !important;
    }
}

/* Public homepage hero correction */
.public-site-v3
{
    background:#f6f7f2;
}

.public-site-v3 .public-nav-v3
{
    width:min(1280px,calc(100% - 36px));
}

.public-site-v3 .public-nav-v3 nav .primary-btn
{
    min-height:46px;
    padding-inline:18px;
}

.public-site-v3 .public-hero-v3
{
    width:100%;
    max-width:none;
    min-height:auto;
    margin:-84px 0 0;
    padding:150px 24px 78px;
    background:
        radial-gradient(circle at 16% 18%, rgba(116,133,111,.28), transparent 28rem),
        radial-gradient(circle at 82% 18%, rgba(76,94,124,.34), transparent 30rem),
        linear-gradient(135deg,#07111f 0%,#111827 46%,#263244 100%);
    color:#fff;
}

.public-site-v3 .public-hero-inner-v3
{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(500px,.92fr);
    gap:54px;
    align-items:center;
    width:min(1280px,100%);
    margin:0 auto;
}

.public-site-v3 .public-hero-v3::before,
.public-site-v3 .public-hero-v3::after
{
    display:none;
}

.public-site-v3 .public-hero-v3 .public-kicker
{
    border-color:rgba(255,255,255,.18);
    background:rgba(255,255,255,.08);
    color:#dbe7da;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}

.public-site-v3 .public-hero-copy h1
{
    max-width:720px;
    color:#ffffff;
    font-size:clamp(42px,4.7vw,68px);
    line-height:1.03;
    letter-spacing:-.028em;
}

.public-site-v3 .public-hero-copy p
{
    max-width:660px;
    color:#d5dbe5;
    font-size:clamp(17px,1.35vw,20px);
    line-height:1.65;
}

.public-site-v3 .public-hero-v3 .primary-btn
{
    min-height:52px;
    padding-inline:22px;
    border-color:#f8fafc;
    background:#ffffff !important;
    color:#111827 !important;
    box-shadow:0 18px 42px rgba(0,0,0,.24) !important;
}

.public-site-v3 .public-hero-v3 .secondary-btn
{
    min-height:52px;
    padding-inline:22px;
    border-color:rgba(255,255,255,.22) !important;
    background:rgba(255,255,255,.08) !important;
    color:#f8fafc !important;
    box-shadow:none !important;
}

.public-site-v3 .public-hero-v3 .secondary-btn:hover
{
    background:rgba(255,255,255,.14) !important;
}

.public-site-v3 .public-trust-strip span
{
    border-color:rgba(255,255,255,.16) !important;
    background:rgba(255,255,255,.08) !important;
    color:#e5eaf1;
    box-shadow:none !important;
}

.public-site-v3 .public-trust-strip i
{
    color:#dbe7da;
}

.public-site-v3 .public-dashboard-preview-v3
{
    align-self:center;
    width:100%;
    max-width:620px;
    justify-self:end;
    border-color:rgba(255,255,255,.16);
    background:rgba(255,255,255,.9);
    box-shadow:0 34px 100px rgba(0,0,0,.34);
    transform:none;
}

.public-site-v3 .preview-browser-bar
{
    background:rgba(248,250,252,.92);
}

.public-site-v3 .preview-app-shell
{
    padding:18px;
}

.public-site-v3 .preview-main-board
{
    gap:13px;
}

.public-site-v3 .preview-metric-grid
{
    grid-template-columns:repeat(3,minmax(0,1fr));
}

.public-site-v3 .preview-metric-grid article
{
    min-height:106px;
}

.public-site-v3 .preview-split-row
{
    grid-template-columns:1fr;
}

.public-site-v3 .public-audience-section
{
    margin-top:0;
    padding-top:72px;
}

.public-site-v3 .public-audience-section .public-section-heading
{
    max-width:760px;
}

.public-audience-grid
{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:16px;
}

.public-audience-grid article
{
    display:grid;
    gap:12px;
    min-height:230px;
    padding:24px;
    border:1px solid rgba(17,24,39,.13);
    border-radius:24px;
    background:rgba(255,255,252,.88);
    box-shadow:0 18px 44px rgba(17,24,39,.08);
}

.public-audience-grid i
{
    display:grid;
    place-items:center;
    width:46px;
    height:46px;
    border-radius:14px;
    background:#eef1ec;
    color:#435044;
}

.public-audience-grid h3
{
    margin:0;
    color:#111827;
    font-size:21px;
}

.public-audience-grid p
{
    margin:0;
    color:#667085;
    line-height:1.6;
}

@media (max-width:1180px)
{
    .public-site-v3 .public-hero-inner-v3
    {
        grid-template-columns:1fr;
        gap:38px;
    }

    .public-site-v3 .public-dashboard-preview-v3
    {
        justify-self:start;
        max-width:760px;
    }

    .public-audience-grid
    {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media (max-width:768px)
{
    .public-site-v3 .public-nav-v3
    {
        width:calc(100% - 24px);
    }

    .public-site-v3 .public-hero-v3
    {
        margin:-82px 0 0;
        padding:132px 16px 52px;
    }

    .public-site-v3 .public-hero-copy h1
    {
        font-size:clamp(36px,10vw,52px);
        line-height:1.05;
    }

    .public-site-v3 .public-hero-copy p
    {
        font-size:16px;
    }

    .public-site-v3 .public-hero-v3 .public-actions
    {
        grid-template-columns:1fr;
    }

    .public-site-v3 .public-hero-v3 .primary-btn,
    .public-site-v3 .public-hero-v3 .secondary-btn
    {
        width:100%;
    }

    .public-site-v3 .preview-app-shell
    {
        padding:12px;
    }

    .public-site-v3 .preview-metric-grid
    {
        grid-template-columns:1fr 1fr;
    }

    .public-site-v3 .preview-main-header
    {
        display:grid;
    }

    .public-audience-grid
    {
        grid-template-columns:1fr;
    }
}

@media (max-width:430px)
{
    .public-site-v3 .public-hero-v3
    {
        padding-left:12px;
        padding-right:12px;
    }

    .public-site-v3 .public-trust-strip span
    {
        width:100%;
    }

    .public-site-v3 .preview-metric-grid
    {
        grid-template-columns:1fr;
    }

    .public-site-v3 .preview-browser-bar strong
    {
        max-width:170px;
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
    }
}

/* CRM final overrides */
.crm-record-modal-content
{
    width:min(980px,calc(100vw - 32px));
}

.crm-grid-table tbody tr
{
    cursor:pointer;
}

.crm-grid-table tbody tr:hover
{
    background:#f8fafc;
}

.crm-pipeline-card select
{
    width:100%;
    min-height:38px;
    margin-top:4px;
}

.crm-list-panel .table-toolbar
{
    margin-bottom:12px;
}

/* Workspace and organization administration enhancements */
.organization-user-toolbar
{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-left:auto;
}

.inline-import-form
{
    display:inline-flex;
}

.clickable-row
{
    cursor:pointer;
}

.clickable-row:hover
{
    background:#f8fafc;
}

.invitation-link-modal-content
{
    width:min(680px,calc(100vw - 32px));
}

.copy-link-row
{
    display:grid;
    grid-template-columns:1fr auto;
    gap:10px;
}

.workspace-admin-modal-content
{
    width:min(1180px,calc(100vw - 28px));
    max-height:calc(100vh - 32px);
    overflow:auto;
    border:1px solid #d8e1ec;
    background:#fff !important;
    color:#172033;
    box-shadow:0 30px 90px rgba(15,23,42,.24);
}

.workspace-admin-modal .modal-header
{
    background:#fff;
    border-bottom:1px solid #e5eaf1;
}

.workspace-modal-header
{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
}

.workspace-modal-header-actions
{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:10px;
}

.workspace-admin-form
{
    display:block;
    background:#fff !important;
}

.workspace-admin-form .workspace-tab-panel
{
    background:#fff !important;
}

.workspace-admin-form label
{
    display:block;
    margin-bottom:6px;
    color:#334155;
    font-weight:800;
}

.workspace-admin-form input,
.workspace-admin-form select,
.workspace-admin-form textarea
{
    background:#fff;
}

.workspace-actions-shell
{
    position:relative;
}

.workspace-actions-menu,
.workspace-row-context-menu
{
    position:absolute;
    z-index:10070;
    display:none;
    min-width:240px;
    padding:8px;
    border:1px solid #d6dfeb;
    border-radius:14px;
    background:#fff;
    box-shadow:0 22px 60px rgba(15,23,42,.2);
}

.workspace-actions-menu
{
    top:calc(100% + 8px);
    right:0;
}

.workspace-row-context-menu
{
    position:fixed;
}

.workspace-actions-menu.is-open,
.workspace-row-context-menu.is-open
{
    display:grid;
    gap:4px;
}

.workspace-actions-menu button,
.workspace-row-context-menu button
{
    display:flex;
    align-items:center;
    gap:10px;
    width:100%;
    min-height:40px;
    padding:9px 10px;
    border:0;
    border-radius:10px;
    background:transparent;
    color:#334155;
    font-size:13px;
    font-weight:850;
    text-align:left;
    box-shadow:none;
    cursor:pointer;
}

.workspace-actions-menu button:hover,
.workspace-actions-menu button:focus-visible,
.workspace-row-context-menu button:hover,
.workspace-row-context-menu button:focus-visible
{
    background:#f1f5f9;
    outline:0;
    transform:none;
}

.workspace-actions-menu button i,
.workspace-row-context-menu button i
{
    width:16px;
    color:#64748b;
    text-align:center;
}

.workspace-actions-menu .danger-text,
.workspace-row-context-menu .danger-text
{
    color:#b91c1c;
}

.workspace-actions-menu .danger-text i,
.workspace-row-context-menu .danger-text i
{
    color:#b91c1c;
}

.workspace-modal-tabs
{
    margin-bottom:18px;
    overflow-x:auto;
    flex-wrap:nowrap;
}

.workspace-tab-panel
{
    display:none;
}

.workspace-tab-panel.active
{
    display:grid;
    gap:18px;
}

.workspace-modal-metrics
{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
    gap:12px;
}

.workspace-modal-metrics div
{
    display:grid;
    gap:6px;
    padding:14px;
    border:1px solid #d8e1ec;
    border-radius:14px;
    background:#f8fafc;
}

.workspace-modal-metrics span
{
    color:#667085;
    font-size:12px;
    font-weight:800;
    text-transform:uppercase;
}

.workspace-modal-metrics strong
{
    color:#1f2937;
    font-size:18px;
}

.workspace-action-grid
{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}

.workspace-modal-header-actions .secondary-btn
{
    width:auto;
    min-height:40px;
    padding:9px 13px;
    border:1px solid #cfd8e6;
    border-radius:12px;
    background:#fff;
    color:#334155;
    box-shadow:0 8px 18px rgba(15,23,42,.06);
}

.workspace-modal-header-actions .secondary-btn:hover
{
    border-color:#334155;
    background:#f8fafc;
    color:#172033;
}

.workspace-users-toolbar
{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
    margin:18px 0 12px;
}

.workspace-users-toolbar h3,
.workspace-data-header h3
{
    margin:0;
    color:#172033;
}

.workspace-users-toolbar p,
.workspace-data-header p
{
    margin:4px 0 0;
    color:#64748b;
}

.workspace-users-toolbar > div:last-child
{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    flex-wrap:wrap;
}

.workspace-users-grid-card
{
    overflow:auto;
}

.workspace-users-table
{
    min-width:920px;
}

.workspace-users-table td strong,
.workspace-users-table td small
{
    display:block;
}

.workspace-users-table td small
{
    margin-top:3px;
    color:#64748b;
    font-size:12px;
}

.workspace-users-table tr.selected-row td
{
    background:#eef2f7;
    box-shadow:inset 3px 0 0 #334155;
}

.workspace-user-admin-modal-content
{
    width:min(620px,calc(100vw - 28px));
    max-height:calc(100vh - 32px);
    overflow:auto;
    border:1px solid #d8e1ec;
    background:#fff;
    box-shadow:0 30px 90px rgba(15,23,42,.24);
}

.workspace-user-flags
{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    margin:16px 0;
}

.workspace-user-flags label
{
    display:flex;
    align-items:center;
    gap:9px;
    min-height:44px;
    padding:10px 12px;
    border:1px solid #d6dfeb;
    border-radius:13px;
    background:#f8fafc;
    color:#334155;
    font-weight:850;
}

.workspace-user-admin-actions
{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:10px;
    padding-top:14px;
    border-top:1px solid #e5eaf1;
}

.workspace-data-management
{
    display:grid;
    gap:28px;
    padding:26px;
    border:1px solid #dbe3ee;
    border-radius:18px;
    background:#fff;
    box-shadow:0 18px 45px rgba(15,23,42,.06);
}

.workspace-data-header
{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
}

.workspace-data-action-grid
{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
}

.workspace-data-action-card
{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:22px;
    min-height:132px;
    padding:24px 26px;
    border:1px solid #d7dfeb;
    border-radius:14px;
    background:#fff;
    color:#172033;
    text-align:left;
    box-shadow:0 10px 24px rgba(15,23,42,.035);
    cursor:pointer;
    transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease;
}

.workspace-data-action-card:hover,
.workspace-data-action-card:focus-visible
{
    border-color:#b9c6d8;
    background:#fff;
    box-shadow:0 18px 38px rgba(15,23,42,.09);
    outline:0;
    transform:translateY(-2px);
}

.workspace-data-action-icon
{
    display:grid;
    place-items:center;
    width:74px;
    height:74px;
    border-radius:999px;
    color:#334155;
    font-size:26px;
}

.workspace-data-action-icon.green{background:#ecfdf3;color:#166534}
.workspace-data-action-icon.blue{background:#eff6ff;color:#1d4ed8}
.workspace-data-action-icon.purple{background:#f5f3ff;color:#6d28d9}
.workspace-data-action-icon.amber{background:#fffbeb;color:#b45309}
.workspace-data-action-icon.teal{background:#f0fdfa;color:#0f766e}
.workspace-data-action-icon.indigo{background:#eef2ff;color:#4338ca}

.workspace-data-action-copy
{
    display:grid;
    gap:9px;
    min-width:0;
}

.workspace-data-action-copy strong
{
    color:#0f172a;
    font-size:16px;
    font-weight:950;
}

.workspace-data-action-copy small
{
    color:#334155;
    font-size:15px;
    line-height:1.55;
}

.workspace-data-action-arrow
{
    color:#64748b;
    font-size:20px;
}

.workspace-data-security-panel
{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:22px;
    padding:22px 26px;
    border:1px solid #d7e4f7;
    border-radius:12px;
    background:linear-gradient(135deg,#eef6ff,#f7fbff);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.75);
}

.workspace-data-security-panel > div
{
    display:flex;
    align-items:center;
    gap:22px;
}

.workspace-data-security-icon
{
    display:grid;
    place-items:center;
    width:64px;
    height:64px;
    border-radius:999px;
    background:#dbeafe;
    color:#1d4ed8;
    font-size:24px;
}

.workspace-data-security-panel strong
{
    display:block;
    color:#17418b;
    font-size:16px;
    font-weight:950;
}

.workspace-data-security-panel p
{
    margin:7px 0 0;
    color:#2f4f7f;
    font-size:15px;
}

.workspace-data-security-panel .secondary-btn
{
    width:auto;
    min-height:48px;
    padding:0 22px;
    border:1px solid #d6dfeb;
    border-radius:10px;
    background:#fff;
    color:#334155;
    box-shadow:0 10px 22px rgba(15,23,42,.08);
    white-space:nowrap;
}

.workspace-tab-panel[data-workspace-tab="security"] .workspace-action-grid,
.workspace-tab-panel[data-workspace-tab="health"] .workspace-action-grid,
.workspace-tab-panel[data-workspace-tab="integrations"] .workspace-action-grid
{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
    margin-top:18px;
}

.workspace-tab-panel[data-workspace-tab="security"] .workspace-action-grid .secondary-btn,
.workspace-tab-panel[data-workspace-tab="security"] .workspace-action-grid .primary-btn,
.workspace-tab-panel[data-workspace-tab="health"] .workspace-action-grid .secondary-btn,
.workspace-tab-panel[data-workspace-tab="health"] .workspace-action-grid .primary-btn,
.workspace-tab-panel[data-workspace-tab="integrations"] .workspace-action-grid .secondary-btn,
.workspace-tab-panel[data-workspace-tab="integrations"] .workspace-action-grid .primary-btn
{
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:92px;
    padding:20px 22px;
    border:1px solid #d7dfeb;
    border-radius:14px;
    background:#fff !important;
    color:#0f172a !important;
    text-align:left;
    box-shadow:0 10px 24px rgba(15,23,42,.035) !important;
    transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}

.workspace-tab-panel[data-workspace-tab="security"] .workspace-action-grid .secondary-btn::after,
.workspace-tab-panel[data-workspace-tab="security"] .workspace-action-grid .primary-btn::after,
.workspace-tab-panel[data-workspace-tab="health"] .workspace-action-grid .secondary-btn::after,
.workspace-tab-panel[data-workspace-tab="health"] .workspace-action-grid .primary-btn::after,
.workspace-tab-panel[data-workspace-tab="integrations"] .workspace-action-grid .secondary-btn::after,
.workspace-tab-panel[data-workspace-tab="integrations"] .workspace-action-grid .primary-btn::after
{
    content:"\f054";
    font-family:"Font Awesome 6 Free";
    font-weight:900;
    color:#64748b;
}

.workspace-tab-panel[data-workspace-tab="security"] .workspace-action-grid .secondary-btn:hover,
.workspace-tab-panel[data-workspace-tab="security"] .workspace-action-grid .primary-btn:hover,
.workspace-tab-panel[data-workspace-tab="health"] .workspace-action-grid .secondary-btn:hover,
.workspace-tab-panel[data-workspace-tab="health"] .workspace-action-grid .primary-btn:hover,
.workspace-tab-panel[data-workspace-tab="integrations"] .workspace-action-grid .secondary-btn:hover,
.workspace-tab-panel[data-workspace-tab="integrations"] .workspace-action-grid .primary-btn:hover
{
    border-color:#b9c6d8;
    box-shadow:0 18px 38px rgba(15,23,42,.09) !important;
    transform:translateY(-2px);
}

body.theme-dark .workspace-data-action-card,
body.theme-dark .workspace-user-admin-modal-content,
body.theme-dark .workspace-modal-header-actions .secondary-btn
{
    border-color:rgba(148,163,184,.22);
    background:#111827;
    color:#e5e7eb;
}

body.theme-dark .workspace-data-action-copy strong,
body.theme-dark .workspace-users-toolbar h3,
body.theme-dark .workspace-data-header h3
{
    color:#f8fafc;
}

body.theme-dark .workspace-data-security-panel,
body.theme-dark .workspace-user-flags label
{
    border-color:rgba(148,163,184,.22);
    background:#0f172a;
}

@media (max-width:980px)
{
    .workspace-data-action-grid,
    .workspace-tab-panel[data-workspace-tab="security"] .workspace-action-grid,
    .workspace-tab-panel[data-workspace-tab="health"] .workspace-action-grid,
    .workspace-tab-panel[data-workspace-tab="integrations"] .workspace-action-grid
    {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media (max-width:680px)
{
    .workspace-users-toolbar,
    .workspace-data-security-panel
    {
        display:grid;
    }

    .workspace-data-action-grid,
    .workspace-tab-panel[data-workspace-tab="security"] .workspace-action-grid,
    .workspace-tab-panel[data-workspace-tab="health"] .workspace-action-grid,
    .workspace-tab-panel[data-workspace-tab="integrations"] .workspace-action-grid,
    .workspace-user-flags
    {
        grid-template-columns:1fr;
    }

    .workspace-data-management
    {
        padding:18px;
    }

    .workspace-data-action-card
    {
        min-height:112px;
        padding:18px;
        gap:16px;
    }

    .workspace-data-action-icon
    {
        width:58px;
        height:58px;
        font-size:21px;
    }
}

.workspace-feature-list
{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}

.workspace-feature-list span
{
    padding:8px 12px;
    border:1px solid #d8e1ec;
    border-radius:999px;
    background:#f8fafc;
    color:#334155;
    font-weight:700;
}

.workspace-switcher-shell
{
    position:relative;
}

.workspace-switcher-button
{
    width:48px;
    height:48px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:14px;
    background:rgba(255,255,255,.08);
    color:#fff;
    display:grid;
    place-items:center;
}

.workspace-switcher-panel
{
    position:absolute;
    left:0;
    bottom:58px;
    display:none;
    width:280px;
    max-height:380px;
    overflow:auto;
    padding:12px;
    border:1px solid #d8e1ec;
    border-radius:16px;
    background:#fff;
    box-shadow:0 18px 48px rgba(15,23,42,.18);
    z-index:50;
}

.workspace-switcher-panel.open
{
    display:grid;
    gap:8px;
}

.workspace-switcher-panel strong
{
    padding:4px 6px 8px;
    color:#172033;
}

.workspace-switcher-panel form
{
    margin:0;
}

.workspace-switcher-panel button
{
    display:grid;
    width:100%;
    gap:3px;
    padding:10px 12px;
    border:1px solid transparent;
    border-radius:12px;
    background:#f8fafc;
    color:#172033;
    text-align:left;
}

.workspace-switcher-panel button.active
{
    border-color:#334155;
    background:#e8edf3;
}

.workspace-switcher-panel small
{
    color:#667085;
}

@media (max-width:720px)
{
    .copy-link-row,
    .workspace-admin-form .form-grid.two
    {
        grid-template-columns:1fr;
    }

    .organization-user-toolbar,
    .workspace-action-grid
    {
        width:100%;
    }
}

/* Final workspace data-management card lock: keep these tiles matching the admin reference design. */
html body .workspace-admin-modal .workspace-tab-panel[data-workspace-tab="data"] .workspace-data-management
{
    padding:26px !important;
    border:1px solid #dbe3ee !important;
    border-radius:18px !important;
    background:#fff !important;
    box-shadow:0 18px 45px rgba(15,23,42,.06) !important;
}

html body .workspace-admin-modal .workspace-tab-panel[data-workspace-tab="data"] .workspace-data-action-grid
{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:18px !important;
}

html body .workspace-admin-modal .workspace-tab-panel[data-workspace-tab="data"] button.workspace-data-action-card
{
    display:grid !important;
    grid-template-columns:74px minmax(0,1fr) 24px !important;
    align-items:center !important;
    gap:22px !important;
    min-height:132px !important;
    height:132px !important;
    width:100% !important;
    padding:24px 26px !important;
    border:1px solid #d7dfeb !important;
    border-radius:14px !important;
    background:#fff !important;
    background-image:none !important;
    color:#0f172a !important;
    text-align:left !important;
    box-shadow:0 10px 24px rgba(15,23,42,.035) !important;
    cursor:pointer !important;
    appearance:none !important;
    transform:none;
}

html body .workspace-admin-modal .workspace-tab-panel[data-workspace-tab="data"] button.workspace-data-action-card:hover,
html body .workspace-admin-modal .workspace-tab-panel[data-workspace-tab="data"] button.workspace-data-action-card:focus-visible
{
    border-color:#b9c6d8 !important;
    background:#fff !important;
    box-shadow:0 18px 38px rgba(15,23,42,.09) !important;
    outline:0 !important;
    transform:translateY(-2px);
}

html body .workspace-admin-modal .workspace-tab-panel[data-workspace-tab="data"] .workspace-data-action-icon
{
    display:grid !important;
    place-items:center !important;
    width:74px !important;
    height:74px !important;
    min-width:74px !important;
    min-height:74px !important;
    border-radius:999px !important;
    font-size:26px !important;
    line-height:1 !important;
}

html body .workspace-admin-modal .workspace-tab-panel[data-workspace-tab="data"] .workspace-data-action-icon i
{
    display:block !important;
    width:auto !important;
    height:auto !important;
    margin:0 !important;
    line-height:1 !important;
}

html body .workspace-admin-modal .workspace-tab-panel[data-workspace-tab="data"] .workspace-data-action-icon.green{background:#ecfdf3 !important;color:#15803d !important}
html body .workspace-admin-modal .workspace-tab-panel[data-workspace-tab="data"] .workspace-data-action-icon.blue{background:#e0f2fe !important;color:#1d4ed8 !important}
html body .workspace-admin-modal .workspace-tab-panel[data-workspace-tab="data"] .workspace-data-action-icon.purple{background:#f3e8ff !important;color:#6d28d9 !important}
html body .workspace-admin-modal .workspace-tab-panel[data-workspace-tab="data"] .workspace-data-action-icon.amber{background:#fef3c7 !important;color:#b45309 !important}
html body .workspace-admin-modal .workspace-tab-panel[data-workspace-tab="data"] .workspace-data-action-icon.teal{background:#dff7ed !important;color:#0f766e !important}
html body .workspace-admin-modal .workspace-tab-panel[data-workspace-tab="data"] .workspace-data-action-icon.indigo{background:#ede9fe !important;color:#4f46e5 !important}

html body .workspace-admin-modal .workspace-tab-panel[data-workspace-tab="data"] .workspace-data-action-copy
{
    display:grid !important;
    gap:8px !important;
    min-width:0 !important;
}

html body .workspace-admin-modal .workspace-tab-panel[data-workspace-tab="data"] .workspace-data-action-copy strong
{
    color:#0f172a !important;
    font-size:16px !important;
    font-weight:950 !important;
    line-height:1.25 !important;
}

html body .workspace-admin-modal .workspace-tab-panel[data-workspace-tab="data"] .workspace-data-action-copy small
{
    display:block !important;
    color:#334155 !important;
    font-size:15px !important;
    font-weight:500 !important;
    line-height:1.48 !important;
}

html body .workspace-admin-modal .workspace-tab-panel[data-workspace-tab="data"] .workspace-data-action-arrow
{
    justify-self:end !important;
    color:#64748b !important;
    font-size:20px !important;
}

html body .workspace-admin-modal .workspace-tab-panel[data-workspace-tab="data"] .workspace-data-security-panel
{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:22px !important;
    padding:22px 26px !important;
    border:1px solid #d7e4f7 !important;
    border-radius:12px !important;
    background:linear-gradient(135deg,#eef6ff,#f7fbff) !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.75) !important;
}

html body .workspace-admin-modal .workspace-tab-panel[data-workspace-tab="data"] .workspace-data-security-panel .secondary-btn
{
    width:auto !important;
    min-height:48px !important;
    padding:0 22px !important;
    border:1px solid #d6dfeb !important;
    border-radius:10px !important;
    background:#fff !important;
    color:#334155 !important;
    box-shadow:0 10px 22px rgba(15,23,42,.08) !important;
}

@media (max-width:980px)
{
    html body .workspace-admin-modal .workspace-tab-panel[data-workspace-tab="data"] .workspace-data-action-grid
    {
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
}

@media (max-width:680px)
{
    html body .workspace-admin-modal .workspace-tab-panel[data-workspace-tab="data"] .workspace-data-action-grid
    {
        grid-template-columns:1fr !important;
    }

    html body .workspace-admin-modal .workspace-tab-panel[data-workspace-tab="data"] button.workspace-data-action-card
    {
        grid-template-columns:58px minmax(0,1fr) 20px !important;
        min-height:112px !important;
        height:auto !important;
        padding:18px !important;
        gap:16px !important;
    }

    html body .workspace-admin-modal .workspace-tab-panel[data-workspace-tab="data"] .workspace-data-action-icon
    {
        width:58px !important;
        height:58px !important;
        min-width:58px !important;
        min-height:58px !important;
        font-size:21px !important;
    }
}

/* Workspace Data Management reference-card lock.
   These controls are submit buttons, so keep them insulated from global button/theme rules. */
html body div#workspaceAdminModal.workspace-admin-modal form#workspaceAdminForm .workspace-tab-panel[data-workspace-tab="data"] .workspace-data-management
{
    display:grid !important;
    gap:22px !important;
    padding:26px !important;
    border:1px solid #dbe3ee !important;
    border-radius:18px !important;
    background:#fff !important;
    background-color:#fff !important;
    color:#172033 !important;
    box-shadow:0 18px 45px rgba(15,23,42,.06) !important;
}

html body div#workspaceAdminModal.workspace-admin-modal form#workspaceAdminForm .workspace-tab-panel[data-workspace-tab="data"] .workspace-data-action-grid
{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:18px !important;
    align-items:stretch !important;
}

html body div#workspaceAdminModal.workspace-admin-modal form#workspaceAdminForm .workspace-tab-panel[data-workspace-tab="data"] button.workspace-data-action-card,
html body.theme-dark div#workspaceAdminModal.workspace-admin-modal form#workspaceAdminForm .workspace-tab-panel[data-workspace-tab="data"] button.workspace-data-action-card
{
    appearance:none !important;
    -webkit-appearance:none !important;
    display:grid !important;
    grid-template-columns:74px minmax(0,1fr) 24px !important;
    align-items:center !important;
    gap:22px !important;
    width:100% !important;
    min-width:0 !important;
    min-height:132px !important;
    height:132px !important;
    padding:24px 26px !important;
    border:1px solid #d7dfeb !important;
    border-radius:14px !important;
    background:#fff !important;
    background-color:#fff !important;
    background-image:none !important;
    color:#0f172a !important;
    text-align:left !important;
    text-decoration:none !important;
    box-shadow:0 10px 24px rgba(15,23,42,.035) !important;
    opacity:1 !important;
    filter:none !important;
    cursor:pointer !important;
}

html body div#workspaceAdminModal.workspace-admin-modal form#workspaceAdminForm .workspace-tab-panel[data-workspace-tab="data"] button.workspace-data-action-card:hover,
html body div#workspaceAdminModal.workspace-admin-modal form#workspaceAdminForm .workspace-tab-panel[data-workspace-tab="data"] button.workspace-data-action-card:focus-visible
{
    border-color:#b9c6d8 !important;
    background:#fff !important;
    background-color:#fff !important;
    color:#0f172a !important;
    box-shadow:0 18px 38px rgba(15,23,42,.09) !important;
    outline:0 !important;
    transform:translateY(-2px) !important;
}

html body div#workspaceAdminModal.workspace-admin-modal form#workspaceAdminForm .workspace-tab-panel[data-workspace-tab="data"] button.workspace-data-action-card *
{
    box-sizing:border-box !important;
}

html body div#workspaceAdminModal.workspace-admin-modal form#workspaceAdminForm .workspace-tab-panel[data-workspace-tab="data"] .workspace-data-action-icon,
html body.theme-dark div#workspaceAdminModal.workspace-admin-modal form#workspaceAdminForm .workspace-tab-panel[data-workspace-tab="data"] .workspace-data-action-icon
{
    display:grid !important;
    place-items:center !important;
    flex:0 0 74px !important;
    width:74px !important;
    min-width:74px !important;
    max-width:74px !important;
    height:74px !important;
    min-height:74px !important;
    max-height:74px !important;
    padding:0 !important;
    border:0 !important;
    border-radius:999px !important;
    line-height:1 !important;
    box-shadow:none !important;
}

html body div#workspaceAdminModal.workspace-admin-modal form#workspaceAdminForm .workspace-tab-panel[data-workspace-tab="data"] .workspace-data-action-icon i
{
    display:block !important;
    width:auto !important;
    height:auto !important;
    margin:0 !important;
    padding:0 !important;
    font-size:26px !important;
    line-height:1 !important;
}

html body div#workspaceAdminModal.workspace-admin-modal form#workspaceAdminForm .workspace-tab-panel[data-workspace-tab="data"] .workspace-data-action-icon.green{background:#e7f8e8 !important;background-color:#e7f8e8 !important;color:#149447 !important}
html body div#workspaceAdminModal.workspace-admin-modal form#workspaceAdminForm .workspace-tab-panel[data-workspace-tab="data"] .workspace-data-action-icon.blue{background:#e8f4ff !important;background-color:#e8f4ff !important;color:#2563c9 !important}
html body div#workspaceAdminModal.workspace-admin-modal form#workspaceAdminForm .workspace-tab-panel[data-workspace-tab="data"] .workspace-data-action-icon.purple{background:#f1e6ff !important;background-color:#f1e6ff !important;color:#6d28d9 !important}
html body div#workspaceAdminModal.workspace-admin-modal form#workspaceAdminForm .workspace-tab-panel[data-workspace-tab="data"] .workspace-data-action-icon.amber{background:#fff7df !important;background-color:#fff7df !important;color:#b77905 !important}
html body div#workspaceAdminModal.workspace-admin-modal form#workspaceAdminForm .workspace-tab-panel[data-workspace-tab="data"] .workspace-data-action-icon.teal{background:#e4f8ee !important;background-color:#e4f8ee !important;color:#17825f !important}
html body div#workspaceAdminModal.workspace-admin-modal form#workspaceAdminForm .workspace-tab-panel[data-workspace-tab="data"] .workspace-data-action-icon.indigo{background:#eee8ff !important;background-color:#eee8ff !important;color:#4f46e5 !important}

html body div#workspaceAdminModal.workspace-admin-modal form#workspaceAdminForm .workspace-tab-panel[data-workspace-tab="data"] .workspace-data-action-copy
{
    display:grid !important;
    gap:8px !important;
    min-width:0 !important;
}

html body div#workspaceAdminModal.workspace-admin-modal form#workspaceAdminForm .workspace-tab-panel[data-workspace-tab="data"] .workspace-data-action-copy strong,
html body.theme-dark div#workspaceAdminModal.workspace-admin-modal form#workspaceAdminForm .workspace-tab-panel[data-workspace-tab="data"] .workspace-data-action-copy strong
{
    display:block !important;
    margin:0 !important;
    color:#0f172a !important;
    font-size:16px !important;
    font-weight:950 !important;
    line-height:1.2 !important;
}

html body div#workspaceAdminModal.workspace-admin-modal form#workspaceAdminForm .workspace-tab-panel[data-workspace-tab="data"] .workspace-data-action-copy small
{
    display:block !important;
    margin:0 !important;
    color:#334155 !important;
    font-size:15px !important;
    font-weight:500 !important;
    line-height:1.5 !important;
}

html body div#workspaceAdminModal.workspace-admin-modal form#workspaceAdminForm .workspace-tab-panel[data-workspace-tab="data"] .workspace-data-action-arrow
{
    justify-self:end !important;
    color:#64748b !important;
    font-size:20px !important;
    line-height:1 !important;
}

html body div#workspaceAdminModal.workspace-admin-modal form#workspaceAdminForm .workspace-tab-panel[data-workspace-tab="data"] .workspace-data-security-panel
{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:22px !important;
    padding:22px 26px !important;
    border:1px solid #cfe0f7 !important;
    border-radius:12px !important;
    background:linear-gradient(135deg,#edf6ff,#f7fbff) !important;
    background-color:#f7fbff !important;
    box-shadow:none !important;
}

.sidebar-collapse-button
{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:48px;
    height:48px;
    border:1px solid rgba(255,255,255,.14);
    border-radius:14px;
    background:rgba(255,255,255,.08);
    color:#fff;
    font-size:15px;
    cursor:pointer;
    transition:
        background .18s ease,
        border-color .18s ease,
        transform .18s ease;
}

.sidebar-collapse-button:hover
{
    border-color:rgba(255,255,255,.24);
    background:rgba(255,255,255,.14);
}

.sidebar-collapse-button:focus-visible
{
    outline:2px solid rgba(255,255,255,.78);
    outline-offset:3px;
}

.sidebar-collapse-symbol
{
    display:inline-block;
    color:currentColor;
    font-size:14px;
    line-height:1;
}

body.sidebar-collapsed .sidebar
{
    width:88px;
    min-width:88px;
}

body.sidebar-collapsed .content
{
    margin-left:0;
    flex-basis:0;
}

.sidebar-flyout-panel
{
    position:fixed;
    left:0;
    top:0;
    z-index:var(--z-sidebar-flyout, 11000);
    display:none;
    width:min(260px, calc(100vw - 112px));
    max-height:calc(100vh - 20px);
    overflow:auto;
    padding:6px;
    border:1px solid rgba(255,255,255,.1);
    border-radius:10px;
    background:var(--sidebar, #111827);
    background:color-mix(in srgb, var(--sidebar, #111827) 94%, #ffffff 6%);
    box-shadow:0 14px 34px rgba(2,6,23,.24);
    backdrop-filter:blur(12px);
}

.sidebar-flyout-panel:not(.show-parent-title) .sidebar-flyout-heading
{
    display:none;
}

.sidebar-flyout-panel.show-parent-title .sidebar-flyout-heading,
body.sidebar-collapsed .sidebar-flyout-panel .sidebar-flyout-heading
{
    display:flex;
}

.sidebar-flyout-panel:not(.show-parent-title) .sidebar-flyout-links
{
    padding-top:0;
}

.sidebar-flyout-panel.is-open
{
    display:block;
}

.sidebar-flyout-heading
{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    padding:7px 8px 6px;
    border-bottom:1px solid rgba(255,255,255,.08);
}

.sidebar-flyout-heading strong
{
    overflow:hidden;
    color:rgba(255,255,255,.9);
    font-size:12px;
    font-weight:900;
    letter-spacing:.02em;
    text-overflow:ellipsis;
    text-transform:uppercase;
    white-space:nowrap;
}

.sidebar-flyout-heading button
{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:28px;
    min-height:28px;
    border:1px solid transparent;
    border-radius:8px;
    background:transparent;
    color:rgba(255,255,255,.72);
    cursor:pointer;
}

.sidebar-flyout-heading button:hover,
.sidebar-flyout-heading button:focus-visible
{
    border-color:rgba(255,255,255,.12);
    background:rgba(255,255,255,.08);
    color:#ffffff;
}

.sidebar-flyout-links
{
    display:grid;
    gap:2px;
    padding-top:6px;
}

.sidebar-flyout-links a
{
    display:flex;
    align-items:center;
    gap:9px;
    min-height:34px;
    padding:7px 9px;
    border-radius:8px;
    color:rgba(255,255,255,.76);
    font-size:13px;
    font-weight:800;
    text-decoration:none;
    transition:
        background .16s ease,
        color .16s ease,
        transform .16s ease;
}

.sidebar-flyout-links a i
{
    width:16px;
    color:rgba(255,255,255,.52);
    text-align:center;
}

.sidebar-flyout-links a:hover,
.sidebar-flyout-links a:focus-visible,
.sidebar-flyout-links a.active-sub
{
    background:rgba(255,255,255,.1);
    color:#ffffff;
    outline:0;
}

.sidebar-flyout-links a.active-sub
{
    box-shadow:inset 3px 0 0 rgba(255,255,255,.78);
}

.sidebar nav a.flyout-active
{
    background:rgba(255,255,255,.12);
    color:#ffffff;
}

.sidebar nav a:focus-visible,
.menu-group > a:focus-visible
{
    outline:2px solid rgba(255,255,255,.72);
    outline-offset:2px;
}

.asset-summary-grid
{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
    gap:12px;
    margin-bottom:16px;
}

.asset-summary-card
{
    padding:16px;
    border:1px solid #dbe3ee;
    border-radius:16px;
    background:#fff;
    box-shadow:0 12px 26px rgba(15,23,42,.06);
}

.asset-summary-card span
{
    color:#64748b;
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
}

.asset-summary-card strong
{
    display:block;
    margin-top:8px;
    color:#172033;
    font-size:28px;
}

.asset-context-menu
{
    position:fixed;
    z-index:10080;
    display:none;
    min-width:220px;
    padding:7px;
    border:1px solid #d6dfeb;
    border-radius:14px;
    background:#fff;
    box-shadow:0 22px 60px rgba(15,23,42,.2);
}

.asset-context-menu.is-open
{
    display:grid;
    gap:4px;
}

.asset-context-menu button
{
    display:flex;
    align-items:center;
    gap:10px;
    width:100%;
    min-height:40px;
    padding:9px 10px;
    border:0;
    border-radius:10px;
    background:transparent;
    color:#334155;
    font-size:13px;
    font-weight:900;
    text-align:left;
    box-shadow:none;
}

.asset-context-menu button:hover
{
    background:#f1f5f9;
}

.legal-public-page
{
    min-height:100vh;
    padding:32px 18px;
    background:linear-gradient(180deg,#f8fafc 0%,#eef2f7 100%);
    color:#172033;
}

.legal-document
{
    width:min(920px,100%);
    margin:0 auto;
    padding:34px;
    border:1px solid #dbe3ee;
    border-radius:22px;
    background:#fff;
    box-shadow:0 24px 70px rgba(15,23,42,.12);
}

.legal-document h1
{
    margin:16px 0 6px;
    font-size:clamp(34px,5vw,54px);
    line-height:1;
}

.legal-document section
{
    padding:20px 0;
    border-top:1px solid #e5eaf1;
}

.legal-document h2
{
    margin:0 0 8px;
    color:#172033;
}

.legal-document p
{
    color:#526176;
    line-height:1.7;
}

.legal-back-link
{
    width:auto;
    display:inline-flex;
}

.login-legal-links
{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    margin-top:10px;
}

.twiki-full-view-shell
{
    width:min(1180px,100%);
    margin:0 auto;
}

.twiki-full-view-content
{
    padding:34px;
    font-size:16px;
    line-height:1.75;
}

.twiki-full-view-content h1,
.twiki-full-view-content h2,
.twiki-full-view-content h3
{
    margin:1.1em 0 .45em;
}

.module-action-grid
{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:14px;
}

.module-action-card
{
    display:grid;
    grid-template-columns:auto 1fr;
    gap:6px 12px;
    align-items:center;
    min-height:116px;
    padding:18px;
    border:1px solid #dbe3ee;
    border-radius:16px;
    background:#fff;
    color:#172033;
    text-decoration:none;
    box-shadow:0 12px 28px rgba(15,23,42,.06);
}

.module-action-card span
{
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    border-radius:13px;
    background:#eef2f7;
    color:#334155;
}

.module-action-card strong
{
    font-size:15px;
}

.module-action-card small
{
    grid-column:2;
    color:#64748b;
    font-weight:750;
}

.module-action-card:hover
{
    border-color:#334155;
    transform:translateY(-1px);
}

.module-config-shell
{
    max-width:none!important;
    width:100%!important;
}

.module-admin-tabs
{
    display:flex!important;
    flex-wrap:nowrap!important;
    overflow:visible!important;
    width:100%;
    position:relative;
    z-index:80;
}

.module-admin-tabs .profile-tab
{
    flex:0 0 auto;
    white-space:nowrap;
}

.module-config-tab-shell
{
    position:relative;
    flex:0 0 auto;
}

.module-config-submenu-dropdown
{
    position:absolute;
    top:calc(100% + 8px);
    left:0;
    z-index:120;
    display:none;
    width:max-content;
    min-width:240px;
    max-width:min(320px, calc(100vw - 32px));
    padding:7px;
    border:1px solid #d6dfeb;
    border-radius:12px;
    background:rgba(255,255,255,.98);
    box-shadow:0 18px 42px rgba(15,23,42,.18);
}

.module-config-tab-shell.submenu-open .module-config-submenu-dropdown
{
    display:grid;
    gap:3px;
}

.module-config-tab-shell:nth-last-child(-n+2) .module-config-submenu-dropdown
{
    right:0;
    left:auto;
}

.module-config-submenu-dropdown a
{
    display:flex;
    align-items:center;
    gap:10px;
    min-height:38px;
    padding:9px 10px;
    border:1px solid transparent;
    border-radius:9px;
    color:#475569;
    font-size:13px;
    font-weight:900;
    text-decoration:none;
    white-space:normal;
}

.module-config-submenu-dropdown a i
{
    width:16px;
    color:#64748b;
    text-align:center;
}

.module-config-submenu-dropdown a:hover,
.module-config-submenu-dropdown a:focus-visible
{
    background:#f1f5f9;
    color:#111827;
    outline:0;
}

.module-config-submenu-dropdown a.active
{
    border-color:#cbd5e1;
    background:#eef2f7;
    color:#111827;
    box-shadow:inset 3px 0 0 #334155;
}

.module-config-submenu-dropdown a.active i
{
    color:#334155;
}

.module-config-layout
{
    grid-template-columns:minmax(220px,260px) minmax(0,1fr)!important;
    align-items:start;
    width:100%;
}

.module-config-layout.module-config-layout-full
{
    grid-template-columns:minmax(0,1fr)!important;
}

.module-config-layout > .module-config-nav-card
{
    grid-column:1!important;
}

.module-config-layout:not(.module-config-layout-full) > .module-config-panel
{
    grid-column:2!important;
}

.module-config-layout.module-config-layout-full > .module-config-panel
{
    grid-column:1!important;
}

.module-config-layout:not(.module-config-layout-full) .module-config-grid-card .module-config-grid-header
{
    justify-content:flex-start!important;
    align-items:flex-start!important;
    flex-wrap:wrap!important;
    gap:12px 16px!important;
}

.module-config-layout:not(.module-config-layout-full) .module-config-grid-card .module-config-grid-header > div
{
    flex:0 1 100%!important;
}

.module-config-layout:not(.module-config-layout-full) .module-config-grid-card .module-config-grid-header .primary-btn
{
    align-self:flex-start!important;
    margin:0!important;
}

.module-config-layout .module-config-nav-card
{
    padding:12px!important;
    border-radius:16px!important;
}

.module-config-layout .module-config-nav
{
    display:grid!important;
    align-items:stretch!important;
    gap:8px!important;
    overflow:visible!important;
    padding:0!important;
}

.module-config-layout .module-config-nav-group
{
    display:grid!important;
    gap:8px!important;
    flex:initial!important;
}

.module-config-layout .module-config-nav a
{
    display:flex!important;
    justify-content:space-between!important;
    width:100%!important;
    min-height:40px!important;
    padding:9px 12px!important;
    border:1px solid #d6dfeb!important;
    border-radius:11px!important;
    background:#fff!important;
    color:#475569!important;
}

.module-config-layout .module-config-nav a:hover
{
    background:#f8fafc!important;
    color:#111827!important;
}

.module-config-layout .module-config-nav a.active
{
    border-color:#334155!important;
    background:#334155!important;
    color:#fff!important;
}

.module-config-panel,
.module-config-grid-card,
.module-config-editor-card
{
    width:100%!important;
    max-width:none!important;
}

@media print
{
    .sidebar,
    .workspace-tabs,
    .topbar-actions,
    .mobile-menu-button
    {
        display:none!important;
    }

    .content
    {
        margin:0!important;
        padding:0!important;
    }

    .twiki-full-view-content
    {
        box-shadow:none;
        border:0;
    }
}

@media (max-width:900px)
{
    .sidebar-flyout-panel
    {
        display:none!important;
    }
}

body.sidebar-collapsed .sidebar .logo,
body.sidebar-collapsed .sidebar .user-info .profile-details,
body.sidebar-collapsed .sidebar .user-info .profile-arrow,
body.sidebar-collapsed .sidebar nav a span,
body.sidebar-collapsed .sidebar .menu-parent span,
body.sidebar-collapsed .sidebar .submenu,
body.sidebar-collapsed .mobile-sidebar-header
{
    display:none !important;
}

body.sidebar-collapsed .sidebar .user-info
{
    display:flex;
    justify-content:center;
    align-items:center;
    width:44px;
    min-height:44px;
    margin:0 auto 16px;
    padding:0;
    border-radius:16px;
    background:rgba(255,255,255,.08);
}

body.sidebar-collapsed .sidebar .profile-menu-trigger
{
    position:relative;
    display:grid;
    place-items:center;
    width:44px;
    height:44px;
    min-height:44px;
    padding:0;
}

body.sidebar-collapsed .sidebar .profile-menu-trigger .avatar,
body.sidebar-collapsed .sidebar .profile-menu-trigger .avatar-initials
{
    display:flex!important;
    width:34px;
    height:34px;
    min-width:34px;
    border-radius:12px;
}

body.sidebar-collapsed .sidebar .profile-dropdown
{
    left:56px;
    top:0;
    right:auto;
    width:220px;
}

body.sidebar-collapsed .sidebar .profile-menu-trigger::after
{
    content:attr(title);
    position:absolute;
    left:calc(100% + 10px);
    top:50%;
    z-index:12000;
    display:none;
    min-width:max-content;
    max-width:220px;
    padding:6px 9px;
    border:1px solid rgba(15,23,42,.12);
    border-radius:8px;
    background:#0f172a;
    color:#fff;
    font-size:12px;
    font-weight:800;
    line-height:1.2;
    white-space:nowrap;
    box-shadow:0 10px 24px rgba(15,23,42,.2);
    transform:translateY(-50%);
    pointer-events:none;
}

body.sidebar-collapsed .sidebar .profile-menu-trigger:hover::after,
body.sidebar-collapsed .sidebar .profile-menu-trigger:focus-visible::after
{
    display:block;
}

body.sidebar-collapsed .sidebar nav a,
body.sidebar-collapsed .sidebar .menu-parent
{
    position:relative;
    justify-content:center;
    padding-left:0;
    padding-right:0;
    width:44px;
    min-height:44px;
    margin-inline:auto;
}

body.sidebar-collapsed .sidebar nav a::after,
body.sidebar-collapsed .sidebar-footer button[title]::after
{
    content:attr(title);
    position:absolute;
    left:calc(100% + 10px);
    top:50%;
    z-index:12000;
    display:none;
    min-width:max-content;
    max-width:220px;
    padding:6px 9px;
    border:1px solid rgba(15,23,42,.12);
    border-radius:8px;
    background:#0f172a;
    color:#fff;
    font-size:12px;
    font-weight:800;
    line-height:1.2;
    white-space:nowrap;
    box-shadow:0 10px 24px rgba(15,23,42,.2);
    transform:translateY(-50%);
    pointer-events:none;
}

body.sidebar-collapsed .sidebar nav a:hover::after,
body.sidebar-collapsed .sidebar nav a:focus-visible::after,
body.sidebar-collapsed .sidebar-footer button[title]:hover::after,
body.sidebar-collapsed .sidebar-footer button[title]:focus-visible::after
{
    display:block;
}

body.sidebar-collapsed .sidebar-footer
{
    display:grid;
    grid-auto-flow:row;
    grid-template-columns:44px;
    justify-content:center;
    justify-items:center;
    gap:10px;
}

body.sidebar-collapsed .sidebar-collapse-button
{
    display:inline-flex !important;
    visibility:visible !important;
    opacity:1 !important;
    width:44px;
    height:44px;
    min-height:44px;
    grid-row:1;
}

body.sidebar-collapsed .sidebar .notification-bell,
body.sidebar-collapsed .sidebar .global-search-button,
body.sidebar-collapsed .sidebar .workspace-switcher-button,
body.sidebar-collapsed .sidebar .information-menu-button,
body.sidebar-collapsed .sidebar .system-admin-menu-button
{
    position:relative;
    width:44px;
    height:44px;
    min-height:44px;
}

body.sidebar-collapsed .global-search-shell,
body.sidebar-collapsed .workspace-switcher-shell,
body.sidebar-collapsed .system-admin-menu-shell,
body.sidebar-collapsed .information-menu-shell
{
    width:44px;
}

.dual-list-access-grid
{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}

.dual-list-card
{
    display:grid;
    gap:10px;
    padding:16px;
    border:1px solid #dbe3ee;
    border-radius:16px;
    background:#f8fafc;
}

.dual-list-card h3
{
    margin:0;
    color:#172033;
    font-size:16px;
}

.dual-list-row
{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:10px;
    padding:10px;
    border:1px solid #dbe3ee;
    border-radius:12px;
    background:#fff;
}

.dual-list-card:nth-child(2) .dual-list-row
{
    grid-template-columns:auto minmax(0,1fr);
}

.dual-list-row strong,
.dual-list-row small
{
    display:block;
}

.team-availability-table td small
{
    display:block;
    margin-top:4px;
    color:#64748b;
}

.availability-pill
{
    display:inline-flex;
    align-items:center;
    min-height:26px;
    padding:5px 9px;
    border-radius:999px;
    background:#eef2f7;
    color:#334155;
    font-size:12px;
    font-weight:900;
}

.availability-pill.holiday{background:#ecfdf3;color:#166534}
.availability-pill.sick{background:#fff1f2;color:#be123c}
.availability-pill.training{background:#eef4ff;color:#1e40af}
.availability-pill.non-working{background:#f1f5f9;color:#64748b}

.workspace-policy-logo-preview
{
    display:block;
    width:min(220px,100%);
    max-height:90px;
    object-fit:contain;
    padding:12px;
    border:1px solid #dbe3ee;
    border-radius:14px;
    background:#fff;
}

.security-device-actions
{
    display:flex;
    justify-content:flex-end;
    margin-bottom:12px;
}

.chat-reply-preview,
.chat-thread-reference
{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:10px 12px;
    border:1px solid #dbe3ee;
    border-radius:12px;
    background:#f8fafc;
    color:#334155;
}

.chat-reply-preview[hidden]
{
    display:none;
}

.chat-reply-preview button
{
    width:28px;
    min-height:28px;
    padding:0;
    border-radius:8px;
}

.chat-thread-reference
{
    width:100%;
    margin-bottom:8px;
    text-align:left;
}

.chat-thread-reference strong,
.chat-thread-reference span
{
    display:block;
}

.chat-thread-reference span
{
    color:#64748b;
    font-size:12px;
}

.project-editor-modal-content
{
    width:min(1180px,calc(100vw - 40px));
    max-height:calc(100dvh - 44px);
    overflow:auto;
    border-radius:20px;
}

.project-editor-form
{
    display:grid;
    gap:18px;
}

.project-editor-stats
{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
}

.project-editor-stats article,
.project-editor-card
{
    padding:16px;
    border:1px solid #dbe3ee;
    border-radius:16px;
    background:#fff;
    box-shadow:0 12px 28px rgba(15,23,42,.04);
}

.project-editor-stats span
{
    display:block;
    color:#64748b;
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
}

.project-editor-stats strong
{
    display:block;
    margin-top:6px;
    color:#172033;
    font-size:26px;
    line-height:1;
}

.project-editor-stats small,
.project-editor-card p,
.project-editor-footer span
{
    color:#64748b;
}

.project-editor-card h3
{
    margin:0 0 12px;
    color:#172033;
}

.project-editor-top-grid
{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
}

.project-editor-name
{
    grid-column:span 2;
}

.project-description-editor
{
    min-height:190px;
}

.linked-task-panel
{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    background:#f8fafc;
}

.project-editor-footer
{
    position:sticky;
    bottom:0;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:10px;
    margin:0 -2px -2px;
    padding:12px;
    border-top:1px solid #e5eaf1;
    background:rgba(255,255,255,.94);
    backdrop-filter:blur(12px);
}

.project-editor-footer span
{
    margin-right:auto;
    font-size:13px;
}

.task-project-view-selector
{
    min-width:180px;
}

@media (max-width:900px)
{
    .project-editor-stats,
    .project-editor-top-grid
    {
        grid-template-columns:1fr;
    }

    .project-editor-name
    {
        grid-column:auto;
    }

    .linked-task-panel,
    .project-editor-footer
    {
        display:grid;
        justify-items:stretch;
    }
}

@media (max-width:900px)
{
    .dual-list-access-grid
    {
        grid-template-columns:1fr;
    }

    body.sidebar-collapsed .content
    {
        margin-left:0;
    }
}

@media (max-width:980px)
{
    html body div#workspaceAdminModal.workspace-admin-modal form#workspaceAdminForm .workspace-tab-panel[data-workspace-tab="data"] .workspace-data-action-grid
    {
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
}

@media (max-width:680px)
{
    html body div#workspaceAdminModal.workspace-admin-modal form#workspaceAdminForm .workspace-tab-panel[data-workspace-tab="data"] .workspace-data-action-grid
    {
        grid-template-columns:1fr !important;
    }

    html body div#workspaceAdminModal.workspace-admin-modal form#workspaceAdminForm .workspace-tab-panel[data-workspace-tab="data"] button.workspace-data-action-card
    {
        grid-template-columns:58px minmax(0,1fr) 22px !important;
        min-height:112px !important;
        height:auto !important;
        padding:18px !important;
        gap:16px !important;
    }

    html body div#workspaceAdminModal.workspace-admin-modal form#workspaceAdminForm .workspace-tab-panel[data-workspace-tab="data"] .workspace-data-action-icon
    {
        flex-basis:58px !important;
        width:58px !important;
        min-width:58px !important;
        max-width:58px !important;
        height:58px !important;
        min-height:58px !important;
        max-height:58px !important;
    }

    html body div#workspaceAdminModal.workspace-admin-modal form#workspaceAdminForm .workspace-tab-panel[data-workspace-tab="data"] .workspace-data-action-icon i
    {
        font-size:21px !important;
    }
}

/* Unified enterprise grid standard
   This late layer supersedes older page-specific table styles so grid/list pages share
   the same search, filtering, sorting, saved-view and row presentation. */
.table-card:has(table[data-table-tools="true"]),
.table-card:has(table[data-interactive-table="true"]),
.panel:has(table[data-table-tools="true"]),
.panel:has(table[data-interactive-table="true"])
{
    padding:0 !important;
    border:1px solid #d6dfeb !important;
    border-radius:16px !important;
    background:#fff !important;
    box-shadow:0 16px 38px rgba(15,23,42,.06) !important;
    overflow:auto !important;
}

.table-grid-toolbar
{
    position:sticky;
    top:0;
    z-index:8;
    display:flex !important;
    flex-wrap:wrap;
    align-items:center;
    gap:10px;
    padding:12px !important;
    border:0 !important;
    border-bottom:1px solid #e2e8f0 !important;
    border-radius:16px 16px 0 0 !important;
    background:#fff !important;
    box-shadow:none !important;
}

.table-grid-search
{
    flex:1 1 340px;
    min-width:260px;
    height:44px;
    border:1px solid #d6dfeb !important;
    border-radius:12px !important;
    background:#f8fafc !important;
    color:#64748b;
}

.table-grid-search input
{
    width:100%;
    color:#172033;
    font-weight:650;
}

.table-grid-toolbar select,
.table-grid-toolbar .secondary-btn,
.table-grid-toolbar .primary-btn,
.table-multi-filter summary,
.table-density-toggle
{
    min-height:40px !important;
    height:40px;
    border-radius:11px !important;
    box-shadow:none !important;
}

.table-grid-toolbar select
{
    flex:0 1 180px;
    border:1px solid #d6dfeb !important;
    background:#fff !important;
    color:#172033 !important;
}

.table-multi-filter
{
    position:relative;
}

.table-multi-filter summary
{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-width:154px;
    padding:0 13px !important;
    border:1px solid #d6dfeb !important;
    border-radius:11px !important;
    background:#fff !important;
    color:#334155 !important;
    cursor:pointer;
    list-style:none;
    font-size:13px;
    font-weight:850;
}

.table-multi-filter summary::-webkit-details-marker
{
    display:none;
}

.table-multi-filter-menu
{
    position:absolute;
    top:calc(100% + 8px);
    left:0;
    z-index:42;
    display:grid;
    gap:6px;
    min-width:210px;
    padding:10px;
    border:1px solid #d6dfeb;
    border-radius:13px;
    background:#fff;
    box-shadow:0 18px 36px rgba(15,23,42,.14);
}

.table-multi-filter-menu label
{
    display:flex;
    align-items:center;
    gap:8px;
    min-height:34px;
    padding:6px 8px;
    border-radius:9px;
    color:#334155;
    font-size:13px;
    font-weight:800;
}

.table-multi-filter-menu label:hover
{
    background:#f1f5f9;
}

.table-multi-filter-menu input
{
    width:16px;
    height:16px;
}

.table-grid-toolbar .secondary-btn
{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    width:auto !important;
    padding:0 12px !important;
    border:1px solid #d6dfeb !important;
    background:#fff !important;
    color:#334155 !important;
    font-size:13px;
    font-weight:850;
}

.table-grid-toolbar .secondary-btn:hover,
.table-grid-toolbar .secondary-btn:focus-visible
{
    border-color:#94a3b8 !important;
    background:#f8fafc !important;
    color:#172033 !important;
}

.table-density-toggle
{
    display:inline-flex;
    align-items:center;
    gap:4px;
    padding:4px !important;
    border:1px solid #d6dfeb;
    background:#f8fafc;
}

.table-density-toggle button
{
    min-height:30px !important;
    height:30px;
    padding:0 10px !important;
    border:0 !important;
    border-radius:8px !important;
    background:transparent !important;
    color:#64748b !important;
    box-shadow:none !important;
    font-size:12px;
    font-weight:850;
}

.table-density-toggle button.active
{
    background:#334155 !important;
    color:#fff !important;
}

.table-grid-toolbar .task-filter-count,
.table-grid-toolbar .task-selected-count
{
    display:inline-flex;
    align-items:center;
    min-height:30px;
    padding:5px 9px;
    border:1px solid #e2e8f0;
    border-radius:999px;
    background:#f8fafc !important;
    color:#475569 !important;
    font-size:12px;
    font-weight:850;
    white-space:nowrap;
}

.organization-users-table-card .organization-users-grid-tabs
{
    margin:12px !important;
    width:auto;
}

.organization-users-table tr[hidden]
{
    display:none !important;
}

.invite-user-modal-content
{
    width:min(760px, calc(100vw - 40px)) !important;
}

.invite-user-form .settings-card-actions
{
    margin-top:18px;
}

.users-table,
.data-table,
.tasks-grid-table,
.task-enterprise-table,
.module-config-table,
.workspace-admin-table,
.workspace-users-table,
.organization-users-table,
.crm-grid-table
{
    width:100%;
    min-width:980px;
    border:0 !important;
    border-collapse:separate !important;
    border-spacing:0 !important;
    border-radius:0 !important;
    background:#fff;
    box-shadow:none !important;
    table-layout:auto;
}

.organization-users-table
{
    min-width:1120px;
}

.organization-users-table th:first-child,
.organization-users-table td:first-child
{
    min-width:240px;
}

.users-table th,
.data-table th,
.tasks-grid-table th,
.task-enterprise-table th,
.module-config-table th,
.workspace-admin-table th,
.workspace-users-table th,
.organization-users-table th,
.crm-grid-table th
{
    position:relative;
    height:44px;
    padding:11px 14px !important;
    border-right:0 !important;
    border-bottom:1px solid #d6dfeb !important;
    background:#f8fafc !important;
    color:#64748b !important;
    font-size:12px !important;
    font-weight:900 !important;
    letter-spacing:.02em !important;
    line-height:1.2;
    text-align:left !important;
    text-transform:uppercase;
    white-space:nowrap;
    cursor:pointer;
}

.users-table td,
.data-table td,
.tasks-grid-table td,
.task-enterprise-table td,
.module-config-table td,
.workspace-admin-table td,
.workspace-users-table td,
.organization-users-table td,
.crm-grid-table td
{
    min-height:58px;
    padding:13px 14px !important;
    border-right:0 !important;
    border-bottom:1px solid #e5eaf1 !important;
    background:#fff !important;
    color:#172033;
    font-size:14px;
    line-height:1.35;
    vertical-align:middle;
}

.users-table tbody tr:nth-child(odd) td,
.data-table tbody tr:nth-child(odd) td,
.tasks-grid-table tbody tr:nth-child(odd) td,
.task-enterprise-table tbody tr:nth-child(odd) td,
.module-config-table tbody tr:nth-child(odd) td,
.workspace-admin-table tbody tr:nth-child(odd) td,
.workspace-users-table tbody tr:nth-child(odd) td,
.organization-users-table tbody tr:nth-child(odd) td,
.crm-grid-table tbody tr:nth-child(odd) td
{
    background:#fff !important;
}

.users-table tbody tr:hover td,
.data-table tbody tr:hover td,
.tasks-grid-table tbody tr:hover td,
.task-enterprise-table tbody tr:hover td,
.module-config-table tbody tr:hover td,
.workspace-admin-table tbody tr:hover td,
.workspace-users-table tbody tr:hover td,
.organization-users-table tbody tr:hover td,
.crm-grid-table tbody tr:hover td
{
    background:#f8fafc !important;
    box-shadow:inset 3px 0 0 #334155;
}

.users-table tbody tr:has(input[type="checkbox"]:checked) td,
.data-table tbody tr:has(input[type="checkbox"]:checked) td,
.tasks-grid-table tbody tr:has(input[type="checkbox"]:checked) td,
.task-enterprise-table tbody tr:has(input[type="checkbox"]:checked) td,
.module-config-table tbody tr:has(input[type="checkbox"]:checked) td,
.workspace-admin-table tbody tr:has(input[type="checkbox"]:checked) td,
.workspace-users-table tbody tr:has(input[type="checkbox"]:checked) td,
.organization-users-table tbody tr:has(input[type="checkbox"]:checked) td
{
    background:#eef2f7 !important;
    box-shadow:inset 3px 0 0 #334155;
}

.users-table th.is-sorted,
.data-table th.is-sorted,
.tasks-grid-table th.is-sorted,
.task-enterprise-table th.is-sorted,
.module-config-table th.is-sorted,
.workspace-admin-table th.is-sorted,
.workspace-users-table th.is-sorted,
.organization-users-table th.is-sorted,
.crm-grid-table th.is-sorted,
.users-table th.is-filtered,
.data-table th.is-filtered,
.tasks-grid-table th.is-filtered,
.task-enterprise-table th.is-filtered,
.module-config-table th.is-filtered,
.workspace-admin-table th.is-filtered,
.workspace-users-table th.is-filtered,
.organization-users-table th.is-filtered,
.crm-grid-table th.is-filtered
{
    background:#eef2f7 !important;
    color:#1e293b !important;
}

.users-table th.is-sorted::after,
.data-table th.is-sorted::after,
.tasks-grid-table th.is-sorted::after,
.task-enterprise-table th.is-sorted::after,
.module-config-table th.is-sorted::after,
.workspace-admin-table th.is-sorted::after,
.workspace-users-table th.is-sorted::after,
.organization-users-table th.is-sorted::after,
.crm-grid-table th.is-sorted::after
{
    content:attr(data-sort-direction);
    margin-left:7px;
    color:#334155;
    font-size:10px;
    text-transform:uppercase;
}

.users-table td strong,
.data-table td strong,
.tasks-grid-table td strong,
.task-enterprise-table td strong,
.module-config-table td strong,
.workspace-admin-table td strong,
.workspace-users-table td strong,
.organization-users-table td strong,
.crm-grid-table td strong
{
    display:block;
    color:#172033;
    font-weight:850;
}

.users-table td small,
.data-table td small,
.tasks-grid-table td small,
.task-enterprise-table td small,
.module-config-table td small,
.workspace-admin-table td small,
.workspace-users-table td small,
.organization-users-table td small,
.crm-grid-table td small
{
    display:block;
    margin-top:3px;
    color:#64748b;
    font-size:12px;
}

.organization-users-table tbody tr,
.workspace-admin-table tbody tr,
.tasks-grid-table tbody tr,
.task-enterprise-table tbody tr
{
    cursor:pointer;
}

.organization-user-toolbar
{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:flex-end;
    gap:9px;
    margin-left:auto;
}

.organization-user-toolbar .secondary-btn,
.organization-user-toolbar label.secondary-btn
{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    width:auto !important;
    min-height:40px;
    padding:0 12px;
    border:1px solid #d6dfeb;
    border-radius:11px;
    background:#fff;
    color:#334155;
    box-shadow:none;
    font-size:13px;
    font-weight:850;
}

.organization-user-toolbar .secondary-btn:hover,
.organization-user-toolbar label.secondary-btn:hover
{
    border-color:#94a3b8;
    background:#f8fafc;
}

.organization-users-shell
{
    width:100%;
    max-width:none !important;
}

.organization-users-shell > .settings-card,
.manage-organization-shell > .settings-card
{
    padding:18px !important;
}

.organization-users-shell .settings-card-heading,
.manage-organization-shell .settings-card-heading
{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
}

.organization-users-shell .table-card,
.manage-organization-shell .table-card
{
    margin-top:14px;
}

@media (max-width: 900px)
{
    .table-grid-toolbar
    {
        position:relative;
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:9px;
    }

    .table-grid-search,
    .table-grid-toolbar select,
    .table-grid-toolbar .secondary-btn,
    .table-density-toggle,
    .organization-user-toolbar,
    .organization-user-toolbar .secondary-btn,
    .organization-user-toolbar label.secondary-btn
    {
        width:100% !important;
        min-width:0;
    }

    .users-table,
    .data-table,
    .tasks-grid-table,
    .task-enterprise-table,
    .module-config-table,
    .workspace-admin-table,
    .workspace-users-table,
    .organization-users-table,
    .crm-grid-table
    {
        min-width:820px;
    }
}

/* Final sidebar text contrast safeguard */
body .sidebar nav a,
body .sidebar .menu-parent > a,
body .sidebar .menu-child a
{
    color:rgba(255,255,255,.9) !important;
}

body .sidebar nav a span,
body .sidebar .menu-parent > a span,
body .sidebar .menu-child a span
{
    color:inherit !important;
}

body .sidebar nav a i,
body .sidebar .menu-parent > a i,
body .sidebar .menu-child a i
{
    color:rgba(255,255,255,.76) !important;
}

body .sidebar nav a:hover,
body .sidebar nav a:focus-visible,
body .sidebar nav a.active,
body .sidebar nav a.active-sub,
body .sidebar .menu-parent.open > a,
body .sidebar nav a:hover i,
body .sidebar nav a:focus-visible i,
body .sidebar nav a.active i,
body .sidebar nav a.active-sub i,
body .sidebar .menu-parent.open > a i
{
    color:#fff !important;
}

/* Global grid standard: every interactive grid now uses the Manager Approvals
   workbench pattern for views, filters, saved views, bulk actions and rows. */
.unified-grid-workbench.table-grid-toolbar
{
    position:relative !important;
    top:auto !important;
    z-index:10 !important;
    display:grid !important;
    gap:14px !important;
    width:100% !important;
    margin:0 !important;
    padding:16px !important;
    border:1px solid #dbe3ee !important;
    border-radius:18px 18px 0 0 !important;
    background:#fff !important;
    box-shadow:0 16px 42px rgba(15,23,42,.07) !important;
}

.unified-grid-workbench .table-view-tabs
{
    display:flex !important;
    flex-wrap:wrap;
    gap:8px;
    padding:8px !important;
    border:1px solid #dbe3ee !important;
    border-radius:15px !important;
    background:#f8fafc !important;
}

.unified-grid-workbench .table-view-tabs button
{
    display:inline-flex;
    align-items:center;
    gap:8px;
    width:auto !important;
    min-height:36px !important;
    padding:8px 11px !important;
    border:1px solid transparent !important;
    border-radius:11px !important;
    background:transparent !important;
    color:#475569 !important;
    font-size:13px !important;
    font-weight:900 !important;
    box-shadow:none !important;
}

.unified-grid-workbench .table-view-tabs button.active
{
    background:#334155 !important;
    color:#fff !important;
    box-shadow:0 10px 20px rgba(15,23,42,.16) !important;
}

.unified-grid-workbench .table-view-tabs button span
{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:22px;
    height:22px;
    padding:0 6px;
    border-radius:999px;
    background:rgba(100,116,139,.14);
    color:inherit;
    font-size:11px;
}

.unified-grid-workbench .table-view-tabs button.active span
{
    background:rgba(255,255,255,.2);
}

.unified-grid-workbench .table-grid-filter-bar
{
    display:grid !important;
    grid-template-columns:minmax(260px,1.2fr) minmax(170px,.45fr) auto auto auto auto auto !important;
    gap:9px !important;
    align-items:center !important;
}

.unified-grid-workbench .table-grid-search
{
    display:flex !important;
    align-items:center;
    gap:9px;
    min-width:0 !important;
    width:auto !important;
    height:42px !important;
    min-height:42px !important;
    padding:0 12px !important;
    border:1px solid #d6dfeb !important;
    border-radius:12px !important;
    background:#fff !important;
    color:#64748b !important;
}

.unified-grid-workbench .table-grid-search input
{
    width:100%;
    border:0 !important;
    background:transparent !important;
    outline:0 !important;
    color:#172033 !important;
    font-weight:700;
}

.unified-grid-workbench .table-multi-filter summary,
.unified-grid-workbench .secondary-btn,
.unified-grid-workbench .table-density-toggle
{
    width:auto !important;
    min-height:42px !important;
    height:42px !important;
}

.unified-grid-workbench .table-multi-filter summary,
.unified-grid-workbench .secondary-btn
{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:0 12px !important;
    border:1px solid #d6dfeb !important;
    border-radius:12px !important;
    background:#fff !important;
    color:#334155 !important;
    box-shadow:none !important;
    font-size:13px !important;
    font-weight:900 !important;
}

.unified-grid-workbench .secondary-btn:hover,
.unified-grid-workbench .table-multi-filter summary:hover
{
    border-color:#334155 !important;
    background:#f8fafc !important;
}

.unified-grid-workbench .table-grid-bulk-bar
{
    display:flex !important;
    align-items:center;
    gap:8px;
    min-height:46px;
    padding:9px 12px !important;
    border:1px solid #dbe3ee !important;
    border-radius:13px !important;
    background:#f8fafc !important;
}

.unified-grid-workbench .table-grid-bulk-bar > span:first-child
{
    margin-right:auto;
    color:#475569;
    font-size:13px;
}

.unified-grid-workbench .table-grid-bulk-bar > span:first-child strong
{
    color:#172033;
}

.table-legacy-bulk-actions
{
    display:flex !important;
    align-items:center;
    gap:8px;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
}

.table-legacy-bulk-actions select,
.table-legacy-bulk-actions input
{
    width:auto !important;
    min-height:40px !important;
    padding:9px 11px !important;
    border:1px solid #d6dfeb !important;
    border-radius:11px !important;
    background:#fff !important;
    color:#172033 !important;
}

.table-legacy-bulk-actions button
{
    width:auto !important;
    min-height:40px !important;
    padding:0 13px !important;
    border:1px solid #334155 !important;
    border-radius:11px !important;
    background:#334155 !important;
    color:#fff !important;
    box-shadow:none !important;
    font-weight:900 !important;
}

.table-card:has(.unified-grid-workbench),
.panel:has(.unified-grid-workbench)
{
    padding:0 !important;
    border:1px solid #dbe3ee !important;
    border-radius:18px !important;
    background:#fff !important;
    box-shadow:0 16px 42px rgba(15,23,42,.07) !important;
    overflow:auto !important;
}

.unified-grid-workbench + table
{
    border-top:0 !important;
}

.grid-select-column
{
    width:42px !important;
    min-width:42px !important;
    max-width:42px !important;
    text-align:center !important;
}

.grid-select-column input[type="checkbox"]
{
    width:16px !important;
    height:16px !important;
    accent-color:#334155;
}

.task-workbench,
.project-workbench
{
    display:grid !important;
    gap:14px !important;
    padding:16px !important;
    border:1px solid #dbe3ee !important;
    border-radius:18px !important;
    background:#fff !important;
    box-shadow:0 16px 42px rgba(15,23,42,.07) !important;
}

.task-toolbar,
.project-toolbar
{
    display:grid !important;
    grid-template-columns:minmax(260px,1.2fr) minmax(170px,.45fr) auto auto auto auto !important;
    gap:9px !important;
    align-items:center !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
}

.task-toolbar .task-search-control
{
    min-height:42px !important;
    border:1px solid #d6dfeb !important;
    border-radius:12px !important;
    background:#fff !important;
}

.task-toolbar .task-view-selector,
.task-toolbar select,
.task-toolbar input[type="text"],
.task-toolbar input[type="date"]
{
    min-height:42px !important;
    border:1px solid #d6dfeb !important;
    border-radius:12px !important;
    background:#fff !important;
}

.task-toolbar .secondary-btn,
.task-toolbar .primary-btn,
.task-toolbar .task-toolbar-apply
{
    width:auto !important;
    min-height:42px !important;
    border-radius:12px !important;
}

.task-toolbar .task-quick-chip-row,
.task-toolbar .task-active-filters,
.task-toolbar .task-advanced-builder
{
    grid-column:1 / -1;
}

.bulk-actions:not(.table-legacy-bulk-actions)
{
    display:flex !important;
    align-items:center;
    gap:8px;
    min-height:46px;
    margin:0 0 12px !important;
    padding:9px 12px !important;
    border:1px solid #dbe3ee !important;
    border-radius:13px !important;
    background:#f8fafc !important;
    box-shadow:none !important;
}

@media (max-width:1300px)
{
    .unified-grid-workbench .table-grid-filter-bar,
    .task-toolbar,
    .project-toolbar
    {
        grid-template-columns:1fr 1fr 1fr !important;
    }
}

@media (max-width:760px)
{
    .unified-grid-workbench .table-grid-filter-bar,
    .task-toolbar,
    .project-toolbar
    {
        grid-template-columns:1fr !important;
    }

    .unified-grid-workbench .table-grid-bulk-bar,
    .table-legacy-bulk-actions,
    .bulk-actions:not(.table-legacy-bulk-actions)
    {
        display:grid !important;
        grid-template-columns:1fr !important;
    }
}

/* Absolute final component standardization guardrail.
   Keep this block at EOF. It is intentionally compact and overrides legacy drift. */
.modal{position:fixed!important;inset:0!important;z-index:10050!important;display:none;align-items:center!important;justify-content:center!important;padding:24px!important;background:rgba(15,23,42,.56)!important;backdrop-filter:blur(8px);overflow:auto!important}
.modal[aria-hidden="false"],.modal.is-open,.modal.open{display:flex!important}
.modal-content,.modal-content-wide,.modal-content.modal-wide,.organization-user-profile-modal,.project-editor-modal-content,.calendar-event-modal-content,.bulk-edit-modal-content,.crm-record-modal-content,.workspace-admin-modal-content,.invite-user-modal-content{margin:auto!important;border:1px solid #dbe3ee!important;border-radius:20px!important;background:#fff!important;box-shadow:0 28px 90px rgba(15,23,42,.28)!important;color:#172033!important}
.primary-btn,.secondary-btn,.btn-small,button.primary,a.primary-btn,input[type="submit"],button[type="submit"]{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;width:auto;min-height:40px;padding:0 14px!important;border-radius:10px!important;font-size:13px!important;font-weight:900!important;line-height:1!important;text-decoration:none!important}
.primary-btn,button.primary,a.primary-btn,input[type="submit"],button[type="submit"]{border:1px solid #334155!important;background:#334155!important;color:#fff!important;box-shadow:0 10px 24px rgba(15,23,42,.14)!important}
.secondary-btn,.btn-small{border:1px solid #cbd5e1!important;background:#fff!important;color:#334155!important;box-shadow:none!important}
.panel,.settings-card,.table-card,.profile-section,.profile-sub-card,.workspace-action-card,.asset-summary-card,.approval-summary-grid article,.dashboard-card,.stat-card{border:1px solid #dbe3ee!important;border-radius:18px!important;background:#fff!important;box-shadow:0 16px 42px rgba(15,23,42,.07)!important}
input:not([type="checkbox"]):not([type="radio"]),select,textarea{min-height:42px;padding:10px 12px;border:1px solid #cbd5e1;border-radius:12px;background:#fff;color:#172033;font:inherit}
.profile-tabs,.settings-tab-bar,.account-settings-tabs,.module-admin-tabs,.task-detail-tabs{display:flex!important;flex-wrap:wrap;gap:8px;padding:8px!important;border:1px solid #dbe3ee!important;border-radius:16px!important;background:#fff!important;box-shadow:0 8px 20px rgba(15,23,42,.05)!important}
.profile-tab,.settings-tab-bar button,.settings-tab-bar a,.account-settings-tabs .profile-tab,.module-admin-tabs .profile-tab,.task-detail-tabs .profile-tab{display:inline-flex!important;align-items:center;justify-content:center;gap:8px;width:auto!important;min-height:38px;padding:8px 12px!important;border:1px solid transparent!important;border-radius:11px!important;background:transparent!important;color:#64748b!important;box-shadow:none!important;font-size:13px;font-weight:900;text-decoration:none;white-space:nowrap}
.profile-tab.active,.profile-tab[aria-selected="true"],.settings-tab-bar .active,.settings-tab-bar [aria-selected="true"],.account-settings-tabs .profile-tab.active,.module-admin-tabs .profile-tab.active,.task-detail-tabs .profile-tab.active{border-color:#334155!important;background:#334155!important;color:#fff!important;box-shadow:0 10px 20px rgba(15,23,42,.14)!important}
.users-table,.data-table,.tasks-grid-table,.task-enterprise-table,.module-config-table,.workspace-admin-table,.workspace-users-table,.organization-users-table,.crm-grid-table{width:100%;border:0!important;border-collapse:separate!important;border-spacing:0!important;background:#fff!important}
.users-table th,.data-table th,.tasks-grid-table th,.task-enterprise-table th,.module-config-table th,.workspace-admin-table th,.workspace-users-table th,.organization-users-table th,.crm-grid-table th{height:44px;padding:11px 14px!important;border-bottom:1px solid #e2e8f0!important;background:#f8fafc!important;color:#64748b!important;font-size:12px!important;font-weight:950!important;text-align:left!important;text-transform:uppercase}
.users-table td,.data-table td,.tasks-grid-table td,.task-enterprise-table td,.module-config-table td,.workspace-admin-table td,.workspace-users-table td,.organization-users-table td,.crm-grid-table td{padding:13px 14px!important;border-bottom:1px solid #e5eaf1!important;background:#fff!important;color:#172033!important;vertical-align:middle}
.users-table tbody tr:hover td,.data-table tbody tr:hover td,.tasks-grid-table tbody tr:hover td,.task-enterprise-table tbody tr:hover td,.module-config-table tbody tr:hover td,.workspace-admin-table tbody tr:hover td,.workspace-users-table tbody tr:hover td,.organization-users-table tbody tr:hover td,.crm-grid-table tbody tr:hover td{background:#f8fafc!important;box-shadow:inset 3px 0 0 #334155}
@media (max-width:760px){.modal{padding:10px!important;align-items:flex-end!important}.modal-content,.modal-content-wide,.modal-content.modal-wide,.organization-user-profile-modal,.project-editor-modal-content,.calendar-event-modal-content,.bulk-edit-modal-content,.crm-record-modal-content,.workspace-admin-modal-content,.invite-user-modal-content{width:100%!important;max-width:100%!important;max-height:calc(100dvh - 20px)!important;border-radius:18px 18px 0 0!important}}

/* Final table interaction cleanup.
   Rows now highlight as one unified surface, with no cell-level hover separators. */
.users-table th,.data-table th,.tasks-grid-table th,.task-enterprise-table th,.module-config-table th,.workspace-admin-table th,.workspace-users-table th,.organization-users-table th,.crm-grid-table th,
.users-table td,.data-table td,.tasks-grid-table td,.task-enterprise-table td,.module-config-table td,.workspace-admin-table td,.workspace-users-table td,.organization-users-table td,.crm-grid-table td{border-left:0!important;border-right:0!important;box-shadow:none!important}
.users-table tbody tr,.data-table tbody tr,.tasks-grid-table tbody tr,.task-enterprise-table tbody tr,.module-config-table tbody tr,.workspace-admin-table tbody tr,.workspace-users-table tbody tr,.organization-users-table tbody tr,.crm-grid-table tbody tr{cursor:pointer;transition:background-color .16s ease}
.users-table tbody tr:hover,.data-table tbody tr:hover,.tasks-grid-table tbody tr:hover,.task-enterprise-table tbody tr:hover,.module-config-table tbody tr:hover,.workspace-admin-table tbody tr:hover,.workspace-users-table tbody tr:hover,.organization-users-table tbody tr:hover,.crm-grid-table tbody tr:hover{background:#f8fafc!important}
.users-table tbody tr:hover>td,.data-table tbody tr:hover>td,.tasks-grid-table tbody tr:hover>td,.task-enterprise-table tbody tr:hover>td,.module-config-table tbody tr:hover>td,.workspace-admin-table tbody tr:hover>td,.workspace-users-table tbody tr:hover>td,.organization-users-table tbody tr:hover>td,.crm-grid-table tbody tr:hover>td{background:#f8fafc!important;border-left:0!important;border-right:0!important;box-shadow:none!important}
.users-table tbody tr:has(input[type="checkbox"]:checked)>td,.data-table tbody tr:has(input[type="checkbox"]:checked)>td,.tasks-grid-table tbody tr:has(input[type="checkbox"]:checked)>td,.task-enterprise-table tbody tr:has(input[type="checkbox"]:checked)>td,.module-config-table tbody tr:has(input[type="checkbox"]:checked)>td,.workspace-admin-table tbody tr:has(input[type="checkbox"]:checked)>td,.workspace-users-table tbody tr:has(input[type="checkbox"]:checked)>td,.organization-users-table tbody tr:has(input[type="checkbox"]:checked)>td,.crm-grid-table tbody tr:has(input[type="checkbox"]:checked)>td{background:#eef2f7!important;border-left:0!important;border-right:0!important;box-shadow:none!important}
.users-table tbody tr:has(input[type="checkbox"]:checked)>td:first-child,.data-table tbody tr:has(input[type="checkbox"]:checked)>td:first-child,.tasks-grid-table tbody tr:has(input[type="checkbox"]:checked)>td:first-child,.task-enterprise-table tbody tr:has(input[type="checkbox"]:checked)>td:first-child,.module-config-table tbody tr:has(input[type="checkbox"]:checked)>td:first-child,.workspace-admin-table tbody tr:has(input[type="checkbox"]:checked)>td:first-child,.workspace-users-table tbody tr:has(input[type="checkbox"]:checked)>td:first-child,.organization-users-table tbody tr:has(input[type="checkbox"]:checked)>td:first-child,.crm-grid-table tbody tr:has(input[type="checkbox"]:checked)>td:first-child{box-shadow:inset 3px 0 0 #334155!important}
.users-table tbody tr:has(input[type="checkbox"]:checked):hover>td,.data-table tbody tr:has(input[type="checkbox"]:checked):hover>td,.tasks-grid-table tbody tr:has(input[type="checkbox"]:checked):hover>td,.task-enterprise-table tbody tr:has(input[type="checkbox"]:checked):hover>td,.module-config-table tbody tr:has(input[type="checkbox"]:checked):hover>td,.workspace-admin-table tbody tr:has(input[type="checkbox"]:checked):hover>td,.workspace-users-table tbody tr:has(input[type="checkbox"]:checked):hover>td,.organization-users-table tbody tr:has(input[type="checkbox"]:checked):hover>td,.crm-grid-table tbody tr:has(input[type="checkbox"]:checked):hover>td{background:#eef2f7!important}
.users-table td:hover,.data-table td:hover,.tasks-grid-table td:hover,.task-enterprise-table td:hover,.module-config-table td:hover,.workspace-admin-table td:hover,.workspace-users-table td:hover,.organization-users-table td:hover,.crm-grid-table td:hover{border-left:0!important;border-right:0!important;box-shadow:none!important}
.users-table td::before,.users-table td::after,.data-table td::before,.data-table td::after,.tasks-grid-table td::before,.tasks-grid-table td::after,.task-enterprise-table td::before,.task-enterprise-table td::after,.module-config-table td::before,.module-config-table td::after,.workspace-admin-table td::before,.workspace-admin-table td::after,.workspace-users-table td::before,.workspace-users-table td::after,.organization-users-table td::before,.organization-users-table td::after,.crm-grid-table td::before,.crm-grid-table td::after{border-left:0!important;border-right:0!important;box-shadow:none!important}
.approval-row:hover,.approval-row:focus{background:#f8fafc!important;box-shadow:none!important}
.approval-row:has(input[type="checkbox"]:checked){background:#eef2f7!important;box-shadow:inset 3px 0 0 #334155!important}

/* Final sidebar flyout contrast safeguard */
body .sidebar-flyout-panel,
body .sidebar-flyout-panel *
{
    color-scheme:dark;
}

body .sidebar-flyout-panel .sidebar-flyout-heading strong
{
    color:rgba(255,255,255,.94) !important;
}

body .sidebar-flyout-panel .sidebar-flyout-links a
{
    color:rgba(255,255,255,.9) !important;
}

body .sidebar-flyout-panel .sidebar-flyout-links a span,
body .sidebar-flyout-panel .sidebar-flyout-links a strong
{
    color:inherit !important;
}

body .sidebar-flyout-panel .sidebar-flyout-links a i
{
    display:none !important;
}

body .sidebar-flyout-panel .sidebar-flyout-links a:hover,
body .sidebar-flyout-panel .sidebar-flyout-links a:focus-visible,
body .sidebar-flyout-panel .sidebar-flyout-links a.active,
body .sidebar-flyout-panel .sidebar-flyout-links a.active-sub
{
    background:rgba(255,255,255,.12) !important;
    color:#ffffff !important;
}

body .sidebar-flyout-panel .sidebar-flyout-links a:hover i,
body .sidebar-flyout-panel .sidebar-flyout-links a:focus-visible i,
body .sidebar-flyout-panel .sidebar-flyout-links a.active i,
body .sidebar-flyout-panel .sidebar-flyout-links a.active-sub i
{
    display:none !important;
}

.workspace-policy-tab-content
{
    display:none;
}

.workspace-policy-tab-content.tab-visible
{
    display:grid;
    gap:18px;
}

/* Shared component consistency layer.
   This is the site-wide visual contract for repeated UI patterns. */
:root
{
    --ui-surface:#ffffff;
    --ui-surface-muted:#f8fafc;
    --ui-surface-soft:#eef2f7;
    --ui-border:#dbe3ee;
    --ui-border-strong:#cbd5e1;
    --ui-text:#172033;
    --ui-muted:#64748b;
    --ui-strong:#0f172a;
    --ui-primary:#334155;
    --ui-primary-hover:#1f2937;
    --ui-success:#166534;
    --ui-danger:#be123c;
    --ui-warning:#92400e;
    --ui-radius-sm:10px;
    --ui-radius-md:14px;
    --ui-radius-lg:18px;
    --ui-shadow-sm:0 8px 18px rgba(15,23,42,.045);
    --ui-shadow-md:0 16px 42px rgba(15,23,42,.07);
    --ui-focus:0 0 0 3px rgba(51,65,85,.16);
}

body:not(.public-site):not(.public-site-v3) .content
{
    color:var(--ui-text);
}

body:not(.public-site):not(.public-site-v3) .page-shell,
body:not(.public-site):not(.public-site-v3) .page-container,
body:not(.public-site):not(.public-site-v3) .settings-shell,
body:not(.public-site):not(.public-site-v3) .admin-shell,
body:not(.public-site):not(.public-site-v3) .workspace-admin-shell,
body:not(.public-site):not(.public-site-v3) .organization-users-shell,
body:not(.public-site):not(.public-site-v3) .module-config-shell,
body:not(.public-site):not(.public-site-v3) .crm-page-shell,
body:not(.public-site):not(.public-site-v3) .twiki-page-shell,
body:not(.public-site):not(.public-site-v3) .mail-centre,
body:not(.public-site):not(.public-site-v3) .calendar-page,
body:not(.public-site):not(.public-site-v3) .approval-centre
{
    width:100%;
    max-width:none;
}

body:not(.public-site):not(.public-site-v3) .settings-card,
body:not(.public-site):not(.public-site-v3) .table-card,
body:not(.public-site):not(.public-site-v3) .panel,
body:not(.public-site):not(.public-site-v3) .profile-section,
body:not(.public-site):not(.public-site-v3) .profile-sub-card,
body:not(.public-site):not(.public-site-v3) .dashboard-card,
body:not(.public-site):not(.public-site-v3) .stat-card,
body:not(.public-site):not(.public-site-v3) .summary-card,
body:not(.public-site):not(.public-site-v3) .settings-summary-card,
body:not(.public-site):not(.public-site-v3) .workspace-action-card,
body:not(.public-site):not(.public-site-v3) .asset-summary-card,
body:not(.public-site):not(.public-site-v3) .approval-workbench,
body:not(.public-site):not(.public-site-v3) .approval-summary-grid article,
body:not(.public-site):not(.public-site-v3) .mail-folder-panel,
body:not(.public-site):not(.public-site-v3) .mail-message-panel,
body:not(.public-site):not(.public-site-v3) .mail-reading-pane,
body:not(.public-site):not(.public-site-v3) .calendar-sidebar,
body:not(.public-site):not(.public-site-v3) .calendar-shell-card,
body:not(.public-site):not(.public-site-v3) .twiki-sidebar,
body:not(.public-site):not(.public-site-v3) .twiki-page-tree,
body:not(.public-site):not(.public-site-v3) .twiki-reader,
body:not(.public-site):not(.public-site-v3) .twiki-inspector
{
    border:1px solid var(--ui-border) !important;
    border-radius:var(--ui-radius-lg) !important;
    background:var(--ui-surface) !important;
    box-shadow:var(--ui-shadow-md) !important;
    color:var(--ui-text) !important;
}

body:not(.public-site):not(.public-site-v3) .settings-card-heading,
body:not(.public-site):not(.public-site-v3) .table-card-heading,
body:not(.public-site):not(.public-site-v3) .modal-header,
body:not(.public-site):not(.public-site-v3) .section-header,
body:not(.public-site):not(.public-site-v3) .card-header
{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
    margin-bottom:16px;
}

body:not(.public-site):not(.public-site-v3) .settings-card-heading h2,
body:not(.public-site):not(.public-site-v3) .settings-card-heading h3,
body:not(.public-site):not(.public-site-v3) .table-card-heading h2,
body:not(.public-site):not(.public-site-v3) .table-card-heading h3,
body:not(.public-site):not(.public-site-v3) .modal-header h2,
body:not(.public-site):not(.public-site-v3) .section-header h2,
body:not(.public-site):not(.public-site-v3) .card-header h2
{
    margin:0;
    color:var(--ui-strong);
    font-size:clamp(18px, 1.35vw, 24px);
    line-height:1.15;
    letter-spacing:0;
}

body:not(.public-site):not(.public-site-v3) .settings-card-heading p,
body:not(.public-site):not(.public-site-v3) .table-card-heading p,
body:not(.public-site):not(.public-site-v3) .modal-header p,
body:not(.public-site):not(.public-site-v3) .section-header p,
body:not(.public-site):not(.public-site-v3) .card-header p
{
    margin:4px 0 0;
    color:var(--ui-muted);
    line-height:1.45;
}

body:not(.public-site):not(.public-site-v3) .primary-btn,
body:not(.public-site):not(.public-site-v3) .secondary-btn,
body:not(.public-site):not(.public-site-v3) .btn-small,
body:not(.public-site):not(.public-site-v3) button.primary,
body:not(.public-site):not(.public-site-v3) a.primary-btn,
body:not(.public-site):not(.public-site-v3) input[type="submit"]
{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:8px !important;
    width:auto !important;
    min-height:40px !important;
    padding:0 14px !important;
    border-radius:var(--ui-radius-sm) !important;
    font-size:13px !important;
    font-weight:900 !important;
    line-height:1 !important;
    text-decoration:none !important;
    cursor:pointer;
    transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease;
}

body:not(.public-site):not(.public-site-v3) .primary-btn,
body:not(.public-site):not(.public-site-v3) button.primary,
body:not(.public-site):not(.public-site-v3) a.primary-btn,
body:not(.public-site):not(.public-site-v3) input[type="submit"]
{
    border:1px solid var(--ui-primary) !important;
    background:var(--ui-primary) !important;
    color:#fff !important;
    box-shadow:0 10px 24px rgba(15,23,42,.14) !important;
}

body:not(.public-site):not(.public-site-v3) .primary-btn:hover,
body:not(.public-site):not(.public-site-v3) button.primary:hover,
body:not(.public-site):not(.public-site-v3) a.primary-btn:hover,
body:not(.public-site):not(.public-site-v3) input[type="submit"]:hover
{
    border-color:var(--ui-primary-hover) !important;
    background:var(--ui-primary-hover) !important;
    color:#fff !important;
}

body:not(.public-site):not(.public-site-v3) .secondary-btn,
body:not(.public-site):not(.public-site-v3) .btn-small
{
    border:1px solid var(--ui-border-strong) !important;
    background:var(--ui-surface) !important;
    color:var(--ui-primary) !important;
    box-shadow:none !important;
}

body:not(.public-site):not(.public-site-v3) .secondary-btn:hover,
body:not(.public-site):not(.public-site-v3) .btn-small:hover
{
    border-color:var(--ui-primary) !important;
    background:var(--ui-surface-muted) !important;
    color:var(--ui-strong) !important;
}

body:not(.public-site):not(.public-site-v3) .danger-btn,
body:not(.public-site):not(.public-site-v3) .btn-small.danger-btn,
body:not(.public-site):not(.public-site-v3) button.danger
{
    border-color:#fecdd3 !important;
    background:#fff1f2 !important;
    color:var(--ui-danger) !important;
}

body:not(.public-site):not(.public-site-v3) button:focus-visible,
body:not(.public-site):not(.public-site-v3) a:focus-visible,
body:not(.public-site):not(.public-site-v3) input:focus-visible,
body:not(.public-site):not(.public-site-v3) select:focus-visible,
body:not(.public-site):not(.public-site-v3) textarea:focus-visible,
body:not(.public-site):not(.public-site-v3) [tabindex]:focus-visible
{
    outline:0 !important;
    box-shadow:var(--ui-focus) !important;
}

body:not(.public-site):not(.public-site-v3) input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
body:not(.public-site):not(.public-site-v3) select,
body:not(.public-site):not(.public-site-v3) textarea
{
    width:100%;
    min-height:42px;
    padding:10px 12px;
    border:1px solid var(--ui-border-strong);
    border-radius:12px;
    background:var(--ui-surface);
    color:var(--ui-text);
    font:inherit;
    transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease;
}

body:not(.public-site):not(.public-site-v3) input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):hover,
body:not(.public-site):not(.public-site-v3) select:hover,
body:not(.public-site):not(.public-site-v3) textarea:hover
{
    border-color:#b8c3d4;
}

body:not(.public-site):not(.public-site-v3) label
{
    color:var(--ui-text);
}

body:not(.public-site):not(.public-site-v3) .form-grid,
body:not(.public-site):not(.public-site-v3) .settings-grid,
body:not(.public-site):not(.public-site-v3) .profile-grid-2,
body:not(.public-site):not(.public-site-v3) .modal-grid,
body:not(.public-site):not(.public-site-v3) .two-column-grid
{
    display:grid !important;
    grid-template-columns:repeat(auto-fit,minmax(240px,1fr)) !important;
    gap:16px !important;
}

body:not(.public-site):not(.public-site-v3) .profile-tabs,
body:not(.public-site):not(.public-site-v3) .settings-tab-bar,
body:not(.public-site):not(.public-site-v3) .account-settings-tabs,
body:not(.public-site):not(.public-site-v3) .module-admin-tabs,
body:not(.public-site):not(.public-site-v3) .task-detail-tabs,
body:not(.public-site):not(.public-site-v3) .workspace-tabs,
body:not(.public-site):not(.public-site-v3) .security-tabs,
body:not(.public-site):not(.public-site-v3) .approval-tabs
{
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:center !important;
    gap:8px !important;
    padding:8px !important;
    border:1px solid var(--ui-border) !important;
    border-radius:16px !important;
    background:var(--ui-surface) !important;
    box-shadow:var(--ui-shadow-sm) !important;
}

body:not(.public-site):not(.public-site-v3) .profile-tab,
body:not(.public-site):not(.public-site-v3) .settings-tab-bar button,
body:not(.public-site):not(.public-site-v3) .settings-tab-bar a,
body:not(.public-site):not(.public-site-v3) .account-settings-tabs .profile-tab,
body:not(.public-site):not(.public-site-v3) .module-admin-tabs .profile-tab,
body:not(.public-site):not(.public-site-v3) .task-detail-tabs .profile-tab,
body:not(.public-site):not(.public-site-v3) .workspace-tabs .tab,
body:not(.public-site):not(.public-site-v3) .security-tabs .profile-tab,
body:not(.public-site):not(.public-site-v3) .approval-tabs button
{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:8px !important;
    width:auto !important;
    min-height:38px !important;
    padding:8px 12px !important;
    border:1px solid transparent !important;
    border-radius:11px !important;
    background:transparent !important;
    color:var(--ui-muted) !important;
    box-shadow:none !important;
    font-size:13px !important;
    font-weight:900 !important;
    text-decoration:none !important;
    white-space:nowrap !important;
}

body:not(.public-site):not(.public-site-v3) .profile-tab.active,
body:not(.public-site):not(.public-site-v3) .profile-tab[aria-selected="true"],
body:not(.public-site):not(.public-site-v3) .settings-tab-bar .active,
body:not(.public-site):not(.public-site-v3) .settings-tab-bar [aria-selected="true"],
body:not(.public-site):not(.public-site-v3) .account-settings-tabs .profile-tab.active,
body:not(.public-site):not(.public-site-v3) .module-admin-tabs .profile-tab.active,
body:not(.public-site):not(.public-site-v3) .task-detail-tabs .profile-tab.active,
body:not(.public-site):not(.public-site-v3) .workspace-tabs .tab.active,
body:not(.public-site):not(.public-site-v3) .security-tabs .profile-tab.active,
body:not(.public-site):not(.public-site-v3) .approval-tabs button.active
{
    border-color:var(--ui-primary) !important;
    background:var(--ui-primary) !important;
    color:#fff !important;
    box-shadow:0 10px 20px rgba(15,23,42,.14) !important;
}

body:not(.public-site):not(.public-site-v3) .filter-panel,
body:not(.public-site):not(.public-site-v3) .table-grid-toolbar,
body:not(.public-site):not(.public-site-v3) .unified-grid-workbench,
body:not(.public-site):not(.public-site-v3) .task-toolbar,
body:not(.public-site):not(.public-site-v3) .project-toolbar,
body:not(.public-site):not(.public-site-v3) .approval-filter-bar,
body:not(.public-site):not(.public-site-v3) .approval-bulk-bar,
body:not(.public-site):not(.public-site-v3) .bulk-actions:not(.table-legacy-bulk-actions),
body:not(.public-site):not(.public-site-v3) .mail-toolbar,
body:not(.public-site):not(.public-site-v3) .mail-filter-row,
body:not(.public-site):not(.public-site-v3) .calendar-filter-bar,
body:not(.public-site):not(.public-site-v3) .twiki-command-bar
{
    border:1px solid var(--ui-border) !important;
    border-radius:16px !important;
    background:var(--ui-surface) !important;
    box-shadow:var(--ui-shadow-sm) !important;
}

body:not(.public-site):not(.public-site-v3) .table-grid-search,
body:not(.public-site):not(.public-site-v3) .task-search-control,
body:not(.public-site):not(.public-site-v3) .approval-search,
body:not(.public-site):not(.public-site-v3) .mail-search,
body:not(.public-site):not(.public-site-v3) .calendar-search-box,
body:not(.public-site):not(.public-site-v3) .global-search-input
{
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    min-height:42px !important;
    padding:0 12px !important;
    border:1px solid var(--ui-border-strong) !important;
    border-radius:12px !important;
    background:var(--ui-surface) !important;
    color:var(--ui-muted) !important;
    box-shadow:none !important;
}

body:not(.public-site):not(.public-site-v3) .table-grid-search input,
body:not(.public-site):not(.public-site-v3) .task-search-control input,
body:not(.public-site):not(.public-site-v3) .approval-search input,
body:not(.public-site):not(.public-site-v3) .mail-search input,
body:not(.public-site):not(.public-site-v3) .calendar-search-box input
{
    min-height:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
}

body:not(.public-site):not(.public-site-v3) .empty-state,
body:not(.public-site):not(.public-site-v3) .profile-empty-state,
body:not(.public-site):not(.public-site-v3) .mail-empty-state,
body:not(.public-site):not(.public-site-v3) .calendar-empty-state,
body:not(.public-site):not(.public-site-v3) .twiki-empty-state,
body:not(.public-site):not(.public-site-v3) .twiki-empty-small,
body:not(.public-site):not(.public-site-v3) .approval-empty-state
{
    display:grid !important;
    place-items:center !important;
    gap:10px !important;
    min-height:180px !important;
    padding:28px !important;
    border:1px dashed var(--ui-border-strong) !important;
    border-radius:16px !important;
    background:var(--ui-surface-muted) !important;
    color:var(--ui-muted) !important;
    text-align:center !important;
    box-shadow:none !important;
}

body:not(.public-site):not(.public-site-v3) .empty-state[hidden],
body:not(.public-site):not(.public-site-v3) .profile-empty-state[hidden],
body:not(.public-site):not(.public-site-v3) .mail-empty-state[hidden],
body:not(.public-site):not(.public-site-v3) .calendar-empty-state[hidden],
body:not(.public-site):not(.public-site-v3) .twiki-empty-state[hidden],
body:not(.public-site):not(.public-site-v3) .twiki-empty-small[hidden],
body:not(.public-site):not(.public-site-v3) .approval-empty-state[hidden]
{
    display:none !important;
}

body:not(.public-site):not(.public-site-v3) .empty-state h2,
body:not(.public-site):not(.public-site-v3) .empty-state h3,
body:not(.public-site):not(.public-site-v3) .profile-empty-state strong,
body:not(.public-site):not(.public-site-v3) .mail-empty-state h2,
body:not(.public-site):not(.public-site-v3) .calendar-empty-state strong,
body:not(.public-site):not(.public-site-v3) .twiki-empty-state h2,
body:not(.public-site):not(.public-site-v3) .approval-empty-state h2
{
    margin:0;
    color:var(--ui-strong) !important;
}

body:not(.public-site):not(.public-site-v3) .status-pill,
body:not(.public-site):not(.public-site-v3) .badge,
body:not(.public-site):not(.public-site-v3) .role-badge,
body:not(.public-site):not(.public-site-v3) .task-filter-count,
body:not(.public-site):not(.public-site-v3) .approval-status,
body:not(.public-site):not(.public-site-v3) .approval-sla,
body:not(.public-site):not(.public-site-v3) .mail-priority,
body:not(.public-site):not(.public-site-v3) .twiki-status-pill
{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:max-content !important;
    min-height:24px !important;
    padding:4px 8px !important;
    border:1px solid transparent !important;
    border-radius:999px !important;
    background:var(--ui-surface-soft) !important;
    color:var(--ui-primary) !important;
    font-size:11px !important;
    font-weight:950 !important;
    line-height:1 !important;
}

body:not(.public-site):not(.public-site-v3) .status-pill.active,
body:not(.public-site):not(.public-site-v3) .badge.active,
body:not(.public-site):not(.public-site-v3) .approval-status.approved,
body:not(.public-site):not(.public-site-v3) .twiki-status-pill.published
{
    background:#ecfdf3 !important;
    color:var(--ui-success) !important;
}

body:not(.public-site):not(.public-site-v3) .status-pill.danger,
body:not(.public-site):not(.public-site-v3) .badge.danger,
body:not(.public-site):not(.public-site-v3) .approval-status.rejected,
body:not(.public-site):not(.public-site-v3) .mail-priority.high
{
    background:#fff1f2 !important;
    color:var(--ui-danger) !important;
}

body:not(.public-site):not(.public-site-v3) .modal
{
    position:fixed !important;
    inset:0 !important;
    z-index:10050 !important;
    display:none;
    align-items:center !important;
    justify-content:center !important;
    padding:24px !important;
    background:rgba(15,23,42,.56) !important;
    backdrop-filter:blur(8px);
    overflow:auto !important;
}

body:not(.public-site):not(.public-site-v3) .modal[aria-hidden="false"],
body:not(.public-site):not(.public-site-v3) .modal.is-open,
body:not(.public-site):not(.public-site-v3) .modal.open
{
    display:flex !important;
}

body:not(.public-site):not(.public-site-v3) .modal-content,
body:not(.public-site):not(.public-site-v3) .modal-content-wide,
body:not(.public-site):not(.public-site-v3) .modal-content.modal-wide,
body:not(.public-site):not(.public-site-v3) .organization-user-profile-modal,
body:not(.public-site):not(.public-site-v3) .project-editor-modal-content,
body:not(.public-site):not(.public-site-v3) .calendar-event-modal-content,
body:not(.public-site):not(.public-site-v3) .bulk-edit-modal-content,
body:not(.public-site):not(.public-site-v3) .crm-record-modal-content,
body:not(.public-site):not(.public-site-v3) .workspace-admin-modal-content,
body:not(.public-site):not(.public-site-v3) .invite-user-modal-content
{
    margin:auto !important;
    border:1px solid var(--ui-border) !important;
    border-radius:20px !important;
    background:var(--ui-surface) !important;
    color:var(--ui-text) !important;
    box-shadow:0 28px 90px rgba(15,23,42,.28) !important;
}

body:not(.public-site):not(.public-site-v3) .modal-actions,
body:not(.public-site):not(.public-site-v3) .settings-card-actions,
body:not(.public-site):not(.public-site-v3) .form-actions,
body:not(.public-site):not(.public-site-v3) .card-actions
{
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:10px !important;
}

body.theme-dark:not(.public-site):not(.public-site-v3)
{
    --ui-surface:#111827;
    --ui-surface-muted:#0f172a;
    --ui-surface-soft:#1f2937;
    --ui-border:#334155;
    --ui-border-strong:#475569;
    --ui-text:#e5e7eb;
    --ui-muted:#cbd5e1;
    --ui-strong:#f8fafc;
    --ui-shadow-sm:0 8px 18px rgba(0,0,0,.18);
    --ui-shadow-md:0 16px 42px rgba(0,0,0,.28);
}

@media (max-width:760px)
{
    body:not(.public-site):not(.public-site-v3) .settings-card-heading,
    body:not(.public-site):not(.public-site-v3) .table-card-heading,
    body:not(.public-site):not(.public-site-v3) .modal-header,
    body:not(.public-site):not(.public-site-v3) .section-header,
    body:not(.public-site):not(.public-site-v3) .card-header,
    body:not(.public-site):not(.public-site-v3) .modal-actions,
    body:not(.public-site):not(.public-site-v3) .settings-card-actions,
    body:not(.public-site):not(.public-site-v3) .form-actions,
    body:not(.public-site):not(.public-site-v3) .card-actions
    {
        display:grid !important;
        justify-content:stretch !important;
    }

    body:not(.public-site):not(.public-site-v3) .primary-btn,
    body:not(.public-site):not(.public-site-v3) .secondary-btn,
    body:not(.public-site):not(.public-site-v3) .btn-small
    {
        width:100% !important;
    }

    body:not(.public-site):not(.public-site-v3) .profile-tabs,
    body:not(.public-site):not(.public-site-v3) .settings-tab-bar,
    body:not(.public-site):not(.public-site-v3) .account-settings-tabs,
    body:not(.public-site):not(.public-site-v3) .module-admin-tabs,
    body:not(.public-site):not(.public-site-v3) .task-detail-tabs,
    body:not(.public-site):not(.public-site-v3) .workspace-tabs,
    body:not(.public-site):not(.public-site-v3) .security-tabs,
    body:not(.public-site):not(.public-site-v3) .approval-tabs
    {
        flex-wrap:nowrap !important;
        overflow-x:auto !important;
        -webkit-overflow-scrolling:touch;
    }

    body:not(.public-site):not(.public-site-v3) .profile-tab,
    body:not(.public-site):not(.public-site-v3) .settings-tab-bar button,
    body:not(.public-site):not(.public-site-v3) .settings-tab-bar a,
    body:not(.public-site):not(.public-site-v3) .account-settings-tabs .profile-tab,
    body:not(.public-site):not(.public-site-v3) .module-admin-tabs .profile-tab,
    body:not(.public-site):not(.public-site-v3) .task-detail-tabs .profile-tab,
    body:not(.public-site):not(.public-site-v3) .workspace-tabs .tab,
    body:not(.public-site):not(.public-site-v3) .security-tabs .profile-tab,
    body:not(.public-site):not(.public-site-v3) .approval-tabs button
    {
        flex:0 0 auto !important;
    }
}

/* Final sidebar layout polish */
.sidebar .sidebar-brand-row
{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px !important;
    min-height:48px !important;
    margin:0 0 18px !important;
}

.sidebar
{
    box-sizing:border-box !important;
    overflow-x:visible !important;
}

.sidebar .sidebar-brand-row .logo
{
    min-width:0 !important;
    margin:0 !important;
    overflow:hidden !important;
    color:#fff !important;
    font-size:28px !important;
    line-height:1.08 !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
}

.sidebar .sidebar-collapse-button
{
    flex:0 0 38px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:38px !important;
    height:38px !important;
    min-height:38px !important;
    padding:0 !important;
    border:1px solid rgba(255,255,255,.14) !important;
    border-radius:12px !important;
    background:rgba(255,255,255,.08) !important;
    color:#fff !important;
    box-shadow:none !important;
}

.sidebar .sidebar-collapse-button:hover
{
    border-color:rgba(255,255,255,.28) !important;
    background:rgba(255,255,255,.15) !important;
}

.sidebar .sidebar-collapse-symbol
{
    font-size:13px !important;
    transition:transform .18s ease;
}

.sidebar-footer
{
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:center !important;
    gap:10px !important;
}

.sidebar-footer .global-search-shell,
.sidebar-footer .workspace-switcher-shell,
.sidebar-footer .system-admin-menu-shell,
.sidebar-footer .information-menu-shell
{
    display:inline-flex !important;
    width:46px !important;
    height:46px !important;
}

.sidebar .notification-bell,
.sidebar .global-search-button,
.sidebar .information-menu-button,
.sidebar .system-admin-menu-button,
.sidebar .workspace-switcher-button
{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:46px !important;
    height:46px !important;
    min-width:46px !important;
    min-height:46px !important;
    padding:0 !important;
    border-radius:14px !important;
    line-height:1 !important;
}

/* Organization Users invite wizard */
body:not(.public-site):not(.public-site-v3) .invite-user-modal-content
{
    width:min(1040px, calc(100vw - 48px)) !important;
    max-height:calc(100vh - 48px) !important;
    overflow:auto !important;
}

body:not(.public-site):not(.public-site-v3) .invite-user-wizard-form
{
    display:grid !important;
    gap:18px !important;
}

body:not(.public-site):not(.public-site-v3) .invite-wizard-progress
{
    display:grid !important;
    grid-template-columns:repeat(5, minmax(0, 1fr)) !important;
    gap:8px !important;
    padding:8px !important;
    border:1px solid var(--ui-border, #dbe3ee) !important;
    border-radius:16px !important;
    background:var(--ui-surface-muted, #f8fafc) !important;
}

body:not(.public-site):not(.public-site-v3) .invite-wizard-progress button
{
    min-height:42px !important;
    padding:0 12px !important;
    border:1px solid transparent !important;
    border-radius:12px !important;
    background:transparent !important;
    color:var(--ui-muted, #64748b) !important;
    font-size:13px !important;
    font-weight:850 !important;
    box-shadow:none !important;
    cursor:pointer !important;
}

body:not(.public-site):not(.public-site-v3) .invite-wizard-progress button:hover,
body:not(.public-site):not(.public-site-v3) .invite-wizard-progress button:focus-visible
{
    border-color:var(--ui-border, #dbe3ee) !important;
    background:var(--ui-surface, #fff) !important;
    color:var(--ui-strong, #172033) !important;
}

body:not(.public-site):not(.public-site-v3) .invite-wizard-progress button.active
{
    border-color:var(--ui-primary, #334155) !important;
    background:var(--ui-primary, #334155) !important;
    color:#fff !important;
    box-shadow:0 10px 24px rgba(15, 23, 42, .14) !important;
}

body:not(.public-site):not(.public-site-v3) .invite-wizard-step
{
    display:none !important;
}

body:not(.public-site):not(.public-site-v3) .invite-wizard-step.active
{
    display:grid !important;
    gap:16px !important;
    padding:20px !important;
    border:1px solid var(--ui-border, #dbe3ee) !important;
    border-radius:18px !important;
    background:var(--ui-surface, #fff) !important;
}

body:not(.public-site):not(.public-site-v3) .invite-wizard-step-heading
{
    display:grid !important;
    gap:4px !important;
}

body:not(.public-site):not(.public-site-v3) .invite-wizard-step-heading h3
{
    margin:0 !important;
    color:var(--ui-strong, #172033) !important;
    font-size:20px !important;
    line-height:1.2 !important;
}

body:not(.public-site):not(.public-site-v3) .invite-wizard-step-heading p
{
    margin:0 !important;
    color:var(--ui-muted, #64748b) !important;
}

body:not(.public-site):not(.public-site-v3) .invite-user-wizard-form .form-grid
{
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:16px !important;
}

body:not(.public-site):not(.public-site-v3) .invite-user-wizard-form label
{
    display:grid !important;
    gap:7px !important;
    color:var(--ui-text, #172033) !important;
    font-size:13px !important;
    font-weight:850 !important;
}

body:not(.public-site):not(.public-site-v3) .invite-user-wizard-form input,
body:not(.public-site):not(.public-site-v3) .invite-user-wizard-form select,
body:not(.public-site):not(.public-site-v3) .invite-user-wizard-form textarea
{
    width:100% !important;
}

body:not(.public-site):not(.public-site-v3) .invite-user-wizard-form .workspace-role-checkboxes
{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:10px !important;
}

body:not(.public-site):not(.public-site-v3) .invite-user-wizard-form .workspace-role-checkboxes label
{
    display:inline-flex !important;
    align-items:center !important;
    gap:8px !important;
    min-height:42px !important;
    padding:9px 12px !important;
    border:1px solid var(--ui-border, #dbe3ee) !important;
    border-radius:12px !important;
    background:var(--ui-surface-muted, #f8fafc) !important;
    color:var(--ui-text, #172033) !important;
}

body:not(.public-site):not(.public-site-v3) .invite-user-wizard-form .settings-card-actions
{
    position:sticky !important;
    bottom:0 !important;
    z-index:2 !important;
    margin:0 -4px -4px !important;
    padding:14px !important;
    border-top:1px solid var(--ui-border, #dbe3ee) !important;
    background:rgba(255,255,255,.94) !important;
    backdrop-filter:blur(10px) !important;
}

@media (max-width:760px)
{
    body:not(.public-site):not(.public-site-v3) .invite-user-modal-content
    {
        width:100% !important;
        max-height:calc(100dvh - 20px) !important;
    }

    body:not(.public-site):not(.public-site-v3) .invite-wizard-progress
    {
        display:flex !important;
        overflow-x:auto !important;
        -webkit-overflow-scrolling:touch;
    }

    body:not(.public-site):not(.public-site-v3) .invite-wizard-progress button
    {
        flex:0 0 auto !important;
        min-width:108px !important;
    }

    body:not(.public-site):not(.public-site-v3) .invite-user-wizard-form .form-grid
    {
        grid-template-columns:1fr !important;
    }
}

/* Manage Organization table/grid alignment */
.organization-config-grid-panel
{
    display:grid !important;
    gap:16px !important;
    padding:0 !important;
}

.organization-config-grid-panel .settings-card-heading
{
    margin:0 !important;
    padding:0 !important;
    align-items:flex-start !important;
    justify-content:space-between !important;
    gap:16px !important;
}

.organization-config-grid-panel .settings-card-heading > div
{
    display:grid;
    gap:6px;
}

.organization-config-grid-panel .settings-card-heading h2
{
    margin:0 !important;
}

.organization-config-grid-panel .settings-card-heading p
{
    margin:0 !important;
}

.organization-config-grid-panel .settings-card-heading .primary-btn
{
    align-self:flex-start;
}

.organization-config-grid-toolbar
{
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
}

.organization-config-toolbar
{
    display:grid !important;
    grid-template-columns:minmax(280px,1fr) auto !important;
    gap:10px !important;
    align-items:center !important;
}

.organization-config-toolbar-meta
{
    display:grid;
    justify-items:end;
    gap:2px;
    min-width:120px;
}

.organization-config-toolbar-meta span
{
    color:#172033;
    font-size:22px;
    font-weight:950;
    line-height:1;
}

.organization-config-toolbar-meta small
{
    color:#64748b;
    font-size:12px;
    font-weight:850;
}

.organization-config-table-card
{
    padding:0 !important;
    overflow:hidden !important;
}

.manage-organization-shell
{
    width:100%;
    max-width:none !important;
    gap:18px;
}

.manage-organization-tabs
{
    margin:0;
}

.organization-config-table td strong
{
    color:#172033;
    font-weight:900;
}

.organization-config-context-menu
{
    z-index:10080 !important;
}

.organization-config-context-menu button.danger-text
{
    color:#b91c1c !important;
}

.organization-config-context-menu button.danger-text i
{
    color:#b91c1c !important;
}

@media (max-width:760px)
{
    .organization-config-grid-panel
    {
        padding:0 !important;
    }

    .organization-config-grid-panel .settings-card-heading
    {
        padding:0 !important;
        gap:14px !important;
    }

    .organization-config-grid-panel .settings-card-heading .primary-btn
    {
        width:100%;
    }

    .organization-config-toolbar
    {
        grid-template-columns:1fr !important;
    }

    .organization-config-toolbar-meta
    {
        justify-items:start;
    }
}

/* Site-wide Module Configuration tab pattern */
body:not(.public-site):not(.public-site-v3) .module-admin-tabs,
body:not(.public-site):not(.public-site-v3) .profile-settings-tabs,
body:not(.public-site):not(.public-site-v3) .account-settings-tabs,
body:not(.public-site):not(.public-site-v3) .security-tabs,
body:not(.public-site):not(.public-site-v3) .task-detail-tabs,
body:not(.public-site):not(.public-site-v3) .workspace-tabs
{
    position:relative !important;
    z-index:80 !important;
    display:flex !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    gap:8px !important;
    overflow:visible !important;
    width:100% !important;
    padding:8px !important;
    border:1px solid var(--ui-border, #dbe3ee) !important;
    border-radius:16px !important;
    background:var(--ui-surface, #fff) !important;
    box-shadow:var(--ui-shadow-sm, 0 8px 18px rgba(15,23,42,.045)) !important;
}

body:not(.public-site):not(.public-site-v3) .module-config-tab-shell,
body:not(.public-site):not(.public-site-v3) .profile-tab-shell
{
    position:relative !important;
    flex:0 0 auto !important;
}

body:not(.public-site):not(.public-site-v3) .profile-tab,
body:not(.public-site):not(.public-site-v3) .settings-tab-bar button,
body:not(.public-site):not(.public-site-v3) .settings-tab-bar a,
body:not(.public-site):not(.public-site-v3) .account-settings-tabs .profile-tab,
body:not(.public-site):not(.public-site-v3) .module-admin-tabs .profile-tab,
body:not(.public-site):not(.public-site-v3) .task-detail-tabs .profile-tab,
body:not(.public-site):not(.public-site-v3) .workspace-tabs .tab,
body:not(.public-site):not(.public-site-v3) .security-tabs .profile-tab
{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:8px !important;
    flex:0 0 auto !important;
    width:auto !important;
    min-height:38px !important;
    padding:8px 12px !important;
    border:1px solid transparent !important;
    border-radius:11px !important;
    background:transparent !important;
    color:var(--ui-muted, #64748b) !important;
    box-shadow:none !important;
    font-size:13px !important;
    font-weight:900 !important;
    line-height:1 !important;
    text-decoration:none !important;
    white-space:nowrap !important;
}

body:not(.public-site):not(.public-site-v3) .profile-tab.active,
body:not(.public-site):not(.public-site-v3) .profile-tab[aria-selected="true"],
body:not(.public-site):not(.public-site-v3) .settings-tab-bar .active,
body:not(.public-site):not(.public-site-v3) .settings-tab-bar [aria-selected="true"],
body:not(.public-site):not(.public-site-v3) .account-settings-tabs .profile-tab.active,
body:not(.public-site):not(.public-site-v3) .module-admin-tabs .profile-tab.active,
body:not(.public-site):not(.public-site-v3) .task-detail-tabs .profile-tab.active,
body:not(.public-site):not(.public-site-v3) .workspace-tabs .tab.active,
body:not(.public-site):not(.public-site-v3) .security-tabs .profile-tab.active
{
    border-color:var(--ui-primary, #334155) !important;
    background:var(--ui-primary, #334155) !important;
    color:#fff !important;
    box-shadow:0 10px 20px rgba(15,23,42,.14) !important;
}

body:not(.public-site):not(.public-site-v3) .module-config-submenu-dropdown,
body:not(.public-site):not(.public-site-v3) .profile-tab-dropdown
{
    position:absolute !important;
    top:calc(100% + 8px) !important;
    left:0 !important;
    z-index:12000 !important;
    display:none !important;
    width:max-content !important;
    min-width:240px !important;
    max-width:min(320px, calc(100vw - 32px)) !important;
    padding:7px !important;
    border:1px solid var(--ui-border, #d6dfeb) !important;
    border-radius:12px !important;
    background:rgba(255,255,255,.98) !important;
    box-shadow:0 18px 42px rgba(15,23,42,.18) !important;
}

body:not(.public-site):not(.public-site-v3) .module-config-tab-shell.submenu-open .module-config-submenu-dropdown,
body:not(.public-site):not(.public-site-v3) .profile-tab-shell.submenu-open .profile-tab-dropdown
{
    display:grid !important;
    gap:3px !important;
}

body:not(.public-site):not(.public-site-v3) .module-config-tab-shell:nth-last-child(-n+2) .module-config-submenu-dropdown,
body:not(.public-site):not(.public-site-v3) .profile-tab-shell:nth-last-child(-n+2) .profile-tab-dropdown
{
    right:0 !important;
    left:auto !important;
}

body:not(.public-site):not(.public-site-v3) .module-config-submenu-dropdown a,
body:not(.public-site):not(.public-site-v3) .module-config-submenu-dropdown button,
body:not(.public-site):not(.public-site-v3) .profile-tab-dropdown a,
body:not(.public-site):not(.public-site-v3) .profile-tab-dropdown button
{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:10px !important;
    width:100% !important;
    min-height:38px !important;
    padding:9px 10px !important;
    border:1px solid transparent !important;
    border-radius:9px !important;
    background:transparent !important;
    color:var(--ui-muted, #475569) !important;
    box-shadow:none !important;
    font-size:13px !important;
    font-weight:900 !important;
    line-height:1.2 !important;
    text-align:left !important;
    text-decoration:none !important;
    white-space:normal !important;
    cursor:pointer !important;
}

body:not(.public-site):not(.public-site-v3) .module-config-submenu-dropdown a:hover,
body:not(.public-site):not(.public-site-v3) .module-config-submenu-dropdown a:focus-visible,
body:not(.public-site):not(.public-site-v3) .module-config-submenu-dropdown button:hover,
body:not(.public-site):not(.public-site-v3) .module-config-submenu-dropdown button:focus-visible,
body:not(.public-site):not(.public-site-v3) .profile-tab-dropdown a:hover,
body:not(.public-site):not(.public-site-v3) .profile-tab-dropdown a:focus-visible,
body:not(.public-site):not(.public-site-v3) .profile-tab-dropdown button:hover,
body:not(.public-site):not(.public-site-v3) .profile-tab-dropdown button:focus-visible
{
    background:var(--ui-surface-muted, #f1f5f9) !important;
    color:var(--ui-strong, #111827) !important;
    outline:0 !important;
}

body:not(.public-site):not(.public-site-v3) .module-config-submenu-dropdown a.active,
body:not(.public-site):not(.public-site-v3) .module-config-submenu-dropdown button.active,
body:not(.public-site):not(.public-site-v3) .profile-tab-dropdown a.active,
body:not(.public-site):not(.public-site-v3) .profile-tab-dropdown button.active
{
    border-color:var(--ui-border-strong, #cbd5e1) !important;
    background:var(--ui-surface-soft, #eef2f7) !important;
    color:var(--ui-strong, #111827) !important;
    box-shadow:inset 3px 0 0 var(--ui-primary, #334155) !important;
}

@media (max-width:760px)
{
    body:not(.public-site):not(.public-site-v3) .module-admin-tabs,
    body:not(.public-site):not(.public-site-v3) .profile-settings-tabs,
    body:not(.public-site):not(.public-site-v3) .account-settings-tabs,
    body:not(.public-site):not(.public-site-v3) .security-tabs,
    body:not(.public-site):not(.public-site-v3) .task-detail-tabs,
    body:not(.public-site):not(.public-site-v3) .workspace-tabs
    {
        overflow-x:auto !important;
        overflow-y:visible !important;
        -webkit-overflow-scrolling:touch;
    }
}

body.sidebar-collapsed .sidebar
{
    width:104px !important;
    min-width:104px !important;
    padding:18px 14px !important;
    overflow-x:visible !important;
}

body.sidebar-collapsed .sidebar .sidebar-brand-row
{
    justify-content:center !important;
    min-height:42px !important;
    margin-bottom:14px !important;
}

body.sidebar-collapsed .sidebar .sidebar-brand-row .logo
{
    display:none !important;
}

body.sidebar-collapsed .sidebar .sidebar-collapse-button
{
    flex:0 0 42px !important;
    width:42px !important;
    height:42px !important;
    min-height:42px !important;
    border-radius:14px !important;
}

body.sidebar-collapsed .sidebar .sidebar-collapse-symbol
{
    transform:none !important;
}

body.sidebar-collapsed .sidebar nav
{
    overflow-y:auto !important;
    overflow-x:visible !important;
    scrollbar-width:none;
}

body.sidebar-collapsed .sidebar nav::-webkit-scrollbar
{
    width:0;
    height:0;
}

body.sidebar-collapsed .sidebar nav a,
body.sidebar-collapsed .sidebar .menu-parent
{
    width:48px !important;
    min-height:48px !important;
    margin-inline:auto !important;
    padding:0 !important;
}

body.sidebar-collapsed .sidebar .user-info,
body.sidebar-collapsed .sidebar .profile-menu-trigger,
body.sidebar-collapsed .sidebar-footer .global-search-shell,
body.sidebar-collapsed .sidebar-footer .workspace-switcher-shell,
body.sidebar-collapsed .sidebar-footer .system-admin-menu-shell,
body.sidebar-collapsed .sidebar-footer .information-menu-shell,
body.sidebar-collapsed .sidebar .notification-bell,
body.sidebar-collapsed .sidebar .global-search-button,
body.sidebar-collapsed .sidebar .workspace-switcher-button,
body.sidebar-collapsed .sidebar .information-menu-button,
body.sidebar-collapsed .sidebar .system-admin-menu-button
{
    width:48px !important;
    height:48px !important;
    min-height:48px !important;
}

body.sidebar-collapsed .sidebar-footer
{
    display:grid !important;
    grid-template-columns:48px !important;
    justify-content:center !important;
    justify-items:center !important;
    gap:10px !important;
}

/* Final sidebar account/footer alignment */
body:not(.sidebar-collapsed) .sidebar .profile-menu-trigger
{
    display:grid !important;
    grid-template-columns:auto minmax(0,1fr) auto !important;
    align-items:center !important;
    gap:12px !important;
}

body:not(.sidebar-collapsed) .sidebar .profile-details
{
    display:block !important;
    min-width:0 !important;
}

body:not(.sidebar-collapsed) .sidebar .profile-details strong
{
    display:block !important;
    overflow:hidden !important;
    max-width:100% !important;
    color:#fff !important;
    white-space:nowrap !important;
    text-overflow:ellipsis !important;
}

.sidebar .profile-details small
{
    display:none !important;
}

body:not(.sidebar-collapsed) .sidebar-footer
{
    display:flex !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:8px !important;
    overflow:visible !important;
}

body:not(.sidebar-collapsed) .sidebar-footer .global-search-shell,
body:not(.sidebar-collapsed) .sidebar-footer .workspace-switcher-shell,
body:not(.sidebar-collapsed) .sidebar-footer .system-admin-menu-shell,
body:not(.sidebar-collapsed) .sidebar-footer .information-menu-shell
{
    flex:0 0 42px !important;
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
}

body:not(.sidebar-collapsed) .sidebar .notification-bell,
body:not(.sidebar-collapsed) .sidebar .global-search-button,
body:not(.sidebar-collapsed) .sidebar .workspace-switcher-button,
body:not(.sidebar-collapsed) .sidebar .information-menu-button,
body:not(.sidebar-collapsed) .sidebar .system-admin-menu-button
{
    flex:0 0 42px !important;
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
    min-height:42px !important;
    border-radius:13px !important;
}

/* Old page-level grid controls are hidden once the unified grid workbench is active. */
.legacy-grid-controls-superseded
{
    display:none !important;
}

/* Manage Organization card grids */
.organization-config-card-grid-panel
{
    display:grid !important;
    gap:18px !important;
    padding:20px !important;
}

.organization-config-card-grid
{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
    gap:14px;
}

.organization-config-card
{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:14px;
    min-height:122px;
    padding:18px;
    border:1px solid var(--ui-border,#dbe3ee);
    border-radius:18px;
    background:var(--ui-surface,#fff);
    color:var(--ui-text,#172033);
    cursor:pointer;
    box-shadow:0 12px 28px rgba(15,23,42,.055);
    transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease,transform .16s ease;
}

.organization-config-card:hover,
.organization-config-card:focus-visible
{
    border-color:var(--ui-primary,#334155);
    background:var(--ui-surface-muted,#f8fafc);
    box-shadow:0 16px 34px rgba(15,23,42,.08);
    outline:0;
    transform:translateY(-1px);
}

.organization-config-card-icon
{
    display:grid;
    place-items:center;
    width:46px;
    height:46px;
    border-radius:15px;
    background:var(--ui-surface-soft,#eef2f7);
    color:var(--ui-primary,#334155);
}

.organization-config-card h3
{
    margin:0 0 5px;
    color:var(--ui-strong,#0f172a);
    font-size:16px;
}

.organization-config-card p,
.organization-config-card small
{
    display:block;
    margin:0;
    color:var(--ui-muted,#64748b);
    font-weight:750;
    line-height:1.4;
}

.organization-config-card-arrow
{
    color:var(--ui-muted,#64748b);
}

.chief-of-staff-page
{
    display:grid;
    gap:18px;
    max-width:1680px;
    margin:0 auto;
}

.chief-of-staff-hero
{
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
}

.chief-of-staff-hero h1
{
    margin:4px 0 6px;
}

.chief-of-staff-hero-actions
{
    display:flex;
    align-items:center;
    gap:10px;
}

.chief-of-staff-layout,
.chief-of-staff-stack
{
    display:grid;
    gap:18px;
}

.chief-of-staff-section-card
{
    display:grid;
    gap:16px;
}

.chief-of-staff-section-heading
{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
}

.chief-of-staff-section-heading h2
{
    margin:4px 0 6px;
    color:#172033;
}

.chief-of-staff-section-heading p
{
    margin:0;
    color:#64748b;
}

.chief-of-staff-data-sources
{
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:8px;
}

.chief-of-staff-data-sources span,
.chief-score-pill,
.chief-muted-pill,
.chief-risk-pill
{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:30px;
    padding:6px 10px;
    border:1px solid #dbe3ee;
    border-radius:999px;
    background:#f8fafc;
    color:#475569;
    font-size:12px;
    font-weight:900;
}

.chief-of-staff-briefing-grid,
.chief-risk-grid,
.chief-focus-grid
{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
}

.chief-briefing-card,
.chief-risk-card,
.chief-focus-card,
.chief-recommendation-card,
.chief-forgotten-card
{
    padding:16px;
    border:1px solid #dbe3ee;
    border-radius:16px;
    background:#fff;
    box-shadow:0 12px 30px rgba(15,23,42,.05);
}

.chief-briefing-card h3,
.chief-risk-card h3,
.chief-focus-card h3,
.chief-recommendation-card h3,
.chief-forgotten-card h3
{
    margin:0 0 8px;
    color:#172033;
}

.chief-briefing-list
{
    display:grid;
    gap:10px;
    margin:0;
    padding:0;
    list-style:none;
}

.chief-briefing-list li
{
    display:grid;
    gap:2px;
}

.chief-briefing-list strong
{
    color:#172033;
}

.chief-briefing-list span,
.chief-briefing-list small,
.chief-recommendation-card p,
.chief-recommendation-card small,
.chief-forgotten-card p,
.chief-forgotten-card small,
.chief-focus-card p,
.chief-focus-card small,
.chief-risk-card p
{
    color:#64748b;
}

.chief-recommendation-card,
.chief-forgotten-card,
.chief-focus-card
{
    display:grid;
    gap:14px;
}

.chief-recommendation-main
{
    display:grid;
    gap:8px;
}

.chief-recommendation-meta,
.chief-risk-head,
.chief-recommendation-actions
{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
}

.chief-risk-head
{
    justify-content:space-between;
}

.chief-recommendation-actions form
{
    margin:0;
}

.chief-risk-card.severity-high
{
    border-color:#fecaca;
    background:#fff7f7;
}

.chief-risk-card.severity-medium
{
    border-color:#fde68a;
    background:#fffbeb;
}

.chief-risk-card.severity-low
{
    border-color:#bfdbfe;
    background:#f8fbff;
}

@media (max-width:1080px)
{
    .chief-of-staff-briefing-grid,
    .chief-risk-grid,
    .chief-focus-grid
    {
        grid-template-columns:1fr;
    }
}

@media (max-width:760px)
{
    .chief-of-staff-hero,
    .chief-of-staff-section-heading,
    .chief-recommendation-actions
    {
        display:grid;
    }

    .chief-of-staff-data-sources
    {
        justify-content:flex-start;
    }
}

.organization-config-modal-content
{
    width:min(760px,calc(100vw - 32px));
}

.organization-user-flags-list label
{
    align-items:center;
}

/* Modern CRM dashboard */
.crm-dashboard-page
{
    display:grid;
    gap:22px;
}

.crm-dashboard-page .primary-btn,
.crm-dashboard-page .secondary-btn
{
    min-height:42px;
    border-radius:12px;
    padding:0 16px;
    font-weight:800;
    box-shadow:none;
}

.crm-dashboard-page .primary-btn
{
    border:1px solid #26354a;
    background:#26354a;
    color:#fff;
}

.crm-dashboard-page .secondary-btn
{
    border:1px solid #d7dfeb;
    background:#fff;
    color:#1d2939;
}

.crm-dashboard-page .primary-btn:hover,
.crm-dashboard-page .secondary-btn:hover
{
    transform:translateY(-1px);
    box-shadow:0 12px 24px rgba(15,23,42,.10);
}

.crm-hero
{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(320px,420px);
    gap:26px;
    align-items:stretch;
    padding:28px;
    border:1px solid #d8e1ec;
    border-radius:22px;
    background:
        radial-gradient(circle at 92% 12%, rgba(99,102,241,.12), transparent 30%),
        linear-gradient(135deg,#ffffff 0%,#f8fafc 56%,#edf3f8 100%);
    box-shadow:0 18px 46px rgba(15,23,42,.08);
}

.crm-hero .eyebrow
{
    display:inline-flex;
    align-items:center;
    margin-bottom:10px;
    color:#516077;
    font-size:12px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.crm-hero h1
{
    margin:0;
    color:#101828;
    font-size:clamp(34px,4vw,56px);
    line-height:1.02;
    letter-spacing:0;
}

.crm-hero p
{
    max-width:760px;
    margin:12px 0 0;
    color:#536176;
    font-size:17px;
    line-height:1.6;
}

.crm-hero-actions
{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:22px;
}

.crm-hero-panel
{
    display:grid;
    grid-template-columns:1fr;
    gap:12px;
    padding:16px;
    border:1px solid rgba(255,255,255,.40);
    border-radius:20px;
    background:#26354a;
    color:#fff;
    box-shadow:0 20px 40px rgba(38,53,74,.24);
}

.crm-hero-panel div
{
    display:grid;
    gap:4px;
    padding:16px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:16px;
    background:rgba(255,255,255,.08);
}

.crm-hero-panel span
{
    color:#d6dde9;
    font-size:12px;
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase;
}

.crm-hero-panel strong
{
    color:#fff;
    font-size:28px;
    line-height:1;
}

.crm-kpi-grid
{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:14px;
}

.crm-kpi-card
{
    position:relative;
    display:grid;
    gap:8px;
    min-height:150px;
    padding:18px;
    border:1px solid #d8e1ec;
    border-radius:18px;
    background:#fff;
    color:#101828;
    text-decoration:none;
    box-shadow:0 14px 34px rgba(15,23,42,.06);
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.crm-kpi-card:hover,
.crm-list-row:hover,
.crm-mini-list a:hover
{
    transform:translateY(-1px);
    border-color:#b9c6d8;
    box-shadow:0 18px 36px rgba(15,23,42,.10);
}

.crm-kpi-card > span:not(.crm-kpi-icon)
{
    align-self:end;
    color:#536176;
    font-size:12px;
    font-weight:900;
    letter-spacing:.05em;
    text-transform:uppercase;
}

.crm-kpi-card strong
{
    font-size:32px;
    line-height:1;
}

.crm-kpi-card small
{
    color:#667085;
    line-height:1.45;
}

.crm-kpi-icon
{
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    border-radius:14px;
    background:#eef4ff;
    color:#26354a;
}

.crm-kpi-card.warning .crm-kpi-icon
{
    background:#fff7ed;
    color:#9a3412;
}

.crm-dashboard-layout
{
    display:grid;
    grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr);
    gap:18px;
    align-items:start;
}

.crm-main-column,
.crm-side-column,
.crm-bottom-grid
{
    display:grid;
    gap:18px;
}

.crm-bottom-grid
{
    grid-template-columns:repeat(2,minmax(0,1fr));
}

.crm-panel
{
    padding:20px;
    border:1px solid #d8e1ec;
    border-radius:20px;
    background:#fff;
    box-shadow:0 14px 34px rgba(15,23,42,.06);
}

.crm-panel-header
{
    display:flex;
    justify-content:space-between;
    gap:16px;
    align-items:flex-start;
    margin-bottom:18px;
}

.crm-panel-header.compact
{
    margin-bottom:14px;
}

.crm-panel h2
{
    margin:0;
    color:#101828;
    font-size:20px;
    line-height:1.2;
}

.crm-panel p
{
    margin:5px 0 0;
    color:#667085;
}

.crm-panel-header a
{
    color:#26354a;
    font-weight:800;
    text-decoration:none;
    white-space:nowrap;
}

.crm-stage-track,
.crm-status-list,
.crm-card-list,
.crm-mini-list,
.crm-activity-timeline
{
    display:grid;
    gap:12px;
}

.crm-stage-row
{
    display:grid;
    gap:8px;
    padding:14px;
    border:1px solid #e1e7ef;
    border-radius:14px;
    background:#fbfcfe;
}

.crm-stage-row > div:first-child,
.crm-status-list div
{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:12px;
    align-items:center;
}

.crm-stage-row span,
.crm-status-list span
{
    display:flex;
    gap:8px;
    align-items:center;
    min-width:0;
    color:#1d2939;
    font-weight:800;
}

.crm-stage-row span i,
.crm-status-list span i
{
    flex:0 0 auto;
    width:10px;
    height:10px;
    border-radius:999px;
}

.crm-stage-row small
{
    color:#667085;
}

.crm-progress-track,
.crm-status-list b
{
    display:block;
    overflow:hidden;
    height:9px;
    border-radius:999px;
    background:#edf2f7;
}

.crm-progress-track span,
.crm-status-list b em
{
    display:block;
    height:100%;
    border-radius:inherit;
}

.crm-status-list div
{
    grid-template-columns:minmax(0,1fr) auto;
    gap:8px 12px;
    padding-bottom:12px;
    border-bottom:1px solid #edf2f7;
}

.crm-status-list b
{
    grid-column:1 / -1;
}

.crm-list-row,
.crm-mini-list a
{
    display:flex;
    justify-content:space-between;
    gap:16px;
    align-items:center;
    padding:14px;
    border:1px solid #e1e7ef;
    border-radius:14px;
    background:#fff;
    color:#1d2939;
    text-decoration:none;
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}

.crm-row-main,
.crm-row-meta
{
    display:grid;
    gap:4px;
    min-width:0;
}

.crm-row-main strong
{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.crm-row-main small,
.crm-row-meta em,
.crm-mini-list span,
.crm-activity-timeline span
{
    color:#667085;
    font-size:13px;
    font-style:normal;
}

.crm-row-meta
{
    justify-items:end;
    text-align:right;
    white-space:nowrap;
}

.crm-mini-list a
{
    display:grid;
    justify-content:stretch;
    gap:4px;
}

.crm-activity-timeline div:not(.crm-empty-mini)
{
    position:relative;
    display:grid;
    gap:4px;
    padding:0 0 14px 24px;
    border-bottom:1px solid #edf2f7;
}

.crm-activity-timeline i
{
    position:absolute;
    top:4px;
    left:2px;
    width:10px;
    height:10px;
    border:2px solid #26354a;
    border-radius:999px;
    background:#fff;
}

.crm-empty-mini
{
    padding:16px;
    border:1px dashed #cfd8e6;
    border-radius:14px;
    background:#f8fafc;
    color:#667085;
    text-align:center;
}

@media (max-width:1200px)
{
    .crm-kpi-grid
    {
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
}

@media (max-width:980px)
{
    .crm-hero,
    .crm-dashboard-layout,
    .crm-bottom-grid
    {
        grid-template-columns:1fr;
    }

    .crm-kpi-grid
    {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media (max-width:640px)
{
    .crm-hero
    {
        padding:20px;
        border-radius:18px;
    }

    .crm-hero-actions,
    .crm-list-row
    {
        flex-direction:column;
        align-items:stretch;
    }

    .crm-kpi-grid
    {
        grid-template-columns:1fr;
    }

    .crm-row-meta
    {
        justify-items:start;
        text-align:left;
    }
}

body:not(.public-site):not(.public-site-v3) .task-workflow-modal
{
    width:min(860px,calc(100vw - 40px)) !important;
    max-width:min(860px,calc(100vw - 40px)) !important;
    max-height:calc(100dvh - 36px) !important;
    overflow:hidden !important;
    display:grid;
    grid-template-rows:auto minmax(0,1fr);
    border:1px solid #dbe3ee !important;
    border-radius:22px !important;
    background:#fff !important;
    box-shadow:0 28px 80px rgba(15,23,42,.24) !important;
}

body:not(.public-site):not(.public-site-v3) .task-workflow-header
{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
    padding:22px 24px 18px;
    border-bottom:1px solid #e2e8f0;
    background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);
}

body:not(.public-site):not(.public-site-v3) .task-workflow-header-copy
{
    display:grid;
    gap:6px;
}

body:not(.public-site):not(.public-site-v3) .task-workflow-header h2
{
    margin:0;
    color:#172033;
    font-size:28px;
    line-height:1.1;
}

body:not(.public-site):not(.public-site-v3) .task-workflow-header p
{
    margin:0;
    color:#64748b;
    font-size:14px;
    line-height:1.5;
}

body:not(.public-site):not(.public-site-v3) .task-workflow-close
{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:40px;
    height:40px;
    border:1px solid #d6dfeb;
    border-radius:12px;
    background:#fff;
    color:#475569;
    font-size:20px;
    line-height:1;
    box-shadow:0 10px 24px rgba(15,23,42,.06);
}

body:not(.public-site):not(.public-site-v3) .task-workflow-close:hover,
body:not(.public-site):not(.public-site-v3) .task-workflow-close:focus-visible
{
    border-color:#94a3b8;
    background:#f8fafc;
    color:#172033;
}

body:not(.public-site):not(.public-site-v3) .task-workflow-form
{
    display:grid;
    grid-template-rows:minmax(0,1fr) auto;
    min-height:0;
}

body:not(.public-site):not(.public-site-v3) .task-workflow-scroll,
body:not(.public-site):not(.public-site-v3) #taskDetailsContent
{
    min-height:0;
}

body:not(.public-site):not(.public-site-v3) .task-workflow-scroll
{
    padding:22px 24px;
    overflow:auto;
}

body:not(.public-site):not(.public-site-v3) #taskDetailsContent
{
    display:grid;
    grid-template-rows:auto minmax(0,1fr);
    min-height:0;
}

body:not(.public-site):not(.public-site-v3) #taskDetailsContent > .task-workflow-toolbar
{
    margin:22px 24px 0;
}

body:not(.public-site):not(.public-site-v3) .task-workflow-stack
{
    display:grid;
    gap:18px;
}

body:not(.public-site):not(.public-site-v3) .task-workflow-section
{
    display:grid;
    gap:16px;
    padding:18px;
    border:1px solid #dbe3ee;
    border-radius:18px;
    background:#fff;
    box-shadow:0 12px 30px rgba(15,23,42,.05);
}

body:not(.public-site):not(.public-site-v3) .task-workflow-section-muted
{
    background:#f8fafc;
}

body:not(.public-site):not(.public-site-v3) .task-workflow-section-header
{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
}

body:not(.public-site):not(.public-site-v3) .task-workflow-section-header h3
{
    margin:0 0 4px;
    color:#172033;
    font-size:18px;
}

body:not(.public-site):not(.public-site-v3) .task-workflow-section-header p
{
    margin:0;
    color:#64748b;
    font-size:13px;
    line-height:1.5;
}

body:not(.public-site):not(.public-site-v3) .task-workflow-field-grid
{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
    align-items:start;
}

body:not(.public-site):not(.public-site-v3) .task-workflow-field
{
    display:grid;
    gap:8px;
    min-width:0;
}

body:not(.public-site):not(.public-site-v3) .task-workflow-field-full
{
    grid-column:1 / -1;
}

body:not(.public-site):not(.public-site-v3) .task-workflow-field-compact
{
    max-width:260px;
}

body:not(.public-site):not(.public-site-v3) .task-workflow-field label
{
    margin:0;
    color:#475569;
    font-size:12px;
    font-weight:800;
    letter-spacing:.02em;
    text-transform:uppercase;
}

body:not(.public-site):not(.public-site-v3) .task-workflow-field input,
body:not(.public-site):not(.public-site-v3) .task-workflow-field select,
body:not(.public-site):not(.public-site-v3) .task-workflow-field textarea
{
    min-height:46px;
    padding:11px 14px;
    border:1px solid #d6dfeb;
    border-radius:12px;
    background:#fff;
    color:#172033;
    box-shadow:none;
}

body:not(.public-site):not(.public-site-v3) .task-workflow-field input::placeholder,
body:not(.public-site):not(.public-site-v3) .task-workflow-field textarea::placeholder
{
    color:#94a3b8;
}

body:not(.public-site):not(.public-site-v3) .task-workflow-field input:hover,
body:not(.public-site):not(.public-site-v3) .task-workflow-field select:hover,
body:not(.public-site):not(.public-site-v3) .task-workflow-field textarea:hover
{
    border-color:#cbd5e1;
}

body:not(.public-site):not(.public-site-v3) .task-workflow-field input:focus,
body:not(.public-site):not(.public-site-v3) .task-workflow-field select:focus,
body:not(.public-site):not(.public-site-v3) .task-workflow-field textarea:focus
{
    border-color:#94a3b8;
    box-shadow:0 0 0 4px rgba(148,163,184,.15);
}

body:not(.public-site):not(.public-site-v3) .task-workflow-modal .warning-message
{
    margin-bottom:16px;
    border-radius:14px;
}

body:not(.public-site):not(.public-site-v3) .task-workflow-modal .simple-editor
{
    margin-bottom:0;
    border:1px solid #d6dfeb;
    border-radius:14px;
    box-shadow:0 6px 18px rgba(15,23,42,.04);
}

body:not(.public-site):not(.public-site-v3) .task-workflow-modal .simple-editor-toolbar
{
    gap:10px;
    padding:10px 12px;
    background:#f8fafc;
}

body:not(.public-site):not(.public-site-v3) .task-workflow-modal .simple-editor-toolbar-group
{
    gap:6px;
    padding-right:10px;
    border-right:1px solid rgba(203,213,225,.85);
}

body:not(.public-site):not(.public-site-v3) .task-workflow-modal .simple-editor-button
{
    min-height:30px;
    padding:6px 9px;
    border:1px solid #d6dfeb;
    border-radius:10px;
    background:#fff;
    color:#334155;
    font-size:12px;
    font-weight:800;
    transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease;
}

body:not(.public-site):not(.public-site-v3) .task-workflow-modal .simple-editor-button:hover,
body:not(.public-site):not(.public-site-v3) .task-workflow-modal .simple-editor-button:focus-visible
{
    border-color:#94a3b8;
    background:#f8fafc;
    color:#172033;
    transform:translateY(-1px);
}

body:not(.public-site):not(.public-site-v3) .task-workflow-modal .simple-editor-surface
{
    min-height:170px;
    max-height:260px;
    overflow:auto;
    padding:14px 16px;
    border-top:1px solid #e2e8f0;
    background:#fff;
}

body:not(.public-site):not(.public-site-v3) .task-create-modal-content .simple-editor-surface
{
    min-height:160px;
    max-height:220px;
}

body:not(.public-site):not(.public-site-v3) .task-workflow-toolbar
{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:14px 18px;
    border:1px solid #dbe3ee;
    border-radius:16px;
    background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);
    box-shadow:0 10px 22px rgba(15,23,42,.05);
}

body:not(.public-site):not(.public-site-v3) .task-workflow-toolbar strong
{
    display:block;
    color:#172033;
    font-size:18px;
}

body:not(.public-site):not(.public-site-v3) .task-workflow-toolbar .secondary-btn,
body:not(.public-site):not(.public-site-v3) .task-workflow-toolbar .btn-small
{
    width:auto;
    min-height:38px;
}

body:not(.public-site):not(.public-site-v3) .task-actions-dropdown
{
    border-radius:14px;
    border:1px solid #dbe3ee;
    box-shadow:0 18px 40px rgba(15,23,42,.14);
}

body:not(.public-site):not(.public-site-v3) .task-detail-tab-panels
{
    display:grid;
    gap:14px;
}

body:not(.public-site):not(.public-site-v3) .task-detail-tab-panel
{
    padding:18px;
    border:1px solid #dbe3ee;
    border-radius:16px;
    background:#fff;
    box-shadow:0 10px 24px rgba(15,23,42,.04);
}

body:not(.public-site):not(.public-site-v3) .task-detail-tab-panel > h3
{
    margin:0 0 14px;
    color:#172033;
}

body:not(.public-site):not(.public-site-v3) .discussion-note-toggle
{
    justify-content:flex-start;
    gap:10px;
    min-height:44px;
    padding:0 2px;
}

body:not(.public-site):not(.public-site-v3) .task-workflow-footer
{
    position:sticky;
    bottom:0;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:10px;
    padding:16px 24px;
    border-top:1px solid #e2e8f0;
    background:rgba(255,255,255,.94);
    backdrop-filter:blur(14px);
}

body:not(.public-site):not(.public-site-v3) .task-workflow-footer .primary-btn,
body:not(.public-site):not(.public-site-v3) .task-workflow-footer .secondary-btn
{
    width:auto;
    min-width:130px;
    min-height:42px;
}

body:not(.public-site):not(.public-site-v3) .task-workflow-footer .primary-btn
{
    box-shadow:0 12px 26px rgba(15,23,42,.12);
}

@media (max-width:860px)
{
    body:not(.public-site):not(.public-site-v3) .task-workflow-modal
    {
        width:calc(100vw - 20px) !important;
        max-width:calc(100vw - 20px) !important;
        max-height:calc(100dvh - 20px) !important;
        border-radius:20px !important;
    }

    body:not(.public-site):not(.public-site-v3) .task-workflow-header,
    body:not(.public-site):not(.public-site-v3) .task-workflow-scroll,
    body:not(.public-site):not(.public-site-v3) .task-workflow-footer
    {
        padding-left:18px;
        padding-right:18px;
    }

    body:not(.public-site):not(.public-site-v3) .task-workflow-field-grid
    {
        grid-template-columns:1fr;
    }

    body:not(.public-site):not(.public-site-v3) #taskDetailsContent > .task-workflow-toolbar
    {
        margin-left:18px;
        margin-right:18px;
    }

    body:not(.public-site):not(.public-site-v3) .task-workflow-field-compact
    {
        max-width:none;
    }
}

@media (max-width:640px)
{
    body:not(.public-site):not(.public-site-v3) .task-workflow-modal
    {
        width:100vw !important;
        max-width:100vw !important;
        max-height:100dvh !important;
        border-radius:18px 18px 0 0 !important;
    }

    body:not(.public-site):not(.public-site-v3) .task-workflow-header
    {
        padding:18px 16px 14px;
    }

    body:not(.public-site):not(.public-site-v3) .task-workflow-header h2
    {
        font-size:24px;
    }

    body:not(.public-site):not(.public-site-v3) .task-workflow-scroll
    {
        padding:16px;
    }

    body:not(.public-site):not(.public-site-v3) #taskDetailsContent > .task-workflow-toolbar
    {
        margin:16px 16px 0;
    }

    body:not(.public-site):not(.public-site-v3) .task-workflow-section
    {
        padding:16px;
        border-radius:16px;
    }

    body:not(.public-site):not(.public-site-v3) .task-workflow-toolbar,
    body:not(.public-site):not(.public-site-v3) .task-workflow-footer
    {
        display:grid;
    }

    body:not(.public-site):not(.public-site-v3) .task-workflow-footer .primary-btn,
    body:not(.public-site):not(.public-site-v3) .task-workflow-footer .secondary-btn
    {
        width:100%;
        min-width:0;
    }

    body:not(.public-site):not(.public-site-v3) .task-workflow-modal .simple-editor-toolbar
    {
        padding:10px;
        overflow-x:auto;
    }

    body:not(.public-site):not(.public-site-v3) .task-workflow-modal .simple-editor-toolbar-group
    {
        flex-wrap:nowrap;
        white-space:nowrap;
    }
}

body:not(.public-site):not(.public-site-v3) .task-related-link
{
    display:grid;
    gap:4px;
    padding:12px 14px;
    border:1px solid #dbe3ee;
    border-radius:14px;
    background:#fff;
    color:#172033;
    text-decoration:none;
    transition:border-color .16s ease,background .16s ease,transform .16s ease,box-shadow .16s ease;
}

body:not(.public-site):not(.public-site-v3) .task-related-link + .task-related-link
{
    margin-top:10px;
}

body:not(.public-site):not(.public-site-v3) .task-related-link span
{
    color:#64748b;
    font-size:12px;
    font-weight:900;
}

body:not(.public-site):not(.public-site-v3) .task-related-link strong
{
    color:#172033;
    font-size:14px;
}

body:not(.public-site):not(.public-site-v3) .task-related-link:hover,
body:not(.public-site):not(.public-site-v3) .task-related-link:focus-visible
{
    border-color:#cbd5e1;
    background:#f8fafc;
    transform:translateY(-1px);
    box-shadow:0 10px 24px rgba(15,23,42,.06);
}

body:not(.public-site):not(.public-site-v3) .task-time-entry-notes
{
    grid-column:1 / -1;
}

body:not(.public-site):not(.public-site-v3) .task-time-entry-card
{
    display:grid;
    gap:8px;
    padding:14px;
    border:1px solid #dbe3ee;
    border-radius:14px;
    background:#fff;
}

body:not(.public-site):not(.public-site-v3) .task-time-entry-card + .task-time-entry-card
{
    margin-top:10px;
}

body:not(.public-site):not(.public-site-v3) .task-time-entry-head,
body:not(.public-site):not(.public-site-v3) .task-time-entry-meta
{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    flex-wrap:wrap;
}

body:not(.public-site):not(.public-site-v3) .task-time-entry-head strong
{
    color:#172033;
}

body:not(.public-site):not(.public-site-v3) .task-time-entry-head span,
body:not(.public-site):not(.public-site-v3) .task-time-entry-meta span
{
    color:#64748b;
    font-size:12px;
    font-weight:800;
}

body:not(.public-site):not(.public-site-v3) .task-time-entry-card p
{
    margin:0;
    color:#334155;
}

body:not(.public-site):not(.public-site-v3) .task-attachment-upload-stack
{
    display:grid;
    gap:12px;
    margin-bottom:18px;
}

body:not(.public-site):not(.public-site-v3) .task-attachment-dropzone
{
    position:relative;
    display:grid;
    place-items:center;
    gap:8px;
    min-height:200px;
    padding:22px;
    border:1px dashed #cbd5e1;
    border-radius:16px;
    background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);
    color:#475569;
    text-align:center;
    transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease;
    cursor:pointer;
}

body:not(.public-site):not(.public-site-v3) .task-attachment-dropzone:hover,
body:not(.public-site):not(.public-site-v3) .task-attachment-dropzone:focus-within,
body:not(.public-site):not(.public-site-v3) .task-attachment-dropzone.is-dragover
{
    border-color:#94a3b8;
    background:#f8fafc;
    box-shadow:0 14px 30px rgba(15,23,42,.08);
    transform:translateY(-1px);
}

body:not(.public-site):not(.public-site-v3) .task-attachment-dropzone.has-file
{
    border-style:solid;
    border-color:#94a3b8;
}

body:not(.public-site):not(.public-site-v3) .task-attachment-dropzone input[type="file"]
{
    position:absolute;
    inset:0;
    opacity:0;
    cursor:pointer;
}

body:not(.public-site):not(.public-site-v3) .task-attachment-dropzone-icon
{
    display:grid;
    place-items:center;
    width:58px;
    height:58px;
    border-radius:18px;
    background:#eef2f7;
    color:#334155;
    font-size:22px;
}

body:not(.public-site):not(.public-site-v3) .task-attachment-dropzone strong
{
    color:#172033;
    font-size:16px;
}

body:not(.public-site):not(.public-site-v3) .task-attachment-dropzone span,
body:not(.public-site):not(.public-site-v3) .task-attachment-dropzone small
{
    color:#64748b;
    font-size:13px;
    line-height:1.5;
}

body:not(.public-site):not(.public-site-v3) .task-attachment-selected-name
{
    display:inline-flex;
    align-items:center;
    min-height:32px;
    padding:6px 10px;
    border-radius:999px;
    background:#eef2f7;
    color:#334155;
    font-size:12px;
    font-style:normal;
    font-weight:900;
}

body:not(.public-site):not(.public-site-v3) .task-attachment-lock-toggle
{
    justify-content:flex-start;
    gap:10px;
    min-height:42px;
    padding:0 2px;
}

body:not(.public-site):not(.public-site-v3) .task-attachments-empty-state
{
    display:grid;
    place-items:center;
    gap:10px;
    min-height:220px;
    padding:22px;
    border:1px dashed #d6dfeb;
    border-radius:16px;
    background:#f8fafc;
    color:#64748b;
    text-align:center;
}

body:not(.public-site):not(.public-site-v3) .task-attachments-empty-state i
{
    display:grid;
    place-items:center;
    width:54px;
    height:54px;
    border-radius:16px;
    background:#eef2f7;
    color:#334155;
    font-size:22px;
}

body:not(.public-site):not(.public-site-v3) .task-attachments-empty-state strong
{
    color:#172033;
}

body:not(.public-site):not(.public-site-v3) .task-attachment-list
{
    display:grid;
    gap:12px;
}

body:not(.public-site):not(.public-site-v3) .task-attachment-card
{
    display:grid;
    grid-template-columns:52px minmax(0,1fr) auto;
    gap:14px;
    align-items:center;
    padding:14px;
    border:1px solid #dbe3ee;
    border-radius:14px;
    background:#fff;
    box-shadow:0 10px 26px rgba(15,23,42,.04);
    transition:border-color .16s ease,background .16s ease,box-shadow .16s ease;
}

body:not(.public-site):not(.public-site-v3) .task-attachment-card:hover
{
    border-color:#cbd5e1;
    background:#fbfdff;
    box-shadow:0 14px 32px rgba(15,23,42,.08);
}

body:not(.public-site):not(.public-site-v3) .task-attachment-card-icon
{
    display:grid;
    place-items:center;
    width:52px;
    height:52px;
    border-radius:16px;
    background:#eef2f7;
    color:#334155;
    font-size:20px;
}

body:not(.public-site):not(.public-site-v3) .task-attachment-card-main
{
    display:grid;
    gap:7px;
    min-width:0;
}

body:not(.public-site):not(.public-site-v3) .task-attachment-card-head
{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
}

body:not(.public-site):not(.public-site-v3) .task-attachment-card-head a
{
    color:#172033;
    font-weight:900;
    text-decoration:none;
    overflow-wrap:anywhere;
}

body:not(.public-site):not(.public-site-v3) .task-attachment-card-badges
{
    display:flex;
    gap:6px;
    flex-wrap:wrap;
    justify-content:flex-end;
}

body:not(.public-site):not(.public-site-v3) .task-attachment-card-badges span
{
    display:inline-flex;
    align-items:center;
    min-height:24px;
    padding:4px 8px;
    border-radius:999px;
    background:#eef2f7;
    color:#475569;
    font-size:11px;
    font-weight:900;
}

body:not(.public-site):not(.public-site-v3) .task-attachment-card-meta
{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    color:#64748b;
    font-size:12px;
    font-weight:800;
}

body:not(.public-site):not(.public-site-v3) .task-attachment-card-actions .secondary-btn
{
    width:auto;
    min-height:38px;
}

body:not(.public-site):not(.public-site-v3) .task-workflow-form.is-uploading .task-attachment-dropzone
{
    border-style:solid;
    border-color:#94a3b8;
    background:linear-gradient(180deg,#f8fafc 0%,#eef2f7 100%);
}

body:not(.public-site):not(.public-site-v3) .task-workflow-form.is-uploading .task-attachment-selected-name::after
{
    content:' Uploading...';
}

@media (max-width:720px)
{
    body:not(.public-site):not(.public-site-v3) .task-attachment-card
    {
        grid-template-columns:1fr;
        justify-items:start;
    }

    body:not(.public-site):not(.public-site-v3) .task-attachment-card-head
    {
        width:100%;
        display:grid;
    }

    body:not(.public-site):not(.public-site-v3) .task-attachment-card-actions .secondary-btn
    {
        width:100%;
    }
}
