/* PRISMA Uranos — app shell styles */

/* Sidebar fixed on viewport; only main content scrolls */
html:has(.ui-app-shell),
html:has(.ui-app-shell) body {
    height: 100%;
    overflow: hidden;
}

.ui-app-shell {
    height: 100dvh;
    max-height: 100dvh;
    overflow: hidden;
    width: 100%;
    display: block;
}

/* Main column offset — matches fixed sidebar width (no double padding) */
body.ui-layout-sidebar-left {
    --ui-sidebar-offset: 16rem;
}

body.ui-layout-wordpress-admin {
    --ui-sidebar-offset: 220px;
}

body.ui-layout-compact-rail {
    --ui-sidebar-offset: 4.5rem;
}

body.ui-layout-sidebar-right {
    --ui-sidebar-offset: 16rem;
}

.ui-shell-main,
.ui-topnav-shell {
    height: 100dvh;
    max-height: 100dvh;
    min-height: 0;
    overflow: hidden;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
}

@media (min-width: 1024px) {
    body.ui-layout-sidebar-left .ui-shell-main,
    body.ui-layout-wordpress-admin .ui-shell-main,
    body.ui-layout-compact-rail .ui-shell-main {
        margin-left: var(--ui-sidebar-offset, 16rem);
        width: calc(100% - var(--ui-sidebar-offset, 16rem));
    }

    body.ui-layout-sidebar-right .ui-shell-main {
        margin-right: var(--ui-sidebar-offset, 16rem);
        width: calc(100% - var(--ui-sidebar-offset, 16rem));
    }
}

.ui-shell-header,
.ui-shell-topbar {
    flex-shrink: 0;
}

.ui-shell-content,
.ui-wp-content {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overflow-x: clip;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}

.ui-shell-footer {
    flex-shrink: 0;
}

.uranos-sidebar {
    scrollbar-width: thin;
    scrollbar-color: #334155 transparent;
    position: fixed !important;
    top: 0;
    bottom: 0;
    height: 100dvh;
    max-height: 100dvh;
    overscroll-behavior: none;
}

.uranos-sidebar .ui-shell-brand,
.uranos-sidebar .ui-shell-brand--wp,
.uranos-sidebar .ui-shell-brand--compact,
.uranos-sidebar .ui-shell-sidebar-footer,
.uranos-sidebar .ui-wp-sidebar-footer {
    flex-shrink: 0;
}

.uranos-sidebar .ui-wp-nav,
.uranos-sidebar nav {
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
}

.uranos-icon {
    display: inline-block;
    width: 1.125rem;
    height: 1.125rem;
    opacity: 0.7;
    background: currentColor;
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
}

.uranos-icon-home {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6'/%3E%3C/svg%3E");
}

.uranos-icon-grid {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 6a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2H6a2 2 0 01-2-2V6zM14 6a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2V6zM4 16a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2H6a2 2 0 01-2-2v-2zM14 16a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2v-2z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 6a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2H6a2 2 0 01-2-2V6zM14 6a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2V6zM4 16a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2H6a2 2 0 01-2-2v-2zM14 16a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2v-2z'/%3E%3C/svg%3E");
}

.uranos-icon-puzzle {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M11 4a2 2 0 114 0v1a1 1 0 001 1h3a1 1 0 011 1v3a1 1 0 01-1 1h-1a2 2 0 100 4h1a1 1 0 011 1v3a1 1 0 01-1 1h-3a1 1 0 01-1-1v-1a2 2 0 10-4 0v1a1 1 0 01-1 1H7a1 1 0 01-1-1v-3a1 1 0 00-1-1H4a2 2 0 110-4h1a1 1 0 001-1V7a1 1 0 011-1h3a1 1 0 001-1V4z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M11 4a2 2 0 114 0v1a1 1 0 001 1h3a1 1 0 011 1v3a1 1 0 01-1 1h-1a2 2 0 100 4h1a1 1 0 011 1v3a1 1 0 01-1 1h-3a1 1 0 01-1-1v-1a2 2 0 10-4 0v1a1 1 0 01-1 1H7a1 1 0 01-1-1v-3a1 1 0 00-1-1H4a2 2 0 110-4h1a1 1 0 001-1V7a1 1 0 011-1h3a1 1 0 001-1V4z'/%3E%3C/svg%3E");
}

.uranos-icon-cart {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M3 3h2l.4 2M7 13h10l4-8H5.4M7 13L5.4 5M7 13l-2.293 2.293c-.63.63-.184 1.707.707 1.707H17m0 0a2 2 0 100 4 2 2 0 000-4zm-8 2a2 2 0 11-4 0 2 2 0 014 0z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M3 3h2l.4 2M7 13h10l4-8H5.4M7 13L5.4 5M7 13l-2.293 2.293c-.63.63-.184 1.707.707 1.707H17m0 0a2 2 0 100 4 2 2 0 000-4zm-8 2a2 2 0 11-4 0 2 2 0 014 0z'/%3E%3C/svg%3E");
}

.uranos-icon-cog {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z'/%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M15 12a3 3 0 11-6 0 3 3 0 016 0z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z'/%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M15 12a3 3 0 11-6 0 3 3 0 016 0z'/%3E%3C/svg%3E");
}

.uranos-icon-user {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z'/%3E%3C/svg%3E");
}

.uranos-icon-logout {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M17 16l4-4m0 0l-4-4m4 4H7m6 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h4a3 3 0 013 3v1'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M17 16l4-4m0 0l-4-4m4 4H7m6 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h4a3 3 0 013 3v1'/%3E%3C/svg%3E");
}

.uranos-user-menu.is-open .uranos-user-menu-chevron {
    transform: rotate(180deg);
}

.uranos-user-menu.is-open .uranos-user-menu-trigger {
    border-color: rgba(52, 211, 153, 0.35);
    background: rgba(16, 185, 129, 0.08);
}

.uranos-user-menu-panel:not(.hidden) {
    animation: uranos-menu-in 0.15s ease-out;
}

@keyframes uranos-menu-in {
    from { opacity: 0; transform: translateY(4px); }
    to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 1023px) {
    .uranos-sidebar {
        transform: translateX(-100%);
    }

    body.ui-layout-sidebar-right .uranos-sidebar {
        transform: translateX(100%);
    }

    .ui-shell-main {
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100% !important;
    }
}

