:root {
    color-scheme: light;
    --color-background: #f6f8fa;
    --color-surface: #ffffff;
    --color-text: #17212b;
    --color-muted: #667582;
    --color-primary: #0066c5;
    --color-primary-strong: #003b95;
    --color-accent: #80bcda;
    --color-border: #d6e0e7;
    --color-success: #23864b;
    --color-danger: #b63b3b;
    --color-pending: #b7791f;
    --shadow-card: 0 0.35rem 1.2rem rgb(10 67 105 / 8%);
    --radius-small: 0.55rem;
    --radius-medium: 0.85rem;
    --touch-target: 3rem;
    --content-max: 72.125rem;
    --page-content-max: 68.125rem;
    --config-blue: #0066c5;
    --config-blue-strong: #0053a2;
    --safe-top: env(safe-area-inset-top, 0px);
    --safe-right: env(safe-area-inset-right, 0px);
    --safe-bottom: env(safe-area-inset-bottom, 0px);
    --safe-left: env(safe-area-inset-left, 0px);
    font-family: Arial, Helvetica, sans-serif;
    font-size: 16px;
    line-height: 1.5;
    color: var(--color-text);
    background: var(--color-background);
}

.configuration-shell { width: min(100%, var(--page-content-max)); margin-inline: auto; }
.section-heading { margin-bottom: 1.25rem; }
.section-heading h2 { margin: .35rem 0; font-size: clamp(1.6rem, 7vw, 2.4rem); line-height: 1.1; }
.section-heading p { margin: .35rem 0; color: var(--color-muted); }
.section-heading a { color: var(--config-blue); font-weight: 750; text-decoration: none; }
.section-heading > a, .section-heading > div > a { display: inline-flex; min-height: var(--touch-target); align-items: center; }
.section-heading--actions { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; }
.configuration-grid { display: grid; gap: .85rem; }
.configuration-card { display: grid; grid-template-columns: 3rem 1fr; column-gap: .8rem; min-height: 5.5rem; align-items: center; padding: 1rem; color: var(--color-text); background: #fff; border: 1px solid var(--color-border); border-radius: .9rem; text-decoration: none; box-shadow: 0 .35rem 1.2rem rgb(10 67 105 / 7%); }
.configuration-card > span { grid-row: 1 / 3; display: grid; width: 3rem; height: 3rem; place-items: center; color: #fff; background: var(--config-blue); border-radius: .8rem; font-size: 1.4rem; }
.configuration-card strong { align-self: end; font-size: 1.05rem; }
.configuration-card small { align-self: start; color: var(--color-muted); }
.compact-button { width: auto; min-width: 7rem; }
.catalog-list, .geography-list { display: grid; gap: .75rem; }
.catalog-row, .country-card { padding: 1rem; background: #fff; border: 1px solid var(--color-border); border-radius: .9rem; }
.catalog-row { display: grid; gap: .75rem; }
.catalog-row__main { display: flex; align-items: center; gap: .75rem; min-width: 0; }
.catalog-row__main > div { min-width: 0; }
.catalog-row__main strong, .catalog-row__main small { display: block; overflow-wrap: anywhere; }
.catalog-row__main small { color: var(--color-muted); }
.catalog-row__icon, .flag-preview { display: grid; flex: 0 0 auto; place-items: center; width: 2.8rem; height: 2.8rem; color: var(--config-blue); background: #eaf5ff; border-radius: .7rem; font-weight: 850; }
.flag-preview { width: 3rem; height: 2rem; object-fit: cover; background: #eef3f7; }
.status-badge { display: inline-flex; min-height: 1.75rem; align-items: center; width: fit-content; padding: .2rem .55rem; color: #17643d; background: #e8f7ef; border-radius: 999px; font-size: .75rem; font-weight: 800; }
.status-badge.is-inactive { color: #7b3333; background: #fdecec; }
.row-actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.row-actions button, .icon-button { min-height: var(--touch-target); padding: .65rem .85rem; color: var(--config-blue); background: #fff; border: 1px solid #96bde2; border-radius: .65rem; font-weight: 750; cursor: pointer; }
.row-actions button[data-danger] { color: var(--color-danger); border-color: #e3a5a5; }
.country-card { padding: 0; overflow: hidden; }
.country-card__header { display: grid; gap: .75rem; padding: 1rem; background: #f7fbff; }
.destination-list { display: grid; gap: 0; }
.destination-list .catalog-row { border: 0; border-top: 1px solid var(--color-border); border-radius: 0; box-shadow: none; }
.notice { padding: .8rem 1rem; color: #174f37; background: #e8f7ef; border-radius: .7rem; font-weight: 700; }
.settings-form { padding: 1rem; background: #fff; border: 1px solid var(--color-border); border-radius: .9rem; }
.settings-form > div, .editor-fields { display: grid; gap: 1rem; }
.settings-form label, .editor-fields label { display: grid; gap: .4rem; font-weight: 750; }
.settings-form input, .editor-fields input, .editor-fields select { width: 100%; min-height: var(--touch-target); padding: .7rem .8rem; border: 1px solid #9fb3c4; border-radius: .65rem; background: #fff; }
.settings-form .setting-toggle { grid-template-columns: var(--touch-target) minmax(0, 1fr); align-items: start; gap: .75rem; cursor: pointer; }
.settings-form .setting-toggle input { width: var(--touch-target); min-height: var(--touch-target); margin: 0; padding: 0; accent-color: var(--config-blue); }
.setting-toggle__copy { display: grid; gap: .25rem; padding-top: .15rem; }
.setting-toggle__copy small { color: var(--color-muted); font-weight: 500; line-height: 1.45; }
.settings-form .primary-button { margin-top: 1rem; background: var(--config-blue); }
.configuration-dialog { width: min(calc(100% - 1.25rem), 34rem); max-height: calc(100dvh - 1.25rem); padding: 0; border: 0; border-radius: 1rem; }
.configuration-dialog::backdrop { background: rgb(8 28 44 / 55%); backdrop-filter: blur(2px); }
.dialog-card { display: grid; gap: 1rem; margin: 0; padding: 1rem; }
.dialog-card header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.dialog-card h2 { margin: 0; }
.icon-button { flex: 0 0 var(--touch-target); width: var(--touch-target); padding: 0; font-size: 1.5rem; }
.dialog-actions { display: grid; grid-template-columns: 1fr 1fr; gap: .65rem; }
.dialog-actions .primary-button, .dialog-actions .secondary-button { width: 100%; }
.danger-solid { background: var(--color-danger); }
.empty-state { padding: 1.5rem; text-align: center; color: var(--color-muted); background: #fff; border: 1px dashed var(--color-border); border-radius: .9rem; }
.dynamic-shell { display: grid; gap: 1rem; }
.scope-picker { display: grid; gap: .4rem; padding: 1rem; background: #fff; border: 1px solid var(--color-border); border-radius: .9rem; font-weight: 750; }
.scope-picker select, .dynamic-panel input, .dynamic-panel select { width: 100%; min-width: 0; min-height: var(--touch-target); padding: .7rem .8rem; border: 1px solid #9fb3c4; border-radius: .65rem; background: #fff; }
.dynamic-panel { min-width: 0; padding: 1rem; background: #f8fbfd; border: 1px solid var(--color-border); border-radius: 1rem; }
.dynamic-panel > header { display: grid; gap: .75rem; margin-bottom: 1rem; }
.dynamic-panel h3, .dynamic-panel p { margin: 0; }
.dynamic-panel header p { color: var(--color-muted); }
.dynamic-checkbox { display: grid !important; grid-template-columns: var(--touch-target) minmax(0, 1fr); align-items: center; min-height: var(--touch-target); }
.dynamic-checkbox input { width: 1.5rem !important; min-height: 1.5rem !important; accent-color: var(--config-blue); }
.limited-editor { min-height:9rem;background:#fff; }
.dynamic-control .ql-toolbar.ql-snow { display:flex;flex-wrap:wrap;align-items:center;gap:.15rem;padding:.3rem;background:#f2f5f7;border:1px solid #9fb3c4;border-radius:.65rem .65rem 0 0;font-family:inherit; }
.dynamic-control .ql-toolbar.ql-snow .ql-formats { display:flex;align-items:center;margin:0; }
.dynamic-control .ql-toolbar.ql-snow button { display:grid;float:none;width:var(--touch-target);height:var(--touch-target);min-height:var(--touch-target);place-items:center;padding:.65rem; }
.dynamic-control .ql-toolbar.ql-snow button svg { float:none;width:1.35rem;height:1.35rem; }
.dynamic-control .ql-toolbar.ql-snow .ql-picker { float:none;height:var(--touch-target); }
.dynamic-control .ql-toolbar.ql-snow .ql-picker-label { display:flex;min-height:var(--touch-target);align-items:center; }
.dynamic-control .ql-container.ql-snow { border:1px solid #9fb3c4;border-top:0;border-radius:0 0 .65rem .65rem;color:var(--color-text);font-family:inherit;font-size:1rem; }
.dynamic-control .ql-editor { min-height:9rem;padding:.85rem;line-height:1.55; }
.dynamic-control:focus-within .ql-toolbar.ql-snow,.dynamic-control:focus-within .ql-container.ql-snow { border-color:var(--color-primary); }
.dynamic-control .ql-toolbar.ql-snow button:hover .ql-stroke,.dynamic-control .ql-toolbar.ql-snow button:focus-visible .ql-stroke,.dynamic-control .ql-toolbar.ql-snow button.ql-active .ql-stroke { stroke:var(--color-primary); }
.dynamic-control .ql-toolbar.ql-snow button:hover .ql-fill,.dynamic-control .ql-toolbar.ql-snow button:focus-visible .ql-fill,.dynamic-control .ql-toolbar.ql-snow button.ql-active .ql-fill { fill:var(--color-primary); }
.dynamic-control .ql-editor h2 { font-size:1.25rem;margin:.8rem 0 .4rem; }
.dynamic-control .ql-editor ul,.dynamic-control .ql-editor ol { padding-left:1.5rem; }

.client-form-shell { width:min(100%,52rem);margin-inline:auto; }
.client-profile-page{width:min(100%,var(--page-content-max));padding-bottom:1rem}.client-profile-page>.section-heading{padding:.25rem .15rem}.client-profile-page>.section-heading h2{font-size:clamp(2rem,5vw,2.5rem)}.client-profile-page .client-form-section{padding:clamp(1rem,2vw,1.35rem)}.client-profile-page .client-identity{gap:.75rem}.client-profile-page .client-identity>p{margin:0;padding:.7rem .8rem;background:#f5f8fa;border-radius:.65rem}.client-profile-page .client-identity>p strong{display:inline-block;margin-bottom:.18rem}.client-profile-page .client-identity>p:nth-of-type(3){padding:0;background:transparent}.client-profile-page [data-dynamic-form]{display:grid;gap:1rem}.client-profile-page .client-logo-section .row-actions{margin-top:auto}
.client-form { display:grid;gap:1rem;min-width:0; }
.client-form[data-client-registration] [data-dynamic-form]{padding-top:1rem}
.client-form-section { display:grid;gap:1rem;min-width:0;padding:1rem;background:#fff;border:1px solid var(--color-border);border-radius:1rem;box-shadow:0 .35rem 1.2rem rgb(10 67 105 / 6%); }
.client-form-section h3 { margin:0;font-size:1.15rem; }
.client-form-section h3 small,.client-form-section label small,.client-identity small { color:var(--color-muted);font-weight:500; }
.client-form-section label { display:grid;gap:.4rem;min-width:0;font-weight:750; }
.client-form-section input:not([type=checkbox]):not([type=radio]),.client-form-section select { width:100%;min-width:0;min-height:var(--touch-target);padding:.7rem .8rem;border:1px solid #9fb3c4;border-radius:.65rem;background:#fff; }
.legal-consents label,.choice-control { grid-template-columns:2rem minmax(0,1fr)!important;align-items:start;min-height:var(--touch-target); }
.legal-consents input,.choice-control input { width:1.5rem;height:1.5rem;margin:.15rem 0;accent-color:var(--color-primary); }
.dynamic-control { display:grid;gap:.5rem;min-width:0;margin:0;padding:0;border:0; }
.dynamic-control legend { margin-bottom:.35rem;font-weight:750; }
.client-sticky-actions { position:sticky;z-index:10;bottom:calc(4.5rem + var(--safe-bottom));display:grid;grid-template-columns:1fr;gap:.65rem;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none; }
.client-sticky-actions:has(> :nth-child(2):not([hidden])) { grid-template-columns:1fr 1fr; }
.client-sticky-actions .primary-button,.client-sticky-actions .secondary-button { display:flex;width:100%;min-width:0;align-items:center;justify-content:center;text-decoration:none; }
[data-professional-profile] { padding-bottom:0; }
[data-professional-profile] .client-sticky-actions { position:static;z-index:auto;display:flex;width:100%;max-width:none;flex-wrap:wrap;justify-content:flex-end;gap:.65rem;padding:.25rem 0 0;transform:none;background:transparent;border:0;border-radius:0;box-shadow:none; }
[data-professional-profile] .client-sticky-actions .primary-button,[data-professional-profile] .client-sticky-actions .secondary-button { width:auto;min-width:10rem;max-width:100%;padding:.75rem 1.25rem;border-radius:.7rem; }
[data-professional-profile] [data-save-profile] { min-height:var(--touch-target);color:#fff;background:var(--color-primary);border:1px solid var(--color-primary);font-weight:850; }
[data-professional-profile] [data-save-profile] { transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,filter .12s ease,transform .18s ease; }
[data-professional-profile] [data-save-profile]:hover,[data-professional-profile] [data-save-profile]:focus-visible { color:#fff;background:var(--color-primary-strong);border-color:var(--color-primary-strong);box-shadow:0 .4rem 1rem rgb(0 59 149 / 25%);filter:none;transform:translateY(-1px); }
[data-professional-profile] [data-save-profile]:active,[data-professional-profile] [data-save-profile].is-saving { filter:brightness(.82);transform:scale(.985); }
[data-professional-profile] [data-save-profile]:disabled { cursor:wait;opacity:1;filter:none;transform:none; }
[data-professional-profile] [data-toggle-profile] { min-height:var(--touch-target); }
.professional-save-toast { position:fixed;z-index:90;top:50%;left:50%;min-width:min(18rem,calc(100% - 2rem));padding:1rem 1.25rem;transform:translate(-50%,-45%) scale(.96);color:#fff;background:#187644;border-radius:.75rem;box-shadow:0 .8rem 2.5rem rgb(0 32 20 / 28%);opacity:0;text-align:center;font-weight:850;pointer-events:none;transition:opacity .18s ease,transform .18s ease; }
.professional-save-toast.is-visible { transform:translate(-50%,-50%) scale(1);opacity:1; }
.professional-save-toast.is-error { background:var(--color-danger); }
.form-summary { padding:.8rem;color:#8e2424;background:#fdecec;border-radius:.65rem;font-weight:700; }
.form-summary.is-success { color:#174f37;background:#e8f7ef; }
.has-error input,.has-error select,.has-error .limited-editor { border-color:var(--color-danger)!important; }
.field-error { display:block;color:var(--color-danger);font-weight:700; }
.dynamic-control.has-error { padding:.7rem;border:2px solid var(--color-danger);border-radius:.65rem;background:#fff5f5; }
.dynamic-control.has-error legend { color:var(--color-danger); }
.client-logo-section{align-content:start;background:linear-gradient(145deg,#fff 0%,#f7fbfe 100%)}
.client-logo{display:grid;min-height:7.5rem;place-items:center;padding:1rem;color:var(--color-muted);background:#f7fafc;border:2px dashed #b7cfdf;border-radius:.85rem;text-align:center}
.client-logo.has-logo{background:#fff;border-style:solid}
.client-logo img{display:block;max-width:min(100%,18rem);max-height:10rem;object-fit:contain;border-radius:.65rem}
.client-logo__empty::before{display:block;width:2.25rem;height:2.25rem;margin:0 auto .45rem;content:"+";color:var(--config-blue);background:#e9f5fc;border-radius:50%;font-size:1.6rem;line-height:2.1rem;font-weight:500}
.client-logo-picker{gap:.25rem!important;padding:.8rem;background:#fff;border:1px solid var(--color-border);border-radius:.75rem}
.client-logo-picker>small{font-size:.78rem}
.client-logo-picker input[type=file]{min-height:auto!important;padding:.3rem!important;border:0!important;font-size:.78rem;font-weight:500}
.client-logo-picker input[type=file]::file-selector-button{margin-right:.65rem;padding:.55rem .7rem;color:var(--config-blue);background:#edf7fd;border:1px solid #9cc9e4;border-radius:.55rem;font:inherit;font-weight:750;cursor:pointer}
.client-logout-button{width:max-content;min-height:var(--touch-target);margin:0;padding:.7rem 1.15rem;color:#fff;background:var(--color-danger);border:1px solid var(--color-danger);border-radius:.7rem;font:inherit;font-weight:800;cursor:pointer;text-decoration:none}
.client-logout-button:hover,.client-logout-button:focus-visible{background:#922d2d;border-color:#922d2d}
.client-identity a { display:inline-flex;min-height:var(--touch-target);align-items:center;color:var(--config-blue);font-weight:700; }
.bottom-navigation__item[aria-disabled=true] { opacity:.48; }
.professional-shell { width:min(100%,52rem);margin-inline:auto; }
.professional-cards { display:grid;gap:.75rem;margin-block:1rem; }
.professional-card { display:grid;gap:.35rem;min-height:var(--touch-target);padding:1rem;color:var(--color-text);background:#fff;border:1px solid var(--color-border);border-radius:.9rem;text-decoration:none;box-shadow:0 .35rem 1.2rem rgb(10 67 105 / 6%); }
.professional-card span { color:var(--color-muted); }
.professional-card__state{color:var(--color-muted)}
.professional-card__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin-top:.55rem}
.professional-card__actions .primary-button,.professional-card__actions .secondary-button{width:100%;min-width:0;min-height:var(--touch-target);padding:.65rem .75rem;border-radius:.6rem}
.professional-card__view{color:var(--color-primary);background:#fff;border-color:var(--color-primary)}
.professional-card__view:hover,.professional-card__view:focus-visible{color:var(--color-primary-strong);background:#edf7fd;border-color:var(--color-primary-strong)}
.professional-card__deactivate { grid-column:1/-1;width:100%;min-height:var(--touch-target);color:var(--color-danger);background:#fff;border:1px solid #dca0a0;border-radius:.6rem;font:inherit;font-weight:800;cursor:pointer; }
.professional-card__deactivate:active { color:#fff;background:var(--color-danger); }
.professional-card__deactivate:disabled { cursor:wait;opacity:.65; }
.button-link { display:inline-flex;align-items:center;justify-content:center;text-decoration:none; }
.configuration-card.is-placeholder { opacity:.65; }
.inline-create { display:grid;gap:.75rem;padding:1rem;background:#fff;border:1px solid var(--color-border);border-radius:.9rem; }
.inline-create label { display:grid;gap:.4rem;font-weight:750; }
.inline-create select { width:100%;min-height:var(--touch-target);padding:.7rem .8rem;border:1px solid #9fb3c4;border-radius:.65rem;background:#fff; }
.feature-placeholder-list { display:grid;gap:.6rem;margin:0;padding-left:1.25rem;color:var(--color-muted); }

.auth-card,
.auth-stack {
    width: min(100%, 34rem);
    margin-inline: auto;
}

.auth-card {
    padding: 1.25rem;
    border-radius: 1rem;
    background: var(--surface, #fff);
    border: 1px solid var(--color-border);
    box-shadow: var(--shadow-card);
}

.auth-stack { display: grid; gap: 1rem; }
.auth-card form { display: grid; gap: 1rem; margin-block: 1rem; }
.auth-card > a { display:flex;min-height:var(--touch-target);align-items:center;color:var(--config-blue);font-weight:700; }
.auth-card label { display: grid; gap: .4rem; font-weight: 700; }
.auth-card input {
    width: 100%; min-height: 3rem; padding: .75rem; border: 1px solid #9cb6bb;
    border-radius: .7rem; font: inherit; background: #fff;
}
.auth-card input:focus { outline: 3px solid rgb(0 102 197 / 22%); border-color: #0066c5; }
.password-input { position:relative;display:block; }
.password-input input { padding-right:3.4rem; }
.password-visibility { position:absolute;top:50%;right:.25rem;display:grid;width:2.5rem;height:2.5rem;place-items:center;padding:0;transform:translateY(-50%);color:#0066c5;background:transparent;border:0;border-radius:.55rem;font-size:1rem;cursor:pointer; }
.password-visibility:hover,.password-visibility:focus-visible { background:#eaf5fb; }
.password-visibility:focus-visible { outline:3px solid rgb(0 102 197 / 25%); }
.auth-card summary { min-height: 3rem; display: flex; align-items: center; font-weight: 800; cursor: pointer; }
.form-error { color: #a32424; font-weight: 700; }
.form-hint { color: #52666a; font-size: .9rem; }
.client-form input[readonly] { color:#314958;background:#eaf5fb;cursor:not-allowed; }
.secondary-button, .text-button {
    min-height: 3rem; padding: .75rem 1rem; border-radius: .75rem; font: inherit; font-weight: 700;
}
.secondary-button { border: 1px solid #0b4f5c; color: #0b4f5c; background: #fff; }
.text-button { border: 0; color: #0b4f5c; background: transparent; text-decoration: underline; }
.danger-button { color: #9d2424; }
.account-logout-button {
    display: inline-flex;
    min-height: var(--touch-target);
    align-items: center;
    justify-content: center;
    gap: .5rem;
    justify-self: center;
    padding: .7rem 1.15rem;
    color: #fff;
    background: #b4232d;
    border: 1px solid #b4232d;
    border-radius: .7rem;
    box-shadow: 0 .25rem .75rem rgb(130 20 30 / 16%);
    font: inherit;
    font-weight: 850;
    cursor: pointer;
    transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.account-logout-button:hover,
.account-logout-button:focus-visible {
    color: #fff;
    background: #8f1d25;
    border-color: #8f1d25;
    box-shadow: 0 .4rem 1rem rgb(130 20 30 / 25%);
    transform: translateY(-1px);
}
.account-logout-button:focus-visible {
    outline: 3px solid rgb(180 35 45 / 25%);
    outline-offset: 2px;
}
.account-logout-button:disabled { cursor: wait; opacity: .7; transform: none; }
.alert-card { border: 2px solid #c67832; }
button[disabled] { opacity: .65; }

* {
    box-sizing: border-box;
}

html {
    min-height: 100%;
    background: var(--color-background);
    -webkit-text-size-adjust: 100%;
}

body {
    min-width: 0;
    min-height: 100vh;
    min-height: 100dvh;
    margin: 0;
    background: var(--color-background);
}

button,
input,
select,
textarea {
    font: inherit;
}

button,
a {
    -webkit-tap-highlight-color: transparent;
}

/* Ogni controllo azionabile deve dare un riscontro visivo coerente al puntatore. */
button,
.button-link {
    transition: background-color .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease, filter .18s ease;
}

@media (hover: hover) {
    button:not(:disabled):hover,
    .button-link:not([aria-disabled="true"]):hover {
        filter: brightness(.9);
    }
}

button:disabled,
.button-link[aria-disabled="true"] {
    filter: none;
}

:focus-visible {
    outline: 3px solid var(--color-accent);
    outline-offset: 3px;
}

.skip-link {
    position: fixed;
    z-index: 100;
    top: calc(0.5rem + var(--safe-top));
    left: calc(0.5rem + var(--safe-left));
    padding: 0.75rem 1rem;
    color: #fff;
    background: var(--color-primary-strong);
    border-radius: var(--radius-small);
    transform: translateY(-200%);
}

.skip-link:focus {
    transform: translateY(0);
}

.app-shell {
    min-height: 100vh;
    min-height: 100dvh;
    overflow-x: clip;
    padding-right: var(--safe-right);
    padding-bottom: calc(5rem + var(--safe-bottom));
    padding-left: var(--safe-left);
}

.app-header {
    display: grid;
    grid-template-areas: "brand actions" "identity actions";
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    column-gap: .55rem;
    row-gap: .08rem;
    min-height: calc(4rem + var(--safe-top));
    padding: calc(.35rem + var(--safe-top)) max(.8rem,var(--safe-right)) .35rem max(.8rem,var(--safe-left));
    color: #fff;
    background: #003b95;
    box-shadow: 0 .2rem .8rem rgb(0 30 80 / 16%);
}

.app-brand { grid-area:brand;display:inline-flex;min-width:0;min-height:2.1rem;align-items:center;color:#fff;text-decoration:none; }
.app-brand img { display:block;width:auto;height:2.15rem;max-width:min(72vw,15.5rem);object-fit:contain;object-position:left center; }
.backoffice-home-link{display:flex;width:min(calc(100% - 2rem),var(--page-content-max));min-height:2.75rem;align-items:center;gap:.45rem;margin:.65rem auto 0;padding:.45rem 0;color:#005da8;font-size:.82rem;font-weight:850;text-decoration:none}.backoffice-home-link:hover,.backoffice-home-link:focus-visible{color:#0084cc;text-decoration:none}.backoffice-home-link:focus-visible{outline:2px solid #80bcda;outline-offset:2px}.backoffice-home-link .fa-house{font-size:.8rem}.app-shell:has(.admin-dashboard-page)>.backoffice-home-link{display:none}.is-backoffice-session .app-shell{padding-bottom:var(--safe-bottom)}
.visually-hidden { position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important; }

.app-eyebrow,
.status-kicker {
    margin: 0 0 0.25rem;
    color: var(--color-primary);
    font-size: 0.75rem;
    font-weight: 750;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.app-title {
    margin: 0;
    font-size: clamp(1.25rem, 5vw, 1.75rem);
    line-height: 1.15;
}

.app-main {
    width: min(100%, var(--content-max));
    margin: 0 auto;
    padding: 1rem;
}

.foundation-card {
    padding: clamp(1.25rem, 5vw, 2rem);
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-medium);
    box-shadow: var(--shadow-card);
}

.foundation-card h2 {
    margin: 0;
    font-size: clamp(1.5rem, 7vw, 2.35rem);
    line-height: 1.1;
}

.foundation-card p:not(.status-kicker) {
    max-width: 42rem;
    color: var(--color-muted);
}

.connection-status {
    display: flex;
    min-height: var(--touch-target);
    align-items: center;
    gap: 0.75rem;
    margin: 1.25rem 0;
    padding: 0.75rem 1rem;
    background: var(--color-background);
    border-radius: var(--radius-small);
}

.status-dot {
    width: 0.75rem;
    height: 0.75rem;
    flex: 0 0 auto;
    background: var(--color-pending);
    border-radius: 50%;
}

.status-dot[data-status="ok"] {
    background: var(--color-success);
}

.status-dot[data-status="error"] {
    background: var(--color-danger);
}

.primary-button {
    width: 100%;
    min-height: var(--touch-target);
    padding: 0.75rem 1.1rem;
    color: #fff;
    background: var(--color-primary);
    border: 0;
    border-radius: var(--radius-small);
    font-weight: 750;
    cursor: pointer;
}

.primary-button:hover {
    background: var(--color-primary-strong);
}

.primary-button:disabled {
    cursor: wait;
    opacity: 0.65;
}

.availability-prompt,.proposal-card { padding:1rem;background:#eef7f4;border:1px solid var(--color-border);border-radius:var(--radius-medium); }
.calendar-toolbar { display:grid;grid-template-columns:var(--touch-target) 1fr var(--touch-target);align-items:center;gap:.5rem;text-align:center; }
.calendar-toolbar button,.availability-calendar button { min-width:var(--touch-target);min-height:var(--touch-target);border:1px solid var(--color-border);border-radius:.5rem;cursor:pointer; }
.availability-calendar { display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.2rem;margin-top:.75rem;overflow:hidden; }
.availability-calendar > strong { padding:.35rem 0;text-align:center;font-size:.7rem; }
.availability-calendar .is-available { background:#d8f2df; }
.availability-calendar .is-unavailable { color:#fff;background:#b53d49; }
.availability-calendar .is-today { outline:3px solid #172f54;outline-offset:-3px; }
.availability-calendar--preview span { display:grid;min-height:2rem;place-items:center;border-radius:.35rem;font-size:.8rem; }
.availability-calendar--preview .is-available { background:#d8f2df; }
.availability-calendar--preview .is-unavailable { color:#fff;background:#b53d49; }
.public-profile .availability-calendar span { display:grid;min-height:2.5rem;place-items:center;border-radius:.35rem; }
.public-profile .availability-calendar .is-available { background:#d8f2df; }
.public-profile .availability-calendar .is-unavailable { color:#fff;background:#b53d49; }
.period-dialog { width:min(calc(100% - 2rem),32rem);max-height:min(42rem,calc(100dvh - 2rem));padding:0;overflow:hidden;background:#fff;border:0;border-radius:1rem;box-shadow:0 1.25rem 4rem rgb(0 28 55 / 30%); }
.period-dialog::backdrop { background:rgb(0 24 48 / 56%);backdrop-filter:blur(2px); }
.period-dialog form { display:grid;gap:1rem;padding:0 1.2rem calc(1.2rem + var(--safe-bottom));overflow-y:auto; }
.period-dialog header { position:sticky;z-index:1;top:0;display:grid;grid-template-columns:1fr var(--touch-target);align-items:center;gap:.75rem;margin:0 -1.2rem .15rem;padding:1.1rem 1.2rem .9rem;background:#f0f8fc;border-bottom:1px solid #c9e2ef; }
.period-dialog header h3 { margin:0;color:var(--color-primary-strong);font-size:1.35rem; }
.period-dialog header button { display:grid;width:var(--touch-target);height:var(--touch-target);place-items:center;padding:0;color:#405665;background:#fff;border:1px solid #c6d4dc;border-radius:50%;font-size:1.15rem;cursor:pointer; }
.period-dialog label { display:grid;gap:.4rem;color:#344d5d;font-size:.78rem;font-weight:850;letter-spacing:.025em;text-transform:uppercase; }
.period-dialog input { width:100%;min-width:0;min-height:3.25rem;padding:.7rem .8rem;color:var(--color-text);background:#fff;border:1px solid #9fb9c8;border-radius:.65rem;font:inherit;font-size:1rem;text-transform:none; }
.period-dialog input:focus { outline:3px solid rgb(0 102 197 / 18%);border-color:var(--color-primary); }
.period-dialog .form-summary { margin:0; }
.period-dialog .row-actions { display:grid;grid-template-columns:1fr;gap:.55rem;margin-top:.15rem; }
.period-dialog .row-actions:has([data-delete-period]:not([hidden])) { grid-template-columns:minmax(0,1fr) minmax(0,1.5fr); }
.period-dialog .row-actions button { width:100%;min-height:3.25rem;margin:0;border-radius:.65rem;font-weight:850; }
.period-dialog .row-actions .primary-button { color:#fff;background:var(--color-primary);border-color:var(--color-primary); }
.period-dialog .row-actions .primary-button:active { background:var(--color-primary-strong);transform:scale(.99); }
.period-dialog .row-actions .danger-button { color:var(--color-danger);background:#fff;border-color:#dca0a0; }
@media(max-width:35rem){.period-dialog{inset:auto 0 0;width:100%;max-width:none;max-height:88dvh;margin:0;border-radius:1.15rem 1.15rem 0 0}.period-dialog form{padding-right:1rem;padding-left:1rem}.period-dialog header{margin-right:-1rem;margin-left:-1rem;padding-right:1rem;padding-left:1rem}}
.choice-grid { display:grid;gap:.35rem;grid-column:1/-1; }
.choice-grid label { min-height:var(--touch-target);display:flex;align-items:center; }
.mobility-choice{display:grid;grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;min-width:0;margin:0;padding:0;border:0}
.mobility-choice legend{width:100%;padding:0;margin:0 0 .15rem;font-weight:750}
.client-form-section .mobility-choice label{display:flex;min-height:var(--touch-target);align-items:center;gap:.6rem;padding:.65rem .75rem;background:#fff;border:1px solid #b8c9d4;border-radius:.65rem;cursor:pointer}
.mobility-choice label:has(input:checked){color:var(--color-primary-strong);background:#edf8fd;border-color:var(--color-primary);box-shadow:0 0 0 2px rgb(0 102 197 / 10%)}
.mobility-choice input{flex:0 0 auto;width:1.25rem;height:1.25rem;margin:0;accent-color:var(--color-primary)}
.proposal-form-section .proposal-input-row,.proposal-form-section>[data-proposal-statuses]{grid-column:1/-1}
.proposal-input-row{display:grid;gap:.65rem;min-width:0}
.proposal-input-row .secondary-button{width:100%;min-height:var(--touch-target);align-self:end}
.proposal-columns { display:grid;gap:1rem; }
.proposal-card { display:grid;gap:.65rem;margin-bottom:.75rem; }
.profile-tabs { display:flex;gap:.4rem;overflow-x:auto;padding:.35rem 0; }
.profile-tabs a { display:grid;min-height:var(--touch-target);place-items:center;padding:.5rem .8rem;white-space:nowrap;color:#fff;background:var(--color-primary);border:1px solid var(--color-primary);border-radius:.5rem;box-shadow:0 .2rem .55rem rgb(0 59 149 / 14%);font-weight:800;text-decoration:none;transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease; }
.profile-tabs a:hover,.profile-tabs a:focus-visible { color:#fff;background:var(--color-primary-strong);border-color:var(--color-primary-strong);box-shadow:0 .4rem .9rem rgb(0 59 149 / 24%);outline:none;transform:translateY(-1px); }
.media-form { display:grid;gap:.75rem;margin-bottom:1rem;padding:1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-medium); }
.media-form label,[data-photo-upload] label { display:grid;gap:.4rem;font-weight:750; }
.media-form input,.media-form textarea,[data-photo-upload] input { width:100%;min-width:0;min-height:var(--touch-target);padding:.7rem .8rem;border:1px solid #9fb3c4;border-radius:.65rem;background:#fff; }
.media-upload-progress{display:grid;gap:.5rem;padding:.75rem;color:#164f87;background:#edf8fd;border:1px solid #9ed5ec;border-radius:.7rem}.media-upload-progress[hidden]{display:none}.media-upload-progress__heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.media-upload-progress__heading span{font-weight:850;font-variant-numeric:tabular-nums}.media-upload-progress progress{width:100%;height:.75rem;overflow:hidden;accent-color:var(--color-primary);border:0;border-radius:999px}.media-upload-progress progress::-webkit-progress-bar{background:#d8e8f0;border-radius:999px}.media-upload-progress progress::-webkit-progress-value{background:var(--color-primary);border-radius:999px}.media-upload-progress small{color:#496a7e}.media-upload-progress.is-complete{color:#176f3b;background:#edf9f1;border-color:#99d5ad}.media-upload-progress.is-complete progress{accent-color:var(--color-success)}.media-upload-progress.is-error{color:#9e2f35;background:#fff1f2;border-color:#e7a6aa}.media-upload-progress.is-error progress{accent-color:#b83b43}
.media-card .row-actions button { min-width:var(--touch-target); }
.media-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem; }
.media-card { display:grid;gap:.5rem;margin:.75rem 0;padding:.75rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-small); }
.media-card img { width:100%;aspect-ratio:1;object-fit:cover;border-radius:.5rem; }
.media-video-list { display:grid;grid-template-columns:1fr;gap:.85rem; }
.media-video-list .media-card { margin:0; }
.media-video-preview { position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background:#0d1b27;border-radius:.65rem; }
.media-video-preview iframe { position:absolute;inset:0;width:100%;height:100%;border:0; }
.media-edit-dialog { width:min(calc(100% - 1.25rem),34rem);max-height:calc(100dvh - 1.25rem);padding:0;overflow:hidden;background:#fff;border:0;border-radius:1rem;box-shadow:0 1.25rem 4rem rgb(0 28 55 / 30%); }
.media-edit-dialog::backdrop { background:rgb(0 24 48 / 56%);backdrop-filter:blur(2px); }
.media-edit-dialog__card { display:grid;gap:1rem;margin:0;padding:0 1.2rem calc(1.2rem + var(--safe-bottom));overflow-y:auto; }
.media-edit-dialog__card header { position:sticky;z-index:1;top:0;display:grid;grid-template-columns:1fr var(--touch-target);align-items:center;gap:.75rem;margin:0 -1.2rem .15rem;padding:1.1rem 1.2rem .9rem;background:#f0f8fc;border-bottom:1px solid #c9e2ef; }
.media-edit-dialog__card header h3 { margin:0;color:var(--color-primary-strong);font-size:1.35rem; }
.media-edit-dialog__card header button { display:grid;width:var(--touch-target);height:var(--touch-target);place-items:center;padding:0;color:#405665;background:#fff;border:1px solid #c6d4dc;border-radius:50%;font-size:1.15rem;cursor:pointer; }
.media-edit-dialog__card label { display:grid;gap:.4rem;color:#344d5d;font-size:.78rem;font-weight:850;letter-spacing:.025em;text-transform:uppercase; }
.media-edit-dialog__card input,.media-edit-dialog__card textarea { width:100%;min-width:0;min-height:3.25rem;padding:.7rem .8rem;color:var(--color-text);background:#fff;border:1px solid #9fb9c8;border-radius:.65rem;font:inherit;font-size:1rem;text-transform:none; }
.media-edit-dialog__card textarea { min-height:7rem;resize:vertical; }
.media-edit-dialog__card input:focus,.media-edit-dialog__card textarea:focus { outline:3px solid rgb(0 102 197 / 18%);border-color:var(--color-primary); }
.media-edit-dialog__card .form-error { margin:0; }
.media-edit-dialog__card .dialog-actions button { min-height:3.25rem;border-radius:.65rem; }
@media(max-width:35rem){.media-edit-dialog{inset:auto 0 0;width:100%;max-width:none;max-height:88dvh;margin:0;border-radius:1.15rem 1.15rem 0 0}.media-edit-dialog__card{padding-right:1rem;padding-left:1rem}.media-edit-dialog__card header{margin-right:-1rem;margin-left:-1rem;padding-right:1rem;padding-left:1rem}}
.profile-photo-manager { display:grid;gap:1rem;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--color-border); }
.profile-photo-manager h3,.profile-photo-manager p { margin-block:.25rem; }
.profile-photo-preview { display:grid;justify-items:start;gap:.75rem; }
.profile-photo-preview img,.professional-profile-photo { width:7rem;height:7rem;object-fit:cover;border:4px solid #c8e6f4;border-radius:50%;background:#eef7fb;box-shadow:0 .35rem 1rem rgb(0 45 80 / 12%); }
.profile-photo-placeholder { display:grid;width:7rem;height:7rem;place-items:center;align-content:center;gap:.35rem;color:#657b89;background:#eef7fb;border:2px dashed #9dcbe1;border-radius:50%;font-size:.7rem;text-align:center; }
.profile-photo-placeholder i { color:var(--color-primary);font-size:2rem; }
.field-calculated-value { display:block;margin-top:.4rem;color:var(--color-primary-strong);font-weight:750; }
.public-profile-heading,.search-profile-heading { display:flex;align-items:center;gap:1rem; }
.public-profile-heading h1,.search-profile-heading h2 { margin-block:.2rem; }
.public-profile { width:min(100%,var(--page-content-max));margin:0 auto;padding:calc(1rem + var(--safe-top)) max(1rem,var(--safe-right)) calc(2rem + var(--safe-bottom)); }
.public-gallery { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem; }
.public-gallery img { width:100%;height:auto;border-radius:.75rem; }
.public-profile iframe { width:100%;aspect-ratio:16/9;border:0;margin:.5rem 0; }
.public-profile footer { margin-top:2rem;padding-top:1rem;border-top:1px solid var(--color-border);font-size:.8rem; }
.profile-unavailable { padding:2rem;text-align:center;background:var(--color-surface);border-radius:var(--radius-medium); }
.search-shell { width:min(100%,var(--page-content-max));margin-inline:auto; }
.search-hero { min-height:17.8rem;margin:0;border-radius:var(--radius-medium);padding:3rem clamp(1.15rem,4vw,3rem) 4.5rem;background:#003b95 url('../assets/brand/header.jpg') 62% center/cover no-repeat;box-shadow:0 .5rem 1.75rem rgb(0 35 65 / 16%); }
.search-hero .status-kicker,.search-hero h2,.search-hero p { max-width:38rem;color:#fff; }
.search-hero h2 { font-size:clamp(1.85rem,6vw,2.65rem); }
.search-criteria { display:grid;gap:.75rem;padding:1rem;background:#80bcda;border-radius:var(--radius-medium); }
.search-hero + .search-criteria { position:relative;z-index:2;margin:-2.7rem .75rem 0;box-shadow:0 .5rem 1.75rem rgb(0 35 65 / 16%); }
.search-criteria > label,.search-criteria > .search-field { min-height:4.25rem;padding:.55rem .75rem;background:#fff;border-radius:.45rem; }
.search-criteria label,.search-filter label,.search-toolbar label { display:grid;gap:.35rem;font-weight:750; }
.search-criteria input,.search-criteria select,.search-filter input,.search-filter select,.search-toolbar select { width:100%;min-width:0;min-height:var(--touch-target);padding:.7rem;border:1px solid #9fb3c4;border-radius:.6rem;background:#fff; }
.search-criteria input,.search-criteria select { min-height:3rem;padding:.2rem 0;border:0;border-radius:0;font-weight:700; }
.search-criteria > .primary-button { min-height:3.65rem; }
.search-dates { display:grid;grid-template-columns:1fr 1fr;gap:.5rem; }
.search-field { display:grid;align-content:center;gap:.35rem;min-width:0; }
.search-field > span { color:#52606d;font-size:.7rem;font-weight:800;text-transform:uppercase; }
.search-role-summary { display:flex;min-height:2.8rem;align-items:center;gap:.65rem;min-width:0; }
.search-role-summary button { display:grid;flex:0 0 2.8rem;width:2.8rem;height:2.8rem;place-items:center;padding:0;color:#fff;background:#0066c5;border:0;border-radius:.45rem;font:inherit;cursor:pointer; }
.search-role-summary strong { min-width:0;overflow-wrap:anywhere;font-size:1rem; }
.search-date-trigger { display:grid;min-width:0;min-height:2.8rem;align-content:center;gap:.12rem;padding:0;color:#17212b;background:transparent;border:0;text-align:left;font:inherit;cursor:pointer; }
.search-date-trigger strong { font-size:.9rem; }
.search-date-trigger span { overflow:hidden;color:#17212b!important;font-size:.8rem!important;font-weight:750;text-overflow:ellipsis;text-transform:none!important;white-space:nowrap; }
.search-date-trigger.is-invalid { color:#a51d2d;outline:2px solid #c63b4d;outline-offset:2px;border-radius:.25rem; }
.search-calendar-body { overflow:auto; }
.search-calendar-nav { display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem; }
.search-calendar-nav-button { display:grid;width:2.75rem;height:2.75rem;place-items:center;padding:0;color:#17212b;background:#fff;border:1px solid #d9e1e7;border-radius:.5rem;font:inherit;cursor:pointer; }
.search-calendar-title { color:#17212b;text-transform:capitalize; }
.search-calendar-legend { margin:0 0 .65rem;color:#52606d;font-size:.75rem; }
.search-calendar-legend span { display:inline-block;width:.9rem;height:.9rem;margin-right:.4rem;vertical-align:-.12rem;background:#dceeff;border-radius:.2rem;box-shadow:inset 0 0 0 2px #0066c5; }
.search-calendar-week,.search-calendar-days { display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.25rem; }
.search-calendar-week span { padding:.35rem 0;color:#607080;font-size:.7rem;font-weight:800;text-align:center; }
.search-calendar-day { min-width:0;min-height:2.75rem;padding:0;color:#17212b;background:#fff;border:0;border-radius:.5rem;font:inherit;font-weight:700;cursor:pointer; }
.search-calendar-day:hover:not(:disabled),.search-calendar-day:focus-visible:not(:disabled) { background:#e8f4ff; }
.search-calendar-day.is-selected { color:#fff;background:#0066c5; }
.search-calendar-day.is-start-reference { color:#003b95;background:#dceeff;box-shadow:inset 0 0 0 2px #0066c5;font-weight:800; }
.search-calendar-day:disabled { color:#bcc5cc;background:#fafafa;cursor:not-allowed; }
.search-edit { margin:1rem 0;background:#fff;border:1px solid var(--color-border);border-radius:.8rem; }
.search-edit summary { min-height:var(--touch-target);padding:.75rem 1rem;font-weight:800;cursor:pointer; }
.search-edit [data-filter-panel] { display:grid;gap:.75rem;padding:1rem;border-top:1px solid var(--color-border); }
.search-filter { display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin:0;padding:.75rem;border:1px solid var(--color-border);border-radius:.6rem; }
.search-filter legend { padding:0 .25rem;font-weight:800; }
.search-filter .choice-control { grid-column:1/-1; }
.search-toolbar { display:grid;gap:.75rem;margin:1rem 0; }
.search-toolbar p { margin:0; }
.filter-chips { display:flex;flex-wrap:wrap;gap:.35rem;margin:.65rem 0; }
.filter-chip { min-height:2.25rem;padding:.4rem .7rem;color:#164f87;background:#eaf5fb;border:0;border-radius:999px;font-size:.78rem;font-weight:750;cursor:pointer;transition:color .16s ease,background-color .16s ease,box-shadow .16s ease; }
.filter-chip:hover,.filter-chip:focus-visible { color:#0b4772;background:#d8edf8;box-shadow:0 0 0 2px #80bcda;outline:0; }
.subscription-notice { padding:1rem;color:#123f72;background:#eaf5fb;border:1px solid #c9e4f3;border-radius:.75rem;font-weight:750; }
.search-results { display:grid;gap:.75rem; }
.search-card { display:grid;gap:.75rem;padding:.75rem;background:#fff;border:1px solid var(--color-border);border-radius:.8rem;box-shadow:0 .25rem .8rem rgb(20 55 62 / 6%); }
.search-card img { width:100%;aspect-ratio:1;object-fit:cover;border-radius:.65rem; }
.search-card__body { display:grid;align-content:start;gap:.5rem;min-width:0; }
.search-card h3,.search-card p { margin:0;overflow-wrap:anywhere; }
.search-selection-toggle.is-remove { background:#d9dee3;border-color:#aeb8c1;color:#263746;box-shadow:none; }
.search-selection-toggle.is-remove:hover,.search-selection-toggle.is-remove:focus-visible { background:#c8cfd6;border-color:#919da8;color:#172634; }
.search-select-all { margin-block:.75rem; }
.selection-bar { position:fixed;z-index:19;right:max(1rem,env(safe-area-inset-right));bottom:calc(5rem + env(safe-area-inset-bottom));left:max(1rem,env(safe-area-inset-left));display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.7rem .9rem;color:#321b00;background:#ffd36b;border:1px solid #d9a83a;border-radius:.9rem;box-shadow:0 .5rem 1.5rem rgb(10 67 105 / 18%); }
.selection-bar[hidden] { display:none; }
.search-shell.has-selection { padding-bottom:7rem; }
.selection-bar .primary-button { width:auto;min-width:9rem; }
.favorite-tabs { display:flex;gap:.5rem;overflow-x:auto;padding:.2rem 0 .7rem;scrollbar-width:thin; }
.favorite-tab { flex:0 0 auto;min-height:var(--touch-target);padding:.65rem 1rem;border:1px solid var(--config-blue);border-radius:999px;background:#fff;color:var(--config-blue);font-weight:750; }
.favorite-tab.is-active { background:var(--config-blue);color:#fff; }
.request-shell{width:min(100%,var(--page-content-max));margin-inline:auto;display:grid;gap:.8rem}.request-form,.request-card{display:grid;gap:.65rem;padding:1rem;background:#fff;border:1px solid var(--color-border);border-radius:.8rem}.request-form label{display:grid;gap:.35rem;font-weight:750}.request-form input,.request-form select,.request-form textarea{min-height:var(--touch-target);width:100%;padding:.7rem;border:1px solid #9fb3c4;border-radius:.6rem}.request-card.is-disabled{filter:grayscale(1);opacity:.62;pointer-events:none}.request-tabs{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.request-tabs button{min-height:var(--touch-target);border:1px solid var(--config-blue);border-radius:.6rem;background:#fff}.request-tabs button.is-active{background:var(--config-blue);color:#fff}.request-shell>button{margin-top:.4rem}.warning-shell{width:min(100%,var(--page-content-max));margin-inline:auto;display:grid;gap:.8rem}.warning-card{display:grid;gap:.5rem;padding:1rem;background:#fff7e8;border:1px solid #e4c88e;border-radius:.8rem}.warning-card h3,.warning-card p{margin:0}.professional-warning-reminder{padding:1rem;background:#fff3cd;border:1px solid #e6c65c;border-radius:.75rem;font-weight:700}
.request-delivery-intro{margin:0;padding:1rem 1.1rem;color:#123e5b;background:#eaf5fb;border:1px solid #c9e4f3;border-radius:.75rem;font-size:1rem;line-height:1.5}.request-email-preview{display:grid;gap:.65rem;margin:.25rem 0;padding:1rem;background:#f5f8fa;border:1px solid #d8e1e8;border-radius:.7rem}.request-email-preview h3,.request-email-preview p{margin:0}.request-email-preview h3{color:var(--color-primary-strong);font-size:1.05rem}.request-email-preview__message{display:grid;gap:.45rem;padding:.9rem;background:#fff;border:1px solid var(--color-border);border-radius:.6rem}.request-email-preview__meta{color:var(--color-muted);font-size:.78rem;font-weight:800;text-transform:uppercase}.request-email-preview__subject{font-size:.9rem}.request-email-preview__body{padding-top:.5rem;border-top:1px solid #e2e8ec;line-height:1.5;white-space:pre-wrap}
.request-form textarea{min-height:7rem;resize:vertical}.request-form h3{margin:.4rem 0 0;color:var(--color-primary-strong)}.request-single-choice{display:grid;grid-template-columns:1fr;gap:.5rem;padding:0;margin:0;border:0}.request-single-choice legend{padding:0;margin-bottom:.35rem;font-weight:750}.request-choice-option{display:flex!important;min-height:var(--touch-target);align-items:center;gap:.7rem;padding:.75rem;border:2px solid #9fcde4;border-radius:.65rem;background:#fff;cursor:pointer}.request-choice-option:has(input:checked){color:#fff;background:var(--color-primary);border-color:var(--color-primary)}.request-choice-option input{width:1.2rem!important;min-height:1.2rem!important;margin:0;padding:0;accent-color:var(--color-primary)}.request-choice-option:has(input:checked) input{accent-color:#fff}@media (min-width:42rem){.request-single-choice{grid-template-columns:repeat(3,1fr)}.request-single-choice legend{grid-column:1/-1}}
@media(min-width:761px){.search-criteria{grid-template-columns:1fr 1.2fr 1.4fr 1fr auto;align-items:end}.search-dates{gap:.4rem}.search-toolbar{grid-template-columns:1fr minmax(16rem,22rem);align-items:end}.search-edit [data-filter-panel]{grid-template-columns:repeat(2,minmax(0,1fr))}.search-edit [data-filter-panel]>h3{grid-column:1/-1}.search-results{grid-template-columns:repeat(2,minmax(0,1fr))}.search-card{grid-template-columns:11rem minmax(0,1fr)} }
@media(max-width:760px){.search-hero{min-height:17.8rem;padding:3rem 1.15rem 4.5rem;background-position:62% center}.search-hero + .search-criteria{margin:-2.2rem 0 0}.search-criteria{gap:.25rem;padding:.25rem}.search-criteria > .primary-button{margin:.15rem;min-height:3.6rem}}

.bottom-navigation {
    position: fixed;
    z-index: 20;
    right: 0;
    bottom: 0;
    left: 0;
    display: grid;
    grid-auto-columns: minmax(4.5rem, 1fr);
    grid-auto-flow: column;
    min-height: calc(4rem + var(--safe-bottom));
    padding: 0.25rem max(0.5rem, var(--safe-right)) var(--safe-bottom) max(0.5rem, var(--safe-left));
    background: rgba(255, 255, 255, 0.96);
    border-top: 1px solid var(--color-border);
    backdrop-filter: blur(14px);
}

.bottom-navigation__item {
    display: flex;
    min-width: var(--touch-target);
    min-height: var(--touch-target);
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 0.1rem;
    color: var(--color-muted);
    border-radius: var(--radius-small);
    font-size: 0.75rem;
    font-weight: 650;
    text-decoration: none;
}

.bottom-navigation__item.is-active {
    color: var(--color-primary);
    background: #eaf5fb;
}

.bottom-navigation__icon {
    font-size: 1.25rem;
    line-height: 1;
}

.offline-banner {
    position: fixed;
    z-index: 30;
    right: calc(0.75rem + var(--safe-right));
    bottom: calc(4.75rem + var(--safe-bottom));
    left: calc(0.75rem + var(--safe-left));
    padding: 0.8rem 1rem;
    color: #fff;
    background: var(--color-danger);
    border-radius: var(--radius-small);
    box-shadow: var(--shadow-card);
    font-size: 0.875rem;
}

[hidden] {
    display: none !important;
}

@media (min-width: 48rem) {
    .app-header {
        display:flex;
        min-height:calc(4.5rem + var(--safe-top));
        gap:1rem;
        padding-right: max(2rem,calc((100% - var(--content-max)) / 2 + 2rem));
        padding-left: max(2rem,calc((100% - var(--content-max)) / 2 + 2rem));
    }

    .app-brand{min-height:var(--touch-target)}
    .app-brand img { height:3rem;max-width:min(65vw,16rem); }

    .app-main {
        padding: 2rem;
    }

    .primary-button {
        width: auto;
        min-width: 12rem;
    }

    .bottom-navigation {
        right: 50%;
        left: auto;
        width: min(28rem, 100%);
        transform: translateX(50%);
        border: 1px solid var(--color-border);
        border-bottom: 0;
        border-radius: var(--radius-medium) var(--radius-medium) 0 0;
    }

    .configuration-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .catalog-row { grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
    .country-card__header { grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
    .settings-shell { max-width: 42rem; }
    .dynamic-panel > header { grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
    .client-form-section:not(.legal-consents):not(.client-identity) { grid-template-columns:repeat(2,minmax(0,1fr));align-items:start; }
    .client-form-section:not(.legal-consents):not(.client-identity) > label,
    .client-form-section:not(.legal-consents):not(.client-identity) > .dynamic-control { align-self:start;align-content:start; }
    .client-form-section h3,.client-form-section .row-actions,.client-form-section .client-logo { grid-column:1 / -1; }
    .client-profile-page .client-form{grid-template-columns:minmax(0,1.4fr) minmax(18rem,.8fr);align-items:start}.client-profile-page .client-identity{grid-column:1;grid-row:1;grid-template-columns:repeat(2,minmax(0,1fr))}.client-profile-page .client-identity h3{grid-column:1/-1}.client-profile-page .client-identity>p:nth-of-type(3){grid-column:1}.client-profile-page .client-identity>[data-action-button="logout"]{grid-column:2;justify-self:end;align-self:center}.client-profile-page .client-logo-section{grid-column:2;grid-row:1;min-height:100%}.client-profile-page .client-details-section,.client-profile-page>[data-client-profile]>[data-dynamic-form],.client-profile-page>[data-client-profile]>[data-form-summary],.client-profile-page>[data-client-profile]>.client-sticky-actions{grid-column:1/-1}.client-profile-page .client-details-section{grid-row:2}
    .proposal-input-row{grid-template-columns:minmax(0,1fr) minmax(12rem,1fr);align-items:end}
    .client-sticky-actions { bottom:0;margin-inline:auto;max-width:32rem; }
    .professional-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .inline-create { grid-template-columns:minmax(0,1fr) auto;align-items:end; }
    .inline-create .form-summary { grid-column:1 / -1; }
    .proposal-columns { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .media-grid,.public-gallery { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }
}

.subscription-shell{width:min(100%,var(--page-content-max));margin-inline:auto;display:grid;gap:1rem}.subscription-grid{display:grid;gap:.8rem}.subscription-card,.subscription-current,.payment-row,.subscription-editor{display:grid;gap:.6rem;padding:1rem;background:#fff;border:1px solid var(--color-border);border-radius:.8rem}.subscription-card h3,.subscription-card p,.payment-row strong,.payment-row span{margin:0}.subscription-card>strong{font-size:1.35rem;color:var(--color-primary)}.payment-row{margin:.5rem 0}.subscription-editor label{display:grid;gap:.35rem;font-weight:750}.subscription-editor input,.subscription-editor select{width:100%;min-width:0;min-height:var(--touch-target);padding:.7rem;border:1px solid #9fb3c4;border-radius:.6rem}.subscription-editor input[type=checkbox]{width:var(--touch-target);height:var(--touch-target);padding:0}.paypal-host{min-height:var(--touch-target)}
.subscription-removal{border-color:#dca0a0;background:#fffafa}.subscription-removal-copy{grid-column:1/-1}.subscription-removal-copy strong{color:var(--color-danger)}.subscription-removal-copy p{margin:.35rem 0 0;color:var(--color-muted);line-height:1.45}.subscription-removal .danger-button{border-color:#b93838;color:#9d2424}.subscription-removal .danger-button:hover,.subscription-removal .danger-button:focus-visible{color:#fff;background:#9d2424}
.payment-success{width:min(100%,38rem);min-height:calc(100dvh - 11rem);margin-inline:auto;padding:clamp(2rem,8vw,4rem) 1rem;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.payment-success__icon{width:5rem;height:5rem;display:grid;place-items:center;margin-bottom:1.25rem;color:#fff;background:var(--color-success);border-radius:50%;font-size:2.25rem;box-shadow:0 .75rem 2rem rgba(35,134,75,.22)}.payment-success .status-kicker,.payment-success h2,.payment-success p{margin-top:0}.payment-success h2{font-size:clamp(1.8rem,6vw,2.5rem)}.payment-success p{max-width:32rem;color:var(--color-muted);font-size:1.05rem;line-height:1.6}.payment-success__cta{width:min(100%,20rem);margin-top:1rem;justify-content:center}
.header-actions{grid-area:actions;display:flex;min-width:0;align-items:center;gap:.5rem}.header-user-name{grid-area:identity;min-width:0;max-width:100%;overflow-wrap:anywhere;color:#fff;font-size:.82rem;font-weight:750;line-height:1.15;text-align:left}.notification-bell{position:relative;display:grid;flex:0 0 auto;width:var(--touch-target);height:var(--touch-target);place-items:center;border-radius:50%;background:#fff;text-decoration:none;font-size:1.25rem}.notification-bell span,[data-request-badge]{display:inline-grid;min-width:1.2rem;height:1.2rem;place-items:center;padding:0 .25rem;border-radius:999px;color:#fff;background:var(--color-danger);font-size:.7rem}.notification-bell span{position:absolute;top:-.1rem;right:-.1rem}.notification-shell{width:min(100%,56rem);margin-inline:auto;display:grid;gap:.8rem}.notification-list{display:grid;gap:.65rem}.notification-card,.notification-event{display:grid;gap:.5rem;padding:1rem;border:1px solid var(--color-border);border-radius:.8rem;background:#fff}.notification-card.is-unread{border-left:.4rem solid var(--color-primary)}.notification-card h3,.notification-card p{margin:0}.notification-event fieldset{display:flex;flex-wrap:wrap;gap:.75rem;border:0;padding:0}.notification-template{display:grid;gap:.4rem;padding:.65rem;background:#f7fafb;border-radius:.6rem}.notification-template input,.notification-template textarea,.notification-smtp input,.notification-smtp select{width:100%;min-height:var(--touch-target);padding:.65rem;border:1px solid #9fb3c4;border-radius:.5rem}.notification-template textarea{min-height:6rem}
@media(min-width:48rem){.header-user-name{max-width:14rem;margin-left:auto;overflow:hidden;font-size:.88rem;text-align:right;text-overflow:ellipsis;white-space:nowrap}}
[data-read-all]{appearance:none;cursor:pointer;transition:color .16s ease,background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .1s ease}
[data-read-all]:hover:not(:disabled),[data-read-all]:focus-visible:not(:disabled){color:#fff;background:var(--color-primary);border-color:var(--color-primary);box-shadow:0 .3rem .8rem rgb(0 102 197 / 24%);transform:translateY(-1px)}
[data-read-all]:active:not(:disabled){box-shadow:0 .1rem .3rem rgb(0 102 197 / 20%);transform:translateY(1px)}
[data-read-all]:disabled{cursor:default;opacity:.58;box-shadow:none;transform:none}
.notification-event fieldset label{display:flex;min-height:var(--touch-target);align-items:center;gap:.35rem}.notification-event input[type=checkbox]{width:var(--touch-target);height:var(--touch-target)}
@media(min-width:48rem){.subscription-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.subscription-editor{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}.subscription-editor .primary-button{grid-column:1/-1}}
.impersonation-banner{position:sticky;z-index:25;top:0;display:flex;min-height:var(--touch-target);align-items:center;justify-content:center;gap:.75rem;padding:.5rem max(1rem,var(--safe-right));color:#321b00;background:#ffd36b}.impersonation-banner button{min-height:var(--touch-target);padding:.5rem .8rem;border:1px solid #6b4700;border-radius:.5rem;background:#fff;font-weight:800}.backoffice-shell{width:min(100%,var(--page-content-max));margin-inline:auto;display:grid;gap:1rem}.backoffice-filters,.backoffice-inline{display:grid;gap:.6rem}.backoffice-filters input,.backoffice-filters select,.backoffice-inline select,.danger-zone input,.backoffice-requests-template select{width:100%;min-height:var(--touch-target);padding:.65rem;border:1px solid #9fb3c4;border-radius:.6rem;background:#fff}.backoffice-links{display:flex;gap:.5rem;overflow-x:auto}.backoffice-links a{display:grid;min-height:var(--touch-target);place-items:center;padding:.5rem .8rem;border-radius:999px;background:#e8f2f0;white-space:nowrap}.backoffice-summary{display:grid;gap:.5rem;padding:1rem;background:#fff;border:1px solid var(--color-border);border-radius:.8rem}.danger-zone{padding:1rem;border:1px solid #d88686;border-radius:.8rem;background:#fff}.danger-zone summary{min-height:var(--touch-target);cursor:pointer;color:var(--color-danger);font-weight:800}.danger-zone form{display:grid;gap:.75rem}.danger-zone label{display:grid;gap:.35rem}.danger-zone input[type=checkbox]{width:var(--touch-target);height:var(--touch-target)}
@media(min-width:48rem){.backoffice-filters{grid-template-columns:2fr 1fr 1fr auto;align-items:end}.backoffice-inline{grid-template-columns:1fr auto;align-items:end}.backoffice-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
.backoffice-shell,.backoffice-shell>*{min-width:0}.backoffice-filters,.backoffice-inline,.backoffice-links{min-width:0;max-width:100%}
.backoffice-shell select{min-height:var(--touch-target);padding:.65rem;border:1px solid #9fb3c4;border-radius:.6rem;background:#fff}
.danger-zone .danger-solid{min-height:var(--touch-target);padding:.65rem 1rem}
.backoffice-type-fields{grid-column:1/-1;display:grid;gap:.65rem}
.backoffice-shell .catalog-row,.backoffice-shell .catalog-row>*{min-width:0;max-width:100%}.backoffice-shell .catalog-row strong,.backoffice-shell .catalog-row small,.backoffice-shell .catalog-row span{overflow-wrap:anywhere}

/* Admin professional approval: same visual system as the application mockups. */
.admin-professionals-page,.admin-professional-detail{display:grid;gap:1rem}
.admin-professional-tools{display:grid;gap:.65rem}
.admin-professional-tools .admin-single-filter{margin:0}
.admin-proposals-link{display:grid;grid-template-columns:2.65rem minmax(0,1fr) 1rem;align-items:center;gap:.7rem;min-height:4.5rem;padding:.75rem;color:var(--color-text);background:#fff;border:1px solid var(--color-border);border-radius:.8rem;box-shadow:0 .25rem .85rem rgb(0 0 0 / 4%);text-decoration:none}
.admin-proposals-link>span{display:grid;width:2.65rem;height:2.65rem;place-items:center;color:var(--color-primary);background:#eaf5fb;border-radius:.7rem;font-size:1.15rem}
.admin-proposals-link>strong{min-width:0;line-height:1.25;overflow-wrap:anywhere}
.admin-proposals-link>i,.admin-user-chevron{color:#8a9ba8}
.admin-proposals-link:hover,.admin-proposals-link:focus-visible,.admin-professional-card:hover,.admin-professional-card:focus-visible{border-color:#80bcda;box-shadow:0 0 0 2px #d7eef8}
.admin-professional-list{display:grid;gap:.65rem}
.admin-professional-card{display:grid;grid-template-columns:3rem minmax(0,1fr) auto 1rem;align-items:center;gap:.75rem;min-width:0;padding:.85rem;color:var(--color-text);background:#fff;border:1px solid var(--color-border);border-radius:.8rem;box-shadow:0 .25rem .85rem rgb(0 0 0 / 4%);text-decoration:none}
.admin-professional-card .admin-user-copy{min-width:0}
.admin-professional-card .admin-user-copy strong,.admin-professional-card .admin-user-copy small{display:block;overflow-wrap:anywhere}
.admin-professional-card .admin-user-copy small{margin-top:.15rem;color:var(--color-muted);font-size:.78rem}
.admin-professional-status{justify-self:end;padding:.35rem .58rem;color:#24703f;background:#edf8f1;border-radius:999px;font-size:.7rem;font-weight:850;white-space:nowrap}
.admin-professional-status.is-pending{color:#805600;background:#fff2d5}
.admin-professional-status.is-not_approved{color:#9b3030;background:#fdecec}
.admin-professional-detail .section-heading>a{display:inline-flex;align-items:center;gap:.4rem;color:var(--color-primary);font-weight:800;text-decoration:none}
.admin-professional-detail .admin-detail-card{margin:0}
.admin-primary-actions{gap:.55rem}

@media(max-width:30rem){
    .admin-professional-card{grid-template-columns:2.7rem minmax(0,1fr) 1rem;gap:.6rem}
    .admin-professional-card .admin-user-avatar{width:2.7rem;height:2.7rem}
    .admin-professional-status{grid-column:2;justify-self:start}
    .admin-professional-card .admin-user-chevron{grid-column:3;grid-row:1 / 3}
}

@media(min-width:48rem){
    .admin-professional-tools{grid-template-columns:minmax(0,1fr) minmax(0,1.35fr)}
    .admin-professional-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Professional UI: visual language of the approved HTML mockups. */
.notification-bell{color:#fff;background:rgb(255 255 255 / 12%)}
.notification-bell svg,.bottom-navigation__icon svg{width:1.35rem;height:1.35rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.notification-bell > i,.bottom-navigation__icon > i{font-size:1.28rem;line-height:1}
.configuration-card > span > i,.catalog-row__icon > i,.professional-round-icon > i{line-height:1}
.professional-dashboard,.professional-requests-page,.professional-wizard-shell{width:min(100%,var(--page-content-max));margin-inline:auto}
.professional-welcome,.professional-intro,.professional-page-title{margin-bottom:1rem}
.professional-welcome h2,.professional-intro h2,.professional-page-title h2{margin:0 0 .3rem;font-size:clamp(1.55rem,5vw,1.9rem);line-height:1.15}
.professional-welcome p,.professional-intro p,.professional-page-title p{margin:.2rem 0;color:var(--color-muted);line-height:1.45}
.professional-approval-copy{padding:.7rem .85rem;border-left:.25rem solid var(--color-primary);border-radius:.35rem;background:#eaf5fb;font-size:.88rem}
.professional-home-sections{display:grid;gap:1rem}
.professional-accordion,.professional-profile-panel{overflow:hidden;background:#fff;border:1px solid var(--color-border);border-radius:.8rem;box-shadow:0 .3rem 1.1rem rgb(0 0 0 / 5%)}
.professional-accordion__trigger{display:flex;width:100%;min-height:4.25rem;align-items:center;justify-content:space-between;gap:.75rem;padding:.9rem 1rem;color:var(--color-text);background:#fff;border:0;text-align:left;cursor:pointer}
.professional-accordion__lead{display:flex;min-width:0;align-items:center;gap:.7rem}
.professional-accordion__lead strong{font-size:clamp(1rem,4vw,1.18rem);line-height:1.25;overflow-wrap:anywhere}
.professional-round-icon{display:grid;width:2.15rem;height:2.15rem;flex:0 0 2.15rem;place-items:center;color:var(--color-primary);background:#eaf5fb;border-radius:50%;font-weight:900}
.professional-chevron{color:var(--color-muted);font-size:1.4rem;transition:transform .2s ease}
.professional-accordion__trigger[aria-expanded=true] .professional-chevron{transform:rotate(180deg)}
.professional-accordion__panel{padding:0 1rem 1rem;border-top:1px solid #edf1f4}
.professional-accordion__intro{margin:.8rem 0;color:var(--color-muted);font-size:.88rem}
.professional-request-card,.professional-request-list-card{min-width:0;margin-bottom:.65rem;padding:.8rem;background:#fff;border:1px solid var(--color-border);border-radius:.65rem}
.professional-request-card__top{display:flex;align-items:flex-start;justify-content:space-between;gap:.6rem}
.professional-request-role{color:var(--color-primary);font-size:.7rem;font-weight:900;text-transform:uppercase}
.professional-request-badge,.professional-list-status{padding:.35rem .55rem;color:#174e73;background:#eaf5fb;border-radius:999px;font-size:.7rem;font-weight:850;white-space:nowrap}
.professional-request-card h3,.professional-request-list-card h3{margin:.45rem 0 .2rem;font-size:1.08rem}
.professional-request-card p,.professional-request-list-card p{margin:.15rem 0;color:var(--color-muted);font-size:.82rem;line-height:1.4;overflow-wrap:anywhere}
.professional-request-client{color:var(--color-text)!important;font-weight:750}
.professional-open-request{width:100%;min-height:2.65rem;margin-top:.65rem;color:var(--color-primary);background:#fff;border:1px solid var(--color-primary);border-radius:.45rem;font-weight:850;text-align:center;text-decoration:none}
.professional-more-button{width:100%;min-height:2.85rem;margin-top:.4rem;color:#fff;background:var(--color-primary);border-radius:.5rem;font-weight:850;text-align:center}
.professional-calendar-heading h3{margin:.85rem 0 .1rem}
.professional-calendar-heading p{margin:0 0 .5rem;color:var(--color-muted);font-size:.85rem}
.professional-calendar-legend{display:flex;flex-wrap:wrap;gap:.8rem;margin:.75rem 0;color:var(--color-muted);font-size:.75rem}
.professional-calendar-legend span{display:flex;align-items:center;gap:.35rem}
.professional-calendar-legend i{display:block;width:.7rem;height:.7rem;border:1px solid var(--color-border);border-radius:.18rem}.professional-calendar-legend .is-free{background:#d8f2df}.professional-calendar-legend .is-busy{background:#fdecec}
.professional-calendar-note{padding:.7rem .75rem;color:#315b70;background:#eaf5fb;border-radius:.5rem;font-size:.82rem;line-height:1.4}
.professional-profile-panel{padding:1rem}
.professional-profile-panel>header h3{margin:0 0 .2rem;font-size:1.3rem}.professional-profile-panel>header p{margin:0 0 .85rem;color:var(--color-muted);font-size:.86rem}
.professional-home-cards{display:grid;grid-template-columns:1fr;gap:.65rem;margin:.5rem 0}
.professional-home-profile{display:flex;min-width:0;align-items:center;gap:.8rem;padding:.8rem;border:1px solid var(--color-border);border-radius:.65rem}
.professional-profile-icon{display:grid;width:3.85rem;height:3.85rem;flex:0 0 3.85rem;place-items:center;color:#1b607e;background:#dceef7;border-radius:50%;font-size:1.35rem}
.professional-profile-info{min-width:0;flex:1}.professional-profile-info>strong{display:block;overflow-wrap:anywhere}.professional-profile-status{display:block;margin-top:.3rem;color:var(--color-danger);font-size:.82rem;font-weight:800;line-height:1.45}.professional-profile-status.is-active{color:var(--color-success)}
.professional-profile-actions{display:grid;grid-template-columns:1fr 1fr;gap:.45rem;margin-top:.65rem}.professional-profile-actions .primary-button,.professional-profile-actions .secondary-button{width:100%;min-width:0;min-height:2.6rem;padding:.55rem .7rem;border-radius:.45rem}
.professional-add-profile{width:100%;min-height:2.85rem;margin-top:.65rem;color:#1d6a91;background:#f8fcfe;border:1px dashed #8eb7cc;border-radius:.55rem;font-weight:850;text-align:center}

/* Professional onboarding and account registration. */
.professional-wizard-shell{padding-bottom:1rem}
.wizard-progress{display:grid;grid-template-columns:repeat(7,1fr);gap:.35rem;margin:1.25rem 0 1rem}.wizard-progress span{height:.38rem;background:#dbe4ea;border-radius:999px}.wizard-progress span.is-active{background:var(--color-primary)}
.professional-wizard{position:relative;overflow:hidden;background:#fff;border:1px solid var(--color-border);border-radius:.9rem;box-shadow:0 .5rem 1.5rem rgb(0 0 0 / 6%)}
.professional-account-card{margin-top:1rem}.wizard-step{padding:1rem}.wizard-step__header{margin-bottom:1rem}.wizard-step__header small{display:block;margin-bottom:.3rem;color:var(--color-primary);font-size:.72rem;font-weight:850;text-transform:uppercase}.wizard-step__header h3{margin:0 0 .25rem;font-size:1.35rem}.wizard-step__header p{margin:0;color:var(--color-muted);font-size:.9rem}
.wizard-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:.45rem;padding:.35rem;background:var(--color-accent);border-radius:.65rem}.wizard-choice{position:relative;display:flex;min-width:0;min-height:4.75rem;align-items:center;justify-content:center;gap:.5rem;padding:.65rem;color:var(--color-text);background:#fff;border:2px solid transparent;border-radius:.5rem;font-weight:850;cursor:pointer;transition:color .16s ease,background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}.wizard-choice:hover{background:#f1f8fc;border-color:#70b6d9}.wizard-choice:focus-visible{outline:3px solid #8dc9e7;outline-offset:2px}.wizard-choice.is-selected{color:#fff;background:var(--color-primary);border-color:#004b91;box-shadow:0 .35rem .85rem rgb(0 79 157 / 28%),inset 0 0 0 1px rgb(255 255 255 / 24%);transform:translateY(-1px)}.wizard-choice.is-selected::after{content:"✓";position:absolute;top:.45rem;right:.55rem;display:grid;width:1.5rem;height:1.5rem;place-items:center;color:var(--color-primary);background:#fff;border-radius:50%;font-size:.85rem;font-weight:950;line-height:1}.wizard-choice.is-selected:hover,.wizard-choice.is-selected:focus-visible{color:#fff;background:#005bac;border-color:#003f7c}.wizard-role-choice{min-height:6.25rem;flex-direction:column}.wizard-role-icon{color:var(--color-primary);font-size:1.55rem}.wizard-choice.is-selected .wizard-role-icon{color:#fff}.wizard-fields{display:grid;gap:.85rem}.wizard-field{display:grid;gap:.35rem;min-width:0}.wizard-field>span,.wizard-dynamic legend{color:var(--color-muted);font-size:.72rem;font-weight:850;text-transform:uppercase}.wizard-field input,.wizard-field select{width:100%;min-width:0;min-height:var(--touch-target);padding:.65rem .75rem;background:#fff;border:1px solid #b8c5cf;border-radius:.5rem}.wizard-existing-profile{margin-top:1rem}.wizard-dynamic{display:grid;gap:.75rem}.wizard-dynamic .client-form-section{padding:0;border:0;border-radius:0;box-shadow:none}.wizard-dynamic .client-form-section h3{grid-column:1/-1}.wizard-consents{display:grid;gap:.55rem;margin-top:1rem}.wizard-consents label{display:grid;grid-template-columns:2rem minmax(0,1fr);align-items:start;gap:.4rem;min-height:var(--touch-target)}.wizard-consents input{width:1.4rem;height:1.4rem;accent-color:var(--color-primary)}
.wizard-actions{display:flex;justify-content:space-between;gap:.6rem;margin-top:1.35rem;padding-top:1rem;border-top:1px solid #edf1f4}.wizard-actions .primary-button,.wizard-actions .secondary-button{width:auto;min-width:7.5rem;margin-left:auto;border-radius:.5rem}.wizard-actions .secondary-button+.primary-button{margin-left:0}.wizard-global-error{margin:1rem 1rem 0}.wizard-review{display:grid;gap:.75rem;padding:1rem;background:#eaf5fb;border-radius:.65rem}.wizard-review span{display:block;color:var(--color-muted);font-size:.7rem;font-weight:850;text-transform:uppercase}.wizard-review strong{font-size:.95rem}.wizard-activation-note{padding:.8rem .9rem;color:#215f39;background:#f2fbf5;border-left:.25rem solid var(--color-success);border-radius:.45rem;line-height:1.45;font-size:.88rem}

/* Professional request list and detail. */
.professional-requests-page{display:grid;gap:.75rem}.professional-tabs-wrap{position:sticky;z-index:8;top:0;padding-bottom:.65rem;background:var(--color-background)}.professional-request-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:.25rem;padding:.25rem;background:#fff;border:1px solid var(--color-border);border-radius:.65rem;box-shadow:0 .2rem .75rem rgb(0 0 0 / 4%)}.professional-request-tabs button{min-width:0;min-height:2.9rem;padding:.35rem;color:#586875;background:transparent;border:0;border-radius:.45rem;font-size:.78rem;font-weight:850;cursor:pointer}.professional-request-tabs button.is-active{color:#fff;background:var(--color-primary)}.professional-tab-count{display:inline-grid;min-width:1.35rem;height:1.35rem;place-items:center;margin-left:.2rem;padding:0 .3rem;color:#174e73;background:#eaf5fb;border-radius:999px;font-size:.68rem}.professional-request-tabs button.is-active .professional-tab-count{color:#fff;background:rgb(255 255 255 / 22%)}
.professional-panel-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin:.2rem 0 .75rem;color:var(--color-muted);font-size:.8rem}.professional-panel-intro strong{white-space:nowrap}.professional-request-list-card{padding:.85rem;border-radius:.75rem;box-shadow:0 .25rem 1rem rgb(0 0 0 / 4%)}.professional-request-meta{font-size:.82rem}.professional-list-status.open{color:#237344;background:#edf8f1}.professional-list-status.closed{color:#69747c;background:#eceff2}.professional-answer-state{padding:.65rem .75rem!important;background:#f3f5f7;border-radius:.5rem;font-size:.75rem!important;font-weight:800}.professional-answer-state.is-positive{color:#2c6f43!important;background:#f2faf5}
.professional-request-list-card.is-selected{border-color:#80bcda;box-shadow:0 0 0 3px #80bcda,0 .25rem 1rem rgb(0 0 0 / 8%)}
.professional-request-list-card.is-completed,.client-request-list-card.is-completed{color:#66727a;background:#e9edef;opacity:.82}
.professional-request-list-card.is-completed .professional-open-request:disabled,.client-request-list-card.is-completed .client-open-request:disabled{color:#69747c;background:#d9dee2;border-color:#b8c0c6;cursor:not-allowed;opacity:1}
.professional-request-detail{position:fixed;z-index:60;inset:0;overflow:auto;color:#fff;background:#003b95}.professional-request-detail__header{position:sticky;z-index:2;top:0;display:flex;max-width:var(--page-content-max);height:4.5rem;align-items:center;justify-content:flex-start;margin:auto;padding:.6rem 1rem;background:#003b95}.professional-request-close{display:grid;width:2.8rem;height:2.8rem;place-items:center;color:#fff;border:1px solid rgb(255 255 255 / 55%);border-radius:50%;font-size:1.55rem;text-decoration:none}.professional-request-detail__body{width:min(100%,45rem);margin:auto;padding:.8rem 1rem 2.5rem}.professional-request-detail__title>span{color:#b9d8ee;font-size:.7rem;font-weight:900;text-transform:uppercase}.professional-request-detail__title h2{margin:.3rem 0 .1rem;font-size:1.5rem}.professional-request-detail__title p{margin:0 0 .9rem;color:#d9e8f5}.professional-request-summary{padding:.35rem;background:var(--color-accent);border-radius:.7rem}.professional-request-summary__box,.professional-request-message{padding:.85rem;color:var(--color-text);background:#fff;border-radius:.5rem}.professional-request-client-head{padding-bottom:.7rem;margin-bottom:.7rem;border-bottom:1px solid #dfe6eb}.professional-request-client-head span,.professional-request-summary__grid span,.professional-request-message>span{display:block;margin-bottom:.2rem;color:#65727d;font-size:.65rem;font-weight:900;text-transform:uppercase}.professional-request-client-head strong{font-size:1.05rem}.professional-request-summary__grid{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.professional-request-summary__grid strong{font-size:.82rem}.professional-request-message{margin-top:.35rem}.professional-request-message p{margin:.25rem 0;line-height:1.4}.professional-response-box,.professional-readonly-response{margin-top:.8rem;padding:1rem;color:var(--color-text);background:#fff;border-radius:.7rem}.professional-response-box h3{margin:0 0 .2rem}.professional-response-help{margin:0 0 .75rem;color:var(--color-muted);font-size:.8rem}.professional-response-button{display:flex;width:100%;min-height:3.8rem;align-items:center;gap:.7rem;margin-top:.55rem;padding:.7rem .8rem;border-radius:.5rem;text-align:left;font:inherit;font-weight:800;cursor:pointer}.professional-response-button.is-positive{color:#fff;background:#23864b;border:0}.professional-response-button.is-negative{color:#9c3131;background:#fff;border:2px solid #b54747}.professional-response-button.is-unavailable{color:#fff;background:#b54747;border:0}.professional-response-button strong,.professional-response-button small{display:block}.professional-response-button small{margin-top:.1rem;font-weight:400;opacity:.9}.professional-response-icon{width:1.6rem;flex:0 0 1.6rem;text-align:center;font-size:1.2rem}.professional-optional-message{padding:.7rem;margin-top:.5rem;background:#f2faf5;border:1px solid #b8dac4;border-radius:.5rem}.professional-optional-message textarea{width:100%;min-height:6rem;padding:.6rem;border:1px solid #bcc8d0;border-radius:.45rem;font:inherit}.professional-confirm-response{width:100%;min-height:2.9rem;margin-top:.5rem;color:#fff;background:var(--color-primary);border:0;border-radius:.45rem;font-weight:850}.professional-readonly-response strong,.professional-readonly-response span{display:block}.professional-readonly-response p{color:var(--color-muted)}
body.has-professional-request-overlay{overflow:hidden}

#professional-navigation{grid-template-columns:repeat(4,1fr);grid-auto-flow:unset;grid-auto-columns:unset;padding-top:2px;padding-bottom:calc(2px + var(--safe-bottom))}
.professional-readonly-feedback{cursor:default;flex-wrap:wrap}.professional-readonly-feedback>span:nth-child(2){min-width:0;flex:1}.professional-readonly-message{width:100%;margin:.65rem 0 0;padding:.65rem 0 0;border-top:1px solid currentColor;line-height:1.45;font-weight:500;opacity:.9}
#professional-navigation .bottom-navigation__item.is-active{color:var(--color-primary);background:#eaf5fb}
@media(min-width:48rem){#professional-navigation{right:50%;left:auto;width:min(calc(100% - 4rem),var(--page-content-max));transform:translateX(50%);border-right:0;border-left:0;border-radius:0;box-shadow:0 -.2rem .75rem rgb(0 0 0 / 8%)}#professional-navigation .bottom-navigation__item{border-right:1px solid var(--color-border)}#professional-navigation .bottom-navigation__item:last-child{border-right:0}.professional-home-cards{grid-template-columns:1fr}.wizard-step{padding:1.4rem}.wizard-fields{grid-template-columns:1fr 1fr}.wizard-field--full{grid-column:1/-1}.wizard-review{grid-template-columns:1fr 1fr}.professional-request-list-card{padding:.9rem}}
@media(max-width:47.99rem){.professional-dashboard,.professional-requests-page,.professional-wizard-shell{max-width:100%}.professional-profile-icon{width:3.4rem;height:3.4rem;flex-basis:3.4rem}.professional-request-summary__grid{gap:.6rem}.wizard-actions .primary-button,.wizard-actions .secondary-button{min-width:0;flex:1}.professional-page-title h2{font-size:1.55rem}}
@media(max-width:22rem){.wizard-choice-grid{grid-template-columns:1fr}.professional-profile-actions{grid-template-columns:1fr}.professional-panel-intro{display:block}.professional-panel-intro strong{display:block;margin-top:.25rem}}
/* Cliente — allineamento ai mockup visuali approvati. */
#client-navigation .bottom-navigation__item{background:#fff}
#client-navigation .bottom-navigation__item:hover,#client-navigation .bottom-navigation__item:focus-visible{color:var(--color-primary);background:#f4f9fc}
#client-navigation .bottom-navigation__item.is-active,#client-navigation .bottom-navigation__item.is-active:hover,#client-navigation .bottom-navigation__item.is-active:focus-visible{color:var(--color-primary);background:#eaf5fb}
.client-search-page{width:calc(100% + 2rem);margin:-1rem -1rem 0}
.client-search-page .search-hero{min-height:24rem;border-radius:0;padding:4.1rem 1.35rem 6.25rem;background-position:center 53%;box-shadow:none}
.client-search-page .search-hero h2{max-width:43rem;margin:0 0 .8rem;color:#fff;font-size:clamp(1.9rem,7vw,2.7rem);line-height:1.08}
.client-search-page .search-hero p{max-width:41rem;margin:0;color:#fff;font-size:1.05rem;line-height:1.35}
.client-role-picker{position:relative;z-index:3;margin:-2.7rem .75rem 0;padding:.25rem;background:var(--color-accent);border-radius:.65rem;box-shadow:0 .5rem 1.75rem rgb(0 35 65 / 16%)}
.client-role-picker>p{margin:0;padding:.65rem .8rem;color:var(--color-primary-strong);background:#fff;border-radius:.45rem .45rem 0 0;font-weight:850}
.client-role-picker>[data-role-choices]{display:grid;grid-template-columns:1fr 1fr;gap:.25rem;margin-top:.25rem}
.client-role-choice{display:flex;min-height:5.2rem;align-items:center;justify-content:center;gap:.5rem;padding:.65rem;color:var(--color-text);background:#fff;border:0;border-radius:.45rem;font:inherit;font-weight:850;cursor:pointer}
.client-role-choice:hover,.client-role-choice:focus-visible{color:var(--color-primary);background:#eef7fc}
.client-role-icon{display:grid;width:1.5rem;height:1.5rem;place-items:center;color:var(--color-primary)}.client-role-icon svg{width:1.5rem;height:1.5rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.client-role-icon > i{font-size:1.35rem;line-height:1}
.client-search-page>.search-criteria{position:relative;z-index:4;gap:.25rem;margin:-2.7rem .75rem 0;padding:.25rem;box-shadow:0 .5rem 1.75rem rgb(0 35 65 / 16%)}
.client-search-page.has-results{--search-results-form-offset:2.75rem;--search-results-top-band:calc(var(--search-results-form-offset) + 2.7rem);position:relative;padding-top:var(--search-results-form-offset);background:var(--color-background)}.client-search-page.has-results::before{content:"";position:absolute;z-index:0;top:0;left:50%;width:100vw;height:var(--search-results-top-band);background:#003b95;transform:translateX(-50%);pointer-events:none}.client-search-page.has-results .search-hero{display:none}.client-search-page.has-results>.search-criteria{position:relative;z-index:3;margin-top:0;box-shadow:0 .5rem 1.75rem rgb(0 35 65 / 16%)}
.client-search-page>.search-criteria>label>span{color:#52606d;font-size:.7rem;text-transform:uppercase}
.client-home-overview{padding:2.35rem 1rem 6rem}
.client-subscription-summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:2rem;padding:.85rem 1rem;background:#eaf5fb;border:1px solid #c9e4f3;border-radius:.65rem}
.client-subscription-summary div{display:grid}.client-subscription-summary strong{color:var(--color-primary-strong)}.client-subscription-summary span{color:var(--color-text)}
.client-home-overview>header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.client-home-overview>header h2{font-size:1.55rem}.client-home-overview>header a{display:flex;min-height:var(--touch-target);align-items:center;color:var(--color-primary);font-weight:800;text-decoration:none}
.client-home-requests{display:grid;gap:1rem}.client-home-request-card{display:grid;gap:.5rem;padding:1rem;background:#fff;border:1px solid var(--color-border);border-radius:.75rem;box-shadow:0 .2rem .75rem rgb(0 0 0 / 5%)}
.client-home-request-top,.client-request-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.client-home-request-labels{display:flex;align-items:flex-end;flex-direction:column;gap:.3rem}.client-request-role{color:var(--color-primary);font-size:.72rem;font-weight:900;text-transform:uppercase}.client-request-date-badge{padding:.28rem .55rem;color:#174f68;background:#eaf5fb;border-radius:999px;font-size:.7rem;font-weight:800;white-space:nowrap}.client-request-badge{padding:.28rem .55rem;color:#20743a;background:#e7f4ea;border-radius:999px;font-size:.7rem;font-weight:800;white-space:nowrap}.client-home-request-card h3{margin:0;font-size:1.15rem}.client-request-meta{margin:0;color:var(--color-muted);font-size:.85rem}.client-home-request-card .button-link{width:max-content;margin-top:.2rem}
.client-results{padding:1.15rem 1rem 6rem}.client-results-heading h2{margin:0;font-size:clamp(1.4rem,5vw,1.6rem)}.client-results-heading p{margin:.2rem 0 1rem;color:var(--color-muted);font-size:.9rem}
.client-results-layout{display:grid;gap:1.1rem}.client-results-main{min-width:0}.client-results .search-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem;margin-bottom:.75rem}.client-results .search-toolbar label{width:100%;min-width:0;flex:0 0 100%}.client-results .search-toolbar select{min-height:2.75rem;border-color:#9eafbd;border-radius:.4rem;font-weight:700}.client-results .search-select-all{color:#fff;background:#0066c5;border-color:#0066c5;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}.client-results .search-select-all:hover,.client-results .search-select-all:focus-visible{color:#fff;background:#004f9d;border-color:#004f9d;box-shadow:0 .3rem .75rem rgb(0 79 157 / 24%);transform:translateY(-1px)}
.client-results .search-edit{order:-1;margin:0;background:#fff;border-radius:.6rem;overflow:hidden}.client-results .search-edit summary{color:var(--color-text);font-size:1.05rem}.client-results .search-edit [data-filter-panel]{display:grid;grid-template-columns:1fr;gap:.35rem;padding:.55rem .9rem .9rem;border-top:0}.client-results .search-filter{gap:.2rem;border:0;border-radius:0;padding:.55rem 0}.client-results .search-filter legend{padding:0;font-size:.88rem}.client-results .search-filter label{font-size:.82rem}.client-results .search-filter .choice-control{grid-template-columns:1.5rem minmax(0,1fr)!important;align-items:center;gap:.3rem;min-height:var(--touch-target);padding:0}.client-results .search-filter input[type=checkbox]{width:1.1rem;height:1.1rem;min-height:0;margin:0;padding:0}
.client-results .search-results{display:grid;grid-template-columns:1fr;gap:.85rem}
.client-results .search-card,.favorites-shell .search-card{display:grid;grid-template-columns:11.9rem minmax(0,1fr);gap:0;overflow:hidden;background:#fff;border:1px solid #d8e2e8;border-radius:1.1rem;box-shadow:0 .45rem 1.4rem rgb(17 65 91 / 8%)}
.search-card__media{display:grid;align-content:start;gap:.65rem;padding:.85rem;background:#fff}.search-card__visual{position:relative;height:12.8rem;min-height:12.8rem;overflow:hidden;background:linear-gradient(#dff3fb 55%,#1685ad 55%);border-radius:.75rem}.search-card__visual::after{content:"";position:absolute;inset:auto 0 0;height:42%;background:linear-gradient(transparent,rgb(0 0 0 / 12%));pointer-events:none}.client-results .search-card__visual img,.favorites-shell .search-card__visual img{width:100%;height:100%;min-height:12.8rem;aspect-ratio:auto;object-fit:cover;border-radius:0}.search-card__placeholder{display:grid;height:100%;place-items:center;color:#174f68;font-size:4rem}.search-favorite{position:absolute;z-index:2;top:.6rem;right:.6rem;display:grid;width:2.65rem;height:2.65rem;place-items:center;color:#d92e55;background:#fff;border:0;border-radius:50%;box-shadow:0 .3rem .85rem rgb(0 0 0 / 15%);font-size:1.15rem}
.search-card__body{display:grid;align-content:start;gap:.85rem;min-width:0;padding:1.1rem 1.25rem}.search-card__heading{display:flex;align-items:start;justify-content:space-between;gap:1rem}.client-results .search-card h3,.favorites-shell .search-card h3{margin:0;color:#0066c5;font-size:1.35rem;line-height:1.12}.search-card__role{display:block;margin-top:.25rem;color:var(--color-muted);font-size:.75rem;font-weight:800;letter-spacing:.035em;text-transform:uppercase}.search-profile-link{display:inline-flex;min-height:var(--touch-target);flex:0 0 auto;align-items:center;gap:.4rem;padding:.45rem .8rem;color:#0066c5;background:#fff;border-color:#0066c5;border-radius:.75rem;cursor:pointer;white-space:nowrap;transition:color .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease}.search-profile-link:hover,.search-profile-link:focus-visible{color:#fff;background:#0066c5;border-color:#0066c5;box-shadow:0 .3rem .75rem rgb(0 79 157 / 20%)}.search-profile-link:hover i,.search-profile-link:focus-visible i{color:#fff}.search-card__highlight{display:inline-flex;width:max-content;max-width:100%;align-items:center;gap:.35rem;margin:0;padding:.35rem .6rem;color:#16723f;background:#eaf8ef;border-radius:999px;font-size:.76rem;font-weight:800}.search-card__summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.search-card__summary>div{min-width:0;padding:.6rem .7rem;background:#f4f8fa;border-radius:.7rem}.search-card__summary span{display:block;color:var(--color-muted);font-size:.65rem;font-weight:850;letter-spacing:.035em;text-transform:uppercase}.search-card__summary strong{display:block;margin-top:.18rem;font-size:.84rem;overflow-wrap:anywhere}.search-card__details{display:grid;gap:.35rem}.search-card__field{margin:0;color:#344b5a;font-size:.8rem;line-height:1.4}.search-card__vessels,.search-card__tags{display:flex;flex-wrap:wrap;gap:.4rem}.search-card__vessels span{padding:.35rem .55rem;color:#234b66;background:#eaf5fb;border-radius:.55rem;font-size:.74rem;font-weight:750}.search-card__tag{padding:.3rem .55rem;color:#355467;background:#fff;border:1px solid #d8e2e8;border-radius:999px;font-size:.72rem}.search-card__description{margin:0;font-size:.8rem;line-height:1.42}.search-card__footer{display:flex;justify-content:flex-end;padding-top:.1rem}.search-card__footer .primary-button{width:auto;min-height:var(--touch-target);padding:.65rem 1rem;border-radius:.75rem}.search-card__footer.is-selected .primary-button{color:#44515a;background:#dce2e6;border-color:#dce2e6}.search-favorite-toggle{width:100%;min-height:var(--touch-target);color:#0066c5;background:#fff;border-color:#0066c5;border-radius:.75rem;cursor:pointer}.search-favorite-toggle:hover,.search-favorite-toggle:focus-visible{color:#fff;background:#0066c5;border-color:#0066c5}.client-results .selection-bar{z-index:25}
.client-results .selection-bar{right:0;bottom:calc(4rem + var(--safe-bottom));left:0;border-right:0;border-left:0;border-radius:0}
.client-request-heading{margin-bottom:.1rem}.client-request-heading h2{margin:0 0 .3rem;font-size:clamp(1.7rem,6vw,2rem)}.client-request-heading p{margin:0;color:var(--color-muted);font-size:.9rem;line-height:1.4}
.client-requests-page{max-width:var(--page-content-max);padding-bottom:5.5rem;gap:.75rem}.client-request-tabs{position:sticky;z-index:8;top:0;gap:.25rem;padding:.25rem;background:#fff;border:1px solid var(--color-border);border-radius:.65rem;box-shadow:0 .15rem .55rem rgb(0 0 0 / 4%)}.client-request-tabs button{min-height:2.9rem;border:0;border-radius:.45rem;font-weight:800}.client-tab-count{display:inline-grid;min-width:1.45rem;height:1.45rem;place-items:center;margin-left:.25rem;color:var(--color-primary);background:#eaf5fb;border-radius:999px;font-size:.75rem}.client-request-tabs button.is-active .client-tab-count{color:#fff;background:rgb(255 255 255 / 22%)}
.client-request-list-info{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:.1rem 0 .15rem;color:var(--color-muted);font-size:.8rem}.client-request-list-card{display:grid;gap:.55rem;margin-bottom:.15rem;padding:.95rem;background:#fff;border:1px solid var(--color-border);border-radius:.75rem;box-shadow:0 .25rem 1rem rgb(0 0 0 / 4%)}.client-request-list-card.has-updates{border:2px solid var(--color-primary)}.client-request-list-card h3{margin:.1rem 0 0;font-size:1.2rem}.client-request-state,.client-request-badge{border-radius:999px;padding:.35rem .55rem;font-size:.7rem;font-weight:850;white-space:nowrap}.client-request-state{color:#174e73;background:#eaf5fb}.client-request-state.history,.client-request-state.is-expired{color:#69747c;background:#eceff2}.client-request-period{margin:0;color:var(--color-muted);font-size:.86rem}.client-request-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin:.25rem 0}.client-request-stats div{display:grid;gap:.1rem;padding:.6rem;background:#f6f8fa;border-radius:.45rem}.client-request-stats span{color:var(--color-muted);font-size:.65rem;font-weight:850;text-transform:uppercase}.client-open-request{width:100%;margin-top:.25rem}.client-closed-reason{margin:.15rem 0 0;padding:.65rem .75rem;color:#66727a;background:#f1f3f5;border-radius:.5rem;font-size:.75rem;font-weight:800}.client-response-preview{display:grid;gap:.1rem;margin-top:.25rem;padding-top:.65rem;border-top:1px solid #e2e8ec}.client-response-preview__head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.15rem}.client-response-preview__head>strong{font-size:.86rem}.client-response-preview__badge{padding:.25rem .45rem;color:#005da8;background:#eaf5fb;border-radius:999px;font-size:.66rem;font-weight:900}.client-response-preview__row{display:grid;grid-template-columns:2.55rem minmax(0,1fr) auto;align-items:center;gap:.55rem;padding:.5rem 0;border-top:1px solid #edf1f4}.client-response-preview__icon{display:grid;width:2.4rem;height:2.4rem;place-items:center;color:#31627e;background:#d8e9f4;border-radius:.55rem}.client-response-preview__row strong,.client-response-preview__row small{display:block}.client-response-preview__row strong{font-size:.82rem}.client-response-preview__row small{margin-top:.1rem;color:var(--color-muted);font-size:.7rem}.client-response-preview__state{padding:.3rem .45rem;color:#237344;background:#edf8f1;border-radius:999px;font-size:.68rem;font-weight:850}
.client-request-list-card.is-selected{border-color:#80bcda;box-shadow:0 0 0 3px #80bcda,0 .25rem 1rem rgb(0 0 0 / 8%)}
.client-request-detail{position:fixed;z-index:60;inset:0;width:100%;max-width:none;overflow:auto;padding:0 max(1rem,var(--safe-right)) calc(2rem + var(--safe-bottom)) max(1rem,var(--safe-left));color:#fff;background:#003b95}.client-request-detail>*{width:min(100%,var(--page-content-max));margin-right:auto;margin-left:auto}.client-request-detail__header{position:sticky;z-index:2;top:0;display:flex;width:min(100%,var(--page-content-max));min-height:4.5rem;align-items:center;justify-content:flex-start;gap:1rem;padding:calc(.5rem + var(--safe-top)) 0 .5rem;background:#003b95}.client-request-detail__close{display:grid;width:2.8rem;height:2.8rem;flex:0 0 2.8rem;place-items:center;color:#fff;background:transparent;border:1px solid rgb(255 255 255 / 55%);border-radius:50%;font-size:1.55rem;text-decoration:none}.client-request-detail__title-top{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.client-request-detail__title-top>span:first-child{color:#b9d8ee;font-size:.7rem;font-weight:900;text-transform:uppercase}.client-request-detail__title h2{margin:.3rem 0 .15rem;font-size:1.55rem}.client-request-detail__title p{margin:0 0 .85rem;color:#d9e8f5}.client-request-summary{padding:.35rem;background:#80bcda;border-radius:.7rem}.client-request-summary__box,.client-request-summary__message{padding:.85rem;color:var(--color-text);background:#fff;border-radius:.5rem}.client-request-summary__client{padding-bottom:.7rem;margin-bottom:.7rem;border-bottom:1px solid #dfe6eb}.client-request-summary__client span,.client-request-summary__grid span,.client-request-summary__message>span{display:block;margin-bottom:.2rem;color:#65727d;font-size:.65rem;font-weight:900;text-transform:uppercase}.client-request-summary__client strong{font-size:1.05rem}.client-request-summary__grid{display:grid;grid-template-columns:1fr 1fr;gap:.65rem 1rem}.client-request-summary__grid strong{font-size:.82rem}.client-request-summary__message{margin-top:.35rem}.client-request-summary__message p{margin:.25rem 0;line-height:1.4}.client-recipient-box{margin-top:.8rem;padding:.9rem;color:var(--color-text);background:#fff;border-radius:.7rem}.client-recipient-box h3{margin:0 0 .2rem}.client-recipient-box>p{margin:0 0 .7rem;color:var(--color-muted);font-size:.8rem}.client-recipient-card{margin-top:.5rem;padding:.75rem;border:1px solid #dbe3e8;border-radius:.6rem}.client-recipient-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.client-recipient-name{font-size:.88rem}.client-recipient-status{padding:.3rem .45rem;color:#69747c;background:#eef3f6;border-radius:999px;font-size:.7rem;font-weight:850;white-space:nowrap}.client-recipient-status.is-interested{color:#237344;background:#edf8f1}.client-recipient-status.is-not_interested,.client-recipient-status.is-no_longer_available{color:#8c5757;background:#f5f0f0}.client-recipient-status.is-hired{color:#fff;background:#23864b}.client-recipient-meta{margin:.3rem 0;color:var(--color-muted);font-size:.75rem}.client-recipient-message{margin:.45rem 0 0;padding:.55rem;color:#586875;background:#f5f7f8;border-radius:.45rem;font-size:.75rem}.client-recipient-contacts{display:flex;flex-wrap:wrap;gap:.25rem .45rem;margin-top:.5rem;padding:.55rem;color:#156d3a;background:#eef8f2;border-radius:.45rem;font-size:.75rem;overflow-wrap:anywhere}.client-contact-link{color:#156d3a;font-weight:800;text-decoration:underline;text-underline-offset:2px}.client-recipient-actions{display:flex;gap:.5rem;margin-top:.55rem}.client-recipient-button{flex:1;min-height:var(--touch-target);border-radius:.5rem;font:inherit;font-weight:850;cursor:pointer}.client-recipient-button.is-contact{color:#0066c5;background:#fff;border:1px solid #0066c5}.client-recipient-button.is-hire{color:#fff;background:#23864b;border:1px solid #23864b}.client-recipient-card.is-contacted,.client-recipient-card.is-disabled{color:#7a858d;background:#eef1f3;border-color:#d4d9dd}.client-recipient-card.is-contacted .client-contact-link,.client-recipient-card.is-disabled .client-contact-link{color:#7a858d;text-decoration:none;pointer-events:none}.client-recipient-card.is-hired{background:#f2faf5;border:2px solid #23864b}.client-request-detail__actions{display:grid;grid-template-columns:1fr;gap:.55rem;margin-top:.8rem}.client-close-request,.client-relaunch-request{width:100%;min-height:var(--touch-target);border-radius:.5rem;font:inherit;font-weight:900;cursor:pointer}.client-close-request{color:#a33d3d;background:#fff;border:1px solid #c66b6b}.client-relaunch-request{color:#fff;background:#0066c5;border:1px solid #fff}
body.has-client-request-overlay{overflow:hidden}
@media(min-width:48rem){
 #client-navigation{right:50%;left:auto;width:min(calc(100% - 4rem),var(--page-content-max));transform:translateX(50%);border-right:0;border-left:0;border-radius:0;box-shadow:0 -.2rem .75rem rgb(0 0 0 / 8%)}
 #client-navigation .bottom-navigation__item{border-right:1px solid var(--color-border)}#client-navigation .bottom-navigation__item:last-child{border-right:0}
 .client-search-page{width:calc(100% + 4rem);max-width:none;margin:-2rem -2rem 0}.client-search-page .search-hero{width:100vw;margin-inline:calc(50% - 50vw);padding:4.4rem max(2rem,calc((100vw - var(--content-max))/2 + 2rem)) 6.25rem}.client-role-picker,.client-search-page>.search-criteria{width:min(calc(100% - 4rem),var(--page-content-max));margin-right:auto;margin-left:auto}.client-home-overview,.client-results{width:min(100%,var(--content-max));margin-right:auto;margin-left:auto}
 .client-role-picker>p{display:none}.client-role-picker>[data-role-choices]{grid-template-columns:repeat(4,1fr);margin-top:0}.client-role-choice{min-height:5.4rem}
 .client-search-page>.search-criteria{grid-template-columns:minmax(13.25rem,1fr) minmax(0,1.2fr) minmax(0,1.4fr) minmax(0,1fr) 8rem;grid-auto-rows:5.4rem;align-items:stretch}
 .client-search-page>.search-criteria>.primary-button{width:100%;min-width:0;min-height:0;align-self:stretch}
 .client-search-page>.search-criteria>.search-role-field{gap:.15rem;padding-block:.35rem}
 .client-search-page>.search-criteria>.search-role-field .search-role-summary{min-height:2.75rem;gap:.5rem}
 .client-search-page>.search-criteria>.search-role-field .search-role-summary button{flex-basis:2.75rem;width:2.75rem;height:2.75rem}
 .client-search-page>.search-criteria>.search-role-field .search-role-summary strong{overflow-wrap:normal;white-space:nowrap}
 .client-search-page>.search-criteria>label{grid-template-rows:auto minmax(0,1fr);gap:.15rem}
 .client-search-page>.search-criteria .search-catalog-trigger{display:flex;min-height:0;align-items:center;padding:0}
 .client-search-page>.search-criteria select[name="language_id"]{min-height:0;padding:0;appearance:none;-webkit-appearance:none;outline:0;box-shadow:none}
 .client-home-overview,.client-results{padding-right:2rem;padding-left:2rem}.client-home-requests{grid-template-columns:repeat(3,minmax(0,1fr))}
 .client-results-layout{grid-template-columns:minmax(0,2fr) minmax(16.25rem,1fr);align-items:start}.client-results .search-edit{order:0;grid-column:2;grid-row:1;position:sticky;top:1rem}.client-results-main{grid-column:1;grid-row:1}
 .client-results .search-card,.favorites-shell .search-card{grid-template-columns:11.9rem minmax(0,1fr)}.client-results .search-card__visual img,.favorites-shell .search-card__visual img{min-height:12.8rem}.search-card__visual{min-height:12.8rem}.search-card__footer .primary-button{min-width:18rem}.favorites-shell .search-results{grid-template-columns:1fr}
 .client-results .selection-bar{right:auto;left:50%;width:min(calc(100% - 4rem),var(--page-content-max));transform:translateX(-50%)}
 .client-request-list-card{padding:.85rem}.client-open-request{width:100%}
}
@media(max-width:47.99rem){
 .client-search-page .search-hero{min-height:18rem;padding-top:3rem}.client-role-picker{margin-top:-2.2rem}.client-home-overview{padding-top:1.75rem}.client-subscription-summary{align-items:flex-start;flex-direction:column}.client-subscription-summary>a{width:100%}
 .client-search-page.has-results{--search-results-form-offset:2rem}.client-search-page.has-results>.search-criteria{margin:0;padding:.25rem;border-radius:.65rem}.client-results{padding-top:1.1rem}.client-results-layout{display:flex;flex-direction:column}.client-results .search-edit{order:-1}.client-results .search-card,.favorites-shell .search-card{display:grid;grid-template-columns:1fr}.client-results .search-card__media,.favorites-shell .search-card__media{margin:0;padding:.75rem}.client-results .search-card__visual,.client-results .search-card__visual img,.favorites-shell .search-card__visual,.favorites-shell .search-card__visual img{width:100%;height:15rem;min-height:15rem}.search-card__body{padding:1rem}.search-card__heading{display:flex}.search-profile-link{width:max-content}.search-card__summary{grid-template-columns:repeat(2,minmax(0,1fr))}.search-card__footer{align-items:stretch;flex-direction:column}.search-card__footer .primary-button{width:100%;min-width:0}.client-request-list-info span{max-width:75%}.client-recipient-actions{flex-direction:column}
}
@media(max-width:47.99rem){
 .client-results .search-card{grid-template-areas:"heading" "photo" "favorite" "contact";grid-template-columns:minmax(0,1fr);gap:.65rem;padding:.75rem}
 .client-results .search-card__media,.client-results .search-card__body{display:contents}
 .client-results .search-card__heading{grid-area:heading;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.65rem}
 .client-results .search-card h3{font-size:1.15rem;line-height:1.15}
 .client-results .search-card__role,.client-results .search-card__highlight,.client-results .search-card__summary,.client-results .search-card__details,.client-results .search-card__vessels,.client-results .search-card__tags,.client-results .search-card__description{display:none}
 .client-results .search-profile-link{width:auto;justify-content:center;margin:0;padding:.45rem .7rem}
 .client-results .search-card__visual{grid-area:photo;width:100%;height:clamp(11rem,55vw,12.5rem);min-height:0}
 .client-results .search-card__visual img{height:100%;min-height:0}
 .client-results .search-favorite{display:none}
 .client-results .search-favorite-toggle{grid-area:favorite;width:100%;margin:0}
 .client-results .search-card__footer{grid-area:contact;display:block;padding:0}
 .client-results .search-card__footer .primary-button{width:100%;min-width:0}
}
@media(max-width:22rem){.client-role-picker>[data-role-choices]{grid-template-columns:1fr}.client-results .search-card__visual{min-height:12rem}.client-request-stats{grid-template-columns:1fr}.search-card__heading{display:grid}.search-profile-link{width:100%;justify-content:center;margin-top:.4rem}.search-card__summary{grid-template-columns:1fr}}

.client-search-overlay{position:fixed;z-index:80;inset:0;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;color:#fff;background:#003b95;border:0}
.client-search-overlay::backdrop{background:#003b95}
.client-search-overlay__header{display:flex;min-height:calc(4.5rem + var(--safe-top));align-items:center;justify-content:space-between;padding:calc(.65rem + var(--safe-top)) max(1rem,var(--safe-right)) .65rem max(1rem,var(--safe-left))}
.client-search-overlay__header img{display:block;width:auto;height:2.75rem;max-width:min(65vw,16rem);object-fit:contain}
.client-search-overlay__close{display:grid;width:2.9rem;height:2.9rem;place-items:center;padding:0;color:#fff;background:transparent;border:1px solid rgb(255 255 255 / 60%);border-radius:50%;font:inherit;font-size:1.8rem;line-height:1;cursor:pointer}
.client-search-overlay__body{width:min(100%,var(--content-max));margin:auto;padding:1.25rem max(1rem,var(--safe-right)) calc(2rem + var(--safe-bottom)) max(1rem,var(--safe-left))}
.client-search-overlay__intro h2{margin:0;font-size:clamp(1.8rem,7vw,2.2rem)}.client-search-overlay__intro p{margin:.35rem 0 1.35rem;color:#d9e8f5}
.search-catalog-trigger{width:100%;min-height:2.75rem;padding:.45rem 0;color:var(--ink);background:transparent;border:0;text-align:left;font:inherit;font-weight:700;cursor:pointer}.search-catalog-trigger.is-invalid{color:#a51d2d;outline:2px solid #c63b4d;outline-offset:3px;border-radius:.25rem}
.search-picker-dialog{width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;background:rgb(0 25 50 / 55%);border:0}.search-picker-dialog::backdrop{background:transparent}.search-picker-card{position:absolute;inset:auto 0 0;width:100%;max-height:88vh;overflow:hidden;background:#fff;border-radius:1rem 1rem 0 0;padding-bottom:var(--safe-bottom);box-shadow:0 -1rem 3rem rgb(0 25 50 / 25%)}.search-picker-head{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid var(--line)}.search-picker-head h3{margin:0}.search-picker-close{display:grid;width:2.75rem;height:2.75rem;place-items:center;padding:0;border:0;border-radius:50%;background:#eef3f7;color:var(--ink);font-size:1.5rem;cursor:pointer}.search-picker-body{max-height:calc(88vh - 4.8rem - var(--safe-bottom));overflow:auto;padding:1rem}.search-picker-input{width:100%;min-height:3rem;margin-bottom:.7rem;padding:0 .8rem;border:1px solid var(--line);border-radius:.6rem;font:inherit}.search-picker-list{display:grid}.search-picker-group{margin-top:.75rem;padding:.45rem .55rem;color:var(--brand-dark);background:#eef6fb;border-radius:.45rem;font-size:.78rem;text-transform:uppercase}.search-picker-group:first-child{margin-top:0}.search-picker-option{min-height:3rem;padding:.7rem .65rem;background:#fff;border:0;border-bottom:1px solid #edf1f4;color:var(--ink);font:inherit;font-weight:700;text-align:left;cursor:pointer}.search-picker-option:hover,.search-picker-option:focus-visible{background:#f2f8fc}.search-picker-manual{width:100%;min-height:3rem;margin-top:1rem;padding:.7rem;border:1px solid var(--brand);border-radius:.6rem;background:#fff;color:var(--brand);font:inherit;font-weight:800;cursor:pointer}.search-picker-manual-box{display:grid;grid-template-columns:1fr auto;gap:.5rem;margin-top:.75rem}.search-picker-manual-box[hidden]{display:none}.search-picker-manual-box input{min-width:0;min-height:3rem;padding:0 .75rem;border:1px solid var(--line);border-radius:.6rem;font:inherit}
@media(max-width:47.99rem){.search-destination-dialog .search-picker-card{top:max(12vh,calc(var(--safe-top) + .5rem));bottom:auto}}
.client-overlay-roles,.client-overlay-form{padding:.25rem;background:#80bcda;border-radius:.65rem;box-shadow:0 .5rem 1.75rem rgb(0 20 55 / 28%)}
.client-overlay-role-grid{display:grid;grid-template-columns:1fr 1fr;gap:.25rem}.client-overlay-role-choice{display:flex;min-height:5.4rem;align-items:center;justify-content:center;gap:.55rem;padding:.7rem;color:var(--color-text);background:#fff;border:0;border-radius:.45rem;font:inherit;font-weight:850;cursor:pointer}.client-overlay-role-choice:hover,.client-overlay-role-choice:focus-visible{color:var(--color-primary);background:#eef7fc}
.client-overlay-form{display:grid;gap:.25rem}.client-overlay-form>label,.client-overlay-form>.client-overlay-field{min-height:4.25rem;padding:.55rem .75rem;color:var(--color-text);background:#fff;border-radius:.45rem}.client-overlay-form label{display:grid;gap:.15rem;align-content:center}.client-overlay-form label>span,.client-overlay-field>span{color:#52606d;font-size:.7rem;font-weight:800;text-transform:uppercase}.client-overlay-form input,.client-overlay-form select{width:100%;min-width:0;min-height:2.6rem;padding:.2rem 0;color:var(--color-text);background:#fff;border:0;font:inherit;font-weight:750}.client-overlay-dates{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.client-overlay-submit{min-height:3.7rem;padding:.75rem 1.2rem;color:#fff;background:#0066c5;border:0;border-radius:.45rem;font:inherit;font-weight:850;cursor:pointer}
@media(min-width:48rem){.client-search-overlay__header{padding-right:max(2rem,calc((100% - var(--content-max))/2 + 2rem));padding-left:max(2rem,calc((100% - var(--content-max))/2 + 2rem))}.client-search-overlay__body{padding:2rem}.client-overlay-role-grid{grid-template-columns:repeat(4,1fr)}.client-overlay-form{grid-template-columns:1.1fr 1.3fr 1.5fr 1.1fr auto;align-items:stretch}.client-overlay-submit{min-width:8.5rem}.search-picker-card{inset:50% auto auto 50%;width:min(32.5rem,calc(100% - 2rem));max-height:82vh;transform:translate(-50%,-50%);border-radius:.9rem;padding-bottom:0}.search-picker-body{max-height:calc(82vh - 4.8rem)}}
@media(max-width:22rem){.client-overlay-role-grid,.client-overlay-dates{grid-template-columns:1fr}}

/* Area Admin — stesso linguaggio visuale delle aree Cliente e Professionista. */
#auth-navigation{display:none!important;grid-auto-flow:unset;grid-template-columns:repeat(auto-fit,minmax(3.75rem,1fr));padding-top:2px;padding-bottom:calc(2px + var(--safe-bottom));box-shadow:0 -.2rem .75rem rgb(0 0 0 / 8%)}
#auth-navigation .bottom-navigation__item{min-width:0;border-radius:.55rem;font-size:.65rem;line-height:1.1}
#auth-navigation .bottom-navigation__item>span:last-child{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#auth-navigation .bottom-navigation__item.is-active{color:var(--color-primary);background:#eaf5fb}
.admin-page-heading{display:flex;align-items:center;gap:.9rem;margin-bottom:.15rem}
.admin-page-heading h2{margin:.05rem 0 .2rem;font-size:clamp(1.65rem,7vw,2.2rem);line-height:1.1}
.admin-page-heading p{margin:0;color:var(--color-muted)}
.admin-page-heading .status-kicker{color:var(--color-primary);font-size:.72rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.admin-page-icon{display:grid;width:3.6rem;height:3.6rem;flex:0 0 3.6rem;place-items:center;color:var(--color-primary);background:#dceef7;border-radius:50%;font-size:1.4rem}
.admin-filter-card{display:grid;gap:.7rem;padding:.8rem;background:var(--color-accent);border-radius:.8rem;box-shadow:0 .45rem 1.4rem rgb(0 35 65 / 10%)}
.admin-filter-card label,.admin-single-filter{display:grid;gap:.15rem;padding:.55rem .7rem;background:#fff;border-radius:.55rem;font-weight:750}
.admin-filter-card label>span,.admin-single-filter>span{color:#52606d;font-size:.68rem;font-weight:900;letter-spacing:.02em;text-transform:uppercase}
.admin-filter-card label>span i,.admin-single-filter>span i{width:1rem;color:var(--color-primary)}
.backoffice-filters.admin-filter-card input,.backoffice-filters.admin-filter-card select,.admin-single-filter select{min-height:2.75rem;padding:.2rem 0;border:0;border-radius:0;outline:0;box-shadow:none;font-weight:700}
.admin-filter-card>.primary-button{display:flex;width:100%;min-height:3.6rem;align-items:center;justify-content:center;gap:.45rem;margin:0;border-radius:.55rem}
.backoffice-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;overflow:visible}
.backoffice-links a{display:flex;min-width:0;min-height:4.25rem;align-items:center;justify-content:flex-start;gap:.65rem;padding:.7rem;color:var(--color-text);background:#fff;border:1px solid var(--color-border);border-radius:.75rem;box-shadow:0 .25rem .85rem rgb(10 67 105 / 6%);font-weight:800;text-decoration:none;white-space:normal}
.backoffice-links a i{display:grid;width:2.35rem;height:2.35rem;flex:0 0 2.35rem;place-items:center;color:var(--color-primary);background:#eaf5fb;border-radius:.6rem;font-size:1.05rem}
.admin-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:.75rem;margin-top:.35rem}
.admin-section-heading p,.admin-section-heading h3{margin:0}.admin-section-heading .status-kicker{color:var(--color-primary);font-size:.68rem;font-weight:900;text-transform:uppercase}.admin-section-heading h3{font-size:1.25rem}.admin-section-heading>strong{color:var(--color-muted);font-size:.78rem;white-space:nowrap}
.admin-user-list{display:grid;gap:.65rem}
.admin-user-card{display:grid;grid-template-columns:3rem minmax(0,1fr) auto 1rem;align-items:center;gap:.7rem;min-width:0;padding:.85rem;color:var(--color-text);background:#fff;border:1px solid var(--color-border);border-radius:.8rem;box-shadow:0 .25rem 1rem rgb(0 0 0 / 5%);text-decoration:none}
.admin-user-card:hover,.admin-user-card:focus-visible{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent),0 .35rem 1rem rgb(0 0 0 / 7%)}
.admin-user-avatar{display:grid;width:3rem;height:3rem;place-items:center;color:var(--color-primary);background:#eaf5fb;border-radius:50%;font-size:1.2rem}
.admin-user-copy{min-width:0}.admin-user-copy strong,.admin-user-copy small{display:block;overflow:hidden;text-overflow:ellipsis}.admin-user-copy strong{font-size:.95rem}.admin-user-copy small{margin-top:.12rem;color:var(--color-muted);font-size:.73rem;white-space:nowrap}
.admin-user-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.35rem}.admin-user-state,.admin-user-subscription{display:inline-flex;min-height:1.7rem;align-items:center;padding:.15rem .5rem;border-radius:999px;font-size:.67rem;font-weight:850;white-space:nowrap}.admin-user-state{color:#216c40;background:#eaf7ee}.admin-user-state.is-suspended{color:#9b3030;background:#fdecec}.admin-user-subscription{color:#0b47a7;background:#e7f3fc}.admin-user-subscription.is-inactive{color:#667782;background:#edf1f3}.admin-user-chevron{color:#8da0ae;font-size:.8rem}
.admin-account-state{border-left:.3rem solid var(--color-success)}
.admin-stat-grid span{padding:.65rem;color:var(--color-muted);background:#f5f9fb;border-radius:.55rem;font-size:.82rem;font-weight:700}
.admin-primary-actions{display:grid;grid-template-columns:1fr 1fr}.admin-primary-actions button{width:100%}
.admin-primary-actions button:hover,.admin-primary-actions button:focus-visible,[data-approval-section] .row-actions button:hover,[data-approval-section] .row-actions button:focus-visible{color:#fff;background:var(--color-primary-strong);border-color:var(--color-primary-strong);text-decoration:none}
.admin-type-update-button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;color:var(--color-primary);border-color:var(--color-primary);cursor:pointer;transition:color .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.admin-type-update-button:hover,.admin-type-update-button:focus-visible{color:#fff;background:var(--color-primary-strong);border-color:var(--color-primary-strong);box-shadow:0 .35rem .9rem rgb(0 102 197 / 20%);outline:none;transform:translateY(-1px)}
.danger-zone{padding:.75rem}
.danger-zone summary{display:flex;min-height:var(--touch-target);align-items:center;justify-content:center;gap:.5rem;padding:.7rem 1rem;color:var(--color-danger);background:#fff;border:1px solid var(--color-danger);border-radius:.7rem;list-style:none;text-align:center;transition:color .18s ease,background-color .18s ease,box-shadow .18s ease,transform .18s ease}
.danger-zone summary::-webkit-details-marker{display:none}
.danger-zone summary:hover,.danger-zone summary:focus-visible{color:#fff;background:var(--color-danger);box-shadow:0 .35rem .9rem rgb(180 35 45 / 20%);outline:none;transform:translateY(-1px)}
.danger-zone[open] summary{margin-bottom:.9rem}
.admin-delete-account-button{display:inline-flex;min-height:var(--touch-target);align-items:center;justify-content:center;gap:.5rem;padding:.7rem 1rem;color:#fff;background:var(--color-danger);border:1px solid var(--color-danger);border-radius:.7rem;font:inherit;font-weight:850;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.admin-delete-account-button:hover,.admin-delete-account-button:focus-visible{color:#fff;background:#8f1d25;border-color:#8f1d25;box-shadow:0 .4rem 1rem rgb(130 20 30 / 25%);outline:none;transform:translateY(-1px)}
.professional-profile-danger{margin-top:1rem}.professional-profile-danger__content{display:grid;gap:.8rem}.professional-profile-danger__content label{display:flex;align-items:center;gap:.5rem}.professional-profile-danger__content input[type=checkbox]{flex:0 0 auto}
.professional-profile-personal-note{margin:0;color:#164f87;background:#eaf5ff;border:1px solid #9ed5ec;line-height:1.55}.professional-profile-personal-note a{color:var(--color-primary-strong);font-weight:900;text-transform:uppercase;text-underline-offset:.18em}.professional-profile-personal-note a:hover,.professional-profile-personal-note a:focus-visible{color:var(--color-primary);text-decoration-thickness:.14em}
.admin-detail-card{display:grid;gap:.8rem;padding:1rem;background:#fff;border:1px solid var(--color-border);border-radius:.85rem;box-shadow:0 .25rem 1rem rgb(10 67 105 / 5%)}.admin-detail-card h3{margin:0}
.admin-single-filter{padding:.7rem .85rem;border:1px solid var(--color-border);box-shadow:0 .25rem .85rem rgb(10 67 105 / 5%)}
.admin-record-list .catalog-row{box-shadow:0 .25rem 1rem rgb(10 67 105 / 5%)}
.admin-request-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.3rem;padding:.3rem;background:#fff;border:1px solid var(--color-border);border-radius:.75rem;box-shadow:0 .25rem 1rem rgb(10 67 105 / 5%)}
.admin-request-tabs button{display:inline-flex;min-width:0;min-height:3rem;align-items:center;justify-content:center;gap:.45rem;padding:.55rem;color:#596c78;background:transparent;border:0;border-radius:.55rem;font:inherit;font-size:.82rem;font-weight:850;cursor:pointer;transition:color .18s ease,background-color .18s ease,box-shadow .18s ease,transform .18s ease}
.admin-request-tabs button:hover,.admin-request-tabs button:focus-visible{color:var(--color-primary);background:#eaf5fb;outline:none}
.admin-request-tabs button.is-active{color:#fff;background:var(--color-primary);box-shadow:0 .25rem .7rem rgb(0 102 197 / 22%)}
.admin-request-tabs button.is-active:hover,.admin-request-tabs button.is-active:focus-visible{color:#fff;background:var(--color-primary-strong)}
.admin-request-tabs button:active{transform:translateY(1px)}
.admin-request-list-summary{display:flex;align-items:center;justify-content:space-between;gap:.75rem;color:var(--color-muted);font-size:.76rem}.admin-request-list-summary strong{color:var(--color-text);font-size:.82rem}.admin-request-list-summary span{white-space:nowrap}
#main-content:has(.backoffice-shell):focus{outline:none}
.admin-record-card{display:grid;grid-template-columns:2.8rem minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.85rem;background:#fff;border:1px solid var(--color-border);border-radius:.8rem;box-shadow:0 .25rem 1rem rgb(10 67 105 / 5%)}
.admin-record-card>div{min-width:0}.admin-record-card strong,.admin-record-card small{display:block;overflow-wrap:anywhere}.admin-record-card small{margin-top:.15rem;color:var(--color-muted);font-size:.76rem}.admin-record-icon{display:grid;width:2.8rem;height:2.8rem;place-items:center;color:var(--color-primary);background:#eaf5fb;border-radius:.65rem}.admin-record-state{color:var(--color-muted);font-size:.72rem;font-weight:800}.admin-record-state.is-open{color:#216c40}.admin-record-state.is-expired{color:var(--color-danger)}
.admin-request-card{cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease,transform .18s ease}.admin-request-card:hover,.admin-request-card:focus-visible,.admin-request-card.is-selected{border:2px solid #80bcda;padding:calc(.85rem - 1px);background:#f7fcff;box-shadow:0 .35rem 1.2rem rgb(0 102 197 / 14%);outline:none}.admin-request-card:active{transform:scale(.995)}.admin-request-detail__loading,.admin-request-detail__error{margin-top:1rem;padding:1rem;border-radius:.7rem;background:#fff;color:var(--color-text)}.admin-request-detail__body{padding-bottom:1rem}.admin-client-contacts{align-items:center;gap:.5rem;margin-top:.9rem;padding-top:.85rem;border-top:1px solid #dfe6eb}.admin-client-contacts>strong{width:100%;color:#344b5a;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase}.admin-client-contacts .client-contact-link{color:#155f83;background:#eaf5fb}.admin-client-contacts .client-contact-link:hover,.admin-client-contacts .client-contact-link:focus-visible{color:#fff;background:#0066c5}.admin-request-extra{margin-top:.9rem;padding-top:.85rem;border-top:1px solid #dfe6eb}.admin-request-extra h3{margin:0 0 .6rem;color:#344b5a;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase}.admin-request-extra__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.admin-request-extra__item{display:grid;gap:.2rem;padding:.7rem .75rem;background:#f4f8fa;border-radius:.55rem}.admin-request-extra__item span{color:#65727d;font-size:.65rem;font-weight:900;text-transform:uppercase}.admin-request-extra__item strong{font-size:.84rem;overflow-wrap:anywhere}.admin-request-recipient.is-contacted .client-contact-link{color:#156d3a;text-decoration:underline;pointer-events:auto}.admin-request-detail .client-request-summary__client small{display:block;margin-top:.2rem;color:var(--color-muted)}body.has-admin-request-overlay{overflow:hidden}
@media(max-width:30rem){.admin-request-extra__grid{grid-template-columns:1fr}}
.admin-audit-card{align-items:start}.admin-audit-content{display:grid;gap:.28rem}.admin-audit-description{margin:0;color:var(--color-text);line-height:1.4}.admin-audit-actor{margin:0!important}.admin-audit-card time{white-space:nowrap}
@media(min-width:48rem){
 #auth-navigation{right:50%;left:auto;width:min(calc(100% - 4rem),var(--page-content-max));transform:translateX(50%);border-right:0;border-left:0;border-radius:0}
 #auth-navigation .bottom-navigation__item{border-right:1px solid var(--color-border);border-radius:0;font-size:.72rem}#auth-navigation .bottom-navigation__item:last-child{border-right:0}
 .admin-filter-card{grid-template-columns:2fr 1fr 1fr 8.5rem;align-items:stretch}.admin-filter-card>.primary-button{min-width:0;height:100%}
 .backoffice-links{grid-template-columns:repeat(auto-fit,minmax(8.25rem,1fr))}.backoffice-links a{justify-content:center}
 .admin-user-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:30rem){.admin-user-card{grid-template-columns:2.7rem minmax(0,1fr) 1rem}.admin-user-avatar{width:2.7rem;height:2.7rem}.admin-user-badges{grid-column:2;justify-content:flex-start}.admin-user-chevron{grid-column:3;grid-row:1/3}.admin-primary-actions{grid-template-columns:1fr}.admin-record-card{grid-template-columns:2.7rem minmax(0,1fr)}.admin-record-state{grid-column:2}.admin-audit-card time{white-space:normal}}

/* Landing pubblica del Professionista */
.public-landing-body{margin:0;color:#1f2930;background:#f5f8fa}.public-profile.qsc-landing{width:100%;max-width:none;margin:0;padding:0;background:#f5f8fa}.qsc-landing button,.qsc-landing a{font:inherit}.landing-hero{position:relative;min-height:31rem;overflow:hidden;color:#fff;background:#174d8a}.landing-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.landing-cover-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgb(0 30 70 / 28%),rgb(0 42 92 / 12%) 45%,rgb(0 34 78 / 68%))}.landing-topbar{position:relative;z-index:2;display:flex;width:min(calc(100% - 2.75rem),73.75rem);height:4.9rem;align-items:center;justify-content:space-between;margin:0 auto}.landing-topbar>img{width:auto;height:2.75rem}.landing-icon-button{display:grid;width:2.75rem;height:2.75rem;place-items:center;color:#fff;background:rgb(255 255 255 / 10%);border:1px solid rgb(255 255 255 / 60%);border-radius:50%;cursor:pointer}.landing-icon-button:hover,.landing-icon-button:focus-visible{background:rgb(255 255 255 / 22%);outline:2px solid #fff;outline-offset:2px}.landing-hero-inner{position:relative;z-index:1;display:flex;width:min(calc(100% - 2.75rem),73.75rem);min-height:26.1rem;flex-direction:column;align-items:center;justify-content:flex-end;gap:1.15rem;margin:0 auto;padding:1.5rem 0 2.35rem;text-align:center}.landing-hero-copy{max-width:50rem}.landing-hero h1{margin:0;color:#fff;font-size:clamp(2.35rem,6vw,3.7rem);line-height:1}.landing-hero-copy p{margin:.75rem 0 0;color:rgb(255 255 255 / 94%);font-size:.98rem}.landing-avatar{position:static;z-index:4;display:block;flex:0 0 auto;width:10.25rem;height:10.25rem;object-fit:cover;background:#91aabd;border:7px solid #fff;border-radius:50%;box-shadow:0 .65rem 1.7rem rgb(0 0 0 / 20%)}.landing-avatar-placeholder{display:grid;place-items:center;color:#fff;font-size:3rem}.landing-summary{padding:1.65rem 0;background:#fff;border-radius:0 0 2rem 2rem;box-shadow:0 .5rem 1.5rem rgb(31 72 95 / 6%)}.landing-summary-inner{width:min(calc(100% - 2rem),53.75rem);margin:0 auto;text-align:center}.landing-status{display:inline-flex;align-items:center;gap:.45rem;padding:.48rem .72rem;color:#18895e;background:#eaf8f1;border-radius:999px;font-size:.76rem;font-weight:850;text-transform:uppercase}.landing-status.is-unavailable{color:#a33d3d;background:#fff0f1}.landing-tags{display:flex;flex-wrap:wrap;gap:.45rem}.landing-summary-tags{justify-content:center;margin-top:.95rem}.landing-tag{padding:.48rem .66rem;color:#315f79;background:#edf7fb;border-radius:999px;font-size:.76rem;font-weight:750}.landing-summary-actions{display:grid;grid-template-columns:minmax(13.75rem,22.5rem) 3.25rem;justify-content:center;gap:.65rem;margin-top:1.1rem}.landing-primary-button,.landing-outline-button{min-height:3.25rem;border-radius:.85rem;cursor:pointer;font-weight:900}.landing-primary-button{color:#fff;background:#0b47a7;border:0;text-transform:uppercase}.landing-primary-button:hover,.landing-primary-button:focus-visible{background:#083b8d;box-shadow:0 .35rem 1rem rgb(11 71 167 / 24%);outline:2px solid #76c8e8;outline-offset:2px}.landing-outline-button{display:grid;place-items:center;color:#0b47a7;background:#fff;border:1px solid #bcd6e6;font-size:1.15rem}.landing-outline-button:hover,.landing-outline-button:focus-visible{background:#eaf7fc;outline:2px solid #76c8e8;outline-offset:2px}.landing-layout{display:grid;width:min(calc(100% - 2rem),73.75rem);grid-template-columns:minmax(0,1.65fr) minmax(19.4rem,.85fr);align-items:start;gap:1.15rem;margin:1.15rem auto 4rem}.landing-left,.landing-right{display:grid;gap:.9rem}.landing-right{position:sticky;top:1.1rem}.landing-card{padding:1.15rem;background:#fff;border:1px solid #dce7ed;border-radius:1.25rem;box-shadow:0 .65rem 1.75rem rgb(27 66 89 / 8%)}.landing-card h2{margin:0 0 .75rem;color:#173f65;font-size:1.3rem}.landing-card h3{margin:0 0 .4rem;color:#214b6d;font-size:1rem}.landing-card p{margin:0;color:#42525c;line-height:1.55}.landing-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.landing-section-head h2{margin-bottom:.15rem}.landing-section-head small{color:#6b7b86;font-size:.75rem}.landing-calendar-box{padding:.95rem;color:#fff;background:linear-gradient(135deg,#0b47a7,#1478d4);border-radius:1rem}.landing-calendar-toolbar{display:grid;grid-template-columns:2rem 1fr 2rem;align-items:center;gap:.5rem}.landing-calendar-month{text-align:center;text-transform:capitalize}.landing-calendar-nav{width:2rem;height:2rem;color:#fff;background:rgb(255 255 255 / 14%);border:0;border-radius:.55rem;cursor:pointer;font-size:1.25rem}.landing-calendar-nav:disabled{opacity:.35;cursor:default}.landing-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.32rem;margin-top:.75rem}.landing-calendar-grid span{display:grid;min-height:2.25rem;place-items:center;border-radius:.55rem;font-size:.74rem}.landing-calendar-grid .landing-calendar-dow{min-height:1.25rem;color:rgb(255 255 255 / 75%);font-size:.64rem;font-weight:800}.landing-calendar-grid .is-available{color:#216c40;background:#e7f7ec;font-weight:800}.landing-calendar-grid .is-unavailable{color:#fff;background:#b94a55;text-decoration:line-through}.landing-calendar-grid .is-today{outline:2px solid #fff;outline-offset:1px}.landing-calendar-grid .is-empty{background:transparent}.landing-calendar-legend{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:.75rem;font-size:.72rem}.landing-calendar-legend span{display:flex;align-items:center;gap:.35rem}.landing-calendar-legend i{display:block;width:.7rem;height:.7rem;border-radius:.2rem}.landing-calendar-legend .is-available{background:#e7f7ec}.landing-calendar-legend .is-unavailable{background:#b94a55}.landing-zones{margin-top:.8rem}.landing-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.landing-info-box{min-width:0;padding:.78rem;background:#fbfdfe;border:1px solid #e2ebf0;border-radius:.85rem}.landing-label{display:block;color:#164f87;font-size:.68rem;font-weight:850;text-transform:uppercase}.landing-value{display:block;margin-top:.32rem;color:#1f2930;font-size:.94rem;line-height:1.35;overflow-wrap:anywhere}.landing-field-link{color:#0b47a7;text-decoration:underline}.landing-rich-field+.landing-rich-field{padding-top:.85rem;margin-top:.85rem;border-top:1px solid #edf2f5}.landing-rich-content{color:#42525c;font-size:.9rem;line-height:1.55}.landing-rich-content>*:first-child{margin-top:0}.landing-rich-content>*:last-child{margin-bottom:0}.landing-rich-field+.landing-info-grid,.landing-info-grid+.landing-rich-field{margin-top:.85rem}.landing-gallery{display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:9.5rem 9.5rem;gap:.5rem}.landing-gallery-photo{padding:0;overflow:hidden;background:#9fb2c1;border:0;border-radius:.9rem;cursor:pointer}.landing-gallery-photo.is-main{grid-row:1/span 2}.landing-gallery-photo:last-child:nth-child(2){grid-row:1/span 2}.landing-gallery-photo img{width:100%;height:100%;object-fit:cover;transition:transform .2s ease}.landing-gallery-photo:hover img,.landing-gallery-photo:focus-visible img{transform:scale(1.025)}.landing-gallery-photo:focus-visible{outline:3px solid #76c8e8;outline-offset:2px}.landing-video-grid{display:grid;gap:.85rem}.landing-video iframe{width:100%;aspect-ratio:16/9;border:0;border-radius:.85rem}.landing-video strong{display:block;margin-top:.55rem}.landing-video p{font-size:.82rem}.landing-video-placeholder{display:flex;min-height:8rem;align-items:center;justify-content:center;gap:.55rem;color:#65727d;background:#eef3f6;border-radius:.85rem}.landing-document{display:grid;grid-template-columns:2.9rem minmax(0,1fr) 1rem;align-items:center;gap:.7rem;padding:.75rem 0;color:inherit;border-bottom:1px solid #edf2f5}.landing-document:last-child{padding-bottom:0;border-bottom:0}.landing-document:hover .landing-document-copy strong,.landing-document:focus-visible .landing-document-copy strong{color:#0b47a7;text-decoration:underline}.landing-pdf{display:grid;width:2.9rem;height:2.9rem;place-items:center;color:#0b47a7;background:#eef5fb;border-radius:.7rem;font-size:.7rem;font-weight:900}.landing-document-copy strong,.landing-document-copy small{display:block}.landing-document-copy strong{color:#29485d;font-size:.85rem}.landing-document-copy small{margin-top:.15rem;color:#6b7b86;font-size:.72rem}.landing-cta-card{color:#fff;background:#0b47a7;border-color:#0b47a7}.landing-cta-card h2{color:#fff;font-size:1.5rem}.landing-cta-card p{color:rgb(255 255 255 / 90%)}.landing-primary-button.is-inverted{width:100%;margin-top:1rem;color:#0b47a7;background:#fff}.landing-primary-button.is-inverted:hover,.landing-primary-button.is-inverted:focus-visible{color:#fff;background:#126fd0}.landing-footer{display:grid;place-items:center;gap:.5rem;padding:2rem max(1rem,env(safe-area-inset-right)) calc(2rem + env(safe-area-inset-bottom));color:#fff;background:#0b47a7;text-align:center}.landing-footer img{width:auto;height:2.5rem}.landing-footer p{margin:0;color:rgb(255 255 255 / 82%);font-size:.78rem}.landing-modal[hidden]{display:none}.landing-modal{position:fixed;z-index:150;inset:0;display:flex;align-items:center;justify-content:center;padding:1.2rem;background:rgb(11 31 45 / 62%)}.landing-modal-card{position:relative;width:min(100%,26.25rem);padding:1.25rem;background:#fff;border-radius:1.15rem;box-shadow:0 1.25rem 3rem rgb(0 0 0 / 24%)}.landing-modal-card h2{padding-right:2.5rem;margin:0 0 .5rem;color:#173f65}.landing-modal-card>p{margin:0 0 1rem;color:#5f707b;line-height:1.5}.landing-modal-close,.landing-photo-close{display:grid;width:2.6rem;height:2.6rem;place-items:center;border-radius:50%;cursor:pointer;font-size:1.5rem}.landing-modal-close{position:absolute;top:.8rem;right:.8rem;color:#35566d;background:#eef3f6;border:0}.landing-contact-list{display:grid;gap:.5rem}.landing-contact-row{display:grid;grid-template-columns:2rem minmax(0,1fr);align-items:center;gap:.65rem;padding:.75rem;color:#164f87;background:#f5f9fb;border:1px solid #e0e9ee;border-radius:.75rem}.landing-contact-row>i{text-align:center}.landing-contact-row small,.landing-contact-row strong{display:block}.landing-contact-row small{color:#6b7b86;font-size:.68rem;text-transform:uppercase}.landing-contact-row strong{margin-top:.15rem;overflow-wrap:anywhere}.landing-photo-viewer{padding:4.25rem 1rem 1rem}.landing-photo-viewer img{max-width:min(100%,70rem);max-height:calc(100dvh - 5.25rem);border-radius:1rem;box-shadow:0 1.25rem 3rem rgb(0 0 0 / 28%)}.landing-photo-close{position:fixed;top:1rem;right:1rem;color:#fff;background:rgb(0 0 0 / 25%);border:1px solid rgb(255 255 255 / 65%)}.landing-toast{position:fixed;z-index:170;left:50%;bottom:1.5rem;padding:.75rem 1rem;color:#fff;background:#123b5c;border-radius:.75rem;opacity:0;pointer-events:none;transform:translate(-50%,1rem);transition:.2s}.landing-toast.is-visible{opacity:1;transform:translate(-50%,0)}body.has-landing-modal{overflow:hidden}.landing-unavailable-page{display:grid;width:100%;max-width:none;min-height:100dvh;place-items:center;padding:2rem;background:#0b47a7}.landing-unavailable-page>img{position:absolute;top:1.5rem;left:1.5rem;width:auto;height:2.75rem}.landing-unavailable-card{width:min(100%,30rem);padding:2rem;background:#fff;border-radius:1.25rem;text-align:center}.landing-unavailable-card>i{color:#0b47a7;font-size:2rem}.landing-unavailable-card h1{margin:.75rem 0 .5rem}.landing-unavailable-card p{margin:0;color:#6b7b86}
@media(max-width:56.25rem){.landing-layout{grid-template-columns:1fr}.landing-right{position:static;grid-template-columns:1fr 1fr}}
@media(max-width:40rem){.landing-hero{min-height:25rem}.landing-topbar{width:calc(100% - 1.75rem);height:4.25rem}.landing-topbar>img{height:2.15rem}.landing-hero-inner{width:calc(100% - 1.75rem);min-height:20.75rem;gap:.9rem;padding:1rem 0 1.8rem}.landing-hero h1{font-size:2.15rem}.landing-hero-copy p{font-size:.82rem}.landing-avatar{width:8.5rem;height:8.5rem}.landing-summary{padding:1.35rem 0;border-radius:0 0 1.5rem 1.5rem}.landing-summary-actions{grid-template-columns:1fr 3.25rem}.landing-layout{width:calc(100% - 1.5rem);gap:.75rem;margin-top:.85rem}.landing-left,.landing-right{gap:.75rem}.landing-right{grid-template-columns:1fr}.landing-card{padding:.95rem;border-radius:1.05rem}.landing-card h2{font-size:1.15rem}.landing-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-calendar-grid{gap:.22rem}.landing-calendar-grid span{min-height:2rem}.landing-gallery{grid-template-rows:7.5rem 7.5rem}.landing-footer{padding-bottom:calc(1.5rem + env(safe-area-inset-bottom))}.landing-toast{bottom:calc(1.25rem + env(safe-area-inset-bottom))}}
@media(max-width:22rem){.landing-info-grid{grid-template-columns:1fr}.landing-summary-actions{grid-template-columns:1fr 3rem}.landing-gallery{grid-template-columns:1fr;grid-template-rows:11rem 8rem}.landing-gallery-photo.is-main,.landing-gallery-photo:last-child:nth-child(2){grid-row:auto}.landing-section-head{align-items:flex-start}.landing-calendar-grid span{min-height:1.75rem;font-size:.68rem}}

/* Su desktop tutte le barre operative inferiori occupano l'intera viewport. */
@media(min-width:48rem){
 #auth-navigation,#client-navigation,#professional-navigation{right:0;left:0;width:100%;max-width:none;padding-right:max(.5rem,var(--safe-right),calc((100% - var(--page-content-max))/2));padding-left:max(.5rem,var(--safe-left),calc((100% - var(--page-content-max))/2));transform:none;border-right:0;border-bottom:0;border-left:0;border-radius:0}
 .client-results .selection-bar{right:0;left:0;width:100%;max-width:none;padding-right:max(.9rem,calc((100% - var(--page-content-max))/2 + .9rem));padding-left:max(.9rem,calc((100% - var(--page-content-max))/2 + .9rem));transform:none}
}

/* Intestazione landing Professionista: copertina, ritratto centrale e dati separati */
.landing-topbar.is-share-only{justify-content:flex-end}
.landing-back-button{display:inline-flex;min-height:2.75rem;align-items:center;gap:.5rem;padding:.65rem .9rem;color:#fff;background:rgb(0 40 94 / 42%);border:1px solid rgb(255 255 255 / 72%);border-radius:.75rem;font-size:.82rem;font-weight:900;text-decoration:none}
.landing-back-button:hover,.landing-back-button:focus-visible{color:#0b47a7;background:#fff;outline:2px solid #76c8e8;outline-offset:2px}
.landing-unavailable-card .landing-back-button{justify-content:center;margin-top:1.25rem;color:#fff;background:#0b47a7;border-color:#0b47a7}.landing-unavailable-card .landing-back-button:hover,.landing-unavailable-card .landing-back-button:focus-visible{color:#fff;background:#083b8d}
.landing-hero{width:min(calc(100% - 2rem),78.25rem);min-height:29rem;margin:0 auto;border-radius:0 0 1.25rem 1.25rem}
.landing-cover-shade{background:linear-gradient(180deg,rgb(0 30 70 / 18%),transparent 45%)}
.landing-summary.landing-profile-heading{position:relative;width:min(calc(100% - 2rem),78.25rem);padding:1.35rem 0 1.8rem;margin:0 auto;background:#f5f8fa;border-radius:0;box-shadow:none}
.landing-profile-heading .landing-summary-inner{width:100%;text-align:initial}
.landing-profile-heading .landing-avatar{position:absolute;z-index:4;top:0;left:50%;transform:translate(-50%,-50%)}
.landing-heading-grid{display:grid;min-height:7.75rem;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:13rem}
.landing-heading-primary,.landing-heading-secondary{min-width:0}
.landing-heading-primary{text-align:left}
.landing-heading-secondary{text-align:right}
.landing-heading-primary>p,.landing-heading-secondary>p{margin:0 0 .9rem;color:#1f2930;font-size:1rem;line-height:1.4}
.landing-heading-primary h1{margin:0;color:#05080c;font-size:clamp(2.2rem,4vw,3.25rem);line-height:1.05;overflow-wrap:anywhere}
.landing-heading-secondary .landing-primary-button{width:min(100%,22.5rem)}
.landing-primary-button.landing-contact-button{background:#218a4b}
.landing-primary-button.landing-contact-button:hover,.landing-primary-button.landing-contact-button:focus-visible{background:#176f3b;box-shadow:0 .35rem 1rem rgb(33 138 75 / 24%)}
.landing-photo-nav{position:fixed;z-index:2;top:50%;display:grid;width:3.25rem;height:3.25rem;place-items:center;color:#fff;background:rgb(0 35 78 / 62%);border:1px solid rgb(255 255 255 / 75%);border-radius:50%;cursor:pointer;font-size:2.4rem;line-height:1;transform:translateY(-50%)}
.landing-photo-nav[hidden],.landing-photo-counter[hidden]{display:none}
.landing-photo-nav:hover,.landing-photo-nav:focus-visible{background:#0b47a7;outline:3px solid #76c8e8;outline-offset:2px}
.landing-photo-nav.is-previous{left:max(1rem,env(safe-area-inset-left))}
.landing-photo-nav.is-next{right:max(1rem,env(safe-area-inset-right))}
.landing-photo-counter{position:fixed;z-index:2;left:50%;bottom:max(1rem,env(safe-area-inset-bottom));padding:.45rem .75rem;color:#fff;background:rgb(0 35 78 / 70%);border-radius:999px;font-size:.8rem;font-weight:850;transform:translateX(-50%)}
@media(max-width:40rem){.landing-photo-viewer{padding:4.25rem .6rem 4rem}.landing-photo-viewer img{max-height:calc(100dvh - 8.25rem)}.landing-photo-nav{width:2.85rem;height:2.85rem;font-size:2rem}.landing-photo-nav.is-previous{left:max(.5rem,env(safe-area-inset-left))}.landing-photo-nav.is-next{right:max(.5rem,env(safe-area-inset-right))}}
.qsc-landing .landing-layout{width:min(calc(100% - 2rem),78.25rem)}
.landing-subscription-warning{display:grid;grid-template-columns:1.5rem minmax(0,1fr);gap:.65rem;padding:1rem;color:#a52222;background:#fff1f1;border:1px solid #e9aaaa;border-radius:.85rem}
.landing-subscription-warning>i{margin-top:.15rem;text-align:center}
.landing-subscription-warning>p{margin:0;color:inherit;font-weight:750;line-height:1.5}
.landing-subscription-warning>a{grid-column:1/-1;display:block;padding:.75rem 1rem;color:#fff;background:#0b47a7;border-radius:.7rem;font-weight:850;text-align:center;text-decoration:none}
.landing-subscription-warning>a:hover,.landing-subscription-warning>a:focus-visible{background:#083b8d;outline:2px solid #76c8e8;outline-offset:2px}
@media(max-width:56.25rem){.landing-heading-grid{gap:11.5rem}.landing-heading-primary h1{font-size:2.35rem}}
@media(max-width:40rem){.landing-back-button{min-height:2.5rem;padding:.55rem .7rem;font-size:.72rem}.landing-hero{width:100%;min-height:19rem;border-radius:0 0 1.25rem 1.25rem}.landing-summary.landing-profile-heading{width:100%;padding:5.35rem 1rem 1.5rem}.landing-heading-grid{min-height:0;grid-template-columns:1fr;gap:1.15rem}.landing-heading-primary,.landing-heading-secondary{text-align:center}.landing-heading-primary>p,.landing-heading-secondary>p{margin-bottom:.6rem;font-size:.92rem}.landing-heading-primary h1{font-size:2.15rem}.landing-heading-secondary .landing-primary-button{width:100%;max-width:22.5rem}.landing-profile-heading .landing-avatar{width:8.5rem;height:8.5rem}.qsc-landing .landing-layout{width:calc(100% - 1.5rem)}}

/* Comando coerente per tornare indietro da popup e schede sovrapposte. */
.popup-back-button{display:inline-flex!important;width:auto!important;min-width:max-content!important;min-height:2.75rem!important;height:auto!important;flex:0 0 auto!important;align-items:center!important;justify-content:center!important;gap:.45rem!important;padding:.6rem .8rem!important;color:#0b47a7!important;background:#fff!important;border:1px solid #8bb8d5!important;border-radius:.75rem!important;font:inherit!important;font-size:.72rem!important;font-weight:900!important;line-height:1.1!important;text-decoration:none!important;white-space:nowrap!important;cursor:pointer!important}
.popup-back-button:hover,.popup-back-button:focus-visible{color:#fff!important;background:#0b47a7!important;border-color:#0b47a7!important;outline:2px solid #76c8e8!important;outline-offset:2px!important}
.client-search-overlay__close.popup-back-button,.client-request-detail__close.popup-back-button,.professional-request-close.popup-back-button{color:#fff!important;background:rgb(255 255 255 / 10%)!important;border-color:rgb(255 255 255 / 65%)!important}
.client-search-overlay__close.popup-back-button:hover,.client-search-overlay__close.popup-back-button:focus-visible,.client-request-detail__close.popup-back-button:hover,.client-request-detail__close.popup-back-button:focus-visible,.professional-request-close.popup-back-button:hover,.professional-request-close.popup-back-button:focus-visible{color:#0b47a7!important;background:#fff!important;border-color:#fff!important}
.period-dialog header,.media-edit-dialog__card header{grid-template-columns:1fr auto}
.landing-modal-close.landing-back-button,.landing-photo-close.landing-back-button{display:inline-flex;width:auto;height:auto;min-height:2.75rem;align-items:center;gap:.45rem;padding:.6rem .8rem;border-radius:.75rem;font-size:.72rem;font-weight:900;line-height:1.1;white-space:nowrap}
.landing-modal-card h2{padding-right:0;margin-top:3.4rem}

.admin-subscriptions-page{display:grid;gap:1rem}
.admin-subscription-list{display:grid;gap:.65rem}
.admin-subscription-card{display:grid;grid-template-columns:3rem minmax(0,1fr) auto 1rem;align-items:center;gap:.7rem;min-width:0;padding:.85rem;color:var(--color-text);background:#fff;border:1px solid var(--color-border);border-radius:.8rem;box-shadow:0 .25rem 1rem rgb(0 0 0 / 5%);text-decoration:none}
.admin-subscription-card:hover,.admin-subscription-card:focus-visible{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent),0 .35rem 1rem rgb(0 0 0 / 7%)}
.admin-subscription-status{display:inline-flex;min-height:1.7rem;align-items:center;justify-self:end;padding:.15rem .55rem;color:#216c40;background:#eaf7ee;border-radius:999px;font-size:.67rem;font-weight:850;white-space:nowrap}
.admin-subscription-status.is-expired{color:#9b3030;background:#fdecec}
.admin-subscription-status.is-inactive{color:#5f6b73;background:#edf0f2}
.admin-subscription-status.is-scheduled{color:#805600;background:#fff2d5}
@media(min-width:48rem){.admin-subscription-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:30rem){.admin-subscription-card{grid-template-columns:2.7rem minmax(0,1fr) 1rem}.admin-subscription-status{grid-column:2;justify-self:start}.admin-subscription-card .admin-user-chevron{grid-column:3;grid-row:1/3}}

.admin-pending-panel{display:grid;gap:.7rem;padding:.85rem;background:#fff8e7;border:1px solid #efd9a3;border-radius:.85rem;box-shadow:0 .3rem 1rem rgb(75 50 0 / 7%)}
.admin-pending-panel>header{display:flex;align-items:flex-end;justify-content:space-between;gap:.75rem}
.admin-pending-panel>header p,.admin-pending-panel>header h3{margin:0}.admin-pending-panel>header .status-kicker{color:#8a5a00;font-size:.68rem;font-weight:900;text-transform:uppercase}.admin-pending-panel>header h3{font-size:1.2rem}.admin-pending-panel>header>strong{display:grid;min-width:1.8rem;height:1.8rem;place-items:center;color:#805600;background:#ffe5aa;border-radius:999px;font-size:.78rem}
.admin-pending-list{display:grid;gap:.5rem}
.admin-pending-card{display:grid;grid-template-columns:2.6rem minmax(0,1fr) auto 1rem;align-items:center;gap:.65rem;min-width:0;padding:.7rem;color:var(--color-text);background:#fff;border:1px solid #ead8ae;border-radius:.65rem;text-decoration:none}
.admin-pending-card:hover,.admin-pending-card:focus-visible{border-color:#d5aa4e;box-shadow:0 0 0 2px #ffe7b1}
.admin-pending-icon{display:grid;width:2.6rem;height:2.6rem;place-items:center;color:#8a5a00;background:#fff2d5;border-radius:50%}
.admin-pending-card>span:nth-child(2){min-width:0}.admin-pending-card strong,.admin-pending-card small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-pending-card small{margin-top:.1rem;color:var(--color-muted);font-size:.72rem}.admin-pending-card>i{color:#9b8a66;font-size:.78rem}
.admin-pending-badge{padding:.3rem .5rem;color:#805600;background:#fff2d5;border-radius:999px;font-size:.67rem;font-weight:850;white-space:nowrap}
.admin-pending-all{display:flex;min-height:var(--touch-target);align-items:center;justify-content:center;gap:.45rem;color:#805600;font-weight:850;text-decoration:none}
.admin-pending-empty{margin:0;padding:.7rem;color:#66583b;background:#fff;border-radius:.6rem}
@media(min-width:48rem){.admin-pending-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:30rem){.admin-pending-card{grid-template-columns:2.6rem minmax(0,1fr) 1rem}.admin-pending-badge{grid-column:2;justify-self:start}.admin-pending-card>i{grid-column:3;grid-row:1/3}}

.admin-proposals-panel{display:grid;gap:.7rem;padding:.85rem;background:#eef8fc;border:1px solid #b9dceb;border-radius:.85rem;box-shadow:0 .3rem 1rem rgb(0 55 90 / 7%)}
.admin-proposals-panel>header{display:flex;align-items:flex-end;justify-content:space-between;gap:.75rem}.admin-proposals-panel>header p,.admin-proposals-panel>header h3{margin:0}.admin-proposals-panel>header .status-kicker{color:var(--color-primary);font-size:.68rem;font-weight:900;text-transform:uppercase}.admin-proposals-panel>header h3{font-size:1.2rem}.admin-proposals-panel>header>strong{display:grid;min-width:1.8rem;height:1.8rem;place-items:center;color:#175b80;background:#d8eef8;border-radius:999px;font-size:.78rem}
.admin-home-proposal-list{display:grid;gap:.5rem}.admin-home-proposal{display:grid;grid-template-columns:2.6rem minmax(0,1fr) auto;align-items:center;gap:.65rem;min-width:0;padding:.7rem;background:#fff;border:1px solid #cce3ed;border-radius:.65rem}.admin-home-proposal__icon{display:grid;width:2.6rem;height:2.6rem;place-items:center;color:var(--color-primary);background:#eaf5fb;border-radius:50%}.admin-home-proposal>span:nth-child(2){min-width:0}.admin-home-proposal strong,.admin-home-proposal small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-home-proposal small{margin-top:.1rem;color:var(--color-muted);font-size:.72rem}.admin-home-proposal__kind{padding:.3rem .5rem;color:#175b80;background:#eaf5fb;border-radius:999px;font-size:.67rem;font-weight:850;white-space:nowrap}.admin-proposal-all{display:flex;min-height:var(--touch-target);align-items:center;justify-content:center;gap:.45rem;color:var(--color-primary);font-weight:850;text-decoration:none}
.proposal-empty-state{margin:0;padding:1rem;color:var(--color-muted);background:#f5f8fa;border:1px dashed var(--color-border);border-radius:.7rem;text-align:center}
@media(min-width:48rem){.admin-home-proposal-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:30rem){.admin-home-proposal{grid-template-columns:2.6rem minmax(0,1fr)}.admin-home-proposal__kind{grid-column:2;justify-self:start}}

.admin-dashboard-page,.admin-user-browser{min-width:0}
.admin-dashboard-search{grid-template-columns:1fr}
.admin-dashboard-search input,.admin-user-browser input,.admin-user-browser select{width:100%;min-width:0;min-height:2.75rem;padding:.2rem 0;background:#fff;border:0;border-radius:0;outline:0;box-shadow:none;font-weight:700}
.admin-user-guidance{margin:0;padding:.85rem;color:#315b70;background:#eaf5fb;border-left:.25rem solid var(--color-primary);border-radius:.55rem;line-height:1.4}
.admin-pagination{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.6rem;padding:.65rem;background:#fff;border:1px solid var(--color-border);border-radius:.75rem}.admin-pagination button{display:flex;min-width:0;align-items:center;justify-content:center;gap:.4rem}.admin-pagination span{text-align:center;color:var(--color-muted);font-size:.78rem;font-weight:800;white-space:nowrap}
@media(min-width:48rem){.admin-dashboard-search{grid-template-columns:minmax(0,1fr) 8.5rem}.admin-dashboard-search>.primary-button{height:100%}.admin-user-browser{grid-template-columns:2fr 1fr 1fr 9rem}}
@media(max-width:30rem){.admin-pagination{grid-template-columns:1fr 1fr}.admin-pagination span{grid-column:1/-1;grid-row:1}.admin-pagination button:first-of-type{grid-column:1}.admin-pagination button:last-of-type{grid-column:2}}

.admin-subscription-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.25rem;padding:.25rem;background:#fff;border:1px solid var(--color-border);border-radius:.7rem;box-shadow:0 .25rem .85rem rgb(0 0 0 / 5%)}
.admin-subscription-tabs button{display:flex;min-width:0;min-height:3.2rem;align-items:center;justify-content:center;gap:.3rem;padding:.4rem;color:#65727d;background:transparent;border:0;border-radius:.5rem;font-size:.75rem;font-weight:850;cursor:pointer}
.admin-subscription-tabs button span{display:grid;min-width:1.35rem;height:1.35rem;place-items:center;padding:0 .25rem;color:#315b70;background:#eaf5fb;border-radius:999px;font-size:.67rem}
.admin-subscription-tabs button.is-active{color:#fff;background:var(--color-primary)}.admin-subscription-tabs button.is-active span{color:var(--color-primary);background:#fff}
.admin-subscription-card{display:grid;grid-template-columns:1fr;gap:.75rem;padding:.9rem}
.admin-subscription-card>header{display:grid;grid-template-columns:3rem minmax(0,1fr) auto;align-items:center;gap:.7rem;min-width:0}
.admin-subscription-expiry{align-self:start;padding:.28rem .5rem;color:#315b70;background:#eaf5fb;border-radius:999px;font-size:.68rem;font-weight:850;white-space:nowrap}
.admin-subscription-contacts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.2rem .65rem;padding:.7rem;background:#f6f9fb;border-radius:.55rem;color:var(--color-muted);font-size:.75rem}.admin-subscription-contacts>strong{grid-column:1/-1;color:var(--color-text);font-size:.78rem}.admin-subscription-contacts a{color:var(--color-primary);overflow-wrap:anywhere}
.admin-subscription-value{margin:0;color:var(--color-text);font-size:.82rem;font-weight:800}
.admin-subscription-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.admin-subscription-actions a{display:flex;min-width:0;min-height:var(--touch-target);align-items:center;justify-content:center;padding:.55rem;text-align:center;text-decoration:none}
@media(max-width:30rem){.admin-subscription-card{grid-template-columns:1fr}.admin-subscription-card>header{grid-template-columns:2.7rem minmax(0,1fr)}.admin-subscription-expiry{grid-column:2;justify-self:start}.admin-subscription-contacts,.admin-subscription-actions{grid-template-columns:1fr}.admin-subscription-contacts>strong{grid-column:auto}.admin-subscription-tabs button{flex-direction:column;font-size:.68rem}}

/* Schede dei professionisti contattati */
.client-recipient-box{padding:1rem;border-radius:1rem}.client-recipient-box>p{margin-bottom:1rem}.client-recipient-card{display:grid;grid-template-columns:9.4rem minmax(0,1fr);min-height:10.5rem;overflow:hidden;margin-top:.85rem;padding:0;background:#fff;border:1px solid #d9e3e9;border-radius:1rem;box-shadow:0 .45rem 1.5rem rgb(17 62 88 / 8%)}
.client-recipient-media{position:relative;min-height:10.5rem;background:#d9e4e9}.client-recipient-media>img{display:block;width:100%;height:100%;min-height:10.5rem;object-fit:cover;object-position:center top}.client-recipient-photo-placeholder{display:grid;width:100%;height:100%;min-height:10.5rem;place-items:center;color:#527083;background:#dce8ee;font-size:2.4rem}.client-recipient-profile{position:absolute;z-index:1;right:.65rem;bottom:1rem;left:.65rem;display:inline-flex;min-height:2.65rem;align-items:center;justify-content:center;gap:.4rem;margin:0;padding:.45rem .55rem;color:#fff;background:rgb(0 77 150 / 88%);border:1px solid rgb(255 255 255 / 86%);border-radius:.65rem;box-shadow:0 .25rem .9rem rgb(0 35 70 / 28%);font-size:.75rem;font-weight:900;text-decoration:none;backdrop-filter:blur(4px)}.client-recipient-profile:hover,.client-recipient-profile:focus-visible{color:#fff;background:#0066c5;outline:2px solid #80bcda;outline-offset:2px}
.client-recipient-body{display:flex;min-width:0;flex-direction:column;gap:.7rem;padding:1rem 1.1rem}.client-recipient-head{align-items:flex-start}.client-recipient-identity{min-width:0}.client-recipient-name{display:block;color:#0e2635;font-size:1rem}.client-recipient-role{display:block;margin-top:.1rem;color:var(--color-muted);font-size:.69rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.client-recipient-status{flex:0 0 auto}
.client-recipient-response{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.6rem;align-items:start;padding:.65rem .75rem;background:#f5f8fa;border-radius:.65rem}.client-recipient-response>i{margin-top:.15rem;color:#81919b}.client-recipient-response p{margin:0;color:#405562;font-size:.8rem}.client-recipient-response small{display:block;margin-top:.25rem;color:var(--color-muted);font-size:.68rem}.client-recipient-meta{margin:0;color:var(--color-muted);font-size:.78rem}
.client-recipient-contacts{display:flex;flex-wrap:wrap;gap:.45rem;margin:0;padding:0;background:transparent}.client-contact-link{display:inline-flex;min-height:2.2rem;align-items:center;gap:.4rem;padding:.4rem .65rem;color:#176c3c;background:#eaf7ef;border-radius:.6rem;font-size:.73rem;font-weight:850;text-decoration:none}.client-contact-link:hover,.client-contact-link:focus-visible{background:#d9f0e2;text-decoration:none}.client-recipient-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:auto}.client-recipient-button{flex:0 1 auto;min-height:2.65rem;padding:.45rem .85rem;border-radius:.65rem;font-size:.82rem}.client-recipient-card.is-contacted,.client-recipient-card.is-disabled{color:#7a858d;background:#f5f7f8}.client-recipient-card.is-hired{background:#f2faf5}
.client-recipient-contacts.admin-client-contacts{margin-top:1rem;padding-top:1rem}
@media(max-width:47.99rem){.client-recipient-card{grid-template-columns:7.25rem minmax(0,1fr)}.client-recipient-media,.client-recipient-media>img,.client-recipient-photo-placeholder{min-height:11.5rem}.client-recipient-body{padding:.85rem}.client-recipient-actions{align-items:stretch;flex-direction:column}.client-recipient-button{width:100%}}
@media(max-width:30rem){.client-recipient-card{grid-template-columns:1fr}.client-recipient-media,.client-recipient-media>img,.client-recipient-photo-placeholder{height:14rem;min-height:14rem}.client-recipient-body{padding:.9rem}.client-recipient-response{grid-template-columns:1fr}.client-recipient-response>i{display:none}.client-recipient-profile{right:.8rem;bottom:.8rem;left:.8rem}.client-recipient-head{display:grid;gap:.45rem}.client-recipient-status{width:max-content;white-space:normal}}

/* Ricerca rilanciata da una richiesta esistente */
.search-relaunch-criteria{position:relative;z-index:3;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem;margin:0 .75rem;padding:.25rem;background:#80bcda;border-radius:.65rem;box-shadow:0 .5rem 1.75rem rgb(0 35 65 / 16%)}.search-relaunch-criterion{display:grid;min-width:0;min-height:4.25rem;align-content:center;gap:.2rem;padding:.55rem .75rem;background:#fff;border-radius:.45rem}.search-relaunch-criterion span{color:#52606d;font-size:.7rem;font-weight:800;text-transform:uppercase}.search-relaunch-criterion strong{font-size:.92rem;overflow-wrap:anywhere}.search-relaunch-criterion:last-child{grid-column:1/-1}.search-relaunch-notice{margin:0 0 .8rem}.is-relaunch-search [data-filter-panel] :disabled{cursor:not-allowed;opacity:.72}.search-card.is-already-contacted .search-card__footer{background:#fff}.search-card.is-already-contacted .search-selection-toggle:disabled{color:#65727d;background:#e1e6ea;border-color:#c7d0d6;cursor:not-allowed;opacity:1}
@media(min-width:48rem){.search-relaunch-criteria{width:min(calc(100% - 4rem),var(--page-content-max));grid-template-columns:1.15fr 1.25fr .8fr .8fr 1fr;margin-right:auto;margin-left:auto}.search-relaunch-criterion:last-child{grid-column:auto}}
.subscription-access-dialog{width:min(92vw,34rem);max-width:34rem;padding:0;border:0;border-radius:1.25rem;background:transparent;color:var(--color-text,#10243e);box-shadow:0 1.5rem 4rem rgb(7 42 82 / .32)}
.subscription-access-dialog::backdrop{background:rgb(4 28 63 / .72);backdrop-filter:blur(.15rem)}
.subscription-access-dialog__card{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:1.25rem 1.25rem 1.5rem;border:.125rem solid #8ac9e7;border-radius:1.25rem;background:#fff;text-align:center}
.subscription-access-dialog__back{align-self:flex-start;padding:.5rem 0;border:0;background:transparent;color:#0069c8;font:inherit;font-weight:800;cursor:pointer}
.subscription-access-dialog__icon{display:grid;width:4rem;height:4rem;place-items:center;border-radius:50%;background:#e5f4fb;color:#0069c8;font-size:1.65rem}
.subscription-access-dialog h2,.subscription-access-dialog p{margin:0}
.subscription-access-dialog p{max-width:27rem;line-height:1.55}
.subscription-access-dialog__action{width:100%;margin-top:.25rem}
@media (min-width:48rem){.subscription-access-dialog__card{padding:1.5rem 2rem 2rem}.subscription-access-dialog__action{width:auto;min-width:15rem}}
