/* Shared form geometry; loaded after the existing theme in both languages. */
.grid > .field{min-width:0;margin-block:0 12px}
label.field > span{display:flex;align-items:center;gap:7px;min-height:28px;line-height:1.7;margin-bottom:7px}
label.field > span .portal-icon{margin:0;flex:0 0 18px}
label.field > span .field-help-trigger{margin:0;flex:0 0 18px;width:18px;height:18px;min-height:18px}
.field > input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=file]),.field > select{height:50px;min-height:50px;box-sizing:border-box;line-height:1.5;padding:10px 12px}
.field input[type=date],.field input[type=month],.field input[type=datetime-local]{direction:ltr;text-align:left}
.inline > .field-help-trigger{flex:0 0 18px}
.backup-schedule-card.card{background:var(--card);box-shadow:var(--shadow);border-color:var(--line)}
.copy-field{margin-block:14px;min-width:0}
.copy-field > label{display:block;color:var(--muted);font-size:13px;font-weight:600;margin-bottom:8px}
.copy-field-control{display:flex;align-items:flex-start;gap:10px;min-width:0}
html[dir] textarea.command-input{direction:ltr!important;text-align:left!important;unicode-bidi:isolate!important;font:13px/1.8 ui-monospace,SFMono-Regular,Consolas,monospace!important;background:var(--input);color:var(--text);border:1px solid var(--line);border-radius:10px;min-width:0;width:100%;min-height:76px;height:76px;white-space:pre;overflow:auto;resize:vertical;padding:12px}
.copy-field-control .btn{flex:0 0 auto;min-height:44px}
.copy-status:empty{display:none}.cron-command-group + .cron-command-group{border-top:1px solid var(--line);margin-top:24px;padding-top:24px}
.report-controls{min-width:0}.report-controls form{margin-top:0}.report-controls .grid{align-items:start}
.report-controls .report-control-footer{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:10px}
.report-controls .help{margin-bottom:0}
.report-preview-shell{max-width:1220px;margin:0 auto;padding:24px}
.report-preview-shell .preview-toolbar{margin-bottom:24px}
.report-preview-shell .preview-recipient{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:0}
.preview-recipient .field{flex:1 1 280px;margin-bottom:0}
.report-preview-shell .preview-report{background:#fff;color:#222;padding:30px;border-radius:18px;overflow-x:auto;border:1px solid var(--line)}
.preview-subject{overflow-wrap:anywhere;margin:0}
.portal-user-list{display:grid;gap:12px}
.portal-user{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--card)}
.portal-user-summary{display:grid;grid-template-columns:minmax(170px,1.3fr) minmax(120px,1fr) minmax(160px,1.1fr) auto;align-items:center;gap:16px;padding:14px 18px}
.portal-user-identity strong,.portal-user-identity small{display:block;overflow-wrap:anywhere}
.portal-user-meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.portal-user-summary time{font-size:12px;white-space:nowrap}
.portal-user summary{list-style:none}.portal-user summary::-webkit-details-marker{display:none}
.portal-user-toggle{border:1px solid var(--line);border-radius:9px;padding:7px 12px;color:var(--gold);white-space:nowrap;font-size:13px}
.portal-user-toggle:after{content:' +';font-family:monospace}.portal-user[open] .portal-user-toggle:after{content:' −'}
.portal-user-editor{padding:20px;border-top:1px solid var(--line);background:var(--surface);display:grid;grid-template-columns:2fr 1fr;gap:24px}
.portal-user-editor form{margin:0}.portal-user-editor h3{font-size:14px;margin-bottom:14px}
.portal-user-editor .account-security{display:grid;gap:18px;align-content:start}
.portal-user-editor .account-actions{border-top:1px solid var(--line);padding-top:16px}
.portal-user-editor .help{overflow-wrap:anywhere}.portal-user-editor .grid.two{gap:12px}
html[dir] .portal-user-editor input[type=email]{direction:ltr!important;text-align:left!important;font-family:Inter,Arial,sans-serif!important}
@media(max-width:900px){.portal-user-summary{grid-template-columns:1fr 1fr}.portal-user-toggle{justify-self:start}.portal-user-editor{grid-template-columns:1fr}.report-controls .grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.copy-field-control{flex-direction:column}.copy-field-control .btn{align-self:flex-end}.report-controls .grid.three,.portal-user-editor .grid.two{grid-template-columns:1fr}.portal-user-summary{gap:10px;padding:12px}.report-preview-shell{padding:12px}.report-preview-shell .preview-report{padding:14px}.portal-user-summary time{white-space:normal}.portal-user-editor{padding:14px}.field > input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=file]),.field > select{font-size:16px}}

