html,
body {
    max-width: 100%;
}

[hidden] {
    display: none !important;
}

img,
svg,
video,
canvas {
    max-width: 100%;
}

.workspace,
.content,
.section,
.auth-form,
.auth-form-wrap,
.auth-story {
    min-width: 0;
}

.section h1,
.section h2,
.section p,
.notification h2,
.notification p,
.service-list strong,
.service-list small {
    overflow-wrap: anywhere;
}

.workspace {
    display: flex;
    min-height: 100vh;
    flex-direction: column;
}

.content {
    flex: 1 0 auto;
}

.panel-footer {
    display: flex;
    flex: 0 0 auto;
    justify-content: center;
    padding: 14px 20px;
    border-top: 1px solid var(--line);
    background: rgba(255, 255, 255, .78);
}

.powered-by-wrap {
    display: flex;
    justify-content: center;
}

.auth-form > .powered-by-wrap {
    margin-top: 26px;
    padding-top: 16px;
    border-top: 1px solid var(--line);
}

.powered-by {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: var(--muted);
    font-size: .7rem;
    line-height: 1;
    transition: color .2s ease, transform .2s ease;
}

.powered-by strong {
    color: var(--ink);
    font-size: inherit;
    transition: color .2s ease;
}

.powered-by:hover,
.powered-by:focus-visible {
    color: var(--blue);
    transform: translateY(-1px);
}

.powered-by:hover strong,
.powered-by:focus-visible strong {
    color: var(--blue);
}

.powered-by:focus-visible {
    border-radius: 4px;
    outline: 2px solid rgba(49, 94, 251, .35);
    outline-offset: 4px;
}

.powered-by__coffee {
    display: inline-block;
    transform-origin: 55% 75%;
    animation: powered-coffee-bob 2.8s ease-in-out infinite;
    font-size: .86rem;
}

@keyframes powered-coffee-bob {
    0%, 72%, 100% {
        transform: translateY(0) rotate(0);
    }

    80% {
        transform: translateY(-2px) rotate(-7deg);
    }

    88% {
        transform: translateY(0) rotate(5deg);
    }
}

@media (prefers-reduced-motion: reduce) {
    .powered-by,
    .powered-by__coffee {
        animation: none;
        transition: none;
    }
}

@media (max-width: 900px) {
    .auth-body {
        padding: 20px;
    }

    .auth-shell {
        grid-template-columns: minmax(0, 1fr);
        max-width: 660px;
    }

    .auth-form-wrap {
        order: 1;
        min-height: auto;
        padding: 64px 32px 36px;
    }

    .auth-story {
        display: flex;
        order: 2;
        gap: 28px;
        padding: 34px 32px;
    }

    .auth-story h1 {
        font-size: 2rem;
    }

    .auth-points {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0 22px;
        margin-top: 0;
    }
}

@media (max-width: 760px) {
    .sidebar {
        position: sticky;
        z-index: 20;
        top: 0;
    }

    .sidebar nav {
        padding-bottom: 3px;
        scrollbar-width: thin;
    }

    .sidebar nav a {
        min-width: max-content;
    }

    .content {
        width: 100%;
    }

    .section {
        overflow: hidden;
    }

    .table-wrap {
        width: 100%;
        overscroll-behavior-inline: contain;
        -webkit-overflow-scrolling: touch;
    }

    .table-wrap table {
        min-width: 680px;
    }

    .page-heading > form,
    .page-heading > form .button {
        width: 100%;
    }
}

@media (max-width: 600px) {
    .auth-body {
        padding: 0;
    }

    .auth-shell {
        min-height: 100vh;
    }

    .auth-form-wrap {
        padding: 64px 20px 32px;
    }

    .auth-story {
        padding: 30px 20px;
    }

    .auth-story h1 {
        font-size: 1.7rem;
    }

    .auth-points {
        grid-template-columns: 1fr;
    }

    .back-link {
        right: 20px;
        top: 20px;
    }

    .form-row--between {
        align-items: flex-start;
        flex-direction: column;
    }

    .topbar {
        height: 64px;
        padding: 0 16px;
    }

    .topbar strong {
        display: block;
        max-width: 70vw;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .content {
        padding: 18px 12px;
    }

    .page-heading h1 {
        font-size: 1.55rem;
    }

    .service-list article {
        align-items: stretch;
        flex-direction: column;
    }

    .service-list article form,
    .service-list article .button {
        width: 100%;
    }

    .email-preview {
        height: 300px;
    }
}

@media (max-width: 420px) {
    .sidebar {
        padding-inline: 8px;
    }

    .sidebar nav a span {
        display: none;
    }

    .stat-grid {
        grid-template-columns: 1fr;
    }

    .stat {
        min-height: 92px;
    }

    .installer-connection {
        grid-template-columns: 1fr;
    }
}

.definition-tabs {
    display: inline-flex;
    gap: 4px;
    margin-bottom: 20px;
    padding: 4px;
    border: 1px solid var(--line);
    border-radius: 7px;
    background: #fff;
}

.definition-tabs a {
    padding: 8px 13px;
    border-radius: 5px;
    color: var(--muted);
    font-size: .8rem;
    font-weight: 700;
}

.definition-tabs a.active {
    background: var(--navy);
    color: #fff;
}

.color-control {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 42px;
    padding: 5px 10px;
    border: 1px solid var(--line);
    border-radius: 6px;
    color: var(--muted);
    font-weight: 500;
}

.color-control input,
.definition-row input[type="color"] {
    width: 44px;
    height: 30px;
    padding: 2px;
}

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

.definition-row {
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 7px;
}

.definition-row > form {
    display: grid;
    grid-template-columns: 16px minmax(130px, 1fr) minmax(120px, 1fr) 70px auto auto;
    align-items: end;
    gap: 10px;
}

.definition-swatch {
    width: 12px;
    height: 38px;
    border-radius: 6px;
    background: var(--swatch);
}

.definition-delete {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid #edf0f5;
    color: var(--muted);
    font-size: .72rem;
}

.definition-delete form {
    display: flex;
    gap: 7px;
}

.definition-delete input {
    width: 150px;
}

@media (max-width: 1050px) {
    .definition-row > form {
        grid-template-columns: 16px 1fr 1fr;
    }
}

@media (max-width: 600px) {
    .definition-tabs {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        width: 100%;
    }

    .definition-tabs a {
        text-align: center;
    }

    .definition-row > form {
        grid-template-columns: 12px 1fr;
    }

    .definition-delete,
    .definition-delete form {
        align-items: stretch;
        flex-direction: column;
    }

    .definition-delete input,
    .definition-delete .button {
        width: 100%;
    }
}

.sidebar nav {
    min-height: 0;
    flex: 1 1 auto;
    overflow-y: auto;
    scrollbar-color: #374672 transparent;
    scrollbar-width: thin;
}

.filter-grid {
    display: grid !important;
    grid-template-columns: minmax(190px, 1.5fr) repeat(4, minmax(130px, 1fr)) auto;
    align-items: end;
    gap: 12px !important;
}

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

.tag {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin: 2px 4px 2px 0;
    padding: 4px 8px;
    border: 1px solid color-mix(in srgb, var(--tag-color) 45%, #fff);
    border-radius: 12px;
    background: color-mix(in srgb, var(--tag-color) 12%, #fff);
    color: color-mix(in srgb, var(--tag-color) 75%, #121932);
    font-size: .7rem;
    font-weight: 800;
}

.tag::before {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--tag-color);
    content: '';
}

.tag-picker {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 7px;
}

.tag-picker legend {
    margin: 0;
    padding: 0 6px;
    font-size: .8rem;
}

.tag-check {
    display: inline-flex;
    grid-template-columns: none;
    align-items: center;
    gap: 7px;
    padding: 7px 10px;
    border: 1px solid color-mix(in srgb, var(--tag-color) 38%, #dfe3ec);
    border-radius: 6px;
    background: color-mix(in srgb, var(--tag-color) 8%, #fff);
    cursor: pointer;
}

.tag-check input {
    width: 16px;
    height: 16px;
}

.action-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

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

.detail-list {
    display: grid;
    gap: 0;
    margin: 0;
}

.detail-list > div {
    display: grid;
    grid-template-columns: minmax(110px, .55fr) 1.45fr;
    gap: 16px;
    padding: 12px 0;
    border-bottom: 1px solid #edf0f5;
}

.detail-list dt {
    color: var(--muted);
    font-size: .76rem;
}

.detail-list dd {
    margin: 0;
    overflow-wrap: anywhere;
    font-size: .86rem;
    font-weight: 700;
}

.invite-result {
    display: grid;
    grid-template-columns: minmax(180px, .65fr) minmax(260px, 1.35fr);
    align-items: center;
    gap: 16px;
    margin-bottom: 22px;
    padding: 17px;
    border: 1px solid #a9c2ff;
    border-radius: 7px;
    background: #f0f4ff;
}

.invite-result p {
    margin: 4px 0 0;
    color: var(--muted);
    font-size: .76rem;
}

.invite-result input {
    font-family: "Cascadia Code", Consolas, monospace;
    font-size: .72rem;
}

.activity-list {
    display: grid;
}

.activity-list article {
    display: grid;
    grid-template-columns: 1.3fr 1fr auto;
    gap: 14px;
    padding: 11px 0;
    border-bottom: 1px solid #edf0f5;
    font-size: .78rem;
}

.activity-list span,
.activity-list time {
    color: var(--muted);
}

.dependency-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(175px, 1fr));
    gap: 10px;
    margin-bottom: 16px;
}

.dependency-list > div {
    display: grid;
    gap: 5px;
    padding: 13px;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: #fff;
}

.dependency-list strong {
    font-size: 1.4rem;
}

.dependency-list small {
    color: var(--muted);
}

.danger-zone {
    border-color: #f0c8cd;
    background: #fffafb;
}

.pagination {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 5px;
    margin-top: 18px;
}

.pagination a {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border: 1px solid var(--line);
    border-radius: 5px;
    background: #fff;
    color: var(--muted);
    font-size: .75rem;
    font-weight: 800;
}

.pagination a.active {
    border-color: var(--blue);
    background: var(--blue);
    color: #fff;
}

.primary-badge {
    display: inline-flex;
    padding: 3px 7px;
    border-radius: 10px;
    background: #e8edff;
    color: var(--blue);
    font-size: .63rem;
    vertical-align: 2px;
}

.permission-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 10px;
}

.permission-check {
    display: grid;
    grid-template-columns: 18px 1fr;
    align-items: start;
    gap: 10px;
    padding: 13px;
    border: 1px solid var(--line);
    border-radius: 7px;
    background: #f9fafc;
    cursor: pointer;
}

.permission-check:has(input:checked) {
    border-color: #aabfff;
    background: #f0f4ff;
}

.permission-check input {
    width: 17px;
    height: 17px;
}

.permission-check strong,
.permission-check small {
    display: block;
}

.permission-check small {
    margin-top: 4px;
    color: var(--muted);
    font-weight: 500;
}

.permission-summary {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.permission-summary code {
    padding: 5px 8px;
    border-radius: 4px;
    background: #eef1f6;
}

.company-profile {
    display: grid;
    grid-template-columns: minmax(260px, .65fr) minmax(0, 1.35fr);
    gap: 20px;
}

.company-identity {
    display: flex;
    align-items: center;
    gap: 18px;
    min-height: 230px;
    padding: 28px;
    background: var(--navy);
    color: #fff;
}

.company-identity > span {
    display: grid;
    flex: 0 0 68px;
    height: 68px;
    place-items: center;
    border-radius: 50%;
    background: var(--cyan);
    color: #08222b;
    font-size: 1.8rem;
    font-weight: 900;
}

.company-identity h2,
.company-identity p {
    margin: 0;
}

.company-identity p {
    margin-top: 6px;
    color: #abb6d4;
}

.company-support {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 18px 22px;
    border: 1px solid var(--line);
    background: #fff;
}

.company-support p {
    margin: 4px 0 0;
    color: var(--muted);
    font-size: .8rem;
}

.user-card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 12px;
}

.user-card {
    display: grid;
    grid-template-columns: 42px 1fr auto;
    align-items: center;
    gap: 12px;
    padding: 16px;
    border: 1px solid var(--line);
    border-radius: 7px;
}

.user-card h2,
.user-card p {
    margin: 0;
}

.user-card h2 {
    font-size: .9rem;
}

.user-card p,
.user-card small {
    display: block;
    margin-top: 4px;
    overflow-wrap: anywhere;
    color: var(--muted);
    font-size: .72rem;
}

.user-card .button {
    grid-column: 1 / -1;
}

.feature-link-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(175px, 1fr));
    gap: 10px;
}

.feature-link-grid a {
    display: grid;
    grid-template-columns: 34px 1fr;
    align-items: center;
    gap: 5px 10px;
    min-height: 82px;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 7px;
    color: var(--ink);
}

.feature-link-grid a:hover {
    border-color: #a9baff;
    background: #f5f7ff;
}

.feature-link-grid a > span {
    grid-row: 1 / span 2;
    font-size: 1.3rem;
}

.feature-link-grid small {
    color: var(--blue);
}

.feature-placeholder {
    min-height: 390px;
    display: grid;
    place-items: center;
    align-content: center;
    padding: 40px 20px;
    border: 1px dashed #b5bdcd;
    background: #fff;
    text-align: center;
}

.feature-placeholder__mark {
    margin-bottom: 18px;
    color: var(--blue);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .16em;
}

.feature-placeholder h2,
.feature-placeholder p {
    margin: 0;
}

.feature-placeholder p {
    max-width: 530px;
    margin: 8px 0 22px;
    color: var(--muted);
    line-height: 1.6;
}

@media (max-width: 1180px) {
    .filter-grid {
        grid-template-columns: repeat(3, minmax(150px, 1fr));
    }
}

@media (max-width: 760px) {
    .sidebar nav {
        flex: 0 1 auto;
        overflow-x: auto;
        overflow-y: hidden;
    }

    .filter-grid,
    .detail-grid,
    .company-profile {
        grid-template-columns: 1fr;
    }

    .invite-result {
        grid-template-columns: 1fr;
    }

    .activity-list article {
        grid-template-columns: 1fr;
        gap: 4px;
    }

    .company-support {
        align-items: stretch;
        flex-direction: column;
    }

    .company-support .button {
        width: 100%;
    }
}

@media (max-width: 460px) {
    .detail-list > div {
        grid-template-columns: 1fr;
        gap: 4px;
    }

    .permission-grid,
    .user-card-grid {
        grid-template-columns: 1fr;
    }

    .action-row,
    .action-row .button,
    .action-row form {
        width: 100%;
    }
}

/* Customer form experience */
.customer-page-heading {
    align-items: center;
}

.customer-form-shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 310px;
    align-items: start;
    gap: 22px;
}

.customer-form--modern {
    display: grid;
    gap: 18px;
}

.form-panel {
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 5px 18px rgba(12, 20, 52, .045);
}

.form-panel__header {
    display: grid;
    grid-template-columns: 38px 1fr auto;
    align-items: center;
    gap: 13px;
    padding: 18px 20px;
    border-bottom: 1px solid var(--line);
    background: #fafbfe;
}

.form-step {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 7px;
    background: var(--navy);
    color: #fff;
    font-family: Bahnschrift, sans-serif;
    font-size: .76rem;
    font-weight: 800;
}

.form-panel__header h2,
.form-panel__header p {
    margin: 0;
}

.form-panel__header h2 {
    font-size: 1rem;
}

.form-panel__header p {
    margin-top: 3px;
    color: var(--muted);
    font-size: .76rem;
}

.form-panel__status {
    padding: 4px 8px;
    border-radius: 12px;
    background: #e9efff;
    color: var(--blue);
    font-size: .65rem;
    font-weight: 800;
}

.form-panel__status--optional {
    background: #eef1f5;
    color: var(--muted);
}

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

.field {
    display: grid;
    align-content: start;
    gap: 7px;
    min-width: 0;
}

.field > span:first-child,
.company-type-picker legend {
    color: #29324b;
    font-size: .78rem;
    font-weight: 800;
}

.field b,
.company-type-picker b {
    color: var(--red);
}

.field small {
    color: var(--muted);
    font-size: .68rem;
    font-weight: 500;
    line-height: 1.45;
}

.field--wide {
    grid-column: 1 / -1;
}

.company-type-picker {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
    margin: 0;
    padding: 0;
    border: 0;
}

.company-type-picker legend {
    grid-column: 1 / -1;
    margin: 0;
}

.company-type-picker label {
    display: grid;
    grid-template-columns: 18px 1fr;
    align-items: center;
    gap: 10px;
    padding: 13px;
    border: 1px solid var(--line);
    border-radius: 7px;
    background: #fff;
    cursor: pointer;
}

.company-type-picker label:has(input:checked) {
    border-color: #9fb4ff;
    background: #f2f5ff;
    box-shadow: inset 0 0 0 1px rgba(49, 94, 251, .12);
}

.company-type-picker input {
    width: 17px;
    height: 17px;
}

.company-type-picker strong,
.company-type-picker small {
    display: block;
}

.company-type-picker small {
    margin-top: 3px;
    color: var(--muted);
    font-size: .68rem;
    font-weight: 500;
}

.input-action-row {
    display: grid;
    grid-template-columns: 1fr 42px;
    gap: 8px;
}

.icon-action {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border: 1px solid #adc0ff;
    border-radius: 6px;
    background: #edf2ff;
    color: var(--blue);
    cursor: pointer;
    font-size: 1.35rem;
    font-weight: 500;
}

.icon-action:hover {
    background: var(--blue);
    color: #fff;
}

.button--compact {
    min-height: 34px;
    padding: 6px 10px;
    font-size: .72rem;
}

.tag-selector {
    margin: 0;
    padding: 0;
    border: 0;
}

.tag-selector__head,
.tag-search {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.tag-selector__head legend {
    margin: 0;
    padding: 0;
    font-size: .78rem;
}

.tag-selector__head small {
    display: block;
    margin-top: 3px;
    color: var(--muted);
    font-size: .68rem;
}

.tag-search {
    justify-content: flex-start;
    margin: 12px 0 10px;
    padding: 0 12px;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: #fafbfc;
}

.tag-search input {
    flex: 1;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.tag-search b {
    flex: 0 0 auto;
    color: var(--blue);
    font-size: .68rem;
}

.tag-option-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    min-height: 43px;
    max-height: 180px;
    overflow-y: auto;
    padding: 4px 2px;
}

.tag-option {
    display: inline-grid;
    grid-template-columns: 8px auto 16px;
    align-items: center;
    gap: 7px;
    padding: 8px 10px;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: #fff;
    color: #3c455c;
    cursor: pointer;
    font-size: .72rem;
    font-weight: 700;
}

.tag-option input {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    opacity: 0;
    pointer-events: none;
}

.tag-option:has(input:checked) {
    border-color: color-mix(in srgb, var(--tag-color) 58%, #dfe3ec);
    background: color-mix(in srgb, var(--tag-color) 10%, #fff);
    color: color-mix(in srgb, var(--tag-color) 70%, #121932);
}

.tag-option__swatch {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--tag-color);
}

.tag-option__check {
    visibility: hidden;
    color: var(--tag-color);
}

.tag-option:has(input:checked) .tag-option__check {
    visibility: visible;
}

.empty-inline {
    margin: 8px 0;
    color: var(--muted);
    font-size: .75rem;
}

.status-toggle,
.invitation-choice {
    display: grid;
    grid-template-columns: 20px 1fr;
    align-items: center;
    gap: 10px;
    padding: 13px;
    border: 1px solid var(--line);
    border-radius: 7px;
    background: #fafbfc;
    cursor: pointer;
}

.status-toggle input,
.invitation-choice input {
    width: 18px;
    height: 18px;
}

.status-toggle strong,
.status-toggle small,
.invitation-choice strong,
.invitation-choice small {
    display: block;
}

.status-toggle small,
.invitation-choice small {
    margin-top: 3px;
    color: var(--muted);
    font-size: .68rem;
    font-weight: 500;
}

.invitation-choice {
    grid-template-columns: 20px 36px 1fr auto;
}

.invitation-choice__icon {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border-radius: 50%;
    background: #e9f7f1;
    color: var(--green);
}

.invitation-choice > b {
    padding: 4px 8px;
    border-radius: 10px;
    background: #e5f6ef;
    color: var(--green);
    font-size: .63rem;
}

.invitation-choice.has-warning {
    border-color: #eed4a6;
    background: #fffaf0;
}

.invitation-choice.has-warning .invitation-choice__icon,
.invitation-choice.has-warning > b {
    background: #fff0cf;
    color: var(--amber);
}

.customer-form-aside {
    position: sticky;
    top: 96px;
}

.form-summary {
    padding: 22px;
    border: 1px solid var(--line);
    border-top: 3px solid var(--blue);
    border-radius: 7px;
    background: #fff;
    box-shadow: var(--shadow);
}

.summary-company {
    display: grid;
    grid-template-columns: 46px 1fr;
    align-items: center;
    gap: 11px;
    margin: 16px 0 18px;
}

.summary-company > span {
    display: grid;
    width: 46px;
    height: 46px;
    place-items: center;
    border-radius: 7px;
    background: var(--navy);
    color: #fff;
    font-size: 1.2rem;
    font-weight: 900;
}

.summary-company strong,
.summary-company small {
    display: block;
    overflow-wrap: anywhere;
}

.summary-company small {
    margin-top: 3px;
    color: var(--muted);
}

.form-summary dl {
    margin: 0;
}

.form-summary dl > div {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 9px 0;
    border-bottom: 1px solid #edf0f5;
    font-size: .75rem;
}

.form-summary dt {
    color: var(--muted);
}

.form-summary dd {
    margin: 0;
    text-align: right;
    font-weight: 800;
}

.summary-checklist {
    margin: 17px 0;
    padding: 13px;
    border-radius: 6px;
    background: #f7f9fc;
}

.summary-checklist p {
    display: grid;
    grid-template-columns: 18px 1fr;
    gap: 7px;
    margin: 0 0 8px;
    color: var(--muted);
    font-size: .68rem;
    line-height: 1.4;
}

.summary-checklist p:last-child {
    margin: 0;
}

.summary-checklist span {
    color: var(--green);
    font-weight: 900;
}

.summary-footnote {
    display: block;
    margin-top: 10px;
    color: var(--muted);
    text-align: center;
    font-size: .65rem;
}

.mobile-form-submit {
    display: none;
}

.quick-dialog {
    width: min(470px, calc(100vw - 28px));
    padding: 0;
    border: 0;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 28px 80px rgba(12, 20, 52, .28);
}

.quick-dialog::backdrop {
    background: rgba(7, 12, 32, .68);
    backdrop-filter: blur(3px);
}

.quick-dialog form {
    display: grid;
    gap: 18px;
    padding: 22px;
}

.quick-dialog header,
.quick-dialog footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

/* Header/footer DOGRUDAN pencerenin cocuguysa kendi ic boslugunu tasimali.
   Form icindekiler zaten `.quick-dialog form` boslugunu aliyor; oradan
   miras alacak bir sey yok. */
.quick-dialog > header {
    align-items: flex-start;
    padding: 16px 20px;
    border-bottom: 1px solid var(--line);
}

.quick-dialog > footer {
    /* Eylemler SAGA yaslanir: panelin butun pencerelerinde birincil dugme
       sag altta duruyor, buradaki de oyle olmali. */
    justify-content: flex-end;
    padding: 14px 20px;
    border-top: 1px solid var(--line);
    background: #fbfcfe;
}

.quick-dialog > header .eyebrow { margin-bottom: 4px; }
.quick-dialog > header small { display: block; margin-top: 4px; color: var(--muted); line-height: 1.5; }

/* ── PENCERE GOVDESI - STANDART ──────────────────────────────────────
   Bir pencere UC parcadan olusur: `> header`, `> .dialog-body`, `> footer`.
   (Ya da tek bir `> form`; o kendi boslugunu zaten tasiyor.)

   `.quick-dialog` padding'i SIFIR - baslik ve altbilgi kendi seridini
   cizebilsin diye. Uzun sure yalnizca header/footer/form'a bosluk verildi;
   araya konan duz bir <p> ya da <div> cerceveye sifir yapisiyor ve her yeni
   pencerede elle duzeltiliyordu. Govde artik TEK bir sinifta tanimli:
   yeni pencere yazan kisi `.dialog-body` koyar ve is biter.

   Asagidaki `> p` kurali emniyet kemeri: sinif koymayi unutan pencerede
   metin yine de cerceveye yapismaz. Yalnizca ciplak <p> hedefleniyor;
   secici listeleri gibi kenara kadar uzanmasi GEREKEN govdeler <div> ve
   kendi boslugunu tasiyor. */
.quick-dialog > .dialog-body,
.quick-dialog > p {
    padding: 18px 20px;
}

/* Govde ile altbilgi arasinda cift bosluk olusmasin. */
.quick-dialog > .dialog-body + footer,
.quick-dialog > p + footer { border-top: 1px solid var(--line); }

/* Govde form ile bitiyorsa formun kendi boslugu ustten kirpilir: iki
   kutunun bosluklari ust uste binince baslik ile dugme arasi acilıyordu. */
.quick-dialog > .dialog-body + form,
.quick-dialog > p + form { padding-top: 0; }

.quick-dialog h2,
.quick-dialog p {
    margin: 0;
}

.dialog-close {
    width: 34px;
    height: 34px;
    border: 0;
    border-radius: 50%;
    background: #eef1f6;
    color: var(--muted);
    cursor: pointer;
    font-size: 1.3rem;
}

.quick-color {
    display: grid;
    grid-template-columns: 54px 1fr;
    align-items: center;
    gap: 10px;
    min-height: 44px;
    padding: 5px 8px;
    border: 1px solid var(--line);
    border-radius: 6px;
}

.quick-color input {
    width: 48px;
    height: 32px;
    padding: 2px;
}

.quick-color output {
    font-family: "Cascadia Code", Consolas, monospace;
    color: var(--muted);
    font-size: .75rem;
}

.quick-dialog__message {
    min-height: 18px;
    font-size: .75rem;
}

.quick-dialog__message.is-success {
    color: var(--green);
}

.quick-dialog__message.is-error {
    color: var(--red);
}

.mail-readiness {
    display: grid;
    grid-template-columns: 38px 1fr;
    align-items: center;
    gap: 12px;
    margin-bottom: 18px;
    padding: 14px 16px;
    border: 1px solid #b9e2d2;
    border-radius: 7px;
    background: #effaf6;
}

.mail-readiness > span {
    display: grid;
    width: 36px;
    height: 36px;
    place-items: center;
    border-radius: 50%;
    background: var(--green);
    color: #fff;
    font-weight: 900;
}

.mail-readiness strong,
.mail-readiness p {
    margin: 0;
}

.mail-readiness p {
    margin-top: 3px;
    color: var(--muted);
    font-size: .75rem;
}

.mail-readiness.has-warning {
    border-color: #efd19b;
    background: #fff8e9;
}

.mail-readiness.has-warning > span {
    background: var(--amber);
}

/* Definition catalog */
.definition-heading {
    align-items: center;
}

.definition-overview {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 18px;
}

.definition-overview article {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 4px 12px;
    padding: 17px;
    border: 1px solid var(--line);
    border-radius: 7px;
    background: #fff;
}

.definition-overview span,
.definition-overview small {
    color: var(--muted);
    font-size: .72rem;
}

.definition-overview strong {
    grid-row: 1 / span 2;
    grid-column: 2;
    font-size: 1.8rem;
}

.definition-tabs--wide {
    display: grid;
    grid-template-columns: repeat(3, minmax(130px, 1fr));
    width: min(620px, 100%);
}

.definition-tabs--wide a {
    display: flex;
    justify-content: center;
    gap: 8px;
}

.definition-composer {
    margin-bottom: 20px;
    padding: 20px;
    border: 1px solid #aebfff;
    border-radius: 8px;
    background: #f6f8ff;
}

.definition-composer__intro {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 17px;
}

.definition-composer__intro > span {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 7px;
    background: var(--blue);
    color: #fff;
    font-size: 1.3rem;
}

.definition-composer h2,
.definition-composer p {
    margin: 0;
}

.definition-composer p {
    margin-top: 3px;
    color: var(--muted);
    font-size: .75rem;
}

.definition-composer__form {
    display: grid !important;
    grid-template-columns: 1.2fr 1fr 170px 160px;
    align-items: end;
    gap: 12px !important;
}

.definition-composer__actions {
    display: flex;
    grid-column: 1 / -1;
    justify-content: flex-end;
    gap: 8px;
}

.definition-catalog {
    padding: 22px;
    border: 1px solid var(--line);
    background: #fff;
}

.definition-catalog > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 18px;
}

.definition-catalog h2,
.definition-catalog p {
    margin: 0;
}

.definition-catalog p {
    margin-top: 4px;
    color: var(--muted);
    font-size: .76rem;
}

.definition-search {
    display: grid;
    grid-template-columns: 22px minmax(150px, 220px);
    align-items: center;
    padding-left: 10px;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: #fafbfc;
}

.definition-search input {
    border: 0;
    background: transparent;
    box-shadow: none;
}

.definition-card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 12px;
}

.definition-card {
    align-self: start;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 7px;
    background: #fff;
}

.definition-card__top {
    display: grid;
    grid-template-columns: 12px 1fr auto;
    align-items: center;
    gap: 11px;
    padding: 16px;
}

.definition-card__swatch {
    width: 12px;
    height: 44px;
    border-radius: 8px;
    background: var(--swatch);
}

.definition-card h3 {
    margin: 0 0 4px;
    font-size: .9rem;
}

.definition-card code {
    color: var(--muted);
}

.definition-card__meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 16px;
    border-top: 1px solid #edf0f5;
    background: #fafbfc;
    color: var(--muted);
    font-size: .7rem;
}

.definition-editor {
    border-top: 1px solid var(--line);
}

.definition-editor summary {
    display: flex;
    justify-content: space-between;
    padding: 12px 16px;
    color: var(--blue);
    cursor: pointer;
    font-size: .75rem;
    font-weight: 800;
    list-style: none;
}

.definition-editor[open] summary span {
    transform: rotate(180deg);
}

.definition-editor > form {
    display: grid;
    gap: 12px;
    padding: 16px;
    border-top: 1px solid #edf0f5;
    background: #fafbfc;
}

.definition-card__danger {
    padding: 14px 16px;
    border-top: 1px solid #f2d7da;
    background: #fffafb;
}

.definition-card__danger form {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 7px;
}

.definition-empty {
    grid-column: 1 / -1;
}

