:root {
    --paper:#f8f7f3;
    --ink:#1a1a1a;
    --muted:#767771;
    --line:#e5e3db;
    --accent:#c4d923;
    --bs-primary:#c4d923;
    --bs-body-color:var(--ink);
    --bs-body-bg:var(--paper);
    --bs-border-color:var(--line);
    --bs-border-radius:.35rem;
    --bs-link-color:#475212;
    --bs-link-hover-color:#282e09;
}

* {
    box-sizing:border-box;
}

body {
    font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    font-size:15px;
    line-height:1.55;
    min-width:320px;
}

a {
    text-underline-offset:3px;
}

h1,h2,h3 {
    color:var(--ink);
    font-weight:600;
    line-height:1.25;
}

h1 {
    font-size:2rem;
    letter-spacing:-.045em;
    margin:0;
}

h2 {
    font-size:1.08rem;
    margin:0;
}

h3 {
    font-size:.96rem;
}

p {
    margin-bottom:.7rem;
}

.lucide {
    width:17px;
    height:17px;
    stroke-width:1.7;
    vertical-align:-3px;
    flex-shrink:0;
}

.page-content {
    padding-top:40px;
    min-height:calc(100vh - 160px);
    padding-bottom:40px;
}

.page-heading {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin-bottom:28px;
}

.page-heading p {
    color:var(--muted);
    margin:10px 0 0;
}

.eyebrow {
    font-size:.68rem;
    letter-spacing:.12em;
    color:var(--muted);
    font-weight:600;
    margin-bottom:9px;
}

.page-actions {
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
}

.btn {
    font-size:.875rem;
    font-weight:500;
    padding:9px 15px;
    white-space:nowrap;
}

.btn-sm {
    font-size:.79rem;
    padding:5px 9px;
}

.btn-primary {
    --bs-btn-bg:#c4d923;
    --bs-btn-border-color:#c4d923;
    --bs-btn-hover-bg:#b2c520;
    --bs-btn-hover-border-color:#b2c520;
    --bs-btn-active-bg:#a5b71a;
    --bs-btn-active-border-color:#a5b71a;
    --bs-btn-disabled-bg:#c4cf7a;
    --bs-btn-disabled-border-color:#c4cf7a;
}

.btn-outline-secondary {
    --bs-btn-color:#4d5144;
    --bs-btn-border-color:#d7d9ca;
    --bs-btn-hover-bg:#f1f3e6;
    --bs-btn-hover-color:#30361b;
    --bs-btn-hover-border-color:#c1c9a7;
    --bs-btn-active-bg:#e9eed8;
}

.btn-quiet {
    color:#62665a;
    border:1px solid transparent;
}

.btn-quiet:hover {
    background:#f3f4e9;
    color:#343a20;
}

.btn-danger {
    --bs-btn-bg:#a24c3d;
    --bs-btn-border-color:#a24c3d;
    --bs-btn-hover-bg:#853f33;
    --bs-btn-hover-border-color:#853f33;
}

.btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible {
    outline:3px solid #8e9f18;
    outline-offset:3px;
    box-shadow:none;
}

.form-control:focus,.form-select:focus {
    border-color:#a6b827;
    box-shadow:0 0 0 3px #c4d92330;
}

.form-control,.form-select {
    background-color:#fff;
    font-size:.94rem;
    border-color:#d8d9d0;
    min-height:42px;
}

.form-label {
    font-size:.82rem;
    font-weight:600;
    margin-bottom:7px;
}

.form-text {
    font-size:.76rem;
    color:var(--muted);
    margin-top:6px;
}

.required-mark {
    color:#717857;
}

.panel {
    border:1px solid var(--line);
    background:#fff;
    border-radius:6px;
}

.table-panel {
    overflow:hidden;
}

.panel-heading {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:22px 24px;
    border-bottom:1px solid var(--line);
}

.panel-heading p {
    color:var(--muted);
    font-size:.83rem;
    margin:5px 0 0;
}

.summary-line {
    display:flex;
    gap:28px;
    flex-wrap:wrap;
    padding:0 0 28px;
    color:var(--muted);
    font-size:.9rem;
}

.summary-line strong {
    font-size:1.1rem;
    color:var(--ink);
    font-weight:600;
    margin-right:4px;
}

.summary-line a {
    text-decoration:none;
    color:inherit;
}

.summary-line a:hover {
    text-decoration:underline;
}

.summary-line .overdue strong {
    color:inherit;
}

.segmented {
    display:flex;
    border:1px solid var(--line);
    border-radius:5px;
    padding:3px;
    gap:3px;
    flex-shrink:0;
    background:var(--paper);
}

.segmented a {
    padding:5px 16px;
    font-size:.81rem;
    text-decoration:none;
    color:#666b58;
    border-radius:3px;
}

.segmented .selected {
    background:white;
    color:#222815;
    box-shadow:0 1px 2px #00000012;
}

.table-responsive {
    max-width:100%;
}

.work-table {
    font-size:.87rem;
    --bs-table-border-color:#ecece5;
    --bs-table-bg:transparent;
    min-width:850px;
    table-layout:auto;
}

.work-table th {
    font-size:.68rem;
    letter-spacing:.065em;
    text-transform:uppercase;
    font-weight:600;
    color:#818277;
    background:#fafaf6;
    padding:13px 20px;
    white-space:nowrap;
}

.work-table td {
    padding:17px 20px;
}

.work-table th:first-child,.work-table td:first-child {
    padding-left:24px;
}

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

.work-table tbody tr:hover {
    background:#fcfcf9;
}

.project-name {
    min-width:200px;
    max-width:350px;
}

.record-title {
    font-weight:600;
    text-decoration:none;
    color:var(--ink);
    overflow-wrap:anywhere;
}

.record-title:hover {
    text-decoration:underline;
    color:var(--accent);
}

.record-subtitle {
    display:block;
    color:var(--muted);
    font-size:.78rem;
    margin-top:3px;
    text-decoration:none;
    overflow-wrap:anywhere;
}

a.record-subtitle:hover {
    text-decoration:underline;
}

.archive-label {
    display:inline-block;
    font-size:.65rem;
    background:#f0f0e9;
    color:#75766d;
    border-radius:3px;
    padding:1px 5px;
    margin-left:6px;
}

.status-form {
    display:flex;
    align-items:center;
    gap:3px;
}

.status-select {
    min-width:132px;
    font-size:.78rem;
    min-height:32px;
    max-width:154px;
}

.status-tag {
    display:inline-block;
    padding:4px 9px;
    border-radius:4px;
    font-size:.78rem;
}

.status-planned {
    background-color:#f0f0eb;
    color:#6b6d60;
}

.status-in_progress {
    background-color:#f0f4da;
    color:#566218;
}

.status-waiting {
    background-color:#f8f1e3;
    color:#886b31;
}

.status-completed {
    background-color:#eaf1e8;
    color:#50664b;
}

