/* Dashboard roles (owner-runtime.js sets html[data-dashboard-role]). The server enforces every rule;
   these only hide what a role cannot use. */
[data-dashboard-role=team] .dash-tab[data-panel=financials],[data-dashboard-role=team] #financials,[data-dashboard-role=team] .shift-sales,
[data-dashboard-role=team] #fiscalSettingsTab,[data-dashboard-role=team] #fiscal-settings{display:none!important}
[data-dashboard-role=accountant] .dash-tab:not([data-panel=financials]):not([data-panel=settings]),
[data-dashboard-role=accountant] #menuManagerTab,[data-dashboard-role=accountant] #layoutEditorTab,
[data-dashboard-role=accountant] #menu-manager,[data-dashboard-role=accountant] #layout-editor{display:none!important}
html:not([data-dashboard-role=admin]) #dashboardUsersTab,html:not([data-dashboard-role=admin]) #dashboard-users,
html:not([data-dashboard-role=admin]) #emailSenderTab,html:not([data-dashboard-role=admin]) #email-sender{display:none!important}

/* Settings → Users */
.owner-users{max-width:980px}
.owner-users .dash-section-head p:last-child{max-width:70ch}
.owner-users-roles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0 22px}
.owner-users-roles div{padding:12px 14px;border:1px solid #dfe3df;border-radius:6px;background:var(--paper)}
.owner-users-roles dt{font-weight:700;color:var(--navy)}
.owner-users-roles dd{margin:4px 0 0;color:var(--muted);font-size:.85rem}
.owner-users-invite{display:grid;grid-template-columns:minmax(220px,1fr) minmax(160px,220px) auto;align-items:end;gap:12px;padding:16px;border:1px solid #dfe3df;background:var(--paper)}
.owner-users-invite label{display:grid;gap:5px;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.owner-users input,.owner-users select{min-height:42px;padding:8px 9px;border:1px solid #c9d1cd;border-radius:4px;background:#fffefa;color:var(--ink);font:inherit;text-transform:none;letter-spacing:0}
.owner-users .mini-action{min-height:42px;padding:8px 14px;border:1px solid #8b2e50;background:#8b2e50;color:#fff;font-weight:700;cursor:pointer}
.owner-users .save-note{min-height:1.3em;margin:10px 0;color:#1f6b3a;font-size:.85rem}
.owner-users-scroll{overflow-x:auto}
.owner-users table{width:100%;min-width:680px;border-collapse:collapse;font-size:.88rem}
.owner-users th,.owner-users td{padding:12px 10px;border-bottom:1px solid #dfe3df;text-align:left;vertical-align:top}
.owner-users th{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.owner-users td small{display:block;margin-top:3px;color:var(--muted);font-size:.75rem}
.owner-users-you{padding:1px 6px;border-radius:99px;background:#eef1f4;color:var(--navy);font-size:.68rem;font-weight:700}
.owner-users-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.owner-users-actions button{min-height:34px;padding:6px 10px;border:1px solid #c9d1cd;border-radius:4px;background:transparent;color:var(--navy);font:600 .78rem/1 inherit;cursor:pointer}
.owner-users-actions .owner-users-remove,.owner-users-confirm [data-user-remove-confirm]{border-color:#d9b3bd;color:#a3262a}
.owner-users-confirm{display:flex;flex-wrap:wrap;align-items:center;gap:6px;color:#a3262a;font-weight:700;font-size:.8rem}
/* Settings → Email */
.owner-email-card{display:grid;gap:12px;padding:16px;border:1px solid #dfe3df;background:var(--paper)}
.owner-email-state{display:grid;gap:3px;padding-left:12px;border-left:4px solid #1f6b3a;font-size:.88rem;color:var(--muted)}
.owner-email-state strong{color:var(--navy);font-size:1rem}
.owner-email-state.is-off{border-left-color:#a3262a}
.owner-email-queue{margin:0;font-size:.85rem;color:var(--navy)}
.owner-email-actions{display:flex;flex-wrap:wrap;gap:8px}
.owner-email-actions button:not(.mini-action){min-height:42px;padding:8px 14px;border:1px solid #c9d1cd;border-radius:4px;background:transparent;color:var(--navy);font:600 .85rem/1 inherit;cursor:pointer}
.owner-email-actions button.owner-users-remove{border-color:#d9b3bd;color:#a3262a}
.owner-email-help{margin-top:6px;font-size:.85rem;color:var(--muted)}
.owner-email-help summary{cursor:pointer;font-weight:700;color:var(--navy)}
.owner-email-help ol{margin:8px 0 0;padding-left:20px;display:grid;gap:4px}
@media(max-width:760px){.owner-users-roles,.owner-users-invite{grid-template-columns:1fr}}
