:root {
    font-family: Inter, system-ui, Segoe UI, Arial, sans-serif;
    background: #f5f7fa;
    color: #1f2937;
}

* { box-sizing: border-box; }
body { margin: 0; }
a { color: inherit; text-decoration: none; }

.shell { min-height: 100vh; display: grid; grid-template-columns: 240px 1fr; }

.sidebar {
    background: #111827;
    color: white;
    padding: 22px 16px;
}

.brand {
    font-size: 1.25rem;
    font-weight: 800;
    margin-bottom: 24px;
}

.sidebar nav { display: grid; gap: 8px; }

.sidebar nav a {
    padding: 10px 12px;
    border-radius: 8px;
    color: #d1d5db;
}

.sidebar nav a.active,
.sidebar nav a:hover {
    background: #1f2937;
    color: white;
}

main { min-width: 0; }

.topbar {
    min-height: 58px;
    display: flex;
    align-items: center;
    padding: 0 24px;
    background: white;
    border-bottom: 1px solid #e5e7eb;
    font-weight: 600;
}

.content {
    max-width: 1400px;
    padding: 24px;
    margin: 0 auto;
}

.page-header,
.section-heading,
.actions,
.action-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

h1 { margin-top: 0; }
h2 { margin-bottom: 12px; }

.muted { color: #6b7280; font-size: .92rem; }

.metric-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 28px;
}

.metric, .panel, .card {
    background: white;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
}

.metric {
    padding: 20px;
    display: grid;
    gap: 4px;
}

.metric strong { font-size: 1.8rem; }

.panel {
    padding: 18px;
    margin-bottom: 18px;
}

.card-list { display: grid; gap: 10px; }

.card {
    padding: 14px 16px;
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
}

.card:hover { border-color: #9ca3af; }

.pill {
    display: inline-flex;
    align-items: center;
    background: #eef2ff;
    border-radius: 999px;
    padding: 5px 10px;
    font-size: .82rem;
    white-space: nowrap;
}

.pill.large { font-size: .92rem; padding: 7px 12px; }

.input {
    width: 100%;
    min-height: 40px;
    padding: 8px 10px;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    background: white;
}

.input.tall { min-height: 100px; }
.input.compact { width: auto; min-width: 130px; }

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 8px 13px;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    background: white;
    cursor: pointer;
}

.btn.primary {
    background: #111827;
    color: white;
    border-color: #111827;
}

.btn.small { min-height: 32px; padding: 6px 10px; }

.form-grid {
    display: grid;
    grid-template-columns: 170px 1fr;
    gap: 12px 16px;
    align-items: center;
}

.two-col {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(320px, 1fr);
    gap: 18px;
}

.section-block { margin-bottom: 28px; }

.right {
    display: grid;
    justify-items: end;
    gap: 4px;
}

.timeline { margin-top: 18px; display: grid; gap: 12px; }
.timeline-entry { border-top: 1px solid #e5e7eb; padding-top: 12px; }
.timeline-entry p { margin-bottom: 0; white-space: pre-wrap; }

.action-row {
    padding: 12px 0;
    border-top: 1px solid #e5e7eb;
}

.audit {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 8px;
    padding: 9px 0;
    border-top: 1px solid #e5e7eb;
    font-size: .9rem;
}

@media (max-width: 900px) {
    .shell { grid-template-columns: 1fr; }
    .sidebar {
        position: sticky;
        top: 0;
        z-index: 10;
        padding: 10px 12px;
    }
    .brand { margin: 0 0 8px 0; font-size: 1rem; }
    .sidebar nav {
        grid-auto-flow: column;
        grid-auto-columns: max-content;
        overflow-x: auto;
        gap: 6px;
    }
    .topbar { display: none; }
    .content { padding: 14px; }
    .metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .two-col { grid-template-columns: 1fr; }
    .form-grid { grid-template-columns: 1fr; }
    .form-grid label { margin-top: 4px; }
    .audit { grid-template-columns: 1fr; }
}


.notice {
    border-left: 4px solid #6b7280;
}

.form-actions {
    margin-top: 16px;
    justify-content: flex-start;
}

.employee-list {
    display: grid;
    grid-template-columns: minmax(180px, 1.2fr) minmax(180px, 1fr) 130px 110px minmax(240px, auto);
    gap: 12px;
    align-items: center;
}

.employee-list-head {
    padding: 0 0 10px 0;
    border-bottom: 1px solid #e5e7eb;
}

.employee-row {
    padding: 12px 0;
    border-bottom: 1px solid #e5e7eb;
}

.employee-row:last-child {
    border-bottom: 0;
}

.row-buttons {
    display: flex;
    gap: 8px;
    justify-content: flex-end;
}

.checkbox-line {
    display: inline-flex;
    gap: 8px;
    align-items: center;
}

.pill.inactive {
    background: #f3f4f6;
    color: #6b7280;
}

@media (max-width: 760px) {
    .employee-list,
    .employee-list-head {
        grid-template-columns: 1fr;
    }

    .employee-list-head {
        display: none;
    }

    .employee-row {
        padding: 16px 0;
    }

    .row-buttons {
        justify-content: flex-start;
    }
}


.action-filters {
    display: grid;
    grid-template-columns: repeat(3, minmax(180px, 1fr));
    gap: 16px;
}

.action-filters label {
    display: block;
    margin-bottom: 6px;
    font-weight: 600;
}

.actions-table {
    display: grid;
    grid-template-columns: minmax(220px, 1.5fr) minmax(140px, .8fr) minmax(220px, 1.3fr) 130px 120px;
    gap: 12px;
    align-items: center;
}

.actions-head {
    padding-bottom: 10px;
    border-bottom: 1px solid #e5e7eb;
}

.action-line {
    width: 100%;
    padding: 14px 0;
    border: 0;
    border-bottom: 1px solid #e5e7eb;
    background: transparent;
    text-align: left;
    color: inherit;
    cursor: pointer;
    font: inherit;
}

.action-line:hover {
    background: rgba(0, 0, 0, 0.025);
}

.pill.danger {
    margin-left: 8px;
    background: #fee2e2;
    color: #991b1b;
}

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

    .actions-table,
    .actions-head {
        grid-template-columns: 1fr;
    }

    .actions-head {
        display: none;
    }

    .action-line {
        padding: 16px 0;
    }
}