.row-actions {
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:3px;
}

.deadline {
    white-space:nowrap;
}

.overdue {
    color:#a44f3b!important;
}

.panel-bottom {
    padding:15px 24px;
    border-top:1px solid var(--line);
    display:flex;
    justify-content:space-between;
    gap:12px;
    color:var(--muted);
    font-size:.77rem;
}

.panel-bottom a {
    font-weight:500;
    text-decoration:none;
}

.panel-bottom a:hover {
    text-decoration:underline;
}

.panel-bottom .lucide {
    width:14px;
    height:14px;
}

.recent-section {
    margin-top:34px;
    max-width:740px;
}

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

.section-heading a {
    font-size:.8rem;
}

.recent-list {
    border-top:1px solid var(--line);
}

.recent-list>a {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    padding:15px 0;
    border-bottom:1px solid var(--line);
    text-decoration:none;
    color:var(--ink);
    font-weight:500;
}

.recent-list>a:hover {
    color:var(--accent);
}

.recent-list .text-secondary {
    font-size:.77rem;
    font-weight:400;
}

.recent-list .lucide {
    margin-left:20px;
}

.empty-state {
    padding:55px 24px;
    text-align:center;
    max-width:100%;
    color:var(--muted);
}

.empty-state>.lucide {
    width:28px;
    height:28px;
    margin-bottom:15px;
}

.empty-state h3,.empty-state h2 {
    margin-bottom:8px;
}

.empty-state p {
    font-size:.9rem;
    margin-bottom:18px;
}

.empty-inline {
    padding:24px 0;
    color:var(--muted);
}

.empty-inline p {
    margin-bottom:4px;
}

.empty-inline a {
    font-size:.85rem;
}

.filter-bar {
    display:flex;
    align-items:flex-start;
    gap:16px;
    flex-wrap:wrap;
    padding:20px;
    background:#f1f1e9;
    border:1px solid var(--line);
    border-radius:6px;
    margin-bottom:22px;
}

.filter-search {
    flex:1;
    min-width:220px;
}

.filter-bar>.field {
    min-width:160px;
}

.filter-actions {
    display:flex;
    align-items:center;
    gap:8px;
    padding-top:31px;
}

.project-filters {
    display:grid;
    grid-template-columns:1.2fr 1.2fr 1fr 1fr 1fr;
}

.project-filters>.field {
    min-width:0;
}

.wide {
    grid-column:1/-1;
    padding-top:0;
}

.count-label {
    font-size:1rem;
    color:var(--muted);
    font-weight:400;
    letter-spacing:0;
    margin-left:7px;
}

.pagination-wrap {
    margin-top:20px;
}

.pagination {
    --bs-pagination-color:#c4d923;
    --bs-pagination-active-bg:#c4d923;
    --bs-pagination-active-border-color:#c4d923;
}

.back-link {
    display:inline-block;
    color:var(--muted);
    font-size:.82rem;
    text-decoration:none;
    margin-bottom:16px;
}

.back-link:hover {
    text-decoration:underline;
}

.form-page {
    max-width:1050px;
}

.form-section {
    display:grid;
    grid-template-columns:230px minmax(0,1fr);
    gap:36px;
    padding:28px;
    margin-bottom:20px;
}

.section-intro p {
    font-size:.82rem;
    color:var(--muted);
    margin-top:8px;
}

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

.span-2 {
    grid-column:1/-1;
}

.form-footer {
    display:flex;
    justify-content:flex-end;
    align-items:center;
    gap:14px;
    padding:6px 0 10px;
}

.detail-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:22px;
}

.detail-section {
    padding:28px;
}

.data-list {
    margin:22px 0 0;
}

.data-list>div {
    display:grid;
    grid-template-columns:160px minmax(0,1fr);
    gap:16px;
    padding:7px 0;
}

.data-list dt,.project-facts dt {
    font-size:.8rem;
    font-weight:400;
    color:var(--muted);
}

.data-list dd {
    margin:0;
    font-size:.9rem;
    overflow-wrap:anywhere;
}

.prose-text {
    white-space:pre-wrap;
    overflow-wrap:anywhere;
    font-size:.94rem;
    line-height:1.8;
}

.project-facts {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px;
    margin-bottom:0;
}

.project-facts>div:last-child {
    grid-column:1/-1;
}

.project-facts dd {
    margin:7px 0 0;
    overflow-wrap:anywhere;
}

.description-block {
    border-top:1px solid var(--line);
    padding-top:26px;
    margin-top:26px;
    max-width:100%;
}

.description-block h2 {
    margin-bottom:16px;
}

.login-wrap {
    max-width:420px;
    margin:46px auto 80px;
}

.login-wrap h1 {
    font-size:2.15rem;
    margin-bottom:12px;
}

.login-panel {
    padding:28px;
}

.login-note {
    text-align:center;
    font-size:.78rem;
    color:var(--muted);
    margin-top:20px;
}

.confirm-wrap {
    max-width:620px;
    margin:35px auto;
}

.confirm-wrap h1 {
    font-size:1.7rem;
}

.lead-name {
    font-weight:600;
    font-size:1.1rem;
    overflow-wrap:anywhere;
    margin-top:20px;
}

.alert {
    border-radius:5px;
    font-size:.88rem;
}

.alert-success {
    background:#f1f5df;
    border-color:#d8e0ba;
    color:#425323;
}

.alert-danger {
    background:#fbede7;
    border-color:#ead0c5;
    color:#8e4434;
}

.skip-link {
    position:absolute;
    top:-100px;
    left:16px;
    background:white;
    padding:10px;
    z-index:100;
}

.skip-link:focus {
    top:6px;
}