@media (max-width: 1120px) {
    .customer-form-shell {
        grid-template-columns: 1fr;
    }

    .customer-form-aside {
        position: static;
        order: -1;
    }

    .form-summary .summary-checklist,
    .form-summary > .button,
    .form-summary > .summary-footnote {
        display: none;
    }

    .form-summary {
        padding: 16px 18px;
        box-shadow: none;
    }

    .summary-company {
        margin-bottom: 0;
    }

    .form-summary dl {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        margin-top: 12px;
    }

    .form-summary dl > div {
        display: grid;
        gap: 3px;
        padding: 8px;
        border: 0;
        border-left: 1px solid var(--line);
    }

    .form-summary dd {
        text-align: left;
    }

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

@media (max-width: 700px) {
    .form-panel__header {
        grid-template-columns: 36px 1fr;
        padding: 15px;
    }

    .form-panel__status {
        display: none;
    }

    .form-panel__body,
    .company-type-picker {
        grid-template-columns: 1fr;
    }

    .form-panel__body {
        padding: 17px;
    }

    .form-summary dl {
        grid-template-columns: 1fr 1fr;
    }

    .form-summary dl > div:last-child {
        grid-column: 1 / -1;
    }

    .customer-form-aside {
        order: initial;
    }

    .mobile-form-submit {
        display: block;
    }

    .invitation-choice {
        grid-template-columns: 20px 1fr auto;
    }

    .invitation-choice__icon {
        display: none;
    }

    .definition-overview {
        grid-template-columns: 1fr;
    }

    .definition-composer__form {
        grid-template-columns: 1fr;
    }

    .definition-composer__actions {
        grid-column: auto;
    }

    .definition-catalog {
        padding: 16px;
    }

    .definition-catalog > header {
        align-items: stretch;
        flex-direction: column;
    }

    .definition-search {
        grid-template-columns: 22px 1fr;
    }

    .definition-card-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 430px) {
    .form-summary dl {
        grid-template-columns: 1fr;
    }

    .form-summary dl > div,
    .form-summary dl > div:last-child {
        grid-column: auto;
        border-left: 0;
        border-top: 1px solid var(--line);
    }

    .tag-selector__head {
        align-items: flex-start;
        flex-direction: column;
    }

    .invitation-choice {
        grid-template-columns: 20px 1fr;
    }

    .invitation-choice > b {
        grid-column: 2;
        justify-self: start;
    }

    .definition-tabs--wide {
        grid-template-columns: 1fr;
    }

    .definition-card__danger form {
        grid-template-columns: 1fr;
    }
}

/* Phase 3 catalog */
.catalog-kpis {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 18px;
}

.catalog-kpis article {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 17px;
    border: 1px solid var(--line);
    border-top: 3px solid var(--cyan);
    background: #fff;
}

.catalog-kpis span {
    color: var(--muted);
    font-size: .74rem;
}

.catalog-kpis strong {
    font-size: 1.7rem;
}

.catalog-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 13px;
}

.catalog-card {
    display: grid;
    align-content: start;
    gap: 15px;
    padding: 18px;
    border: 1px solid var(--line);
    border-radius: 7px;
    background: #fff;
    box-shadow: 0 4px 14px rgba(12, 20, 52, .04);
}

.catalog-card header {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.catalog-type {
    display: inline-flex;
    padding: 4px 8px;
    border-radius: 10px;
    background: #e9efff;
    color: var(--blue);
    font-size: .65rem;
    font-weight: 800;
}

.catalog-type--service {
    background: #e8f7f6;
    color: #13727d;
}

.catalog-card code {
    color: var(--muted);
}

.catalog-card h2 {
    margin: 6px 0;
    font-size: 1rem;
}

.catalog-card dl {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin: 0;
}

.catalog-card dl div {
    padding: 8px;
    border-left: 1px solid var(--line);
}

.catalog-card dl div:first-child {
    border-left: 0;
}

.catalog-card dt,
.catalog-card dd {
    margin: 0;
}

.catalog-card dt {
    color: var(--muted);
    font-size: .63rem;
}

.catalog-card dd {
    margin-top: 4px;
    font-size: .75rem;
    font-weight: 800;
}

.stock-meter {
    padding: 12px;
    border-radius: 6px;
    background: #edf8f3;
}

.stock-meter.has-warning {
    background: #fff0f1;
    color: var(--red);
}

.stock-meter div {
    display: flex;
    justify-content: space-between;
}

.stock-meter small {
    display: block;
    margin-top: 4px;
    color: var(--muted);
}

.product-detail-hero {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 24px;
    margin-bottom: 20px;
    padding: 25px;
    background: var(--navy);
    color: #fff;
}

.product-detail-hero h2 {
    margin: 12px 0 5px;
    font-size: 2rem;
}

.product-detail-hero p {
    color: #aeb8d3;
}

.inventory-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(90px, 1fr));
    gap: 8px;
}

.inventory-summary article {
    padding: 13px;
    border: 1px solid #2f3e6c;
    background: #17234d;
}

.inventory-summary span,
.inventory-summary strong {
    display: block;
}

.inventory-summary span {
    color: #96a2c3;
    font-size: .65rem;
}

.inventory-summary strong {
    margin-top: 5px;
    font-size: 1.2rem;
}

.inventory-summary .has-danger {
    border-color: #b54b5b;
    background: #4a1e2b;
}

/* Sales documents */
.sales-status-tabs {
    display: flex;
    gap: 5px;
    margin-bottom: 18px;
    overflow-x: auto;
    padding-bottom: 4px;
}

.sales-status-tabs a {
    flex: 0 0 auto;
    padding: 8px 11px;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: #fff;
    color: var(--muted);
    font-size: .72rem;
    font-weight: 700;
}

.sales-status-tabs a.active {
    border-color: var(--navy);
    background: var(--navy);
    color: #fff;
}

.sales-status {
    display: inline-flex;
    padding: 5px 9px;
    border-radius: 12px;
    background: #edf0f5;
    color: var(--muted);
    font-size: .65rem;
    font-weight: 900;
    text-transform: capitalize;
}

/* Rozet rengi durumun tonundan gelir (StatusLabel::tone).
   Onceden her ENUM degeri ayri ayri sayiliyordu ve listede olmayan her yeni
   durum sessizce griye dusuyordu: sozlesmedeki "musteri onayi bekleniyor" ya
   da kalite dokumanindaki "yururlukten kalkti" boyleydi. Ton, sozlukte tek
   yerde tanimli.

   ALTI ton var ve her biri ayri bir anlam tasiyor. Bir donem tonlar dorde
   sikismisti ve satis belgesi durumlarinin neredeyse hepsi mavi gorunuyordu -
   taslak, gonderildi ve faturalandi ayni renkteydi. Rozetin var olma sebebi
   metni okumadan durumu anlamak; hepsi ayni renk olunca o sebep kaliyordu.

   Renkler TEK yerde degisken olarak durur ki rozet, filtre sekmesi ve
   dashboard huni cubugu ayni tonu kullansin. */
:root {
    --tone-neutral-bg: #eef0f5; --tone-neutral-fg: #5b6478; --tone-neutral-bar: #98a1b4;
    --tone-warn-bg:    #fff4d6; --tone-warn-fg:    #8a5a06; --tone-warn-bar:    #e8a41d;
    --tone-alert-bg:   #ffe9d4; --tone-alert-fg:   #91480d; --tone-alert-bar:   #d3701a;
    --tone-ok-bg:      #e2f6ec; --tone-ok-fg:      #10704f; --tone-ok-bar:      #1a9c6d;
    --tone-danger-bg:  #ffe5e9; --tone-danger-fg:  #a52134; --tone-danger-bar:  #d63c50;
    --tone-info-bg:    #e6edfd; --tone-info-fg:    #23459e; --tone-info-bar:    #315efb;
}

.sales-status--neutral { background: var(--tone-neutral-bg); color: var(--tone-neutral-fg); }
.sales-status--warn    { background: var(--tone-warn-bg);    color: var(--tone-warn-fg); }
.sales-status--alert   { background: var(--tone-alert-bg);   color: var(--tone-alert-fg); }
.sales-status--ok      { background: var(--tone-ok-bg);      color: var(--tone-ok-fg); }
.sales-status--danger  { background: var(--tone-danger-bg);  color: var(--tone-danger-fg); }
.sales-status--info    { background: var(--tone-info-bg);    color: var(--tone-info-fg); }

.sales-editor {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    align-items: start;
    gap: 20px;
}

.sales-editor-main {
    display: grid;
    gap: 16px;
    min-width: 0;
}

.sales-totals {
    position: sticky;
    top: 96px;
    padding: 20px;
    border: 1px solid var(--line);
    border-top: 3px solid var(--blue);
    border-radius: 7px;
    background: #fff;
    box-shadow: var(--shadow);
}

.sales-total-currency {
    display: flex;
    justify-content: space-between;
    margin: 14px 0;
    padding: 10px;
    background: #f5f7fb;
}

.discount-control {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px;
}

.sales-totals dl {
    margin: 18px 0;
}

.sales-totals dl div {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 0;
    border-bottom: 1px solid var(--line);
}

.sales-totals dt,
.sales-totals dd {
    margin: 0;
}

.sales-totals dt {
    color: var(--muted);
}

.sales-totals dd {
    font-weight: 800;
}

.sales-totals .sales-grand {
    padding-top: 13px;
    border-bottom: 0;
    color: var(--blue);
    font-size: 1rem;
}

/* Kalem izgarasi TEK yerde tanimli.
   Onceden ayni sutun sablonu uc ayri yerde yaziliydi (baslik seridi, satir ve
   panel-ux'teki ezen surum) ve senkron kalmak zorundaydi; biri degisince
   digerleri kalinca satir kayiyor, fiyat ve silme sutunu ekrandan tasiyordu.
   Artik yalniz bu degisken degisiyor, iki kural da onu okuyor. */
.sales-lines-panel {
    --sales-line-grid: minmax(260px, 1fr) 90px 120px 80px 110px 34px;
}

.sales-line-head {
    display: grid;
    grid-template-columns: var(--sales-line-grid, minmax(260px, 1fr) 90px 120px 80px 110px 34px);
    gap: 8px;
    padding: 9px 16px;
    background: #f4f6fa;
    color: var(--muted);
    font-size: .64rem;
    font-weight: 800;
    text-transform: uppercase;
}

.sales-lines {
    display: grid;
}

.sales-line {
    display: grid;
    grid-template-columns: var(--sales-line-grid, minmax(260px, 1fr) 90px 120px 80px 110px 34px);
    align-items: center;
    gap: 8px;
    padding: 13px 16px;
    border-top: 1px solid var(--line);
}

.sales-line-identity {
    display: grid;
    grid-template-columns: 18px 1fr;
    gap: 6px;
}

.sales-line-identity textarea {
    min-height: 44px;
    margin-top: 5px;
}

/* Etiketler gorsel olarak gizlenir ama DOM'da KALIR: sutunlari baslik seridi
   adlandiriyor, ekran okuyucunun ise alan basina etikete ihtiyaci var.
   `display:none` ikisini birden goturuyordu. */
.sales-line label > span,
.sales-line-total-wrap > span {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}

.sales-line-total {
    text-align: right;
}

.line-remove {
    width: 30px;
    height: 30px;
    border: 0;
    border-radius: 50%;
    background: #fdecee;
    color: var(--red);
    cursor: pointer;
}

.product-picker {
    width: min(680px, calc(100vw - 28px));
}

.product-option-list {
    display: grid;
    max-height: 390px;
    overflow-y: auto;
}

.product-option-list button {
    display: grid;
    grid-template-columns: 70px 1fr;
    gap: 4px 10px;
    padding: 13px;
    border: 0;
    border-bottom: 1px solid var(--line);
    background: #fff;
    text-align: left;
    cursor: pointer;
}

.product-option-list button:hover {
    background: #f4f7ff;
}

.product-option-list small {
    grid-column: 2;
    color: var(--muted);
}

.sales-document-hero,
.customer-document-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 20px;
    padding: 23px;
    background: var(--navy);
    color: #fff;
}

.sales-document-hero h2,
.customer-document-summary h2 {
    margin: 10px 0 4px;
    font-size: 2rem;
}

.sales-document-hero p,
.customer-document-summary p {
    color: #aeb8d3;
}

.sales-document-hero dl,
.customer-document-summary dl {
    display: grid;
    grid-template-columns: repeat(3, minmax(100px, 1fr));
    margin: 0;
}

.sales-document-hero dl div,
.customer-document-summary dl div {
    padding: 9px 14px;
    border-left: 1px solid #2f3e6c;
}

.sales-document-hero dt,
.sales-document-hero dd,
.customer-document-summary dt,
.customer-document-summary dd {
    margin: 0;
}

.sales-document-hero dt,
.customer-document-summary dt {
    color: #8e9abb;
    font-size: .63rem;
}

.sales-document-hero dd,
.customer-document-summary dd {
    margin-top: 4px;
    font-weight: 800;
}

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

.sales-totals--static {
    position: static;
}

.version-timeline article {
    display: grid;
    grid-template-columns: 34px 1fr;
    gap: 10px;
    padding: 10px 0;
    border-bottom: 1px solid var(--line);
}

.version-timeline article > span {
    display: grid;
    width: 32px;
    height: 32px;
    place-items: center;
    border-radius: 50%;
    background: #e9efff;
    color: var(--blue);
    font-size: .7rem;
    font-weight: 900;
}

.version-timeline small {
    display: block;
    margin-top: 3px;
    color: var(--muted);
}

.customer-document-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 13px;
}

.customer-document-grid article {
    display: grid;
    gap: 11px;
    padding: 19px;
    border: 1px solid var(--line);
    border-radius: 7px;
    background: #fff;
}

.customer-document-grid header {
    display: flex;
    justify-content: space-between;
}

.customer-document-grid h2,
.customer-document-grid p {
    margin: 0;
}

.customer-document-grid p,
.customer-document-grid small {
    color: var(--muted);
}

.pdf-viewer-panel {
    margin-bottom: 20px;
    border: 1px solid var(--line);
    background: #fff;
}

.pdf-viewer-panel header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 13px 16px;
    border-bottom: 1px solid var(--line);
}

.pdf-viewer-panel strong,
.pdf-viewer-panel small {
    display: block;
}

.pdf-viewer-panel small {
    margin-top: 3px;
    color: var(--muted);
}

.pdf-viewer-panel iframe {
    width: 100%;
    height: min(72vh, 820px);
    border: 0;
    background: #e8ebf1;
}

.decision-panel {
    display: grid;
    grid-template-columns: minmax(220px, .6fr) minmax(0, 1.4fr);
    gap: 20px;
    margin-bottom: 20px;
    padding: 22px;
    border: 1px solid #b7c4ed;
    background: #f5f7ff;
}

.decision-panel h2,
.decision-panel p {
    margin: 0;
}

.decision-panel p {
    margin-top: 6px;
    color: var(--muted);
    line-height: 1.55;
}

.decision-options {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 9px;
}

.decision-option {
    display: grid;
    width: 100%;
    min-height: 120px;
    place-items: center;
    padding: 13px;
    border: 1px solid var(--line);
    border-radius: 7px;
    background: #fff;
    cursor: pointer;
}

.decision-option > span {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border-radius: 50%;
    background: #eef1f6;
}

.decision-option strong,
.decision-option small {
    display: block;
}

.decision-option small {
    color: var(--muted);
}

.decision-option--approve {
    border-color: #abd8c6;
}

.decision-option--approve > span {
    background: #def3e9;
    color: var(--green);
}

.decision-option--reject {
    border-color: #e8bfc4;
}

.decision-option--reject > span {
    background: #fdecee;
    color: var(--red);
}

.approval-wizard {
    display: grid;
    gap: 14px;
}

.approval-wizard__head {
    display: grid;
    grid-template-columns: 38px 1fr;
    align-items: center;
    gap: 10px;
}

.approval-wizard__head > span {
    display: grid;
    width: 36px;
    height: 36px;
    place-items: center;
    border-radius: 50%;
    background: var(--blue);
    color: #fff;
    font-weight: 900;
}

.signature-field {
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: 7px;
    background: #fff;
}

.signature-field > div {
    display: flex;
    justify-content: space-between;
    margin-bottom: 8px;
}

.signature-field button {
    border: 0;
    background: transparent;
    color: var(--blue);
    cursor: pointer;
}

.signature-field canvas {
    display: block;
    width: 100%;
    height: 180px;
    border: 1px dashed #abb4c6;
    background: #fff;
    touch-action: none;
}

.signature-field small {
    color: var(--muted);
}

.consent-check {
    display: grid;
    grid-template-columns: 18px 1fr;
    align-items: start;
    gap: 10px;
    padding: 13px;
    border: 1px solid #b7c4ed;
    border-radius: 7px;
    background: #fff;
}

.consent-check input {
    width: 17px;
    height: 17px;
}

.consent-check strong,
.consent-check small {
    display: block;
}

.consent-check small {
    margin-top: 4px;
    color: var(--muted);
    line-height: 1.5;
}

/* CRM */
.crm-layout {
    display: grid;
    grid-template-columns: 340px minmax(0, 1fr);
    align-items: start;
    gap: 20px;
}

.crm-composer {
    position: sticky;
    top: 96px;
}

.crm-type-picker {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 6px;
    margin: 0;
    padding: 0;
    border: 0;
}

.crm-type-picker legend {
    grid-column: 1 / -1;
    font-size: .75rem;
    font-weight: 800;
}

.crm-type-picker label {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 8px;
    border: 1px solid var(--line);
    border-radius: 5px;
    cursor: pointer;
}

.crm-type-picker input {
    width: 16px;
    height: 16px;
}

.crm-timeline {
    display: grid;
    gap: 10px;
}

.crm-event {
    display: grid;
    grid-template-columns: 10px 68px 1fr auto;
    align-items: center;
    gap: 13px;
    padding: 16px;
    border: 1px solid var(--line);
    border-radius: 7px;
    background: #fff;
}

.crm-event__dot {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--blue);
}

.crm-event--meeting .crm-event__dot {
    background: var(--cyan);
}

.crm-event--note .crm-event__dot {
    background: var(--amber);
}

.crm-event__date {
    display: grid;
    place-items: center;
    min-height: 58px;
    border-radius: 6px;
    background: #f0f3f8;
}

.crm-event__date strong,
.crm-event__date small {
    display: block;
}

.crm-event__date strong {
    font-size: 1.2rem;
}

.crm-event__date small,
.crm-event p,
.crm-visibility {
    color: var(--muted);
    font-size: .68rem;
}

.crm-event h2,
.crm-event p {
    margin: 6px 0 0;
}

.crm-event h2 {
    font-size: .9rem;
}

.crm-private-note {
    border-left: 4px solid var(--amber);
    background: #fffbf1;
}

.customer-activity-grid {
    display: grid;
    gap: 10px;
}

.customer-activity {
    display: grid;
    grid-template-columns: 64px 1fr auto;
    align-items: center;
    gap: 14px;
    padding: 17px;
    border: 1px solid var(--line);
    border-radius: 7px;
    background: #fff;
}

.customer-activity__date {
    display: grid;
    min-height: 60px;
    place-items: center;
    border-radius: 7px;
    background: var(--navy);
    color: #fff;
}

.customer-activity h2,
.customer-activity p,
.customer-activity small {
    margin: 5px 0 0;
}

.customer-activity h2 {
    font-size: .92rem;
}

.customer-activity p,
.customer-activity small {
    color: var(--muted);
}

.meeting-focus {
    padding: 25px;
    border: 1px solid var(--line);
    background: #fff;
}

.meeting-focus > div {
    display: flex;
    align-items: center;
    gap: 14px;
}

.meeting-focus > div > span {
    font-size: 2rem;
}

.meeting-focus dl {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    margin: 20px 0;
}

.meeting-focus dl div {
    padding: 10px;
    border-left: 1px solid var(--line);
}

.meeting-focus dt,
.meeting-focus dd {
    margin: 0;
}

.meeting-focus dt {
    color: var(--muted);
    font-size: .7rem;
}

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

.dashboard-activity-list,
.dashboard-document-list {
    display: grid;
}

.dashboard-activity-list a,
.dashboard-document-list a {
    display: grid;
    grid-template-columns: 58px 1fr;
    align-items: center;
    gap: 10px;
    padding: 10px 0;
    border-bottom: 1px solid var(--line);
    color: var(--ink);
}

.dashboard-document-list a {
    grid-template-columns: 1fr auto;
}

.dashboard-activity-list time {
    display: grid;
    place-items: center;
    padding: 7px;
    border-radius: 6px;
    background: #eef2fa;
}

.dashboard-activity-list strong,
.dashboard-activity-list small,
.dashboard-document-list strong,
.dashboard-document-list code {
    display: block;
}

.dashboard-activity-list small,
.dashboard-document-list code {
    margin-top: 3px;
    color: var(--muted);
}

/* Print templates */
.print-template-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(330px, 1fr));
    gap: 13px;
}

.print-template-card {
    align-self: start;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 7px;
    background: #fff;
}

.print-template-card > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px;
}

.print-template-card > header > div {
    display: flex;
    align-items: center;
    gap: 10px;
}

.template-color {
    width: 12px;
    height: 42px;
    border-radius: 7px;
    background: var(--template-color);
}

.print-template-card h2,
.print-template-card p {
    margin: 0;
}

.print-template-card p {
    margin-top: 4px;
    color: var(--muted);
    font-size: .68rem;
}

.print-template-card details {
    border-top: 1px solid var(--line);
}

.print-template-card summary {
    padding: 11px 16px;
    color: var(--blue);
    cursor: pointer;
    font-size: .74rem;
    font-weight: 800;
}

.print-template-card details > form {
    display: grid;
    gap: 12px;
    padding: 15px;
    background: #fafbfc;
}

.template-assets {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-top: 1px solid var(--line);
}

.template-assets div {
    padding: 11px;
    border-left: 1px solid var(--line);
}

.template-assets div:first-child {
    border-left: 0;
}

.template-assets strong,
.template-assets small {
    display: block;
}

.template-assets small {
    margin-top: 3px;
    color: var(--muted);
}

.template-page-groups {
    display: grid;
    gap: 10px;
    padding: 12px;
    border-top: 1px solid var(--line);
}

.template-page-group {
    display: grid;
    gap: 6px;
}

.template-page-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-width: 0;
    padding: 7px 8px;
    background: #f7f8fb;
}

.template-page-row > span {
    min-width: 0;
    overflow-wrap: anywhere;
}

.template-page-row small {
    color: var(--muted);
}

.template-page-row .action-row {
    flex: 0 0 auto;
    gap: 4px;
}

.template-page-row form,
.template-page-row .button {
    width: 32px;
    height: 32px;
    margin: 0;
}

.template-page-row .button {
    display: grid;
    place-items: center;
    padding: 0;
}

.template-upload,
.exchange-override {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 7px;
    padding: 12px;
    border-top: 1px solid var(--line);
}

.exchange-override {
    grid-template-columns: 110px minmax(160px, 1fr) auto;
    padding: 0;
    border: 0;
}

@media (max-width: 1100px) {
    .sales-editor,
    .sales-document-layout {
        grid-template-columns: 1fr;
    }

    .sales-totals {
        position: static;
    }

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

    .crm-composer {
        position: static;
    }
}

@media (max-width: 760px) {
    .catalog-kpis,
    .dashboard-focus-grid {
        grid-template-columns: 1fr;
    }

    .product-detail-hero,
    .sales-document-hero,
    .customer-document-summary,
    .decision-panel {
        align-items: stretch;
        grid-template-columns: 1fr;
        flex-direction: column;
    }

    .inventory-summary {
        grid-template-columns: repeat(3, 1fr);
    }

    .sales-line-head {
        display: none;
    }

    .sales-line {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .sales-line-identity {
        grid-column: 1 / -1;
    }

    .sales-line label > span {
        display: block;
        margin-bottom: 4px;
        color: var(--muted);
        font-size: .63rem;
    }

    .sales-line-total {
        align-self: center;
        text-align: left;
    }

    .decision-options {
        grid-template-columns: 1fr;
    }

    .crm-event {
        grid-template-columns: 8px 54px 1fr;
    }

    .crm-event > .button {
        grid-column: 2 / -1;
    }

    .customer-activity {
        grid-template-columns: 54px 1fr;
    }

    .customer-activity > .button {
        grid-column: 1 / -1;
    }

    .print-template-grid {
        grid-template-columns: 1fr;
    }

    .template-upload,
    .exchange-override {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 450px) {
    .catalog-card dl,
    .inventory-summary,
    .sales-document-hero dl,
    .customer-document-summary dl,
    .template-assets {
        grid-template-columns: 1fr;
    }

    .catalog-card dl div,
    .inventory-summary article,
    .sales-document-hero dl div,
    .customer-document-summary dl div,
    .template-assets div {
        border-top: 1px solid var(--line);
        border-left: 0;
    }

    .sales-line {
        grid-template-columns: 1fr;
    }

    .sales-line > * {
        grid-column: 1;
    }

    .pdf-viewer-panel iframe {
        height: 60vh;
    }
}

/* Customer picker, CRM agenda and calendar */
.customer-picker {
    display: grid;
    gap: 6px;
}

.customer-picker__trigger {
    display: grid;
    grid-template-columns: 42px 1fr 28px;
    align-items: center;
    gap: 10px;
    width: 100%;
    min-height: 58px;
    padding: 8px 11px;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: #fff;
    color: var(--ink);
    text-align: left;
    cursor: pointer;
}

.customer-picker__trigger:hover {
    border-color: var(--blue);
    background: #f7f9ff;
}

.customer-picker__trigger:disabled {
    cursor: default;
    opacity: .75;
}

.customer-picker__avatar {
    display: grid;
    width: 40px;
    height: 40px;
    place-items: center;
    border-radius: 50%;
    background: var(--navy);
    color: #fff;
    font-weight: 900;
}

.customer-picker__trigger small,
.customer-picker__trigger strong {
    display: block;
}

.customer-picker__trigger small {
    margin-bottom: 2px;
    color: var(--muted);
    font-size: .65rem;
}

.customer-picker__dialog {
    width: min(620px, calc(100vw - 28px));
}

.customer-picker__search {
    display: grid;
    grid-template-columns: 22px 1fr;
    align-items: center;
    gap: 7px;
    margin: 12px;
    padding: 0 10px;
    border: 1px solid var(--line);
    background: #fff;
}

.customer-picker__search input {
    border: 0;
}

.customer-picker__options {
    display: grid;
    max-height: 430px;
    overflow-y: auto;
    border-top: 1px solid var(--line);
}

.customer-picker__options > button {
    display: grid;
    grid-template-columns: 40px 1fr;
    gap: 2px 10px;
    align-items: center;
    padding: 12px 15px;
    border: 0;
    border-bottom: 1px solid var(--line);
    background: #fff;
    color: var(--ink);
    text-align: left;
    cursor: pointer;
}

.customer-picker__options > button:hover {
    background: #f3f6ff;
}

.customer-picker__options > button > span {
    display: grid;
    grid-row: 1 / 3;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 50%;
    background: #e8edfb;
    color: var(--blue);
    font-weight: 900;
}

.customer-picker__options small {
    color: var(--muted);
}

.activity-dialog {
    inset: 0;
    width: min(680px, calc(100vw - 24px));
    max-height: 90vh;
    margin: auto;
    overflow-y: auto;
}

.activity-dialog:popover-open {
    display: block;
}

.activity-dialog > header {
    position: sticky;
    z-index: 2;
    top: 0;
    background: #fff;
}

.crm-quick-form {
    display: grid;
    gap: 13px;
    padding: 16px;
}

.visibility-picker {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 7px;
    margin: 0;
    padding: 0;
    border: 0;
}

.visibility-picker legend {
    grid-column: 1 / -1;
    font-size: .72rem;
    font-weight: 800;
}

.visibility-picker label {
    display: grid;
    grid-template-columns: 18px 1fr;
    gap: 8px;
    padding: 10px;
    border: 1px solid var(--line);
    border-radius: 6px;
}

.visibility-picker strong,
.visibility-picker small {
    display: block;
}

.visibility-picker small {
    margin-top: 3px;
    color: var(--muted);
}

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

.crm-kpis article {
    padding: 15px;
    border: 1px solid var(--line);
    border-top: 3px solid var(--cyan);
    background: #fff;
}

.crm-kpis article.has-warning {
    border-top-color: var(--red);
}

.crm-kpis span,
.crm-kpis strong,
.crm-kpis small {
    display: block;
}

.crm-kpis span,
.crm-kpis small {
    color: var(--muted);
    font-size: .68rem;
}

.crm-kpis strong {
    margin: 5px 0;
    font-size: 1.7rem;
}

.crm-filter-bar {
    margin-bottom: 16px;
    padding: 11px;
    border: 1px solid var(--line);
    background: #fff;
}

.crm-filter-bar form {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) repeat(3, minmax(125px, .55fr)) auto;
    align-items: end;
    gap: 8px;
}

.crm-filter-bar label {
    display: grid;
    gap: 4px;
    color: var(--muted);
    font-size: .68rem;
    font-weight: 700;
}

.crm-agenda {
    border: 1px solid var(--line);
    background: #fff;
}

.crm-agenda > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 15px 17px;
    border-bottom: 1px solid var(--line);
}

.crm-agenda h2,
.crm-agenda p {
    margin: 0;
}

.crm-agenda p {
    margin-top: 3px;
    color: var(--muted);
}

.crm-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    color: var(--muted);
    font-size: .66rem;
}

.crm-legend span::before {
    display: inline-block;
    width: 8px;
    height: 8px;
    margin-right: 5px;
    border-radius: 50%;
    background: var(--blue);
    content: '';
}

.crm-legend .is-appointment::before { background: var(--cyan); }
.crm-legend .is-call::before { background: var(--green); }
.crm-legend .is-note::before { background: var(--amber); }

.crm-agenda-list {
    display: grid;
}

.crm-agenda-item {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr) 36px;
    align-items: center;
    gap: 14px;
    min-width: 0;
    padding: 14px 16px;
    border-bottom: 1px solid var(--line);
    border-left: 4px solid var(--blue);
}

.crm-agenda-item--appointment { border-left-color: var(--cyan); }
.crm-agenda-item--call { border-left-color: var(--green); }
.crm-agenda-item--note { border-left-color: var(--amber); }

.crm-agenda-item > time {
    display: grid;
    min-height: 62px;
    place-items: center;
    align-content: center;
    background: #f1f4f9;
}

.crm-agenda-item > time strong {
    font-size: 1.3rem;
}

.crm-agenda-item > time span,
.crm-agenda-item > time small {
    color: var(--muted);
    font-size: .62rem;
}

.crm-agenda-item__body {
    min-width: 0;
}

.crm-agenda-item__body h3,
.crm-agenda-item__body p {
    margin: 5px 0 0;
}

.crm-agenda-item__body h3 {
    font-size: .9rem;
}

.crm-agenda-item__body p,
.crm-agenda-item__body > small {
    color: var(--muted);
}

.crm-agenda-item__open {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border: 1px solid var(--line);
    border-radius: 50%;
    color: var(--blue);
    font-size: 1.3rem;
}

.calendar-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
    padding: 10px;
    border: 1px solid var(--line);
    background: #fff;
}

.calendar-nav,
.calendar-toolbar form {
    display: flex;
    align-items: center;
    gap: 7px;
}

.calendar-nav h2 {
    min-width: 170px;
    margin: 0 0 0 6px;
    font-size: 1rem;
}

.calendar-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 280px;
    align-items: start;
    gap: 13px;
}

.calendar-board {
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--line);
    background: #fff;
}

.calendar-weekdays,
.calendar-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
}

.calendar-weekdays span {
    padding: 9px;
    border-left: 1px solid var(--line);
    background: var(--navy);
    color: #dbe2fa;
    font-size: .65rem;
    font-weight: 800;
    text-align: center;
}

.calendar-day {
    min-width: 0;
    min-height: 132px;
    padding: 7px;
    border-top: 1px solid var(--line);
    border-left: 1px solid var(--line);
    background: #fff;
}

.calendar-day.is-muted {
    background: #f7f8fa;
    color: #9aa2b3;
}

.calendar-day.is-today {
    box-shadow: inset 0 0 0 2px var(--blue);
}

.calendar-day > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 5px;
}

.calendar-day > header time {
    display: grid;
    width: 25px;
    height: 25px;
    place-items: center;
    border-radius: 50%;
    font-size: .72rem;
    font-weight: 800;
}

.calendar-day.is-today > header time {
    background: var(--blue);
    color: #fff;
}

.calendar-day > header button {
    width: 25px;
    height: 25px;
    border: 0;
    background: transparent;
    color: var(--blue);
    cursor: pointer;
}