.assignee-picker {
    display: grid;
    gap: 8px;
    padding: 10px 0;
}

.user-test-bar {
    display: flex;
    gap: 10px;
    align-items: center;
    margin-bottom: 14px;
    padding: 10px 12px;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    background: #fafafa;
}

@media (max-width: 760px) {
    .user-test-bar {
        align-items: stretch;
        flex-direction: column;
    }
}


.involved-picker {
    display: grid;
    gap: 8px;
    padding: 10px 12px;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
}


.definition-grid {
    display: grid;
    grid-template-columns: minmax(220px, 1.5fr) minmax(160px, 1fr) 130px 110px 120px;
    gap: 12px;
    align-items: center;
}
.definition-head { padding-bottom: 10px; border-bottom: 1px solid #e5e7eb; }
.definition-row { padding: 12px 0; border-bottom: 1px solid #e5e7eb; }

@media (max-width: 900px) {
    .definition-grid { grid-template-columns: 1fr; }
    .definition-head { display: none; }
}


.header-actions {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
}

.danger-btn {
    border-color: #b91c1c;
    color: #991b1b;
    background: #fff;
}

.danger-btn:hover {
    background: #fee2e2;
}


.topic-edit-block {
    display: grid;
    gap: 8px;
    min-width: min(520px, 70vw);
}

.item-title-edit {
    font-size: 1.6rem;
    font-weight: 700;
    max-width: 640px;
}

.detail-summary {
    display: grid;
    gap: 10px;
}

.item-message {
    margin-top: 12px;
}


.build-badge {
    margin-left: auto;
    font-size: 0.82rem;
    font-weight: 700;
    padding: 5px 9px;
    border: 1px solid #94a3b8;
    border-radius: 999px;
    background: #f8fafc;
    color: #334155;
}

.edit-btn {
    border-color: #475569;
    background: #ffffff;
    color: #0f172a;
    font-weight: 600;
}


.comment-heading {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: flex-start;
}

.comment-tools {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}

.employees-summary {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
    flex-wrap: wrap;
}

.involved-manager {
    margin-top: 12px;
    padding: 12px;
    border: 1px solid #dbe2ea;
    border-radius: 10px;
    background: #f8fafc;
}


.action-edit-row {
    align-items: flex-start;
}

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

.action-edit-form {
    width: 100%;
    display: grid;
    gap: 8px;
}

.action-edit-form .assignee-picker {
    margin-bottom: 4px;
}


/* RC18 authentication and attention */
.login-shell { min-height: 100vh; display: grid; place-items: center; padding: 24px; background: #f5f7fa; }
.login-main { width: 100%; max-width: 440px; }
.login-card { background: white; border: 1px solid #e5e7eb; border-radius: 14px; padding: 28px; }
.login-brand { font-size: 1.35rem; font-weight: 800; margin-bottom: 22px; }
.login-card form { display: grid; gap: 9px; }
.login-card label { font-weight: 600; margin-top: 4px; }
.login-button { margin-top: 10px; width: 100%; }
.login-error { padding: 10px 12px; margin: 12px 0; border-radius: 8px; background: #fee2e2; color: #991b1b; }
.login-help { margin-top: 18px; font-size: .84rem; color: #6b7280; line-height: 1.45; }
.login-version { display: inline-flex; margin: 4px 0 0 0; }
.attention-button { margin-left: auto; border: 1px solid #d1d5db; background: white; border-radius: 999px; padding: 6px 10px; cursor: pointer; font: inherit; }
.attention-count { display: inline-flex; min-width: 22px; height: 22px; align-items: center; justify-content: center; border-radius: 999px; background: #111827; color: white; font-size: .78rem; font-weight: 800; padding: 0 6px; }
.logged-user { font-weight: 700; white-space: nowrap; }
.credential-editor { grid-column: 1 / -1; display: grid; grid-template-columns: 150px minmax(180px, 1fr); gap: 8px 12px; align-items: center; padding: 12px; background: #f8fafc; border: 1px solid #e5e7eb; border-radius: 8px; }
.credential-editor strong, .credential-editor .row-buttons { grid-column: 1 / -1; }
@media (max-width: 900px) {
  .credential-editor { grid-template-columns: 1fr; }
  .credential-editor strong, .credential-editor .row-buttons { grid-column: auto; }
}


/* RC18.3 Employees Involved, item move and section controls */
.employee-check-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 10px;
    width: 100%;
}
.employee-check-card {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 44px;
    padding: 9px 12px;
    border: 1px solid #dbe2ea;
    border-radius: 9px;
    background: #fff;
    cursor: pointer;
    font-weight: 600;
}
.employee-check-card:hover { background: #f8fafc; border-color: #94a3b8; }
.employee-check-card input { width: 18px; height: 18px; margin: 0; flex: 0 0 auto; }
.employee-check-help { grid-column: 1 / -1; margin-top: 2px; }
.involved-manager .actions { margin-top: 14px; }
.move-item-panel { border-left: 4px solid #475569; }
.move-confirm { margin-top: 16px; padding: 12px; display: grid; gap: 10px; border: 1px solid #dbe2ea; border-radius: 9px; background: #f8fafc; }
.section-tools { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.section-notice { margin: 8px 0 12px; }


/* RC19 corporate application palette + workflow */
:root {
    --corp-blue: #0b4f8a;
    --corp-blue-dark: #07365f;
    --corp-green: #69a82f;
    --corp-green-dark: #4f8422;
    --corp-light: #f3f7fa;
}
.sidebar { background: var(--corp-blue-dark); }
.sidebar nav a.active, .sidebar nav a:hover { background: var(--corp-blue); }
.btn.primary { background: var(--corp-blue); border-color: var(--corp-blue); }
.btn.primary:hover { background: var(--corp-blue-dark); }
.build-badge { border-color: var(--corp-blue); color: var(--corp-blue-dark); }
.attention-count { background: var(--corp-green-dark); }
.pill:not(.danger):not(.inactive):not(.flow-wait-pill) { background: #e8f3df; color: #355d18; }
.section-edit-inline { display: flex; gap: 8px; align-items: center; flex: 1; }
.section-edit-inline .input { max-width: 480px; }

.flow-dependency-picker {
    display: grid;
    gap: 8px;
    margin: 12px 0;
    padding: 12px;
    border: 1px solid #dbe2ea;
    border-radius: 9px;
    background: #f8fafc;
}
.action-flow-heading {
    margin-top: 18px;
    padding: 8px 0;
    font-weight: 800;
    color: var(--corp-blue-dark);
    border-bottom: 2px solid var(--corp-blue);
}
.flow-action { position: relative; padding-left: 42px; }
.flow-step {
    position: absolute;
    left: 4px;
    top: 14px;
    width: 27px;
    height: 27px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: var(--corp-blue);
    color: white;
    font-weight: 800;
    font-size: .8rem;
}
.flow-completed .flow-step { background: var(--corp-green-dark); }
.flow-waiting .flow-step { background: #64748b; }
.flow-wait-label { margin-top: 4px; color: #64748b; font-size: .85rem; font-weight: 600; }
.flow-wait-pill { background: #e2e8f0; color: #475569; }

/* RC19.2 topbar spacing */
.topbar-user-controls {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 14px;
    white-space: nowrap;
}
.topbar-user-controls .attention-button { margin-left: 0; }
.topbar-user-controls .logged-user { padding: 0 2px; }

/* RC19.6 display density */
.density-control { display:flex; align-items:center; gap:.5rem; white-space:nowrap; }
.density-control .input { width:auto; min-width:130px; }
.card-list.density-compact .card { padding:.48rem .7rem; min-height:0; }
.card-list.density-compact .card strong { line-height:1.15; }
.card-list.density-compact .muted { line-height:1.1; font-size:.82rem; }
.panel.density-compact .action-line { padding:.42rem .55rem; min-height:0; line-height:1.15; }
.panel.density-compact .actions-head { padding:.4rem .55rem; }
.panel.density-compact .muted { line-height:1.1; font-size:.82rem; }

/* RC19.7 connection diagnostics outside the interactive renderer. */
.connection-diagnostics {
    display: flex; flex-wrap: wrap; align-items: center; gap: .75rem;
    padding: .45rem 1rem; background: #edf5f0; color: #16452b;
    border-bottom: 1px solid #b9cfc0; font-size: .85rem;
}
.connection-diagnostics button { font: inherit; cursor: pointer; }
.connection-warning { color: #8a250b; font-weight: 600; }
#components-reconnect-modal { display: none; }
#components-reconnect-modal.components-reconnect-show,
#components-reconnect-modal.components-reconnect-retrying,
#components-reconnect-modal.components-reconnect-paused,
#components-reconnect-modal.components-reconnect-failed,
#components-reconnect-modal.components-reconnect-rejected {
    display: flex; flex-wrap: wrap; gap: .75rem; padding: .75rem 1rem;
    background: #fff0d4; color: #662d05; border-bottom: 1px solid #d8b985;
}

/* RC19.9: menu labels are navigation controls, not draggable content. */
.sidebar nav a {
    -webkit-user-drag: none;
    -webkit-user-select: none;
    user-select: none;
}

/* RC19.10: include main-content links/cards in native drag prevention. */
.shell a {
    -webkit-user-drag: none;
}

/* RC19.12 master recovery session */
.master-admin-label{font-weight:800;letter-spacing:.04em;border:1px solid currentColor;padding:.25rem .5rem;border-radius:.35rem;}

/* RC19.12.2 restricted sections */
.private-pill{font-size:.72rem;margin-left:.45rem;vertical-align:middle;}


/* RC19.14a — InternalComms visual system */
:root{
  --corp-blue:#0b4f8a; --corp-blue-dark:#07365f; --corp-blue-deep:#082f52;
  --corp-green:#69a82f; --corp-green-dark:#4f8422;
  --surface:#ffffff; --surface-soft:#f7f9fc; --page:#eef3f8;
  --ink:#12263f; --muted:#66758a; --line:#d8e1eb;
  --shadow:0 8px 24px rgba(20,47,77,.07);
  --radius:14px;
}
html,body{background:var(--page);color:var(--ink);}
.shell{background:var(--page);}
.sidebar{
  background:linear-gradient(180deg,var(--corp-blue-deep),var(--corp-blue-dark));
  box-shadow:4px 0 18px rgba(7,54,95,.12);
}
.sidebar .brand{
  font-size:1.28rem;font-weight:800;letter-spacing:.01em;padding:1.35rem 1.15rem;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.sidebar nav{padding:.75rem .55rem;}
.sidebar nav a{
  border-radius:9px;margin:.18rem 0;padding:.72rem .85rem;transition:.16s ease;
}
.sidebar nav a:hover{background:rgba(255,255,255,.09);transform:translateX(2px);}
.sidebar nav a.active{background:rgba(255,255,255,.15);box-shadow:inset 3px 0 0 var(--corp-green);}
main{min-width:0;}
.topbar{
  background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);
  box-shadow:0 2px 12px rgba(20,47,77,.04);min-height:64px;
}
.build-badge{background:#edf4fa;border:1px solid #d3e1ee;border-radius:999px;padding:.28rem .65rem;color:var(--corp-blue-dark);}
.content{max-width:1500px;margin:0 auto;padding:1.35rem 1.5rem 2.5rem;}
.page-header{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  padding:1.15rem 1.3rem;margin-bottom:1rem;box-shadow:var(--shadow);
}
.page-header h1{margin:.1rem 0;font-size:1.65rem;letter-spacing:-.02em;}
.panel,.card{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow);
}
.panel{padding:1.15rem 1.25rem;}
.panel h2{color:var(--ink);letter-spacing:-.015em;}
.card{transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease;}
.card:hover{transform:translateY(-1px);border-color:#b8cadb;box-shadow:0 10px 26px rgba(20,47,77,.1);}
.btn{
  border-radius:9px;min-height:38px;padding:.5rem .85rem;font-weight:650;
  transition:transform .12s ease,box-shadow .12s ease,background .12s ease;
}
.btn:hover{transform:translateY(-1px);}
.btn.primary{background:var(--corp-blue);border-color:var(--corp-blue);box-shadow:0 3px 9px rgba(11,79,138,.16);}
.btn.primary:hover{background:var(--corp-blue-dark);}
.smart-add-btn{background:var(--corp-green)!important;border-color:var(--corp-green)!important;}
.smart-add-btn:hover{background:var(--corp-green-dark)!important;}
.input,input.input,select.input,textarea.input{
  border:1px solid #cbd7e3;border-radius:9px;background:#fff;min-height:42px;
}
.input:focus,input.input:focus,select.input:focus,textarea.input:focus{
  outline:none;border-color:#75a8d0;box-shadow:0 0 0 3px rgba(11,79,138,.09);
}
.pill{border-radius:999px;font-weight:650;}
.metric{
  border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);
  box-shadow:var(--shadow);padding:1rem 1.15rem;
}
.metric strong{color:var(--corp-blue-dark);font-size:1.65rem;}
.smart-actions-panel{border-top:3px solid var(--corp-blue);}
.smart-panel-head{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding-bottom:.8rem;margin-bottom:.75rem;border-bottom:1px solid var(--line);
}
.smart-panel-head h2{margin:0;}
.action-create-card{
  background:var(--surface-soft);border:1px solid #d5e1ec;border-radius:12px;
  padding:1rem;margin:.85rem 0 1rem;
}
.action-create-card h3{margin:.1rem 0 .85rem;color:var(--corp-blue-dark);}
.action-row{
  border:1px solid #dce5ee!important;border-radius:11px!important;margin:.55rem 0!important;
  background:#fff!important;padding:.8rem .85rem!important;
}
.action-row.flow-current{border-left:4px solid var(--corp-blue)!important;}
.action-row.flow-waiting{border-left:4px solid #8394aa!important;background:#fafbfd!important;}
.action-row.flow-completed{border-left:4px solid var(--corp-green)!important;background:#f8fbf6!important;}
.flow-step{box-shadow:0 2px 6px rgba(20,47,77,.12);}
.empty-state{padding:1.1rem;text-align:center;color:var(--muted);background:var(--surface-soft);border-radius:10px;}
.audit-collapsible{background:#fbfcfe;}
.audit-list{margin-top:.6rem;}
.audit{border-left:3px solid #cbd9e6;padding:.65rem .8rem;margin:.45rem 0;background:#fff;border-radius:0 8px 8px 0;}
.employee-check-card{border-radius:9px!important;border-color:#d7e1eb!important;background:#fbfcfe;}
.attention-button{border-radius:999px!important;}
.private-pill{background:#edf3f8!important;color:var(--corp-blue-dark)!important;border:1px solid #d1dfeb!important;}
@media(max-width:900px){
  .content{padding:1rem .8rem 2rem;}
  .smart-panel-head{align-items:flex-start;flex-direction:column;}
  .smart-panel-head .btn{width:100%;}
  .page-header{padding:1rem;}
}

.brand-sub{font-size:.72rem;font-weight:500;opacity:.72;margin-top:.18rem;letter-spacing:.03em;}


/* RC19.14a.1 — fixed Action / Task three-column layout */
.smart-actions-panel .action-row.flow-action{
  display:grid !important;
  grid-template-columns:52px minmax(0,1fr) 190px;
  column-gap:14px;
  align-items:start;
  position:relative;
  padding:14px 14px 14px 10px !important;
}
.smart-actions-panel .flow-step{
  position:static !important;
  grid-column:1;
  grid-row:1;
  width:36px;height:36px;min-width:36px;
  margin:1px auto 0;
  display:flex;align-items:center;justify-content:center;
  border-radius:50%;
  z-index:1;
}
.smart-actions-panel .task-main{
  grid-column:2;
  min-width:0;
  padding:1px 4px 0 0;
}
.smart-actions-panel .task-title{
  display:block;
  line-height:1.22;
  overflow-wrap:anywhere;
}
.smart-actions-panel .action-row-controls{
  grid-column:3;
  display:flex !important;
  flex-direction:column;
  align-items:stretch !important;
  gap:8px;
  width:100%;
  min-width:0;
}
.smart-actions-panel .action-row-controls .btn,
.smart-actions-panel .action-row-controls .input,
.smart-actions-panel .action-row-controls .pill{
  width:100%;
  box-sizing:border-box;
  margin:0;
  justify-content:center;
}
.smart-actions-panel .action-row-controls .pill{
  min-height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.smart-actions-panel .action-edit-form{
  grid-column:2 / 4;
  min-width:0;
}
@media(max-width:780px){
  .smart-actions-panel .action-row.flow-action{
    grid-template-columns:44px minmax(0,1fr);
    row-gap:10px;
  }
  .smart-actions-panel .flow-step{grid-column:1;grid-row:1;}
  .smart-actions-panel .task-main{grid-column:2;grid-row:1;}
  .smart-actions-panel .action-row-controls{
    grid-column:2;
    grid-row:2;
    display:grid !important;
    grid-template-columns:1fr 1fr;
  }
  .smart-actions-panel .action-row-controls .input,
  .smart-actions-panel .action-row-controls .pill{grid-column:1 / -1;}
  .smart-actions-panel .action-edit-form{grid-column:2;}
}
@media(max-width:520px){
  .smart-actions-panel .action-row-controls{grid-template-columns:1fr;}
  .smart-actions-panel .action-row-controls .input,
  .smart-actions-panel .action-row-controls .pill{grid-column:1;}
}

/* RC19.14a — Actions / Tasks full-width deterministic layout */
.smart-actions-panel{margin-bottom:1rem;overflow:hidden;}
.smart-actions-panel .action-row.flow-action{
  display:grid !important;
  grid-template-columns:46px minmax(260px,1fr) 170px !important;
  gap:16px !important;
  align-items:start !important;
  position:relative !important;
  padding:14px 16px !important;
  padding-left:16px !important;
}
.smart-actions-panel .flow-step{
  position:relative !important;
  left:auto !important;top:auto !important;
  grid-column:1 !important;grid-row:1 !important;
  width:34px !important;height:34px !important;min-width:34px !important;
  margin:0 auto !important;
  display:flex !important;align-items:center !important;justify-content:center !important;
  border-radius:50% !important;
}
.smart-actions-panel .task-main{
  grid-column:2 !important;grid-row:1 !important;
  min-width:0 !important;padding:0 !important;margin:0 !important;
}
.smart-actions-panel .task-title{
  display:block !important;line-height:1.25 !important;margin:0 0 4px !important;
  overflow-wrap:break-word !important;
}
.smart-actions-panel .action-row-controls{
  grid-column:3 !important;grid-row:1 !important;
  display:flex !important;flex-direction:column !important;
  flex-wrap:nowrap !important;align-items:stretch !important;
  gap:8px !important;width:170px !important;margin:0 !important;
}
.smart-actions-panel .action-row-controls > *{
  width:100% !important;min-width:0 !important;box-sizing:border-box !important;margin:0 !important;
}
.smart-actions-panel .action-row-controls .btn{
  display:flex !important;align-items:center !important;justify-content:center !important;
  white-space:nowrap !important;
}
.smart-actions-panel .action-row-controls .pill{
  min-height:38px !important;display:flex !important;align-items:center !important;justify-content:center !important;
}
.smart-actions-panel .action-edit-form{
  grid-column:2 / 4 !important;grid-row:1 !important;min-width:0 !important;
}
@media(max-width:700px){
  .smart-actions-panel .action-row.flow-action{
    grid-template-columns:40px minmax(0,1fr) !important;
    gap:10px !important;
  }
  .smart-actions-panel .flow-step{grid-column:1 !important;grid-row:1 !important;}
  .smart-actions-panel .task-main{grid-column:2 !important;grid-row:1 !important;}
  .smart-actions-panel .action-row-controls{
    grid-column:2 !important;grid-row:2 !important;
    width:100% !important;
    display:grid !important;grid-template-columns:1fr 1fr !important;
  }
  .smart-actions-panel .action-row-controls .input,
  .smart-actions-panel .action-row-controls .pill{grid-column:1 / -1 !important;}
  .smart-actions-panel .action-edit-form{grid-column:2 !important;}
}
@media(max-width:460px){
  .smart-actions-panel .action-row-controls{grid-template-columns:1fr !important;}
  .smart-actions-panel .action-row-controls .input,
  .smart-actions-panel .action-row-controls .pill{grid-column:1 !important;}
}


/* RC19.14a — authoritative structural Actions / Tasks row layout */
.smart-actions-panel .action-row.flow-action{
  display:grid !important;
  grid-template-columns:48px minmax(0,1fr) 180px !important;
  gap:16px !important;
  align-items:start !important;
  padding:14px 16px !important;
  padding-left:16px !important;
}
.smart-actions-panel .task-number-col{
  grid-column:1 !important;
  position:static !important;
  width:48px !important;
  min-width:48px !important;
  display:flex !important;
  justify-content:center !important;
  align-items:flex-start !important;
}
.smart-actions-panel .task-number-col .flow-step{
  position:static !important;
  left:auto !important;right:auto !important;top:auto !important;bottom:auto !important;
  transform:none !important;
  width:34px !important;height:34px !important;min-width:34px !important;
  margin:0 !important;padding:0 !important;
  display:flex !important;align-items:center !important;justify-content:center !important;
}
.smart-actions-panel .task-content-col{
  grid-column:2 !important;
  min-width:0 !important;
  position:static !important;
  padding:0 !important;margin:0 !important;
}
.smart-actions-panel .task-main{
  position:static !important;
  min-width:0 !important;
  padding:0 !important;margin:0 !important;
}
.smart-actions-panel .task-controls-col{
  grid-column:3 !important;
  width:180px !important;
  min-width:180px !important;
  position:static !important;
}
.smart-actions-panel .task-controls-col .action-row-controls{
  position:static !important;
  width:180px !important;
  display:flex !important;
  flex-direction:column !important;
  flex-wrap:nowrap !important;
  gap:8px !important;
  margin:0 !important;padding:0 !important;
}
.smart-actions-panel .task-controls-col .action-row-controls > *{
  width:180px !important;
  min-width:180px !important;
  max-width:180px !important;
  box-sizing:border-box !important;
  margin:0 !important;
}
.smart-actions-panel .task-controls-col .btn,
.smart-actions-panel .task-controls-col .pill{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.smart-actions-panel .action-edit-form{
  grid-column:2 / 4 !important;
  min-width:0 !important;
}
/* Actions listing follows approved Item → Action → Responsible → Due → Status rendering. */
.actions-table{
  grid-template-columns:minmax(250px,1.35fr) minmax(300px,1.55fr) minmax(150px,.75fr) minmax(135px,.6fr) minmax(110px,.5fr) !important;
}
.actions-item-cell strong,.actions-action-cell strong{display:block;}
@media(max-width:760px){
  .smart-actions-panel .action-row.flow-action{
    grid-template-columns:42px minmax(0,1fr) !important;
    gap:10px !important;
  }
  .smart-actions-panel .task-number-col{grid-column:1 !important;width:42px !important;min-width:42px !important;}
  .smart-actions-panel .task-content-col{grid-column:2 !important;}
  .smart-actions-panel .task-controls-col{
    grid-column:2 !important;
    width:100% !important;min-width:0 !important;
  }
  .smart-actions-panel .task-controls-col .action-row-controls{
    width:100% !important;
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
  }
  .smart-actions-panel .task-controls-col .action-row-controls > *{
    width:100% !important;min-width:0 !important;max-width:none !important;
  }
  .smart-actions-panel .task-controls-col .input,
  .smart-actions-panel .task-controls-col .pill{grid-column:1 / -1 !important;}
  .smart-actions-panel .action-edit-form{grid-column:2 !important;}
}

/* RC19.14a compact Actions / Tasks */
.smart-actions-panel .action-row.flow-action{grid-template-columns:48px minmax(0,1fr) auto!important;gap:12px!important;align-items:center!important;padding:8px 12px!important;min-height:0!important}
.smart-actions-panel .task-number-col{align-items:center!important}
.smart-actions-panel .task-content-col{align-self:center!important}
.smart-actions-panel .task-main{line-height:1.18!important}
.smart-actions-panel .task-title{margin-bottom:2px!important}
.smart-actions-panel .task-controls-col{width:auto!important;min-width:0!important;align-self:center!important}
.smart-actions-panel .task-controls-col .action-row-controls{width:auto!important;display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:flex-end!important;gap:7px!important}
.smart-actions-panel .task-controls-col .action-row-controls>*{width:auto!important;min-width:0!important;max-width:none!important;margin:0!important}
.smart-actions-panel .task-controls-col .action-row-controls .input{width:132px!important;min-width:132px!important;min-height:36px!important;height:36px!important}
.smart-actions-panel .task-controls-col .action-row-controls .pill{width:112px!important;min-width:112px!important;min-height:36px!important;height:36px!important;padding:.35rem .6rem!important}
.smart-actions-panel .task-controls-col .action-row-controls .btn{width:auto!important;min-width:68px!important;min-height:36px!important;height:36px!important;padding:.35rem .7rem!important;white-space:nowrap!important}
@media(max-width:900px){
.smart-actions-panel .action-row.flow-action{grid-template-columns:42px minmax(0,1fr)!important;align-items:start!important}
.smart-actions-panel .task-number-col{grid-column:1!important;grid-row:1/span 2!important}
.smart-actions-panel .task-content-col{grid-column:2!important;grid-row:1!important}
.smart-actions-panel .task-controls-col{grid-column:2!important;grid-row:2!important;width:100%!important}
.smart-actions-panel .task-controls-col .action-row-controls{width:100%!important;justify-content:flex-start!important;flex-wrap:wrap!important}}
@media(max-width:520px){.smart-actions-panel .task-controls-col .action-row-controls .input,.smart-actions-panel .task-controls-col .action-row-controls .pill{width:100%!important;min-width:100%!important}}

/* RC19.14a */
.info-only-pill{background:#eef2f6!important;color:#425466!important;border:1px solid #d5dde6!important;}

/* RC19.14a Customers */
.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:10px;border-bottom:1px solid #e1e7ec;text-align:left;vertical-align:top}.data-table th{color:var(--corp-blue-dark);font-size:.86rem}.data-table tr:hover td{background:#f8fafb}

/* RC19.15b grouped navigation and Service Agreement Clients */
.nav-section-title{margin:18px 14px 6px;padding-top:10px;border-top:1px solid rgba(255,255,255,.14);font-size:.72rem;font-weight:800;letter-spacing:.08em;opacity:.72}
.nav-coming-soon{display:block;margin:4px 14px 10px;padding:8px 12px;border-radius:8px;opacity:.48;font-size:.9rem;cursor:default}
.service-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.inline-form{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.inline-form .input{max-width:420px}
@media(max-width:850px){.service-columns{grid-template-columns:1fr}}

/* RC19.15b navigation module headers and setup-list cleanup */
.nav-section-title{margin:20px 12px 8px!important;padding:9px 12px!important;border:0!important;border-radius:8px;background:var(--corp-green)!important;color:#fff!important;font-size:.76rem!important;font-weight:900!important;letter-spacing:.07em!important;line-height:1.15!important;opacity:1!important;box-shadow:0 2px 6px rgba(0,0,0,.12)}
.nav-coming-soon{margin:2px 14px 10px!important;color:rgba(255,255,255,.7)!important;opacity:1!important;font-style:italic}
.setup-list{display:grid;gap:8px;margin-top:14px}.setup-list-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 12px;border:1px solid #dbe4ea;border-radius:9px;background:#f9fbfc}.setup-list-main{display:flex;flex-direction:column;gap:2px;min-width:0}.setup-row-actions{display:flex;gap:7px;flex-wrap:wrap;flex:0 0 auto}.setup-edit-input{max-width:620px}.setup-edit-grid{display:grid;grid-template-columns:minmax(140px,.7fr) minmax(180px,1fr) minmax(140px,.7fr);gap:8px;flex:1}.ilt-config{margin:14px 0;padding:16px;border:1px solid #cfe0bd;border-left:5px solid var(--corp-green);border-radius:10px;background:#f7fbf2}.ilt-config h3{margin-top:0;color:var(--corp-green-dark)}.btn.danger{border-color:#c9d0d6;background:#fff;color:#8a2e2e}@media(max-width:720px){.setup-list-row{align-items:stretch;flex-direction:column}.setup-row-actions{justify-content:flex-start}.setup-edit-grid{grid-template-columns:1fr}}
/* RC19.16 Item documents */
.attachment-upload{margin:14px 0 18px;padding:14px;border:1px dashed #b9c8d4;border-radius:10px;background:#f8fafc}.attachment-list{display:grid;gap:8px}.attachment-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:11px 12px;border:1px solid #dce5eb;border-radius:9px;background:#fff}.attachment-row .actions{display:flex;gap:7px;flex-wrap:wrap}.success-message{margin-top:8px;color:#3f721b;font-weight:600}@media(max-width:700px){.attachment-row{align-items:flex-start;flex-direction:column}.attachment-row .actions{width:100%}}

/* RC19.17 — WCP Hub mobile Communication */
.mobile-menu-button,.mobile-session-bar,.mobile-menu-backdrop{display:none}
.delete-confirm-text{font-weight:700;color:#8a2e2e;align-self:center}
@media(max-width:900px){
  body{overflow-x:hidden}
  .shell{display:block;min-height:100vh}
  .sidebar{position:fixed;left:0;top:0;bottom:0;width:min(86vw,320px);z-index:1002;padding:14px;background:#111827;transform:translateX(-105%);transition:transform .18s ease;overflow-y:auto;box-shadow:8px 0 30px rgba(0,0,0,.2)}
  .mobile-menu-open .sidebar{transform:translateX(0)}
  .mobile-brand-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
  .mobile-brand-row .brand{font-size:1.18rem;margin:2px 0 14px}
  .mobile-menu-button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:8px 12px;border:1px solid #d1d5db;border-radius:9px;background:#fff;color:#07365f;font-weight:800;cursor:pointer}
  .mobile-menu-button.inline{flex:0 0 auto}
  .sidebar .mobile-menu-button{background:#1f2937;color:#fff;border-color:#374151}
  .sidebar .main-nav{display:grid;grid-auto-flow:row;grid-auto-columns:auto;overflow:visible;gap:7px}
  .sidebar nav a{display:block;padding:11px 12px;min-height:42px}
  .nav-section-title{margin-top:10px}
  .mobile-menu-backdrop{display:block;position:fixed;inset:0;z-index:1001;border:0;background:rgba(15,23,42,.48)}
  .mobile-session-bar{position:sticky;top:0;z-index:900;display:flex;align-items:center;gap:8px;padding:8px 10px;background:#fff;border-bottom:1px solid #dbe4ea;box-shadow:0 2px 8px rgba(20,47,77,.08)}
  .mobile-session-bar .attention-button{min-width:42px;min-height:42px}
  .mobile-user-name{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700;color:var(--corp-blue-dark)}
  .content{width:100%;max-width:none;padding:12px 10px 28px}
  .page-header{display:flex;flex-direction:column;align-items:stretch;gap:10px;padding:12px;margin-bottom:12px}
  .page-header h1{font-size:1.55rem;margin:0}
  .page-header .actions,.page-header .density-control{width:100%}
  .page-header .btn,.page-header .input{min-height:44px}
  .panel{padding:14px 12px;border-radius:10px}
  .card{align-items:flex-start;flex-direction:column;padding:13px 12px}
  .card .right{width:100%;justify-items:start;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap}
  .metric-grid{grid-template-columns:1fr 1fr;gap:8px}
  .metric{padding:13px}.metric strong{font-size:1.45rem}
  .btn{min-height:44px;padding:9px 12px}
  .btn.small{min-height:40px}
  input.input,select.input,textarea.input{font-size:16px;min-height:44px}
  .actions{flex-wrap:wrap;align-items:stretch}.actions>.btn{flex:1 1 130px}
  .two-col,.form-grid{grid-template-columns:1fr!important}
  .actions-table.actions-head{display:none!important}
  .actions-table.action-line{display:grid!important;grid-template-columns:1fr!important;gap:7px!important;width:100%;text-align:left;padding:13px 12px!important;border:1px solid #dbe4ea!important;border-radius:10px!important;margin-bottom:9px!important;background:#fff!important}
  .actions-table.action-line>div{min-width:0}.actions-table.action-line>div:nth-child(3)::before{content:'Responsible: ';font-weight:700}.actions-table.action-line>div:nth-child(4)::before{content:'Due: ';font-weight:700}.actions-table.action-line>div:nth-child(5)::before{content:'Status: ';font-weight:700}
  .attachment-upload input[type=file]{display:block;width:100%;font-size:16px;margin-bottom:8px}
  .attachment-row .actions{display:grid;width:100%;grid-template-columns:1fr}.attachment-row .actions .btn{width:100%}
  .audit{grid-template-columns:1fr!important;gap:4px}
}
@media(max-width:520px){
  .metric-grid{grid-template-columns:1fr}
  .mobile-session-bar{gap:6px}.mobile-session-bar .btn.small{padding-left:9px;padding-right:9px}
  .content{padding-left:8px;padding-right:8px}
}

/* RC19.18a: diagnostics remain active in browser/server logs but are no longer shown to employees. */
.connection-diagnostics { display: none !important; }

/* RC19.20a Action status modal + discussion status entries */
.modal-backdrop {
    position: fixed; inset: 0; z-index: 2000; background: rgba(7, 54, 95, .38);
    display: flex; align-items: center; justify-content: center; padding: 20px;
}
.status-change-modal {
    width: min(680px, 100%); max-height: calc(100vh - 40px); overflow-y: auto;
    background: #fff; border-radius: 14px; box-shadow: 0 20px 60px rgba(0,0,0,.24); padding: 24px;
}
.status-modal-head { display:flex; justify-content:space-between; align-items:flex-start; gap:18px; margin-bottom:18px; }
.status-modal-head h2 { margin:0 0 4px; }
.modal-close { border:0; background:transparent; font-size:2rem; line-height:1; cursor:pointer; padding:0 4px; }
.status-transition { display:flex; align-items:center; gap:12px; padding:12px 14px; background:#f3f7fa; border-radius:9px; margin-bottom:18px; font-weight:600; }
.status-comment-label { display:block; font-weight:700; margin-bottom:7px; }
.status-comment-textarea { width:100%; min-height:150px; resize:vertical; }
.status-modal-actions { display:flex; gap:10px; justify-content:flex-end; margin-top:18px; }
.validation-message { margin-top:.5rem; font-weight:600; }
.action-update-entry { border-left:4px solid var(--corp-green); background:#f7faf5; }
.action-update-pill { font-size:.75rem; white-space:nowrap; }
@media (max-width:700px) {
  .modal-backdrop { padding:10px; align-items:flex-end; }
  .status-change-modal { width:100%; max-height:92vh; padding:18px; border-radius:14px 14px 8px 8px; }
  .status-comment-textarea { min-height:180px; }
  .status-modal-actions { flex-direction:column; }
  .status-modal-actions .btn { width:100%; }
}

/* RC19.21 Blocked action flow */
.flow-action.flow-blocked { border-left: 4px solid #8a5a00; }
.flow-block-label { margin-top: .35rem; font-weight: 600; color: #7a4f00; }
.blocked-status-select { font-weight: 700; }

/* RC19.24 — restricted/private section controls: phone-safe responsive layout */
.section-edit-inline { min-width: 0; flex-wrap: wrap; }
.section-edit-inline > .employee-check-grid { flex: 1 0 100%; }
.section-heading { min-width: 0; }
.section-heading h2 { min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 700px) {
  .section-heading { align-items: stretch; flex-direction: column; }
  .section-edit-inline { display: grid; grid-template-columns: minmax(0, 1fr); width: 100%; gap: 10px; }
  .section-edit-inline .input { width: 100%; max-width: none; min-width: 0; box-sizing: border-box; }
  .section-edit-inline .employee-check-grid,
  .employee-check-grid { grid-template-columns: minmax(0, 1fr); width: 100%; min-width: 0; }
  .employee-check-card { width: 100%; min-width: 0; box-sizing: border-box; overflow-wrap: anywhere; }
  .section-tools { width: 100%; display: grid; grid-template-columns: minmax(0, 1fr); }
  .section-tools .btn { width: 100%; }
  .private-pill { display: inline-flex; margin: .35rem 0 0 0; max-width: 100%; white-space: normal; }
}

/* RC19.25b — dashboard cards are working-list drill-down controls */
.metric-link {
  appearance: none;
  font: inherit;
  color: inherit;
  text-align: inherit;
  width: 100%;
  cursor: pointer;
  border: 1px solid transparent;
}
.metric-link:hover, .metric-link:focus-visible {
  border-color: var(--corp-blue);
  outline: none;
  box-shadow: 0 0 0 3px rgba(11,79,138,.12);
}