@media(max-width:1100px) {
    .project-filters {
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
    .form-section {
        grid-template-columns:180px minmax(0,1fr);
        gap:24px;
    }
}

@media(max-width:767px) {
    .page-content {
        padding-top:26px;
    }
    .page-heading {
        align-items:flex-start;
        flex-wrap:wrap;
        gap:18px;
        margin-bottom:22px;
    }
    h1 {
        font-size:1.75rem;
    }
    .summary-line {
        gap:10px 22px;
        font-size:.82rem;
        padding-bottom:22px;
    }
    .summary-line strong {
        font-size:1rem;
    }
    .panel-heading {
        padding:18px;
        align-items:flex-start;
        flex-wrap:wrap;
    }
    .panel-bottom {
        padding:16px 18px;
        flex-direction:column;
    }
    .detail-grid {
        grid-template-columns:1fr;
    }
    .form-section {
        grid-template-columns:minmax(0,1fr);
        gap:20px;
        padding:20px;
    }
    .form-grid {
        grid-template-columns:minmax(0,1fr);
        gap:18px;
    }
    .form-grid>.span-2 {
        grid-column:auto;
    }
    .filter-bar {
        padding:16px;
        gap:14px;
    }
    .filter-bar>.field,.filter-search {
        width:100%;
        min-width:0;
    }
    .filter-actions {
        padding-top:0;
        flex-wrap:wrap;
    }
    .project-filters {
        grid-template-columns:minmax(0,1fr);
    }
    .filter-actions.wide {
        grid-column:auto;
    }
    .filter-actions .form-check {
        width:100%;
        margin-bottom:5px;
    }
    .detail-section {
        padding:20px;
    }
    .data-list>div {
        grid-template-columns:120px minmax(0,1fr);
        gap:12px;
    }
    .project-facts {
        grid-template-columns:1fr;
        gap:20px;
    }
    .project-facts>div:last-child {
        grid-column:auto;
    }
    .recent-list .lucide {
        margin-left:4px;
    }
    .login-wrap {
        margin:28px auto 50px;
    }
    .login-panel {
        padding:22px;
    }
    .confirm-wrap {
        margin:12px auto;
    }
    .form-footer {
        flex-wrap:wrap;
    }
    .page-actions {
        gap:8px;
    }
    .page-actions .btn {
        padding:8px 11px;
    }
}

/* RavenSoft: farby značky podľa ravensoft.sk. */
:root {
    --bs-primary-rgb: 196, 217, 35;
}

.brand-logo {
    width: 111px;
    height: 43px;
    object-fit: contain;
}

.btn-primary {
    --bs-btn-color: #20250c;
    --bs-btn-hover-color: #20250c;
    --bs-btn-active-color: #20250c;
    --bs-btn-disabled-color: #343a20;
}

.page-content {
    padding-top: 36px;
}

.page-heading {
    margin-bottom: 26px;
}

h1 {
    font-size: 1.85rem;
    letter-spacing: -.035em;
}

.summary-line {
    padding: 17px 0 23px;
    border-top: 1px solid var(--line);
    gap: 36px;
}

.summary-line strong {
    font-size: 1.2rem;
}

.panel-bottom {
    justify-content: flex-end;
}

.filter-bar {
    background: #fff;
    padding: 20px;
}

.login-wrap {
    max-width: 410px;
    margin: 80px auto;
}

.login-wrap h1 {
    margin-bottom: 24px;
    font-size: 1.8rem;
}

.login-panel {
    padding: 28px;
    border-top: 3px solid var(--accent);
}

@media (max-width: 767px) {
    .page-content {
        padding-top: 26px;
    }
    .summary-line {
        gap: 10px 24px;
    }
    .login-wrap {
        margin: 34px auto;
    }
}

:root {
    --bs-link-color-rgb: 79, 92, 17;
    --bs-link-hover-color-rgb: 45, 54, 12;
}
h1 {
    overflow-wrap: anywhere;
}
.page-heading > div, .field {
    min-width: 0;
}


/* Rozloženie aplikácie: sidebar, horná lišta a obsah. */
.app-frame {
    min-height: 100dvh;
}
.app-workspace {
    margin-left: 240px;
    min-width: 0;
}
.app-sidebar {
    --bs-offcanvas-width: 240px;
    background: #fff !important;
    border-right: 1px solid var(--line);
}
.sidebar-brand {
    height: 76px;
    flex-shrink: 0;
    align-items: center;
    padding: 0 28px;
    border-bottom: 1px solid var(--line);
}
.sidebar-brand .brand-logo {
    width: 124px;
    height: 48px;
}
.app-sidebar .offcanvas-body {
    display: block;
    flex: 1;
    padding: 26px 16px;
    overflow-y: auto;
}
.sidebar-nav {
    display: flex;
    flex-direction: column;
    gap: 7px;
}
.sidebar-link {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    border-radius: 5px;
    color: #72766a;
    font-size: .92rem;
    font-weight: 500;
    text-decoration: none;
}
.sidebar-link .lucide {
    width: 20px;
    height: 20px;
}
.sidebar-link:hover {
    background: #f7f8f1;
    color: #262d19;
}
.sidebar-link.active {
    color: #30390c;
    background: #f0f4d6;
    box-shadow: inset 3px 0 0 var(--accent);
    font-weight: 600;
}
.topbar {
    position: sticky;
    top: 0;
    z-index: 1020;
    height: 76px;
    padding: 0 36px;
    display: flex;
    align-items: center;
    gap: 24px;
    background: #fff;
    border-bottom: 1px solid var(--line);
}
.global-search {
    display: flex;
    align-items: center;
    flex: 1;
    min-width: 0;
    max-width: 460px;
    height: 42px;
    background: #f8f8f4;
    border: 1px solid #e6e8df;
    border-radius: 6px;
}
.global-search:focus-within {
    border-color: #a7b928;
    box-shadow: 0 0 0 3px #c4d92320;
}
.global-search input {
    width: 100%;
    min-width: 0;
    height: 100%;
    padding: 8px 12px 8px 0;
    border: 0;
    background: transparent;
    font-size: .86rem;
    color: var(--ink);
    outline: none;
    box-shadow: none;
}
.global-search input::placeholder {
    color: #93968b;
}
.global-search button {
    display: flex;
    align-items: center;
    justify-content: center;
    order: -1;
    flex-shrink: 0;
    width: 42px;
    height: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    color: #858b77;
    border-radius: 5px;
}
.global-search button:hover {
    color: #2c3510;
}
.global-search .lucide {
    width: 19px;
    height: 19px;
}
.user-dropdown {
    margin-left: auto;
    flex-shrink: 0;
}
.user-menu-toggle {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 5px 0 5px 5px;
    border: 0;
    background: transparent;
    color: #41463a;
    font-size: .85rem;
    border-radius: 5px;
}
.user-menu-toggle:hover {
    color: #151b0c;
}
.user-menu-name {
    max-width: 150px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.user-avatar {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #f0f2e3;
    color: #66763d;
    font-size: .82rem;
    font-weight: 600;
}
.user-chevron {
    width: 14px;
    height: 14px;
    color: #8a9080;
}
.user-menu {
    width: 250px;
    padding: 6px;
    border: 1px solid var(--line);
    border-radius: 7px;
    background: #fff;
    box-shadow: 0 8px 24px #1a250c0c;
}
.user-menu-heading {
    padding: 10px 10px 14px;
    margin-bottom: 4px;
    border-bottom: 1px solid var(--line);
    overflow-wrap: anywhere;
}
.user-menu-heading strong {
    display: block;
    font-size: .85rem;
    font-weight: 600;
}
.user-menu-heading span {
    display: block;
    margin-top: 3px;
    color: var(--muted);
    font-size: .75rem;
}
.user-menu .dropdown-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 10px;
    font-size: .85rem;
    border-radius: 4px;
    color: #4b5340;
}
.user-menu .dropdown-item:hover, .user-menu .dropdown-item:focus {
    background: #f4f6e9;
    color: #252d14;
}
.user-menu .dropdown-divider {
    margin: 5px 0;
}
.user-menu .logout-item {
    color: #925044;
}
.workspace-content.page-content {
    max-width: 1432px;
    margin: 0 auto;
    min-height: calc(100dvh - 76px);
    padding: 34px 36px 48px;
}
.guest-header {
    display: flex;
    align-items: center;
    min-height: 78px;
    padding: 12px 32px;
    background: #fff;
    border-bottom: 1px solid var(--line);
}
.guest-content.page-content {
    padding: 32px 18px;
    max-width: 1360px;
    margin: 0 auto;
}
.search-result-summary {
    margin-bottom: 26px;
    color: #737969;
    overflow-wrap: anywhere;
}
.search-result-summary strong {
    color: var(--ink);
    font-weight: 500;
}
.search-result-summary > span {
    display: block;
    font-size: .8rem;
    margin-top: 5px;
}
.search-section {
    margin-bottom: 24px;
}
.search-result {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 18px 24px;
    border-bottom: 1px solid #eceee5;
    text-decoration: none;
    color: var(--ink);
}
.search-result:last-child {
    border-bottom: 0;
}
.search-result:hover {
    background: #fafbf6;
    color: #404e12;
}
.search-result-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    border-radius: 5px;
    background: #f2f4e9;
    color: #78885a;
}
.search-result-info {
    flex: 1;
    min-width: 0;
    overflow-wrap: anywhere;
}
.search-result-info strong {
    font-size: .9rem;
    font-weight: 600;
}
.search-result-info > span {
    display: block;
    margin-top: 3px;
    font-size: .78rem;
    color: var(--muted);
}
.search-empty {
    margin: 0;
    padding: 26px 24px;
    font-size: .88rem;
    color: var(--muted);
}
.search-pagination {
    padding: 18px 24px 0;
    border-top: 1px solid var(--line);
}
@media (min-width: 992px) {
    .app-sidebar.offcanvas-lg {
        display: flex;
        flex-direction: column;
        position: fixed;
        top: 0;
        left: 0;
        bottom: 0;
        width: 240px;
        height: 100dvh;
        z-index: 1020;
    }
}
@media (max-width: 991px) {
    .app-workspace {
        margin-left: 0;
    }
    .topbar {
        padding: 0 24px;
        gap: 14px;
    }
    .topbar-menu {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 36px;
        height: 40px;
        padding: 0;
        flex-shrink: 0;
        border: 1px solid var(--line);
        color: #5e6852;
    }
    .topbar-menu .lucide {
        width: 21px;
        height: 21px;
    }
    .workspace-content.page-content {
        padding: 30px 24px 40px;
    }
    .app-sidebar .offcanvas-header {
        height: 76px;
        border-bottom: 1px solid var(--line);
        padding: 16px 22px;
    }
}
@media (max-width: 575px) {
    .topbar {
        height: 68px;
        gap: 9px;
        padding: 0 14px;
    }
    .global-search {
        height: 38px;
    }
    .global-search input {
        font-size: .8rem;
        padding-right: 4px;
    }
    .global-search button {
        width: 33px;
    }
    .user-menu-name, .user-chevron {
        display: none;
    }
    .user-menu-toggle {
        padding: 0;
    }
    .user-avatar {
        width: 33px;
        height: 33px;
    }
    .workspace-content.page-content {
        padding: 26px 18px 36px;
        min-height: calc(100dvh - 68px);
    }
    .guest-header {
        padding: 12px 18px;
    }
    .search-result {
        gap: 10px;
        padding: 16px;
        flex-wrap: wrap;
    }
    .search-result-info {
        min-width: 160px;
    }
    .search-result > .lucide {
        display: none;
    }
}
.project-empty {
    padding: 40px 20px;
}
.project-empty h3 {
    margin-bottom: 7px;
}