.uranos-login .uranos-input {
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.uranos-login details summary::-webkit-details-marker {
    display: none;
}

.uranos-login details summary::before {
    content: '▸ ';
    display: inline-block;
    transition: transform 0.15s ease;
}

.uranos-login details[open] summary::before {
    transform: rotate(90deg);
}

@media (min-width: 1024px) {
    .uranos-sidebar {
        transform: translateX(0);
    }
}

.uranos-icon-plug {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M13.828 10.172a4 4 0 00-5.656 0l-4 4a4 4 0 105.656 5.656l1.102-1.101m-.758-4.899a4 4 0 005.656 0l4-4a4 4 0 00-5.656-5.656l-1.1 1.1'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M13.828 10.172a4 4 0 00-5.656 0l-4 4a4 4 0 105.656 5.656l1.102-1.101m-.758-4.899a4 4 0 005.656 0l4-4a4 4 0 00-5.656-5.656l-1.1 1.1'/%3E%3C/svg%3E");
}

/* Lawyer360 — thematic nav icons */
.uranos-icon-contacts {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0zm6 3a2 2 0 11-4 0 2 2 0 014 0zM7 10a2 2 0 11-4 0 2 2 0 014 0z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0zm6 3a2 2 0 11-4 0 2 2 0 014 0zM7 10a2 2 0 11-4 0 2 2 0 014 0z'/%3E%3C/svg%3E");
}

.uranos-icon-gavel {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M14.5 12.5l-8 8a2.12 2.12 0 103 3l8-8'/%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M16 16l6-6M8 8l6-6M9 7l8 8M21 11l-8-8'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M14.5 12.5l-8 8a2.12 2.12 0 103 3l8-8'/%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M16 16l6-6M8 8l6-6M9 7l8 8M21 11l-8-8'/%3E%3C/svg%3E");
}

.uranos-icon-chart {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M9 7h6m0 10v-3m-3 3h.01M9 17h.01M9 14h.01M12 14h.01M15 11h.01M12 11h.01M9 11h.01M7 21h10a2 2 0 002-2V5a2 2 0 00-2-2H7a2 2 0 00-2 2v14a2 2 0 002 2z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M9 7h6m0 10v-3m-3 3h.01M9 17h.01M9 14h.01M12 14h.01M15 11h.01M12 11h.01M9 11h.01M7 21h10a2 2 0 002-2V5a2 2 0 00-2-2H7a2 2 0 00-2 2v14a2 2 0 002 2z'/%3E%3C/svg%3E");
}

.uranos-icon-scroll {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M5 20V9l2-2h2l1 1v12M5 9h5M8 9v11'/%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M14 7c2.2 0 4 1.2 4 3.2V18c0 1.8-1.8 3.2-4 3.2s-4-1.4-4-3.2V10.2c0-2 1.8-3.2 4-3.2z'/%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M18 10.5c0 1.5-1.8 2.5-4 2.5'/%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 13h3M12 16h2'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M5 20V9l2-2h2l1 1v12M5 9h5M8 9v11'/%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M14 7c2.2 0 4 1.2 4 3.2V18c0 1.8-1.8 3.2-4 3.2s-4-1.4-4-3.2V10.2c0-2 1.8-3.2 4-3.2z'/%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M18 10.5c0 1.5-1.8 2.5-4 2.5'/%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 13h3M12 16h2'/%3E%3C/svg%3E");
}

.uranos-icon-calendar {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z'/%3E%3C/svg%3E");
}

.uranos-icon-search {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Ccircle cx='11' cy='11' r='7' stroke-width='2'/%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M20 20l-3-3'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Ccircle cx='11' cy='11' r='7' stroke-width='2'/%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M20 20l-3-3'/%3E%3C/svg%3E");
}

/* Settings Control Center */
.uranos-icon-building {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 21V5a2 2 0 00-2-2H7a2 2 0 00-2 2v16m14 0h2m-2 0h-5m-9 0H3m2 0h5M9 7h1m-1 4h1m4-4h1m-1 4h1m-5 10v-5a1 1 0 011-1h2a1 1 0 011 1v5m-4 0h4'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 21V5a2 2 0 00-2-2H7a2 2 0 00-2 2v16m14 0h2m-2 0h-5m-9 0H3m2 0h5M9 7h1m-1 4h1m4-4h1m-1 4h1m-5 10v-5a1 1 0 011-1h2a1 1 0 011 1v5m-4 0h4'/%3E%3C/svg%3E");
}

.uranos-icon-users {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 4.354a4 4 0 110 5.292M15 21H3v-1a6 6 0 0112 0v1zm0 0h6v-1a6 6 0 00-9-5.197M13 7a4 4 0 11-8 0 4 4 0 018 0z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 4.354a4 4 0 110 5.292M15 21H3v-1a6 6 0 0112 0v1zm0 0h6v-1a6 6 0 00-9-5.197M13 7a4 4 0 11-8 0 4 4 0 018 0z'/%3E%3C/svg%3E");
}

.uranos-icon-mail {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z'/%3E%3C/svg%3E");
}

.uranos-icon-sparkles {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M5 3v4M3 5h4M6 17v4m-2-2h4m5-16l2.286 6.857L21 12l-5.714 2.143L13 21l-2.286-6.857L5 12l5.714-2.143L13 3z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M5 3v4M3 5h4M6 17v4m-2-2h4m5-16l2.286 6.857L21 12l-5.714 2.143L13 21l-2.286-6.857L5 12l5.714-2.143L13 3z'/%3E%3C/svg%3E");
}

.uranos-icon-database {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 7v10c0 2.21 3.582 4 8 4s8-1.79 8-4V7M4 7c0 2.21 3.582 4 8 4s8-1.79 8-4M4 7c0-2.21 3.582-4 8-4s8 1.79 8 4m0 5c0 2.21-3.582 4-8 4s-8-1.79-8-4'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 7v10c0 2.21 3.582 4 8 4s8-1.79 8-4V7M4 7c0 2.21 3.582 4 8 4s8-1.79 8-4M4 7c0-2.21 3.582-4 8-4s8 1.79 8 4m0 5c0 2.21-3.582 4-8 4s-8-1.79-8-4'/%3E%3C/svg%3E");
}

.uranos-icon-shield {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z'/%3E%3C/svg%3E");
}

.uranos-icon-store {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M16 11V7a4 4 0 00-8 0v4M5 9h14l1 12H4L5 9z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M16 11V7a4 4 0 00-8 0v4M5 9h14l1 12H4L5 9z'/%3E%3C/svg%3E");
}

.uranos-icon-sliders {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 6V4m0 2a2 2 0 100 4m0-4a2 2 0 110 4m-6 8a2 2 0 100-4m0 4a2 2 0 110-4m0 4v2m0-6V4m6 6v10m6-2a2 2 0 100-4m0 4a2 2 0 110-4m0 4v2m0-6V4'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 6V4m0 2a2 2 0 100 4m0-4a2 2 0 110 4m-6 8a2 2 0 100-4m0 4a2 2 0 110-4m0 4v2m0-6V4m6 6v10m6-2a2 2 0 100-4m0 4a2 2 0 110-4m0 4v2m0-6V4'/%3E%3C/svg%3E");
}

.uranos-icon-folder {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M3 7v10a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2h-6l-2-2H5a2 2 0 00-2 2z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M3 7v10a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2h-6l-2-2H5a2 2 0 00-2 2z'/%3E%3C/svg%3E");
}

/* Module nav — Αποθήκη (warehouse) & DocFlow (document autofill) */
.uranos-icon-box,
.uranos-icon-inventory {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M3 10l9-6 9 6v10a1 1 0 01-1 1H4a1 1 0 01-1-1V10z'/%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M9 21V12h6v9'/%3E%3Cpath stroke-linecap='round' stroke-width='2' d='M3 10h18'/%3E%3Cpath stroke-linecap='round' stroke-width='2' d='M12 4v2'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M3 10l9-6 9 6v10a1 1 0 01-1 1H4a1 1 0 01-1-1V10z'/%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M9 21V12h6v9'/%3E%3Cpath stroke-linecap='round' stroke-width='2' d='M3 10h18'/%3E%3Cpath stroke-linecap='round' stroke-width='2' d='M12 4v2'/%3E%3C/svg%3E");
}

.uranos-icon-document,
.uranos-icon-docflow {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='1.75' d='M8 4h5l3 3v11a1 1 0 01-1 1H8a1 1 0 01-1-1V5a1 1 0 011-1z'/%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='1.75' d='M13 4v3.5a.5.5 0 00.5.5H17'/%3E%3Cpath stroke-linecap='round' stroke-width='1.75' d='M9.5 12h5M9.5 15h3.5'/%3E%3Ccircle cx='16.5' cy='16.5' r='2.75' stroke-width='1.75'/%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M15.3 16.5l.9.9 1.8-1.8'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='1.75' d='M8 4h5l3 3v11a1 1 0 01-1 1H8a1 1 0 01-1-1V5a1 1 0 011-1z'/%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='1.75' d='M13 4v3.5a.5.5 0 00.5.5H17'/%3E%3Cpath stroke-linecap='round' stroke-width='1.75' d='M9.5 12h5M9.5 15h3.5'/%3E%3Ccircle cx='16.5' cy='16.5' r='2.75' stroke-width='1.75'/%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M15.3 16.5l.9.9 1.8-1.8'/%3E%3C/svg%3E");
}

.uranos-icon--lg {
    width: 1.75rem;
    height: 1.75rem;
    opacity: 1;
}

.uranos-module-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    border-radius: 0.875rem;
    flex-shrink: 0;
}

.uranos-module-badge--inventory {
    background: rgba(251, 191, 36, 0.12);
    border: 1px solid rgba(251, 191, 36, 0.28);
    color: #fbbf24;
}

.uranos-module-badge--docflow {
    background: rgba(56, 189, 248, 0.12);
    border: 1px solid rgba(56, 189, 248, 0.28);
    color: #38bdf8;
}

.settings-module-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 0.75rem;
    background: rgba(148, 163, 184, 0.1);
    border: 1px solid rgba(148, 163, 184, 0.2);
    color: #94a3b8;
    flex-shrink: 0;
}

.settings-module-card__icon .uranos-icon {
    width: 1.25rem;
    height: 1.25rem;
    opacity: 1;
}

.settings-module-card__icon--inventory {
    background: rgba(251, 191, 36, 0.1);
    border-color: rgba(251, 191, 36, 0.25);
    color: #fbbf24;
}

.settings-module-card__icon--docflow {
    background: rgba(56, 189, 248, 0.1);
    border-color: rgba(56, 189, 248, 0.25);
    color: #38bdf8;
}

.settings-module-card__icon--lawyer360 {
    background: rgba(139, 92, 246, 0.12);
    border-color: rgba(139, 92, 246, 0.28);
    color: #a78bfa;
}

.settings-module-card__icon--studio360 {
    background: rgba(52, 211, 153, 0.12);
    border-color: rgba(52, 211, 153, 0.28);
    color: #34d399;
}

.settings-edition-badge {
    display: inline-flex;
    align-items: center;
    border-radius: 9999px;
    padding: 0.125rem 0.5rem;
    font-size: 0.625rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    border: 1px solid transparent;
}

.settings-edition-badge--lawyer360 {
    background: rgba(139, 92, 246, 0.12);
    border-color: rgba(139, 92, 246, 0.25);
    color: #c4b5fd;
}

.settings-edition-badge--studio360 {
    background: rgba(52, 211, 153, 0.12);
    border-color: rgba(52, 211, 153, 0.25);
    color: #6ee7b7;
}

.settings-edition-badge--platform {
    background: rgba(148, 163, 184, 0.1);
    border-color: rgba(148, 163, 184, 0.2);
    color: #94a3b8;
}

.settings-module-card--has-tip {
    position: relative;
    z-index: 1;
    overflow: visible;
}

.settings-module-card--has-tip:hover,
.settings-module-card--has-tip:focus-within {
    z-index: 200;
}

.settings-module-card__tip {
    position: absolute;
    left: 50%;
    top: calc(100% + 0.65rem);
    bottom: auto;
    transform: translateX(-50%) translateY(-6px);
    z-index: 300;
    width: min(26rem, calc(100vw - 2rem));
    max-height: min(22rem, 55vh);
    overflow-x: hidden;
    overflow-y: auto;
    padding: 0.875rem 1rem;
    border-radius: 0.75rem;
    border: 1px solid rgba(139, 92, 246, 0.45);
    background: rgba(15, 23, 42, 0.98);
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.55), 0 0 0 1px rgba(255, 255, 255, 0.04) inset;
    color: #e2e8f0;
    font-size: 0.75rem;
    line-height: 1.5;
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s ease;
}

.settings-module-card__tip::before {
    content: '';
    position: absolute;
    left: 50%;
    top: -6px;
    transform: translateX(-50%) rotate(45deg);
    width: 10px;
    height: 10px;
    background: rgba(15, 23, 42, 0.98);
    border-left: 1px solid rgba(139, 92, 246, 0.45);
    border-top: 1px solid rgba(139, 92, 246, 0.45);
}

.settings-module-card--has-tip:hover .settings-module-card__tip,
.settings-module-card--has-tip:focus-within .settings-module-card__tip {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
}

.settings-module-card__tip-title {
    margin: 0 0 0.5rem;
    font-size: 0.8125rem;
    font-weight: 600;
    color: #f8fafc;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
}

.settings-module-card__tip-tier {
    font-size: 0.625rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 0.125rem 0.4rem;
    border-radius: 9999px;
    background: rgba(139, 92, 246, 0.2);
    color: #c4b5fd;
}

.settings-module-card__tip-section {
    margin-top: 0.5rem;
    padding-top: 0.5rem;
    border-top: 1px solid rgba(148, 163, 184, 0.15);
}

.settings-module-card__tip-section:first-of-type {
    border-top: 0;
    padding-top: 0;
    margin-top: 0;
}

.settings-module-card__tip-label {
    margin: 0 0 0.25rem;
    font-size: 0.625rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #a78bfa;
}

.settings-module-card__tip-body {
    margin: 0;
    color: #cbd5e1;
}

.settings-module-card__tip-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.settings-module-card__tip-list li {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    padding: 0.2rem 0;
}

.line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* DocFlow — category pills (high contrast on dark UI) */
.docflow-cat-badge {
    display: inline-block;
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    padding: 0.2rem 0.55rem;
    border-radius: 9999px;
    border: 1px solid transparent;
    line-height: 1.3;
    white-space: nowrap;
}

.docflow-cat-badge--power_of_attorney {
    background: rgba(251, 191, 36, 0.22);
    border-color: rgba(251, 191, 36, 0.55);
    color: #fde68a;
}

.docflow-cat-badge--court_filing {
    background: rgba(56, 189, 248, 0.22);
    border-color: rgba(56, 189, 248, 0.55);
    color: #7dd3fc;
}

