/* ETERON office.css: page-specific rules of the office apps (small blocks, unique classes).
   Loaded by base.html after eteron_ui.css. Appended by extract_inline_css. */

/* templates/account/_sub_cashflow.html */
.cfe-embed .cf-num {
    font-variant-numeric: tabular-nums; white-space: nowrap;
}
.cfe-embed .cf-sub {
    font-size: .75rem; color: #94a3b8;
}
.cfe-embed .cfe-chart { width: 100%; }
.cfe-embed .cfe-zero {
    stroke: #cbd5e1; stroke-width: 1; stroke-dasharray: 4 4;
    vector-effect: non-scaling-stroke;
}
.cfe-embed .cfe-line {
    fill: none; stroke: #475569; stroke-width: 2;
    stroke-linejoin: round; stroke-linecap: round;
    vector-effect: non-scaling-stroke;
}
.cfe-embed .cfe-line-neg { stroke: #b91c1c; }
.cfe-embed .cfe-gap > td { background: #fef2f2; }
.cf-mk {
    display: inline-block; width: 8px; height: 8px; border-radius: 50%;
    vertical-align: 0; margin: 0 .1rem;
}
.cf-mk-c { background: #475569; }
.cf-mk-s { border: 1.5px solid #475569; }
.cf-mk-e { border: 1.5px dashed #475569; }

/* templates/account/_sub_costs.html */
/* Σταθερή στήλη κατηγοριών στο οριζόντιο scroll */
.costs-matrix th:first-child, .costs-matrix td:first-child {
    position: sticky; left: 0; background: var(--bs-body-bg, #fff);
    z-index: 2; min-width: 220px;
}
.costs-matrix thead th { position: sticky; top: 0; z-index: 3;
    background: var(--bs-body-bg, #fff); }
.cat-row:hover { background: rgba(0,0,0,.03); }
.cat-chevron { transition: transform .15s; display: inline-block; }
.cat-row.open .cat-chevron { transform: rotate(90deg); }

/* templates/account/page.html */
.acct-kv .text-muted { min-width: 150px; display: inline-block; }
.acct-form label.form-label { font-size: .8rem; color: #6c757d; margin-bottom: .1rem; }
.acct-pick input { min-width: 16rem; }

/* templates/accounts/entity_detail.html */
.credential-masked, .password-masked, .password-visible {
    font-family: monospace;
    color: var(--primary-color);
}

/* templates/bulkcollections/hub_diagnostics.html */
    .dg-section { background:#fff; border:1px solid rgba(71,85,105,0.12);
                  border-radius:10px; padding: 1rem 1.25rem; margin-bottom: 1rem; }
    .dg-section-title { font-size: 0.95rem; font-weight: 600; color: #1f2937;
                        margin-bottom: 0.75rem; padding-bottom: 0.5rem; border-bottom: 1px solid #e5e7eb; }

    .dg-row { display: flex; justify-content: space-between; align-items: center;
              padding: 0.5rem 0; border-bottom: 1px solid #f1f5f9; }
    .dg-row:last-child { border-bottom: none; }

    .dg-bar { width: 100%; height: 6px; background: #e2e8f0; border-radius: 999px;
              overflow: hidden; max-width: 220px; }
    .dg-bar .fill { height: 100%; background: #3b82f6; }

    .dg-error-msg { font-family: monospace; font-size: 0.82rem; color: #4b5563;
                    word-break: break-word; }

    .dg-pill { display: inline-block; padding: 0.15rem 0.5rem; border-radius: 4px;
               font-size: 0.75rem; font-weight: 600; }
    .dg-pill-warn { background: #fef3c7; color: #92400e; }
    .dg-pill-bad  { background: #fee2e2; color: #991b1b; }

/* templates/bulkcollections/hub_history.html */
    .hi-section { background:#fff; border:1px solid rgba(71,85,105,0.12);
                  border-radius:10px; padding: 1rem 1.25rem; margin-bottom: 1rem; }
    .hi-section-title { font-size: 0.95rem; font-weight: 600; color: #1f2937;
                        margin-bottom: 0.85rem; padding-bottom: 0.5rem; border-bottom: 1px solid #e5e7eb; }

    .hi-row { display: grid; grid-template-columns: 110px 110px 1fr auto; gap: 0.75rem;
              align-items: center; padding: 0.65rem 0; border-bottom: 1px solid #f1f5f9; }
    .hi-row:last-child { border-bottom: none; }
    .hi-row .ts { font-weight: 600; color: #374151; font-size: 0.9rem; }
    .hi-row .kind { font-size: 0.75rem; padding: 0.15rem 0.5rem; border-radius: 4px;
                    display: inline-block; }
    .hi-kind-overnight { background: #ede9fe; color: #5b21b6; }
    .hi-kind-manual    { background: #dbeafe; color: #1e40af; }
    .hi-row .label { font-weight: 500; color: #1f2937; }
    .hi-row .summary { color: #6b7280; font-size: 0.85rem; }

    .hi-status { padding: 0.18rem 0.6rem; border-radius: 999px; font-size: 0.72rem; font-weight: 600; }
    .hi-status-success, .hi-status-completed { background: #d1fae5; color: #065f46; }
    .hi-status-failed   { background: #fee2e2; color: #991b1b; }
    .hi-status-partial  { background: #fef3c7; color: #92400e; }
    .hi-status-started, .hi-status-running { background: #dbeafe; color: #1e40af; }
    .hi-status-skipped, .hi-status-cancelled { background: #f3f4f6; color: #6b7280; }
    .hi-status-paused { background: #fef3c7; color: #92400e; }
    .hi-status-draft { background: #e2e8f0; color: #475569; }

    .hi-logs-table th { background: #f8fafc; color: #475569;
                        font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.4px; padding: 0.6rem; }
    .hi-logs-table td { padding: 0.55rem 0.6rem; font-size: 0.85rem; }

/* templates/bulkcollections/hub_manual.html */
    .mn-table { background:#fff; border:1px solid rgba(71,85,105,0.12); border-radius:10px; overflow:hidden; }
    .mn-table th { background: #f8fafc; color: #475569;
                   font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.4px; padding: 0.7rem; }
    .mn-table td { padding: 0.7rem; vertical-align: middle; }

    .mn-pill { padding: 0.35rem 0.85rem; border-radius: 999px; background: #fff;
               border: 1px solid rgba(71,85,105,0.25); color: #475569;
               text-decoration: none; font-size: 0.83rem; font-weight: 500; }
    .mn-pill:hover { background: #f1f5f9; color: #0f172a; }
    .mn-pill.active { background: #0f172a; color: #fff; border-color: #0f172a; }
    .mn-pill .count { margin-left: 0.3rem; opacity: 0.7; }

    .mn-status { display: inline-block; padding: 0.2rem 0.65rem;
                 border-radius: 999px; font-size: 0.75rem; font-weight: 600; }
    .mn-status-draft     { background: #e2e8f0; color: #475569; }
    .mn-status-running   { background: #dbeafe; color: #1e40af; }
    .mn-status-paused    { background: #fef3c7; color: #92400e; }
    .mn-status-completed { background: #dcfce7; color: #166534; }
    .mn-status-failed    { background: #fee2e2; color: #991b1b; }
    .mn-status-cancelled { background: #f1f5f9; color: #64748b; }

    .mn-progress-mini { width: 110px; height: 6px; background: #e2e8f0; border-radius: 999px; overflow: hidden; }
    .mn-progress-mini .bar { height: 100%; background: #3b82f6; }

/* templates/bulkcollections/hub_overview.html */
    .ov-stat-card { background: #fff; border-radius: 10px; padding: 1.1rem; text-align: center;
                    border: 1px solid rgba(71,85,105,0.12); }
    .ov-stat-value { font-size: 2rem; font-weight: 700; color: #1e3a5f; }
    .ov-stat-label { font-size: 0.78rem; color: #6b7280; text-transform: uppercase; letter-spacing: 0.5px; }
    .ov-stat-card.success .ov-stat-value { color: #059669; }
    .ov-stat-card.failed  .ov-stat-value { color: #dc2626; }

    .ov-section { background:#fff; border:1px solid rgba(71,85,105,0.12); border-radius:10px;
                  padding: 1rem 1.25rem; margin-bottom: 1rem; }
    .ov-section-title { font-size: 0.95rem; font-weight: 600; color: #1f2937;
                        margin-bottom: 0.85rem; padding-bottom: 0.5rem; border-bottom: 1px solid #e5e7eb; }

    .ov-coll-row { display: flex; justify-content: space-between; align-items: center;
                   padding: 0.55rem 0; border-bottom: 1px solid #f1f5f9; }
    .ov-coll-row:last-child { border-bottom: none; }
    .ov-coll-name { font-weight: 600; color: #374151; }
    .ov-coll-rate { background: #ecfdf5; color: #059669; padding: 0.2rem 0.7rem;
                    border-radius: 999px; font-weight: 600; font-size: 0.8rem; }
    .ov-coll-rate.low  { background: #fef2f2; color: #dc2626; }
    .ov-coll-rate.med  { background: #fef3c7; color: #92400e; }

    .ov-daily-row { display: flex; justify-content: space-between; align-items: center;
                    padding: 0.5rem 0; font-size: 0.9rem; }
    .ov-daily-row + .ov-daily-row { border-top: 1px solid #f1f5f9; }

    .ov-master-card { padding: 1rem 1.25rem; border-radius: 10px;
                      border: 1px solid rgba(71,85,105,0.12); background: #fff; margin-bottom: 1rem; }
    .ov-master-card.latest { border-left: 4px solid #3b82f6; }

    .ov-status-badge { padding: 0.2rem 0.7rem; border-radius: 999px; font-size: 0.75rem; font-weight: 600; }
    .ov-status-success  { background: #d1fae5; color: #065f46; }
    .ov-status-failed   { background: #fee2e2; color: #991b1b; }
    .ov-status-partial  { background: #fef3c7; color: #92400e; }
    .ov-status-started  { background: #dbeafe; color: #1e40af; }
    .ov-status-skipped  { background: #f3f4f6; color: #6b7280; }

/* templates/cases/index.html */
.cs-stage { display: inline-block; padding: .1rem .5rem; border-radius: 999px; font-size: .75rem; font-weight: 600; background: #eef2ff; color: #3730a3; white-space: nowrap; }
.cs-row td { vertical-align: middle; }
.cs-title { font-weight: 600; color: #1e293b; text-decoration: none; }
.cs-title:hover { text-decoration: underline; }
.cs-when { font-size: .82rem; white-space: nowrap; }
.cs-overdue td:first-child { box-shadow: inset 4px 0 0 #dc2626; }

/* templates/cases/page.html */
.ctr-kv td:first-child { color: #6c757d; width: 42%; }
/* Οδηγός σταδίων (αντίστοιχο του Business Process Flow) */
.cs-steps { display: flex; gap: 0; margin: 0 0 1rem; padding: 0; list-style: none; overflow-x: auto; }
.cs-step { flex: 1 1 0; min-width: 8.5rem; position: relative; text-align: center; padding: .6rem .4rem .5rem; border-bottom: 3px solid #e2e8f0; color: #64748b; font-size: .82rem; }
.cs-step .n { display: inline-flex; width: 1.7rem; height: 1.7rem; border-radius: 50%; align-items: center; justify-content: center; border: 2px solid #cbd5e1; background: #fff; font-weight: 700; margin-bottom: .25rem; }
.cs-step.done { color: #166534; border-bottom-color: #86efac; } .cs-step.done .n { background: #16a34a; border-color: #16a34a; color: #fff; }
.cs-step.current { color: #1e293b; font-weight: 700; border-bottom-color: #475569; } .cs-step.current .n { background: #475569; border-color: #475569; color: #fff; }
.cs-step form { display: inline; } .cs-step button { all: unset; cursor: pointer; display: block; width: 100%; }
.cs-step button:hover .n { border-color: #475569; }
.cs-check { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; padding: .5rem .75rem; border: 1px solid #e2e8f0; border-radius: .5rem; margin-bottom: .5rem; background: #fff; }
.cs-check .q { flex: 1 1 14rem; font-weight: 600; color: #1e293b; }
.cs-check form { display: inline; }
.cs-check .btn-check-opt { padding: .15rem .7rem; }
.wd-card { display: flex; align-items: center; gap: 1rem; padding: .5rem .8rem; border: 1px solid #e5e7eb; border-left: 4px solid #6366f1; border-radius: .5rem; background: #fff; margin-bottom: .45rem; }
.wd-card.wd-overdue { border-left-color: #dc2626; background: #fff7f7; }
.wd-card.wd-done { border-left-color: #16a34a; opacity: .75; }
.wd-card.table-success { border-left-color: #16a34a; background: #f0fdf4; }
.wd-card.table-light { opacity: .6; }
.wd-main { flex: 1 1 auto; min-width: 0; } .wd-title { font-weight: 600; color: #1e293b; } .wd-meta { font-size: .82rem; color: #64748b; }
.wd-when { flex: 0 0 8rem; font-size: .85rem; color: #475569; text-align: right; }
.wd-actions { flex: 0 0 auto; white-space: nowrap; }
.cs-hist { font-size: .82rem; } .cs-hist .t { color: #94a3b8; white-space: nowrap; }

/* templates/cases/types.html */
.ctr-form label.form-label { font-size: .78rem; color: #6c757d; margin-bottom: .1rem; }
.ct-card { border-left: 4px solid #6366f1; }
.ct-card.monthly { border-left-color: #16a34a; } .ct-card.annual { border-left-color: #f59e0b; } .ct-card.inactive { opacity: .6; }
.ct-tpl td { vertical-align: middle; font-size: .85rem; }

/* templates/chart/detail.html */
 .ch-code { font-family: ui-monospace, Menlo, monospace; }

/* templates/contracts/_document.html */
.doc-preview { white-space: pre-wrap; font-size: .82rem; line-height: 1.45; max-height: 32rem; overflow-y: auto; background: #fff; border: 1px solid #e2e8f0; border-radius: .4rem; padding: .75rem 1rem; }
.doc-preview .doc-h { font-weight: 700; text-align: center; display: block; margin-top: .6rem; }

/* templates/contracts/_services.html */
.pk-chips { display: flex; flex-wrap: wrap; gap: .35rem; align-items: center; }
.pk-chip { display: inline-flex; align-items: center; gap: .35rem; background: #eef2ff; border: 1px solid #c7d2fe; color: #1e293b; border-radius: 999px; padding: .2rem .6rem; font-size: .82rem; }
.pk-chip.pk-cat { background: #f0fdf4; border-color: #86efac; font-weight: 600; }
.pk-chip .pk-x { cursor: pointer; color: #64748b; line-height: 1; }
.pk-chip .pk-x:hover { color: #dc2626; }
.pk-add { position: relative; }
.pk-menu { position: absolute; z-index: 20; top: 100%; left: 0; min-width: 20rem; max-height: 18rem; overflow-y: auto; background: #fff; border: 1px solid #e2e8f0; border-radius: .4rem; box-shadow: 0 6px 20px rgba(0,0,0,.12); padding: .3rem; display: none; }
.pk-menu.open { display: block; }
.pk-menu input { margin-bottom: .3rem; }
.pk-opt { padding: .3rem .5rem; border-radius: .3rem; cursor: pointer; font-size: .85rem; }
.pk-opt:hover { background: #f1f5f9; }
.pk-opt.hidden { display: none; }
.pk-none { color: #94a3b8; font-size: .8rem; padding: .3rem .5rem; }
.pk-cat-block { border-left: 3px solid #86efac; padding: .4rem .75rem; margin-bottom: .8rem; background: #fcfdfc; border-radius: 0 .4rem .4rem 0; }
.pk-cat-block .pk-head { display: flex; align-items: center; gap: .5rem; margin-bottom: .4rem; }
.pk-cat-block.hidden { display: none; }

/* templates/contracts/list.html */
.ctr-table th a { color: inherit; text-decoration: none; }
.ctr-table th a:hover { text-decoration: underline; }
.ctr-table td, .ctr-table th { white-space: nowrap; }
.ctr-filters .form-select, .ctr-filters .form-control { min-width: 9rem; }

/* templates/hr/evaluations/page.html */
.ev-scale > div { display: inline-block; margin-right: .8rem; } .ev-scale label { font-weight: 400; margin: 0; } .ev-scale input { margin-right: .2rem; } .hr-sec .form-check-input { margin-right: .3rem; }

/* templates/hr/leaves/calendar.html */
.lc { border-collapse: separate; border-spacing: 2px; font-size: .78rem; }
.lc th { font-weight: 600; color: #64748b; text-align: center; padding: .1rem; }
.lc th.we, .lc td.we { background: #f8fafc; }
.lc td { width: 1.6rem; height: 1.6rem; text-align: center; border-radius: 4px; }
.lc td.name { text-align: left; white-space: nowrap; width: auto; padding: 0 .5rem; font-weight: 600; color: #1e293b; }
.lc td.approved { background: #16a34a; color: #fff; } .lc td.pending { background: #fde68a; color: #92400e; }
.lc th.today, .lc td.today { outline: 2px solid #475569; }

/* templates/iso/home.html */
.iso-kpi { font-size: 1.6rem; font-weight: 700; color: #1e293b; } .iso-card h6 { font-weight: 700; }

/* templates/it/home.html */
.it-kpi { font-size: 1.5rem; font-weight: 700; color: #1e293b; }

/* templates/kad/detail.html */
 .kd-code { font-family: ui-monospace, Menlo, monospace; }

/* templates/knowledge/index.html */
.kb-tree a { display: block; padding: .15rem .4rem; border-radius: .3rem; color: #334155; text-decoration: none; font-size: .85rem; }
.kb-tree a:hover { background: #f1f5f9; }
.kb-tree a.active { background: #e0e7ff; color: #1e293b; font-weight: 600; }
.kb-tree .n { color: #94a3b8; font-size: .75rem; }
.kb-tree .d1 { padding-left: 1.2rem; } .kb-tree .d2 { padding-left: 2.1rem; } .kb-tree .d3 { padding-left: 3rem; } .kb-tree .d4 { padding-left: 3.9rem; }
.kb-row .kb-title { font-weight: 600; color: #1e293b; }
.kb-row .kb-ex { color: #64748b; font-size: .82rem; }
.kb-chip { display: inline-block; background: #eef2ff; border: 1px solid #c7d2fe; border-radius: 999px; padding: 0 .5rem; font-size: .75rem; color: #3730a3; margin-right: .25rem; }

/* templates/knowledge/keywords.html */
.kw-row td { vertical-align: middle; }
.kw-row .d1 { padding-left: 1.4rem; } .kw-row .d2 { padding-left: 2.8rem; } .kw-row .d3 { padding-left: 4.2rem; } .kw-row .d4 { padding-left: 5.6rem; }
.kw-row .d0 { font-weight: 600; }

/* templates/myofeiles/aade_http_poc.html */
.stat-tile {
  background: rgba(99, 102, 241, 0.04);
  border: 1px solid rgba(99, 102, 241, 0.1);
  border-radius: 0.5rem;
  padding: 0.8rem;
  text-align: center;
}
.stat-tile.stat-ok { background: rgba(16, 185, 129, 0.06); border-color: rgba(16, 185, 129, 0.2); }
.stat-tile.stat-fail { background: rgba(239, 68, 68, 0.06); border-color: rgba(239, 68, 68, 0.2); }
.stat-tile .stat-label { font-size: 0.75rem; text-transform: uppercase; color: #6b7280; }
.stat-tile .stat-value { font-size: 1.4rem; font-weight: 600; margin: 0.2rem 0; }

/* templates/officeapps/index.html */
.hr-row td { vertical-align: middle; } .hr-title { font-weight: 600; color: #1e293b; text-decoration: none; } .hr-title:hover { text-decoration: underline; }

/* templates/opportunities/page.html */
.opp-stages { display: flex; gap: .4rem; flex-wrap: wrap; } .opp-stage { border: 1px solid #e2e8f0; border-radius: .4rem; padding: .3rem .7rem; font-size: .85rem; background: #fff; } .opp-stage.done { background: #dcfce7; border-color: #86efac; } .opp-stage.now { background: #1e293b; color: #fff; border-color: #1e293b; }

/* templates/rules/builtin_index.html */
.bi-row td { vertical-align: middle; } .bi-name { font-weight: 600; text-decoration: none; color: #1e293b; } .bi-name:hover { text-decoration: underline; }

/* templates/rules/builtin_page.html */
.code-box { max-height: 520px; overflow: auto; background: #0f172a; color: #e2e8f0; border-radius: .4rem; padding: .75rem; font-size: .78rem; line-height: 1.45; } .code-box code { color: inherit; } .rl-kv td:first-child { color: #6c757d; width: 26%; }

/* templates/services/index.html */
.svc-tree a { text-decoration: none; color: inherit; display: block; padding: .15rem .4rem; border-radius: .3rem; font-size: .85rem; }
.svc-tree a:hover { background: #f1f5f9; }
.svc-tree a.active { background: #e2e8f0; font-weight: 600; }
.svc-tree .badge { font-weight: 500; }
.svc-table td, .svc-table th { vertical-align: top; }

/* templates/strategy/home.html */
.st-kpi { font-size: 1.5rem; font-weight: 700; color: #1e293b; } .st-obj { border-left: 4px solid #6366f1; } .st-kr { font-size: .85rem; }

/* templates/tasks/index.html */
.tk-row td { vertical-align: middle; }
.tk-title { font-weight: 600; color: #1e293b; text-decoration: none; } .tk-title:hover { text-decoration: underline; }
.tk-overdue td:first-child { box-shadow: inset 4px 0 0 #dc2626; }
.tk-row.table-success td { background: #f0fdf4; }

/* templates/tasks/page.html */
.ctr-kv td:first-child { color: #6c757d; width: 42%; }
.tk-hist { font-size: .82rem; } .tk-hist .t { color: #94a3b8; white-space: nowrap; }
.tk-sib { font-size: .85rem; }

/* templates/utils/language_switcher.html */
.lang-switch-btn {
    color: rgba(255, 255, 255, 0.75);
    border-color: rgba(255, 255, 255, 0.3);
}
.lang-switch-btn:hover,
.lang-switch-btn:focus {
    color: #fff;
    border-color: rgba(255, 255, 255, 0.5);
    background-color: rgba(255, 255, 255, 0.1);
}
.language-switcher .dropdown-item.active {
    background-color: var(--bs-primary);
    color: white;
}
.language-switcher .dropdown-menu-dark .dropdown-item:hover,
.language-switcher .dropdown-menu-dark .dropdown-item:focus {
    background-color: rgba(255, 255, 255, 0.15);
    color: #dee2e6;
}

/* templates/utils/terms_modal.html */
.terms-content h6 {
    color: #0d6efd;
    margin-top: 1.5rem;
    margin-bottom: 0.5rem;
}

.terms-content p {
    text-align: justify;
    line-height: 1.6;
}