/* Úlohy: projekty a tagy, zoznam, otvorený detail. */
.workspace-content:has(.tasks-workspace) { max-width: none; }
.tasks-page-heading { margin-bottom: 1.25rem; }
.tasks-workspace { display: grid; grid-template-columns: 180px minmax(280px, 1fr) minmax(330px, 1.1fr); gap: 16px; align-items: start; min-width: 0; }
.tasks-workspace > * { min-width: 0; }
.tasks-filter-panel { font-size: .84rem; }
.tasks-nav-details > summary { display: none; }
.tasks-nav-section { padding: 10px 0 17px; border-bottom: 1px solid var(--line, #e2e5df); margin-bottom: 10px; }
.tasks-nav-section h2 { font-size: .68rem; text-transform: uppercase; letter-spacing: .07em; color: var(--muted, #6c7467); margin: 0 7px 8px; }
.tasks-nav-link { display: flex; align-items: center; justify-content: space-between; gap: 6px; padding: 8px 7px; text-decoration: none; border-radius: 5px; color: var(--text, #20251f); overflow-wrap: anywhere; }
.tasks-nav-link:hover { background: #ecefe6; color: #20251f; }
.tasks-nav-link.active { background: #e7edcd; font-weight: 600; }
.tasks-project-name { min-width: 0; }
.task-count { display: inline-flex; align-items: center; justify-content: center; min-width: 22px; padding: 1px 5px; border-radius: 5px; font-size: .7rem; background: #e9ece5; color: #5d6655; font-variant-numeric: tabular-nums; }
.task-count-due { background: #f8e5df; color: #9b3e30; }
.tasks-project-counts { display: inline-flex; gap: 3px; flex-shrink: 0; }
.tasks-project-search { display: flex; align-items: center; gap: 2px; margin: 0 0 8px; }
.tasks-project-search input { min-width: 0; width: 100%; }
.tasks-project-search .btn { padding: 4px; }
.tasks-project-search svg { width: 15px; height: 15px; }
.tasks-nav-more, .tasks-add-tag summary { display: block; padding: 8px 7px; font-size: .77rem; color: #697541; cursor: pointer; }
.tasks-add-tag form { padding: 8px; }
.tasks-project-pages nav { margin: 8px 0; }
.tasks-project-pages .pagination { gap: 4px; flex-wrap: wrap; }
.tasks-project-pages .page-link { font-size: .66rem; padding: 4px 6px; }
.task-tag-mark { font-weight: 700; }
.tasks-list-panel { overflow: hidden; }
.tasks-list-heading { padding: 16px 16px 12px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.tasks-list-heading h2 { font-size: 1rem; margin: 0; }
.tasks-quick-add { display: flex; padding: 10px 12px; gap: 8px; background: #f6f8ef; border-top: 1px solid var(--line, #e2e5df); border-bottom: 1px solid var(--line, #e2e5df); }
.tasks-quick-add input { min-width: 0; flex: 1; border: 0; background: transparent; padding: 6px 3px; font-size: .88rem; color: #20251f; }
.tasks-quick-add input:focus-visible { outline: 2px solid #8c9c22; outline-offset: 2px; border-radius: 2px; }
.tasks-quick-add .btn { display: inline-flex; gap: 4px; align-items: center; }
.tasks-quick-add svg { width: 16px; height: 16px; }
.tasks-list-filters { border-bottom: 1px solid var(--line, #e2e5df); }
.tasks-list-filters > summary { padding: 11px 16px; cursor: pointer; font-size: .77rem; color: #616b56; }
.tasks-filter-form { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 0 14px 14px; }
.tasks-filter-form .form-label { font-size: .72rem; margin-bottom: 4px; }
.task-filter-full { grid-column: 1 / -1; }
.tasks-filter-form .form-check { margin: 0 0 0 1.5rem; }
.task-row { display: grid; grid-template-columns: 19px minmax(0, 1fr) auto; gap: 9px; align-items: start; padding: 15px 13px; border-bottom: 1px solid #e9ece5; }
.task-row:last-child { border-bottom: 0; }
.task-row:hover { background: #f8f9f4; }
.task-row.selected { background: #f0f4df; box-shadow: inset 3px 0 #b6c92d; }
.task-row-main { min-width: 0; text-decoration: none; color: #20251f; }
.task-row-main:hover { color: #536122; }
.task-row-main strong { display: block; font-size: .86rem; font-weight: 600; line-height: 1.4; overflow-wrap: anywhere; }
.task-row-finished .task-row-main strong { color: #6c7467; text-decoration: line-through; }
.task-row-meta { display: flex; flex-wrap: wrap; gap: 4px 8px; color: #79816f; font-size: .7rem; margin-top: 5px; }
.task-row-check { margin-top: 2px; }
.task-complete-button { width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; padding: 0; border: 1px solid #bbc4b0; border-radius: 4px; background: #fff; }
.task-complete-button:hover { border-color: #768927; }
.task-complete-button.checked { background: #c4d923; border-color: #a5ba22; }
.task-complete-button svg { width: 14px; height: 14px; color: #283015; }
.task-row-side { display: flex; align-items: flex-end; flex-direction: column; gap: 4px; font-size: .66rem; max-width: 128px; text-align: right; }
.task-row-state { color: #70796a; }
.task-row-person { color: #59634f; max-width: 128px; overflow-wrap: anywhere; }
.task-priority { padding: 1px 6px; border-radius: 4px; font-size: .66rem; font-weight: 600; line-height: 1.6; }
.task-priority-low { color: #45645f; background: #edf3f1; }
.task-priority-medium { color: #886a31; background: #f8f1e3; }
.task-priority-high { color: #a2572b; background: #f9ecdf; }
.task-priority-urgent { color: #a93636; background: #f9e5e5; }
.tasks-pagination { padding: 12px; border-top: 1px solid #e9ece5; overflow-x: auto; }
.tasks-pagination nav { margin: 0; }
.tasks-pagination .pagination { margin-bottom: 0; gap: 2px; flex-wrap: wrap; }
.tasks-pagination .page-link { font-size: .73rem; padding: 5px 8px; }
.tasks-pagination nav > div:first-child { margin-bottom: 7px; }
.tasks-detail-placeholder { padding: 54px 20px; text-align: center; color: #7f8873; }
.tasks-detail-placeholder svg { width: 30px; height: 30px; margin-bottom: 14px; }
.tasks-detail-placeholder h2 { font-size: 1rem; color: #5e6755; }
.tasks-detail-placeholder p { font-size: .85rem; margin: 0; }
.tasks-detail-panel { overflow: hidden; }
.tasks-detail-heading { display: flex; justify-content: space-between; align-items: center; padding: 11px 17px; border-bottom: 1px solid var(--line, #e2e5df); color: #748067; font-size: .75rem; }
.tasks-detail-heading svg { width: 18px; height: 18px; }
.tasks-detail-content { padding: 18px; max-height: calc(100vh - 222px); overflow-y: auto; scrollbar-gutter: stable; }
.tasks-edit-form > .field { margin-bottom: 14px; }
.tasks-edit-form .form-control, .tasks-edit-form .form-select { font-size: .83rem; }
.tasks-edit-form .form-label { font-size: .76rem; }
.tasks-edit-form #title { font-size: 1.05rem; font-weight: 600; }
.tasks-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-bottom: 14px; }
.tasks-detail-grid .field { min-width: 0; }
.tasks-tag-choices { margin: 10px 0 17px; }
.tasks-tag-choices legend { font-size: .76rem; font-weight: 600; margin-bottom: 7px; }
.task-tag-choice { display: inline-flex; align-items: center; gap: 5px; font-size: .75rem; padding: 5px 8px; border: 1px solid #e2e7d9; border-radius: 4px; margin: 0 4px 5px 0; }
.tasks-detail-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.tasks-detail-section { border-top: 1px solid var(--line, #e2e5df); padding-top: 19px; margin-top: 22px; }
.tasks-detail-section h2 { font-size: .93rem; margin: 0 0 16px; }
.task-comment { padding: 0 0 15px; margin: 0 0 15px; border-bottom: 1px solid #edf0e8; font-size: .83rem; }
.task-comment header { display: flex; flex-wrap: wrap; gap: 3px 9px; justify-content: space-between; margin-bottom: 6px; font-size: .72rem; }
.task-comment time { color: #859076; font-size: .67rem; }
.task-comment .prose-text { overflow-wrap: anywhere; }
.task-comment-form .form-label, .tasks-detail-section .form-label { font-size: .76rem; }
.task-comment-form textarea { font-size: .83rem; }
.task-attachment { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding-bottom: 11px; margin-bottom: 11px; border-bottom: 1px solid #edf0e8; }
.task-attachment > div { min-width: 0; }
.task-attachment a { display: block; font-size: .8rem; overflow-wrap: anywhere; }
.task-attachment small { display: block; color: #7f8873; margin-top: 2px; font-size: .67rem; }
.task-attachment .btn { font-size: .67rem; padding: 3px 0; }
.tasks-detail-footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 9px; border-top: 1px solid var(--line, #e2e5df); margin-top: 22px; padding-top: 15px; font-size: .67rem; color: #849075; }
.tasks-detail-footer .btn { font-size: .72rem; }
@media (max-width: 1349.98px) {
    .tasks-workspace { grid-template-columns: 160px minmax(0, 1fr); }
    .tasks-detail-panel, .tasks-detail-placeholder { grid-column: 2; }
    .tasks-filter-panel { grid-row: 1 / span 2; }
    .tasks-detail-content { max-height: none; }
    .tasks-detail-placeholder { display: none; }
    .tasks-workspace.has-detail .tasks-list-panel { max-height: 550px; overflow-y: auto; }
}
@media (max-width: 767.98px) {
    .tasks-workspace { display: flex; flex-direction: column; gap: 12px; }
    .tasks-workspace > * { width: 100%; }
    .tasks-nav-details > summary { display: list-item; cursor: pointer; font-size: .84rem; font-weight: 600; padding: 9px 4px; }
    .tasks-filter-panel { border: 1px solid var(--line, #e2e5df); border-radius: 6px; padding: 3px 10px; background: #fff; }
    .tasks-nav-section { padding-bottom: 10px; }
    .tasks-nav-section:last-child { border: 0; }
    .tasks-nav-link { padding: 6px 7px; }
    .tasks-detail-panel { order: -1; }
    .tasks-workspace.has-detail .tasks-filter-panel { order: -2; }
    .tasks-workspace.has-detail .tasks-list-panel { max-height: none; }
    .tasks-detail-content { padding: 15px; }
    .task-row { padding: 12px 10px; gap: 7px; }
    .task-row-side { max-width: 98px; font-size: .64rem; }
    .task-row-main strong { font-size: .82rem; }
    .tasks-quick-add .btn span { display: none; }
    .tasks-filter-form { gap: 9px; }
    .tasks-detail-actions .btn { font-size: .8rem; }
}

/* Project overview: actual project and task counts, four cards on wide screens. */
.project-views { display:flex; flex-wrap:wrap; gap:6px; margin:0 0 20px; }
.project-view { display:inline-flex; align-items:center; padding:7px 15px; border:1px solid transparent; border-radius:5px; color:var(--muted); font-weight:500; text-decoration:none; }
.project-view:hover { color:var(--ink); background:#eeeee8; }
.project-view.is-active { color:var(--ink); background:#eaf0be; border-color:#d7df9b; }
.project-browser { margin-bottom:22px; background:#fff; border:1px solid var(--line); border-radius:7px; padding:18px; }
.project-toolbar { display:grid; grid-template-columns:minmax(180px,1fr) minmax(180px,240px) auto; gap:16px; align-items:end; }
.project-toolbar .field { min-width:0; }
.project-toolbar-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.project-filter-details { margin-top:14px; padding-top:12px; border-top:1px solid var(--line); }
.project-filter-details summary { display:flex; align-items:center; gap:8px; width:fit-content; cursor:pointer; font-weight:500; color:var(--ink); }
.project-filter-details summary::after { content:'+'; margin-left:6px; font-weight:400; }
.project-filter-details[open] summary::after { content:'−'; }
.project-filter-fields { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin-top:16px; align-items:end; }
.project-filter-fields .form-check { grid-column:1/-1; }
.project-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; align-items:stretch; }
.project-card { min-width:0; display:flex; flex-direction:column; padding:20px; border:1px solid var(--line); border-radius:7px; background:#fff; transition:border-color .15s; }
.project-card:hover { border-color:#c8ccba; }
.project-card-overdue { border-top:3px solid #b9574b; padding-top:18px; }
.project-card-top { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; margin-bottom:16px; font-size:.77rem; }
.project-card-state { display:inline-flex; align-items:center; gap:7px; color:#565b50; }
.project-state-dot { display:inline-block; width:7px; height:7px; border-radius:50%; background:#92978b; }
.project-dot-in_progress { background:#92a914; }
.project-dot-waiting { background:#c4973b; }
.project-dot-completed { background:#4c805f; }
.project-card h2 { font-size:1.08rem; line-height:1.4; margin:0 0 5px; overflow-wrap:anywhere; }
.project-card h2 a { color:var(--ink); text-decoration:none; }
.project-card h2 a:hover { text-decoration:underline; }
.project-card-customer { color:var(--muted); text-decoration:none; font-size:.85rem; margin-bottom:20px; overflow-wrap:anywhere; }
.project-card-customer:hover { color:var(--ink); text-decoration:underline; }
.project-card-meta { display:grid; gap:10px; margin:0 0 18px; }
.project-card-meta > div { display:grid; grid-template-columns:18px minmax(0,1fr); align-items:start; gap:9px; }
.project-card-meta dt { color:#81877a; }
.project-card-meta dt .lucide { width:16px; height:16px; }
.project-card-meta dd { margin:0; font-size:.82rem; overflow-wrap:anywhere; }
.project-overdue-label, .project-inactive-label { display:block; font-size:.73rem; }
.project-card-tasks { display:flex; align-items:center; gap:9px; margin-top:auto; padding:13px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); color:var(--ink); font-size:.83rem; text-decoration:none; }
.project-card-tasks > span { flex:1; min-width:0; }
.project-card-tasks > .lucide:first-child { color:#7a8660; }
.project-card-tasks > .lucide:last-child { width:14px; color:var(--muted); }
.project-card-tasks:hover { color:#52600b; }
.project-task-done { display:block; margin-top:2px; color:var(--muted); font-size:.74rem; }
.project-card-status { display:flex; align-items:center; gap:8px; margin-top:16px; }
.project-card-status select { flex:1; width:0; min-width:0; font-size:.78rem; padding-top:7px; padding-bottom:7px; }
.project-card-status button { flex-shrink:0; }
.project-card-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; margin-top:14px; font-size:.78rem; }
.project-card-actions > a { color:var(--muted); text-decoration:none; }
.project-card-actions > a:hover { color:var(--ink); text-decoration:underline; }
.project-card-actions .btn { padding:0; font-size:.78rem; color:var(--muted); }
.project-grid-empty { padding:46px 20px; }
.project-grid-empty h2 { margin-bottom:8px; }
@media(max-width:1199.98px) { .project-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .project-toolbar { grid-template-columns:minmax(0,1fr) minmax(160px,220px); } .project-toolbar-actions { grid-column:1/-1; } .project-filter-fields { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:575.98px) { .project-grid { grid-template-columns:minmax(0,1fr); gap:14px; } .project-toolbar,.project-filter-fields { grid-template-columns:minmax(0,1fr); } .project-card { padding:18px; } .project-card-overdue { padding-top:16px; } .project-browser { padding:15px; } .project-toolbar-actions .btn { flex:1; } .project-view { padding:6px 12px; font-size:.82rem; } }

/* Date controls share the same restrained palette in forms and inline editors. */
.flatpickr-calendar { border:1px solid #dfe3d7; border-radius:7px; box-shadow:0 8px 26px #1f281320; font-family:inherit; max-width:calc(100vw - 16px); z-index:3000; }
.flatpickr-calendar.open { z-index:3000; }
.flatpickr-calendar::before,.flatpickr-calendar::after { display:none; }
.flatpickr-months { padding:8px 4px 2px; }
.flatpickr-current-month { font-size:105%; }
.flatpickr-current-month .flatpickr-monthDropdown-months { font-weight:600; }
.flatpickr-weekdays { margin-top:4px; }
.flatpickr-day { border-radius:5px; color:#30362a; }
.flatpickr-day.today { border-color:#8a9a36; }
.flatpickr-day.selected,.flatpickr-day.startRange,.flatpickr-day.endRange,.flatpickr-day.selected:hover,.flatpickr-day.selected:focus { background:#c4d923; color:#202714; border-color:#b4c620; }
.flatpickr-day:hover,.flatpickr-day:focus,.flatpickr-monthSelect-month:hover,.flatpickr-monthSelect-month:focus { background:#f0f3e3; border-color:#e2e7d2; }
.flatpickr-monthSelect-month.selected { background:#c4d923; color:#202714; }
.flatpickr-calendar .flatpickr-time { border-top-color:#e5e8dd; }
.flatpickr-actions { display:flex; flex-wrap:wrap; gap:6px; justify-content:space-between; border-top:1px solid #e5e8dd; padding:8px 10px; }
.flatpickr-actions button { border:0; border-radius:4px; background:transparent; color:#657421; font:inherit; font-size:12px; font-weight:600; padding:5px 6px; }
.flatpickr-actions button:hover { background:#edf1d9; }
.flatpickr-actions button:focus-visible,.flatpickr-day:focus-visible,.flatpickr-monthSelect-month:focus-visible { outline:2px solid #748618; outline-offset:1px; }
.flatpickr-display { cursor:pointer; }
.flatpickr-display:disabled { cursor:not-allowed; }
.flatpickr-field-error { display:block; color:#a33e32; font-size:.8rem; margin-top:4px; }
.todo-brand-home { display:flex; align-items:center; flex-shrink:0; width:100px; height:39px; }
.todo-brand-home img { display:block; width:100%; height:auto; }
@media(max-width:767.98px) {
    .topbar { height:auto; min-height:108px; flex-wrap:wrap; gap:8px 10px; padding:10px 14px; }
    .topbar .topbar-menu,.topbar .todo-brand-home { order:1; }
    .topbar .todo-brand-home { width:94px; height:36px; }
    .topbar .quick-actions { order:2; margin-left:auto; }
    .topbar .user-dropdown { order:3; margin-left:0; }
    .topbar .global-search { order:4; flex:1 0 100%; width:100%; max-width:none; }
    .workspace-content.page-content { min-height:calc(100dvh - var(--app-topbar-height,108px)); }
}

/* Shared CRM frame, matching the RavenSoft working interface. */
:root { --paper:#f0f3f2; --ink:#101719; --muted:#657084; --line:#dce3e7; --accent:#b9d835; --bs-body-bg:#f0f3f2; --bs-body-color:#101719; --bs-border-color:#dce3e7; --app-sidebar-width:254px; --app-topbar-height:58px; }
body { color:var(--ink); background:var(--paper); font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; font-size:15px; line-height:1.45; }
h1,h2,h3 { color:#101719; font-weight:750; }
h1 { font-size:34px; letter-spacing:-.04em; }
.app-workspace { margin-left:var(--app-sidebar-width); }
.app-sidebar { --bs-offcanvas-width:254px; width:254px !important; height:100dvh; flex-direction:column; background:#1e2926 !important; color:#f4f6f5; border-right:1px solid #35413c; }
.sidebar-brand { height:66px; min-height:66px; padding:0 28px; border:0; }
.crm-brand { display:inline-flex; align-items:center; width:max-content; max-width:100%; font-size:32px; font-weight:800; letter-spacing:-.065em; line-height:1; text-decoration:none; color:#f7f9f8; white-space:nowrap; }
.crm-brand:hover { color:#fff; }
.crm-brand-soft { display:inline-flex; align-items:center; height:34px; padding:0 4px 2px; margin-left:2px; border-radius:4px; color:#111910; background:#b9d835; letter-spacing:-.065em; }
.crm-brand-suffix { margin-left:10px; color:#a9b2af; font-size:14px; font-weight:500; letter-spacing:0; }
.app-sidebar .offcanvas-body { display:flex; flex:1 1 auto; flex-direction:column; padding:0 10px; overflow-y:auto; min-height:0; }
.sidebar-nav { display:block; padding-bottom:12px; }
.sidebar-group { padding:14px 0 17px; margin:0 6px; border-top:1px solid #42504a; }
.sidebar-group:first-child { padding-top:12px; border-top:0; }
.sidebar-group-title { margin:0 12px 8px; color:#a6b0ac; font-size:11px; font-weight:650; text-transform:uppercase; letter-spacing:.025em; }
.sidebar-link { position:relative; min-height:41px; padding:9px 12px; gap:17px; margin:0 -5px; border-radius:4px; color:#f3f5f4; font-size:15px; font-weight:400; line-height:23px; }
.sidebar-link .lucide { width:22px; height:22px; stroke-width:1.7; }
.sidebar-link:hover { color:#fff; background:#2b3830; }
.sidebar-link.active { color:#c4de3e; background:#34402b; box-shadow:inset 4px 0 0 #b9d835; font-weight:650; }
.sidebar-link:focus-visible { outline-color:#c2df49; outline-offset:0; }
.sidebar-identity { display:flex; align-items:center; gap:15px; flex:0 0 auto; min-height:94px; margin:0 16px; padding:18px 12px; border-top:1px solid #42504a; color:#f5f7f6; text-decoration:none; }
.sidebar-identity:hover { color:#fff; }
.sidebar-avatar { display:flex; align-items:center; justify-content:center; flex:0 0 42px; width:42px; height:42px; border-radius:50%; color:#15200d; background:#b9d835; font-size:15px; font-weight:650; }
.sidebar-identity-text { min-width:0; flex:1; }
.sidebar-identity-text strong { display:block; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; color:inherit; font-size:14px; font-weight:600; }
.sidebar-identity-text > span { display:block; margin-top:3px; color:#b4bfba; font-size:12px; }
.sidebar-identity > .lucide { width:16px; height:16px; }
.topbar { height:58px; min-height:58px; padding:0 27px; gap:16px; border-bottom:1px solid #dce3e7; background:#fff; }
.topbar-breadcrumb { display:flex; align-items:center; gap:15px; flex:1 1 auto; min-width:0; font-size:15px; white-space:nowrap; }
.topbar-breadcrumb a { color:#202b35; text-decoration:none; }
.topbar-breadcrumb > span:first-of-type { color:#7f8998; }
.topbar-breadcrumb > span:last-child { min-width:0; overflow:hidden; text-overflow:ellipsis; }
.topbar-breadcrumb-tasks > a,.topbar-breadcrumb-tasks > span:first-of-type { display:none; }
.topbar .global-search { flex:0 1 280px; width:280px; max-width:280px; height:38px; margin-left:auto; border-color:#d5dde6; background:#f7f8fa; }
.topbar .global-search input { font-size:14px; }
.topbar .global-search input::placeholder { color:#636f84; }
.topbar .global-search button { width:36px; color:#56627a; }
.topbar .user-dropdown { margin-left:0; }
.topbar .user-menu-name,.topbar .user-chevron { display:none; }
.topbar .user-menu-toggle { padding:0; }
.topbar .user-avatar { width:34px; height:34px; background:#eaf0dc; color:#465624; }
.topbar .todo-brand-home { width:auto; height:30px; font-size:22px; color:#26312b; }
.topbar .todo-brand-home .crm-brand-soft { height:26px; border-radius:3px; padding:0 3px 1px; }
.quick-actions-button { min-height:38px; border-radius:6px; box-shadow:none; }
.quick-actions-task { background:#b9d835; border-color:#afcc30; color:#11190d; }
.workspace-content.page-content { max-width:1416px; min-height:calc(100dvh - var(--app-topbar-height,58px)); padding:20px 24px 32px; }
.page-heading { margin-bottom:20px; gap:16px; }
.page-heading p { margin-top:5px; }
.panel,.project-browser,.project-card,.customer-card,.filter-bar,.detail-section,.login-panel { border-color:#dce3e7; border-radius:6px; box-shadow:none; }
.panel-heading { padding:15px 20px; }
.detail-section { padding:20px; }
.work-table { font-size:14px; --bs-table-border-color:#e5e9ed; }
.work-table th { padding:9px 14px; color:#626d82; background:#fbfcfd; font-size:10px; letter-spacing:.015em; }
.work-table td { padding:11px 14px; }
.work-table th:first-child,.work-table td:first-child { padding-left:20px; }
.work-table tbody tr:hover { background:#f7f9f5; }
.btn { border-radius:5px; box-shadow:none; font-weight:550; padding:8px 13px; }
.btn-sm { padding:4px 9px; }
.btn-primary { --bs-btn-color:#11190d; --bs-btn-bg:#b9d835; --bs-btn-border-color:#afcc30; --bs-btn-hover-color:#11190d; --bs-btn-hover-bg:#adcb29; --bs-btn-hover-border-color:#a3bf24; --bs-btn-active-color:#11190d; --bs-btn-active-bg:#a1bf22; --bs-btn-disabled-color:#495526; }
.form-control,.form-select { min-height:38px; border-color:#d5dde4; border-radius:5px; font-size:14px; }
.form-label { color:#465268; font-size:12px; margin-bottom:5px; }
.form-section { padding:22px; }
.filter-bar { padding:16px 18px; }
.segmented { background:#fff; border-color:#dce3e7; box-shadow:none; }
.segmented .selected { background:#e8f0bf; box-shadow:none; }
.guest-header { background:#1e2926; min-height:66px; border-bottom-color:#35413c; padding:14px 28px; }
.guest-header .crm-brand { font-size:28px; }
.guest-header .crm-brand-soft { height:31px; }
.login-panel { border-top:1px solid #dce3e7; }
body .pay-original { color:#172026; font-size:14px; max-width:none; }
body .pay-original .pay-heading h1 { font-size:32px; font-weight:750; letter-spacing:-.04em; }
body .pay-original .pay-card,body .pay-original .pay-stat-card,body .pay-original .pay-filter-grid { border:1px solid #dce3e7; border-radius:6px; box-shadow:none; }
body .pay-original .pay-quick-card { border-color:#dce3e7; }
body .pay-original .pay-today { background:#f4f7e7; border-color:#dce5bd; border-radius:6px; }
body .pay-original .pay-today > div:not(:last-child) { border-right-color:#dce5bd; }
body .pay-original .pay-today-icon { color:#566f0e; background:#e8efcf; border-radius:6px; }
body .pay-original .pay-btn-primary { background:#b9d835; border-color:#afcc30; color:#11190d; }
body .pay-original .pay-btn-primary:hover { background:#adcb29; border-color:#a3bf24; color:#11190d; }
body .pay-original .pay-input:focus { border-color:#9eaf3c; box-shadow:0 0 0 2px #b9d83524; }
body .pay-original .pay-stat-icon { border-radius:5px; background:#edf1df; color:#6e841e; }
body .pay-original .pay-calendar-day.is-today { border-color:#91a724; }
body .pay-original .pay-filter-active { color:#4e6416; background:#e9efce; }
@media(min-width:992px) {
    .app-sidebar.offcanvas-lg { display:flex !important; width:254px !important; }
}
@media(max-width:1199.98px) {
    .topbar { gap:12px; padding-left:20px; padding-right:20px; }
    .topbar .global-search { flex-basis:230px; width:230px; }
    .topbar-breadcrumb { gap:10px; font-size:14px; }
}
@media(max-width:991.98px) {
    .app-workspace { margin-left:0; }
    .app-sidebar .offcanvas-header { min-height:66px; height:66px; padding:14px 23px; border-bottom:0; }
    .app-sidebar .offcanvas-header .crm-brand { font-size:28px; }
    .app-sidebar .offcanvas-header .crm-brand-soft { height:31px; }
    .app-sidebar .offcanvas-header .crm-brand-suffix { font-size:12px; }
    .topbar-menu { width:32px; height:34px; border:0; }
    .workspace-content.page-content { padding:20px 20px 30px; }
}
@media(max-width:767.98px) {
    .topbar { height:auto; min-height:103px; flex-wrap:wrap; gap:8px 10px; padding:9px 14px; }
    .topbar .topbar-menu { order:0; }
    .topbar .todo-brand-home { order:1; }
    .topbar-breadcrumb { order:1; flex:1; font-size:13px; gap:8px; }
    .topbar-breadcrumb a,.topbar-breadcrumb > span:first-of-type { display:none; }
    .topbar-breadcrumb-tasks { display:none; }
    .topbar .quick-actions { order:2; margin-left:auto; }
    .topbar .user-dropdown { order:3; margin-left:0; }
    .topbar .global-search { order:4; flex:1 0 100%; width:100%; max-width:none; height:36px; margin-left:0; }
    .workspace-content.page-content { padding:20px 14px 28px; }
    h1,body .pay-original .pay-heading h1 { font-size:29px; }
    .page-heading { align-items:flex-start; flex-wrap:wrap; }
    .panel-heading,.detail-section,.form-section { padding:16px; }
    .work-table th:first-child,.work-table td:first-child { padding-left:16px; }
}

.topbar .quick-actions-task { background:#b9d835; border-color:#afcc30; color:#11190d; }
.topbar .quick-actions-task:hover { background:#adcb29; border-color:#a3bf24; }
body .pay-original .pay-editor-box { border:1px solid #dce3e7; border-radius:6px; box-shadow:0 8px 24px #17202616; }
body .pay-original .pay-inline-input { border-color:#9eaf3c; box-shadow:0 0 0 2px #b9d83524; }
body .pay-original .pay-project-tab.is-active { color:#4d6316; background:#eaf0d1; border-color:#d3dea7; }

/* Commerce screens use the workspace width, retaining responsive page padding. */
.workspace-content.page-content.commerce-full-width{width:100%;max-width:none;margin-inline:0;min-width:0}
.commerce-full-width .form-page,.commerce-full-width .domains-module .v3-wrap,.commerce-full-width .domains-module .la-wrap,.commerce-full-width .domains-module .set-wrap{width:100%;max-width:none;margin-inline:0}