.docflow-cat-badge--correspondence {
    background: rgba(167, 139, 250, 0.22);
    border-color: rgba(167, 139, 250, 0.55);
    color: #c4b5fd;
}

.docflow-cat-badge--contract {
    background: rgba(52, 211, 153, 0.22);
    border-color: rgba(52, 211, 153, 0.55);
    color: #6ee7b7;
}

.docflow-cat-badge--evidence {
    background: rgba(251, 146, 60, 0.22);
    border-color: rgba(251, 146, 60, 0.55);
    color: #fdba74;
}

.docflow-cat-badge--general {
    background: rgba(148, 163, 184, 0.2);
    border-color: rgba(148, 163, 184, 0.45);
    color: #e2e8f0;
}

/* DocFlow — form fields readable on light & dark themes */
.docflow-field {
    width: 100%;
    border-radius: 0.5rem;
    border: 1px solid var(--ui-border, #475569);
    background: var(--ui-panel, #020617);
    color: var(--ui-heading, #f8fafc);
    padding: 0.5rem 0.75rem;
    font-size: 0.875rem;
    line-height: 1.4;
}

.docflow-field::placeholder {
    color: var(--ui-muted, #94a3b8);
    opacity: 1;
}

.docflow-field option {
    background-color: var(--ui-panel, #0f172a);
    color: var(--ui-heading, #f8fafc);
}

body.ui-tone-light .docflow-field,
body.ui-tone-light .ui-shell-content .docflow-field,
body.ui-tone-light .ui-wp-content .docflow-field {
    color: var(--ui-heading, #0f172a) !important;
    background: var(--ui-panel, #ffffff) !important;
    border-color: var(--ui-border, #cbd5e1) !important;
}

body.ui-tone-light .docflow-field option,
body.ui-tone-light .ui-shell-content .docflow-field option,
body.ui-tone-light .ui-wp-content .docflow-field option {
    background-color: var(--ui-panel, #ffffff) !important;
    color: var(--ui-heading, #0f172a) !important;
}

.docflow-suggestions {
    background: var(--ui-panel, #020617);
    border: 1px solid var(--ui-border, #475569);
    color: var(--ui-heading, #f8fafc);
}

body.ui-tone-light .docflow-suggestions {
    background: var(--ui-panel, #ffffff) !important;
    border-color: var(--ui-border, #cbd5e1) !important;
}

/* Settings Control Center — shell layout & navigation */
.settings-shell {
    width: 100%;
    max-width: 72rem;
    margin-inline: auto;
}

.settings-shell__layout {
    display: grid;
    gap: 1.5rem;
    align-items: start;
}

@media (min-width: 768px) {
    .settings-shell__layout {
        grid-template-columns: minmax(13rem, 17rem) minmax(0, 1fr);
    }
}

body.ui-layout-wordpress-admin .settings-shell__layout {
    grid-template-columns: minmax(12rem, 14rem) minmax(0, 1fr);
}

.settings-shell__aside {
    display: none;
    padding: 1rem;
    position: sticky;
    top: 1rem;
}

@media (min-width: 768px) {
    .settings-shell__aside {
        display: block;
    }
}

.settings-shell__main {
    min-width: 0;
}

.settings-shell__panel {
    width: 100%;
}

.settings-shell__panel > section,
.settings-shell__panel > form,
.settings-shell__panel > div {
    max-width: none;
}

#settings-panel .max-w-3xl,
#settings-panel .max-w-4xl,
#settings-panel .max-w-5xl {
    max-width: 100% !important;
}

.settings-shell__mobile {
    display: block;
    margin-bottom: 1rem;
}

@media (min-width: 768px) {
    .settings-shell__mobile {
        display: none;
    }
}

.settings-shell__mobile-trigger {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.85rem 1rem;
    border-radius: 1rem;
    border: 1px solid var(--ui-border, rgba(148, 163, 184, 0.25));
    background: var(--ui-panel, rgba(15, 23, 42, 0.72));
    cursor: pointer;
}

.settings-shell__mobile-label {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    min-width: 0;
}

.settings-shell__aside .settings-nav-link + .settings-nav-link,
.settings-shell__aside .space-y-1 > .settings-nav-link {
    margin-top: 0.15rem;
}

.settings-card {
    border-radius: 1rem;
    border: 1px solid var(--ui-border, rgba(51, 65, 85, 0.65));
    background: var(--ui-panel, rgba(15, 23, 42, 0.55));
    overflow: hidden;
}

/* Marketplace module tooltips escape the card — avoid clipping on hover */
.settings-card--marketplace {
    overflow: visible;
}

.settings-card--marketplace > .settings-card__body {
    overflow: visible;
}

.settings-card--marketplace > .settings-card__head {
    border-radius: 1rem 1rem 0 0;
}

.settings-card__head {
    padding: 1rem 1.5rem;
    border-bottom: 1px solid var(--ui-border, rgba(51, 65, 85, 0.55));
    background: color-mix(in srgb, var(--ui-panel, #0f172a) 88%, var(--ui-muted, #64748b) 12%);
}

.settings-card__body {
    padding: 1.5rem;
}

.settings-shell__stats {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.settings-module-card {
    border-color: var(--ui-border, rgba(51, 65, 85, 0.55));
    background: color-mix(in srgb, var(--ui-panel, #0f172a) 94%, transparent);
}

.settings-card-grid {
    display: grid;
    gap: 1rem;
    overflow: visible;
}

@media (min-width: 640px) {
    .settings-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1024px) {
    .settings-card-grid.cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.settings-template-grid {
    display: grid;
    gap: 1.25rem;
}

@media (min-width: 640px) {
    .settings-template-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1280px) {
    .settings-template-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.settings-template-option {
    display: block;
    border-radius: 1rem;
    border: 1px solid var(--ui-border, rgba(51, 65, 85, 0.65));
    overflow: hidden;
    cursor: pointer;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.settings-template-option:hover {
    border-color: color-mix(in srgb, var(--ui-accent, #38bdf8) 35%, var(--ui-border, #334155));
}

.settings-template-option.is-active {
    border-color: color-mix(in srgb, var(--ui-accent, #f59e0b) 55%, transparent);
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--ui-accent, #f59e0b) 22%, transparent);
}

.settings-template-option__meta {
    padding: 1rem;
    border-top: 1px solid var(--ui-border, rgba(51, 65, 85, 0.55));
    background: color-mix(in srgb, var(--ui-panel, #020617) 92%, transparent);
}

.settings-badge {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    border: 1px solid var(--ui-border, rgba(51, 65, 85, 0.55));
    background: color-mix(in srgb, var(--ui-panel, #0f172a) 90%, var(--ui-muted, #64748b) 10%);
    padding: 0.2rem 0.7rem;
    font-size: 0.75rem;
    color: var(--ui-muted, #94a3b8);
}

.settings-badge.is-success {
    border-color: color-mix(in srgb, #10b981 35%, transparent);
    background: color-mix(in srgb, #10b981 12%, var(--ui-panel, #fff));
    color: color-mix(in srgb, #059669 75%, var(--ui-heading, #064e3b));
}

.settings-badge.is-violet {
    border-color: color-mix(in srgb, #8b5cf6 35%, transparent);
    background: color-mix(in srgb, #8b5cf6 12%, var(--ui-panel, #fff));
    color: color-mix(in srgb, #7c3aed 75%, var(--ui-heading, #4c1d95));
}

/* Base UI tokens (fallback when template CSS is absent) */
.ui-heading {
    color: var(--ui-heading, #f1f5f9);
}

.ui-muted {
    color: var(--ui-muted, #94a3b8);
}

.ui-panel {
    background: var(--ui-panel, rgba(15, 23, 42, 0.72));
    border: 1px solid var(--ui-border, rgba(51, 65, 85, 0.65));
    border-radius: 1rem;
}

.ui-input {
    color: var(--ui-heading, #e2e8f0);
    background: var(--ui-panel, rgba(15, 23, 42, 0.9));
    border: 1px solid var(--ui-border, rgba(51, 65, 85, 0.65));
    border-radius: 0.5rem;
}

.settings-nav-link {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    border-radius: 0.75rem;
    padding: 0.5rem 0.75rem;
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.25rem;
    text-decoration: none;
    color: var(--ui-nav, var(--ui-heading, inherit));
    transition: background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

.settings-nav-link:hover:not(.is-active):not([aria-current="page"]) {
    background: var(--ui-nav-hover-bg, rgba(0, 0, 0, 0.05));
    color: var(--ui-nav-hover, var(--ui-heading, inherit));
}

.settings-nav-link.is-active,
.settings-nav-link[aria-current="page"] {
    background: var(--ui-nav-active-bg, rgba(14, 165, 233, 0.14)) !important;
    color: var(--ui-nav-active, var(--ui-accent, #0284c7)) !important;
    box-shadow: inset 0 0 0 1px var(--ui-nav-active-ring, rgba(14, 165, 233, 0.28));
}

.settings-nav-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 0.625rem;
    background: color-mix(in srgb, var(--ui-muted, #64748b) 14%, transparent);
    flex-shrink: 0;
}

.settings-nav-link.is-active .settings-nav-icon,
.settings-nav-link[aria-current="page"] .settings-nav-icon {
    background: color-mix(in srgb, var(--ui-accent, #0ea5e9) 18%, transparent);
}

.settings-nav-link.is-active .settings-nav-icon .uranos-icon,
.settings-nav-link[aria-current="page"] .settings-nav-icon .uranos-icon {
    color: var(--ui-accent, #0ea5e9);
    opacity: 1;
}

.settings-nav-link .uranos-icon {
    width: 1rem;
    height: 1rem;
    opacity: 1;
}

.settings-nav-link > span:last-child {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.settings-shell__aside .settings-shell__brand {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid var(--ui-border, rgba(51, 65, 85, 0.55));
}

.settings-section-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.375rem;
    opacity: 0.55;
}

.settings-section-icon .uranos-icon {
    width: 1rem;
    height: 1rem;
    opacity: 1;
}

.settings-control-center-icon {
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 0.75rem;
    background: color-mix(in srgb, var(--ui-accent, #0ea5e9) 14%, transparent);
}

.settings-control-center-icon .uranos-icon {
    color: var(--ui-accent, #0284c7);
}

.settings-mobile-drawer-panel {
    background: var(--ui-panel, #ffffff);
    border-top: 1px solid var(--ui-border, #e2e8f0);
    color: var(--ui-text, inherit);
}

.settings-mobile-drawer-panel > .border-b {
    border-color: var(--ui-border, #e2e8f0) !important;
}

/* Harmonize legacy Tailwind utilities inside settings content with active UI template */
#settings-panel .text-white {
    color: var(--ui-heading, inherit) !important;
}

#settings-panel .text-slate-400,
#settings-panel .text-slate-500 {
    color: var(--ui-muted, inherit) !important;
}

#settings-panel .text-slate-300,
#settings-panel .text-slate-200 {
    color: color-mix(in srgb, var(--ui-heading, #e2e8f0) 78%, var(--ui-muted, #94a3b8)) !important;
}

#settings-panel .text-violet-400,
#settings-panel .text-violet-300 {
    color: var(--ui-accent, #8b5cf6) !important;
}

#settings-panel .bg-slate-900,
#settings-panel .bg-slate-950,
#settings-panel .bg-slate-800\/50 {
    background: var(--ui-panel, inherit) !important;
}

#settings-panel .border-slate-800,
#settings-panel .border-slate-700,
#settings-panel .border-slate-600,
#settings-panel .border-slate-200 {
    border-color: var(--ui-border, inherit) !important;
}

#settings-panel [class*="border-emerald-500"] {
    border-color: color-mix(in srgb, #10b981 38%, transparent) !important;
    background: color-mix(in srgb, #10b981 12%, var(--ui-panel, #fff)) !important;
    color: color-mix(in srgb, #047857 70%, var(--ui-heading, #064e3b)) !important;
}

#settings-panel [class*="border-rose-500"] {
    border-color: color-mix(in srgb, #f43f5e 38%, transparent) !important;
    background: color-mix(in srgb, #f43f5e 12%, var(--ui-panel, #fff)) !important;
    color: color-mix(in srgb, #be123c 70%, var(--ui-heading, #881337)) !important;
}

#settings-panel [class*="border-amber-500"] {
    border-color: color-mix(in srgb, #f59e0b 38%, transparent) !important;
    background: color-mix(in srgb, #f59e0b 12%, var(--ui-panel, #fff)) !important;
    color: color-mix(in srgb, #b45309 70%, var(--ui-heading, #78350f)) !important;
}

#settings-panel .settings-card,
#settings-panel .settings-template-option {
    border-color: var(--ui-border, rgba(51, 65, 85, 0.65)) !important;
    background: var(--ui-panel, rgba(15, 23, 42, 0.55)) !important;
}

#settings-panel .settings-card__head {
    background: color-mix(in srgb, var(--ui-panel, #0f172a) 88%, var(--ui-muted, #64748b) 12%) !important;
    border-color: var(--ui-border, rgba(51, 65, 85, 0.55)) !important;
}

#settings-panel .settings-card__head h2,
#settings-panel .settings-card__head h3,
#settings-panel .settings-template-option__meta .font-semibold {
    color: var(--ui-heading, inherit) !important;
}

.integration-modal:not(.hidden) .integration-modal-panel {
    animation: integration-panel-in 0.22s ease-out;
}

@keyframes integration-panel-in {
    from { transform: translateX(100%); opacity: 0.6; }
    to { transform: translateX(0); opacity: 1; }
}

.integration-toast {
    animation: integration-toast-in 0.2s ease-out;
}

.integration-toast.integration-toast-out {
    animation: integration-toast-out 0.2s ease-in forwards;
}

@keyframes integration-toast-in {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes integration-toast-out {
    from { opacity: 1; transform: translateY(0); }
    to { opacity: 0; transform: translateY(8px); }
}

.integration-toggle-thumb {
    pointer-events: none;
}

.integration-toggle-track {
    pointer-events: none;
}

.portal-invite-send > summary {
    list-style: none;
}

.portal-invite-send > summary::-webkit-details-marker {
    display: none;
}

.portal-toggle-track,
.portal-toggle-thumb {
    pointer-events: none;
}

.uranos-login-panels {
    position: relative;
}

.uranos-login-panel {
    transition: transform 0.38s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.32s ease;
}

.uranos-login-panel-forgot {
    position: absolute;
    inset: 0;
    transform: translateX(105%);
    opacity: 0;
    pointer-events: none;
}

.uranos-login-panels.is-forgot .uranos-login-panel-login {
    transform: translateX(-12%);
    opacity: 0;
    pointer-events: none;
}

.uranos-login-panels.is-forgot .uranos-login-panel-forgot {
    position: relative;
    transform: translateX(0);
    opacity: 1;
    pointer-events: auto;
}


/* Lawyer360 — contacts view tabs (Εταιρείες / Οργανισμοί) */
.lawyer360-contacts-tab {
    border: 1px solid transparent;
    border-radius: 9999px;
    padding: 0.375rem 1rem;
    font-size: 0.875rem;
    font-weight: 600;
    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

.lawyer360-contacts-tab:not(.lawyer360-contacts-tab--active):hover {
    border-color: rgba(234, 179, 8, 0.45);
    color: #92400e;
}

.lawyer360-contacts-tab--active.lawyer360-contacts-tab--people {
    background: rgba(245, 158, 11, 0.25) !important;
    border-color: rgba(245, 158, 11, 0.55) !important;
    color: #78350f !important;
}

.lawyer360-contacts-tab--active.lawyer360-contacts-tab--org {
    background: #fde047 !important;
    border-color: #eab308 !important;
    color: #422006 !important;
    box-shadow: 0 1px 4px rgba(234, 179, 8, 0.35);
}

/* Beat template .ui-shell-content .ui-muted overrides on filter tabs */
body[class*="ui-template-"] .ui-shell-content a.lawyer360-contacts-tab--active.lawyer360-contacts-tab--org,
body[class*="ui-template-"] .ui-wp-content a.lawyer360-contacts-tab--active.lawyer360-contacts-tab--org {
    background: #fde047 !important;
    border-color: #eab308 !important;
    color: #422006 !important;
    box-shadow: 0 1px 4px rgba(234, 179, 8, 0.35);
}

body[class*="ui-template-"] .ui-shell-content a.lawyer360-contacts-tab--active.lawyer360-contacts-tab--people,
body[class*="ui-template-"] .ui-wp-content a.lawyer360-contacts-tab--active.lawyer360-contacts-tab--people {
    background: rgba(245, 158, 11, 0.25) !important;
    border-color: rgba(245, 158, 11, 0.55) !important;
    color: #78350f !important;
}

/* ——— Client Portal (Clio-style) ——— */
.portal-clio-body {
    margin: 0;
    font-family: Inter, Roboto, system-ui, sans-serif;
    background: #f8f9fa;
    color: #1a2b3c;
}
.portal-clio-app {
    display: flex;
    min-height: 100vh;
}
.portal-clio-sidebar {
    position: sticky;
    top: 0;
    align-self: flex-start;
    width: 260px;
    min-height: 100vh;
    background: #002040;
    color: #fff;
    display: flex;
    flex-direction: column;
    padding: 1.5rem 1rem;
    flex-shrink: 0;
}
.portal-clio-brand {
    display: flex;
    gap: 0.75rem;
    align-items: center;
    margin-bottom: 2rem;
    padding: 0 0.5rem;
}
.portal-clio-brand__mark {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: rgba(255,255,255,0.12);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
}
.portal-clio-brand__title { margin: 0; font-weight: 700; font-size: 0.95rem; }
.portal-clio-brand__sub { margin: 0; font-size: 0.75rem; opacity: 0.65; }
.portal-clio-nav { display: flex; flex-direction: column; gap: 0.35rem; flex: 1; }
.portal-clio-nav__link {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.7rem 0.85rem;
    border-radius: 8px;
    color: rgba(255,255,255,0.82);
    text-decoration: none;
    font-weight: 500;
    font-size: 0.9rem;
    transition: background 0.15s;
}
.portal-clio-nav__link:hover { background: rgba(255,255,255,0.08); color: #fff; }
.portal-clio-nav__link.is-active {
    background: rgba(46, 204, 113, 0.2);
    color: #fff;
    box-shadow: inset 3px 0 0 #2ecc71;
}
.portal-clio-nav__icon { font-size: 1.1rem; }
.portal-clio-sidebar__foot { border-top: 1px solid rgba(255,255,255,0.12); padding-top: 1rem; }
.portal-clio-user { margin: 0 0 0.35rem; font-size: 0.85rem; font-weight: 600; }
.portal-clio-logout { color: rgba(255,255,255,0.65); font-size: 0.8rem; text-decoration: none; }
.portal-clio-logout:hover { color: #fff; }
.portal-clio-main { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.portal-clio-topbar {
    background: #fff;
    border-bottom: 1px solid #e9ecef;
    padding: 1.25rem 2rem;
}
.portal-clio-page-title { margin: 0; font-size: 1.5rem; font-weight: 700; color: #002040; }
.portal-clio-page-sub { margin: 0.35rem 0 0; font-size: 0.875rem; color: #6c757d; }
.portal-clio-content { padding: 1.5rem 2rem 2.5rem; }
.portal-clio-widgets {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1.25rem;
}
.portal-clio-card {
    background: #fff;
    border: 1px solid #e9ecef;
    border-radius: 12px;
    padding: 1.35rem 1.5rem;
    box-shadow: 0 4px 18px rgba(0, 32, 64, 0.06);
}
.portal-clio-card--accent { border-color: #cce5ff; }
.portal-clio-card__kicker {
    margin: 0 0 0.5rem;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #6c757d;
    font-weight: 600;
}
.portal-clio-card__value {
    margin: 0;
    font-size: 2rem;
    font-weight: 700;
    color: #002040;
    line-height: 1.1;
}
.portal-clio-card__value--sm { font-size: 1.5rem; }
.portal-clio-card__value--green { color: #1e9e57; }
.portal-clio-card__hint { margin: 0.5rem 0 1rem; font-size: 0.85rem; color: #6c757d; }
.portal-clio-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    padding: 0.55rem 1rem;
    border-radius: 8px;
    font-size: 0.875rem;
    font-weight: 600;
    text-decoration: none;
    border: 1px solid transparent;
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s;
}
.portal-clio-btn--primary { background: #2ecc71; color: #002040; border-color: #2ecc71; }
.portal-clio-btn--primary:hover { background: #27ae60; }
.portal-clio-btn--secondary { background: #fff; color: #002040; border-color: #ced4da; }
.portal-clio-btn--ghost { background: transparent; color: #002040; border-color: #dee2e6; padding: 0.4rem 0.75rem; }
.portal-clio-milestone { display: flex; gap: 0.85rem; align-items: flex-start; }
.portal-clio-milestone__icon { font-size: 1.75rem; }
.portal-clio-milestone__title { margin: 0; font-weight: 600; color: #002040; }
.portal-clio-milestone__date { margin: 0.25rem 0 0; font-size: 0.85rem; color: #6c757d; }
.portal-clio-feed { list-style: none; margin: 0; padding: 0; }
.portal-clio-feed__item {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.65rem 0;
    border-bottom: 1px solid #f1f3f5;
}
.portal-clio-feed__title { margin: 0; font-weight: 600; font-size: 0.9rem; }
.portal-clio-feed__meta { margin: 0.2rem 0 0; font-size: 0.78rem; color: #6c757d; }
.portal-pill {
    display: inline-flex;
    align-items: center;
    padding: 0.15rem 0.55rem;
    border-radius: 999px;
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
}
.portal-pill--new { background: #2ecc71; color: #fff; }
.portal-pill--paid { background: rgba(46,204,113,0.15); color: #1e9e57; }
.portal-pill--pending { background: rgba(241,196,15,0.2); color: #9a7b0a; }
.portal-pill--muted { background: #f1f3f5; color: #6c757d; }
.portal-clio-link { display: inline-block; margin-top: 0.75rem; font-size: 0.85rem; color: #002040; font-weight: 600; }
.portal-clio-empty { color: #6c757d; font-size: 0.9rem; text-align: center; padding: 1rem 0; }
.portal-clio-upload-zone__inner {
    border: 2px dashed #b8c9dc;
    border-radius: 10px;
    padding: 2rem;
    text-align: center;
    background: #f8f9fa;
}
.portal-clio-upload-zone.is-dragover .portal-clio-upload-zone__inner {
    border-color: #2ecc71;
    background: rgba(46,204,113,0.06);
}
.portal-clio-upload-zone__icon { font-size: 2.5rem; margin-bottom: 0.5rem; }
.portal-clio-upload-zone__title { margin: 0; font-weight: 600; color: #002040; }
.portal-clio-upload-zone__hint { margin: 0.35rem 0 1rem; font-size: 0.85rem; color: #6c757d; }
.portal-clio-select, .portal-clio-input {
    width: 100%;
    margin-top: 0.75rem;
    padding: 0.55rem 0.75rem;
    border: 1px solid #ced4da;
    border-radius: 8px;
    font: inherit;
    background: #fff;
}
.portal-clio-progress { margin-top: 1rem; }
.portal-clio-progress__track {
    height: 8px;
    background: #e9ecef;
    border-radius: 999px;
    overflow: hidden;
}
.portal-clio-progress__bar {
    height: 100%;
    width: 0%;
    background: #2ecc71;
    transition: width 0.2s;
}
.portal-clio-progress__label { margin: 0.35rem 0 0; font-size: 0.8rem; color: #6c757d; }
.portal-clio-table-wrap { overflow-x: auto; }
.portal-clio-table { width: 100%; border-collapse: collapse; font-size: 0.875rem; }
.portal-clio-table th {
    text-align: left;
    padding: 0.75rem;
    border-bottom: 2px solid #e9ecef;
    color: #6c757d;
    font-weight: 600;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.portal-clio-table td { padding: 0.85rem 0.75rem; border-bottom: 1px solid #f1f3f5; vertical-align: middle; }
.portal-clio-section-title { margin: 0 0 1rem; font-size: 1.05rem; font-weight: 700; color: #002040; }
.portal-clio-trust__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1.5rem; }
.portal-clio-invoice-list { display: flex; flex-direction: column; gap: 1rem; }
.portal-clio-invoice {
    border: 1px solid #e9ecef;
    border-radius: 10px;
    padding: 1rem 1.15rem;
    background: #fafbfc;
}
.portal-clio-invoice__head { display: flex; justify-content: space-between; gap: 1rem; align-items: flex-start; }
.portal-clio-invoice__no { margin: 0; font-weight: 700; color: #002040; }
.portal-clio-invoice__case { margin: 0.2rem 0 0; font-size: 0.82rem; color: #6c757d; }
.portal-clio-invoice__amounts {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.75rem;
    margin: 1rem 0;
    font-size: 0.85rem;
}
.portal-clio-invoice__amounts span { display: block; color: #6c757d; font-size: 0.75rem; }
.portal-clio-invoice__total { color: #002040; font-size: 1rem; }
.portal-clio-invoice__actions { display: flex; gap: 0.5rem; flex-wrap: wrap; }
.portal-clio-thread__list { display: flex; flex-direction: column; gap: 0.85rem; max-height: 480px; overflow-y: auto; }
.portal-clio-message {
    border-radius: 10px;
    padding: 0.85rem 1rem;
    border: 1px solid #e9ecef;
    max-width: 85%;
}
.portal-clio-message.is-mine { margin-left: auto; background: #e8f4fd; border-color: #b8d9f0; }
.portal-clio-message.is-firm { margin-right: auto; background: #fff; }
.portal-clio-message__head {
    display: flex;
    justify-content: space-between;
    gap: 0.5rem;
    font-size: 0.78rem;
    color: #6c757d;
    margin-bottom: 0.35rem;
}
.portal-clio-message__subject { margin: 0 0 0.35rem; font-weight: 600; color: #002040; }
.portal-clio-message__body { margin: 0; font-size: 0.9rem; line-height: 1.5; }
.portal-clio-message__hash { margin: 0.5rem 0 0; font-size: 0.68rem; color: #adb5bd; font-family: monospace; }
.portal-clio-compose { display: flex; flex-direction: column; gap: 0.85rem; max-width: 640px; }
.portal-clio-field span { display: block; font-size: 0.82rem; font-weight: 600; color: #495057; margin-bottom: 0.35rem; }
.portal-clio-hint { font-size: 0.78rem; color: #6c757d; margin: 0; }
.portal-clio-flash { padding: 0.75rem 1rem; border-radius: 8px; margin-bottom: 1rem; font-size: 0.875rem; }
.portal-clio-flash--ok { background: rgba(46,204,113,0.12); color: #1e7e45; border: 1px solid rgba(46,204,113,0.35); }
.portal-clio-flash--error { background: rgba(220,53,69,0.08); color: #a71d2a; border: 1px solid rgba(220,53,69,0.25); }
.portal-clio-muted { font-size: 0.8rem; color: #6c757d; }
.portal-clio-case-layout { display: flex; flex-direction: column; gap: 1rem; }
.portal-clio-case-head { display: flex; justify-content: space-between; gap: 1rem; align-items: flex-start; margin-bottom: 1rem; }
.portal-clio-case-meta { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 1rem; margin: 0; }
.portal-clio-case-meta dt { font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.06em; color: #6c757d; margin-bottom: 0.2rem; }
.portal-clio-case-meta dd { margin: 0; font-weight: 600; color: #002040; }
.portal-clio-case-summary { margin-top: 1.25rem; padding-top: 1rem; border-top: 1px solid #edf2f7; }
.portal-clio-case-summary p { margin: 0; color: #495057; line-height: 1.55; font-size: 0.92rem; }
.portal-clio-case-actions { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 1.25rem; }
.portal-clio-timeline { list-style: none; margin: 0; padding: 0 0 0 0.35rem; }
.portal-clio-timeline__item { display: grid; grid-template-columns: 14px 1fr; gap: 0.85rem; padding-bottom: 1.25rem; position: relative; }
.portal-clio-timeline__item:not(:last-child)::before {
    content: '';
    position: absolute;
    left: 6px;
    top: 14px;
    bottom: 0;
    width: 2px;
    background: #e9ecef;
}
.portal-clio-timeline__dot {
    width: 12px;
    height: 12px;
    border-radius: 999px;
    background: #2ecc71;
    border: 2px solid #fff;
    box-shadow: 0 0 0 1px #ccefd9;
    margin-top: 0.2rem;
}
.portal-clio-timeline__body { min-width: 0; }
.portal-clio-timeline__head { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; justify-content: space-between; margin-bottom: 0.35rem; }
.portal-clio-timeline__head time { font-size: 0.78rem; color: #6c757d; }
.portal-clio-timeline__title { margin: 0; font-weight: 700; color: #002040; font-size: 0.95rem; }
.portal-clio-timeline__text { margin: 0.35rem 0 0; color: #495057; font-size: 0.88rem; line-height: 1.5; }
.hidden { display: none !important; }
.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: 900px) {
    .portal-clio-app { flex-direction: column; }
    .portal-clio-sidebar {
        position: relative;
        width: 100%;
        min-height: auto;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        gap: 0.5rem;
    }
    .portal-clio-nav { flex-direction: row; flex-wrap: wrap; }
    .portal-clio-sidebar__foot { border: 0; padding: 0; margin-left: auto; }
    .portal-clio-content { padding: 1rem; }
}
@media print {
    .portal-print-bar { display: none !important; }
}

/* ── Uranos unified symbolic buttons (see vendor_ops/bootstrap/assets/uranos-buttons.css) ── */

.uranos-btn {
    --uranos-btn-bg: color-mix(in srgb, var(--ui-panel, #fff) 92%, var(--ui-muted, #64748b) 8%);
    --uranos-btn-fg: var(--ui-heading, #0f172a);
    --uranos-btn-border: var(--ui-border, #cbd5e1);
    --uranos-btn-hover: color-mix(in srgb, var(--ui-accent, #f59e0b) 14%, var(--ui-panel, #fff));
    --uranos-btn-accent: var(--ui-accent, #f59e0b);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    padding: 0.55rem 1rem;
    border-radius: 0.65rem;
    border: 1px solid var(--uranos-btn-border);
    background: var(--uranos-btn-bg);
    color: var(--uranos-btn-fg);
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease, transform 0.1s ease;
}
.uranos-btn:hover:not(:disabled) {
    background: var(--uranos-btn-hover);
    border-color: color-mix(in srgb, var(--uranos-btn-accent) 45%, var(--uranos-btn-border));
}
.uranos-btn:active:not(:disabled) { transform: translateY(1px); }
.uranos-btn:disabled { opacity: 0.5; cursor: not-allowed; }
.uranos-btn--sm { padding: 0.35rem 0.65rem; font-size: 0.75rem; border-radius: 0.5rem; gap: 0.35rem; }
.uranos-btn--lg { padding: 0.7rem 1.35rem; font-size: 0.875rem; border-radius: 0.75rem; }
.uranos-btn--primary {
    --uranos-btn-bg: color-mix(in srgb, var(--uranos-btn-accent) 88%, #000 12%);
    --uranos-btn-fg: #0f172a;
    --uranos-btn-border: color-mix(in srgb, var(--uranos-btn-accent) 70%, #000 30%);
    --uranos-btn-hover: color-mix(in srgb, var(--uranos-btn-accent) 96%, #fff 4%);
    border-color: transparent;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.12), 0 4px 14px color-mix(in srgb, var(--uranos-btn-accent) 28%, transparent);
}
.uranos-btn--ghost { --uranos-btn-bg: transparent; --uranos-btn-hover: color-mix(in srgb, var(--ui-muted, #64748b) 12%, transparent); }
.uranos-btn--danger {
    --uranos-btn-accent: #e11d48;
    --uranos-btn-fg: #be123c;
    --uranos-btn-border: color-mix(in srgb, #e11d48 35%, var(--ui-border, #cbd5e1));
    --uranos-btn-hover: color-mix(in srgb, #e11d48 10%, var(--ui-panel, #fff));
}
.uranos-btn__icon {
    display: inline-block;
    width: 1rem;
    height: 1rem;
    flex-shrink: 0;
    background: currentColor;
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    opacity: 0.9;
}
.uranos-btn--sm .uranos-btn__icon { width: 0.875rem; height: 0.875rem; }
.uranos-btn--lg .uranos-btn__icon { width: 1.125rem; height: 1.125rem; }
.uranos-btn__icon--save { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M8 7H5a2 2 0 00-2 2v9a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2h-3m-1 4l-3 3m0 0l-3-3m3 3V4'/%3E%3C/svg%3E"); }
.uranos-btn__icon--preview { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M15 12a3 3 0 11-6 0 3 3 0 016 0z'/%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z'/%3E%3C/svg%3E"); }
.uranos-btn__icon--delete { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16'/%3E%3C/svg%3E"); }
.uranos-btn__icon--html { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M10 20l4-16m4 4l4 4-4 4M6 16l-4-4 4-4'/%3E%3C/svg%3E"); }
.uranos-btn__icon--word { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z'/%3E%3C/svg%3E"); }
.uranos-btn__icon--excel { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M3 10h18M3 14h18M10 3v18M3 6a3 3 0 013-3h11a1 1 0 011 1v16a1 1 0 01-1 1H6a3 3 0 01-3-3V6z'/%3E%3C/svg%3E"); }
.uranos-btn__icon--merge { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M7 7h.01M7 3h5c.512 0 1.024.195 1.414.586l7 7a2 2 0 010 2.828l-7 7a2 2 0 01-2.828 0l-7-7A2 2 0 013 12V7a4 4 0 014-4z'/%3E%3C/svg%3E"); }
.uranos-btn__icon--back { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M10 19l-7-7m0 0l7-7m-7 7h18'/%3E%3C/svg%3E"); }
.uranos-mode-group { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.uranos-mode-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.5rem 0.85rem;
    border-radius: 0.65rem;
    border: 1px solid var(--ui-border, #cbd5e1);
    background: color-mix(in srgb, var(--ui-panel, #fff) 94%, transparent);
    color: var(--ui-heading, #0f172a);
    font-size: 0.8125rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s ease;
}
.uranos-mode-btn:hover {
    border-color: color-mix(in srgb, var(--ui-accent, #f59e0b) 40%, var(--ui-border, #cbd5e1));
    background: color-mix(in srgb, var(--ui-accent, #f59e0b) 8%, var(--ui-panel, #fff));
}
.uranos-mode-btn.is-active {
    border-color: color-mix(in srgb, var(--ui-accent, #f59e0b) 55%, transparent);
    background: color-mix(in srgb, var(--ui-accent, #f59e0b) 16%, var(--ui-panel, #fff));
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--ui-accent, #f59e0b) 18%, transparent);
}
.uranos-mode-btn .uranos-btn__icon { width: 1.05rem; height: 1.05rem; }
.uranos-btn-row { display: flex; flex-wrap: wrap; gap: 0.65rem; align-items: center; }
.uranos-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.3rem 0.6rem;
    border-radius: 999px;
    border: 1px solid var(--ui-border, #cbd5e1);
    background: color-mix(in srgb, var(--ui-panel, #fff) 96%, var(--ui-accent, #f59e0b) 4%);
    color: var(--ui-heading, #334155);
    font-size: 0.7rem;
    font-family: ui-monospace, monospace;
    cursor: pointer;
    transition: all 0.12s ease;
}
.uranos-chip:hover {
    border-color: color-mix(in srgb, var(--ui-accent, #f59e0b) 50%, transparent);
    background: color-mix(in srgb, var(--ui-accent, #f59e0b) 12%, var(--ui-panel, #fff));
}

/* MFA enrollment reminder (post-login) */
.mfa-reminder {
    position: fixed;
    inset: 0;
    z-index: 120;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}

.mfa-reminder__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(2, 6, 23, 0.72);
    backdrop-filter: blur(4px);
}

.mfa-reminder__dialog {
    position: relative;
    z-index: 1;
    width: min(92vw, 26rem);
    border-radius: 1rem;
    border: 1px solid rgba(148, 163, 184, 0.28);
    background: var(--ui-panel, #0f172a);
    box-shadow: 0 24px 48px rgba(2, 6, 23, 0.45);
    color: var(--ui-text, #e2e8f0);
}

.mfa-reminder__header {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    padding: 1.25rem 1.25rem 0.5rem;
}

.mfa-reminder__icon {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 0.75rem;
    background: rgba(52, 211, 153, 0.14);
    color: #34d399;
}

.mfa-reminder__title {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.35;
    color: var(--ui-heading, #f8fafc);
}

.mfa-reminder__body {
    padding: 0 1.25rem 0.25rem;
    font-size: 0.9rem;
    line-height: 1.55;
    color: var(--ui-muted, #94a3b8);
}

.mfa-reminder__body p {
    margin: 0 0 0.75rem;
}

.mfa-reminder__list {
    margin: 0;
    padding-left: 1.15rem;
}

.mfa-reminder__list li + li {
    margin-top: 0.35rem;
}

.mfa-reminder__footer {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.5rem;
    padding: 1rem 1.25rem 1.25rem;
}

.mfa-reminder__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.55rem 0.95rem;
    border-radius: 0.55rem;
    font-size: 0.875rem;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    border: 1px solid transparent;
    transition: background 0.12s ease, border-color 0.12s ease;
}

.mfa-reminder__btn--ghost {
    background: transparent;
    border-color: rgba(148, 163, 184, 0.35);
    color: var(--ui-text, #cbd5e1);
}

.mfa-reminder__btn--ghost:hover {
    background: rgba(148, 163, 184, 0.1);
}

.mfa-reminder__btn--primary {
    background: #059669;
    color: #ecfdf5;
}

.mfa-reminder__btn--primary:hover {
    background: #047857;
}

body.mfa-reminder-open {
    overflow: hidden;
}
.uranos-chip .uranos-btn__icon { width: 0.75rem; height: 0.75rem; opacity: 0.65; }

/* ── Suit360 industry accent tokens (login + shell) ── */
body.uranos-industry-studio360 {
    --login-accent: #8b5cf6;
    --login-accent-strong: #7c3aed;
    --login-accent-muted: #c4b5fd;
    --login-accent-bg: color-mix(in srgb, #8b5cf6 14%, transparent);
    --login-accent-ring: color-mix(in srgb, #8b5cf6 32%, transparent);
    --login-gradient-from: color-mix(in srgb, #8b5cf6 12%, transparent);
    --login-gradient-to: color-mix(in srgb, #a78bfa 10%, transparent);
    --ui-accent: #7c3aed;
    --ui-nav-active: #8b5cf6;
    --ui-nav-active-bg: color-mix(in srgb, #7c3aed 16%, transparent);
    --ui-nav-active-ring: color-mix(in srgb, #8b5cf6 35%, transparent);
    --ui-brand-accent: #8b5cf6;
}

body.uranos-industry-lawyer360 {
    --login-accent: #34d399;
    --login-accent-strong: #10b981;
    --login-accent-muted: #6ee7b7;
    --login-accent-bg: color-mix(in srgb, #34d399 14%, transparent);
    --login-accent-ring: color-mix(in srgb, #34d399 32%, transparent);
    --login-gradient-from: color-mix(in srgb, #34d399 12%, transparent);
    --login-gradient-to: color-mix(in srgb, #8b5cf6 10%, transparent);
    --ui-accent: #f59e0b;
    --ui-nav-active: #fbbf24;
    --ui-nav-active-bg: color-mix(in srgb, #f59e0b 16%, transparent);
    --ui-nav-active-ring: color-mix(in srgb, #f59e0b 35%, transparent);
    --ui-brand-accent: #f59e0b;
}

body.uranos-industry-generic,
body.uranos-login-page:not([class*="uranos-industry-"]) {
    --login-accent: #34d399;
    --login-accent-strong: #10b981;
    --login-accent-muted: #6ee7b7;
    --login-accent-bg: color-mix(in srgb, #34d399 14%, transparent);
    --login-accent-ring: color-mix(in srgb, #34d399 32%, transparent);
    --login-gradient-from: color-mix(in srgb, #34d399 12%, transparent);
    --login-gradient-to: color-mix(in srgb, #8b5cf6 10%, transparent);
    --ui-accent: #34d399;
    --ui-nav-active: #34d399;
    --ui-nav-active-bg: color-mix(in srgb, #34d399 14%, transparent);
    --ui-nav-active-ring: color-mix(in srgb, #34d399 28%, transparent);
    --ui-brand-accent: #34d399;
}

.login-aside-gradient {
    background: linear-gradient(to bottom right, var(--login-gradient-from), #020617, var(--login-gradient-to));
}
.login-glow-primary { background: var(--login-gradient-from); }
.login-glow-secondary { background: var(--login-gradient-to); }
.login-brand-badge {
    background: var(--login-accent-bg);
    box-shadow: inset 0 0 0 1px var(--login-accent-ring);
    color: var(--login-accent);
}
.login-brand-dot { background: var(--login-accent); }
.login-link-accent { color: color-mix(in srgb, var(--login-accent) 90%, white); }
.login-link-accent:hover { color: var(--login-accent-muted); }
.login-input-accent:focus {
    border-color: color-mix(in srgb, var(--login-accent) 50%, transparent);
    outline: none;
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--login-accent) 20%, transparent);
}
.login-btn-primary {
    background: var(--login-accent-strong);
    color: #020617;
    box-shadow: 0 10px 25px -8px color-mix(in srgb, var(--login-accent-strong) 45%, transparent);
}
.login-btn-primary:hover { background: var(--login-accent); }
.login-alert-success {
    border-color: color-mix(in srgb, var(--login-accent) 30%, transparent);
    background: color-mix(in srgb, var(--login-accent) 10%, transparent);
    color: var(--login-accent-muted);
}
.login-legal-link:hover { color: color-mix(in srgb, var(--login-accent) 80%, white); }

body.uranos-industry-studio360 .ui-brand-badge {
    background: color-mix(in srgb, var(--ui-brand-accent) 18%, #1e293b);
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--ui-brand-accent) 40%, transparent);
    color: #ddd6fe;
}

body.uranos-industry-lawyer360 .ui-brand-badge,
body.uranos-industry-generic .ui-brand-badge {
    background: color-mix(in srgb, var(--ui-brand-accent) 18%, #1e293b);
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--ui-brand-accent) 40%, transparent);
    color: #fde68a;
}

/* Studio 360 in-app tabs */
.studio360-nav {
    margin-bottom: 1.5rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    border-bottom: 1px solid color-mix(in srgb, var(--ui-border, #cbd5e1) 80%, transparent);
    padding-bottom: 0.75rem;
}
.studio360-nav__tab {
    border-radius: 0.5rem;
    padding: 0.5rem 1rem;
    font-size: 0.875rem;
    font-weight: 600;
    transition: background-color 0.15s ease, color 0.15s ease;
    color: var(--ui-heading, inherit);
}
.studio360-nav__tab:hover {
    background: color-mix(in srgb, var(--ui-accent, #7c3aed) 8%, transparent);
}
.studio360-nav__tab--active {
    background: var(--ui-accent, #7c3aed);
    color: #fff;
}
.studio360-nav__tab--active:hover {
    background: color-mix(in srgb, var(--ui-accent, #7c3aed) 88%, #000);
    color: #fff;
}
.studio360-kicker { color: color-mix(in srgb, var(--ui-accent, #7c3aed) 75%, #4c1d95); }
.studio360-stat-label { color: color-mix(in srgb, var(--ui-accent, #7c3aed) 70%, #312e81); }
.studio360-stat-value { color: color-mix(in srgb, var(--ui-accent, #7c3aed) 85%, #1e1b4b); }
.studio360-btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    border-radius: 0.5rem;
    background: var(--ui-accent, #7c3aed);
    padding: 0.625rem 1rem;
    font-size: 0.875rem;
    font-weight: 600;
    color: #fff;
    border: 1px solid transparent;
    white-space: nowrap;
    line-height: 1.25;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 0.15s ease;
}
.studio360-btn-primary:hover {
    background: color-mix(in srgb, var(--ui-accent, #7c3aed) 85%, #000);
}
.studio360-link {
    color: color-mix(in srgb, var(--ui-accent, #7c3aed) 80%, #312e81);
    font-weight: 600;
}
.studio360-link:hover { text-decoration: underline; }

/* ── Studio 360 Billing UI ───────────────────────────── */
.studio360-billing-subnav {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 1.5rem;
}
.studio360-billing-subnav__item {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    border-radius: 0.75rem;
    border: 1px solid color-mix(in srgb, var(--ui-border, #e2e8f0) 90%, transparent);
    background: var(--ui-panel, #fff);
    padding: 0.5rem 1rem;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--ui-muted, #64748b);
    transition: border-color 0.15s ease, box-shadow 0.15s ease, color 0.15s ease, transform 0.15s ease;
}
.studio360-billing-subnav__item:hover {
    border-color: color-mix(in srgb, var(--ui-accent, #7c3aed) 35%, transparent);
    color: var(--ui-heading, #0f172a);
    box-shadow: 0 4px 14px color-mix(in srgb, var(--ui-accent, #7c3aed) 10%, transparent);
}
.studio360-billing-subnav__item.is-active {
    border-color: color-mix(in srgb, var(--ui-accent, #7c3aed) 45%, transparent);
    background: linear-gradient(135deg, color-mix(in srgb, var(--ui-accent, #7c3aed) 12%, var(--ui-panel, #fff)), var(--ui-panel, #fff));
    color: color-mix(in srgb, var(--ui-accent, #7c3aed) 85%, #1e1b4b);
    box-shadow: 0 4px 16px color-mix(in srgb, var(--ui-accent, #7c3aed) 14%, transparent);
}
.studio360-billing-subnav__icon { font-size: 1rem; line-height: 1; }

.studio360-billing-hub {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 9.5rem), 1fr));
    margin-bottom: 1.5rem;
    min-width: 0;
}
.studio360-billing-hub__card {
    position: relative;
    overflow: hidden;
    border-radius: 1rem;
    border: 1px solid color-mix(in srgb, var(--ui-border, #e2e8f0) 85%, transparent);
    background: var(--ui-panel, #fff);
    padding: 1.125rem 1.25rem;
    text-decoration: none;
    color: inherit;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}
.studio360-billing-hub__card::before {
    content: "";
    position: absolute;
    inset: 0 auto auto 0;
    width: 100%;
    height: 3px;
    background: var(--hub-accent, var(--ui-accent, #7c3aed));
    opacity: 0.85;
}
.studio360-billing-hub__card:hover {
    transform: translateY(-2px);
    border-color: color-mix(in srgb, var(--hub-accent, var(--ui-accent)) 40%, transparent);
    box-shadow: 0 10px 28px color-mix(in srgb, var(--hub-accent, var(--ui-accent)) 12%, transparent);
}
.studio360-billing-hub__card--violet { --hub-accent: #7c3aed; }
.studio360-billing-hub__card--cyan { --hub-accent: #0891b2; }
.studio360-billing-hub__card--amber { --hub-accent: #d97706; }
.studio360-billing-hub__card--rose { --hub-accent: #e11d48; }
.studio360-billing-hub__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 0.75rem;
    background: color-mix(in srgb, var(--hub-accent, var(--ui-accent)) 12%, transparent);
    font-size: 1.25rem;
    margin-bottom: 0.75rem;
}
.studio360-billing-hub__label {
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--ui-muted, #64748b);
}
.studio360-billing-hub__value {
    margin-top: 0.25rem;
    font-size: 1.375rem;
    font-weight: 700;
    line-height: 1.2;
    color: var(--ui-heading, #0f172a);
}
.studio360-billing-hub__hint {
    margin-top: 0.35rem;
    font-size: 0.75rem;
    color: var(--ui-muted, #64748b);
}

.studio360-svc-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr));
}
.studio360-svc-card {
    position: relative;
    border-radius: 1rem;
    border: 1px solid color-mix(in srgb, var(--ui-border, #e2e8f0) 85%, transparent);
    background: linear-gradient(160deg, var(--ui-panel, #fff) 0%, color-mix(in srgb, var(--svc-accent, #7c3aed) 4%, var(--ui-panel, #fff)) 100%);
    padding: 1.25rem;
    transition: box-shadow 0.18s ease, transform 0.18s ease;
}
.studio360-svc-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 32px color-mix(in srgb, var(--svc-accent, #7c3aed) 10%, transparent);
}
.studio360-svc-card--fixed { --svc-accent: #7c3aed; }
.studio360-svc-card--hourly { --svc-accent: #0891b2; }
.studio360-svc-card--subscription { --svc-accent: #059669; }
.studio360-svc-card--project { --svc-accent: #d97706; }
.studio360-svc-card__badge {
    display: inline-block;
    border-radius: 9999px;
    padding: 0.2rem 0.65rem;
    font-size: 0.625rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    background: color-mix(in srgb, var(--svc-accent, #7c3aed) 14%, transparent);
    color: color-mix(in srgb, var(--svc-accent, #7c3aed) 80%, #1e1b4b);
}
.studio360-svc-card__title {
    margin-top: 0.75rem;
    font-size: 1rem;
    font-weight: 700;
    color: var(--ui-heading, #0f172a);
    line-height: 1.3;
}
.studio360-svc-card__desc {
    margin-top: 0.35rem;
    font-size: 0.8125rem;
    color: var(--ui-muted, #64748b);
    line-height: 1.45;
    min-height: 2.4em;
}
.studio360-svc-card__price {
    margin-top: 1rem;
    padding-top: 0.875rem;
    border-top: 1px dashed color-mix(in srgb, var(--ui-border, #e2e8f0) 80%, transparent);
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.5rem;
}
.studio360-svc-card__amount {
    font-size: 1.25rem;
    font-weight: 800;
    color: color-mix(in srgb, var(--svc-accent, #7c3aed) 75%, #1e1b4b);
}
.studio360-svc-card__unit {
    font-size: 0.75rem;
    color: var(--ui-muted, #64748b);
}

.studio360-rate-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(auto-fill, minmax(13.5rem, 1fr));
}
.studio360-rate-card {
    position: relative;
    overflow: hidden;
    border-radius: 1rem;
    border: 1px solid color-mix(in srgb, var(--ui-border, #e2e8f0) 85%, transparent);
    background: var(--ui-panel, #fff);
    padding: 1.25rem;
    transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.studio360-rate-card::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 5rem;
    height: 5rem;
    border-radius: 0 1rem 0 100%;
    background: color-mix(in srgb, var(--rate-accent, #7c3aed) 8%, transparent);
    pointer-events: none;
}
.studio360-rate-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 28px color-mix(in srgb, var(--rate-accent, #7c3aed) 12%, transparent);
}
.studio360-rate-card--developer { --rate-accent: #4f46e5; }
.studio360-rate-card--designer { --rate-accent: #a855f7; }
.studio360-rate-card--project_manager { --rate-accent: #d97706; }
.studio360-rate-card--consultant { --rate-accent: #059669; }
.studio360-rate-card--support { --rate-accent: #0284c7; }
.studio360-rate-card__role {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: color-mix(in srgb, var(--rate-accent, #7c3aed) 75%, #312e81);
}
.studio360-rate-card__role-dot {
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 9999px;
    background: var(--rate-accent, #7c3aed);
}
.studio360-rate-card__label {
    margin-top: 0.5rem;
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--ui-heading, #0f172a);
    line-height: 1.35;
}
.studio360-rate-card__scope {
    margin-top: 0.25rem;
    font-size: 0.75rem;
    color: var(--ui-muted, #64748b);
}
.studio360-rate-card__rates {
    margin-top: 1rem;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem;
}
.studio360-rate-card__rate-box {
    border-radius: 0.625rem;
    background: color-mix(in srgb, var(--rate-accent, #7c3aed) 6%, var(--ui-bg, #f8fafc));
    padding: 0.625rem 0.75rem;
}
.studio360-rate-card__rate-label {
    font-size: 0.625rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--ui-muted, #64748b);
}
.studio360-rate-card__rate-value {
    margin-top: 0.15rem;
    font-size: 1.0625rem;
    font-weight: 800;
    color: var(--ui-heading, #0f172a);
}
.studio360-rate-card__rate-value--muted {
    font-weight: 600;
    color: var(--ui-muted, #64748b);
    font-size: 0.9375rem;
}

.studio360-retainer-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr));
}
.studio360-retainer-card {
    border-radius: 1rem;
    border: 1px solid color-mix(in srgb, var(--ui-border, #e2e8f0) 85%, transparent);
    background: linear-gradient(165deg, var(--ui-panel, #fff), color-mix(in srgb, var(--ret-accent, #7c3aed) 5%, var(--ui-panel, #fff)));
    padding: 1.25rem;
    transition: box-shadow 0.18s ease, transform 0.18s ease;
}
.studio360-retainer-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 24px color-mix(in srgb, var(--ret-accent, #7c3aed) 10%, transparent);
}
.studio360-retainer-card--hours { --ret-accent: #0891b2; }
.studio360-retainer-card--budget { --ret-accent: #d97706; }
.studio360-retainer-card__type {
    font-size: 0.625rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: color-mix(in srgb, var(--ret-accent, #7c3aed) 70%, #1e1b4b);
}
.studio360-retainer-card__title {
    margin-top: 0.35rem;
    font-size: 1rem;
    font-weight: 700;
    color: var(--ui-heading, #0f172a);
}
.studio360-retainer-card__meta {
    margin-top: 0.25rem;
    font-size: 0.75rem;
    color: var(--ui-muted, #64748b);
}
.studio360-retainer-card__progress {
    margin-top: 1rem;
    height: 0.375rem;
    border-radius: 9999px;
    background: color-mix(in srgb, var(--ui-border, #e2e8f0) 60%, transparent);
    overflow: hidden;
}
.studio360-retainer-card__progress-bar {
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--ret-accent, #7c3aed), color-mix(in srgb, var(--ret-accent, #7c3aed) 65%, #fff));
    transition: width 0.3s ease;
}
.studio360-retainer-card__balance {
    margin-top: 0.625rem;
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    font-size: 0.8125rem;
}
.studio360-retainer-card__balance strong {
    font-size: 1.125rem;
    color: var(--ui-heading, #0f172a);
}
.studio360-retainer-card__period {
    margin-top: 0.75rem;
    padding-top: 0.75rem;
    border-top: 1px solid color-mix(in srgb, var(--ui-border, #e2e8f0) 70%, transparent);
    font-size: 0.75rem;
    color: var(--ui-muted, #64748b);
}

.studio360-billing-panel {
    border-radius: 1rem;
    border: 1px solid color-mix(in srgb, var(--ui-border, #e2e8f0) 85%, transparent);
    background: var(--ui-panel, #fff);
    overflow: hidden;
}
.studio360-billing-panel__head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid color-mix(in srgb, var(--ui-border, #e2e8f0) 70%, transparent);
    background: color-mix(in srgb, var(--ui-accent, #7c3aed) 3%, var(--ui-panel, #fff));
}
.studio360-billing-panel__title {
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--ui-heading, #0f172a);
}
.studio360-billing-form-card {
    border-radius: 1rem;
    border: 1px solid color-mix(in srgb, var(--ui-accent, #7c3aed) 18%, var(--ui-border, #e2e8f0));
    background: linear-gradient(160deg, var(--ui-panel, #fff), color-mix(in srgb, var(--ui-accent, #7c3aed) 4%, var(--ui-panel, #fff)));
    padding: 1.5rem;
    box-shadow: 0 8px 24px color-mix(in srgb, var(--ui-accent, #7c3aed) 6%, transparent);
}
.studio360-billing-form-card__title {
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--ui-heading, #0f172a);
    margin-bottom: 1rem;
}
.studio360-billing-empty {
    grid-column: 1 / -1;
    border-radius: 1rem;
    border: 2px dashed color-mix(in srgb, var(--ui-border, #e2e8f0) 90%, transparent);
    padding: 2.5rem 1.5rem;
    text-align: center;
    color: var(--ui-muted, #64748b);
    font-size: 0.875rem;
}

.studio360-doc-status {
    display: inline-flex;
    align-items: center;
    border-radius: 9999px;
    padding: 0.2rem 0.65rem;
    font-size: 0.6875rem;
    font-weight: 700;
}
.studio360-doc-status--draft { background: #f1f5f9; color: #475569; }
.studio360-doc-status--sent { background: #dbeafe; color: #1d4ed8; }
.studio360-doc-status--paid { background: #d1fae5; color: #047857; }
.studio360-doc-status--cancelled,
.studio360-doc-status--void { background: #fee2e2; color: #b91c1c; }

.studio360-billing-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 1.25rem;
    padding: 0.75rem;
    border-radius: 0.875rem;
    background: color-mix(in srgb, var(--ui-accent, #7c3aed) 4%, var(--ui-panel, #fff));
    border: 1px solid color-mix(in srgb, var(--ui-border, #e2e8f0) 80%, transparent);
}
.studio360-billing-filters input,
.studio360-billing-filters select {
    border-radius: 0.5rem;
    border: 1px solid color-mix(in srgb, var(--ui-border, #e2e8f0) 90%, transparent);
    background: var(--ui-panel, #fff);
    padding: 0.5rem 0.75rem;
    font-size: 0.8125rem;
}
.studio360-billing-filters input[type="search"] {
    flex: 1 1 12rem;
    min-width: 10rem;
}

/* Studio 360 project type badges */
.studio360-project-type {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    border-radius: 9999px;
    padding: 0.2rem 0.65rem;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.02em;
}
.studio360-project-type--client {
    background: color-mix(in srgb, var(--ui-accent, #7c3aed) 12%, transparent);
    color: color-mix(in srgb, var(--ui-accent, #7c3aed) 80%, #312e81);
}
.studio360-project-type--internal {
    background: color-mix(in srgb, #0891b2 14%, transparent);
    color: #0e7490;
}
.studio360-project-filter-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 1rem;
}
.studio360-project-filter-tabs a {
    border-radius: 0.625rem;
    border: 1px solid color-mix(in srgb, var(--ui-border, #e2e8f0) 90%, transparent);
    padding: 0.45rem 0.9rem;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--ui-muted, #64748b);
    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.studio360-project-filter-tabs a:hover {
    border-color: color-mix(in srgb, var(--ui-accent, #7c3aed) 30%, transparent);
    color: var(--ui-heading, #0f172a);
}
.studio360-project-filter-tabs a.is-active {
    background: var(--ui-accent, #7c3aed);
    border-color: transparent;
    color: #fff;
}
.studio360-project-filter-tabs a.is-active--internal {
    background: #0891b2;
}
.studio360-internal-callout {
    border-radius: 0.75rem;
    border: 1px solid color-mix(in srgb, #0891b2 25%, transparent);
    background: color-mix(in srgb, #0891b2 6%, var(--ui-panel, #fff));
    padding: 0.875rem 1rem;
    font-size: 0.8125rem;
    color: #0e7490;
    margin-bottom: 1rem;
}

/* ── Studio 360 layout polish (alignment, no stray scroll) ── */
body.uranos-industry-studio360 .ui-shell-content {
    min-width: 0;
    overflow-x: clip;
}

body.uranos-industry-studio360 .studio360-nav {
    flex-shrink: 0;
    min-width: 0;
}

.studio360-page-header {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.studio360-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    flex-shrink: 0;
}

.studio360-btn-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    border-radius: 0.5rem;
    border: 1px solid var(--ui-border, #cbd5e1);
    background: var(--ui-panel, #fff);
    padding: 0.625rem 1rem;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--ui-heading, #0f172a);
    white-space: nowrap;
    line-height: 1.25;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 0.15s ease, border-color 0.15s ease;
}

.studio360-btn-secondary:hover {
    background: color-mix(in srgb, var(--ui-accent, #7c3aed) 6%, var(--ui-panel, #fff));
    border-color: color-mix(in srgb, var(--ui-accent, #7c3aed) 28%, var(--ui-border, #cbd5e1));
}

.studio360-btn-internal {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.5rem;
    border: 1px solid color-mix(in srgb, #0891b2 35%, transparent);
    background: color-mix(in srgb, #0891b2 8%, var(--ui-panel, #fff));
    padding: 0.625rem 1rem;
    font-size: 0.875rem;
    font-weight: 600;
    color: #0e7490;
    white-space: nowrap;
    text-decoration: none;
    transition: background-color 0.15s ease;
}

.studio360-btn-internal:hover {
    background: color-mix(in srgb, #0891b2 14%, var(--ui-panel, #fff));
}

.studio360-table-scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    max-width: 100%;
}

.studio360-billing-hub {
    min-width: 0;
}

.studio360-billing-filters {
    min-width: 0;
}

.studio360-billing-filters button[type="submit"] {
    flex-shrink: 0;
}

.studio360-pagination {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    margin-top: 1rem;
}

.studio360-pagination__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.25rem;
    border-radius: 0.5rem;
    border: 1px solid var(--ui-border, #e2e8f0);
    background: var(--ui-panel, #fff);
    padding: 0.35rem 0.65rem;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--ui-heading, #0f172a);
    text-decoration: none;
}

.studio360-pagination__link.is-active {
    border-color: transparent;
    background: var(--ui-accent, #7c3aed);
    color: #fff;
}

.studio360-split-layout {
    display: grid;
    gap: 1.5rem;
    min-width: 0;
}

@media (min-width: 1024px) {
    .studio360-split-layout {
        grid-template-columns: 1fr;
    }
}

@media (min-width: 1280px) {
    .studio360-split-layout--sidebar {
        grid-template-columns: minmax(0, 1fr) minmax(16rem, 20rem);
        align-items: start;
    }
}

.studio360-split-layout > * {
    min-width: 0;
}

.studio360-case-verges-shell {
    min-width: 0;
    max-width: 100%;
}

body.uranos-industry-studio360 .case-verges-tab.is-active {
    border-bottom-color: var(--ui-accent, #7c3aed);
    color: color-mix(in srgb, var(--ui-accent, #7c3aed) 75%, #1e1b4b);
}

body.uranos-industry-studio360 .case-verges-tab.is-active .badge {
    background: color-mix(in srgb, var(--ui-accent, #7c3aed) 18%, #fff);
    color: color-mix(in srgb, var(--ui-accent, #7c3aed) 85%, #1e1b4b);
}

.studio360-docflow-btn {
    border-radius: 0.5rem;
    border: 1px solid color-mix(in srgb, var(--ui-accent, #7c3aed) 40%, transparent);
    background: color-mix(in srgb, var(--ui-accent, #7c3aed) 10%, var(--ui-panel, #fff));
    padding: 0.5rem 0.75rem;
    font-size: 0.75rem;
    font-weight: 600;
    color: color-mix(in srgb, var(--ui-accent, #7c3aed) 85%, #312e81);
    text-decoration: none;
    transition: background-color 0.15s ease;
}

.studio360-docflow-btn:hover {
    background: color-mix(in srgb, var(--ui-accent, #7c3aed) 16%, var(--ui-panel, #fff));
}
