/* Shared component base. The final screen contract is design-system.css. */
@import url("/admin-assets/theme.css?v=0.92.173");
@import url("/admin-assets/navigation.css?v=0.92.173");
@import url("/admin-assets/record-search.css?v=0.92.173");
[hidden] { display:none !important; }
.workspace-load-recovery { margin:1rem auto; padding:1.25rem; max-width:960px; box-sizing:border-box; border:1px solid var(--finca-control-line); border-radius:var(--finca-panel-radius); background:var(--finca-soft); color:var(--finca-ink); }
.workspace-load-recovery h2 { margin:0 0 .5rem; }
.workspace-load-recovery p { overflow-wrap:anywhere; }
.workspace-load-recovery button, .workspace-load-recovery a { display:inline-flex; align-items:center; min-height:44px; margin:.25rem 1rem .25rem 0; }
body { font-family:var(--finca-font); font-size:1rem; line-height:1.5; background:var(--finca-cream); color:var(--finca-ink); }
button, input, select, textarea { font-family:inherit; }
button, .primary-button, .secondary-button, .quiet-button, .primary-link, .portal-link, .actions a { border-radius:var(--finca-radius); font-size:.875rem; }
input:not([type=checkbox]):not([type=radio]):not([type=hidden]), select, textarea { border-color:var(--finca-control-line); border-radius:var(--finca-radius); font-size:1rem; }
input[type=checkbox], input[type=radio] { accent-color:var(--finca-green); }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible { outline:var(--finca-focus-ring); outline-offset:3px; }
label, legend, .form-help, .help-copy, .section-copy, .empty-copy, .form-message, .message { font-size:.875rem; line-height:1.5; }
table { font-size:.875rem; }
th { font-size:.8125rem; }
h1, h2, h3 { font-family:Georgia, "Times New Roman", serif; font-weight:400; }
.module-card, .access-card, .portal-card, .welcome-card, .enrollment-card, .clock-card, .request-card, .area-card, .list-card, .profile-grid div { border-radius:var(--finca-panel-radius); }
dialog { border:1px solid var(--finca-line); border-radius:var(--finca-panel-radius); background:#fff; color:var(--finca-ink); }
dialog::backdrop { background:rgba(13,48,42,.38); }
.primary-button, button.primary, .primary-link, .portal-link { background:var(--finca-green); border-color:var(--finca-green); color:#fff; }
.secondary-button, .quiet-button { background:#fff; border:1px solid var(--finca-control-line); color:var(--finca-green); }
a.primary-button, a.quiet-button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 15px; text-decoration:none; }
.primary-button:hover, button.primary:hover, .primary-link:hover, .portal-link:hover { background:var(--finca-dark); }
.secondary-button:hover, .quiet-button:hover { background:var(--finca-soft); }
.procurement-tabs .active, .portal-nav a.active { background:var(--finca-green); color:#fff; border-color:var(--finca-green); }
.module-submenu-button { width:100%; min-height:44px; color:var(--finca-green); text-align:left; }
.module-submenu-button:hover { background:var(--finca-soft); }
.module-card:hover, .module-card:focus-within, .module-card.highlighted { border-color:var(--finca-focus); }
.module-card::before { color:var(--finca-control-line); }
.module-card .module-summary { max-width:none; margin:1rem 0 0; padding-top:1rem; border-top:1px solid var(--finca-line); color:var(--finca-green); }
.safety-banner { background:var(--finca-soft); border-color:var(--finca-line); }
.safety-banner span, .safety-banner strong { color:var(--finca-ink); }
.mode-pill { background:#fff; border-color:var(--finca-control-line); color:var(--finca-green)!important; }
.access-body { background:var(--finca-cream); }
.local-note { background:var(--finca-soft); border-color:var(--finca-line); color:var(--finca-ink); }
.account-code, .open-state, .list-card, .profile-grid div { background:var(--finca-soft); border-color:var(--finca-control-line); }
.permission-option { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:start; gap:.6rem; }
.permission-option input[type=checkbox] { width:18px; height:18px; min-height:18px; margin:.2rem 0 0; padding:0; }
.permission-option span { display:grid; gap:.3rem; }
.permission-option small { font-size:.8125rem; font-weight:400; color:var(--finca-muted); line-height:1.45; }
.permission-tree.venue-choice { display:block; min-width:0; width:100%; box-sizing:border-box; }
.permission-tree-help, .permission-tree-count { margin:.4rem 0 .8rem; }
.permission-tree-toolbar { display:flex; gap:.6rem; flex-wrap:wrap; align-items:end; margin-bottom:.8rem; }
.permission-tree-toolbar label { display:grid; gap:.3rem; flex:1 1 17rem; min-width:0; }
.permission-tree-toolbar button { min-height:44px; padding:.5rem .8rem; }
.permission-family { border:1px solid var(--finca-line); border-radius:var(--finca-radius); margin:.6rem 0; overflow:hidden; }
.permission-family > summary { cursor:pointer; padding:.75rem 1rem; font-weight:600; color:var(--finca-green); background:var(--finca-soft); }
.permission-family-count { float:right; font-size:.8rem; font-weight:400; padding-left:.6rem; }
.permission-tree .permission-row { display:grid; grid-template-columns:minmax(0,1fr) 5rem 7rem; align-items:center; gap:.75rem; padding:.75rem 1rem; border-top:1px solid var(--finca-line); }
.permission-column-head { color:var(--finca-muted); font-size:.8rem; }
.permission-column-head > span:not(:first-child), .permission-unavailable { text-align:center; }
.permission-row-info { min-width:0; overflow-wrap:anywhere; }
.permission-row-info > strong, .permission-branch { display:block; }
.permission-branch { font-size:.75rem; color:var(--finca-muted); }
.permission-explanation { margin-top:.25rem; font-size:.8rem; }
.permission-explanation summary { cursor:pointer; color:var(--finca-green); }
.permission-explanation p { margin:.4rem 0; font-size:.8rem; font-weight:400; }
.permission-full-help { margin:.3rem 0; font-size:.8rem; color:var(--finca-muted); }
.permission-tree .permission-tick { display:flex; flex-direction:column; align-items:center; gap:.3rem; font-weight:400; cursor:pointer; }
.permission-tree .permission-tick input { width:22px; height:22px; min-height:22px; margin:0; padding:0; }
.permission-inherited { background:#fafbf9; }
.permission-inherited .permission-tick { cursor:default; color:var(--finca-muted); }
.permission-reserved > p { margin:.75rem 1rem; }
.permission-tree .permission-reserved-option { display:flex; align-items:center; gap:.6rem; padding:.5rem 1rem; font-weight:400; }
.permission-reserved-option input { width:20px; height:20px; min-height:20px; padding:0; margin:0; }
@media (max-width:540px) {
  .permission-tree .permission-row { grid-template-columns:1fr 1fr; gap:.6rem; padding:.75rem; }
  .permission-row-info { grid-column:1 / -1; }
  .permission-tree .permission-column-head { display:none; }
  .permission-tree-toolbar button { flex:1; }
  .permission-family > summary { padding:.75rem; }
}
.automation-actions { display:flex; gap:.5rem; flex-wrap:wrap; }
#access-list-panel { display:flex; flex-direction:column; }
#registered-accounts { order:-1; }
#registered-accounts table { table-layout:fixed; width:100%; min-width:0; }
#registered-accounts th:nth-child(1) { width:22%; }
#registered-accounts th:nth-child(2) { width:29%; }
#registered-accounts th:nth-child(3) { width:24%; }
#registered-accounts th:nth-child(4) { width:25%; }
#registered-accounts td { overflow-wrap:anywhere; }
#registered-accounts td p { margin:.35rem 0; }
#registered-accounts details { margin-top:.5rem; }
#registered-accounts summary { cursor:pointer; color:var(--finca-green); }
#registered-accounts .account-actions { display:table-cell; white-space:normal; }
#registered-accounts .account-actions button { display:block; width:100%; min-height:36px; white-space:normal; margin:0 0 .5rem; padding:.45rem .65rem; overflow-wrap:anywhere; }
#registered-invitations table { table-layout:fixed; width:100%; min-width:0; }
#registered-invitations th { width:25%; }
#registered-invitations td { overflow-wrap:anywhere; }
#registered-invitations td p { margin:.35rem 0; }
#registered-invitations summary { cursor:pointer; color:var(--finca-green); }
#registered-invitations .account-actions { display:table-cell; white-space:normal; }
#registered-invitations .account-actions button { display:block; width:100%; min-height:36px; white-space:normal; margin:.5rem 0 0; padding:.45rem .65rem; }
.live-state { font-size:.78rem; color:#4c744b; }
.live-state.warning { color:#8a5a16; }
.live-state.offline { color:#8a3b30; }
.live-state.fresh { font-weight:650; }
.finca-live-inline { position:static; flex:none; min-width:0; max-width:100%; margin:.2rem 0 .4rem; padding:0; font-size:.75rem; line-height:1.35; overflow-wrap:anywhere; pointer-events:none; }
@media (max-width:720px) {
  #registered-invitations thead { display:none; }
  #registered-invitations table, #registered-invitations tbody, #registered-invitations tr, #registered-invitations td, #registered-invitations .account-actions { display:block; width:100%; }
  #registered-invitations tr { border-bottom:2px solid var(--finca-line); }
  #registered-invitations td { border:0; }
  #registered-invitations td::before { content:attr(data-label); display:block; font-weight:600; margin-bottom:.35rem; color:var(--finca-muted); }
  #registered-accounts thead { display:none; }
  #registered-accounts table, #registered-accounts tbody, #registered-accounts tr, #registered-accounts td, #registered-accounts .account-actions { display:block; width:100%; }
  #registered-accounts tr { border-bottom:2px solid var(--finca-line); }
  #registered-accounts td { border:0; }
  #registered-accounts td::before { content:attr(data-label); display:block; font-weight:600; margin-bottom:.35rem; color:var(--finca-muted); }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .module-card { transition:none; transform:none!important; } }
@media (max-width:650px) {
  /* Long operational lists become readable without horizontal panning. */
  .table-wrap .mobile-card-table,
  .table-wrap .mobile-card-table tbody,
  .table-wrap .mobile-card-table tbody tr,
  .table-wrap .mobile-card-table tbody td { display:block; width:100%; min-width:0; }
  .table-wrap .mobile-card-table { table-layout:auto; }
  .table-wrap .mobile-card-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
  .table-wrap .mobile-card-table tbody { display:grid; gap:10px; }
  .table-wrap .mobile-card-table tbody tr { padding:10px 12px; border:1px solid var(--finca-line); border-radius:9px; background:#fff; }
  .table-wrap .mobile-card-table tbody td { padding:8px 2px; border:0; overflow-wrap:anywhere; white-space:normal; }
  .table-wrap .mobile-card-table tbody td + td { border-top:1px solid var(--finca-line); }
  .table-wrap .mobile-card-table tbody td::before { content:attr(data-mobile-label); display:block; margin:0 0 3px; color:var(--finca-muted); font-size:.72rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
  .table-wrap .mobile-card-table tbody td :is(input,select,textarea) { max-width:100%; }
  .table-wrap .mobile-card-table tbody td :is(button,a) { max-width:100%; white-space:normal; }
  .table-wrap .mobile-card-table tbody td:has(> .empty-table)::before { display:none; }
  :is(.customers-main,.admin-workspace-main,#workspace) { min-width:0; }
  :is(.customers-main,.admin-workspace-main,#workspace) :is(section,form,fieldset,article,details,div) { min-width:0; }
}

.finca-saved-notice { position:fixed; top:76px; right:24px; z-index:2200; max-width:min(460px,calc(100vw - 32px)); padding:14px 20px; border:1px solid #91b5a0; border-radius:12px; background:#f1faf4; color:#153f2c; box-shadow:0 8px 28px #123f3729; font-weight:600; overflow-wrap:anywhere; pointer-events:none; }
.finca-saved-notice[hidden] { display:none; }
@media(max-width:640px) { .finca-saved-notice { top:68px; right:16px; left:16px; max-width:none; } }
