/* PremiCall 3.5.6 shared visual system. Keep every selector module-scoped. */
.premicall-ui,
.pc-portal,
body.premicall-center-ui {
    --pc-navy: #17355f;
    --pc-blue: #2563eb;
    --pc-blue-strong: #1d4ed8;
    --pc-blue-soft: #eaf2ff;
    --pc-blue-pale: #f4f8ff;
    --pc-indigo-soft: #eef2ff;
    --pc-surface: #f8fbff;
    --pc-surface-strong: #eef5fd;
    --pc-border: #cbdcf0;
    --pc-border-soft: #dce7f4;
    --pc-text: #243b5a;
    --pc-muted: #60758f;
    --pc-success: #16865f;
    --pc-success-soft: #e9f8f1;
    --pc-warning: #b86b09;
    --pc-warning-soft: #fff5df;
    --pc-danger: #c23b48;
    --pc-danger-soft: #fff0f1;
    --pc-info: #087eaa;
    --pc-info-soft: #e9f8fd;
    --pc-violet: #6d4fd3;
    --pc-violet-soft: #f1edff;
    --pc-shadow: 0 8px 24px rgba(23, 53, 95, .08);
    color: var(--pc-text);
}

body.premicall-center-ui #wrapper,
body.premicall-center-ui #wrapper > .content,
.pc-portal {
    background: linear-gradient(180deg, #f3f7fc 0, #f8fbff 280px, #f5f8fc 100%);
}

/* Typography and section headings */
body.premicall-center-ui #wrapper .content h2,
body.premicall-center-ui #wrapper .content h3,
body.premicall-center-ui #wrapper .content h4,
body.premicall-center-ui #wrapper .content h5,
.premicall-ui h2,
.premicall-ui h3,
.premicall-ui h4,
.premicall-ui h5,
.pc-portal h2,
.pc-portal h3,
.pc-portal h4,
.pc-portal h5 {
    color: var(--pc-navy);
}

body.premicall-center-ui #wrapper .content h3,
body.premicall-center-ui #wrapper .content h4,
.premicall-ui h3,
.premicall-ui h4,
.pc-portal h3,
.pc-portal h4 {
    position: relative;
    padding-left: 13px;
}

body.premicall-center-ui #wrapper .content h3::before,
body.premicall-center-ui #wrapper .content h4::before,
.premicall-ui h3::before,
.premicall-ui h4::before,
.pc-portal h3::before,
.pc-portal h4::before {
    content: '';
    position: absolute;
    left: 0;
    top: .12em;
    bottom: .12em;
    width: 4px;
    border-radius: 4px;
    background: linear-gradient(180deg, var(--pc-blue), #60a5fa);
}

body.premicall-center-ui #wrapper .content h5,
.premicall-ui h5,
.pc-portal h5 {
    font-weight: 700;
}

body.premicall-center-ui #wrapper .content h5::after,
.premicall-ui h5::after,
.pc-portal h5::after {
    content: '';
    display: block;
    width: 42px;
    height: 3px;
    margin-top: 7px;
    border-radius: 3px;
    background: #8bb8ee;
}

body.premicall-center-ui .text-muted,
.premicall-ui .text-muted,
.pc-portal .text-muted {
    color: var(--pc-muted) !important;
}

/* Panels and cards */
body.premicall-center-ui .panel_s,
.premicall-ui.panel_s,
.premicall-ui .panel_s,
.pc-portal .pc-card,
.pc-portal .pc-nav,
.pc-portal .pc-kpi {
    border: 1px solid var(--pc-border-soft);
    border-top: 3px solid #76a9e6;
    border-radius: 12px;
    box-shadow: var(--pc-shadow);
    overflow: hidden;
}

body.premicall-center-ui .panel_s > .panel-body,
.premicall-ui.panel_s > .panel-body,
.premicall-ui .panel_s > .panel-body,
.pc-portal .pc-card {
    background: linear-gradient(145deg, #fff 0, var(--pc-blue-pale) 100%);
}

body.premicall-center-ui .panel_s .panel_s,
.premicall-ui .panel_s .panel_s {
    border-top-color: #a9c7eb;
    box-shadow: 0 4px 14px rgba(23, 53, 95, .06);
}

body.premicall-center-ui .panel_s .panel_s > .panel-body,
.premicall-ui .panel_s .panel_s > .panel-body {
    background: var(--pc-surface);
}

body.premicall-center-ui .content > .panel_s:first-child > .panel-body,
body.premicall-center-ui .content > .row:first-child .panel_s:first-child > .panel-body {
    background: linear-gradient(120deg, #eef5ff 0, #fff 62%, #eef8ff 100%);
}

.pc-portal .pc-page-head,
.pc-portal .pc-head,
body.premicall-center-ui .pc-studio > header,
.premicall-ui .pc-page-head {
    padding: 16px 18px;
    border: 1px solid var(--pc-border);
    border-left: 5px solid var(--pc-blue);
    border-radius: 12px;
    background: linear-gradient(110deg, #e8f2ff, #f8fbff 64%, #eef3ff);
    box-shadow: 0 7px 20px rgba(37, 99, 235, .08);
}

/* Tables */
body.premicall-center-ui .table-responsive,
.premicall-ui .table-responsive,
.pc-portal .table-responsive {
    border-radius: 10px;
}

body.premicall-center-ui table.table,
.premicall-ui table.table,
.pc-portal table.table {
    color: var(--pc-text);
    background: rgba(255, 255, 255, .74);
}

body.premicall-center-ui table.table > thead > tr > th,
.premicall-ui table.table > thead > tr > th,
.pc-portal table.table > thead > tr > th {
    color: var(--pc-navy);
    background: #e8f1fc;
    border-bottom: 2px solid #a8c7eb !important;
    font-weight: 700;
}

body.premicall-center-ui table.table > tbody > tr:nth-child(even) > td,
.premicall-ui table.table > tbody > tr:nth-child(even) > td,
.pc-portal table.table > tbody > tr:nth-child(even) > td {
    background: rgba(239, 246, 255, .58);
}

body.premicall-center-ui table.table-hover > tbody > tr:hover > td,
.premicall-ui table.table-hover > tbody > tr:hover > td,
.pc-portal table.table-hover > tbody > tr:hover > td {
    background: #e3effd;
}

/* Forms, filters and tabs */
body.premicall-center-ui .form-control,
.premicall-ui .form-control,
.pc-portal .form-control {
    color: var(--pc-text);
    border-color: #bfd0e4;
    background-color: rgba(255, 255, 255, .92);
    transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
}

body.premicall-center-ui .form-control:hover,
.premicall-ui .form-control:hover,
.pc-portal .form-control:hover {
    border-color: #82aee0;
    background-color: #fff;
}

body.premicall-center-ui .form-control:focus,
.premicall-ui .form-control:focus,
.pc-portal .form-control:focus {
    border-color: var(--pc-blue);
    background-color: #fff;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, .13);
}

body.premicall-center-ui form.row,
body.premicall-center-ui .pc-filters,
.premicall-ui form.row,
.premicall-ui .pc-filters,
.pc-portal .pc-filters {
    padding: 13px;
    border: 1px solid var(--pc-border-soft);
    border-radius: 10px;
    background: linear-gradient(120deg, #f1f7ff, #f8fbff);
}

body.premicall-center-ui .nav-tabs,
.premicall-ui .nav-tabs,
.pc-portal .nav-tabs {
    border-bottom-color: #a9c7eb;
}

body.premicall-center-ui .nav-tabs > li > a,
.premicall-ui .nav-tabs > li > a,
.pc-portal .nav-tabs > li > a {
    color: #486581;
    border-radius: 8px 8px 0 0;
}

body.premicall-center-ui .nav-tabs > li.active > a,
body.premicall-center-ui .nav-tabs > li.active > a:hover,
.premicall-ui .nav-tabs > li.active > a,
.pc-portal .nav-tabs > li.active > a {
    color: var(--pc-blue-strong);
    border-color: #a9c7eb #a9c7eb #fff;
    background: #edf5ff;
    font-weight: 700;
}

/* Buttons and semantic states */
body.premicall-center-ui .btn-primary,
.premicall-ui .btn-primary,
.pc-portal .btn-primary {
    border-color: var(--pc-blue-strong);
    background: linear-gradient(135deg, var(--pc-blue), var(--pc-blue-strong));
    box-shadow: 0 4px 11px rgba(37, 99, 235, .2);
}

body.premicall-center-ui .btn-success,
.premicall-ui .btn-success,
.pc-portal .btn-success {
    border-color: #117553;
    background: linear-gradient(135deg, #1b9a6d, #117553);
}

body.premicall-center-ui .btn-warning,
.premicall-ui .btn-warning,
.pc-portal .btn-warning {
    color: #fff;
    border-color: #a85f06;
    background: linear-gradient(135deg, #d8891d, #b86b09);
}

body.premicall-center-ui .btn-danger,
.premicall-ui .btn-danger,
.pc-portal .btn-danger {
    border-color: #a92e3b;
    background: linear-gradient(135deg, #d8505b, #b83240);
}

body.premicall-center-ui .btn-default,
.premicall-ui .btn-default,
.pc-portal .btn-default {
    color: #31577e;
    border-color: #b9cce2;
    background: #f4f8fd;
}

body.premicall-center-ui .btn-default:hover,
.premicall-ui .btn-default:hover,
.pc-portal .btn-default:hover {
    color: var(--pc-blue-strong);
    border-color: #77a5da;
    background: #e7f1fd;
}

body.premicall-center-ui .label-success,
.premicall-ui .label-success,
.pc-portal .label-success { background-color: var(--pc-success); }
body.premicall-center-ui .label-warning,
.premicall-ui .label-warning,
.pc-portal .label-warning { color: #fff; background-color: var(--pc-warning); }
body.premicall-center-ui .label-danger,
.premicall-ui .label-danger,
.pc-portal .label-danger { background-color: var(--pc-danger); }
body.premicall-center-ui .label-info,
.premicall-ui .label-info,
.pc-portal .label-info { background-color: var(--pc-info); }
body.premicall-center-ui .label-default,
.premicall-ui .label-default,
.pc-portal .label-default { color: #39546f; background-color: #dce7f2; }

body.premicall-center-ui .alert-info,
.premicall-ui .alert-info,
.pc-portal .alert-info { color: #15516b; border-color: #9dd8ec; background: var(--pc-info-soft); }
body.premicall-center-ui .alert-success,
.premicall-ui .alert-success,
.pc-portal .alert-success { color: #176044; border-color: #a7dbc4; background: var(--pc-success-soft); }
body.premicall-center-ui .alert-warning,
.premicall-ui .alert-warning,
.pc-portal .alert-warning { color: #7b4b0b; border-color: #ebca86; background: var(--pc-warning-soft); }
body.premicall-center-ui .alert-danger,
.premicall-ui .alert-danger,
.pc-portal .alert-danger { color: #8c2934; border-color: #e9adb3; background: var(--pc-danger-soft); }

/* Modals and dialogs */
body.premicall-center-ui .modal-content,
.premicall-ui .modal-content,
.pc-portal .modal-content,
.pc-portal dialog,
body.premicall-center-ui dialog {
    border: 1px solid var(--pc-border);
    border-radius: 13px;
    box-shadow: 0 22px 55px rgba(23, 53, 95, .22);
}

body.premicall-center-ui .modal-header,
.premicall-ui .modal-header,
.pc-portal .modal-header,
.pc-portal dialog > header,
body.premicall-center-ui dialog > header {
    color: var(--pc-navy);
    border-bottom-color: var(--pc-border);
    background: linear-gradient(110deg, #e6f1ff, #f6f9ff);
}

/* Portal navigation and metric surfaces */
.pc-portal .pc-nav {
    border-top-color: var(--pc-blue);
    background: linear-gradient(180deg, #f7faff, #edf5ff);
}

.pc-portal .pc-nav > a.active,
.pc-portal .pc-nav > a:hover {
    color: var(--pc-blue-strong);
    background: #dcecff;
    box-shadow: inset 3px 0 0 var(--pc-blue);
}

.pc-portal .pc-kpi.blue { background: linear-gradient(135deg, #f8fbff, #e8f2ff); border-top-color: var(--pc-blue); }
.pc-portal .pc-kpi.green { background: linear-gradient(135deg, #fbfffd, var(--pc-success-soft)); border-top-color: var(--pc-success); }
.pc-portal .pc-kpi.orange { background: linear-gradient(135deg, #fffdf8, var(--pc-warning-soft)); border-top-color: var(--pc-warning); }
.pc-portal .pc-kpi.violet { background: linear-gradient(135deg, #fdfcff, var(--pc-violet-soft)); border-top-color: var(--pc-violet); }

/* Campaign studio */
body.premicall-center-ui .pc-studio,
.pc-portal .pc-studio {
    --pc-studio-blue: var(--pc-blue);
    color: var(--pc-text);
}

body.premicall-center-ui .pc-step,
.pc-portal .pc-step,
body.premicall-center-ui .pc-canvas,
.pc-portal .pc-canvas {
    border-color: var(--pc-border);
    background: linear-gradient(145deg, #fff, var(--pc-blue-pale));
    box-shadow: 0 6px 18px rgba(23, 53, 95, .06);
}

body.premicall-center-ui .pc-tools,
body.premicall-center-ui .pc-properties,
.pc-portal .pc-tools,
.pc-portal .pc-properties {
    border-color: var(--pc-border);
    background: #edf5ff;
}

body.premicall-center-ui .pc-wizard-nav button,
.pc-portal .pc-wizard-nav button {
    border-color: #c6d8ec;
    background: #f7faff;
}

body.premicall-center-ui .pc-wizard-nav button.active,
.pc-portal .pc-wizard-nav button.active {
    color: var(--pc-blue-strong);
    border-color: var(--pc-blue);
    background: #dcecff;
    box-shadow: 0 4px 12px rgba(37, 99, 235, .12);
}

body.premicall-center-ui .pc-wizard-nav button.complete,
.pc-portal .pc-wizard-nav button.complete {
    color: #176044;
    border-color: #87c9ac;
    background: var(--pc-success-soft);
}

body.premicall-center-ui .pc-info,
.pc-portal .pc-info,
.premicall-ui .pc-info { background: #e5f1ff; border-left: 4px solid var(--pc-blue); }
body.premicall-center-ui .pc-ok,
.pc-portal .pc-ok,
.premicall-ui .pc-ok { color: #176044; background: var(--pc-success-soft); border-left-color: var(--pc-success); }
body.premicall-center-ui .pc-warning,
.pc-portal .pc-warning,
.premicall-ui .pc-warning { color: #7b4b0b; background: var(--pc-warning-soft); border-left-color: var(--pc-warning); }

/* Dashboard widgets are rendered outside PremiCall routes. */
.widget.premicall-ui .panel_s,
.premicall-ui.pc-main-metric-panel,
.premicall-ui.pc-main-sla-panel {
    border-top-color: var(--pc-blue);
}

.widget.premicall-ui .tw-bg-neutral-50,
.premicall-ui .tw-bg-neutral-50 {
    background: #eef5fd !important;
}

@media (max-width: 767px) {
    body.premicall-center-ui .panel_s,
    .premicall-ui .panel_s,
    .pc-portal .pc-card,
    .pc-portal .pc-kpi { border-radius: 9px; }

    .pc-portal .pc-page-head,
    .pc-portal .pc-head,
    body.premicall-center-ui .pc-studio > header { padding: 12px; }

    body.premicall-center-ui form.row,
    .premicall-ui form.row,
    .pc-portal .pc-filters { padding: 10px; }
}

@media (prefers-reduced-motion: reduce) {
    body.premicall-center-ui *,
    .premicall-ui *,
    .pc-portal * { transition: none !important; }
}





