@font-face {
  font-family: "Varela Round";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("https://fonts.gstatic.com/s/varelaround/v20/w8gdH283Tvk__Lua32TysjIfp8uK.ttf") format("truetype");
}

:root {
  --font-family-app: "Varela Round";
  --crm-primary-cta: #0b7ff0;
  --crm-primary-cta-hover: #096fd2;
  --crm-primary-cta-active: #075faf;
  --crm-macro-title: #0e2166;
  --crm-secondary-hover-bg: #f7f9fc;
  --crm-secondary-hover-border: #aebbd0;
  --color-macro-title: var(--crm-macro-title);
  --color-brand: #1F3C88;
  --color-primary: var(--crm-primary-cta);
  --color-primary-hover: var(--crm-primary-cta-hover);
  --color-primary-active: var(--crm-primary-cta-active);
  --color-primary-soft: #EAF0FF;
  --color-page: #F5F7FB;
  --color-surface: #FFFFFF;
  --color-surface-subtle: #F8FAFC;
  --color-border: #E2E8F0;
  --color-border-strong: #CBD5E1;
  --color-heading: #012970;
  --color-text: #172033;
  --color-text-secondary: #475569;
  --color-text-muted: #64748B;
  --color-placeholder: #94A3B8;
  --focus-ring: 0 0 0 3px rgba(49, 87, 200, 0.22);
  --shadow-xs: 0 1px 2px rgba(15, 23, 42, 0.04);
  --shadow-sm: 0 8px 24px rgba(15, 23, 42, 0.06);
  --transition-fast: 120ms cubic-bezier(.2, 0, 0, 1);
  --transition-base: 160ms cubic-bezier(.2, 0, 0, 1);
  font-family: var(--font-family-app);
}