.portal-guide h1{font-size:28px}.portal-guide h2{font-size:21px;margin-top:0;color:var(--gold,#846118)}.portal-guide nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:22px 0}.portal-guide nav a{padding:10px 14px;background:var(--surface,#f2eee4);border-radius:8px;color:var(--text,#26251f);text-decoration:none}.portal-guide section{padding:22px 0;border-top:1px solid var(--line,#ded8c9);scroll-margin-top:90px}.portal-guide li{margin:8px 0}.portal-guide .guide-search{width:100%;padding:13px;border:1px solid var(--line,#ded8c9);border-radius:9px;font:inherit;background:var(--input,#fffefa);color:var(--text,#26251f)}.portal-guide .guide-actions{display:flex;gap:12px;align-items:center;margin:14px 0}.portal-guide button{padding:10px 14px;border:1px solid var(--line,#ded8c9);border-radius:8px;background:var(--surface,#f2eee4);color:var(--text,#26251f);font:inherit;cursor:pointer}.portal-guide .guide-meta{font-size:13px;color:var(--muted,#706b5e)}.portal-guide [hidden]{display:none!important}.portal-guide{overflow-wrap:anywhere}.portal-guide input{box-sizing:border-box}@media(max-width:640px){.portal-guide{padding:0}.portal-guide nav{grid-template-columns:1fr}.portal-guide h1{font-size:23px}}@media print{body{background:white}.portal-guide{border:0;margin:0;padding:0}.portal-guide nav,.portal-guide .guide-actions,.portal-guide .guide-search,.portal-guide .guide-search-label{display:none}.portal-guide section[hidden]{display:block!important}.portal-guide h2{break-after:avoid}}

.report-controls [hidden]{display:none!important}

.portal-guide .guide-actions{flex-wrap:wrap}
.portal-user-summary > *,.portal-user-editor > *{min-width:0}
@media print{body:has(.portal-guide) .topbar,body:has(.portal-guide) .sidebar{display:none}body:has(.portal-guide) .layout{display:block}}

/* Nested navigation: native details supports pointer, touch and keyboard. */
.sidebar nav,.mobile-nav-panel{gap:5px}
.nav-group{min-width:0}
.sidebar .nav-group>summary,.mobile-nav-panel .nav-group>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;margin:0;border:0;border-radius:9px;background:transparent;color:inherit;font:inherit;font-size:13px;font-weight:600;list-style:none;cursor:pointer;min-height:44px}
.nav-group>summary::-webkit-details-marker{display:none}
.nav-group-label{display:flex;align-items:center;gap:5px;min-width:0}
.nav-chevron{width:7px;height:7px;flex:0 0 7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-inline:5px;transition:transform .18s}
.nav-group[open]>summary .nav-chevron{transform:rotate(225deg)}
.nav-children{display:grid;gap:4px;margin:4px 10px 10px;margin-inline-start:21px;padding-inline-start:9px;border-inline-start:1px solid var(--line)}
.sidebar .nav-group>summary{color:#c6c1b5}
.sidebar .nav-group>summary:hover,.sidebar .nav-group.has-active>summary{background:#cba45318;color:#f0d79d}
.mobile-nav-panel .nav-group>summary:hover,.mobile-nav-panel .nav-group.has-active>summary{background:var(--surface);color:var(--gold)}
.sidebar .nav-children a,.mobile-nav-panel .nav-children a{font-size:12px;padding:10px;min-height:44px;line-height:1.7}
.nav-group>summary:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.mobile-nav-panel{max-height:calc(100dvh - 140px);overflow-y:auto;overscroll-behavior:contain}
@media(prefers-reduced-motion:reduce){.nav-chevron{transition:none}}

/* Grow the desktop sidebar modestly; keep the main track shrinkable. */
@media screen and (min-width:981px){
  .layout{--portal-sidebar-width:clamp(240px,20vw,280px);grid-template-columns:var(--portal-sidebar-width) minmax(0,1fr)}
  html[dir="rtl"] .layout{grid-template-columns:minmax(0,1fr) var(--portal-sidebar-width)}
  .layout>.sidebar{min-width:0}
}

/* Notifications lead both menus with a restrained dedicated treatment. */
.sidebar nav a.nav-notifications,.mobile-nav-panel a.nav-notifications{
 display:flex;align-items:center;gap:10px;min-height:48px;margin-block:0 12px;
 padding:12px;border:1px solid var(--gold2,#b58d3d);border-radius:12px;
 background:rgba(196,155,64,.12);font-weight:700;
}
.sidebar nav a.nav-notifications{color:#f0d79d}
.mobile-nav-panel a.nav-notifications{color:var(--text)}
.sidebar nav a.nav-notifications:hover,.mobile-nav-panel a.nav-notifications:hover,
.sidebar nav a.nav-notifications.active,.mobile-nav-panel a.nav-notifications.active{
 background:rgba(196,155,64,.23);border-color:var(--gold2,#b58d3d);box-shadow:inset 0 -2px var(--gold2,#b58d3d);
}
.nav-notifications .bell-icon{width:22px;height:22px;flex:0 0 22px;color:var(--gold2,#b58d3d)}
.nav-notifications .notice-count{margin-inline-start:auto;min-width:24px;justify-content:center}
.nav-notifications .notice-count[hidden]{display:none!important}

/* Give the descriptive hours balance more room than the short counters beside it. */
.dashboard-metrics{grid-template-columns:repeat(5,minmax(0,1fr)) minmax(0,2.6fr)}
.dashboard-metrics .stat{min-width:0}
.dashboard-metrics .stat:last-child{grid-column:auto}
.dashboard-metrics .stat:last-child strong{overflow-wrap:anywhere}
@media(max-width:1250px){
 .dashboard-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
 .dashboard-metrics .stat:last-child{grid-column:1/-1;min-height:100px}
}
@media(max-width:640px){
 .dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Leave breathing room between adjacent blocks without shrinking controls. */
.content .card > .table-wrap + .card,
.content .card > .table-wrap + details,
.content .card > form + .table-wrap,
.content .card > .actions + .table-wrap,
.content .card > .btn + .table-wrap{margin-block-start:16px}
.content details.card[open] > summary{margin-block-end:14px}
.content .card > form > .grid + .btn,
.content .card > form > .field + .btn{margin-block-start:8px}
.content .card > form + .card{margin-block-start:16px}

.backup-encryption-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px;margin-block:14px}.backup-encryption-options>div{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 16px}.backup-encryption-options .check{margin:0}.backup-encryption-options .check+input+.check{border-block-start:1px solid var(--line);padding-block-start:12px}

/* Interviews — several small forms sitting on one table row. */
.row-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.row-actions form{display:inline;margin:0}
#iv-main{transition:opacity .18s ease}
#iv-main[aria-busy="true"]{pointer-events:none}