.calendar-day__events {
    display: grid;
    gap: 4px;
}

.calendar-event {
    display: grid;
    grid-template-columns: 31px minmax(0, 1fr);
    gap: 1px 5px;
    min-width: 0;
    padding: 5px;
    border-left: 3px solid var(--blue);
    background: #eef2ff;
    color: var(--ink);
    font-size: .61rem;
}

.calendar-event--appointment { border-color: var(--cyan); background: #e9f8f8; }
.calendar-event--call { border-color: var(--green); background: #eaf7f1; }
.calendar-event--note { border-color: var(--amber); background: #fff7e7; }

.calendar-event time {
    color: var(--muted);
}

.calendar-event span,
.calendar-event small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.calendar-event small {
    grid-column: 2;
    color: var(--muted);
}

.calendar-more {
    color: var(--blue);
    font-size: .62rem;
    font-weight: 800;
}

.calendar-agenda {
    position: sticky;
    top: 92px;
    border: 1px solid var(--line);
    background: #fff;
}

.calendar-agenda > header {
    padding: 15px;
    border-bottom: 1px solid var(--line);
}

.calendar-agenda h2,
.calendar-agenda p {
    margin: 0;
}

.calendar-agenda > a {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr);
    align-items: center;
    gap: 9px;
    padding: 10px 12px;
    border-bottom: 1px solid var(--line);
    color: var(--ink);
}

.calendar-agenda > a time {
    display: grid;
    place-items: center;
    padding: 5px;
    background: #eef2fa;
}

.calendar-agenda > a time span,
.calendar-agenda > a small {
    color: var(--muted);
    font-size: .62rem;
}

.document-editor {
    display: grid;
    gap: 10px;
    margin-bottom: 12px;
    padding: 12px;
    border: 1px solid var(--line);
    background: #fff;
}

.document-editor__assist {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: space-between;
    padding: 10px;
    border: 1px solid #dbe3f3;
    background: #f7f9ff;
}

.document-editor__assist > div > p {
    margin: 4px 0 0;
    color: var(--muted);
    font-size: .78rem;
}

.document-editor__assist .field {
    margin-bottom: 0;
}

.document-editor__assist-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: end;
}

.document-editor__examples {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.document-editor__examples small {
    color: var(--muted);
}

.document-editor .note-editor.note-frame {
    border-color: #cfd8ea;
}

.document-editor .note-editor.note-frame .note-editing-area .note-editable {
    min-height: 250px;
}

.template-fields {
    display: grid;
    gap: 10px;
}

.template-field-row {
    padding: 12px;
    border: 1px solid var(--line);
    background: #fafbfd;
}

.template-field-row .action-row {
    justify-content: space-between;
    margin-top: 10px;
}

.crm-quick-form .document-editor,
.crm-quick-form .template-fields {
    margin-bottom: 0;
}

.crm-quick-form .field > small {
    color: var(--muted);
}

@media (max-width: 1100px) {
    .crm-filter-bar form {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

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

    .calendar-agenda {
        position: static;
    }
}

@media (max-width: 760px) {
    .crm-kpis {
        grid-template-columns: repeat(2, 1fr);
    }

    .calendar-toolbar,
    .calendar-toolbar form {
        align-items: stretch;
        flex-direction: column;
    }

    .calendar-board {
        overflow-x: auto;
    }

    .calendar-weekdays,
    .calendar-grid {
        min-width: 760px;
    }
}

@media (max-width: 520px) {
    .crm-kpis,
    .crm-filter-bar form,
    .visibility-picker {
        grid-template-columns: 1fr;
    }

    .crm-agenda > header {
        align-items: flex-start;
        flex-direction: column;
    }

    .crm-agenda-item {
        grid-template-columns: 52px minmax(0, 1fr) 30px;
        gap: 9px;
        padding: 11px 9px;
    }
}

/* Operations dashboard */
.dashboard-cta-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 9px;
    margin-bottom: 14px;
}

.dashboard-cta-strip a,
.dashboard-cta-strip button {
    display: grid;
    grid-template-columns: 38px 1fr;
    gap: 2px 9px;
    align-items: center;
    min-width: 0;
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: #fff;
    color: var(--ink);
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.dashboard-cta-strip a:hover,
.dashboard-cta-strip button:hover {
    border-color: var(--blue);
}

.dashboard-cta-strip .is-primary {
    border-color: var(--blue);
    background: var(--blue);
    color: #fff;
}

.dashboard-cta-strip > * > span {
    display: grid;
    grid-row: 1 / 3;
    width: 36px;
    height: 36px;
    place-items: center;
    border-radius: 50%;
    background: #edf1fb;
    color: var(--blue);
    font-weight: 900;
}

.dashboard-cta-strip .is-primary > span {
    background: rgba(255, 255, 255, .18);
    color: #fff;
}

.dashboard-cta-strip strong,
.dashboard-cta-strip small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dashboard-cta-strip small {
    color: var(--muted);
    font-size: .65rem;
}

.dashboard-cta-strip .is-primary small {
    color: #dce4ff;
}

.dashboard-kpis {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 9px;
    margin-bottom: 14px;
}

.dashboard-kpis article {
    padding: 14px;
    border: 1px solid var(--line);
    border-top: 3px solid var(--cyan);
    background: #fff;
}

.dashboard-kpis span,
.dashboard-kpis strong,
.dashboard-kpis small {
    display: block;
}

.dashboard-kpis span,
.dashboard-kpis small {
    color: var(--muted);
    font-size: .65rem;
}

.dashboard-kpis strong {
    margin: 5px 0;
    font-size: 1.55rem;
}

.dashboard-kpis .dashboard-kpi--money {
    border-top-color: var(--green);
}

.dashboard-analytics {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(250px, .7fr);
    gap: 13px;
    margin-bottom: 13px;
}

.dashboard-chart,
.dashboard-funnel,
.dashboard-panel {
    border: 1px solid var(--line);
    background: #fff;
}

.dashboard-chart > header,
.dashboard-funnel > header,
.dashboard-panel > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 14px 16px;
    border-bottom: 1px solid var(--line);
}

.dashboard-chart h2,
.dashboard-chart p,
.dashboard-funnel h2,
.dashboard-funnel p,
.dashboard-panel h2,
.dashboard-panel p {
    margin: 0;
}

.dashboard-chart p,
.dashboard-funnel p,
.dashboard-panel p {
    margin-top: 3px;
    color: var(--muted);
    font-size: .68rem;
}

.bar-chart {
    display: grid;
    grid-template-columns: repeat(6, minmax(42px, 1fr));
    align-items: end;
    gap: 12px;
    height: 250px;
    padding: 24px 20px 14px;
}

.bar-chart__column {
    display: grid;
    grid-template-rows: 22px 1fr 20px;
    gap: 5px;
    height: 100%;
    text-align: center;
}

.bar-chart__value {
    overflow: hidden;
    color: var(--muted);
    font-size: .62rem;
    text-overflow: ellipsis;
}

.bar-chart__track {
    position: relative;
    overflow: hidden;
    border-bottom: 1px solid var(--line);
    background: repeating-linear-gradient(to top, #f0f2f6 0 1px, transparent 1px 38px);
}

.bar-chart__track span {
    position: absolute;
    right: 10%;
    bottom: 0;
    left: 10%;
    height: var(--bar-height);
    min-height: 4px;
    border-radius: 5px 5px 0 0;
    background: linear-gradient(180deg, var(--cyan), var(--blue));
}

.bar-chart__column small {
    font-weight: 800;
}

.dashboard-funnel {
    padding-bottom: 10px;
}

.dashboard-funnel > a {
    display: grid;
    gap: 6px;
    padding: 9px 14px;
    color: var(--ink);
}

.dashboard-funnel > a > span {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    font-size: .72rem;
}

.dashboard-funnel i {
    display: block;
    height: 7px;
    overflow: hidden;
    border-radius: 4px;
    background: #edf0f5;
}

.dashboard-funnel em {
    display: block;
    width: var(--funnel-width);
    height: 100%;
    border-radius: 4px;
    background: var(--blue);
}

.dashboard-operations {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 13px;
    margin-bottom: 14px;
}

.dashboard-panel {
    min-width: 0;
}

.dashboard-stock-panel > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 11px 14px;
    border-bottom: 1px solid var(--line);
    color: var(--ink);
}

.dashboard-stock-panel > a strong,
.dashboard-stock-panel > a small {
    display: block;
}

.dashboard-stock-panel > a small {
    margin-top: 3px;
    color: var(--muted);
}

.dashboard-stock-panel > a > b {
    flex: 0 0 auto;
    color: var(--amber);
}

.dashboard-stock-panel > a > b.has-danger {
    color: var(--red);
}

.dashboard-panel .empty-state {
    margin: 12px;
}

.dashboard-migrations {
    margin-top: 14px;
}

@media (max-width: 1100px) {
    .dashboard-cta-strip,
    .dashboard-operations {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

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

    .document-editor .note-editor.note-frame .note-editing-area .note-editable {
        min-height: 220px;
    }
}

@media (max-width: 640px) {
    .dashboard-cta-strip,
    .dashboard-operations {
        grid-template-columns: 1fr;
    }

    .bar-chart {
        gap: 5px;
        height: 220px;
        padding-right: 10px;
        padding-left: 10px;
    }

    .bar-chart__track span {
        right: 5%;
        left: 5%;
    }

    .document-editor__assist-actions {
        width: 100%;
    }
}

/* User form */
.role-picker {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 10px;
    margin: 0;
    padding: 0;
    border: 0;
}

.role-picker legend {
    grid-column: 1 / -1;
    margin: 0 0 2px;
    padding: 0;
    color: #29324b;
    font-size: .78rem;
    font-weight: 800;
}

.role-picker label {
    display: grid;
    grid-template-columns: 18px 38px 1fr 18px;
    align-items: center;
    gap: 10px;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 7px;
    background: #fff;
    cursor: pointer;
}

.role-picker label:has(input:checked) {
    border-color: #9fb4ff;
    background: #f2f5ff;
    box-shadow: inset 0 0 0 1px rgba(49, 94, 251, .12);
}

.role-picker input {
    width: 17px;
    height: 17px;
}

.role-picker__icon {
    display: grid;
    width: 36px;
    height: 36px;
    place-items: center;
    border-radius: 7px;
    background: var(--navy);
    color: #fff;
    font-weight: 900;
}

.role-picker strong,
.role-picker small {
    display: block;
}

.role-picker small {
    margin-top: 3px;
    color: var(--muted);
    font-size: .68rem;
    font-weight: 500;
}

.role-picker__check {
    visibility: hidden;
    color: var(--blue);
    font-weight: 900;
}

.role-picker label:has(input:checked) .role-picker__check {
    visibility: visible;
}

.account-context {
    display: grid;
    grid-template-columns: 44px 1fr;
    align-items: center;
    gap: 12px;
    padding: 15px;
    border: 1px solid #b8c6f2;
    border-radius: 7px;
    background: #f5f7ff;
}

.account-context__icon {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 50%;
    background: var(--blue);
    color: #fff;
    font-weight: 900;
}

.account-context strong,
.account-context small {
    display: block;
}

.account-context small {
    margin-top: 4px;
    color: var(--muted);
    font-size: .72rem;
}

.permission-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding-bottom: 13px;
    border-bottom: 1px solid var(--line);
}

.permission-toolbar strong,
.permission-toolbar small {
    display: block;
}

.permission-toolbar small {
    margin-top: 3px;
    color: var(--muted);
    font-size: .68rem;
}

.permission-toolbar > div:last-child {
    display: flex;
    gap: 6px;
}

.permission-toolbar button {
    padding: 6px 9px;
    border: 1px solid var(--line);
    border-radius: 5px;
    background: #fff;
    color: var(--blue);
    cursor: pointer;
    font-size: .68rem;
    font-weight: 700;
}

.permission-grid--professional {
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
}

.permission-check--feature {
    grid-template-columns: 18px 34px 1fr 16px;
    align-items: center;
}

.permission-check__icon {
    display: grid;
    width: 32px;
    height: 32px;
    place-items: center;
    border-radius: 6px;
    background: #e9edf5;
    color: var(--muted);
}

.permission-check--feature:has(input:checked) .permission-check__icon {
    background: #dfe7ff;
    color: var(--blue);
}

.permission-check__mark {
    visibility: hidden;
    color: var(--blue);
    font-weight: 900;
}

.permission-check--feature:has(input:checked) .permission-check__mark {
    visibility: visible;
}

/* Settings workspace */
.settings-heading {
    align-items: center;
}

.settings-save-note {
    padding: 7px 10px;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: #fff;
    color: var(--muted);
    font-size: .68rem;
}

.settings-shell {
    display: grid;
    grid-template-columns: 245px minmax(0, 1fr);
    align-items: start;
    gap: 20px;
}

.settings-tabs {
    position: sticky;
    top: 98px;
    display: grid;
    gap: 6px;
    padding: 8px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
}

.settings-tabs a {
    display: grid;
    grid-template-columns: 38px 1fr auto;
    align-items: center;
    gap: 10px;
    min-height: 62px;
    padding: 10px;
    border-radius: 6px;
    color: var(--ink);
}

.settings-tabs a:hover,
.settings-tabs a.active {
    background: #f0f4ff;
}

.settings-tabs a.active {
    box-shadow: inset 3px 0 var(--blue);
}

.settings-tab-icon {
    display: grid;
    width: 36px;
    height: 36px;
    place-items: center;
    border-radius: 7px;
    background: #eef1f6;
    color: var(--muted);
}

.settings-tabs a.active .settings-tab-icon {
    background: var(--blue);
    color: #fff;
}

.settings-tabs strong,
.settings-tabs small {
    display: block;
}

.settings-tabs strong {
    font-size: .78rem;
}

.settings-tabs small {
    margin-top: 3px;
    color: var(--muted);
    font-size: .64rem;
}

.settings-tabs a > b {
    color: #a0a8ba;
}

.settings-tab-state {
    display: grid;
    width: 20px;
    height: 20px;
    place-items: center;
    border-radius: 50%;
    background: #e2f5ed;
    color: var(--green) !important;
    font-size: .65rem;
}

.settings-tab-state.has-warning {
    background: #fff0cf;
    color: var(--amber) !important;
}

.settings-workspace,
.settings-form {
    display: grid;
    gap: 16px;
    min-width: 0;
}

.settings-intro {
    display: grid;
    grid-template-columns: 46px 1fr;
    align-items: center;
    gap: 13px;
}

.settings-intro > span {
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border-radius: 8px;
    background: var(--navy);
    color: #fff;
    font-size: 1.1rem;
}

.settings-intro h2,
.settings-intro p {
    margin: 0;
}

.settings-intro p {
    margin-top: 4px;
    color: var(--muted);
    font-size: .77rem;
}

.settings-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    padding: 14px 0;
}

.smtp-test-panel {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 18px;
    border: 1px solid var(--line);
    border-radius: 7px;
    background: #fff;
}

.smtp-test-panel > div {
    display: grid;
    grid-template-columns: 36px 1fr;
    align-items: center;
    gap: 10px;
}

.smtp-test-panel > div > span {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border-radius: 50%;
    background: #e9efff;
    color: var(--blue);
}

.smtp-test-panel h3,
.smtp-test-panel p {
    margin: 0;
}

.smtp-test-panel p {
    margin-top: 3px;
    color: var(--muted);
    font-size: .7rem;
}

.smtp-test-panel form {
    display: grid;
    grid-template-columns: minmax(180px, 260px) auto;
    gap: 8px;
}

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

    .settings-tabs {
        position: static;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .role-picker,
    .permission-grid--professional {
        grid-template-columns: 1fr;
    }

    .permission-toolbar {
        align-items: flex-start;
        flex-direction: column;
    }

    .settings-tabs {
        grid-template-columns: 1fr;
    }

    .settings-save-note {
        display: none;
    }

    .settings-actions,
    .settings-actions .button {
        width: 100%;
    }

    .settings-actions {
        flex-direction: column-reverse;
    }

    .smtp-test-panel {
        align-items: stretch;
        flex-direction: column;
    }

    .smtp-test-panel form {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 430px) {
    .role-picker label {
        grid-template-columns: 18px 34px 1fr;
    }

    .role-picker__check {
        display: none;
    }

    .permission-check--feature {
        grid-template-columns: 18px 30px 1fr;
    }

    .permission-check__mark {
        display: none;
    }
}

/* 2026 structural UX refinements */
.dashboard-cta-strip > *,
.dashboard-kpis article,
.dashboard-panel,
.dashboard-document-list a > span,
.dashboard-activity-list a > span,
.dashboard-stock-panel > a > span { min-width: 0; }
.dashboard-cta-strip strong,
.dashboard-cta-strip small { overflow: visible; white-space: normal; text-overflow: clip; overflow-wrap: anywhere; }
.dashboard-kpis { grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr)); }
.dashboard-kpis strong { font-size: clamp(1.25rem, 2.1vw, 1.75rem); line-height: 1.15; overflow-wrap: anywhere; }
.dashboard-document-list a { align-items: flex-start; }
.dashboard-document-list strong,
.dashboard-document-list small,
.dashboard-document-list code,
.dashboard-activity-list strong,
.dashboard-activity-list small,
.dashboard-stock-panel strong,
.dashboard-stock-panel small { white-space: normal; overflow-wrap: anywhere; }
.dashboard-document-list a > b { flex: 0 0 auto; max-width: 45%; text-align: right; overflow-wrap: anywhere; }
.dashboard-panel .empty-state { min-height: 110px; display: grid; place-items: center; padding: 24px; }

