/* NOMW developer note: Authoritative shared action components for portal, admin and native file picker. Orange denotes the main task; outlined buttons represent peer navigation, with danger/focus/disabled states. Page CSS may arrange but must not restyle these controls. */
/* Shared controls. Page styles may place actions, but must not restyle them. */
:root {
    --control-height: 44px;
    --control-radius: 8px;
    --control-gap: 12px;
    --control-primary: #914813;
    --control-primary-hover: #763b10;
    --control-ink: #172b45;
    --control-border: #bac4d0;
    --control-focus: #b96320;
}
.button, body #content input[type="submit"], body #content input[type="button"], body #content button, body .object-tools a, body .submit-row a.deletelink, .account-form input[type="file"]::file-selector-button {
    appearance: none;
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 0;
    max-width: 100%;
    min-height: var(--control-height);
    margin: 0;
    padding: 10px 16px;
    border: 1px solid var(--button-border, transparent);
    border-radius: var(--control-radius);
    background: var(--button-background, var(--control-primary));
    color: var(--button-color, #fff);
    font-family: "Segoe UI", system-ui, sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 22px;
    letter-spacing: normal;
    text-transform: none;
    text-align: center;
    text-decoration: none;
    white-space: normal;
    overflow-wrap: anywhere;
    vertical-align: middle;
    cursor: pointer;
    touch-action: manipulation;
}
/* Variants supply colours; geometry and typography stay in the base component. */
.button-secondary,body #content input[type="submit"]:not(.default),body #content input[type="button"],body #content button,body .object-tools a,body .cancel-link,.account-form input[type="file"] {
    --button-background:#fff;--button-border:var(--control-border);--button-color:var(--control-ink);
    --button-hover:#f0f3f7;--button-hover-border:#8190a3;--button-active:#e4e9f0;
}
.button-secondary[aria-current="page"] {--button-border:#172b45;box-shadow:inset 0 -2px 0 #172b45;}
.button-danger,body .submit-row a.deletelink,body.delete-confirmation #content input[type="submit"] {
    --button-background:#fff;--button-border:#d6aaa4;--button-color:#923426;
    --button-hover:#fff0ee;--button-hover-border:#923426;--button-active:#f9dfdb;
}
body.login #content input[type="submit"] {--button-background:var(--control-primary);--button-border:transparent;--button-color:#fff;--button-hover:var(--control-primary-hover);--button-hover-border:transparent;}
.button:visited,body .object-tools a:visited,body .submit-row a.deletelink:visited {color:var(--button-color,#fff);}
.button:hover, body #content input[type="submit"]:hover, body #content input[type="button"]:hover, body #content button:hover, body .object-tools a:hover, body .submit-row a.deletelink:hover, .account-form input[type="file"]::file-selector-button:hover {
    background:var(--button-hover,var(--control-primary-hover));
    border-color:var(--button-hover-border,transparent);
    color:var(--button-color,#fff);text-decoration:none;
}
.button:active, body #content input[type="submit"]:active, body #content input[type="button"]:active, body #content button:active, body .object-tools a:active, body .submit-row a.deletelink:active, .account-form input[type="file"]::file-selector-button:active {background:var(--button-active,#65320e);}
.button:focus-visible, body #content input[type="submit"]:focus-visible, body #content input[type="button"]:focus-visible, body #content button:focus-visible, body .object-tools a:focus-visible, body .submit-row a.deletelink:focus-visible {outline:3px solid var(--control-focus);outline-offset:3px;}
.button:disabled, body #content input[type="submit"]:disabled, body #content input[type="button"]:disabled, body #content button:disabled, body .object-tools a:disabled, body .submit-row a.deletelink:disabled,.button[aria-disabled="true"] {opacity:.5;cursor:not-allowed;}
.button[aria-disabled="true"] {pointer-events:none;}
.actions {display:flex;align-items:center;flex-wrap:wrap;gap:var(--control-gap);}
.actions > form {margin:0;display:flex;max-width:100%;}
.actions-spaced {margin-top:20px;}
.actions-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:var(--control-gap);}
.actions-grid > form {display:flex;margin:0;min-width:0;}
.actions-grid .button {width:100%;height:100%;}
.actions-grid > :only-child {grid-column:1 / -1;}
.back-link {margin-bottom:24px;}
.button-block {width:100%;}
/* Large navigation cards use the same secondary control palette and states. */
.button-card {display:flex;justify-content:space-between;min-height:88px;padding:20px;text-align:left;}


.account-form input[type="file"]::file-selector-button {margin-right:12px;}
.account-form input[type="file"]:disabled::file-selector-button {opacity:.5;cursor:not-allowed;}
