/* P2 form, record-view and field/PWA parity layer. */
.topbar{position:sticky;top:12px;z-index:350;box-shadow:0 12px 32px rgba(24,45,62,.08)}
.rail{z-index:400}
.module-create-dialog{width:min(1080px,calc(100vw - 32px));max-height:92vh;padding:0;overflow:hidden}
.module-create-dialog .dedicated-module-form{display:block;max-height:92vh;overflow:auto;padding:24px}
.form-stepper{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;list-style:none;margin:18px 0;padding:0}
.form-stepper li{display:flex;align-items:center;gap:8px;border:1px solid var(--line,#d8e2dd);border-radius:14px;padding:10px;color:var(--muted,#607086);font-size:.82rem}
.form-stepper span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:color-mix(in srgb,var(--primary) 12%,white);color:var(--primary);font-weight:800}
.form-section-card{margin:0 0 14px;border:1px solid var(--line,#d8e2dd);border-radius:18px;padding:16px;background:color-mix(in srgb,var(--secondary,#70bfa2) 4%,var(--surface,#fff))}
.form-section-card legend{padding:0 8px;color:var(--primary);font-weight:800}
.form-section-card>p{margin:0 0 14px;color:var(--muted,#607086);font-size:.86rem}
.form-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.patuh-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.patuh-field.field-wide{grid-column:1/-1}
.patuh-field>label:first-child{font-size:.82rem;font-weight:700}
.patuh-field input,.patuh-field select,.patuh-field textarea{width:100%;box-sizing:border-box}
.patuh-field .control-check{display:flex;align-items:center;min-height:42px}
.patuh-field .control-check input{width:auto}
.field-error{min-height:1em;color:#b42318;font-weight:700;font-size:.76rem}
.patuh-field.has-error :is(input,select,textarea){border-color:#d92d20;outline:2px solid color-mix(in srgb,#d92d20 16%,transparent)}
.form-error-summary{border:1px solid #f1a49c;border-radius:14px;background:#fff1ef;color:#8f1d14;padding:12px 14px;margin:12px 0}
.form-error-summary ul{margin:6px 0 0;padding-left:20px}
.sticky-form-actions{position:sticky;bottom:-24px;z-index:2;margin:18px -24px -24px;padding:14px 24px;background:color-mix(in srgb,var(--surface,#fff) 92%,transparent);border-top:1px solid var(--line,#d8e2dd);backdrop-filter:blur(14px)}
.offline-form-status{margin:12px 0 0;border-radius:12px;padding:9px 12px;background:color-mix(in srgb,#5ebf9a 12%,transparent);font-size:.82rem;color:var(--muted,#526579)}
[data-conditional-field][hidden]{display:none!important}

.record-view-dialog{width:75vw;max-width:75vw;max-height:92vh;padding:0;overflow:hidden}
.record-view-dialog>.record-modal-header{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--line,#d8e2dd);background:color-mix(in srgb,var(--surface,#fff) 93%,transparent);backdrop-filter:blur(16px)}
.record-view-dialog>.record-modal-body{max-height:calc(92vh - 66px);overflow:auto;padding:18px;background:var(--page,#f4f8f6)}
.record-view-dialog .record-detail,.record-view-dialog .panel{box-shadow:none}
.record-view-dialog .record-detail{margin-top:0}
.record-view-dialog .simple-workflow{display:grid;grid-template-columns:minmax(190px,.7fr) minmax(260px,1.3fr);gap:16px;margin-top:16px;padding:14px;border-radius:16px;background:color-mix(in srgb,var(--primary) 7%,var(--surface,#fff))}
.record-view-dialog .simple-workflow form{display:grid;grid-template-columns:1fr;gap:10px}
.record-view-dialog .simple-workflow label{display:grid;gap:5px;font-size:.82rem;font-weight:700}
.record-modal-close,.sync-center header button{border:0;background:transparent;color:inherit;font-size:1.6rem;cursor:pointer}

.sync-status-button{position:static;display:flex;align-items:center;gap:7px;min-height:36px;border:1px solid var(--line,#d8e2dd);border-radius:999px;background:var(--surface,#fff);color:var(--text,#16283d);padding:7px 10px;box-shadow:0 7px 20px rgba(21,45,36,.08);font:inherit;font-size:.75rem;cursor:pointer;white-space:nowrap}
.sync-status-button [data-network-dot]{width:8px;height:8px;border-radius:50%;background:#22a06b}
.sync-status-button.offline [data-network-dot]{background:#d92d20}
.sync-status-button b{display:grid;place-items:center;min-width:19px;height:19px;border-radius:50%;background:var(--primary);color:#fff}
.sync-center{position:fixed;right:24px;top:94px;z-index:370;width:min(390px,calc(100vw - 28px));max-height:65vh;overflow:auto;border:1px solid var(--line,#d8e2dd);border-radius:20px;background:var(--surface,#fff);color:var(--text,#16283d);padding:18px;box-shadow:0 24px 70px rgba(14,32,25,.2)}
.sync-center header{display:flex;justify-content:space-between;align-items:flex-start}
.sync-center h2{margin:2px 0 0}
.sync-item{display:grid;grid-template-columns:1fr auto;gap:7px;border-top:1px solid var(--line,#d8e2dd);padding:10px 0;font-size:.8rem}
.sync-item strong,.sync-item small{grid-column:1}
.sync-item-actions{grid-column:2;grid-row:1/3;display:flex;gap:5px;align-items:center}
.sync-item.conflict{color:#b42318}

html[data-theme=dark] .form-section-card{background:color-mix(in srgb,var(--secondary,#70bfa2) 7%,#111b28)}
html[data-theme=dark] .form-error-summary{background:#321b21;color:#ffb4ab;border-color:#7e342e}
html[data-theme=dark] .record-view-dialog>.record-modal-body{background:#0e1825}
html[data-theme=dark] .sticky-form-actions{background:rgba(16,26,39,.92)}

/* Shared, dependency-free DataTable used by every workspace table. */
.patuh-datatable{min-width:0;margin-top:12px;border:1px solid var(--line,#d8e2dd);border-radius:18px;background:var(--surface,#fff);overflow:hidden}
.datatable-toolbar{display:flex;align-items:end;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid var(--line,#d8e2dd);background:color-mix(in srgb,var(--secondary,#d9eee5) 8%,var(--surface,#fff))}
.datatable-search{display:grid;gap:5px;flex:1;max-width:430px;color:var(--muted,#607086);font-size:.72rem;font-weight:750}
.datatable-search input{width:100%;min-height:39px;padding:9px 12px;border:1px solid var(--line,#d8e2dd);border-radius:12px;color:var(--text,#16283d);background:var(--surface,#fff);font:inherit}
.datatable-actions{display:flex;gap:8px;align-items:center}
.datatable-button{min-height:38px;padding:8px 12px;border:1px solid var(--line,#d8e2dd);border-radius:11px;color:var(--text,#16283d);background:var(--surface,#fff);font:inherit;font-size:.72rem;font-weight:800;cursor:pointer}
.datatable-button:hover,.datatable-button:focus-visible{border-color:var(--primary);color:var(--primary)}
.patuh-datatable>.table-wrap,.patuh-datatable>.responsive-table{margin:0;border:0;border-radius:0;overflow:auto}
.patuh-datatable table{margin:0}
.patuh-datatable th[data-dt-sortable]{position:relative;padding-right:26px;cursor:pointer;user-select:none}
.patuh-datatable th[data-dt-sortable]::after{position:absolute;right:9px;content:'↕';opacity:.48;font-size:.75rem}
.patuh-datatable th[aria-sort=ascending]::after{content:'↑';opacity:1}
.patuh-datatable th[aria-sort=descending]::after{content:'↓';opacity:1}
.datatable-empty{text-align:center!important;color:var(--muted,#607086);padding:28px!important}
.datatable-footer{display:flex;align-items:center;justify-content:flex-start;gap:10px;min-height:54px;padding:10px 14px;border-top:1px solid var(--line,#d8e2dd);color:var(--muted,#607086);background:color-mix(in srgb,var(--secondary,#d9eee5) 5%,var(--surface,#fff));font-size:.72rem}
.datatable-pagination{display:flex;align-items:center;gap:6px}
.datatable-pagination button{min-width:35px;height:34px;padding:0 9px;border:1px solid var(--line,#d8e2dd);border-radius:10px;color:var(--text,#16283d);background:var(--surface,#fff);font:inherit;cursor:pointer}
.datatable-pagination button:disabled{cursor:not-allowed;opacity:.45}
.datatable-page-label{min-width:58px;text-align:center;font-weight:800;color:var(--text,#16283d)}
.datatable-replaced{display:none!important}
html[data-theme=dark] .patuh-datatable,html[data-theme=dark] .datatable-search input,html[data-theme=dark] .datatable-button,html[data-theme=dark] .datatable-pagination button{background:var(--experience-surface,#162233);color:var(--experience-ink,#edf5fb)}

@media(max-width:760px){
 .topbar{top:0}
 .module-create-dialog,.record-view-dialog{width:100vw;max-width:none;max-height:100dvh;height:100dvh;margin:0;border-radius:0}
 .module-create-dialog .dedicated-module-form{max-height:100dvh;padding:16px}
 .form-stepper{grid-template-columns:1fr}.form-stepper li{padding:7px}
 .form-field-grid{grid-template-columns:1fr}.patuh-field.field-wide{grid-column:auto}
 .sticky-form-actions{bottom:-16px;margin:16px -16px -16px;padding:12px 16px;display:grid;grid-template-columns:1fr 1fr}
 .sticky-form-actions .primary{grid-column:1/-1;grid-row:1}
 .record-view-dialog>.record-modal-body{max-height:calc(100dvh - 62px);padding:10px}
 .record-view-dialog .simple-workflow{grid-template-columns:1fr}
 .sync-status-button{min-width:36px;justify-content:center;padding:7px}.sync-status-button [data-network-status]{display:none}
 .sync-center{right:8px;top:72px;width:calc(100vw - 16px)}
 .datatable-toolbar{align-items:stretch;flex-direction:column}.datatable-search{max-width:none}.datatable-actions{justify-content:flex-start}.datatable-footer{align-items:flex-start;flex-direction:column}.datatable-pagination{order:1}.datatable-summary{order:2}
}