.sales-form-feedback { grid-column: 1 / -1; margin-bottom: 12px; padding: 13px 15px; border-left: 4px solid var(--red); border-radius: 5px; background: #fff0f1; color: #9f2d3a; font-weight: 700; }
.inline-feedback { min-height: 0; padding: 0 18px; color: var(--muted); font-size: .75rem; }
.inline-feedback:not(:empty) { padding-top: 10px; padding-bottom: 10px; border-bottom: 1px solid var(--line); }
.inline-feedback.is-loading { color: var(--blue); }
.inline-feedback.is-success { color: var(--green); }
.inline-feedback.is-error { color: var(--red); background: #fff5f6; }
.sales-editor-main,
.sales-line,
.sales-line-identity,
.sales-line-identity > div { min-width: 0; }
.sales-line-identity input,
.sales-line-identity textarea { overflow-wrap: anywhere; }
.sales-line-total { overflow-wrap: anywhere; text-align: right; }
.sales-totals { align-self: start; }
.sales-document-hero > div,
.sales-document-hero dl,
.sales-document-layout > *,
.detail-grid > * { min-width: 0; }
.sales-document-hero h2,
.sales-document-hero p,
.sales-document-hero dd { overflow-wrap: anywhere; }
.page-heading > .action-row { flex-wrap: wrap; justify-content: flex-end; }
.page-heading > .action-row form { margin: 0; }
.sales-document-layout td:first-child { min-width: 210px; }
.sales-document-layout td strong,
.sales-document-layout td small { white-space: normal; overflow-wrap: anywhere; }

.external-approval-card{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:16px 0;padding:18px 20px;border:1px solid #a8d5bd;border-radius:11px;background:#f3fbf6}.external-approval-card>div{display:flex;align-items:flex-start;gap:13px;min-width:0}.external-approval-card>div>span{display:grid;place-items:center;width:38px;height:38px;flex:none;border-radius:10px;background:#188451;color:#fff;font-weight:900}.external-approval-card h2,.external-approval-card p{margin:2px 0}.external-approval-card small{color:#587064}.external-approval-dialog{width:min(650px,calc(100vw - 28px));max-height:calc(100dvh - 32px);padding:0;overflow:hidden}.external-approval-dialog>form{display:flex;flex-direction:column;max-height:inherit}.external-approval-dialog header,.external-approval-dialog footer{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:17px 19px;border-bottom:1px solid var(--line);background:#fff}.external-approval-dialog header h2,.external-approval-dialog header p{margin:0}.external-approval-dialog header small{display:block;margin-top:4px;color:var(--muted)}.external-approval-body{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:stretch;padding:18px;overflow-y:auto;background:#f7f9fc}.approval-upload{display:grid;align-content:center;gap:5px;min-width:0;padding:18px;border:1px dashed #9cacca;border-radius:10px;background:#fff}.approval-upload small{color:var(--muted)}.approval-upload input{max-width:100%;margin-top:9px}.approval-or{align-self:center;color:var(--muted);font-size:11px}.external-approval-body>.field,.external-approval-body>.info-banner{grid-column:1/-1}.external-approval-dialog footer{justify-content:flex-end;border-top:1px solid var(--line);border-bottom:0}.info-banner{padding:11px 13px;border-radius:8px;background:#edf2ff;color:#4d5f82}
@media(max-width:650px){.external-approval-card{align-items:stretch;flex-direction:column}.external-approval-dialog{inset:auto 0 0;width:100%;max-height:calc(100dvh - 12px);margin:auto 0 0;border-radius:14px 14px 0 0}.external-approval-body{grid-template-columns:1fr}.approval-or{text-align:center}.external-approval-body>.field,.external-approval-body>.info-banner{grid-column:auto}.external-approval-dialog footer>*{flex:1}}
/* Gonderim penceresi.
   Konumlandirma sinifa baglandi, siraya DEGIL: eski kurallar
   `form:last-child` diyordu ve pencereye yeni bir form eklenince (yalniz
   isaretleme) tam genislik yanlis karta gecti - harici gonderim formu dar
   sutunda sikisti, editor kullanilmaz hale geldi.
   Secici `dialog.send-document-dialog`: panel-ux.css butun dialoglara
   `max-width:680px` veriyor ve daha sonra yukleniyor; tek sinifla yazilan
   genislik sessizce eziliyordu. Bu pencere editor tasidigi icin gercekten
   daha genis olmali. */
dialog.send-document-dialog{width:min(920px,calc(100vw - 28px));max-width:min(920px,calc(100vw - 28px));max-height:calc(100dvh - 32px);padding:0;overflow:hidden}
/* ACIKKEN sutun akis: baslik sabit kalir, kanal listesi kalan alani alir
   ve KENDI ICINDE kayar. Onceden liste yuksekligi icerige gore buyuyor,
   pencerenin `overflow:hidden` siniri onu kirpiyordu: en alttaki
   "sadece isaretle" dugmesine kaydirarak bile ulasilamiyordu.
   `[open]` sart - kosulsuz `display:flex` kapali pencereyi gorunur yapar. */
dialog.send-document-dialog[open]{display:flex;flex-direction:column}.send-document-dialog>header{flex:0 0 auto}.send-document-options{flex:1 1 auto;min-height:0}.send-document-dialog>header{display:flex;justify-content:space-between;gap:16px;padding:12px 20px;border-bottom:1px solid var(--line)}.send-document-dialog>header h2,.send-document-dialog>header p{margin:0}.send-document-dialog>header small{display:block;margin-top:3px;color:var(--muted)}.send-document-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px;overflow-y:auto;background:#f7f9fc}
/* Her kart: ikon | baslik | ana eylem. Eylem BASLIGIN yaninda duruyor;
   kartin altinda kalinca pencere kaydirilmadan gorunmuyordu. */
/* Secici pencere sinifiyla NITELENDI. Kartlarin ikisi <form>; `.quick-dialog
   form` kurali (0,1,1) sade `.send-channel` (0,1,0) kuralini yeniyordu ve o
   iki kart 22px ic bosluk + 18px aralikla duruyordu - yani buradaki
   degerler yillardir yalnizca WhatsApp kartina isliyordu. Olculdu. */
.send-document-dialog .send-channel{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:7px 10px;align-content:start;align-items:center;padding:9px 12px;border:1px solid #dce2ee;border-radius:12px;background:#fff}.send-channel--external{grid-column:1/-1}
/* Yeniden gonderim penceresi TEK KOLON ve daha dar. Taslak penceresinde uc
   kanal yan yana duruyor; burada iki kanal var ve ustlerinde bir aciklama
   kutusu duruyor - iki kolonda aciklama kanallardan biri gibi gorunuyordu. */
.send-document-dialog--resend{width:min(660px,calc(100vw - 28px));max-width:min(660px,calc(100vw - 28px))}
.send-document-dialog--resend .send-document-options{grid-template-columns:1fr}
.send-document-dialog--resend .alert{margin:0}.send-channel-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#edf2ff;color:#315efb;font-size:18px;font-weight:900}.send-channel>div{min-width:0}.send-channel strong,.send-channel small{display:block}.send-channel strong{font-size:.94rem}.send-channel small{margin-top:1px;color:var(--muted);font-size:.74rem;line-height:1.4}.send-channel-cta{justify-self:end;white-space:nowrap}
/* Baslik satirinin altina dusen her sey tam genislik. */
.send-channel>.field,.send-channel>p,.send-channel>.send-external-head,.send-channel section>form{grid-column:1/-1}.send-channel .field{margin:0}.send-channel--whatsapp>form{display:none}
/* Panele gonderim adres SORMAZ; nereye gidecegi yazili durur. */
.send-channel-target{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;margin:0;padding:6px 9px;border-radius:8px;background:#f4f7fd;font-size:.8rem}.send-channel-target span{color:var(--muted);font-size:.72rem;font-weight:700}.send-channel-target strong{overflow-wrap:anywhere;font-size:.8rem}.send-channel-warning{margin:0;padding:9px 11px;border-radius:8px;background:#fff4e4;color:#8a5a12;font-size:.78rem;line-height:1.5}
/* Alici ve konu yan yana; ikisi de kisa alanlar. */
.send-external-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:9px}
/* CC: chip'ler ve yazma kutusu TEK bir alan gibi gorunur. Chip'ler kendi
   gizli girdilerini tasidigi icin gorunum ile gonderilen veri ayni sey;
   ekranda duran her chip gonderilir, durmayan gonderilmez.
   `.cc-chips{display:contents}` sarmalayiciyi duzenden cikarir: chip'ler
   ve girdi ayni flex satirini paylasir, yani bir adres eklenince alan bir
   satir buyur - iki ayri kutu alt alta durmaz. */
.cc-field{display:block;margin:0}.cc-field>span{display:block;margin-bottom:4px;color:var(--muted);font-size:.78rem;font-weight:600}.cc-box{display:flex;flex-wrap:wrap;align-items:center;gap:5px;min-height:38px;padding:5px 7px;border:1px solid var(--line);border-radius:9px;background:#fff}.cc-box:focus-within{border-color:#315efb;box-shadow:0 0 0 3px rgba(49,94,251,.14)}.cc-chips{display:contents}.cc-chip{display:inline-flex;align-items:center;gap:5px;max-width:100%;padding:3px 5px 3px 9px;border-radius:999px;background:#edf2ff;color:#26365f;font-size:.78rem;line-height:1.5;overflow-wrap:anywhere}.cc-chip button{display:grid;place-items:center;width:17px;height:17px;padding:0;border:0;border-radius:50%;background:#d3ddfb;color:#26365f;font-size:13px;line-height:1;cursor:pointer}.cc-chip button:hover{background:#c0cef8}.cc-input{flex:1 1 120px;min-width:110px;padding:3px 2px;border:0;background:transparent;font:inherit;font-size:.82rem}.cc-input:focus{outline:none}.cc-hint{display:block;margin-top:4px;color:var(--muted);font-size:.74rem;line-height:1.45}.cc-field--stacked{margin-top:12px}
.send-external-body .note-editor{margin-bottom:0}
/* Yazma alani DIKEY ALANA UYUM SAGLAR. Summernote yuksekligi JS'te sabit
   veriliyor; kisa ekranlarda o sabit yukseklik pencereyi tasirip alttaki
   "sadece isaretle" dugmesini gorunmez yapiyordu. `max-height` satir ici
   yuksekligi kirpiyor, genis ekranda ise devreye girmiyor. */
.send-external-body .note-editable{max-height:min(182px,26vh)}.send-external-note{margin:0;color:var(--muted);font-size:.76rem;line-height:1.5}.send-document-footer{flex:0 0 auto;padding:9px 12px;border-top:1px solid var(--line);background:#fff}/* Altligin formu ayni kuraldan 22px ic bosluk + 18px aralik aliyordu:
   icindeki dugme 44px iken altlik 107px yer kapliyordu. Ic bosluk
   altligin kendisinde zaten var. */
.send-document-dialog .send-external-mark{margin:0;padding:0;gap:0}.send-external-mark button{width:100%;color:var(--muted);font-weight:600}@media(max-width:820px){.send-document-options{grid-template-columns:1fr}.send-external-head{grid-template-columns:1fr}}@media(max-width:650px){.send-document-dialog{inset:auto 0 0;width:100%;max-height:calc(100dvh - 12px);margin:auto 0 0;border-radius:14px 14px 0 0}.send-document-options{padding:10px;gap:8px}
/* panel-ux.css mobilde `dialog form`a `max-height:inherit;overflow-y:auto`
   veriyor - tek formlu pencereler icin dogru, ama burada her kanal ayri bir
   form ve kartlar kendi icinde kayan, dugmesi kirpilmis kutulara donuyordu. */
.send-document-dialog .send-channel{max-height:none;overflow:visible;padding:12px;grid-template-columns:34px minmax(0,1fr)}.send-channel-icon{width:34px;height:34px;font-size:16px}
/* Dar ekranda eylem basligin yanina sigmaz; kendi satirinda tam genislik. */
.send-channel-cta{grid-column:1/-1;justify-self:stretch;width:100%;white-space:normal}.send-external-mark button{white-space:normal;line-height:1.4;padding-block:10px}}

.template-manager { display: grid; grid-template-columns: minmax(245px, .65fr) minmax(0, 1.7fr); align-items: start; gap: 16px; }
.template-library,
.template-editor { min-width: 0; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.template-library { position: sticky; top: 98px; overflow: hidden; }
.template-library > header,
.template-editor__header,
.template-assets-editor > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 18px; border-bottom: 1px solid var(--line); }
.template-library > header strong,
.template-library > header small { display: block; }
.template-library > header small { margin-top: 3px; color: var(--muted); font-size: .7rem; }
.template-library__list { display: grid; max-height: calc(100vh - 220px); overflow-y: auto; padding: 7px; }
.template-library__list > a { display: grid; grid-template-columns: 9px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 13px 10px; border-radius: 6px; color: var(--ink); }
.template-library__list > a:hover,
.template-library__list > a.active { background: #f0f4ff; }
.template-library__list > a.active { box-shadow: inset 3px 0 var(--blue); }
.template-library__list strong,
.template-library__list small,
.template-library__list em { display: block; min-width: 0; overflow-wrap: anywhere; }
.template-library__list small,
.template-library__list em { margin-top: 3px; color: var(--muted); font-size: .64rem; font-style: normal; }
.template-color { width: 9px; height: 38px; border-radius: 5px; background: var(--template-color); }
.template-editor__header h2,
.template-editor__header p,
.template-assets-editor h3,
.template-assets-editor p { margin: 0; }
.template-editor__header p,
.template-assets-editor p { margin-top: 4px; color: var(--muted); font-size: .74rem; }
.template-editor__form { padding: 18px; }
.template-editor__form fieldset { margin-bottom: 18px; }
.template-editor__options { display: flex; flex-wrap: wrap; gap: 18px; }
.color-field { display: grid; grid-template-columns: 72px 1fr; align-items: center; gap: 10px; }
.color-field input { height: 42px; padding: 4px; }
.color-field small { color: var(--muted); font-weight: 500; }
.template-assets-editor { border-top: 8px solid var(--paper); }
.template-upload--focused { display: grid; grid-template-columns: minmax(150px, .6fr) minmax(220px, 1.4fr) auto; align-items: end; gap: 10px; padding: 18px; }
.asset-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; padding: 0 18px 18px; }
.asset-summary article { min-width: 0; padding: 12px; border: 1px solid var(--line); border-radius: 6px; background: var(--paper); }
.asset-summary span,
.asset-summary strong { display: block; overflow-wrap: anywhere; }
.asset-summary span { color: var(--muted); font-size: .67rem; }
.asset-summary strong { margin-top: 4px; font-size: .78rem; }
.template-page-group { margin: 0 18px 16px; border: 1px solid var(--line); border-radius: 6px; overflow: hidden; }
.template-page-group h4 { margin: 0; padding: 11px 13px; background: var(--paper); }
.template-page-row { display: grid; grid-template-columns: 30px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 11px 13px; border-top: 1px solid var(--line); }
.template-page-row strong,
.template-page-row small { display: block; overflow-wrap: anywhere; }
.template-page-row small { margin-top: 3px; color: var(--muted); }
.page-order { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 50%; background: #e9efff; color: var(--blue); font-weight: 800; }
.asset-empty { margin: 0; padding: 16px; color: var(--muted); }
.button:disabled { cursor: not-allowed; opacity: .45; box-shadow: none; }

@media (max-width: 1180px) {
    .template-manager { grid-template-columns: 1fr; }
    .template-library { position: static; }
    .template-library__list { grid-template-columns: repeat(2, minmax(0, 1fr)); max-height: none; }
}
@media (max-width: 760px) {
    .dashboard-document-list a { align-items: stretch; flex-direction: column; }
    .dashboard-document-list a > b { max-width: none; text-align: left; }
    .page-heading > .action-row,
    .page-heading > .action-row > * { width: 100%; }
    .sales-line-head { display: none; }
    .sales-line { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .sales-line-identity { grid-column: 1 / -1; }
    .sales-line-total { align-self: center; text-align: left; }
    .template-library__list,
    .asset-summary { grid-template-columns: 1fr; }
    .template-upload--focused { grid-template-columns: 1fr; }
    .template-page-row { grid-template-columns: 30px minmax(0, 1fr); }
    .template-page-row .action-row { grid-column: 2; justify-content: flex-start; flex-wrap: wrap; }
}

/* Customer Excel import wizard */
.import-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin: 0 0 16px; padding: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 8px; background: var(--line); list-style: none; }
.import-steps li { display: flex; align-items: center; gap: 10px; min-width: 0; padding: 13px 16px; background: #fff; color: var(--muted); }
.import-steps li > span { display: grid; flex: 0 0 auto; width: 30px; height: 30px; place-items: center; border-radius: 50%; background: #edf0f5; font-weight: 800; }
.import-steps strong,.import-steps small { display: block; }
.import-steps small { margin-top: 2px; font-size: .64rem; }
.import-steps .is-current { color: var(--ink); box-shadow: inset 0 -3px var(--blue); }
.import-steps .is-current > span { background: var(--blue); color: #fff; }
.import-steps .is-complete > span { background: #e8f8f0; color: var(--green); }
.import-upload-layout { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr); align-items: start; gap: 16px; }
.import-upload-card,.import-guide,.import-review,.import-result-card { border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.import-upload-card > header,.import-review > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; padding: 18px 20px; border-bottom: 1px solid var(--line); }
.import-upload-card > header { justify-content: flex-start; }
.import-upload-card > header > span { display: grid; flex: 0 0 auto; width: 38px; height: 38px; place-items: center; border-radius: 8px; background: var(--ink); color: #fff; font-weight: 900; }
.import-upload-card h2,.import-upload-card p,.import-review h2,.import-review p,.import-guide h2,.import-result-card h2,.import-result-card p { margin: 0; }
.import-upload-card p,.import-review header p,.import-result-card > div > p:last-child { margin-top: 4px; color: var(--muted); }
.import-upload-card form { display: grid; gap: 14px; padding: 20px; }
.import-dropzone { display: grid; min-height: 250px; place-content: center; justify-items: center; padding: 28px; border: 2px dashed #aab6d0; border-radius: 8px; background: #fafbfe; text-align: center; cursor: pointer; }
.import-dropzone:hover { border-color: var(--blue); background: #f4f7ff; }
.import-dropzone__icon { display: grid; width: 52px; height: 52px; margin-bottom: 12px; place-items: center; border-radius: 50%; background: #e9efff; color: var(--blue); font-size: 1.45rem; font-weight: 900; }
.import-dropzone small { margin: 5px 0 18px; color: var(--muted); }
.import-dropzone input { max-width: 100%; }
.import-guide { padding: 20px; }
.import-guide dl { display: grid; gap: 12px; margin: 18px 0; }
.import-guide dl div { padding-bottom: 12px; border-bottom: 1px solid var(--line); }
.import-guide dt,.import-guide dd { margin: 0; }
.import-guide dt { color: var(--muted); font-size: .68rem; font-weight: 700; }
.import-guide dd { margin-top: 4px; line-height: 1.45; }
.import-review > header > div { min-width: 0; }
.import-review > header h2 { overflow-wrap: anywhere; }
.import-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; padding: 16px 20px; }
.import-summary article { padding: 13px 14px; border: 1px solid var(--line); border-top: 3px solid var(--ink); border-radius: 6px; }
.import-summary article.is-new { border-top-color: var(--green); }
.import-summary article.is-update { border-top-color: var(--blue); }
.import-summary article.is-invalid { border-top-color: var(--red); }
.import-summary span,.import-summary strong { display: block; }
.import-summary span { color: var(--muted); font-size: .68rem; }
.import-summary strong { margin-top: 5px; font-size: 1.3rem; }
.import-table-wrap { max-height: min(560px, 65vh); margin: 0 20px; border: 1px solid var(--line); }
.import-table { min-width: 1040px; }
.import-table thead { position: sticky; top: 0; z-index: 2; background: #f7f8fb; }
.import-table td { vertical-align: top; }
.import-table td strong,.import-table td small,.import-table td span { display: block; }
.import-table td small { margin-top: 3px; color: var(--muted); }
.import-row--invalid { background: #fff8f8; }
.import-errors { margin: 0; padding-left: 16px; color: var(--red); }
.import-valid { color: var(--green); font-weight: 700; }
.import-confirm { padding: 20px; }
.import-confirm fieldset { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0 0 14px; padding: 0; border: 0; }
.import-confirm legend { grid-column: 1 / -1; margin-bottom: 8px; font-weight: 800; }
.import-confirm label { position: relative; cursor: pointer; }
.import-confirm label > input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.import-confirm label > span { display: block; min-height: 100%; padding: 15px; border: 1px solid var(--line); border-radius: 7px; }
.import-confirm label strong,.import-confirm label small { display: block; }
.import-confirm label small { margin-top: 5px; color: var(--muted); line-height: 1.4; }
.import-confirm label > input:checked + span { border-color: var(--blue); background: #f2f5ff; box-shadow: inset 0 0 0 1px rgba(49,94,251,.15); }
.import-confirm label > input:focus-visible + span { outline: 3px solid rgba(49,94,251,.2); outline-offset: 2px; }
.import-confirm__footer { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding-top: 16px; }
.import-confirm__footer p { margin: 0; }
.import-result-card { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 18px; padding: 24px; }
.import-result-card__icon { display: grid; width: 62px; height: 62px; place-items: center; border-radius: 50%; background: #e8f8f0; color: var(--green); font-size: 1.6rem; font-weight: 900; }
.import-result-card dl { display: grid; grid-column: 1 / -1; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; border: 1px solid var(--line); border-radius: 7px; }
.import-result-card dl div { padding: 14px; border-right: 1px solid var(--line); }
.import-result-card dl div:last-child { border-right: 0; }
.import-result-card dt,.import-result-card dd { margin: 0; }
.import-result-card dt { color: var(--muted); font-size: .68rem; }
.import-result-card dd { margin-top: 4px; font-size: 1.25rem; font-weight: 800; }
.import-result-card > .action-row { grid-column: 1 / -1; justify-content: flex-end; }

@media (max-width: 900px) {
    .import-upload-layout { grid-template-columns: 1fr; }
    .import-confirm fieldset { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
    .import-steps li { padding: 10px; }
    .import-steps small { display: none; }
    .import-summary,.import-result-card dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .import-review > header,.import-confirm__footer { align-items: stretch; flex-direction: column; }
    .import-review > header > a,.import-confirm__footer button { width: 100%; }
    .import-result-card { grid-template-columns: 1fr; justify-items: center; text-align: center; }
    .import-result-card dl,.import-result-card > .action-row { grid-column: 1; width: 100%; }
}

/* Calendar interaction and quick activity dialog */
.activity-dialog { width: min(760px, calc(100vw - 28px)); max-height: min(860px, calc(100dvh - 34px)); overflow: hidden; border: 0; border-radius: 12px; box-shadow: 0 24px 70px rgba(12, 22, 48, .28); }
.activity-dialog::backdrop { background: rgba(12, 20, 43, .62); backdrop-filter: blur(2px); }
.activity-dialog > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 19px 22px; border-bottom: 1px solid var(--line); }
.activity-dialog > header h2,.activity-dialog > header p { margin: 0; }
.activity-dialog > header small { display: block; margin-top: 4px; color: var(--muted); }
.crm-quick-form { display: block; max-height: calc(100dvh - 142px); overflow-y: auto; padding: 0; background: #f5f7fb; }
.crm-quick-form__section { margin: 12px; overflow: hidden; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.crm-quick-form__section > header { display: flex; align-items: center; gap: 10px; padding: 12px 15px; border-bottom: 1px solid var(--line); background: #fafbfe; }
.crm-quick-form__section > header > span { display: grid; flex: 0 0 auto; width: 30px; height: 30px; place-items: center; border-radius: 7px; background: var(--navy); color: #fff; font-size: .68rem; font-weight: 900; }
.crm-quick-form__section > header strong,.crm-quick-form__section > header small { display: block; }
.crm-quick-form__section > header small { margin-top: 2px; color: var(--muted); font-size: .65rem; }
.crm-quick-form__body { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 15px; }
.crm-quick-form__body > * { min-width: 0; }
.crm-quick-form__body > .customer-picker { grid-column: 1 / -1; }
.crm-quick-form__footer { position: sticky; z-index: 3; bottom: 0; display: flex; justify-content: flex-end; gap: 9px; padding: 13px 16px; border-top: 1px solid var(--line); background: rgba(255,255,255,.96); backdrop-filter: blur(6px); }
.calendar-event[draggable="true"] { cursor: grab; }
.calendar-event[draggable="true"]::after { align-self: center; grid-column: 3; grid-row: 1 / 3; color: var(--muted); content: "⋮⋮"; opacity: 0; }
.calendar-event[draggable="true"]:hover::after { opacity: .7; }
.calendar-event.is-dragging { cursor: grabbing; opacity: .38; }
.calendar-day.is-drop-target { position: relative; background: #eef3ff; box-shadow: inset 0 0 0 2px var(--blue); }
.calendar-day.is-drop-target::after { position: absolute; inset: 34px 7px 7px; display: grid; place-items: center; border: 1px dashed var(--blue); border-radius: 5px; background: rgba(238,243,255,.88); color: var(--blue); content: "Bu güne taşı"; font-size: .66rem; font-weight: 800; pointer-events: none; }
.calendar-context-menu { position: fixed; inset: var(--context-y) auto auto var(--context-x); width: 238px; margin: 0; padding: 6px; border: 1px solid var(--line); border-radius: 9px; background: #fff; box-shadow: 0 14px 42px rgba(12,22,48,.22); }
.calendar-context-menu button { display: grid; grid-template-columns: 34px minmax(0, 1fr); align-items: center; gap: 9px; width: 100%; padding: 10px; border: 0; border-radius: 6px; background: transparent; color: var(--ink); text-align: left; cursor: pointer; }
.calendar-context-menu button:hover { background: #f1f5ff; }
.calendar-context-menu button > span { display: grid; grid-row: 1 / 3; width: 32px; height: 32px; place-items: center; border-radius: 50%; background: #e9efff; color: var(--blue); font-size: 1.1rem; }
.calendar-context-menu strong,.calendar-context-menu small { display: block; min-width: 0; }
.calendar-context-menu small { margin-top: 2px; overflow: hidden; color: var(--muted); font-size: .62rem; text-overflow: ellipsis; white-space: nowrap; }
.calendar-move-status { position: fixed; z-index: 1000; right: 20px; bottom: 20px; display: none; max-width: min(360px, calc(100vw - 32px)); padding: 12px 15px; border-radius: 7px; background: var(--navy); color: #fff; box-shadow: 0 10px 35px rgba(12,22,48,.24); }
.calendar-move-status.is-visible { display: block; }
.calendar-move-status.is-success { background: var(--green); }
.calendar-move-status.is-error { background: var(--red); }
.danger-zone > form { display: flex; align-items: end; flex-wrap: wrap; gap: 10px; }
.danger-zone > form .field { min-width: min(100%, 300px); }

@media (max-width: 680px) {
    .activity-dialog { inset: auto 0 0; width: 100%; max-height: calc(100dvh - 16px); margin: auto 0 0; border-radius: 14px 14px 0 0; }
    .crm-quick-form { max-height: calc(100dvh - 130px); }
    .crm-quick-form__body { grid-template-columns: 1fr; }
    .crm-quick-form__footer > button { flex: 1; }
    .calendar-event[draggable="true"] { cursor: pointer; }
}

/* Dashboard information hierarchy and overflow safety */
.dashboard-analytics,
.dashboard-operations { align-items: stretch; }
.dashboard-analytics { grid-template-columns: minmax(0, 2fr) minmax(280px, .86fr); }
.dashboard-chart,
.dashboard-funnel,
.dashboard-panel { min-width: 0; overflow: hidden; border-radius: 8px; box-shadow: 0 1px 2px rgba(12, 25, 54, .03); }
.dashboard-chart > header,
.dashboard-funnel > header,
.dashboard-panel > header { min-height: 74px; align-items: flex-start; }
.dashboard-chart > header > div,
.dashboard-funnel > header > div,
.dashboard-panel > header > div { min-width: 0; }
.dashboard-chart h2,
.dashboard-funnel h2,
.dashboard-panel h2 { font-size: clamp(1.05rem, 1.55vw, 1.35rem); line-height: 1.2; overflow-wrap: break-word; }
.dashboard-chart header a,
.dashboard-panel header a { flex: 0 0 auto; padding-top: 3px; }
.bar-chart { height: 236px; padding: 20px 18px 14px; }
.bar-chart__value { display: flex; align-items: baseline; justify-content: center; gap: 3px; min-width: 0; overflow: visible; font-variant-numeric: tabular-nums; }
.bar-chart__value b { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.bar-chart__value small { flex: 0 0 auto; color: var(--muted); font-size: .52rem; font-weight: 700; }
.dashboard-funnel > a { padding: 9px 16px; }
.dashboard-operations { grid-template-columns: minmax(310px, 1.08fr) repeat(2, minmax(260px, 1fr)); }
.dashboard-panel > .dashboard-document-list,
.dashboard-panel > .dashboard-activity-list,
.dashboard-panel > .dashboard-stock-list { min-height: 218px; padding: 0 16px; }
.dashboard-panel > .dashboard-document-list a,
.dashboard-panel > .dashboard-activity-list a,
.dashboard-panel > .dashboard-stock-list > a { min-width: 0; padding: 12px 0; }
.dashboard-document-list a > span,
.dashboard-activity-list a > span,
.dashboard-stock-list > a > span { min-width: 0; }
.dashboard-document-list strong,
.dashboard-document-list small,
.dashboard-document-list code,
.dashboard-activity-list strong,
.dashboard-activity-list small,
.dashboard-stock-list strong,
.dashboard-stock-list small { overflow-wrap: break-word; word-break: normal; }
.dashboard-document-list code { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-document-list a > .dashboard-amount { display: grid; justify-items: end; align-content: center; max-width: none; padding-left: 12px; white-space: nowrap; overflow-wrap: normal; word-break: normal; font-variant-numeric: tabular-nums; }
.dashboard-amount span { font-size: .82rem; line-height: 1.1; }
.dashboard-amount small { margin-top: 3px; color: var(--muted); font-size: .58rem; letter-spacing: .06em; }
.dashboard-stock-list > a { display: flex; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--line); color: var(--ink); }
.dashboard-stock-list > a strong,
.dashboard-stock-list > a small { display: block; }
.dashboard-stock-list > a small { margin-top: 3px; color: var(--muted); }
.dashboard-stock-list > a > b { flex: 0 0 auto; color: var(--amber); white-space: nowrap; font-variant-numeric: tabular-nums; }
.dashboard-stock-list > a > b.has-danger { color: var(--red); }
.dashboard-empty { display: grid; min-height: 218px; place-content: center; justify-items: center; padding: 24px; text-align: center; }
.dashboard-empty::before { content: "✓"; display: grid; width: 34px; height: 34px; margin-bottom: 9px; place-items: center; border-radius: 50%; background: #eaf8f1; color: var(--green); font-weight: 900; }
.dashboard-empty strong,
.dashboard-empty small { display: block; }
.dashboard-empty small { max-width: 230px; margin-top: 4px; color: var(--muted); line-height: 1.4; }
.dashboard-priorities { margin-bottom: 14px; overflow: hidden; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.dashboard-priorities > header { padding: 16px 18px; border-bottom: 1px solid var(--line); }
.dashboard-priorities h2,
.dashboard-priorities p { margin: 0; }
.dashboard-priorities > header > div > p:last-child { margin-top: 4px; color: var(--muted); font-size: .7rem; }
.dashboard-priorities > div { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.dashboard-priorities a { display: grid; min-width: 0; padding: 16px 18px; border-right: 1px solid var(--line); color: var(--ink); }
.dashboard-priorities a:last-child { border-right: 0; }
.dashboard-priorities a:hover { background: #f7f9ff; }
.dashboard-priorities span,
.dashboard-priorities strong,
.dashboard-priorities small { min-width: 0; overflow-wrap: break-word; }
.dashboard-priorities span { color: var(--muted); font-size: .7rem; font-weight: 700; }
.dashboard-priorities strong { margin: 6px 0; font-size: 1.45rem; font-variant-numeric: tabular-nums; }
.dashboard-priorities small { color: var(--blue); font-size: .66rem; }

@media (max-width: 1100px) {
    .dashboard-analytics { grid-template-columns: 1fr; }
    .dashboard-operations { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .dashboard-priorities > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .dashboard-priorities a:nth-child(2) { border-right: 0; }
    .dashboard-priorities a:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
}

@media (max-width: 680px) {
    .dashboard-operations,
    .dashboard-priorities > div { grid-template-columns: 1fr; }
    .dashboard-priorities a { border-right: 0; border-bottom: 1px solid var(--line); }
    .dashboard-priorities a:last-child { border-bottom: 0; }
    .bar-chart { gap: 5px; padding-right: 9px; padding-left: 9px; }
    .bar-chart__value { display: grid; gap: 0; }
    .dashboard-document-list a { align-items: center; flex-direction: row; }
    .dashboard-document-list a > .dashboard-amount { text-align: right; }
}

/* Document workflow and entity picker refinements */
.source-mode-picker { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 4px 0 8px; padding: 0; border: 0; }
.source-mode-picker legend { grid-column: 1 / -1; margin: 0 0 4px; font-size: .82rem; }
.source-mode-picker label { position: relative; cursor: pointer; }
.source-mode-picker input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.source-mode-picker label > span { display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 3px 10px; min-height: 100%; padding: 14px; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.source-mode-picker label > span > b { display: grid; grid-row: 1 / 3; width: 36px; height: 36px; place-items: center; border-radius: 7px; background: #edf1fb; color: var(--blue); font-size: 1.1rem; }
.source-mode-picker small { color: var(--muted); font-weight: 500; line-height: 1.35; }
.source-mode-picker input:checked + span { border-color: #8da7ff; background: #f2f5ff; box-shadow: inset 0 0 0 1px rgba(49,94,251,.15); }
.source-mode-picker input:focus-visible + span { outline: 3px solid rgba(49,94,251,.2); outline-offset: 2px; }
.source-file-panel { display: grid; grid-template-columns: minmax(0, 1fr) minmax(180px, .45fr); align-items: end; gap: 12px; padding: 14px; border: 1px dashed #aeb9d1; border-radius: 8px; background: #fafbfe; }
.source-file-help strong,.source-file-help small { display: block; }
.source-file-help small { margin: 3px 0 8px; color: var(--muted); }
[data-source-section][hidden] { display: none !important; }
.document-form-feedback { grid-column: 1 / -1; padding: 13px 15px; border-left: 4px solid var(--red); background: #fff0f1; color: #9f2d3a; font-weight: 700; }
.dynamic-field-source { color: var(--blue) !important; }
.note-toolbar button[aria-label] { min-width: 34px; }
.note-toolbar button:focus-visible { outline: 2px solid var(--blue); outline-offset: 1px; }

.quick-dialog.entity-picker-dialog,
.quick-dialog.product-picker { inset: 0; width: min(680px, calc(100vw - 32px)); max-width: none; max-height: min(720px, calc(100dvh - 48px)); margin: auto; overflow: hidden; }
.quick-dialog.entity-picker-dialog > header,
.quick-dialog.product-picker > header { padding: 18px 20px 14px; border-bottom: 1px solid var(--line); }
.quick-dialog.entity-picker-dialog > header small,
.quick-dialog.product-picker > header small { display: block; margin-top: 4px; color: var(--muted); }
.customer-picker__search,
.product-picker > input[type="search"] { position: sticky; top: 0; z-index: 2; margin: 14px 16px 10px; width: calc(100% - 32px); background: #fff; }
.customer-picker__options,
.product-option-list { max-height: min(460px, calc(100dvh - 220px)); overflow-y: auto; overscroll-behavior: contain; padding-bottom: 10px; }
.customer-picker__options button,
.product-option-list button { min-width: 0; }
.customer-picker__options button strong,
.customer-picker__options button small,
.product-option-list button strong,
.product-option-list button small { overflow-wrap: anywhere; }
.picker-empty { margin: 10px 16px 16px; }
.text-button { padding: 0; border: 0; background: transparent; color: var(--blue); cursor: pointer; font-weight: 800; }

.dashboard-document-list a > b { max-width: none; white-space: nowrap; overflow-wrap: normal; word-break: normal; font-variant-numeric: tabular-nums; }
.dashboard-operations { align-items: stretch; }
.dashboard-panel { height: 100%; }
.dashboard-panel .empty-state { min-height: 132px; }

@media (max-width: 760px) {
    .source-mode-picker { grid-template-columns: 1fr; }
    .source-file-panel { grid-template-columns: 1fr; }
    .quick-dialog.entity-picker-dialog,
    .quick-dialog.product-picker { inset: auto 0 0; width: 100%; max-height: calc(100dvh - 24px); margin: auto 0 0; border-radius: 14px 14px 0 0; }
    .customer-picker__options,
    .product-option-list { max-height: calc(100dvh - 205px); }
}
/* License management */
.license-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.license-kpis article{background:#fff;border:1px solid var(--line,#dce2ee);padding:18px;display:flex;justify-content:space-between;align-items:center}.license-kpis span{color:#526078;font-size:13px}.license-kpis strong{font-size:28px;font-variant-numeric:tabular-nums}.license-kpis .is-warning{border-left:4px solid #e5a321}.license-kpis .is-danger{border-left:4px solid #d94b55}.license-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.license-card{display:block;color:inherit;text-decoration:none;border:1px solid #dce2ee;background:#fff;padding:18px;transition:.15s}.license-card:hover{border-color:#315efb;box-shadow:0 8px 24px #1d315b12}.license-card.is-due{border-left:4px solid #e5a321}.license-card header{display:flex;gap:12px;align-items:center;margin-bottom:16px}.license-card header div{min-width:0}.license-card header strong,.license-card header small{display:block;overflow-wrap:break-word}.license-product-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:10px;background:#edf2ff;color:#315efb;font-size:22px;flex:none}.license-card dl{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0}.license-card dl div{min-width:0}.license-card dt{color:#68758d;font-size:11px;text-transform:uppercase}.license-card dd{margin:3px 0 0;font-weight:700;font-variant-numeric:tabular-nums;overflow-wrap:break-word}.license-wizard{display:grid;gap:16px}.license-wizard>section{background:#fff;border:1px solid #dce2ee;padding:22px}.license-wizard>section>header{display:flex;gap:14px;margin-bottom:20px}.license-wizard>section>header>span{background:#0c1434;color:#fff;border-radius:7px;padding:8px;height:max-content}.license-wizard h2,.license-wizard p{margin:0}.license-wizard output{display:flex;align-items:center;min-height:42px;padding:0 12px;background:#f4f6fa;border:1px dashed #bdc7d8;font-weight:700}.license-key-row{display:grid;grid-template-columns:1fr 2fr auto;gap:8px;margin-bottom:8px}.license-detail-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,.8fr);gap:16px}.license-timeline{display:grid;gap:12px}.license-timeline article{display:flex;gap:14px;border-bottom:1px solid #edf0f5;padding:12px 0}.license-timeline article div,.license-timeline strong,.license-timeline small{display:block}.masked-key,.revealed-keys label{display:flex;justify-content:space-between;gap:12px;padding:12px;background:#f5f7fb;margin:8px 0}.masked-key code{white-space:nowrap}.revealed-keys{border:1px solid #64a879;padding:8px;background:#f2fff5}.revealed-keys output{font-family:monospace;overflow-wrap:anywhere;user-select:all}.license-catalog-list{display:grid;gap:10px}.license-catalog-list article{border:1px solid #dce2ee;padding:15px}.license-catalog-list strong,.license-catalog-list small{display:block}.license-request-dialog{width:min(560px,calc(100vw - 24px))}
@media(max-width:900px){.license-kpis{grid-template-columns:1fr 1fr}.license-detail-grid{grid-template-columns:1fr}}
@media(max-width:600px){.license-kpis{grid-template-columns:1fr}.license-key-row{grid-template-columns:1fr}.license-card dl{grid-template-columns:1fr 1fr}.license-request-dialog{inset:auto 0 0;width:100%;max-height:90vh}}
.calendar-event--license{background:#fff5df!important;border-left-color:#e5a321!important;color:#704b00!important}.calendar-event--license time{font-size:10px;text-transform:uppercase}

/* License management v2 */
.license-page-heading{align-items:flex-end}.license-catalog-toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:14px 18px;margin-bottom:18px;background:#fff;border:1px solid #dce2ee}.license-catalog-toolbar>div{display:flex;gap:14px;align-items:center}.license-catalog-toolbar span{color:#66738a}.license-catalog-toolbar label{display:flex;align-items:center;gap:8px;min-width:min(380px,50%);border:1px solid #d8dfeb;padding:0 12px}.license-catalog-toolbar input{border:0;width:100%}.license-admin-grid,.supplier-admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin-bottom:24px}.license-admin-card,.supplier-admin-card{display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid #dce2ee;padding:20px;box-shadow:0 7px 24px rgba(28,45,78,.045)}.license-admin-card:hover,.supplier-admin-card:hover{border-color:#aebcf8;transform:translateY(-1px)}.license-admin-card.is-archived,.supplier-admin-card.is-archived{opacity:.7;background:#f7f8fb}.license-admin-card header,.supplier-admin-card header{display:flex;align-items:center;gap:12px}.license-admin-card header>div,.supplier-admin-card header>div{min-width:0;flex:1}.license-admin-card header strong,.license-admin-card header small,.supplier-admin-card header strong,.supplier-admin-card header small{display:block;overflow-wrap:break-word}.license-admin-card>p,.supplier-admin-card>p{color:#66738a;min-height:42px}.license-state{font-size:11px;padding:5px 8px;border-radius:20px;background:#edf0f5}.license-state.is-active{background:#e7f8ee;color:#167343}.license-card-meta{display:flex;gap:8px;flex-wrap:wrap}.license-card-meta span,.license-term-chips span{padding:5px 8px;background:#f2f5fa;border-radius:5px;font-size:12px}.license-term-chips{display:flex;gap:6px;flex-wrap:wrap;margin:14px 0}.license-admin-card footer,.supplier-admin-card footer{display:flex;gap:7px;flex-wrap:wrap;margin-top:auto;padding-top:14px;border-top:1px solid #edf0f5}.supplier-admin-card header>span{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:#0c1434;color:#fff;font-size:20px}.supplier-admin-card dl{display:grid;grid-template-columns:1fr 1fr;gap:10px}.supplier-admin-card dt{font-size:11px;color:#778298;text-transform:uppercase}.supplier-admin-card dd{margin:3px 0;overflow-wrap:anywhere}.license-empty{grid-column:1/-1;text-align:center;padding:50px;border:1px dashed #bfc9dc;background:#fff}.license-empty>span{font-size:34px;color:#315efb}.license-dialog{width:min(760px,calc(100vw - 28px));max-height:min(88vh,850px);padding:0;border:0;box-shadow:0 30px 100px #10182e55}.license-dialog::backdrop{background:#10182eb8;backdrop-filter:blur(3px)}.license-dialog>form>header{display:flex;justify-content:space-between;gap:20px;padding:22px 24px;border-bottom:1px solid #e0e5ee}.license-dialog>form>header h2,.license-dialog>form>header p{margin:0}.license-dialog>form>.form-grid,.license-dialog>form>.license-choice-row,.license-dialog>form>.license-term-builder,.license-dialog>form>label{margin:20px 24px}.license-dialog>form>footer{display:flex;justify-content:flex-end;gap:8px;padding:16px 24px;background:#f7f8fb;border-top:1px solid #e0e5ee;position:sticky;bottom:0}.license-choice-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.license-choice-row>label,.license-switch{display:flex;gap:10px;padding:13px;border:1px solid #dce2ee}.license-choice-row strong,.license-choice-row small,.license-switch strong,.license-switch small{display:block}.license-term-builder{border:1px solid #dce2ee;padding:15px}.license-term-builder>div{display:flex;gap:7px;flex-wrap:wrap}.license-term-builder>div label input{position:absolute;opacity:0}.license-term-builder>div label span{display:block;padding:8px 12px;border:1px solid #ced6e4;border-radius:6px;cursor:pointer}.license-term-builder>div label input:checked+span{background:#edf2ff;border-color:#315efb;color:#1945dd}.license-confirm-dialog{width:min(520px,calc(100vw - 28px))}.license-confirm-dialog .danger-icon{display:grid;place-items:center;flex:none;width:42px;height:42px;background:#ffe8ea;color:#bc2331;border-radius:50%;font-weight:800}.license-offers{margin-top:24px}.license-picker-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.license-selected-summary{display:flex;align-items:center;gap:12px;border:1px solid #d8dfeb;padding:13px}.license-selected-summary>span{display:grid;place-items:center;width:42px;height:42px;background:#edf2ff;color:#315efb;border-radius:8px}.license-selected-summary small,.license-selected-summary strong{display:block}.license-create-shell,.license-edit-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;align-items:start}.license-create-main,.license-edit-layout>div{display:grid;gap:15px}.license-step-card{background:#fff;border:1px solid #dce2ee;padding:22px}.license-step-card>header{display:flex;gap:13px;margin-bottom:18px}.license-step-card>header>span{background:#0c1434;color:#fff;padding:7px 9px;border-radius:6px;height:max-content}.license-step-card h2,.license-step-card p{margin:0}.license-date-result{display:flex;flex-direction:column;justify-content:center;padding:10px 13px;background:#f2f6ff;border:1px dashed #9eb1ee}.license-date-result output{font-weight:800;font-size:17px}.license-inline-help{margin:14px 0 0!important;padding:10px;background:#f5f8ff;color:#53627b;font-size:12px}.license-create-summary{position:sticky;top:18px;background:#0c1434;color:#fff;padding:22px}.license-create-summary h2{overflow-wrap:break-word}.license-create-summary dl div{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #ffffff24}.license-create-summary dt{color:#abb6d2}.license-create-summary dd{margin:0;text-align:right;overflow-wrap:anywhere}.license-create-summary>small{display:block;margin-top:12px;color:#aeb9d2}.license-delete-zone{display:grid;grid-template-columns:1fr minmax(300px,.7fr);gap:20px}.license-delete-zone form{display:grid;gap:10px}
@media(max-width:900px){.license-create-shell,.license-edit-layout{grid-template-columns:1fr}.license-create-summary{position:static}.license-picker-grid{grid-template-columns:1fr}.license-delete-zone{grid-template-columns:1fr}}
@media(max-width:620px){.license-catalog-toolbar{align-items:stretch;flex-direction:column}.license-catalog-toolbar label{min-width:0}.license-admin-grid,.supplier-admin-grid{grid-template-columns:1fr}.license-choice-row{grid-template-columns:1fr}.license-dialog{width:100%;max-height:94vh;margin:auto 0 0}.license-dialog>form>.form-grid{grid-template-columns:1fr}.supplier-admin-card dl{grid-template-columns:1fr}}

/* Compact, overflow-safe license dialogs */
.license-dialog{inline-size:min(680px,calc(100dvw - 32px));max-inline-size:680px;max-block-size:calc(100dvh - 40px);margin:auto;border-radius:14px;overflow:hidden;background:#fff}.license-dialog>form{display:block!important;inline-size:100%;max-inline-size:100%;max-block-size:calc(100dvh - 40px);overflow-x:hidden;overflow-y:auto}.license-dialog>form>header{position:sticky;top:0;z-index:3;padding:18px 20px;background:#fff}.license-dialog>form>header .eyebrow{margin-bottom:4px}.license-dialog>form>header h2{font-size:1.35rem}.license-dialog>form>header p{margin-top:4px!important;font-size:.82rem;color:var(--muted)}.license-dialog>form>.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;inline-size:auto;max-inline-size:none;margin:16px 20px}.license-dialog .form-grid .field--wide{grid-column:1/-1}.license-dialog textarea{min-height:78px;max-height:150px}.license-dialog>form>.license-choice-row{inline-size:auto;margin:14px 20px}.license-choice-row>label{position:relative;display:flex;grid-template-columns:none;align-items:flex-start;gap:11px;min-width:0;padding:12px 13px;border-radius:8px;background:#fafbfe;cursor:pointer}.license-choice-row>label>input[type="checkbox"],.license-switch>input[type="checkbox"]{appearance:none;flex:0 0 auto;width:38px!important;height:22px!important;margin:1px 0 0;padding:0!important;border:1px solid #b8c2d3;border-radius:20px;background:#cbd2df;box-shadow:none;cursor:pointer}.license-choice-row>label>input[type="checkbox"]::after,.license-switch>input[type="checkbox"]::after{content:"";display:block;width:16px;height:16px;margin:2px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #14203d44;transition:transform .15s}.license-choice-row>label>input[type="checkbox"]:checked,.license-switch>input[type="checkbox"]:checked{border-color:#315efb;background:#315efb}.license-choice-row>label>input[type="checkbox"]:checked::after,.license-switch>input[type="checkbox"]:checked::after{transform:translateX(16px)}.license-choice-row span{min-width:0}.license-choice-row strong{font-size:.82rem}.license-choice-row small{margin-top:2px;color:var(--muted);font-size:.7rem;line-height:1.35}.license-dialog>form>.license-term-builder{inline-size:auto;margin:16px 20px;padding:14px 16px;border:1px solid #dce2ee;border-radius:9px;background:#fbfcfe}.license-term-builder legend{padding:0 7px;margin:0;font-size:.9rem}.license-term-builder>p{margin:0 0 11px;color:var(--muted);font-size:.75rem}.license-term-builder>div{gap:6px}.license-term-builder>div label span{padding:7px 10px;background:#fff;font-size:.75rem}.license-term-builder>label{display:grid;grid-template-columns:auto minmax(120px,190px);align-items:center;justify-content:start;gap:10px;margin-top:12px}.license-term-builder>label input{padding:8px 10px}.license-dialog>form>footer{z-index:4;padding:13px 20px}.license-dialog .dialog-close{flex:0 0 auto;width:36px;height:36px}.license-dialog input,.license-dialog select,.license-dialog textarea{max-width:100%}
@media(max-width:620px){.license-dialog{inline-size:100%;max-inline-size:100%;max-block-size:calc(100dvh - 18px);border-radius:14px 14px 0 0}.license-dialog>form{max-block-size:calc(100dvh - 18px)}.license-dialog>form>.form-grid{grid-template-columns:1fr}.license-dialog .form-grid .field--wide{grid-column:auto}.license-choice-row{grid-template-columns:1fr}.license-term-builder>label{grid-template-columns:1fr}}

/* License workflow and customer workspace */
.operation-menu{position:relative;z-index:20}.operation-menu>summary{list-style:none;cursor:pointer}.operation-menu>summary::-webkit-details-marker{display:none}.operation-menu>div{position:absolute;right:0;top:calc(100% + 8px);display:grid;min-width:245px;padding:7px;background:#fff;border:1px solid #dce2ee;border-radius:10px;box-shadow:0 18px 50px #13213d2e}.operation-menu a,.operation-menu button{display:block;width:100%;padding:10px 12px;border:0;background:transparent;color:#101a35;text-align:left;text-decoration:none;border-radius:7px;font:inherit;cursor:pointer}.operation-menu a:hover,.operation-menu button:hover{background:#f1f4ff;color:#1945dd}.operation-menu .is-danger{color:#b92736}.license-bulk-form{align-items:start}.license-line-card{margin-bottom:16px;background:#fff;border:1px solid #dce2ee;border-radius:12px;box-shadow:0 8px 24px #19294b0a;overflow:hidden}.license-line-card>header{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:16px 18px;background:#f8faff;border-bottom:1px solid #e4e8f0}.license-line-card>header>div{display:flex;align-items:center;gap:12px}.license-line-card h2,.license-line-card header p{margin:0}.license-line-card header p{margin-top:3px;color:#68758c;font-size:12px}.license-line-number{display:grid;place-items:center;width:38px;height:38px;background:#0c1434;color:#fff;border-radius:9px;font-weight:800}.license-line-body{display:grid;grid-template-columns:1fr 1fr;gap:0}.license-line-section{min-width:0;padding:18px;border-bottom:1px solid #edf0f5}.license-line-section:nth-child(odd){border-right:1px solid #edf0f5}.license-line-section h3{margin:0 0 13px;font-size:14px}.license-line-section>.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.license-line-section>.form-grid label:first-child:last-child{grid-column:1/-1}.license-offer-feedback{margin-top:12px;padding:9px 11px;border-radius:7px;background:#f3f6fc;color:#5b6880;font-size:12px}.license-offer-feedback button{border:0;background:none;color:#1945dd;font-weight:700;cursor:pointer}.license-add-line{display:grid;grid-template-columns:42px 1fr;column-gap:12px;width:100%;margin-bottom:18px;padding:17px;border:1px dashed #9eace0;background:#f7f9ff;color:#172754;text-align:left;border-radius:11px;cursor:pointer}.license-add-line span{grid-row:1/3;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#315efb;color:#fff;font-size:23px}.license-add-line strong,.license-add-line small{display:block}.license-add-line small{color:#68758c}.license-hero{display:grid;grid-template-columns:minmax(250px,.7fr) 1.3fr;margin-bottom:18px;background:linear-gradient(135deg,#0c1434,#172a60);color:#fff;border-radius:14px;overflow:hidden}.license-hero>div{padding:25px}.license-hero>div p{margin:20px 0 3px;color:#aebadb}.license-hero>div>strong{display:block;font-size:29px;overflow-wrap:anywhere}.license-hero>div>small{color:#b9c4df}.license-hero dl{display:grid;grid-template-columns:1fr 1fr;margin:0;background:#ffffff0a}.license-hero dl div{padding:22px;border-left:1px solid #ffffff1c;border-bottom:1px solid #ffffff1c}.license-hero dt{color:#aebadb;font-size:12px}.license-hero dd{margin:6px 0 0;font-weight:800}.license-hero .is-warning dd{color:#ffd26f}.license-detail-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.7fr);gap:18px;align-items:start}.license-detail-layout main{display:grid;gap:18px}.license-period-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.license-period-facts>div{padding:13px;background:#f6f8fc;border-radius:8px}.license-period-facts span,.license-period-facts strong{display:block}.license-period-facts span{font-size:11px;color:#6b7890}.license-period-facts strong{margin-top:4px;overflow-wrap:anywhere}.license-period-note{margin-top:14px;padding:13px;border-left:3px solid #315efb;background:#f6f8ff}.license-history article{display:grid;grid-template-columns:35px 1fr;gap:13px;position:relative;padding:0 0 20px}.license-history article:not(:last-child)::before{content:"";position:absolute;left:17px;top:35px;bottom:0;width:1px;background:#d9e0ec}.license-history-marker span{display:grid;place-items:center;width:35px;height:35px;border-radius:50%;background:#edf1f8;color:#56647c;font-weight:800}.license-history .is-current .license-history-marker span{background:#315efb;color:#fff}.license-history header{display:flex;justify-content:space-between;gap:12px}.license-history p,.license-history small{display:block;margin:4px 0;color:#617089}.license-security-head{display:flex;gap:12px}.license-security-head>span{display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:10px;background:#edf2ff;color:#315efb;font-size:22px}.license-security-head h2,.license-security-head p{margin:0}.license-security-head p{margin-top:4px;color:#66738a;font-size:12px}.masked-key-list{display:grid;gap:8px;margin:18px 0}.masked-key{border-radius:8px}.masked-key span strong,.masked-key span small{display:block}.icon-danger{width:32px;height:32px;border:0;border-radius:7px;background:#ffeaed;color:#bb2635;cursor:pointer}.license-add-key{margin:14px 0;border:1px solid #dce2ee;border-radius:8px}.license-add-key>summary,.license-danger-panel>summary{padding:13px;font-weight:800;cursor:pointer}.license-add-key form{padding:0 13px 13px}.license-otp-form{display:grid;gap:10px}.customer-heading-actions,.license-heading-actions{display:flex;align-items:center;gap:8px}.customer-health-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.customer-health-grid article{min-width:0;padding:17px;background:#fff;border:1px solid #dce2ee;border-radius:10px}.customer-health-grid span,.customer-health-grid strong,.customer-health-grid small{display:block}.customer-health-grid strong{margin:5px 0;font-size:24px}.customer-health-grid small{color:#68758c;overflow-wrap:anywhere}.customer-health-grid .has-alert{border-color:#ffc2c8;background:#fff8f8}.customer-alert-center{margin-bottom:18px;background:#fff;border:1px solid #dce2ee;border-radius:11px}.customer-alert-center>header{display:flex;justify-content:space-between;padding:16px 18px;border-bottom:1px solid #e6eaf1}.customer-alert-center h2,.customer-alert-center p{margin:0}.customer-alert-center>div{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px}.customer-alert{display:flex;align-items:center;gap:11px;padding:11px;color:#17213a;text-decoration:none;border-radius:8px;background:#f7f9fc}.customer-alert>span{display:grid;place-items:center;flex:none;width:28px;height:28px;border-radius:50%;background:#e8edf6;font-weight:800}.customer-alert>div{min-width:0;flex:1}.customer-alert strong,.customer-alert small{display:block}.customer-alert small{margin-top:2px;color:#66738a}.customer-alert--danger{background:#fff2f3}.customer-alert--danger>span{background:#ffdce0;color:#b72031}.customer-alert--warning{background:#fff9ed}.customer-alert--warning>span{background:#ffebbc;color:#8c5b00}.customer-workspace-tabs{display:flex;gap:4px;position:sticky;top:0;z-index:10;padding:7px;margin-bottom:14px;overflow-x:auto;background:#fff;border:1px solid #dce2ee;border-radius:10px}.customer-workspace-tabs a{flex:0 0 auto;padding:9px 13px;color:#5b6880;text-decoration:none;border-radius:7px;font-weight:700}.customer-workspace-tabs a.is-active{background:#0c1434;color:#fff}.customer-tab-panels>[hidden]{display:none!important}.customer-license-list{display:grid;gap:9px}.customer-license-list>article{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:16px;align-items:center;padding:14px;border:1px solid #e1e6ee;border-radius:9px}.customer-license-list>article.is-due{border-left:4px solid #ef9f22}.customer-license-list article>div:first-child strong,.customer-license-list article>div:first-child small{display:block;margin-top:4px}.customer-license-list dl{display:flex;gap:20px;margin:0}.customer-license-list dt{font-size:10px;color:#78849a}.customer-license-list dd{margin:3px 0 0;font-weight:800}.customer-user-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.customer-user-grid a{display:flex;gap:11px;padding:12px;border:1px solid #e1e6ee;color:#17213a;text-decoration:none}.customer-user-grid a>span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#edf2ff;color:#315efb;font-weight:800}.customer-user-grid strong,.customer-user-grid small{display:block}.customer-user-grid small{color:#68758c}.customer-danger{margin-top:20px}
@media(max-width:1000px){.license-detail-layout,.license-create-shell{grid-template-columns:1fr}.license-create-summary{position:static}.customer-health-grid{grid-template-columns:1fr 1fr}.license-period-facts{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.customer-heading-actions,.license-heading-actions{width:100%;align-items:stretch}.operation-menu{flex:1}.operation-menu>summary{display:block;text-align:center}.operation-menu>div{position:fixed;left:10px;right:10px;top:auto;bottom:10px;min-width:0}.license-line-card>header,.license-line-card>header>div{align-items:flex-start}.license-line-card>header{flex-direction:column}.license-line-body{grid-template-columns:1fr}.license-line-section:nth-child(odd){border-right:0}.license-line-section>.form-grid,.license-period-facts{grid-template-columns:1fr}.license-hero{grid-template-columns:1fr}.license-hero dl{grid-template-columns:1fr 1fr}.license-detail-layout{grid-template-columns:1fr}.customer-health-grid,.customer-alert-center>div,.customer-user-grid{grid-template-columns:1fr}.customer-license-list>article{grid-template-columns:1fr}.customer-license-list dl{justify-content:space-between}.customer-workspace-tabs{margin-inline:-4px}}
.primary-user-missing{margin:12px 0;padding:14px;border:1px solid #ffc5cb;border-left:4px solid #d83d50;border-radius:9px;background:#fff5f6}.primary-user-missing strong,.primary-user-missing p{display:block;margin:0}.primary-user-missing p{margin-top:5px;color:#6f5960}.primary-user-create{margin-top:14px}.primary-user-create .check,.password-admin-panel .check{display:flex;align-items:flex-start;gap:8px}.primary-user-create .check input,.password-admin-panel .check input{flex:0 0 auto;width:16px;height:16px}.password-admin-panel{margin-top:16px}.password-admin-panel>summary{cursor:pointer;font-weight:800}.password-admin-panel>form{margin-top:16px;padding-top:16px;border-top:1px solid #e3e8f0}.password-admin-panel small{display:block;color:#6c7890}@media(max-width:650px){.primary-user-create,.password-admin-panel .form-grid{grid-template-columns:1fr}.primary-user-create .span-2,.password-admin-panel .span-2{grid-column:auto}}

/* License management command center */
.license-index-heading{margin-bottom:22px}.license-command-center{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-bottom:16px}.license-command-center article,.license-command-center>a{display:flex;align-items:center;gap:13px;min-width:0;padding:15px 16px;background:#fff;border:1px solid #dce2ee;border-radius:10px;color:#111c38;text-decoration:none}.license-command-center .license-kpi-icon{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:10px;background:#eaf7ef;color:#177747;font-weight:900}.license-command-center .is-warning .license-kpi-icon{background:#fff1d3;color:#9a6400}.license-command-center .is-danger .license-kpi-icon{background:#ffe6e9;color:#b52535}.license-command-center>a .license-kpi-icon{background:#edf2ff;color:#315efb}.license-command-center>a.has-value{border-color:#9eb0f4}.license-command-center small,.license-command-center strong,.license-command-center p{display:block;margin:0}.license-command-center small{color:#637087;font-size:11px}.license-command-center strong{margin-top:2px;font-size:24px;font-variant-numeric:tabular-nums}.license-command-center p{color:#8993a5;font-size:10px}.license-browser,.license-request-center{margin-bottom:18px;background:#fff;border:1px solid #dce2ee;border-radius:12px;overflow:hidden}.license-browser>header,.license-request-center>header{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 20px}.license-browser h2,.license-browser p,.license-request-center h2,.license-request-center p{margin:0}.license-browser p,.license-request-center p{margin-top:3px;color:#68758b;font-size:12px}.license-browser-tools{display:flex;align-items:center;gap:8px}.license-search{display:flex;align-items:center;gap:7px;min-width:270px;padding:0 10px;border:1px solid #d7deea;border-radius:8px}.license-search input{width:100%;padding:10px 0;border:0;outline:0}.license-status-filter select{min-width:145px;padding:10px}.license-view-filters{display:flex;gap:6px;padding:0 20px 13px;border-bottom:1px solid #e6eaf1}.license-view-filters button{padding:7px 10px;border:0;border-radius:20px;background:#f1f3f7;color:#5f6c82;cursor:pointer}.license-view-filters button b{margin-left:4px}.license-view-filters button.is-active{background:#0c1434;color:#fff}.license-record-list{padding:8px 12px 12px}.license-record{display:grid;grid-template-columns:minmax(220px,1.25fr) minmax(420px,1.5fr) auto auto;align-items:center;gap:18px;min-width:0;padding:12px 10px;border-bottom:1px solid #edf0f5}.license-record:last-of-type{border-bottom:0}.license-record[hidden]{display:none}.license-record--due{border-left:3px solid #efa923}.license-record--expired{border-left:3px solid #dc4e5b;background:#fffafa}.license-record-main{display:flex;align-items:center;gap:11px;min-width:0;color:#101a34;text-decoration:none}.license-record-main>div{min-width:0}.license-record-main strong,.license-record-main small{display:block;overflow-wrap:break-word}.license-record-main small{margin-top:2px;color:#637087}.license-record-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.license-record-facts span,.license-record-facts strong{display:block}.license-record-facts span{color:#7b8699;font-size:9px;text-transform:uppercase}.license-record-facts strong{margin-top:3px;font-size:12px;font-variant-numeric:tabular-nums;overflow-wrap:break-word}.license-record--due .license-days strong{color:#976100}.license-record--expired .license-days strong{color:#be2938}.license-record-actions{display:flex;gap:4px}.license-record-actions a{padding:7px 8px;color:#315efb;text-decoration:none;border-radius:6px;font-size:12px;font-weight:700}.license-record-actions a:hover{background:#edf2ff}.license-filter-empty{padding:35px;text-align:center}.license-filter-empty strong,.license-filter-empty small{display:block}.license-filter-empty small{margin-top:5px;color:#68758b}.license-request-center>header>span{padding:6px 9px;border-radius:20px;background:#edf2ff;color:#315efb;font-weight:800;font-size:12px}.license-request-list{padding:0 12px 12px}.license-request-list>article{display:grid;grid-template-columns:minmax(240px,1fr) 100px auto auto;align-items:center;gap:16px;padding:13px 10px;border-top:1px solid #edf0f5}.license-request-identity{display:flex;align-items:center;gap:10px;min-width:0}.license-request-identity>span{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:50%;background:#edf2ff;color:#315efb;font-weight:800}.license-request-identity strong,.license-request-identity small,.license-request-meta span,.license-request-meta strong{display:block}.license-request-identity small{margin-top:2px;color:#68758b}.license-request-meta span{font-size:9px;color:#7b8699;text-transform:uppercase}.license-request-list details{position:relative}.license-request-list details>summary{list-style:none;cursor:pointer}.license-request-list details>form{position:absolute;right:0;top:calc(100% + 7px);z-index:15;display:grid;gap:10px;width:min(390px,calc(100vw - 40px));padding:15px;background:#fff;border:1px solid #dce2ee;border-radius:10px;box-shadow:0 18px 55px #14213b2b}.license-request-list details label{display:grid;gap:5px;font-size:12px}.license-request-empty{display:flex;align-items:center;justify-content:center;gap:12px;margin:0 12px 12px;padding:28px;background:#f7faf8;border:1px dashed #acd2ba}.license-request-empty>span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#dff3e6;color:#167343;font-weight:900}.license-request-empty strong,.license-request-empty small{display:block}.license-request-empty small{color:#68758b}.license-state.is-pending{background:#fff0cf;color:#885900}
@media(max-width:1100px){.license-command-center{grid-template-columns:1fr 1fr}.license-record{grid-template-columns:minmax(220px,1fr) minmax(360px,1.4fr) auto}.license-record>.license-state{grid-column:1}.license-record-actions{grid-column:3;grid-row:1/3}.license-request-list>article{grid-template-columns:1fr auto auto}}
@media(max-width:760px){.license-command-center{grid-template-columns:1fr 1fr}.license-browser>header,.license-request-center>header{align-items:stretch;flex-direction:column}.license-browser-tools{align-items:stretch;flex-direction:column}.license-search{min-width:0}.license-record{grid-template-columns:1fr;gap:10px;padding:14px}.license-record-facts{grid-template-columns:1fr 1fr}.license-record>.license-state,.license-record-actions{grid-column:auto;grid-row:auto}.license-record-actions a{flex:1;text-align:center;background:#f2f5fb}.license-request-list>article{grid-template-columns:1fr auto}.license-request-list details{grid-column:1/-1}.license-request-list details>summary{text-align:center}.license-request-list details>form{position:static;width:auto;margin-top:8px}.license-view-filters{overflow-x:auto}}
@media(max-width:480px){.license-command-center{grid-template-columns:1fr}.license-heading-actions{display:grid;grid-template-columns:1fr 1fr}.license-record-facts{grid-template-columns:1fr 1fr}}

/* Modern CRM calendar */
.calendar-page-heading{margin-bottom:18px}.calendar-heading-actions{display:flex;gap:8px}.calendar-command-bar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;margin-bottom:13px;padding:13px 15px;background:#fff;border:1px solid #dce2ee;border-radius:11px}.calendar-period-nav{display:flex;align-items:center;gap:7px}.calendar-period-nav>a:not(.calendar-today-link){display:grid;place-items:center;width:34px;height:34px;border:1px solid #d8dfeb;border-radius:8px;color:#17213b;text-decoration:none;font-size:20px}.calendar-period-nav>div{min-width:145px}.calendar-period-nav small,.calendar-period-nav h2{display:block;margin:0}.calendar-period-nav small{color:#7b879a;font-size:9px;text-transform:uppercase}.calendar-period-nav h2{font-size:16px}.calendar-today-link{margin-left:3px;padding:8px 10px;border-radius:7px;background:#edf2ff;color:#315efb;text-decoration:none;font-size:12px;font-weight:800}.calendar-month-summary{display:flex;justify-content:center;gap:18px;color:#68758b;font-size:11px}.calendar-month-summary b{color:#111d39;font-size:14px}.calendar-filters{display:flex;align-items:end;gap:7px}.calendar-filters label{display:grid;gap:3px}.calendar-filters label>span{color:#7b879a;font-size:9px;text-transform:uppercase}.calendar-filters select{max-width:170px;padding:8px 28px 8px 9px}.calendar-filters>a{padding:8px;color:#315efb;font-size:11px}.calendar-workspace{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:13px;align-items:start}.calendar-board--modern{border-radius:11px}.calendar-board--modern .calendar-weekdays{border-bottom:1px solid #dce2ee}.calendar-board--modern .calendar-weekdays span{padding:10px;border:0;background:#f6f8fc;color:#536078;text-align:left}.calendar-weekdays span b{display:none}.calendar-weekdays span small{font-size:10px;font-weight:800}.calendar-board--modern .calendar-day{min-height:145px;padding:7px;border-color:#e7eaf0}.calendar-board--modern .calendar-day.is-muted{background:#fafbfc;opacity:.65}.calendar-board--modern .calendar-day.is-today{background:#f5f8ff;box-shadow:inset 0 0 0 2px #315efb}.calendar-board--modern .calendar-day>header{min-height:28px}.calendar-board--modern .calendar-day>header time{display:flex;width:auto;height:auto;gap:5px}.calendar-board--modern .calendar-day>header time>span{display:grid;place-items:center;width:25px;height:25px;border-radius:50%}.calendar-board--modern .calendar-day.is-today>header time{background:none;color:inherit}.calendar-board--modern .calendar-day.is-today>header time>span{background:#315efb;color:#fff}.calendar-board--modern .calendar-day>header time small{align-self:center;color:#315efb;font-size:8px}.calendar-board--modern .calendar-day>header button{display:grid;place-items:center;border-radius:6px;opacity:0}.calendar-board--modern .calendar-day:hover>header button,.calendar-board--modern .calendar-day>header button:focus{background:#edf2ff;opacity:1}.calendar-board--modern .calendar-day__events{gap:4px}.calendar-board--modern .calendar-event{display:grid;grid-template-columns:7px minmax(0,1fr) auto;align-items:center;gap:6px;padding:6px;border:0;border-radius:6px;background:#eef2ff;font-size:10px;text-decoration:none}.calendar-event-dot{display:block;width:6px;height:6px;border-radius:50%;background:#315efb}.calendar-board--modern .calendar-event>div{min-width:0}.calendar-board--modern .calendar-event strong,.calendar-board--modern .calendar-event small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-board--modern .calendar-event strong{font-size:9px}.calendar-board--modern .calendar-event small{color:#68758b;font-size:8px}.calendar-board--modern .calendar-event time{color:#536078;font-size:8px;font-weight:800}.calendar-board--modern .calendar-event em{grid-column:2/4;color:#8a5c00;font-size:8px;font-style:normal}.calendar-board--modern .calendar-event--appointment{background:#e8f8f8}.calendar-event--appointment .calendar-event-dot{background:#1598a0}.calendar-board--modern .calendar-event--call{background:#eaf7f1}.calendar-event--call .calendar-event-dot{background:#25845d}.calendar-board--modern .calendar-event--note{background:#fff7e7}.calendar-event--note .calendar-event-dot{background:#d59219}.calendar-board--modern .calendar-event--license{background:#fff3d9!important}.calendar-event--license .calendar-event-dot{background:#e49c17}.calendar-board--modern .calendar-more{display:block;padding:4px 6px;text-decoration:none}.calendar-side-panel{display:grid;gap:12px}.calendar-agenda--modern{overflow:hidden;border:1px solid #dce2ee;border-radius:11px;background:#fff}.calendar-agenda--modern>header{display:flex;justify-content:space-between;align-items:start;padding:16px;border-bottom:1px solid #e5e9f0}.calendar-agenda--modern>header h2,.calendar-agenda--modern>header p,.calendar-agenda--modern>header small{display:block;margin:0}.calendar-agenda--modern>header small{margin-top:3px;color:#748096;font-size:10px}.calendar-agenda--modern>header>a{font-size:11px}.calendar-agenda--modern>div>a{display:grid;grid-template-columns:42px 1fr;gap:10px;padding:11px 13px;border-bottom:1px solid #edf0f5;color:#111c37;text-decoration:none}.calendar-agenda--modern>div>a:hover{background:#f8faff}.calendar-agenda--modern time{display:grid;place-items:center;padding:5px;border-radius:8px;background:#edf2ff;color:#315efb}.calendar-agenda--modern time strong,.calendar-agenda--modern time span{display:block}.calendar-agenda--modern time strong{font-size:16px}.calendar-agenda--modern time span{font-size:8px;text-transform:uppercase}.calendar-agenda--modern a>div>strong,.calendar-agenda--modern a>div>small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-agenda--modern a>div>small{margin-top:2px;color:#68758b;font-size:9px}.calendar-agenda-type{display:inline-block;margin-top:5px;padding:3px 6px;border-radius:10px;background:#f0f2f6;color:#68758b;font-size:8px}.calendar-side-empty{display:grid;justify-items:center;gap:4px;padding:28px 15px;text-align:center}.calendar-side-empty>span{display:grid;place-items:center;width:35px;height:35px;border-radius:50%;background:#e5f6eb;color:#167343}.calendar-side-empty small{color:#748096}.calendar-legend{padding:15px;background:#fff;border:1px solid #dce2ee;border-radius:11px}.calendar-legend h3{margin:0 0 11px}.calendar-legend>div{display:flex;align-items:center;gap:8px;margin:7px 0;color:#536078;font-size:11px}.calendar-legend>div>span{width:8px;height:8px;border-radius:50%;background:#315efb}.calendar-legend .is-appointment{background:#1598a0}.calendar-legend .is-call{background:#25845d}.calendar-legend .is-note{background:#d59219}.calendar-legend .is-license{background:#e49c17}.calendar-legend p{margin:13px 0 0;padding-top:11px;border-top:1px solid #edf0f5;color:#748096;font-size:10px;line-height:1.5}.activity-dialog--modern{width:min(820px,calc(100vw - 30px));border-radius:14px}.activity-dialog--modern>header{padding:18px 20px}.activity-dialog--modern .crm-quick-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:12px}.activity-dialog--modern .crm-quick-form__section{margin:0}.activity-dialog--modern .crm-quick-form__section--identity{grid-column:1/-1}.activity-dialog--modern .crm-quick-form__footer{grid-column:1/-1;margin:-12px;padding:13px 18px}.activity-dialog--modern .crm-type-picker{grid-template-columns:repeat(4,1fr)}
@media(max-width:1150px){.calendar-command-bar{grid-template-columns:1fr auto}.calendar-month-summary{display:none}.calendar-workspace{grid-template-columns:minmax(0,1fr) 260px}.calendar-board--modern .calendar-day{min-height:130px}.calendar-board--modern .calendar-event small{display:none}}
@media(max-width:900px){.calendar-command-bar{grid-template-columns:1fr}.calendar-filters{justify-content:space-between}.calendar-filters label{flex:1}.calendar-filters select{max-width:none;width:100%}.calendar-workspace{grid-template-columns:1fr}.calendar-side-panel{grid-template-columns:1fr 1fr}.activity-dialog--modern .crm-quick-form{grid-template-columns:1fr}.activity-dialog--modern .crm-quick-form__section--identity,.activity-dialog--modern .crm-quick-form__footer{grid-column:1}}
@media(max-width:700px){.calendar-heading-actions{width:100%}.calendar-heading-actions>*{flex:1}.calendar-period-nav{justify-content:space-between}.calendar-period-nav>div{text-align:center}.calendar-filters{align-items:stretch;flex-direction:column}.calendar-board--modern{overflow-x:auto}.calendar-board--modern .calendar-weekdays,.calendar-board--modern .calendar-grid{min-width:760px}.calendar-weekdays span b{display:block}.calendar-weekdays span small{display:none}.calendar-side-panel{grid-template-columns:1fr}.calendar-board--modern .calendar-day>header button{opacity:1}.activity-dialog--modern{width:100%}.activity-dialog--modern .crm-type-picker{grid-template-columns:1fr 1fr}}

/* Dashboard rates, CRM detail and invoice visibility */
.dashboard-rates{margin-top:18px;background:#fff;border:1px solid #dce2ee;border-radius:10px;overflow:hidden}.dashboard-rates>header{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:17px 19px;border-bottom:1px solid #e4e8ef}.dashboard-rates h2,.dashboard-rates p{margin:0}.dashboard-rates header>div:first-child>p:last-child{margin-top:4px;color:#68758b;font-size:11px}.dashboard-rate-grid{display:grid;grid-template-columns:1fr 1fr;gap:0}.dashboard-rate-grid>article{display:grid;grid-template-columns:minmax(170px,.65fr) 1fr;align-items:center;gap:18px;padding:16px 19px}.dashboard-rate-grid>article+article{border-left:1px solid #e4e8ef}.dashboard-rate-grid>article>div{display:flex;align-items:center;gap:11px}.currency-symbol{display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:11px;background:#edf2ff;color:#315efb;font-size:20px;font-weight:800}.dashboard-rate-grid article>div strong,.dashboard-rate-grid article>div small{display:block}.dashboard-rate-grid article>div small{color:#748096}.dashboard-rate-grid dl{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0}.dashboard-rate-grid dl>div{padding:9px 11px;background:#f6f8fb;border-radius:8px}.dashboard-rate-grid dt{color:#748096;font-size:9px;text-transform:uppercase}.dashboard-rate-grid dd{margin:3px 0 0;font-weight:900;font-variant-numeric:tabular-nums;white-space:nowrap}.dashboard-rate-grid dd small{display:block;color:#a56b00;font-size:8px}.dashboard-rate-empty{grid-column:1/-1;color:#748096}.crm-detail-heading a{color:inherit}.crm-detail-actions{display:flex;gap:8px}.crm-detail-hero{display:grid;grid-template-columns:minmax(280px,.85fr) 1.15fr;margin-bottom:17px;background:linear-gradient(135deg,#0c1434,#19336e);color:#fff;border-radius:13px;overflow:hidden}.crm-detail-hero>div{display:flex;align-items:center;gap:15px;padding:23px}.crm-type-icon{display:grid;place-items:center;flex:none;width:54px;height:54px;border-radius:14px;background:#ffffff18;font-size:23px}.crm-detail-hero>div strong,.crm-detail-hero>div small{display:block}.crm-detail-hero>div strong{margin-top:11px;font-size:20px}.crm-detail-hero>div small{margin-top:3px;color:#bac5de}.crm-detail-hero dl{display:grid;grid-template-columns:1fr 1fr;margin:0;background:#ffffff08}.crm-detail-hero dl>div{padding:18px;border-left:1px solid #ffffff18;border-bottom:1px solid #ffffff18}.crm-detail-hero dt{color:#aebbd8;font-size:10px}.crm-detail-hero dd{margin:5px 0 0;font-weight:800;overflow-wrap:anywhere}.crm-detail-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(290px,.65fr);gap:17px;align-items:start}.crm-detail-layout main,.crm-detail-layout>aside{display:grid;gap:15px}.crm-description-card>header,.crm-private-note>header{display:flex;justify-content:space-between;gap:15px}.crm-description-card h2,.crm-description-card p,.crm-private-note h2,.crm-private-note p{margin:0}.crm-description-card>header>span{height:max-content;padding:5px 8px;border-radius:20px;background:#edf2ff;color:#315efb;font-size:10px}.crm-description-card>p,.crm-private-note>p{margin-top:16px;line-height:1.7;white-space:pre-wrap}.crm-private-note{border-left:4px solid #e4a11c;background:#fffdf8}.crm-private-note header button{height:max-content;border:0;background:none;color:#315efb;font-weight:800;cursor:pointer}.crm-status-panel>p{color:#68758b}.crm-status-panel>div{display:grid;gap:8px}.crm-status-final{padding:12px;border-radius:8px;background:#f1f5f3;color:#287354}.crm-audit-summary dl{margin:0}.crm-audit-summary dl>div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #edf0f5}.crm-audit-summary dd{margin:0;font-weight:700}.crm-edit-dialog{width:min(760px,calc(100vw - 30px));max-height:calc(100dvh - 35px);padding:0;border:0;border-radius:14px;box-shadow:0 25px 80px #101b3545}.crm-edit-dialog::backdrop{background:#0d1735a8;backdrop-filter:blur(3px)}.crm-edit-dialog>header{display:flex;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid #e0e5ed}.crm-edit-dialog h2,.crm-edit-dialog p{margin:0}.crm-edit-dialog header small{display:block;margin-top:4px;color:#68758b}.crm-edit-dialog>form{max-height:calc(100dvh - 135px);overflow:auto}.crm-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;padding:18px 20px}.crm-edit-grid .field--wide{grid-column:1/-1}.crm-edit-dialog form>footer{position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:8px;padding:13px 20px;background:#fff;border-top:1px solid #e0e5ed}.sales-invoice-reference{position:relative}.sales-invoice-reference small{display:block;margin-top:3px;color:#aebbd6}.sales-invoice-banner{display:flex;align-items:center;gap:13px;margin-bottom:16px;padding:15px 18px;border:1px solid #9fd2b0;border-radius:10px;background:#f2fbf5}.sales-invoice-banner>span{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#d9f2e1;color:#177747;font-weight:900}.sales-invoice-banner h2,.sales-invoice-banner p{margin:0}.sales-invoice-banner h2{margin-top:2px;font-size:17px}.sales-invoice-banner small{color:#5e6f65}
@media(max-width:900px){.dashboard-rate-grid>article{grid-template-columns:1fr}.crm-detail-layout{grid-template-columns:1fr}.crm-detail-hero{grid-template-columns:1fr}}
@media(max-width:650px){.dashboard-rates>header,.crm-detail-actions{align-items:stretch;flex-direction:column}.dashboard-rate-grid{grid-template-columns:1fr}.dashboard-rate-grid>article+article{border-left:0;border-top:1px solid #e4e8ef}.dashboard-rate-grid dl{grid-template-columns:1fr 1fr}.crm-detail-actions{width:100%}.crm-detail-actions>*{text-align:center}.crm-detail-hero dl,.crm-edit-grid{grid-template-columns:1fr}.crm-edit-grid .field--wide{grid-column:auto}.crm-edit-dialog{inset:auto 0 0;width:100%;max-height:calc(100dvh - 15px);border-radius:14px 14px 0 0}}

/* Global navigation and form loading feedback */
.page-loading-overlay[hidden]{display:none}.page-loading-overlay{position:fixed;z-index:99999;inset:0;display:grid;place-items:center;padding:20px;background:rgba(10,18,42,.55);backdrop-filter:blur(3px)}.page-loading-overlay>div{display:grid;justify-items:center;min-width:220px;padding:24px 28px;border:1px solid #ffffff35;border-radius:14px;background:#fff;box-shadow:0 24px 80px #07102755;text-align:center}.page-loading-spinner{width:38px;height:38px;margin-bottom:13px;border:3px solid #dce4ff;border-top-color:#315efb;border-radius:50%;animation:page-loading-spin .72s linear infinite}.page-loading-overlay strong,.page-loading-overlay small{display:block}.page-loading-overlay strong{color:#101a34}.page-loading-overlay small{margin-top:4px;color:#68758b}.is-page-loading{cursor:wait}.is-page-loading .page-loading-overlay{cursor:wait}@keyframes page-loading-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.page-loading-spinner{animation-duration:1.5s}}.dashboard-rates--top{margin-top:0;margin-bottom:14px}

/* Document template library and modal builder */
.template-page-heading{margin-bottom:18px}.template-guide{display:grid;grid-template-columns:minmax(250px,.8fr) minmax(430px,1.4fr) minmax(250px,.75fr);gap:20px;align-items:center;margin-bottom:15px;padding:20px;background:linear-gradient(135deg,#0c1434,#1a3470);color:#fff;border-radius:13px}.template-guide h2,.template-guide p{margin:0}.template-guide>div>p:last-child{margin-top:7px;color:#b8c4df;font-size:12px;line-height:1.5}.template-guide ol{display:grid;gap:9px;margin:0;padding:0;list-style:none}.template-guide li{display:flex;gap:10px;align-items:center}.template-guide li>span{display:grid;place-items:center;flex:none;width:29px;height:29px;border-radius:8px;background:#ffffff18;color:#fff;font-weight:900}.template-guide li strong,.template-guide li small{display:block}.template-guide li small{margin-top:2px;color:#b8c4df;font-size:10px}.template-guide>aside{padding:14px;border:1px solid #ffffff25;border-radius:9px;background:#ffffff0d}.template-guide>aside p{margin-top:7px;color:#d6def0;font-size:11px;line-height:1.55}.template-guide code{color:#fff}.template-scope-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:15px}.template-scope-tabs>a{display:flex;align-items:center;gap:11px;min-width:0;padding:13px 15px;background:#fff;border:1px solid #dce2ee;border-radius:9px;color:#17213b;text-decoration:none}.template-scope-tabs>a>span{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:9px;background:#f0f3f8;color:#617089;font-size:18px}.template-scope-tabs strong,.template-scope-tabs small{display:block}.template-scope-tabs small{margin-top:2px;color:#748096;font-size:10px}.template-scope-tabs>a.is-active{border-color:#8ea4fb;background:#f7f9ff}.template-scope-tabs>a.is-active>span{background:#315efb;color:#fff}.template-library{background:#fff;border:1px solid #dce2ee;border-radius:11px;overflow:hidden}.template-library>header{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:17px 19px;border-bottom:1px solid #e4e8ef}.template-library h2,.template-library p{margin:0}.template-library p{margin-top:3px;color:#68758b;font-size:11px}.template-search{display:flex;align-items:center;gap:7px;min-width:280px;padding:0 10px;border:1px solid #d8dfeb;border-radius:8px}.template-search input{width:100%;padding:9px 0;border:0;outline:0}.template-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:12px;padding:14px}.template-card{display:flex;flex-direction:column;min-width:0;padding:16px;border:1px solid #dfe4ed;border-radius:10px;background:#fff}.template-card[hidden]{display:none}.template-card.is-passive{background:#f8f9fb;opacity:.75}.template-card>header{display:flex;align-items:center;gap:10px}.template-card-icon{display:grid;place-items:center;flex:none;width:39px;height:39px;border-radius:9px;background:#edf2ff;color:#315efb;font-weight:900}.template-card>header>div{min-width:0;flex:1}.template-card>header strong,.template-card>header small{display:block;overflow-wrap:break-word}.template-card>header small{color:#748096}.template-card>p{min-height:38px;color:#5f6d83;font-size:11px;line-height:1.55}.template-card-meta,.template-token-preview{display:flex;gap:6px;flex-wrap:wrap}.template-card-meta span{padding:5px 7px;border-radius:6px;background:#f1f3f7;color:#637087;font-size:9px}.template-token-preview{margin-top:11px}.template-token-preview code{padding:5px 7px;border-radius:5px;background:#eef3ff;color:#234dd5;font-size:9px}.template-token-preview>span{padding:5px;color:#748096;font-size:9px}.template-card>footer{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding-top:14px}.template-card>footer>a{color:#315efb;text-decoration:none;font-size:11px;font-weight:800}.template-empty,.template-filter-empty{grid-column:1/-1;padding:45px;text-align:center}.template-empty>span{font-size:30px;color:#315efb}.template-builder-dialog{width:min(1180px,calc(100vw - 28px));max-height:calc(100dvh - 28px);padding:0;border:0;border-radius:14px;box-shadow:0 28px 90px #0c17374d;overflow:hidden}.template-builder-dialog::backdrop{background:#0b1432ad;backdrop-filter:blur(3px)}.template-builder-dialog>header{display:flex;justify-content:space-between;gap:18px;padding:17px 20px;border-bottom:1px solid #e1e6ee;background:#fff}.template-builder-dialog h2,.template-builder-dialog p{margin:0}.template-builder-dialog header small{display:block;margin-top:4px;color:#68758b}.template-builder-dialog>form{max-height:calc(100dvh - 112px);overflow:auto;background:#f5f7fb}.template-builder-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:13px;padding:13px}.template-builder-layout>main{display:grid;gap:12px}.template-builder-layout>aside{display:grid;align-content:start;gap:12px}.template-builder-layout>aside>section{padding:15px;background:#fff;border:1px solid #dce2ee;border-radius:9px}.template-builder-layout>aside h3{margin:0 0 12px}.template-builder-section{background:#fff;border:1px solid #dce2ee;border-radius:9px;overflow:hidden}.template-builder-section>header{display:flex;align-items:center;gap:11px;padding:12px 15px;border-bottom:1px solid #e4e8ef;background:#fafbfe}.template-builder-section>header>span{display:grid;place-items:center;flex:none;width:31px;height:31px;border-radius:7px;background:#0c1434;color:#fff;font-size:10px;font-weight:900}.template-builder-section>header>div{flex:1}.template-builder-section>header h3,.template-builder-section>header p{margin:0}.template-builder-section>header p{margin-top:2px;color:#748096;font-size:10px}.template-builder-section>.form-grid{padding:15px}.template-active-switch,.template-option{display:flex;align-items:center;gap:10px;padding:11px;border:1px solid #dce2ee;border-radius:8px}.template-active-switch input,.template-option input,.template-required input{flex:none;width:18px!important;height:18px!important;padding:0!important}.template-active-switch strong,.template-active-switch small,.template-option strong,.template-option small{display:block}.template-active-switch small,.template-option small{color:#748096;font-size:9px}.template-source-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:0;padding:15px;border:0}.template-source-cards input{position:absolute;opacity:0}.template-source-cards label>span{display:grid;justify-items:start;height:100%;padding:13px;border:1px solid #dce2ee;border-radius:9px;cursor:pointer}.template-source-cards label b{display:grid;place-items:center;width:31px;height:31px;margin-bottom:9px;border-radius:7px;background:#eff2f7;color:#607087}.template-source-cards label strong,.template-source-cards label small{display:block}.template-source-cards label small{margin-top:4px;color:#748096;font-size:9px;line-height:1.4}.template-source-cards input:checked+span{border-color:#315efb;background:#f4f7ff;box-shadow:inset 0 0 0 1px #315efb}.template-source-cards input:checked+span b{background:#315efb;color:#fff}.template-file-area{margin:0 15px 15px;padding:13px;border:1px dashed #9caccc;border-radius:8px;background:#f8faff}.template-file-area>label>span,.template-file-area>label>small{display:block}.template-file-area input[type=file]{margin:8px 0}.template-file-area>[data-current-template-file]{display:flex;justify-content:space-between;gap:10px;margin-top:10px;padding:9px;background:#edf2ff}.template-modal-editor{margin:0 15px 15px}.template-modal-editor .document-editor__assist{padding:11px}.template-field-help{margin:12px 15px 0;padding:9px 11px;border-radius:7px;background:#f0f4ff;color:#53627b;font-size:10px}.template-builder-section>.template-fields{padding:12px 15px 15px}.template-field-row{border-radius:8px}.template-field-row>header{display:flex;align-items:center;gap:9px;margin-bottom:11px}.template-field-row>header>span{display:grid;place-items:center;width:27px;height:27px;border-radius:6px;background:#edf2ff;color:#315efb;font-size:9px;font-weight:900}.template-field-row>header strong{flex:1}.template-field-row>header button{width:28px;height:28px;border:0;border-radius:6px;background:#ffe9ec;color:#b72837;cursor:pointer}.template-required{display:flex;align-items:center;gap:7px;margin-top:10px}.template-live-summary dl{margin:0}.template-live-summary dl>div{display:flex;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px solid #edf0f5}.template-live-summary dd{margin:0;font-weight:800;text-align:right}.template-live-summary p{color:#68758b;font-size:10px;line-height:1.5}.template-builder-dialog>form>footer{position:sticky;z-index:5;bottom:0;display:flex;justify-content:flex-end;gap:8px;padding:12px 18px;border-top:1px solid #dce2ee;background:#fff}
@media(max-width:900px){.template-guide{grid-template-columns:1fr 1fr}.template-guide>aside{grid-column:1/-1}.template-builder-layout{grid-template-columns:1fr}.template-builder-layout>aside{grid-template-columns:1fr 1fr}.template-source-cards{grid-template-columns:1fr}}
@media(max-width:650px){.template-page-heading>button{width:100%}.template-guide{grid-template-columns:1fr}.template-guide>aside{grid-column:auto}.template-scope-tabs{grid-template-columns:1fr}.template-library>header{align-items:stretch;flex-direction:column}.template-search{min-width:0}.template-card-grid{grid-template-columns:1fr;padding:9px}.template-builder-dialog{inset:auto 0 0;width:100%;max-height:calc(100dvh - 12px);border-radius:14px 14px 0 0}.template-builder-layout>aside{grid-template-columns:1fr}.template-builder-section>.form-grid,.template-field-row .form-grid{grid-template-columns:1fr}.template-builder-section .field--wide{grid-column:auto}.template-source-cards{grid-template-columns:1fr}.template-builder-dialog>form>footer>*{flex:1}}

/* SMTP provider presets and Microsoft 365 onboarding */
.mail-provider-picker,.office365-setup{background:#fff;border:1px solid #dce2ee;border-radius:11px;overflow:hidden}.mail-provider-picker>header,.office365-setup>header{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 18px;border-bottom:1px solid #e5e9f0}.mail-provider-picker h2,.mail-provider-picker p,.office365-setup h2,.office365-setup p{margin:0}.mail-provider-picker p,.office365-setup header p{margin-top:3px;color:#68758b;font-size:10px}.mail-provider-picker>header>span{padding:6px 9px;border-radius:7px;background:#eaf7f1;color:#147452;font-size:9px;font-weight:800}.mail-provider-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:14px}.mail-provider-options input{position:absolute;opacity:0}.mail-provider-options label>span{display:grid;grid-template-columns:38px 1fr;column-gap:10px;padding:13px;border:1px solid #dce2ee;border-radius:9px;cursor:pointer}.mail-provider-options b{grid-row:1/3;display:grid;place-items:center;width:38px;height:38px;border-radius:8px;background:#eff2f7;color:#485a78}.mail-provider-options strong,.mail-provider-options small{display:block}.mail-provider-options small{margin-top:3px;color:#718096;font-size:9px}.mail-provider-options input:checked+span{border-color:#315efb;background:#f4f7ff;box-shadow:inset 0 0 0 1px #315efb}.mail-provider-options input:checked+span b{background:#315efb;color:#fff}.smtp-oauth-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:13px;border:1px solid #b9c8f5;border-radius:9px;background:#f6f8ff}.smtp-oauth-fields[hidden],[data-password-settings][hidden],.office365-setup[hidden]{display:none}.office365-setup>header{justify-content:flex-start}.office365-setup>header>span{display:grid;place-items:center;width:39px;height:39px;border-radius:9px;background:#315efb;color:#fff;font-weight:900}.office365-setup ol{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin:0;padding:16px;list-style:none}.office365-setup li{display:flex;gap:8px;padding:10px;border-right:1px solid #e5e9f0}.office365-setup li:last-child{border:0}.office365-setup li>b{display:grid;place-items:center;flex:none;width:25px;height:25px;border-radius:6px;background:#eaf0ff;color:#315efb;font-size:10px}.office365-setup li strong,.office365-setup li small{display:block}.office365-setup li small{margin-top:4px;color:#68758b;font-size:9px;line-height:1.45}.office365-setup code{overflow-wrap:anywhere;color:#244dcc}.office365-note{display:flex;gap:10px;margin:0 16px 16px;padding:11px;border-radius:8px;background:#fff7df;color:#674d08}.office365-note p{font-size:10px;line-height:1.5}
@media(max-width:900px){.office365-setup ol{grid-template-columns:1fr 1fr}.office365-setup li{border-bottom:1px solid #e5e9f0}.mail-provider-options{grid-template-columns:1fr}}
@media(max-width:650px){.smtp-oauth-fields,.office365-setup ol{grid-template-columns:1fr}.mail-provider-picker>header{align-items:flex-start;flex-direction:column}}

/* Customer portal workspace */
.portal-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.portal-summary-grid--three{grid-template-columns:repeat(3,1fr)}.portal-summary-grid>article{padding:16px 18px;border:1px solid #dce2ee;border-radius:10px;background:#fff}.portal-summary-grid span,.portal-summary-grid strong,.portal-summary-grid small{display:block}.portal-summary-grid span{color:#66748a;font-size:10px}.portal-summary-grid strong{margin:7px 0 3px;color:#101a34;font-size:25px}.portal-summary-grid small{color:#7a8699;font-size:9px}.portal-summary-grid .is-warning{border-top:3px solid #e5a719}.portal-summary-grid .is-danger{border-top:3px solid #dc5967}.portal-section{margin-bottom:14px;border:1px solid #dce2ee;border-radius:11px;background:#fff;overflow:hidden}.portal-section>header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;border-bottom:1px solid #e5e9f0}.portal-section>header h2,.portal-section>header p{margin:0}.portal-section>header p{margin-top:3px;color:#68758b;font-size:10px}.portal-section>header>span{color:#68758b;font-size:10px}.portal-license-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:12px;padding:14px}.portal-license-card{display:flex;flex-direction:column;padding:15px;border:1px solid #dfe4ed;border-radius:10px;color:#17213b;text-decoration:none;transition:.18s}.portal-license-card:hover{border-color:#315efb;box-shadow:0 12px 28px #1d3a8c17;transform:translateY(-2px)}.portal-license-card.is-due{border-top:3px solid #e5a719}.portal-license-card>header{display:flex;align-items:center;gap:10px}.portal-license-card>header>span{display:grid;place-items:center;width:37px;height:37px;border-radius:9px;background:#edf2ff;color:#315efb}.portal-license-card>header>div{min-width:0;flex:1}.portal-license-card>header strong,.portal-license-card>header small{display:block}.portal-license-card>header small{color:#748096}.portal-license-card>header>b{padding:5px 7px;border-radius:6px;background:#eaf7f1;color:#147452;font-size:9px}.portal-license-card.is-due>header>b{background:#fff3d9;color:#956610}.portal-license-usage{display:flex;align-items:baseline;gap:6px;margin:18px 0}.portal-license-usage strong{font-size:30px}.portal-license-usage span{color:#68758b}.portal-license-card dl{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0}.portal-license-card dl>div{min-width:0;padding:9px;background:#f6f8fb}.portal-license-card dt,.portal-license-card dd{margin:0}.portal-license-card dt{color:#7b8799;font-size:8px}.portal-license-card dd{margin-top:4px;font-size:10px;font-weight:800;overflow-wrap:break-word}.portal-license-card>footer{display:flex;justify-content:space-between;margin-top:14px;padding-top:12px;border-top:1px solid #edf0f5;color:#315efb;font-size:10px;font-weight:800}.portal-empty{grid-column:1/-1;padding:40px;text-align:center}.portal-empty>span,.portal-empty>strong,.portal-empty>p{display:block}.portal-empty>span{color:#315efb;font-size:28px}.portal-empty>p{color:#68758b}.portal-empty--small{padding:22px}.portal-request-list>article{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px 18px;border-bottom:1px solid #edf0f5}.portal-request-list>article:last-child{border:0}.portal-request-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:9px;background:#edf2ff;color:#315efb;font-weight:900}.portal-request-list article header{display:flex;align-items:center;gap:8px}.portal-request-list article p,.portal-request-list article small{display:block;margin:4px 0 0;color:#68758b}.portal-request-dialog{width:min(680px,calc(100vw - 24px));padding:0}.portal-request-dialog>form{background:#f6f8fb}.portal-request-types{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:0;padding:14px;border:0}.portal-request-types input{position:absolute;opacity:0}.portal-request-types label>span{display:grid;grid-template-columns:34px 1fr;column-gap:9px;padding:12px;border:1px solid #dce2ee;border-radius:9px;background:#fff;cursor:pointer}.portal-request-types b{grid-row:1/3;display:grid;place-items:center;width:34px;height:34px;border-radius:8px;background:#edf2ff;color:#315efb}.portal-request-types strong,.portal-request-types small{display:block}.portal-request-types small{color:#68758b;font-size:9px}.portal-request-types input:checked+span{border-color:#315efb;box-shadow:inset 0 0 0 1px #315efb}.portal-request-form{display:grid;grid-template-columns:1fr 1fr;gap:11px;padding:0 14px 14px}.portal-request-dialog footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 14px;border-top:1px solid #dce2ee;background:#fff}.portal-activity-list>a{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:15px;align-items:center;padding:15px 18px;border-bottom:1px solid #edf0f5;color:#17213b;text-decoration:none}.portal-activity-list>a:last-child{border:0}.portal-activity-list time{display:grid;justify-items:center;padding:9px;border-radius:9px;background:#0c1434;color:#fff}.portal-activity-list time strong{font-size:21px}.portal-activity-list time span,.portal-activity-list time small{font-size:9px}.portal-activity-list h3,.portal-activity-list p{margin:5px 0 0}.portal-activity-list p,.portal-activity-list div>small{color:#68758b}.portal-activity-list>a>b{color:#315efb;font-size:10px}.portal-quick-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:14px}.portal-quick-actions>a{display:grid;grid-template-columns:34px 1fr;column-gap:10px;padding:13px;border:1px solid #dce2ee;border-radius:9px;background:#fff;color:#17213b;text-decoration:none}.portal-quick-actions>a>span{grid-row:1/3;display:grid;place-items:center;width:34px;height:34px;border-radius:8px;background:#edf2ff;color:#315efb}.portal-quick-actions strong,.portal-quick-actions small{display:block}.portal-quick-actions small{color:#68758b;font-size:9px}.portal-quick-actions .is-primary{border-color:#315efb;background:#315efb;color:#fff}.portal-quick-actions .is-primary>span{background:#ffffff25;color:#fff}.portal-quick-actions .is-primary small{color:#dfe6ff}.portal-no-appointment{display:flex;align-items:center;gap:14px;margin-bottom:14px;padding:18px;border:1px dashed #aebad1;border-radius:11px;background:#fff}.portal-no-appointment>span{display:grid;place-items:center;width:44px;height:44px;border-radius:10px;background:#edf2ff;color:#315efb;font-size:20px}.portal-no-appointment>div{flex:1}.portal-no-appointment h2,.portal-no-appointment p{margin:0}.portal-no-appointment p{margin-top:4px;color:#68758b}.portal-license-hero{display:grid;grid-template-columns:280px 1fr;margin-bottom:14px;border-radius:12px;background:linear-gradient(135deg,#0c1434,#19366f);color:#fff;overflow:hidden}.portal-license-hero>div{padding:22px}.portal-license-hero>div p{margin:22px 0 4px;color:#b9c5df}.portal-license-hero>div>strong{font-size:35px}.portal-license-hero>div>strong small{font-size:13px}.portal-license-hero dl{display:grid;grid-template-columns:repeat(4,1fr);margin:0;background:#ffffff0b}.portal-license-hero dl>div{display:grid;align-content:center;padding:20px;border-left:1px solid #ffffff1b}.portal-license-hero dt,.portal-license-hero dd{margin:0}.portal-license-hero dt{color:#aebbd7;font-size:9px}.portal-license-hero dd{margin-top:6px;font-weight:800}.portal-license-detail{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,.7fr);gap:14px}.portal-period-list{padding:14px}.portal-period-list>article{display:grid;grid-template-columns:34px 1fr;gap:11px;padding:13px;border-left:2px solid #dce2ee}.portal-period-list>article.is-current{border-color:#315efb;background:#f7f9ff}.portal-period-list>article>span{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:#edf2ff;color:#315efb}.portal-period-list header{display:flex;justify-content:space-between}.portal-period-list p,.portal-period-list small{display:block;margin:5px 0 0;color:#68758b}.portal-key-vault{align-self:start}.portal-key-vault>.masked-key-list,.portal-key-vault>form,.portal-key-vault>.revealed-keys{margin:14px}
@media(max-width:900px){.portal-summary-grid,.portal-quick-actions{grid-template-columns:1fr 1fr}.portal-license-detail,.portal-license-hero{grid-template-columns:1fr}.portal-license-hero dl{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.portal-summary-grid,.portal-summary-grid--three,.portal-quick-actions,.portal-request-types,.portal-request-form{grid-template-columns:1fr}.portal-heading>.action-row,.portal-heading>.button{width:100%}.portal-request-list>article{grid-template-columns:34px 1fr}.portal-request-list>article>form{grid-column:1/-1}.portal-activity-list>a{grid-template-columns:58px 1fr}.portal-activity-list>a>b{display:none}.portal-no-appointment{align-items:flex-start;flex-wrap:wrap}.portal-no-appointment .button{width:100%}.portal-license-hero dl{grid-template-columns:1fr}.portal-license-card dl{grid-template-columns:1fr}}

/* Keep the customer license request popover inside the viewport. */
.quick-dialog.portal-request-dialog {
    width: min(680px, calc(100vw - 32px));
    max-width: 680px;
    max-height: calc(100dvh - 32px);
    overflow: hidden;
}

.portal-request-dialog > header {
    padding: 14px 16px;
    border-bottom: 1px solid #e5e9f0;
}

.quick-dialog.portal-request-dialog > form {
    display: block;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    max-height: calc(100dvh - 118px);
    padding: 0;
    overflow-x: hidden;
    overflow-y: auto;
}

.portal-request-dialog .portal-request-types,
.portal-request-dialog .portal-request-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    min-width: 0;
}

.portal-request-dialog .portal-request-types,
.portal-request-dialog .portal-request-types label,
.portal-request-dialog .portal-request-types label > span,
.portal-request-dialog .portal-request-form > *,
.portal-request-dialog .field,
.portal-request-dialog input,
.portal-request-dialog select,
.portal-request-dialog textarea {
    min-width: 0;
    max-width: 100%;
}

.portal-request-dialog footer {
    width: 100%;
    flex-wrap: wrap;
}

@media(max-width:650px) {
    .quick-dialog.portal-request-dialog {
        width: calc(100vw - 16px);
        max-height: calc(100dvh - 16px);
        margin-bottom: 8px;
        border-radius: 12px;
    }

    .portal-request-dialog .portal-request-types,
    .portal-request-dialog .portal-request-form {
        grid-template-columns: minmax(0, 1fr);
    }

    .portal-request-dialog footer {
        flex-direction: column-reverse;
    }

    .portal-request-dialog footer .button {
        width: 100%;
    }
}

/* Customer company hub */
.company-hub-summary > a{display:block;padding:16px 18px;border:1px solid #dce2ee;border-radius:10px;background:#fff;color:inherit;text-decoration:none;transition:.18s}.company-hub-summary>a:hover{border-color:#315efb;box-shadow:0 9px 24px #1d3a8c12;transform:translateY(-1px)}.company-hub-summary span,.company-hub-summary strong,.company-hub-summary small{display:block}.company-hub-summary span{color:#66748a;font-size:10px}.company-hub-summary strong{margin:7px 0 3px;color:#101a34;font-size:25px}.company-hub-summary small{color:#7a8699;font-size:9px}.company-hub-alerts{display:grid;grid-template-columns:220px 1fr;margin-bottom:14px;border:1px solid #f0d8a2;border-radius:11px;background:#fffaf0;overflow:hidden}.company-hub-alerts>header{display:grid;align-content:center;padding:18px;border-right:1px solid #f0d8a2}.company-hub-alerts h2{margin:4px 0 0;font-size:16px}.company-hub-alerts>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.company-hub-alerts a{display:grid;grid-template-columns:35px minmax(0,1fr) auto;gap:10px;align-items:center;padding:15px;border-right:1px solid #f4e5c3;color:#17213b;text-decoration:none}.company-hub-alerts a:last-child{border:0}.company-hub-alerts a>b{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#fff0c9;color:#9b6a00}.company-hub-alerts a strong,.company-hub-alerts a small{display:block}.company-hub-alerts a small{margin-top:3px;color:#756b58;font-size:9px}.company-hub-alerts a>i{color:#315efb;font-style:normal}.company-hub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.company-hub-card{min-height:295px}.company-hub-list>a{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:11px;align-items:center;padding:13px 17px;border-bottom:1px solid #edf0f5;color:#17213b;text-decoration:none}.company-hub-list>a:last-child{border:0}.company-hub-list>a:hover{background:#f8faff}.company-hub-list time,.company-hub-icon{display:grid;place-items:center;width:40px;min-height:40px;border-radius:9px;background:#edf2ff;color:#315efb}.company-hub-list time strong,.company-hub-list time span{display:block}.company-hub-list time span{font-size:8px}.company-hub-list>a>span>strong,.company-hub-list>a>span>small{display:block}.company-hub-list>a>span>small{margin-top:3px;color:#748096;font-size:9px}.company-hub-list>a>b{white-space:nowrap;font-size:9px}.company-hub-list>a>b.is-due{padding:5px 7px;border-radius:6px;background:#fff1d5;color:#976400}.company-hub-sales{margin-top:14px}.company-hub-sales>div>a{display:grid;grid-template-columns:minmax(0,1fr) 150px 100px;gap:14px;align-items:center;padding:13px 18px;border-bottom:1px solid #edf0f5;color:#17213b;text-decoration:none}.company-hub-sales>div>a:last-child{border:0}.company-hub-sales>div>a:hover{background:#f8faff}.company-hub-sales a>span:first-child small,.company-hub-sales a>span:first-child strong,.company-hub-sales a>span:first-child em{display:block}.company-hub-sales a>span:first-child small{color:#315efb;font-size:8px;font-weight:800}.company-hub-sales a>span:first-child em{margin-top:3px;color:#748096;font-size:9px;font-style:normal}.company-hub-amount{display:flex;align-items:baseline;justify-content:flex-end;gap:5px;white-space:nowrap;font-variant-numeric:tabular-nums}.company-hub-sales a>b{text-align:right;font-size:9px}.company-hub-grid--profile{margin-top:14px}.company-hub-details{display:grid;grid-template-columns:1fr 1fr;margin:0;padding:6px 18px 16px}.company-hub-details>div{min-width:0;padding:11px 0;border-bottom:1px solid #edf0f5}.company-hub-details>div:nth-child(odd){padding-right:12px}.company-hub-details dt,.company-hub-details dd{margin:0}.company-hub-details dt{color:#748096;font-size:9px}.company-hub-details dd{margin-top:4px;font-weight:700;overflow-wrap:break-word}.company-hub-modules>div>a{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:11px;align-items:center;padding:16px 18px;border-bottom:1px solid #edf0f5;color:#17213b;text-decoration:none}.company-hub-modules>div>a:last-child{border:0}.company-hub-modules a>b{display:grid;place-items:center;width:37px;height:37px;border-radius:9px;background:#edf2ff;color:#315efb}.company-hub-modules a strong,.company-hub-modules a small{display:block}.company-hub-modules a small{margin-top:3px;color:#748096;font-size:9px}.company-hub-modules a>i{color:#315efb;font-style:normal}
@media(max-width:900px){.company-hub-alerts{grid-template-columns:1fr}.company-hub-alerts>header{border-right:0;border-bottom:1px solid #f0d8a2}.company-hub-grid{grid-template-columns:1fr}}
@media(max-width:650px){.company-hub-alerts>div{grid-template-columns:1fr}.company-hub-alerts a{border-right:0;border-bottom:1px solid #f4e5c3}.company-hub-sales>div>a{grid-template-columns:minmax(0,1fr) auto}.company-hub-sales a>b{grid-column:1/-1;text-align:left}.company-hub-details{grid-template-columns:1fr}.company-hub-details>div:nth-child(odd){padding-right:0}}

/* License request review dialog */
.quick-dialog.license-request-dialog{width:min(620px,calc(100vw - 32px));max-width:620px;max-height:calc(100dvh - 32px);padding:0;overflow:hidden}.license-request-dialog>header{padding:16px 18px;border-bottom:1px solid #e5e9f0}.license-request-dialog__body{max-height:calc(100dvh - 130px);padding:18px;overflow-y:auto;background:#f7f9fc}.license-request-dialog__body>dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0}.license-request-dialog__body>dl>div{padding:12px;border:1px solid #e0e5ef;border-radius:9px;background:#fff}.license-request-dialog dt,.license-request-dialog dd{margin:0}.license-request-dialog dt{color:#748096;font-size:9px}.license-request-dialog dd{margin-top:4px;font-weight:800}.license-request-note{margin-top:12px;padding:13px;border-left:3px solid #315efb;background:#fff}.license-request-note small{color:#748096}.license-request-note p{margin-top:5px}.license-request-decision{display:block!important;margin-top:12px;padding:14px!important;border:1px solid #e0e5ef;border-radius:9px;background:#fff}.license-request-decision label>span{display:block;margin-bottom:6px;font-weight:800}.license-request-decision textarea{width:100%;min-width:0}.license-request-dialog__actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.license-request-fulfil{margin-top:12px;padding:14px;border:1px solid #bcd8ca;border-radius:9px;background:#f1faf5}.license-request-fulfil p{margin:5px 0 12px;color:#586b61}.button--danger{border-color:#f0c7cc;background:#fff0f2;color:#b42335}.button--danger:hover{background:#b42335;color:#fff}@media(max-width:650px){.quick-dialog.license-request-dialog{width:calc(100vw - 16px)}.license-request-dialog__body>dl{grid-template-columns:1fr}.license-request-dialog__actions{flex-direction:column}.license-request-dialog__actions .button{width:100%}}
.portal-meeting-hero{display:grid;grid-template-columns:210px 1fr;gap:0;margin-bottom:14px;border-radius:12px;background:linear-gradient(135deg,#0c1434,#1a3977);color:#fff;overflow:hidden}.portal-meeting-hero time{display:grid;justify-items:center;padding:28px;border-right:1px solid #ffffff1c}.portal-meeting-hero time strong{font-size:48px}.portal-meeting-hero time span,.portal-meeting-hero time small{color:#c3cee3}.portal-meeting-hero>div{display:grid;align-content:center;padding:28px}.portal-meeting-hero h2,.portal-meeting-hero p{margin:10px 0 0}.portal-meeting-hero p{color:#c3cee3}.portal-meeting-facts{display:grid;grid-template-columns:repeat(4,1fr);margin:0;padding:14px}.portal-meeting-facts>div{padding:12px;border-right:1px solid #e5e9f0}.portal-meeting-facts>div:last-child{border:0}.portal-meeting-facts dt,.portal-meeting-facts dd{margin:0}.portal-meeting-facts dt{color:#718096;font-size:9px}.portal-meeting-facts dd{margin-top:6px;font-weight:800}@media(max-width:650px){.portal-meeting-hero,.portal-meeting-facts{grid-template-columns:1fr}.portal-meeting-hero time{border-right:0;border-bottom:1px solid #ffffff1c}.portal-meeting-facts>div{border-right:0;border-bottom:1px solid #e5e9f0}}

/* Ticket / support center */
.ticket-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.ticket-kpis article{padding:16px 18px;border:1px solid #dce2ee;border-top:3px solid #315efb;border-radius:10px;background:#fff}.ticket-kpis .is-warning{border-top-color:#e6a51d}.ticket-kpis .is-danger{border-top-color:#d94b5b}.ticket-kpis span,.ticket-kpis strong,.ticket-kpis small{display:block}.ticket-kpis span,.ticket-kpis small{color:#718096;font-size:9px}.ticket-kpis strong{margin:6px 0;font-size:27px}.ticket-filters{display:grid;grid-template-columns:minmax(240px,1fr) 210px 180px auto;gap:9px;margin-bottom:12px;padding:12px;border:1px solid #dce2ee;border-radius:10px;background:#fff}.ticket-list{border:1px solid #dce2ee;border-radius:11px;background:#fff;overflow:hidden}.ticket-row{display:grid;grid-template-columns:40px minmax(250px,1fr) 170px 100px 145px 24px;gap:12px;align-items:center;padding:14px 17px;border-bottom:1px solid #edf0f5;color:#17213b;text-decoration:none}.ticket-row:hover{background:#f8faff}.ticket-row--urgent{border-left:4px solid #d94b5b}.ticket-row--high{border-left:4px solid #e6a51d}.ticket-row__mark{display:grid;place-items:center;width:37px;height:37px;border-radius:9px;background:#edf2ff;color:#315efb;font-weight:900}.ticket-row small,.ticket-row strong,.ticket-row em,.ticket-row b{display:block}.ticket-row small{color:#758198;font-size:8px}.ticket-row em{color:#66748a;font-size:9px;font-style:normal}.ticket-row-wrap{display:grid;grid-template-columns:minmax(0,1fr);border-bottom:1px solid #edf0f5}.ticket-row-wrap--select{grid-template-columns:36px minmax(0,1fr);align-items:center}.ticket-row-wrap:hover{background:#f8faff}.ticket-row-wrap--urgent{border-left:4px solid #d94b5b}.ticket-row-wrap--high{border-left:4px solid #e6a51d}.ticket-row-wrap>.ticket-row{border-bottom:0;border-left:0}.ticket-row-wrap--select>.ticket-row{padding-left:4px}.ticket-select{display:grid;place-items:center;height:100%;padding-left:12px;cursor:pointer}.ticket-select input{width:16px;height:16px}.ticket-bulk-bar{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:10px;padding:11px 15px;border:1px solid #cddafa;border-radius:10px;background:#f2f6ff}.ticket-bulk-bar .check{margin:0}.ticket-bulk-bar__count{color:#3c4a63;font-size:10px}.ticket-bulk-bar__count b{font-size:13px}.ticket-bulk-bar>.button{margin-left:auto}.ticket-bulk-dialog{width:min(560px,calc(100vw - 24px))}.ticket-bulk-dialog .dialog-body{display:grid;gap:12px}.ticket-bulk-dialog__count{margin:0;color:#3c4a63}.ticket-bulk-dialog__note{margin:0;padding:11px 13px;border-radius:9px;background:#fff8e8;color:#756848;font-size:10px;line-height:1.6}.ticket-filters--compact{grid-template-columns:minmax(200px,1fr) 210px auto}.ticket-maintenance-warning,.ticket-remote-notice{display:flex;gap:12px;margin-bottom:14px;padding:15px 17px;border:1px solid #efd28c;border-radius:10px;background:#fff8e8}.ticket-maintenance-warning p,.ticket-remote-notice p{margin:3px 0 0;color:#756848}.ticket-create-form{display:grid;gap:13px}.ticket-create-form>section,.ticket-close-flow>section{padding:18px;border:1px solid #dce2ee;border-radius:11px;background:#fff}.ticket-create-form>section>header{display:flex;gap:12px;margin-bottom:17px}.ticket-create-form>section>header>span{display:grid;place-items:center;width:36px;height:36px;border-radius:9px;background:#0d1738;color:#fff}.ticket-create-form h2,.ticket-create-form p{margin:0}.ticket-create-form .span-2{grid-column:1/-1}.ticket-company-summary{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid #dce2ee;border-radius:9px}.ticket-address{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;margin-top:12px;padding:13px;border-radius:9px;background:#f5f7fb}.ticket-address>[data-address-field]{grid-column:1/-1}.ticket-file-drop{display:grid;justify-items:center;gap:7px;padding:28px;border:1px dashed #aab7ce;border-radius:10px;background:#f8faff;text-align:center}.ticket-create-form>footer{display:flex;justify-content:flex-end;gap:9px;padding:14px;border:1px solid #dce2ee;border-radius:10px;background:#fff}.ticket-detail-hero{display:grid;grid-template-columns:repeat(4,1fr);margin-bottom:14px;border-radius:11px;background:linear-gradient(135deg,#0c1434,#1b3c80);color:#fff;overflow:hidden}.ticket-detail-hero>div{padding:17px;border-right:1px solid #ffffff1c}.ticket-detail-hero span,.ticket-detail-hero strong{display:block}.ticket-detail-hero span{color:#afbdd8;font-size:9px}.ticket-detail-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.65fr);gap:14px}.ticket-description>div{padding:18px;line-height:1.7}.ticket-description>footer{display:flex;flex-wrap:wrap;gap:8px;padding:12px 18px}.ticket-conversation>div{padding:14px}.ticket-conversation article{margin-bottom:10px;padding:13px;border:1px solid #dfe4ed;border-radius:9px}.ticket-conversation article.is-internal{border-color:#ecd28f;background:#fff9eb}.ticket-conversation article>header{display:flex;justify-content:space-between}.ticket-conversation>form,.ticket-management>form{display:grid;gap:10px;padding:14px;border-top:1px solid #dfe4ed;background:#f7f9fc}.ticket-facts dl{margin:0;padding:8px 16px 16px}.ticket-closure-card>div{padding:16px 18px}.ticket-facts dl>div{padding:10px 0;border-bottom:1px solid #edf0f5}.ticket-facts dt,.ticket-facts dd{margin:0}.ticket-facts dt{color:#758198;font-size:9px}.ticket-close-flow{display:grid;grid-template-columns:1fr 1fr;gap:14px}.ticket-close-flow label,.ticket-signatures>div{display:grid;gap:6px;margin-top:13px}.ticket-signatures canvas{width:100%;height:130px;border:1px solid #aeb9cc;border-radius:8px;background:#fff;touch-action:none}.ticket-type-list>article{display:grid;grid-template-columns:1fr auto;gap:10px;padding:13px 17px}.ticket-type-list>article>form:first-child{display:grid;grid-template-columns:1fr 1.5fr auto auto;gap:9px;align-items:end}.ticket-type-dialog{width:min(520px,calc(100vw - 24px));padding:0}.ticket-type-dialog>header{padding:15px 18px}
@media(max-width:1000px){.ticket-kpis{grid-template-columns:1fr 1fr}.ticket-row{grid-template-columns:40px minmax(0,1fr) 150px 24px}.ticket-row>span:nth-of-type(4),.ticket-row>span:nth-of-type(5){display:none}.ticket-detail-grid,.ticket-close-flow{grid-template-columns:1fr}}
@media(max-width:650px){.ticket-kpis,.ticket-filters{grid-template-columns:1fr}.ticket-filters--compact{grid-template-columns:1fr}.ticket-bulk-bar{gap:10px}.ticket-bulk-bar>.button{margin-left:0;width:100%}.ticket-row{grid-template-columns:38px minmax(0,1fr) auto}.ticket-row>span:nth-of-type(3){display:none}.ticket-detail-hero{grid-template-columns:1fr 1fr}.ticket-address{grid-template-columns:1fr}.ticket-create-form .form-grid,.ticket-type-list>article,.ticket-type-list>article>form:first-child{grid-template-columns:1fr}.ticket-create-form>footer{flex-direction:column-reverse}}
.ticket-create-form *, .ticket-detail-grid *, .ticket-close-flow *, .ticket-type-list *{min-width:0}.ticket-address strong,.ticket-detail-grid p,.ticket-detail-grid dd,.ticket-close-summary small,.ticket-row strong,.ticket-row em{overflow-wrap:break-word;word-break:normal}.ticket-conversation article>header{gap:10px;flex-wrap:wrap}.ticket-close-flow .check{display:flex;grid-template-columns:none;align-items:flex-start;gap:8px;line-height:1.4}.ticket-close-flow .check input{flex:0 0 auto;width:16px;height:16px;margin-top:2px}.ticket-close-flow .button--wide{white-space:normal;min-height:42px}.ticket-file-preview{width:min(1000px,calc(100vw - 32px));height:min(780px,calc(100dvh - 32px));padding:0;border:0;border-radius:14px;box-shadow:0 28px 90px #07112e55;overflow:hidden}.ticket-file-preview::backdrop{background:#07112eaa;backdrop-filter:blur(3px)}.ticket-file-preview>header,.ticket-file-preview>footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;background:#fff}.ticket-file-preview>header{border-bottom:1px solid #e2e7f0}.ticket-file-preview>header h2,.ticket-file-preview>header p{margin:0}.ticket-file-preview>footer{border-top:1px solid #e2e7f0}.ticket-file-preview__body{display:grid;place-items:center;height:calc(100% - 132px);min-height:300px;overflow:auto;background:#eef2f7;white-space:pre-wrap}.ticket-file-preview__body iframe{width:100%;height:100%;border:0;background:#fff}.ticket-file-preview__body img{display:block;max-width:100%;max-height:100%;object-fit:contain}.ticket-preview-loading,.ticket-preview-unavailable{max-width:480px;padding:26px;text-align:center}.ticket-preview-unavailable p{color:#657289}@media(max-width:650px){.ticket-file-preview{width:100vw;height:100dvh;max-width:none;max-height:none;border-radius:0}.ticket-file-preview>footer{flex-wrap:wrap}.ticket-file-preview>footer .button{flex:1}.ticket-close-flow>section{padding:14px}.ticket-signatures canvas{height:115px}}
@media(max-width:760px){.organization-switcher>summary{min-width:0}.organization-switcher>summary span{display:none}.organization-switcher>summary strong{max-width:120px}.lifecycle-options,.opportunity-conversion{grid-template-columns:1fr}.opportunity-conversion{padding:16px}.multi-organization-field>div{grid-template-columns:1fr}}

/* Customer lifecycle and multi-company access selectors */
.lifecycle-options{padding:18px 20px!important}.lifecycle-options>label{position:relative;display:grid!important;grid-template-columns:44px minmax(0,1fr) 24px;align-items:center;gap:13px;min-height:112px;padding:16px!important;border:1px solid #dce3ef!important;border-radius:12px!important;background:#fff;overflow:hidden}.lifecycle-options>label:hover{border-color:#9db0fa!important;background:#fafbff}.lifecycle-options>label>input{position:absolute!important;width:1px!important;height:1px!important;margin:0!important;padding:0!important;opacity:0}.lifecycle-icon{display:grid!important;place-items:center;width:44px;height:44px;border-radius:11px;background:#f0f3f9;color:#53627b;font-size:21px}.lifecycle-options>label>span:nth-of-type(2){display:block!important}.lifecycle-options strong,.lifecycle-options small,.lifecycle-options b{display:block}.lifecycle-options strong{font-size:.95rem}.lifecycle-options small{margin-top:4px;line-height:1.4}.lifecycle-options b{margin-top:9px;color:#315efb;font-size:.67rem}.lifecycle-check{display:grid!important;place-items:center;width:22px;height:22px;border:1px solid #cbd4e2;border-radius:50%;color:transparent}.lifecycle-options>label:has(input:checked){border-color:#315efb!important;background:#f6f8ff;box-shadow:0 0 0 3px #315efb14!important}.lifecycle-options>label:has(input:checked) .lifecycle-icon{background:#315efb;color:#fff}.lifecycle-options>label:has(input:checked) .lifecycle-check{border-color:#315efb;background:#315efb;color:#fff}
.multi-organization-field{padding:0!important;border:0!important}.organization-field-head{display:flex!important;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px!important}.organization-field-head legend{margin:0 0 4px}.organization-field-head output{flex:none;padding:6px 9px;border-radius:999px;background:#edf2ff;color:#315efb;font-size:.7rem;font-weight:800}.organization-search{position:relative;display:flex!important;align-items:center;margin-bottom:10px}.organization-search>span{position:absolute;left:13px;z-index:1;color:#718096}.organization-search input{height:42px;padding-left:36px!important}.organization-option-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;max-height:310px;margin:0 0 14px!important;padding:3px;overflow:auto}.organization-option-list>label{position:relative;display:grid!important;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:10px;min-height:62px;padding:10px 12px!important;border:1px solid #dce3ef!important;border-radius:10px!important;background:#fff;cursor:pointer}.organization-option-list>label:hover{border-color:#a9b8ec!important;background:#fafbff}.organization-option-list>label>input{position:absolute!important;width:1px!important;height:1px!important;margin:0!important;padding:0!important;opacity:0}.organization-option-mark{display:grid!important;place-items:center;width:25px;height:25px;border:1px solid #c9d2e1;border-radius:7px;color:transparent}.organization-option-list>label>span:last-child{min-width:0}.organization-option-list strong,.organization-option-list small{display:block;overflow-wrap:anywhere}.organization-option-list strong{font-size:.78rem;line-height:1.25}.organization-option-list small{margin-top:3px;color:#78849a;font-size:.64rem}.organization-option-list>label:has(input:checked){border-color:#7894ff!important;background:#f4f7ff}.organization-option-list>label:has(input:checked) .organization-option-mark{border-color:#315efb;background:#315efb;color:#fff}.organization-default{padding-top:13px;border-top:1px solid #e4e8f0}.organization-default select{margin-top:2px}.organization-default small{color:#78849a;font-weight:500}
@media(max-width:700px){.lifecycle-options{padding:14px!important}.lifecycle-options>label{grid-template-columns:40px minmax(0,1fr) 22px;min-height:100px}.lifecycle-icon{width:40px;height:40px}.organization-option-list{grid-template-columns:1fr!important;max-height:280px}}
.crm-location-link{display:flex;align-items:flex-start;gap:7px;color:#fff;text-decoration:underline;text-decoration-color:#ffffff66;text-underline-offset:3px}.crm-location-link span{min-width:0;overflow-wrap:anywhere}.crm-location-link b{flex:none;font-size:14px}.crm-location-link:hover{text-decoration-color:#fff}
.sales-dispatch-card{display:flex;align-items:center;gap:13px;margin:14px 0;padding:15px 18px;border:1px solid #dce2ee;border-left:4px solid #315efb;border-radius:10px;background:#fff}.sales-dispatch-card>span{display:grid;place-items:center;width:38px;height:38px;flex:none;border-radius:9px;background:#edf2ff;color:#315efb;font-size:18px;font-weight:900}.sales-dispatch-card h2,.sales-dispatch-card p{margin:0}.sales-dispatch-card small{display:block;margin-top:4px;color:#68758b;overflow-wrap:anywhere}.sales-dispatch-card--whatsapp{border-left-color:#1b9a59}.sales-dispatch-card--whatsapp>span{background:#eaf9f0;color:#168349}.sales-dispatch-card--external{border-left-color:#e3a21c}.sales-dispatch-card--external>span{background:#fff6df;color:#976810}@media(max-width:600px){.sales-dispatch-card{align-items:flex-start;padding:14px}}
/* Gonderim gecmisi: ust karttaki tek satir "ne zaman gitti" diyor, bu liste
   "kac kez, kime ve gercekten gitti mi" diyor. Yalnizca birden fazla kayit
   varsa basiliyor - tek gonderimde ustteki kartin tekrari olurdu. */
.dispatch-log{margin:14px 0;padding:15px 18px;border:1px solid #dce2ee;border-radius:10px;background:#fff}
.dispatch-log h2{margin:0 0 11px;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#68758b}
.dispatch-log ul{display:grid;gap:9px;margin:0;padding:0;list-style:none}
.dispatch-log__row{display:flex;align-items:flex-start;gap:11px}
.dispatch-log__row strong{display:block;font-size:13px;overflow-wrap:anywhere}
.dispatch-log__row small{display:block;margin-top:2px;color:#68758b;font-size:12px;overflow-wrap:anywhere}
.dispatch-log__state{flex:none;min-width:76px;padding:3px 9px;border-radius:999px;background:#eef2f8;color:#68758b;font-size:11px;font-weight:800;text-align:center}
.dispatch-log__row--sent .dispatch-log__state{background:#eaf9f0;color:#168349}
.dispatch-log__row--failed .dispatch-log__state{background:#fdecec;color:#b3261e}
.dispatch-log__row--pending .dispatch-log__state{background:#fff6df;color:#976810}

/* Technician workspace and role-aware access */
.permission-baseline{align-self:center;padding:7px 10px;border-radius:999px;background:#eaf8f1;color:#14734a;font-size:.7rem;font-weight:800}.permission-check--fixed{position:relative;display:grid;grid-template-columns:36px minmax(0,1fr) 22px;align-items:center;gap:11px;padding:13px;border:1px solid #bfe4d0;border-radius:10px;background:#f1fbf6}.permission-check--fixed .permission-check__mark{display:grid;place-items:center;border-radius:50%;background:#178a59;color:#fff}.technician-welcome{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px;padding:22px 24px;border-radius:13px;background:linear-gradient(135deg,#0c1537,#20488e);color:#fff}.technician-welcome h2,.technician-welcome p{margin:4px 0 0}.technician-welcome p{color:#c5d2e8}.technician-welcome .eyebrow{color:#8eb0ff}.technician-welcome .button--quiet{border-color:#ffffff35;background:#ffffff12;color:#fff}.technician-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-bottom:14px}.technician-kpis article{padding:16px 18px;border:1px solid #dce2ee;border-top:3px solid #315efb;border-radius:11px;background:#fff}.technician-kpis article.is-danger{border-top-color:#d84d5d}.technician-kpis article.is-warning{border-top-color:#e3a21c}.technician-kpis span,.technician-kpis strong,.technician-kpis small{display:block}.technician-kpis span,.technician-kpis small{color:#718096;font-size:.72rem}.technician-kpis strong{margin:7px 0;font-size:1.8rem}.technician-queue{border:1px solid #dce2ee;border-radius:12px;background:#fff;overflow:hidden}.technician-queue>header{padding:18px 20px;border-bottom:1px solid #e7ebf2}.technician-queue h2,.technician-queue p{margin:3px 0 0}.technician-ticket{display:grid;grid-template-columns:40px minmax(0,1fr) 160px 155px 22px;gap:13px;align-items:center;padding:15px 18px;border-bottom:1px solid #edf0f5;color:#17213b;text-decoration:none}.technician-ticket:last-child{border-bottom:0}.technician-ticket:hover{background:#f8faff}.technician-ticket--urgent{border-left:4px solid #d84d5d}.technician-ticket--high{border-left:4px solid #e3a21c}.technician-ticket__mark{display:grid;place-items:center;width:38px;height:38px;border-radius:9px;background:#edf2ff;color:#315efb;font-weight:900}.technician-ticket small,.technician-ticket strong{display:block}.technician-ticket small{color:#748096;font-size:.68rem}.technician-ticket strong{margin-top:3px;overflow-wrap:break-word}

/* Mobile-first ticket closure evidence */
.ticket-address small,.ticket-address strong{display:block}.ticket-address small{margin-bottom:4px;color:#758198}.ticket-address strong{line-height:1.45}.ticket-close-flow>section>header h2,.ticket-close-flow>section>header p{margin:4px 0 0}.ticket-close-flow>section>header>p:last-child{color:#6d7990}.ticket-close-summary{display:grid;gap:0;margin:16px 0 0;border:1px solid #e0e5ee;border-radius:10px;background:#f8faff;overflow:hidden}.ticket-close-summary>div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:12px;padding:11px 13px;border-bottom:1px solid #e5e9f1}.ticket-close-summary>div:last-child{border-bottom:0}.ticket-close-summary dt,.ticket-close-summary dd{margin:0}.ticket-close-summary dt{color:#738097;font-size:.72rem}.ticket-close-summary dd{font-weight:750;line-height:1.45;overflow-wrap:break-word}.ticket-location-panel{margin-top:16px!important;padding:15px!important;border:1px solid #c9d6fb!important;border-radius:11px;background:#f7f9ff!important}.ticket-location-panel>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.ticket-location-panel h3,.ticket-location-panel p{margin:3px 0 0}.ticket-location-state{margin-top:12px;padding:12px 14px;border-radius:9px;background:#edf2ff}.ticket-location-state strong,.ticket-location-state p{display:block;margin:0}.ticket-location-state p{margin-top:4px;color:#68758b}.ticket-location-state.is-success{background:#eaf8f1;color:#176f49}.ticket-location-state.has-error{background:#fff0f2;color:#a62c3d}.ticket-location-state.is-loading{background:#fff7e4;color:#8e6500}.ticket-location-fallback{margin-top:12px!important}.ticket-signature-cards{display:grid;gap:11px;margin-top:16px}.ticket-signature-cards>article{padding:14px;border:1px solid #dce2ee;border-radius:11px;background:#f9fbfe}.ticket-signature-cards>article.is-signed{border-color:#a9dcc1;background:#f2fbf6}.ticket-signature-card__head{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:11px;align-items:center}.ticket-signature-card__head>span{display:grid;place-items:center;width:38px;height:38px;border-radius:9px;background:#edf2ff;color:#315efb;font-weight:900}.ticket-signature-card__head strong,.ticket-signature-card__head small{display:block}.ticket-signature-card__head small{margin-top:3px;color:#748096}.ticket-signature-card__head>b{padding:5px 8px;border-radius:999px;background:#edf0f5;color:#657187;font-size:.65rem}.is-signed .ticket-signature-card__head>b{background:#dff4e9;color:#176f49}.ticket-signature-cards img{display:block;width:100%;height:82px;margin-top:12px;border:1px solid #dfe4ed;border-radius:8px;background:#fff;object-fit:contain}.ticket-signature-cards .action-row{margin-top:11px}.ticket-close-submit{display:grid;gap:14px;margin-top:17px;padding-top:16px;border-top:1px solid #e2e7ef}.ticket-close-confirm{display:flex!important;align-items:flex-start;gap:10px;margin:0!important;padding:13px 14px;border:1px solid #dce2ee;border-radius:9px;background:#f8faff;line-height:1.45}.ticket-close-confirm input{flex:none;width:18px;height:18px;margin:1px 0 0}.signature-dialog{width:min(900px,calc(100vw - 32px));max-width:900px;padding:0;border:0;border-radius:14px;box-shadow:0 30px 100px #07112e66;overflow:hidden}.signature-dialog::backdrop{background:#07112eb8;backdrop-filter:blur(4px)}.signature-dialog>header,.signature-dialog>footer{display:flex;align-items:center;gap:12px;padding:15px 18px;background:#fff}.signature-dialog>header{justify-content:space-between;border-bottom:1px solid #e2e7ef}.signature-dialog>header h2,.signature-dialog>header p{margin:0}.signature-dialog>header small{display:block;margin-top:4px;color:#68758b}.signature-dialog__canvas{position:relative;padding:18px;background:#eef2f7}.signature-dialog__canvas canvas{display:block;width:100%;height:min(44vh,360px);border:2px dashed #9facbf;border-radius:11px;background:#fff;touch-action:none}.signature-dialog__canvas p{position:absolute;left:50%;top:50%;z-index:0;margin:0;color:#a0aabc;transform:translate(-50%,-50%);pointer-events:none}.signature-dialog__canvas canvas{position:relative;z-index:1}.signature-dialog>footer>span{flex:1}.ticket-closure-location{margin:12px 0;padding:12px;border:1px solid #cbd8fb;border-radius:9px;background:#f6f8ff}.ticket-closure-location strong,.ticket-closure-location p,.ticket-closure-location small,.ticket-closure-location a{display:block}.ticket-closure-location p{margin:5px 0}.ticket-closure-location small{color:#6e7b91}.ticket-closure-location a{margin-top:8px;color:#2453ed;font-weight:800}.ticket-file-preview>header small{display:block;margin-top:4px;color:#6d7990}
@media(max-width:1000px){.technician-kpis{grid-template-columns:1fr 1fr}.technician-ticket{grid-template-columns:40px minmax(0,1fr) 135px 22px}.technician-ticket>span:nth-of-type(4){display:none}}
@media(max-width:700px){.technician-welcome{align-items:stretch;flex-direction:column;padding:18px}.technician-welcome .action-row{display:grid;grid-template-columns:1fr}.technician-welcome .button{width:100%}.technician-kpis{grid-template-columns:1fr 1fr}.technician-ticket{grid-template-columns:36px minmax(0,1fr) 20px;padding:13px}.technician-ticket>span:nth-of-type(3),.technician-ticket>span:nth-of-type(4){display:none}.ticket-close-heading{align-items:flex-start}.ticket-close-flow{gap:10px}.ticket-close-flow>section{padding:14px}.ticket-close-summary>div{grid-template-columns:1fr;gap:4px}.ticket-location-panel>header{align-items:stretch;flex-direction:column}.ticket-location-panel>header .button{width:100%}.ticket-signature-card__head{grid-template-columns:36px minmax(0,1fr)}.ticket-signature-card__head>b{grid-column:2;justify-self:start}.ticket-signature-cards .action-row{display:grid;grid-template-columns:1fr}.ticket-signature-cards .button{width:100%}.ticket-close-submit{position:relative}.signature-dialog{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;border-radius:0}.signature-dialog[open]{display:flex;flex-direction:column}.signature-dialog>header{min-height:78px;flex:none}.signature-dialog__canvas{display:grid;align-items:center;flex:1 1 auto;min-height:0;padding:12px}.signature-dialog__canvas canvas{height:100%;max-height:none}.signature-dialog>footer{flex:none;min-height:80px;padding:12px;flex-wrap:wrap}.signature-dialog>footer>span{display:none}.signature-dialog>footer .button{flex:1}.file-preview-dialog{width:100vw;height:100dvh}}
@media(max-width:480px){.technician-kpis{grid-template-columns:1fr}.signature-dialog>footer .button:first-child{flex-basis:100%}.ticket-close-confirm{padding:12px}.ticket-close-submit .button{min-height:50px}}

/* ---------- Durum rozetleri: Turkce metin daha uzun, mobilde sigmali ----------
   Rozetler ENUM degeri bastigi surece kisaydi ("sent"); Turkce karsiliklar
   ("Gonderildi", "Revizyon istendi") daha uzun ve dar ekranda satiri tasiyordu.
   Rozet artik sarilmiyor, kendi satirinda duruyor ve kucuk ekranda kuculuyor. */
.sales-status,
.status,
.license-state,
.pl-pill {
    white-space: nowrap;
    text-transform: none;
    letter-spacing: .01em;
}

@media (max-width: 760px) {
    /* Hero'da rozet + tutar + ozet alt alta gecer; yan yana sikismaz. */
    .sales-document-hero,
    .customer-document-summary {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    }

    .sales-document-hero dl,
    .customer-document-summary dl {
        width: 100%;
    }

    .sales-status,
    .status,
    .license-state,
    .pl-pill {
        font-size: .62rem;
        padding: 4px 8px;
    }

    /* Uzun durum metni tek satira sigmiyorsa SARILIR. Kirpma denenmisti ama
       "Revizyon iste..." hicbir sey anlatmiyor; iki satirlik rozet anlatiyor. */
    .sales-status,
    .license-state,
    .pl-pill {
        max-width: 100%;
        white-space: normal;
        text-align: center;
        line-height: 1.35;
    }
}

/* ── Yapay zeka ayarlari ──────────────────────────────────────────────
   Saglayici kartlari: radyo dugmesi gorunur kalir (klavye ve ekran
   okuyucu icin), secili kart cerceveyle isaretlenir. `:has(input:checked)`
   JS olmadan da calisir; ai-settings.js yalnizca model listesini
   filtrelemek icin var. */
.ai-providers{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin:4px 0 14px}
.ai-provider{display:grid;gap:5px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer}
.ai-provider:has(input:checked){border-color:#315efb;box-shadow:0 0 0 3px rgba(49,94,251,.12)}
.ai-provider input{margin:0 0 4px}
.ai-provider__head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}
.ai-provider__head strong{font-size:.95rem}
.ai-provider__state{padding:3px 8px;border-radius:999px;background:var(--tone-ok-bg);color:var(--tone-ok-fg);font-size:.7rem;font-weight:700;white-space:nowrap}
.ai-provider__state.is-missing{background:var(--tone-neutral-bg);color:var(--tone-neutral-fg)}
.ai-provider small{color:var(--muted);font-size:.75rem}

.ai-usage-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:12px 0}
.ai-usage-tile{padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff}
.ai-usage-tile small{display:block;margin-bottom:3px;color:var(--muted);font-size:.74rem;font-weight:700;letter-spacing:.3px;text-transform:uppercase}
.ai-usage-tile strong{font-size:1.15rem;overflow-wrap:anywhere}
/* Butce asildiginda kirmizi: bu kutu "yeni cagri reddediliyor" demek. */
.ai-usage-tile.is-over{border-color:var(--tone-danger-fg);background:var(--tone-danger-bg)}
.ai-usage-tile.is-over strong{color:var(--tone-danger-fg)}
/* Fiyati bilinmeyen model: 0,00 USD yazmak "bedava" demek olurdu. */
.ai-unmeasured{color:var(--muted);font-style:italic}

/* ── Karta donen tablo (yeniden kullanilabilir) ───────────────────────
   Ayni desen once `reconciliation.css` icinde `.rec-table`a ozel yazildi;
   yapay zeka kullanim kaydi ve pazarlama ekranlari da ayni seyi istiyor.
   Burada sinifa baglandi. `.rec-table` KENDI kopyasinda birakildi: calisan
   ve dogrulanmis bir ekrani yeni bir sinifa tasimak, kazanci olmayan bir
   risk olurdu.

   Neden kart: alti sutunlu bir tabloyu telefonda yatay kaydirmaya birakmak
   sutun basliklarini ekran disinda birakiyor ve hangi hucreye bakildigi
   anlasilmiyor. Basliklar `data-label` ile her hucrenin yanina tasiniyor. */
@media (max-width: 760px) {
    /* panel-ux.css mobilde `.table-wrap table`a `min-width:560px` ve ilk
       sutuna `position:sticky` veriyor - yatay kayan tablolar icin dogru,
       karta donen tablo icin zararli: kart 560px'e gerilir. */
    .table-wrap .stack-table { min-width: 0; }
    .table-wrap:has(.stack-table) { background: none; }
    .table-wrap .stack-table th:first-child,
    .table-wrap .stack-table td:first-child { position: static; box-shadow: none; }

    .stack-table thead { display: none; }
    .stack-table, .stack-table tbody, .stack-table tr, .stack-table td { display: block; width: 100%; }
    .stack-table tr { margin-bottom: 10px; padding: 12px; border: 1px solid var(--line); border-radius: 11px; background: #fff; }
    .stack-table td { padding: 7px 0; border: 0; border-bottom: 1px solid #eef1f6; text-align: left; }
    .stack-table td:last-child { border-bottom: 0; padding-bottom: 0; }
    .stack-table td::before {
        content: attr(data-label);
        display: block; margin-bottom: 3px;
        color: var(--muted); font-size: .68rem; font-weight: 800;
        text-transform: uppercase; letter-spacing: .04em;
    }
}

/* ── Pazarlama modulu ─────────────────────────────────────────────────
   Liste kartlari ve kampanya alici secimi. Yeni bir tasarim dili
   getirilmiyor; ai-usage-tile ve cc-field bilesenleri oldugu gibi
   yeniden kullaniliyor. */
.marketing-lists{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.marketing-list-card{position:relative;display:block;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff}
.marketing-list-card.is-active{border-color:#315efb;box-shadow:0 0 0 3px rgba(49,94,251,.12)}
.marketing-list-card strong{display:block;overflow-wrap:anywhere}
.marketing-list-card small{display:block;margin-top:3px;color:var(--muted);font-size:.76rem}
/* Silme dugmesi kartin kosesinde; kart tiklanabilir oldugu icin form
   ustune biniyor ve kendi tiklama alanini koruyor. */
.marketing-list-card form{position:absolute;right:6px;top:6px;margin:0}
.marketing-list-remove{width:24px;height:24px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--muted);font-size:16px;line-height:1;cursor:pointer}
.marketing-list-remove:hover{background:var(--tone-danger-bg);color:var(--tone-danger-fg)}

.marketing-list-pick{display:flex;align-items:flex-start;gap:9px;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer}
.marketing-list-pick:has(input:checked){border-color:#315efb;box-shadow:0 0 0 3px rgba(49,94,251,.12)}
.marketing-list-pick input{margin:2px 0 0;width:17px;height:17px;flex:0 0 auto}
.marketing-list-pick span{display:grid;gap:2px;min-width:0}
.marketing-list-pick small{color:var(--muted);font-size:.76rem}

/* Huni kutularindaki oran, sayinin yaninda ikincil kalir. */
.ai-usage-tile em{font-style:normal;font-size:.8rem;font-weight:600;color:var(--muted)}

/* Yapay zeka taslak penceresi. panel-ux.css butun dialoglara 680px veriyor;
   bu pencere dar bir form ve o genislik fazla. */
dialog.ai-draft-dialog{width:min(540px,calc(100vw - 28px));max-width:min(540px,calc(100vw - 28px))}
.ai-draft-body{display:grid;gap:12px;padding:16px 20px}
.ai-draft-status{margin:0;padding:9px 11px;border-radius:8px;font-size:.82rem;line-height:1.5}
.ai-draft-status.is-busy{background:#edf2ff;color:#29417d}
.ai-draft-status.is-error{background:var(--tone-danger-bg);color:var(--tone-danger-fg)}

/* ── Yapilacaklar ─────────────────────────────────────────────────────
   Genis ekranda liste solda, sayilar sagda. Onceden liste 760px'te kalip
   ekranin yarisini bos birakiyordu. Dar ekranda sayilar listenin USTUNE
   gecer: telefonda once "kac isim var" gorulur, sonra liste. */
.todo-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:20px;align-items:start;max-width:1120px}
.todo-main{min-width:0}
.todo-side{position:sticky;top:16px;display:grid;gap:10px}
.todo-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.todo-stat{padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:#fff}
.todo-stat small{display:block;margin-bottom:2px;color:var(--muted);font-size:.68rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}
.todo-stat strong{font-size:1.4rem;line-height:1.1}
/* Gecikmis ve bugun biten bakar bakmaz ayrilmali. */
.todo-stat.is-late{border-color:var(--tone-danger-fg);background:var(--tone-danger-bg)}
.todo-stat.is-late strong{color:var(--tone-danger-fg)}
.todo-stat.is-today{border-color:var(--tone-warn-fg);background:var(--tone-warn-bg)}
.todo-stat.is-today strong{color:var(--tone-warn-fg)}
.todo-side-hint{margin:0;color:var(--muted);font-size:.72rem;line-height:1.5}
.todo-late{color:var(--tone-danger-fg)}

/* Cerceve FORMA ait, girdiye degil: paylasim ikonu ile metin alani tek bir
   alan gibi gorunmeli. Ayri bir onay kutusu ve aciklama satiri vardi;
   ikisi de kalktı - ikon zaten yeterince anlasilir. */
.todo-add{display:flex;align-items:center;gap:6px;margin-bottom:14px;padding:4px 4px 4px 6px;
    border:1px solid var(--line);border-radius:12px;background:#fff}
.todo-add:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px rgba(49,94,251,.13)}
.todo-add input[name="title"]{flex:1 1 auto;min-width:0;padding:11px 6px;border:0;background:transparent;font-size:1rem}
.todo-add input[name="title"]:focus{outline:none;box-shadow:none}
.todo-add .button{flex:0 0 auto}

/* Gizli onay kutusu: JS yokken de calisir, ikon ona bagli (`for`). */
.todo-share-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.todo-share-toggle{display:grid;place-items:center;width:34px;height:34px;flex:0 0 auto;
    border-radius:9px;color:#aab3c6;cursor:pointer}
.todo-share-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;
    stroke-linecap:round;stroke-linejoin:round}
.todo-share-toggle:hover{background:#eef2fb;color:var(--ink)}
/* AKTIF hal: dugme basili gibi. Sinifi JS yansitiyor - `:has()` eski
   Safari'de calismiyor ve anahtar sessizce hep kapali gorunurdu. */
.todo-add.is-sharing .todo-share-toggle{background:var(--tone-ok-bg);color:var(--tone-ok-fg)}
.todo-share-input:focus-visible + .todo-share-toggle{outline:2px solid var(--blue);outline-offset:1px}
.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}

.todo-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.todo{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:10px;
      padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff}
.todo.is-dragging{opacity:.6;box-shadow:0 10px 26px rgba(12,20,52,.18)}
.todo form{display:contents}

/* Tutamak: yalniz burasi surukler. Butun satir suruklenebilir olsaydi metni
   secmek ve kutuyu isaretlemek imkansizlasirdi. */
.todo-grip{width:26px;height:38px;padding:0;border:0;background:transparent;color:#aab3c6;
           font-size:16px;line-height:1;cursor:grab;touch-action:none}
.todo-grip:active{cursor:grabbing}
.todo-grip:focus-visible{outline:2px solid var(--blue);border-radius:6px}

/* Kutu 26px gorunur ama dokunma hedefi 42px: parmakla 26px'lik bir kareyi
   tutturmak zor ve bu ekranin asil kullanildigi yer telefon. */
.todo-check{position:relative;display:grid;place-items:center;width:26px;height:26px;padding:0;
            border:2px solid #cbd3e3;border-radius:8px;background:#fff;color:transparent;
            line-height:1;cursor:pointer}
.todo-check::after{content:"";position:absolute;inset:-8px}
.todo-check:hover{border-color:var(--blue)}
.todo.is-done .todo-check{border-color:var(--green);background:var(--green);color:#fff}

.todo-body{min-width:0;display:grid;gap:3px}
.todo-title{overflow-wrap:anywhere;line-height:1.45;cursor:text}
.todo-title[contenteditable="true"]{outline:2px solid var(--blue);border-radius:6px;padding:1px 4px;margin:-1px -4px}
/* Tamamlanan madde: ustu cizili ve soluk, silinmiyor. */
.todo.is-done .todo-title{text-decoration:line-through;color:var(--muted)}
.todo.is-done .todo-meta{opacity:.55}

.todo-meta{display:flex;flex-wrap:wrap;align-items:center;gap:5px;color:var(--muted);font-size:.72rem}
.todo-due{padding:2px 7px;border-radius:999px;background:var(--tone-neutral-bg);color:var(--tone-neutral-fg);font-weight:700}
.todo-due.is-urgent{background:var(--tone-danger-bg);color:var(--tone-danger-fg)}
/* Unlem SAYISI bilgiyi tasiyor, renk degil: renk koru kullanicida da okunur. */
.todo-bang{letter-spacing:-1px;font-size:.78rem}
.todo-tag{padding:2px 7px;border-radius:999px;background:var(--tone-neutral-bg);color:var(--tone-neutral-fg);font-size:.7rem;font-weight:700;overflow-wrap:anywhere}
.todo-tag--assigned{background:var(--tone-info-bg);color:var(--tone-info-fg)}
.todo-tag--shared{background:var(--tone-ok-bg);color:var(--tone-ok-fg)}
.todo-tag--calendar{background:#edf2ff;color:#2f4fbf}

.todo-actions{display:flex;align-items:center;gap:2px}
.todo-icon{display:grid;place-items:center;width:32px;height:34px;padding:0;border:0;border-radius:8px;
           background:transparent;color:var(--muted);font-size:15px;line-height:1;cursor:pointer}
.todo-icon:hover{background:#eef2fb;color:var(--ink)}
.todo-icon--danger:hover{background:var(--tone-danger-bg);color:var(--tone-danger-fg)}
/* Silme YEDEK yol: JS varken gizlenir (sag tik / uzun basma kullanilir),
   JS yokken gorunur kalir ve silme yine mumkun olur. Sinifi `todos.js`
   ekliyor - "JS yok" durumunu CSS'ten bilmenin baska yolu yok. */
.js-todos .todo-delete-fallback{display:none}
/* DOKUNMATIKTE gorunur kalir. Masaustunde silme sag tikta ve bunu `title`
   ipucu soyluyor; parmakla calisan bir ekranda ne sag tik ne de ipucu var,
   uzun basmayi da kimse kendiliginden denemez. Gorunur bir ikon tek durust
   yol. */
@media (hover: none) {
    .js-todos .todo-delete-fallback{display:contents}
}

.todo-empty{padding:18px 14px;border:1px dashed var(--line);border-radius:12px;color:var(--muted);text-align:center}
.todo-hint{margin-top:14px;color:var(--muted);font-size:.78rem;line-height:1.6}

/* ── Paylas / ata penceresi ─────────────────────────────────────────── */
dialog.todo-dialog{width:min(460px,calc(100vw - 28px));max-width:min(460px,calc(100vw - 28px))}
dialog.todo-dialog--narrow{width:min(400px,calc(100vw - 28px));max-width:min(400px,calc(100vw - 28px))}
.todo-dialog-body{display:grid;gap:12px;padding:14px 18px;max-height:min(60vh,460px);overflow-y:auto}
.todo-shareall{align-items:flex-start;padding:10px 12px;border:1px solid var(--line);border-radius:10px}
.todo-shareall span{display:grid;gap:2px}
.todo-shareall small,.todo-dialog .check small{display:block;color:var(--muted);font-size:.72rem;font-weight:400}

.todo-people{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.todo-person{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:2px;
             border:1px solid transparent;border-radius:10px}
.todo-person.is-shared{border-color:var(--tone-ok-bg);background:#f6fbf8}
.todo-person.is-assigned{border-color:var(--tone-info-bg);background:#f4f8ff}
.todo-person-main{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;
                  padding:8px 10px;border:0;background:transparent;text-align:left;cursor:pointer}
.todo-person-avatar{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;
                    background:#edf2ff;color:#2f4fbf;font-weight:800;font-size:.82rem}
.todo-person-name{min-width:0;display:grid;font-size:.86rem;font-weight:600}
.todo-person-name small{color:var(--muted);font-size:.72rem;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.todo-person-state{color:var(--muted);font-size:.7rem;font-weight:700;white-space:nowrap}
.todo-person-assign,.todo-person-remove{width:34px;height:34px;padding:0;border:0;border-radius:8px;
                                        background:transparent;color:#aab3c6;font-size:15px;cursor:pointer}
.todo-person-assign:hover{background:var(--tone-info-bg);color:var(--tone-info-fg)}
.todo-person.is-assigned .todo-person-assign{color:var(--tone-info-fg)}
.todo-person-remove{font-size:18px}
.todo-person-remove:hover{background:var(--tone-danger-bg);color:var(--tone-danger-fg)}
/* Cikarma dugmesi yalniz ekli kisilerde: ekli olmayanda hicbir sey yapmiyor
   ve orada durmasi ne ise yaradigi belirsiz bir dugme demek. */
.todo-person:not(.is-shared) .todo-person-remove{visibility:hidden}

/* Takvimde yapilacak maddesinin unlemleri. */
.calendar-urgency{letter-spacing:-1px;font-size:.7rem}

@media(max-width:1000px){
    /* Sayilar listenin USTUNE gecer. */
    .todo-layout{grid-template-columns:minmax(0,1fr)}
    .todo-side{position:static;order:-1}
    .todo-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
    .todo-side-hint{display:none}
}
@media(max-width:560px){
    .todo{gap:6px 8px;padding:9px 10px}
    .todo-grip{width:22px}
    .todo-stats{grid-template-columns:1fr 1fr}
    .todo-stat strong{font-size:1.2rem}
    .todo-icon{width:34px;height:36px}

    /* Islem ikonlari KENDI SATIRINA iner. Olculdu: yan yana dururken
       ikonlar 106px yiyor ve baslik 147px'e sikisip uc satira dusuyordu -
       oysa baslik bu ekranin en onemli icerigi. Alt satirda baslik tam
       genisligi aliyor ve satirlar da kisaliyor. */
    .todo{grid-template-columns:auto auto minmax(0,1fr)}
    .todo-actions{grid-column:1/-1;justify-content:flex-end;
                  margin-top:2px;padding-top:6px;border-top:1px solid #f0f3f9}
}

/* ── Menu rozeti ──────────────────────────────────────────────────────
   Acik yapilacak sayisi. Kenar cubugundaki mevcut `b` rozetleri camgobegi
   (WhatsApp okunmamis); bu SARI olmali ki ikisi karismasin ve "bekleyen is"
   anlami tasisin. */
.sidebar nav a .nav-badge{margin-left:auto;min-width:21px;padding:2px 6px;border-radius:11px;
    background:#f0b429;color:#3b2a06;text-align:center;font-size:.66rem;font-weight:800}

/* ── Yapilacaklar: varsayilan paylasim anahtari ──────────────────────── */
.todo-default-share{display:flex;align-items:flex-start;gap:9px;margin:-6px 0 14px;padding:9px 12px;
    border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer;font-weight:500}
.todo-default-share input{flex:0 0 auto;width:17px;height:17px;margin-top:1px}
.todo-default-share span{display:grid;gap:1px;font-size:.84rem}
.todo-default-share small{color:var(--muted);font-size:.73rem;font-weight:400}

/* ── SVG ikonlar ─────────────────────────────────────────────────────
   Metin sembolleri (◇ ◎ ◷) ne oldugu bakinca anlasilmayan isaretlerdi.
   Ciziler `currentColor` kullaniyor; dugmenin rengi degisince ikon da
   degisiyor ve ayri bir kural gerekmiyor. */
.todo-icon svg,.todo-grip svg,.todo-check svg,.todo-person-assign svg{
    width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;
    stroke-linecap:round;stroke-linejoin:round}
.todo-grip svg{width:15px;height:15px;fill:currentColor;stroke:none}
.todo-check svg{width:15px;height:15px;stroke-width:2.4}
.todo-person-assign svg{width:19px;height:19px}

/* Tamamlayan kisi ve saat: paylasilan bir listede "kim kapatti" en cok
   sorulan sey. */
.todo-tag--done{background:var(--tone-ok-bg);color:var(--tone-ok-fg)}

/* ── Yapilacaklar: yorumlar ───────────────────────────────────────────
   Yorum ikonu HERKESTE: paylasilan bir maddeye baskasinin yazabilmesi
   paylasimin asil amaci. Sayac yalniz yorum varsa gorunur. */
.todo-icon--comment{position:relative}
.todo-count{position:absolute;right:1px;top:1px;min-width:15px;height:15px;padding:0 4px;
    border-radius:8px;background:var(--blue);color:#fff;font-size:.6rem;font-weight:800;line-height:15px;
    text-align:center}
.todo-count[hidden]{display:none}

.todo-comments{list-style:none;margin:0;padding:0;display:grid;gap:8px;max-height:min(46vh,340px);overflow-y:auto}
.todo-comment{padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:#fff}
/* Kendi yorumun ayirt edilir: uzun bir konusmada kimin ne dedigi hizli okunur. */
.todo-comment.is-mine{border-color:#cfdcff;background:#f5f8ff}
.todo-comment-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:3px}
.todo-comment-head strong{font-size:.84rem}
.todo-comment-head time{color:var(--muted);font-size:.72rem;white-space:nowrap}
/* Silme dugmesi soluk durur, ustune gelince belirir: konusmayi okurken goz
   her satirda bir carpiya takilmamali. Dokunmatikte hover yok, orada her
   zaman gorunur. */
.todo-comment-remove{width:22px;height:22px;flex:0 0 auto;margin:-3px -3px -3px 0;padding:0;border:0;
    border-radius:6px;background:transparent;color:#b9c0cf;font-size:15px;line-height:1;cursor:pointer;opacity:0}
.todo-comment:hover .todo-comment-remove,
.todo-comment-remove:focus-visible{opacity:1}
.todo-comment-remove:hover{background:var(--tone-danger-bg);color:var(--tone-danger-fg)}
@media (hover: none){ .todo-comment-remove{opacity:1} }
.todo-comment p{margin:0;font-size:.87rem;line-height:1.55;overflow-wrap:anywhere;white-space:pre-wrap}
.todo-comment-empty{padding:16px;border:1px dashed var(--line);border-radius:10px;color:var(--muted);text-align:center;font-size:.84rem}

/* Yazma alani altligin icinde: pencere kayarken o kaymaz. */
.todo-comment-form{display:flex;align-items:flex-end;gap:8px}.todo-comment-locked{color:var(--muted);font-size:.82rem;line-height:1.5;text-align:center}
.todo-comment-form textarea{flex:1 1 auto;min-width:0;min-height:44px;max-height:120px;
    padding:10px 12px;border-radius:10px;resize:vertical;font-size:.9rem}
.todo-comment-form .button{flex:0 0 auto}

@media(max-width:560px){
    /* Alan ici ikon dar ekranda da tam boy dokunma hedefi olmali. */
    .todo-share-toggle{width:36px;height:36px}
    .todo-add input[name="title"]{font-size:16px}
    .todo-comment-form textarea{font-size:16px}
}

/* KDV notu.
   Teklif/proformada KDV hesaplanmiyor; toplamin hemen altinda duran bu
   satir tutarin net oldugunu soyluyor. Toplam bloklari saga yaslandigi
   icin not da sagda. */
.sales-vat-note {
    margin: 10px 0 0;
    text-align: right;
    color: var(--muted);
    font-size: .72rem;
    line-height: 1.4;
}

/* ── Duyuru, kitle secici ve bildirim gonderimi ──────────────────────
   Duyuru serit ve modali panelin HER sayfasinda gorunebiliyor; renkler
   mevcut .alert degiskenleriyle ayni aileden secildi ki panelde ikinci bir
   uyari dili olusmasin. */
.announcement-bar {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 16px;
    padding: 13px 16px;
    border-radius: 8px;
    border: 1px solid transparent;
    font-size: .88rem;
    line-height: 1.55;
}
.announcement-bar__text { flex: 1; min-width: 0; }
.announcement-bar__text strong { display: block; margin-bottom: 2px; }
.announcement-bar--info { background: #eef4ff; border-color: #c9dbff; color: #1c3d7a; }
.announcement-bar--warning { background: #fff7e6; border-color: #ffe0a3; color: #7a4d00; }
.announcement-bar--success { background: #eefaf1; border-color: #b9e5c6; color: #1c5c33; }
.announcement-bar__close {
    flex: none;
    width: 28px; height: 28px;
    border: 0; border-radius: 6px;
    background: rgba(0, 0, 0, .06);
    color: inherit;
    font-size: 1.1rem; line-height: 1;
    cursor: pointer;
}
.announcement-bar__close:hover { background: rgba(0, 0, 0, .12); }
.announcement-modal { max-width: 520px; }
/* Bosluk `.dialog-body`'den geliyor; burada yalnizca okunabilirlik. */
.announcement-modal__body { margin: 0; line-height: 1.65; }

/* Alan etiketiyle yardimci dugmeyi ayni satirda tutar (ornegin
   "Duyuru metni" ile "Yapay zeka ile yaz"). */
.field-label-row { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }

.audience-picker { border: 0; padding: 0; margin: 0; }
.audience-picker legend { font-weight: 650; margin-bottom: 10px; }
.audience-picker__types { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 16px; }
.audience-type {
    display: flex; align-items: center; gap: 8px;
    padding: 9px 13px;
    border: 1px solid var(--line, #e1e6f1); border-radius: 8px;
    cursor: pointer; font-size: .88rem;
}
.audience-type:has(input:checked) { border-color: #2b49f5; background: #f2f5ff; }
.audience-options {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
    gap: 8px;
    max-height: 280px;
    overflow-y: auto;
    padding: 4px;
}
.audience-option {
    display: flex; align-items: flex-start; gap: 9px;
    padding: 9px 11px;
    border: 1px solid var(--line, #e1e6f1); border-radius: 7px;
    cursor: pointer; font-size: .85rem;
}
.audience-option:has(input:checked) { border-color: #2b49f5; background: #f7f9ff; }
.audience-option small { display: block; color: var(--muted, #656e8a); font-size: .76rem; }
.audience-empty { color: var(--muted, #656e8a); font-size: .85rem; }

.channel-picker { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; }
.channel-option {
    display: flex; align-items: flex-start; gap: 10px;
    padding: 13px;
    border: 1px solid var(--line, #e1e6f1); border-radius: 8px;
    cursor: pointer;
}
.channel-option:has(input:checked) { border-color: #2b49f5; background: #f7f9ff; }
.channel-option small { display: block; color: var(--muted, #656e8a); font-size: .78rem; margin-top: 2px; }

.channel-chip {
    display: inline-block;
    margin: 0 4px 3px 0; padding: 2px 8px;
    border-radius: 999px; background: #eef1f8;
    font-size: .72rem; color: #3b4257;
}
.settings-readonly {
    margin: 4px 0 0;
    padding: 9px 11px;
    border-radius: 7px; background: #f5f7fb;
    font-family: ui-monospace, monospace; font-size: .76rem;
    word-break: break-all;
}

@media (max-width: 640px) {
    .announcement-bar { flex-direction: row; }
    .audience-options { grid-template-columns: 1fr; max-height: 220px; }
}

/* ── Alt kosedeki hatirlatma seridi ──────────────────────────────────
   "Bildirimleri ac" ve "uygulama olarak ekle" onerileri. Sabit konumlu
   ama SAG ALTTA ve dar: sayfanin ustunu kapatan bir seridin her girisde
   yeniden cikmasi rahatsiz edici olurdu.

   z-index 95: kenar cubugunun (90) ustunde, sayfa yukleme ortusunun
   (99999) altinda. Modal pencereler zaten ust katmanda acildigi icin
   seridi kendiliginden ortuyor. */
.app-toast {
    position: fixed;
    right: 18px;
    bottom: 18px;
    z-index: 95;
    display: grid;
    gap: 10px;
    width: min(360px, calc(100vw - 24px));
    padding: 14px 16px;
    border: 1px solid var(--line, #e1e6f1);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 18px 48px rgba(12, 20, 52, .22);
}
.app-toast[hidden] { display: none; }

.app-toast__row {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) auto;
    align-items: start;
    gap: 10px;
}
.app-toast__row[hidden] { display: none; }
/* Iki oneri ayni anda cikabiliyor; aralarinda ince bir ayrac. */
.app-toast__row + .app-toast__row { padding-top: 10px; border-top: 1px solid var(--line, #e1e6f1); }

.app-toast__icon {
    display: grid;
    place-items: center;
    width: 34px; height: 34px;
    border-radius: 10px;
    background: #edf2ff;
    color: #2b49f5;
}
.app-toast__icon svg { width: 19px; height: 19px; }

.app-toast__text { min-width: 0; }
.app-toast__text strong { display: block; font-size: .9rem; }
.app-toast__text p { margin: 2px 0 0; color: var(--muted, #656e8a); font-size: .8rem; line-height: 1.45; }
.app-toast__text small { display: block; margin-top: 4px; color: var(--muted, #656e8a); font-size: .72rem; }
.app-toast__status { margin-top: 6px; font-size: .76rem; }
.app-toast__status[hidden] { display: none; }

.app-toast__steps {
    margin: 8px 0 0;
    padding-left: 18px;
    color: var(--muted, #656e8a);
    font-size: .78rem;
    line-height: 1.6;
}
.app-toast__steps[hidden] { display: none; }

.app-toast__close {
    position: absolute;
    top: 6px; right: 8px;
    width: 24px; height: 24px;
    border: 0; border-radius: 6px;
    background: transparent;
    color: var(--muted, #656e8a);
    font-size: 1.05rem; line-height: 1;
    cursor: pointer;
}
.app-toast__close:hover { background: #eef1f6; }

@media (max-width: 560px) {
    /* Telefonda tam genislik ve alta yaslanir; dar ekranda kose serit
       hem kucuk hem parmakla kapatmasi zor oluyordu. */
    .app-toast { right: 10px; left: 10px; bottom: 10px; width: auto; }
    .app-toast__row { grid-template-columns: 30px minmax(0, 1fr); }
    .app-toast__row .button { grid-column: 2; justify-self: start; }
}
