/* Interaction conventions shared by workspace, account, public and admin UI.
   Document artwork and the physical desk remain separate from these controls. */
html{scroll-padding-top:calc(var(--topbar-height,76px) + 16px)}
main h1:focus{outline:none}
body :is(button,input,select,textarea){font-family:inherit}
body :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--blue,#225c79);outline-offset:3px}
body :is(button,a){touch-action:manipulation}
body button:disabled{cursor:default}
body :is(button,.ui-action,.metal){max-width:100%;overflow-wrap:anywhere}
body :is(.ui-button,.metal){min-height:44px!important;padding:10px 16px!important;border:1px solid var(--line)!important;border-radius:6px!important;background:var(--panel)!important;color:var(--ink)!important;box-shadow:none!important;transform:none!important;line-height:1.4!important;text-shadow:none!important}
body :is(.ui-button.ui-primary,.metal.accent){background:var(--orange)!important;color:var(--action-on)!important;border-color:var(--orange)!important}
body .ui-button.ui-destructive{background:#913d31!important;color:#fff!important;border-color:#913d31!important}
body :is(.ui-button,.metal):hover:not(:disabled){filter:brightness(1.06)}
body :is(.ui-button,.metal):focus-visible{outline-offset:3px}
body .ui-action.ui-quiet.square{min-width:44px;min-height:44px}
body :is(.action-row,.editor-actions,.row-actions,.object-actions,.cookie-dialog-actions,.unsaved-actions,.delete-actions){gap:12px}
body :is(.editor-actions,.row-actions,.object-actions)>*{min-width:0;max-width:100%}
body :is(.object-actions,.file-actions,.calendar-bottom){flex-wrap:wrap}
body :is(.form-field,.collection-controls label,.admin-filters label){line-height:1.5}
body :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=color]):not([type=file]){min-height:44px}
body :is(input[type=checkbox],input[type=radio]){accent-color:var(--blue)}
/* All native dropdowns use the same themed field, including bare template,
   PDF, account and admin controls. Keep native arrows and keyboard behavior. */
body select{appearance:auto!important;min-height:44px;padding:10px 12px!important;border:1px solid var(--working-border,var(--line,#888))!important;border-radius:3px!important;background:var(--working-field,var(--panel,#fff))!important;color:var(--ink,#25343c)!important;font:inherit;max-width:100%;box-shadow:inset 0 2px 3px #0000000d}
body select option{background:var(--working-field,var(--panel,#fff));color:var(--ink,#25343c)}
body :is(.text-action,.preview-note a,.related-links a,.record-related a){padding-inline:12px!important;border-radius:3px}
body :is(.text-action,.preview-note a,.related-links a,.record-related a):hover{background:color-mix(in srgb,var(--ink) 7%,transparent)}
body textarea{resize:vertical}
.save-feedback-text{display:grid;gap:3px;min-width:0}
.save-mode{font-weight:650;color:var(--ink)}
[data-read-only=true] .save-mode{display:none}
.skip{position:fixed;top:-100px;left:16px;z-index:1001;padding:12px 16px;background:var(--paper,#fff);color:var(--ink,#25343c);border:1px solid var(--line,#888);border-radius:4px}
.skip:focus{top:12px}

/* Account and administration share an obvious route back to the workspace. */
.account-topbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 24px}
.account-shell-navigation{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center}
.account-shell-navigation a{display:inline-flex;align-items:center;min-height:44px;padding:8px 12px;border-radius:4px;color:var(--ink);font-weight:650;text-decoration:none}
.account-shell-navigation a:hover,.account-shell-navigation a[aria-current=page]{background:var(--panel);text-decoration:underline;text-underline-offset:5px}
.admin-area-label{font-size:14px;font-weight:650;color:var(--muted);margin:0 0 8px}
.admin-verification-status{background:color-mix(in srgb,var(--paper),var(--ink) 2%)}
.admin-verification-status a{display:inline-flex;align-items:center;min-height:44px;padding-inline:8px;border-radius:4px}
.admin-verification-status a:hover{background:color-mix(in srgb,var(--ink) 7%,transparent)}
.admin-navigation{gap:8px;flex-wrap:wrap;margin:0 0 28px;padding:0 0 12px}
.admin-navigation a{display:inline-flex;align-items:center;min-height:44px;padding:9px 12px;border-bottom:3px solid transparent;border-radius:4px 4px 0 0;color:var(--ink)}
.admin-navigation a[aria-current=page]{background:var(--panel);border-bottom-color:var(--blue);text-decoration:none}
.admin-navigation a:hover{background:var(--panel)}
.admin-filters{grid-template-columns:minmax(0,1fr) minmax(160px,200px) auto auto;gap:16px}
.admin-filters button{white-space:nowrap}
.admin-filters a,.admin-pagination a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:5px;font-weight:650;text-decoration:none}
.admin-table :is(td,th) a{display:inline-flex;align-items:center;min-height:44px;padding:8px 0;font-weight:650}
.admin-table-wrap{border:1px solid var(--line);border-radius:6px;padding:0 12px}
.admin-table tbody tr:last-child :is(th,td){border-bottom:0}
.admin-table caption{text-align:left;padding:12px 0;font-weight:650}
.admin-empty{padding:24px;border:1px solid var(--line);border-radius:6px;background:var(--panel)}
.admin-empty h2{margin-top:0}
.admin-invite-create summary{min-height:44px;padding:9px 0}
.admin-invite-create[open] summary{margin-bottom:12px}
.admin-account-editor form button{margin-top:8px}

@media(max-width:760px){
 .admin-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .admin-filters label:first-child{grid-column:1/-1}
 .admin-filters button{grid-column:1;white-space:normal}
 .admin-filters a{grid-column:2;align-self:end}
 .admin-table-wrap{border:0;padding:0;overflow:visible}
 .admin-table{display:block;min-width:0;width:100%}
 .admin-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .admin-table tbody{display:grid;gap:16px}
 .admin-table tbody tr{display:block;padding:12px 16px;border:1px solid var(--line);border-radius:6px;background:var(--panel)}
 .admin-table tbody :is(td,th){display:grid;grid-template-columns:minmax(72px,.4fr) minmax(0,1fr);gap:4px 16px;padding:10px 0;border:0;max-width:none;overflow-wrap:anywhere;text-align:left;font-weight:400;white-space:normal}
 .admin-table tbody :is(td,th)::before{content:attr(data-label);color:var(--muted);font-size:13px;font-weight:650}
 .admin-table .admin-meta{grid-column:2}
 .admin-table time{white-space:normal}
 .admin-table code{margin:0;min-width:0;font-size:12px;padding:8px}
 .admin-table form{min-width:0}
 .admin-table :is(td,th) a{padding:4px 0}
 .account-panel{padding:24px 20px}
}
@media(max-width:359px){
 body .topbar .site-menu-toggle{gap:8px;padding-inline:10px!important}
 .topbar .yey-brand{font-size:20px!important}
 .topbar .yey-brand>img{width:36px;height:36px;flex-basis:36px}
 .account-topbar{padding-inline:16px}
 .account-shell-navigation{gap:4px}
 .account-shell-navigation a{padding-inline:8px}
 .admin-table tbody :is(td,th){grid-template-columns:minmax(64px,.35fr) minmax(0,1fr);gap:4px 10px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media(forced-colors:active){
 body :is(.ui-button,.metal){border-color:ButtonText!important}
 .admin-navigation a[aria-current=page],.topbar .workspace-sections a[aria-current=page]{border-bottom-color:Highlight}
}
@media print{.skip,.workspace-sections,.account-shell-navigation,.admin-navigation{display:none!important}}