.auth-shell {
  position: fixed;
  inset: 0;
  z-index: 100;
  box-sizing: border-box;
  min-height: 100vh;
  min-height: 100svh;
  min-height: 100dvh;
  overflow-x: hidden;
  overflow-y: auto;
  padding: max(24px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));
  border-radius: 0;
  background: var(--color-page);
  box-shadow: none;
}
.auth-shell__content { display:flex;min-height:calc(100% - 48px);flex-direction:column;align-items:center;justify-content:center;gap:20px;width:100%; }
.auth-card { box-sizing:border-box;width:100%;max-width:520px;padding:32px;border:1px solid var(--color-border);border-radius:16px;background:var(--color-surface);box-shadow:var(--shadow-sm); }
.auth-brand { padding:0;background:transparent;color:var(--color-text);text-align:center; }
.auth-brand__logo { display:block;width:104px;max-width:40%;height:auto;margin:0 auto 18px;border-radius:14px;object-fit:contain; }
.auth-brand__name { margin:0 0 20px;color:var(--color-brand);font-size:16px;font-weight:400; }
.auth-brand h1 { margin:0;color:var(--color-heading);font-size:32px;line-height:1.25; }
.auth-brand__description { margin:8px 0 0;color:var(--color-text-secondary);font-size:16px;line-height:1.5; }
.auth-form { display:grid;gap:20px;margin-top:32px;align-items:stretch; }
.auth-field { display:grid;gap:8px; }
.auth-field label { color:var(--color-text);font-size:14px;line-height:20px; }
.auth-field input { box-sizing:border-box;width:100%;min-height:44px;padding:12px;border:1px solid var(--color-border-strong);border-radius:10px;background:var(--color-surface);color:var(--color-text);font:inherit;transition:border-color var(--transition-fast),box-shadow var(--transition-fast); }
.auth-field input::placeholder { color:var(--color-placeholder); }
.auth-field input:focus-visible { outline:none;border-color:var(--color-primary);box-shadow:var(--focus-ring); }
.auth-status { display:flex;gap:8px;margin:0;padding:12px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface-subtle);color:var(--color-text-secondary);font-size:14px;line-height:20px; }
.auth-status[hidden],.auth-status:has(.auth-status__text:empty) { display:none; }
.auth-status__label { font-weight:400; }
.auth-status[data-tone="error"] { border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-text); }
.auth-status[data-tone="error"] .auth-status__label::after { content:" errore"; }
.auth-status[data-tone="success"] .auth-status__label::after { content:" completato"; }
.auth-submit { box-sizing:border-box;width:100%;min-height:44px;padding:12px;border:0;border-radius:10px;color:var(--color-surface);font:inherit;cursor:pointer; }
.auth-submit:focus-visible { outline:none;box-shadow:var(--focus-ring); }
.auth-submit:disabled { cursor:not-allowed;opacity:.65; }
.auth-footer { color:var(--color-text-muted);font-size:12px;line-height:16px;text-align:center; }
.brand-signature { display:flex;align-items:center;justify-content:center;gap:9px;color:var(--color-text-muted);font-size:13px;line-height:1; }
.brand-signature img { display:block;width:auto;max-width:118px;height:22px;object-fit:contain; }
.brand-signature img[alt="Migliorshop"] { width:26px;height:26px; }
.brand-signature strong { color:var(--crm-macro-title);font-size:16px; }
.auth-brand-signature { min-height:32px; }
@media (max-width: 767px) { .auth-shell { padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right)); }.auth-card{padding:24px}.auth-brand h1{font-size:28px}.auth-form{margin-top:24px} }
@media (max-width: 479px) { .auth-shell { padding: max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left)); }.auth-shell__content{min-height:calc(100% - 24px);gap:16px}.auth-card{padding:16px}.auth-brand__name{margin-bottom:16px}.auth-brand h1{font-size:24px}.auth-form{gap:16px;margin-top:20px} }
@media (max-height: 640px) { .auth-shell__content { justify-content:flex-start; } }
@media (prefers-reduced-motion: reduce) { .auth-field input,.auth-submit { transition-duration:0ms; }.auth-submit:hover:not(:disabled){transform:none} }
    :root { font-family: var(--font-family-app); color: #172033; background: #f4f6fa; }
    body { margin: 0; } header { background:#172033;color:white;padding:1rem 2rem; }
    main { max-width:960px;margin:2rem auto;padding:0 1rem; }
    section { background:white;border-radius:.6rem;padding:1.25rem;box-shadow:0 2px 10px #17203314; }
    form,.row { display:flex;gap:.75rem;flex-wrap:wrap;align-items:end; }
    label { display:grid;gap:.3rem; } input,select,button { padding:.65rem;border:1px solid #aab2c0;border-radius:.35rem; }
    button { cursor:pointer;background:#2357d9;color:white;border:0; } nav { margin-top:1.5rem;display:flex;gap:.5rem;flex-wrap:wrap; }
    nav button { padding:.6rem .8rem; } table { width:100%;border-collapse:collapse;margin-top:1rem; }
    th,td { text-align:left;padding:.65rem;border-bottom:1px solid #e4e7ec; } .muted { color:#667085; }
    #directory { margin-top:1rem; } #active-tenant { font-weight:700;color:#2357d9; }
    #active-filters { width:100%;margin:.75rem 0 .25rem;overflow-wrap:anywhere; }
    [hidden] { display:none !important; } #message { min-height:1.5rem;color:#9b1c1c; }
    tbody tr { cursor:pointer; } tbody tr:hover { background:#f0f5ff; }
    .detail-modal { position:fixed;inset:0;z-index:20;background:#f4f6fa;overflow:auto; }
    .detail-hero { background:var(--color-surface);color:white;padding:1.2rem 2rem;display:flex;justify-content:space-between;gap:1rem;align-items:start; }
    .detail-hero h2 { margin:.2rem 0; } .detail-close { background:#ffffff24;font-size:1.4rem; }
    .detail-tabs { position:sticky;top:0;background:white;padding:.7rem 2rem;box-shadow:0 2px 8px #17203320;z-index:2; }
    .detail-tabs button { background:transparent;color:#344054;border-bottom:3px solid transparent;border-radius:0; }
    .detail-tabs button.active { color:#2357d9;border-color:#2357d9; }
    .detail-content { max-width:1100px;margin:1.5rem auto;padding:0 1rem 5rem; }
    .detail-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem; }
    .info-box { background:white;border:1px solid #e4e7ec;border-radius:.55rem;padding:.8rem;min-height:68px; }
    .info-box.is-editing { border-color:#2357d9;box-shadow:0 0 0 2px #2357d920; } .info-box.is-saving { opacity:.7; }
    .info-box__label { color:#667085;font-size:.8rem; } .info-box__value { display:block;margin-top:.45rem;white-space:pre-wrap; }
    .info-box__edit { float:right;background:transparent;color:#2357d9;padding:.2rem;border:0; }
    .info-box__editor input,.info-box__editor textarea { width:100%;box-sizing:border-box;margin-top:.35rem; }
    .info-box__actions { display:flex;justify-content:flex-end;gap:.4rem;margin-top:.6rem; } .info-box__state { color:#667085;font-size:.8rem; }
    .secondary { background:white;color:#344054;border:1px solid #aab2c0; }
    .next-contact { margin-top:1rem;border-left:4px solid #2357d9; } .next-contact__badges { display:flex;gap:.4rem;margin:.6rem 0; }
    .badge { background:#e8efff;padding:.25rem .55rem;border-radius:1rem;font-size:.8rem; } .badge.overdue { background:#fee4e2;color:#9b1c1c; }
    .next-contact__editor { display:grid;gap:.7rem;max-width:560px; } .next-contact__warning { color:#9b5d00;min-height:1.2rem; }
    .deferred { padding:2rem;color:#667085;text-align:center; }
    #task-results { display:grid;gap:.75rem;margin:.75rem 0; }
    .task-card { display:grid;width:100%;box-sizing:border-box;gap:.55rem;text-align:left;background:#fff;color:#172033;border:1px solid #c8d0dc;border-radius:.55rem;padding:1rem;cursor:pointer; }
    .task-card:hover { border-color:#2357d9;background:#f8faff; }
    .task-card:focus-visible { outline:3px solid #86a8ff;outline-offset:2px; }
    .task-card.is-selected { border-color:#2357d9;box-shadow:0 0 0 2px #2357d930;background:#f4f7ff; }
    .task-card__top,.task-card__meta { display:flex;gap:.5rem;flex-wrap:wrap;align-items:center; }
    .task-card__title { font-size:1rem;font-weight:700; } .task-card__meta { color:#475467;font-size:.9rem; }
    .task-card__badge { background:#e8efff;color:#173b8f;padding:.22rem .55rem;border-radius:1rem;font-size:.8rem;font-weight:700; }
    .task-card__badge.is-overdue { background:#fee4e2;color:#9b1c1c; }
    .task-panel { margin-top:1rem;border:1px solid #b8c7e8;background:#f8faff;box-shadow:none; }
    .task-panel h3 { margin-top:0; } .task-panel__intro { color:#475467;width:100%;margin-top:-.35rem; }
    #task-form { align-items:start; } #task-form label { flex:1 1 210px;min-width:0; } #task-form input,#task-form select,#task-form textarea { width:100%;box-sizing:border-box;min-width:0; }
    .task-client-help,.task-form__actions,.task-form__state,.task-client-picker,.task-client-selection { width:100%; }
    .task-form__actions { display:flex;gap:.5rem;flex-wrap:wrap; } .task-form__state { min-height:1.3rem;margin:.2rem 0 0; }
    .task-client-results { display:grid;gap:.4rem; } .task-client-result { background:white;color:#172033;border:1px solid #aab2c0;text-align:left; }
    .task-client-result.is-selected { border-color:#2357d9;background:#e8efff; } .task-client-result span { display:block; }
    .task-state { padding:.65rem .8rem;border-radius:.4rem;background:#eef2f7;color:#344054; }
    .task-state:empty { display:none; }
    .activities { background:white;border-radius:.6rem;padding:1.25rem; } .activities h3 { margin:.2rem 0; }
    .activities__list { list-style:none;padding:0;margin:1rem 0;display:grid;gap:1rem; }
    .activity-card { border-left:4px solid #2357d9;background:#f8faff;padding:1rem;border-radius:.35rem; }
    .activity-card__top { display:flex;justify-content:space-between;gap:1rem;align-items:start; }
    .activity-card__eyebrow { color:#2357d9;font-size:.78rem;font-weight:700;text-transform:uppercase;margin:0; }
    .activity-card h4 { margin:.3rem 0; } .activity-card__meta,.activity-card__description { color:#667085;white-space:pre-wrap; }
    .activity-card__tags { display:flex;gap:.4rem;flex-wrap:wrap; } .activity-card__tag { background:#e8efff;padding:.25rem .5rem;border-radius:1rem;font-size:.8rem; }
    .activity-actions { display:flex;justify-content:space-between;gap:.7rem;align-items:center; }
    .activity-form { margin:1rem 0;padding:1rem;background:#f8faff;border:1px solid #d8e2ff;border-radius:.5rem; }
    .activity-form textarea { min-width:280px;min-height:70px; } .activity-form__state { width:100%;min-height:1.2rem; }
    #toast { position:fixed;right:1rem;top:1rem;z-index:30;background:#172033;color:white;padding:.8rem 1rem;border-radius:.4rem; }
    @media(max-width:700px) { main { margin:1rem auto;padding:0 .65rem; } section { padding:.9rem; } .detail-grid { grid-template-columns:1fr; } .detail-hero,.detail-tabs { padding-left:1rem;padding-right:1rem; } .task-card__top { align-items:flex-start; } #task-form label { flex-basis:100%; } }
/* Opportunity module: responsive cards consistent with the existing CRM shell. */
.opportunity-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin:1rem 0}.opportunity-card{border:1px solid #dbe2ea;border-radius:12px;padding:1rem;background:#fff;cursor:pointer}.opportunity-card:hover,.opportunity-card:focus{border-color:#4c6ef5;box-shadow:0 4px 16px #18315318}.opportunity-card h3{margin:.35rem 0}

.agenda__header{align-items:center}.agenda-summary{display:grid;grid-template-columns:repeat(6,minmax(7rem,1fr));gap:.75rem;margin:1rem 0}.agenda-summary div{background:#f3f6fa;border:1px solid #d7dee8;border-radius:.65rem;padding:.75rem}.agenda-summary dt{color:#465568;font-size:.85rem}.agenda-summary dd{font-size:1.6rem;font-weight:700;margin:.2rem 0 0}.agenda-filters{display:flex;align-items:end;flex-wrap:wrap;gap:.75rem}.agenda-filters label{min-width:10rem}.agenda-list{display:grid;gap:.8rem;margin:1rem 0}.agenda-card{border:1px solid #ccd5e0;border-radius:.7rem;padding:1rem;background:#fff}.agenda-card:focus-visible,.agenda button:focus-visible,.agenda select:focus-visible,.agenda input:focus-visible{outline:3px solid #2563eb;outline-offset:2px}.agenda-card h3,.agenda-card p{margin:.1rem 0 .5rem}.agenda-card__meta,.agenda-card__actions{display:flex;gap:.45rem;flex-wrap:wrap;margin-top:.65rem}.agenda-card__badge{border:1px solid #b9c5d3;border-radius:999px;padding:.2rem .55rem;font-size:.82rem}.agenda-card__badge.is-overdue{border-color:#991b1b;font-weight:700}.agenda-card__badge.is-carryover{border-color:#7c3aed;font-weight:700}
@media(max-width:700px){.agenda-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.agenda-filters,.agenda-filters label{display:block;width:100%}.agenda-list{grid-template-columns:1fr}}
.additional-contacts{background:#fff;border-radius:.6rem;padding:1.25rem}.additional-contacts__list{display:grid;gap:1rem;margin-top:1rem}.additional-contact-card{border:1px solid #d8e2ef;border-left:4px solid #2357d9;border-radius:.5rem;padding:1rem;overflow-wrap:anywhere}.additional-contact-card h4{margin:.1rem 0 .7rem}.additional-contact-card p{margin:.35rem 0}.additional-contact-card .badge{display:inline-block;background:#fff3cd;color:#684d00;padding:.2rem .5rem;border-radius:1rem}.additional-contacts form label{display:block;margin:.45rem 0}.additional-contacts form input{box-sizing:border-box;width:100%}@media(max-width:700px){.additional-contacts__list{grid-template-columns:1fr}.additional-contact-card .row{flex-direction:column;align-items:stretch}}
.customer-history__list{list-style:none;padding:0;display:grid;gap:.8rem}.customer-history__event{background:#fff;border:1px solid #d8dee9;border-radius:.6rem;padding:1rem}.customer-history__event p{margin:.3rem 0}.customer-history__description{font-weight:700}.customer-history button:focus-visible{outline:3px solid #2357d9;outline-offset:2px}@media(max-width:700px){.customer-history__event{display:block}}
.customer-opportunities{padding:1rem 0}.customer-opportunity-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}.inline-confirm{display:flex;gap:.6rem;align-items:center;padding:.75rem;border:1px solid #f0b429;border-radius:8px;background:#fff8e1}

/* Approved strategy library */
#approved-strategy-list,#customer-approved-strategy-list{display:grid;gap:1rem;margin:1rem 0}#approved-strategy-list article,#customer-approved-strategy-list article{border:1px solid #d9e0e7;border-radius:.65rem;padding:1rem;background:#fff}#approved-strategy-detail iframe,#customer-approved-strategy-detail iframe,#approved-strategy-preview-content iframe{width:100%;min-height:18rem;border:1px solid #d9e0e7;background:#fff}#approved-strategy-form textarea,#customer-approved-strategy-form textarea{min-height:14rem;font-family:var(--font-family-app)}
#appointments .appointment-communications{margin-top:1rem;padding:1rem;border-top:1px solid #d7dee8}.appointment-communication-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.75rem}.appointment-communication-card{padding:.75rem;border:1px solid #d7dee8;border-radius:.5rem}.appointment-communication-card iframe{width:100%;min-height:260px;border:1px solid #d7dee8}

/* UI-02 authenticated application shell */
html,
body,
button,
input,
textarea,
select,
option,
table,
thead,
tbody,
tfoot,
tr,
th,
td,
dialog,
[role="dialog"],
[role="menu"],
[role="tooltip"] { font-family:var(--font-family-app); }
html,body { min-width:0;background:var(--color-page);color:var(--color-text); }
main { max-width:none;margin:0;padding:0; }
.btn-primary { border-color:var(--crm-primary-cta);background:var(--crm-primary-cta);color:#fff;font-weight:400;transition:background-color var(--transition-fast),border-color var(--transition-fast); }
.btn-primary:hover:not(:disabled) { border-color:var(--crm-primary-cta-hover);background:var(--crm-primary-cta-hover); }
.btn-primary:active:not(:disabled) { border-color:var(--crm-primary-cta-active);background:var(--crm-primary-cta-active); }
.btn-primary:focus-visible { outline:3px solid rgba(11,127,240,.3);outline-offset:2px; }
.btn-secondary,.secondary { background:#fff;color:var(--crm-macro-title);border:1px solid var(--color-border-strong);transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast); }
.btn-secondary:hover:not(:disabled),.secondary:hover:not(:disabled) { background:var(--crm-secondary-hover-bg);border-color:var(--crm-secondary-hover-border);color:var(--crm-macro-title); }
.macro-title,
#app-content > section > .row:first-child > h2,
#app-content > section > h2:first-child,
#detail-modal .detail-hero h2,
#app-content > section > header h2:first-child { color:var(--color-macro-title); }
/* Authenticated shell declarations live in the UI-02B section below. */
:focus-visible { outline:2px solid var(--color-primary);outline-offset:2px;box-shadow:var(--focus-ring); }
body.app-drawer-open { overflow:hidden; }

/* UI-02B: authenticated application shell (login rules above remain isolated). */
html,body,button,input,textarea,select,option,table,th,td,dialog,menu,[role="tooltip"]{font-family:"Varela Round"}
:root{--crm-page-bg:#f4f7fb;--layout-max:min(2400px,96vw);--layout-max-wide:min(2800px,97vw)}
body:has(#signed-in:not([hidden])){background:var(--crm-page-bg)}
body>main{max-width:none;margin:0;padding:0}
.app-shell{box-sizing:border-box;width:100%;min-height:100vh;padding:68px 0 0;background:var(--crm-page-bg)}
.app-topbar{position:fixed;z-index:100;top:0;right:0;left:0;box-sizing:border-box;display:flex;height:68px;align-items:center;justify-content:space-between;padding:0 clamp(16px,4vw,32px);border-bottom:1px solid rgba(148,163,184,.24);background:#fff;color:#0f172a;box-shadow:none}
.portal-topbar__branding,.portal-topbar__actions{display:flex;align-items:center}.portal-topbar__branding{gap:clamp(12px,2vw,20px)}.portal-topbar__logo{display:flex;width:62px;height:58px;align-items:center;justify-content:center;overflow:hidden;border-radius:10px;text-decoration:none}.portal-topbar__logo img{display:block;width:100%;height:100%;object-fit:contain}.portal-topbar__actions{gap:12px}.portal-topbar__menu-toggle{display:flex;min-width:44px;min-height:44px;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px;border:0;background:transparent;color:#0f172a;transition:opacity .18s ease}.portal-topbar__menu-toggle:hover{opacity:.74}.portal-topbar__menu-bars{width:24px;height:2px;border-radius:2px;background:#0f172a;transition:transform .18s ease,opacity .18s ease}.app-drawer-open .portal-topbar__menu-bars:nth-child(1){transform:translateY(6px) rotate(45deg)}.app-drawer-open .portal-topbar__menu-bars:nth-child(2){opacity:0}.app-drawer-open .portal-topbar__menu-bars:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.account-toggle{display:grid;width:44px;height:44px;min-width:44px;place-items:center;padding:3px;border:0;border-radius:50%;background:transparent;box-shadow:none}.account-toggle__avatar{display:grid;width:38px;height:38px;place-items:center;border-radius:50%;background-color:transparent;background-image:linear-gradient(135deg,#e2e8f0,#cbd5e1);background-position:center;background-size:cover;color:#1f2937}.account-toggle__name{display:none}.account-menu{z-index:110;top:68px;right:clamp(16px,4vw,32px);padding:20px;border:1px solid #d9e6fb;border-radius:10px;background:#fff;box-shadow:none}.account-menu__tenant{color:#334155}
.app-drawer{position:fixed;z-index:90;top:68px;bottom:0;left:0;box-sizing:border-box;display:flex;width:min(320px,85vw);flex-direction:column;gap:18px;padding:clamp(20px,5vw,28px);overflow-y:auto;border-right:1px solid rgba(148,163,184,.28);background:#fff;box-shadow:none;transform:translateX(-100%);transition:transform .18s ease}.app-drawer.is-open{transform:translateX(0)}.app-drawer-backdrop{position:fixed;z-index:85;inset:0;background:rgba(15,23,42,.18)}.portal-sidebar__header{display:flex;align-items:center;justify-content:space-between}.portal-sidebar__title{color:#1f3c88;font:700 20px/1.3 Poppins,sans-serif;letter-spacing:.01em}.portal-sidebar__close{display:grid;width:44px;height:44px;place-items:center;padding:4px;border:0;background:transparent;color:#dc2626;font-size:28px;line-height:1}.app-navigation{display:flex;flex-direction:column;gap:5px;margin:0}.app-navigation button{display:flex;min-height:48px;align-items:center;gap:12px;padding:11px 14px;border:0;border-radius:8px;background:transparent;color:#1f3c88;font:600 17px/1.3 Poppins,sans-serif;letter-spacing:.01em;text-align:left;text-transform:none;transition:background .16s ease,color .16s ease}.app-navigation button::before{width:8px;height:8px;flex:0 0 8px;border:0;border-radius:50%;background:rgba(100,116,139,.4);content:""}.app-navigation button:hover,.app-navigation button:focus-visible,.app-navigation button[aria-current="page"]{background:#eaf2ff;color:#1f3c88;box-shadow:none}.app-navigation button[aria-current="page"]::before{background:#1f3c88;box-shadow:none}.app-content{box-sizing:border-box;width:100%;max-width:none;margin:0 auto;padding:48px 0 0}.app-content>.dashboard{max-width:none}.portal-footer{margin-top:0;padding:12px 20px 8px;border-top:1px solid #cfe2ff;background:transparent;color:#1f3c88;text-align:center}
@media(min-width:1024px){.app-drawer{width:min(320px,28vw)}}@media(max-width:768px){.app-content{padding-top:32px}}@media(max-width:480px){.portal-topbar__logo{width:56px;height:52px}.app-topbar{padding-right:max(8px,env(safe-area-inset-right));padding-left:max(8px,env(safe-area-inset-left))}}@media(prefers-reduced-motion:reduce){.app-drawer,.portal-topbar__menu-bars{transition-duration:0ms}}

/* Navigation links keep the exact visual contract of the original buttons. */
.app-navigation a[data-app-nav]{display:flex;min-height:48px;align-items:center;gap:12px;padding:11px 14px;border:0;border-radius:8px;background:transparent;color:#1f3c88;font:600 17px/1.3 Poppins,sans-serif;letter-spacing:.01em;text-align:left;text-decoration:none;text-transform:none;transition:background .16s ease,color .16s ease}
.app-navigation a[data-app-nav]::before{width:8px;height:8px;flex:0 0 8px;border:0;border-radius:50%;background:rgba(100,116,139,.4);content:""}
.app-navigation a[data-app-nav]:hover,.app-navigation a[data-app-nav]:focus-visible,.app-navigation a[data-app-nav][aria-current="page"]{background:#eaf2ff;color:#1f3c88;box-shadow:none}
.app-navigation a[data-app-nav][aria-current="page"]::before{background:#1f3c88;box-shadow:none}

/* Canonical per-appointment automation controls rendered directly by crm.js. */
.appointment-automation-permissions{min-width:0;margin:18px 0 4px;padding:16px;border:1px solid var(--border,#dfe5ec);border-radius:14px;background:var(--surface-subtle,#f8fafc)}
.appointment-automation-permissions__legend{padding:0 7px;color:var(--text-muted,#667085);font-size:12px;font-weight:800;letter-spacing:.055em;text-transform:uppercase}
.appointment-automation-permissions__intro{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:12px}.appointment-automation-permissions__intro strong{font-size:15px}.appointment-automation-permissions__intro span{color:var(--text-muted,#667085);font-size:12px}
.appointment-automation-permissions__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.appointment-automation-permissions__item{display:flex;min-height:0;align-items:flex-start;gap:10px;padding:10px 11px;border:1px solid var(--border,#dfe5ec);border-radius:11px;background:var(--surface,#fff);cursor:pointer}.appointment-automation-permissions__item input{width:16px!important;min-width:16px!important;max-width:16px!important;height:16px!important;flex:0 0 16px!important;margin:3px 0 0!important;padding:0!important;accent-color:var(--primary,#1677ff);appearance:auto!important;transform:none!important}.appointment-automation-permissions__copy{display:grid;min-width:0;gap:2px}.appointment-automation-permissions__copy strong{font-size:13px;line-height:1.35}.appointment-automation-permissions__copy small{color:var(--text-muted,#667085);font-size:11px;line-height:1.4}
.appointment-automation-count{display:inline-flex;min-height:26px;align-items:center;padding:4px 9px;border:1px solid var(--border,#dfe5ec);border-radius:999px;background:var(--surface,#fff);color:var(--text-secondary,#475467);font-size:11px;font-weight:750;white-space:nowrap}
@media(max-width:720px){.appointment-automation-permissions__grid{grid-template-columns:1fr}}

