/* A restrained product-surface refresh layered over the existing Servio3 UI. */
:root {
  --surface: rgba(255, 255, 255, .88);
  --surface-solid: #fff;
  --surface-muted: #f1f5f0;
  --line-soft: #e4ebe4;
  --shadow-sm: 0 1px 2px rgba(16, 42, 30, .04), 0 4px 12px rgba(16, 42, 30, .04);
  --shadow-md: 0 12px 30px rgba(16, 42, 30, .08), 0 2px 8px rgba(16, 42, 30, .04);
  --focus-ring: 0 0 0 4px rgba(75, 142, 105, .17);
  --font-ui: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI Variable", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --font-mono: ui-monospace, "SFMono-Regular", "Cascadia Code", "Roboto Mono", Consolas, monospace;
}

body {
  font-family: var(--font-ui);
  font-size: 15.5px;
  line-height: 1.55;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

button, input, select, textarea,
.button, .new-button, .quiet-action, .location-toggle, .finish-button {
  font-family: var(--font-ui);
}

body:not(.marketing-body) :is(h1, h2, h3, .brand) {
  font-family: var(--font-ui);
  letter-spacing: -.032em;
}

body.marketing-body {
  font-family: var(--font-ui);
}

body.marketing-body :is(h1, h2, h3, .site-logo),
.site-button {
  font-family: var(--font-ui);
}

body.marketing-body :is(h1, h2, h3) {
  letter-spacing: -.032em;
}

.nav-label, .schedule-row time, .schedule-row em,
.job-list time, .share-url, .shared-quote-header small,
.settings-tile > span {
  font-family: var(--font-mono);
}

.subtle, .hint, .data-list small, .quote-list small, .job-list small {
  line-height: 1.6;
}

@media (max-width: 620px) {
  body { font-size: 16px; line-height: 1.58; }
  input, select, textarea { font-size: 16px; }
  body:not(.marketing-body) h1 { letter-spacing: -.038em; }
}

body:not(.marketing-body):not(.public-site-body) {
  background:
    radial-gradient(circle at 78% -14%, rgba(166, 211, 181, .42), transparent 27rem),
    linear-gradient(135deg, #f8faf7 0%, #f2f6f0 100%);
}

.sidebar {
  width: 252px;
  padding: 24px 15px 18px;
  background: linear-gradient(160deg, #12372a 0%, #0b251c 100%);
  box-shadow: 18px 0 50px rgba(9, 38, 27, .09);
}
.sidebar-backdrop { display: none; }

.brand { letter-spacing: -.055em; }
.workspace { margin: 10px 10px 28px; }
.side-nav { gap: 5px; }
.side-nav a {
  border: 1px solid transparent;
  border-radius: 9px;
  padding: 10px 11px;
  transition: background .18s ease, border-color .18s ease, transform .18s ease;
}
.side-nav a:hover { transform: translateX(2px); }
.side-nav a.active,
.side-nav a:hover { background: rgba(228, 246, 233, .12); border-color: rgba(228, 246, 233, .08); }
.new-button {
  border-radius: 9px;
  padding: 11px;
  box-shadow: 0 8px 20px rgba(231, 118, 85, .23);
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.new-button:hover { background: #dc6b4c; box-shadow: 0 12px 24px rgba(231, 118, 85, .31); transform: translateY(-1px); }
.account { border-top-color: rgba(203, 232, 214, .13); }

.app-main { margin-left: 252px; padding-top: 52px; }
.topbar { margin-bottom: 36px; }
.topbar h1 { font-size: clamp(2.2rem, 3.6vw, 3.25rem); }
.eyebrow {
  color: #3f6d53;
  font-family: var(--font-ui);
  font-size: .75rem;
  font-weight: 750;
  line-height: 1.35;
  letter-spacing: .075em;
}

.button,
.site-button {
  border-radius: 9px;
  padding: 10px 16px;
  box-shadow: 0 2px 3px rgba(9, 41, 28, .09), 0 7px 16px rgba(9, 41, 28, .11);
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.button:hover,
.site-button:hover { transform: translateY(-1px); box-shadow: 0 5px 8px rgba(9, 41, 28, .11), 0 12px 24px rgba(9, 41, 28, .13); }
.button.secondary { border-color: #d7e2d8; box-shadow: var(--shadow-sm); }
.button.secondary:hover { background: #f8fbf8; }

.metrics article,
.panel,
.content-panel,
.form-card,
.service-manage-list,
.site-service-grid article {
  border-color: var(--line-soft);
  border-radius: 14px;
  box-shadow: var(--shadow-sm);
}
.metrics article {
  position: relative;
  overflow: hidden;
  padding: 20px;
  transition: transform .2s ease, box-shadow .2s ease;
}
.metrics article::after {
  content: '';
  position: absolute;
  right: -20px;
  bottom: -25px;
  width: 92px;
  height: 92px;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(140, 205, 160, .18), transparent 70%);
}
.metrics article:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); }
.metrics b { font-size: 2rem; }
.panel,
.form-card { background: var(--surface); backdrop-filter: blur(12px); }
.content-panel { background: var(--surface-solid); }

.data-list > a,
.quote-list > a,
.job-list > a,
.schedule-row,
.request-mini a,
.simple-row,
.service-manage-list article {
  transition: background .18s ease, transform .18s ease;
}
.data-list > a:hover,
.quote-list > a:hover,
.job-list > a:hover,
.schedule-row:hover,
.request-mini a:hover { background: #f7faf7; }
.data-list > a:hover,
.quote-list > a:hover,
.job-list > a:hover { transform: translateX(2px); }
.schedule-row { border-top-color: #edf2ed; }

input,
select,
textarea {
  border-color: #d7e2d8;
  border-radius: 9px;
  padding: 10px 11px;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
input:hover,
select:hover,
textarea:hover { border-color: #b9cdbb; }
input:focus,
select:focus,
textarea:focus { outline: 0; border-color: #478b62; box-shadow: var(--focus-ring); }

.status {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 28px;
  padding: 7px 11px;
  border: 1px solid #cbdad0;
  border-radius: 999px;
  background: #edf4ef;
  color: #315440;
  box-shadow: 0 1px 2px rgba(19, 55, 42, .07);
  font: 700 .76rem/1 var(--font-ui);
  letter-spacing: .005em;
  text-transform: none;
}
.status::before {
  content: '';
  width: 6px;
  height: 6px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: currentColor;
  opacity: .72;
}
.status.large { min-height: 36px; padding: 9px 14px; font-size: .84rem; }
.status.archived{background:#edf1ee;color:#52685d}
.status.new,
.status.sent { border-color: #ead596; background: #fff4d3; color: #735713; }
.status.approved,
.status.scheduled,
.status.paid,
.status.completed { border-color: #bcdcc7; background: #e5f3e9; color: #236844; }
.status.in_progress { border-color: #cbc7eb; background: #eeecfb; color: #4d478f; }
.status.closed,
.status.declined { border-color: #e7c5ba; background: #f8e9e4; color: #943f2d; }
.bill-to small,
.document th {
  color: #50665a;
  font-family: var(--font-ui);
  font-size: .77rem;
  font-weight: 700;
  letter-spacing: .035em;
}
.avatar { box-shadow: inset 0 0 0 1px rgba(19, 55, 42, .06); }
.back { display: inline-flex; align-items: center; gap: 5px; }

.document-layout { gap: 22px; }
.document { border-radius: 14px; box-shadow: var(--shadow-md); }
.doc-notes { border-radius: 10px; background: #f2f8f1; }
.action-panel { position: sticky; top: 26px; height: fit-content; }
.flash{z-index:120;max-width:min(420px,calc(100vw - 32px));border-radius:10px;box-shadow:var(--shadow-md)}
.auth-body .flash{top:62px}
:is(.portal-body,.public-site-body,.marketplace-body,.shared-quote-body) .flash{top:86px}
@media(max-width:620px){.flash{right:12px;left:12px;max-width:none}.auth-body .flash{top:58px}}

.settings-grid,.settings-sections,.commercial-grid { display:grid; gap:22px; }
.settings-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.settings-sections { grid-template-columns:repeat(2,minmax(0,1fr)); }
.settings-sections .recurring-panel { grid-column:1/-1; }
.commercial-grid { grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:24px; }
.commercial-grid .panel,.settings-sections .panel { padding:24px; }
.app-main .commercial-grid form label.check { display:flex; flex-direction:row; align-items:center; gap:8px; white-space:nowrap; }
.app-main .commercial-grid form label.check input { flex:0 0 auto; width:18px; height:18px; margin:0; accent-color:#173c2f; }
.simple-row { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:12px 0; border-bottom:1px solid var(--line-soft); }
.simple-row span { display:grid; gap:3px; }.simple-row small { color:#718078; }
.simple-row .status { display:inline-flex; flex-direction:row; align-items:center; gap:7px; }
.form-row { display:grid; grid-template-columns:repeat(auto-fit,minmax(130px,1fr)); gap:12px; }
.inline-filter { display:flex; gap:8px; align-items:end; }.inline-filter>input{min-height:48px;margin-top:0}.inline-filter>.button{min-height:48px;white-space:nowrap}.portal-addendum { margin-top:0; }
.permissions-panel,.audit-panel { margin-top:24px; padding:24px; }.permission-row { display:grid; grid-template-columns:160px 1fr auto; gap:16px; align-items:start; padding:18px 0; border-top:1px solid var(--line-soft); }.permission-row>div { display:flex; flex-wrap:wrap; gap:10px 16px; }.check { display:flex; flex-direction:row; align-items:center; gap:7px; }.check input { width:auto; }.secret-code { display:block; padding:14px; border-radius:9px; background:#eef5ef; word-break:break-all; }
.route-plans { margin-top:22px; padding:22px; display:flex; flex-wrap:wrap; gap:10px; align-items:center; }.route-plans h2 { width:100%; }.auth-main { min-height:100vh; }.auth-main .login { grid-template-columns:1fr 1fr; }.auth-main .login-art>.brand+.eyebrow { margin-left:19px; }.auth-main .login-form { justify-content:flex-start; padding:96px clamp(40px,5vw,64px) 50px; }.form-link-row { display:flex; justify-content:flex-end; margin:8px 0 16px; font-size:.85rem; }
.login-form .terms-check{grid-template-columns:22px minmax(0,1fr);align-items:start;gap:12px;margin:22px 0 20px;padding:15px 16px;border:1px solid #dce6de;border-radius:11px;background:#f7faf7;color:#52675c;cursor:pointer}.login-form .terms-check input{width:20px!important;height:20px;margin:1px 0 0;accent-color:#173c2f}.login-form .terms-check span{font-size:.85rem;line-height:1.55;color:#52675c}.login-form .terms-check a{color:#2d684b;font-weight:700;text-decoration-thickness:1px;text-underline-offset:2px}.login-form .terms-check:hover{border-color:#bed0c2;background:#f3f8f4}.login-form .terms-check:has(input:focus-visible){outline:3px solid rgba(63,125,91,.2);outline-offset:2px}
.login-google-alternative{position:relative;margin-top:27px;padding-top:24px;border-top:1px solid #e2e8e3}.login-google-alternative>span{position:absolute;top:-10px;left:50%;padding:0 10px;background:#fff;color:#87958d;font-size:.72rem;transform:translateX(-50%)}.login-google-alternative .google-button{min-height:46px;margin:0}

/* Password recovery stays deliberately focused: one task, one quiet card. */
.auth-main .auth-recovery{position:relative;display:grid;place-items:center;min-height:100vh;padding:100px 24px 64px;background:#f4f7f3}.auth-recovery-brand{position:absolute;top:34px;left:clamp(24px,5vw,72px);color:#173c2f;font-size:1.05rem}.auth-recovery-form{width:min(520px,100%);padding:46px 50px 50px;border:1px solid #dce6de;border-radius:20px;background:#fff;box-shadow:0 24px 70px rgba(19,57,44,.1)}.auth-back{display:inline-flex;align-items:center;gap:7px;margin-bottom:43px;color:#527061;font-size:.8rem;font-weight:700}.auth-back:hover{color:#1d513a}.auth-form-heading h2{margin:0 0 14px;font-size:clamp(2.25rem,4vw,3.15rem);letter-spacing:-.045em}.auth-form-heading>p:last-child{margin:0;color:#64776d;line-height:1.65}.auth-recovery-form form{width:100%;margin-top:30px}.auth-recovery-form form label{display:block;color:#40584c;font-size:.82rem;font-weight:700}.auth-recovery-form form input{min-height:48px;margin:7px 0 18px;border-radius:9px}.auth-recovery-form form .button{min-height:48px}

/* A single login can open several business and Client contexts. */
.account-destinations .auth-recovery-form{width:min(640px,100%);padding:42px 44px 34px}.account-destinations .auth-form-heading{padding-bottom:26px;border-bottom:1px solid #e5ece6}.account-destinations .auth-form-heading h2{font-size:clamp(2rem,4vw,2.75rem)}.destination-groups{display:grid;gap:25px;margin-top:26px}.destination-group{display:grid;gap:10px}.destination-group-heading{display:flex;align-items:center;justify-content:space-between;padding-inline:3px}.destination-group-heading h3{margin:0;color:#50675b;font-size:.72rem;font-weight:750;letter-spacing:.085em;text-transform:uppercase}.destination-group-heading>span{display:grid;place-items:center;min-width:23px;height:23px;padding:0 7px;border-radius:999px;background:#edf3ee;color:#527061;font-size:.68rem;font-weight:750}.destination-list{overflow:hidden;border:1px solid #dce6de;border-radius:14px;background:#fff}.auth-recovery-form .destination-entry-form{margin:0}.destination-entry{display:grid;grid-template-columns:42px minmax(0,1fr) 24px;gap:14px;align-items:center;width:100%;min-height:72px;padding:14px 16px;border:0;background:#fff;color:#17382c;text-align:left;font:inherit;cursor:pointer;transition:background .16s ease}.destination-entry+.destination-entry,.destination-entry-form+.destination-entry-form,.destination-entry-form+.destination-entry,.destination-entry+.destination-entry-form{border-top:1px solid #e7ede8}.destination-entry:hover{background:#f4f8f4}.destination-entry:focus-visible{position:relative;z-index:1;outline:3px solid rgba(63,125,91,.28);outline-offset:-3px}.destination-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:#173c2f;color:#fff;font-size:.82rem;font-weight:800}.destination-icon.client{background:#fff0e9;color:#a94d37}.destination-copy{min-width:0}.destination-copy strong,.destination-copy small{display:block}.destination-copy strong{overflow:hidden;color:#203f31;font-size:.94rem;text-overflow:ellipsis;white-space:nowrap}.destination-copy small{margin-top:4px;color:#718078;font-size:.73rem}.destination-arrow{color:#779084;font-size:1rem;transition:transform .16s ease,color .16s ease}.destination-entry:hover .destination-arrow{color:#2f6d4e;transform:translateX(3px)}.destination-create{min-height:68px;border:1px dashed #b9cdbd;border-radius:14px;background:#f7faf7}.destination-create .destination-icon{background:#e3efe6;color:#2f6d4e;font-size:1.15rem}.destination-empty{margin:0;padding:18px;border-radius:12px;background:#f5f8f5;color:#607269;font-size:.86rem}.auth-recovery-form form.destination-signout{display:flex;justify-content:center;margin:23px 0 0;padding-top:21px;border-top:1px solid #e5ece6}.destination-signout .account-signout{width:auto;padding:8px 13px;color:#65796e}.workspace-create-form .workspace-allowance{width:max-content;margin:8px 0 14px;padding:6px 10px;border-radius:999px;background:#e7f1e9;color:#37684f;font-size:.74rem;font-weight:750}.workspace-create-form>.button{margin-top:24px}.workspace-create-form>.subtle{max-width:440px;line-height:1.65}

@media (max-width: 850px) {
  .sidebar {
    display: flex;
    width: min(82vw, 300px);
    z-index: 31;
    visibility: hidden;
    transform: translateX(-105%);
    transition: transform .22s ease, visibility 0s linear .22s;
  }
  .sidebar.is-open {
    visibility: visible;
    transform: translateX(0);
    transition-delay: 0s;
  }
  .sidebar-backdrop {
    position: fixed;
    inset: 0;
    z-index: 30;
    display: block;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    background: rgba(5, 22, 16, .5);
    backdrop-filter: blur(2px);
    cursor: pointer;
  }
  .sidebar-backdrop[hidden] { display: none; }
  .sidebar-open { overflow: hidden; }
  .mobile-header {
    position: sticky;
    top: 0;
    z-index: 20;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 63px;
    padding: 0 18px;
    background: #12372a;
    color: #fff;
    box-shadow: 0 5px 18px rgba(8, 35, 25, .13);
  }
  .mobile-brand-group { display: flex; align-items: center; gap: 12px; }
  .mobile-menu-button {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 1px solid rgba(232, 244, 235, .2);
    border-radius: 10px;
    background: rgba(255, 255, 255, .08);
    color: #fff;
    font: 700 1.25rem/1 var(--font-ui);
    cursor: pointer;
  }
  .mobile-menu-button:focus-visible { outline: 3px solid #a8d7b6; outline-offset: 2px; }
  .app-main { margin-left: 0; padding-top: 32px; }
  .action-panel { position: static; }
  .document-layout { grid-template-columns: minmax(0, 1fr); min-width: 0; }
  .document { min-width: 0; overflow-x: auto; }
}

@media (prefers-reduced-motion: reduce) {
  .sidebar { transition: none; }
}

@media (max-width: 620px) {
  .auth-main .login { grid-template-columns: 1fr; }
  .auth-main .login-form { padding: 40px 25px; }
  .auth-main .auth-recovery { padding: 88px 16px 28px; }
  .auth-recovery-brand { top: 25px; left: 20px; }
  .auth-recovery-form { padding: 30px 23px 34px; border-radius:16px; }
  .account-destinations .auth-recovery-form { padding:30px 20px 24px; }
  .destination-groups { gap:21px; margin-top:22px; }
  .destination-entry { grid-template-columns:38px minmax(0,1fr) 20px; gap:12px; min-height:68px; padding:13px; }
  .destination-icon { width:38px; height:38px; }
  .auth-back { margin-bottom:34px; }
  .app-main { padding: 27px 15px 40px; }
  .topbar { margin-bottom: 26px; }
  .topbar h1 { font-size: 2.2rem; }
  .metrics article,
  .panel,
  .form-card,
  .content-panel { border-radius: 12px; }
  .settings-grid,.settings-sections,.commercial-grid { grid-template-columns:1fr; }
  .document table { table-layout: fixed; }
  .document th:nth-child(3),.document td:nth-child(3) { display:none; }
  .document th:first-child,.document td:first-child { width:52%; overflow-wrap:anywhere; }
  .inline-filter{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%}
  .inline-filter>.button{grid-column:1/-1;width:100%}
}
.line-head,.line{grid-template-columns:minmax(180px,1fr) 85px 150px 175px}
@media(max-width:620px){.line-head,.line{grid-template-columns:1fr}}

/* Clear information architecture and reusable commercial catalog. */
.nav-label{margin:15px 12px 3px;color:#7fa18f;font:600 .61rem 'DM Mono',monospace;letter-spacing:.13em;text-transform:uppercase}.nav-label:first-child{margin-top:0}.side-nav{overflow-y:auto;padding-right:3px}.side-nav a{padding-block:8px}.settings-head{max-width:760px}.settings-hub{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.settings-tile{min-height:150px;padding:22px;border:1px solid var(--line-soft);border-radius:14px;background:#fff;display:grid;grid-template-columns:35px 1fr auto;gap:17px;align-items:start;box-shadow:var(--shadow-sm);transition:.2s ease}.settings-tile:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:#b8cec0}.settings-tile>span{font:600 .68rem 'DM Mono';color:#e77655}.settings-tile h2{margin:0 0 8px}.settings-tile p{margin:0;color:#6b7b73;font-size:.87rem;line-height:1.55}.settings-tile>b{font-size:1.2rem;color:#508068}.settings-tile.accent{background:#17392d;color:#fff;border-color:#17392d}.settings-tile.accent p{color:#bcd0c3}.settings-tile.accent>b{color:#ef8a6f}.subscription-strip{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:22px;padding:25px 28px;background:#eef5ef;border:1px solid #d6e4d8;border-radius:14px}.subscription-strip h2{margin:0 0 5px}.subscription-strip p:last-child{margin:0;color:#607268}.catalog-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.7fr);gap:24px;align-items:start}.catalog-list{background:#fff;border:1px solid var(--line-soft);border-radius:14px;overflow:hidden;box-shadow:var(--shadow-sm)}.catalog-intro{display:flex;gap:18px;align-items:center;padding:20px 24px;background:#eef5ef}.catalog-intro>span{display:grid;place-items:center;width:47px;height:47px;border-radius:50%;background:#17392d;color:#fff;font-size:1.15rem;font-weight:700}.catalog-intro p{margin:0;color:#65766d;font-size:.84rem}.catalog-row{display:grid;grid-template-columns:42px 1fr auto auto;gap:16px;align-items:center;padding:19px 22px;border-top:1px solid var(--line-soft)}.catalog-row h2{font-size:1rem;margin:2px 0 3px}.catalog-row p,.catalog-row small{margin:0;color:#718078;font-size:.76rem}.catalog-row small{text-transform:capitalize}.catalog-kind{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:#def0e4;color:#286848;font-weight:700}.catalog-kind.article{background:#fff0e9;color:#b5543e}.quiet-action{border:0;background:transparent;color:#658071;font:600 .78rem 'DM Sans';cursor:pointer;padding:6px}.quiet-action:hover{color:#b5543e}.catalog-form{position:sticky;top:26px}.catalog-form>h2{font-size:1.45rem}.kind-switch{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:17px 0}.kind-switch label{margin:0}.kind-switch input{position:absolute;opacity:0;pointer-events:none}.kind-switch span{display:grid;padding:12px;border:1px solid var(--line-soft);border-radius:10px;cursor:pointer}.kind-switch small{font-size:.7rem;color:#718078}.kind-switch input:checked+span{background:#eaf4ec;border-color:#72a485;box-shadow:0 0 0 2px #d1e7d7}.empty-catalog{padding:45px 24px;text-align:center;color:#61756a}.empty-catalog p{margin:7px 0 0}.quote-builder{max-width:980px}.catalog-picker{margin:26px 0 20px;padding:18px;background:#eff5ef;border-radius:12px}.catalog-picker>div:first-child{display:flex;align-items:baseline;gap:12px}.catalog-picker h2{font-size:1rem}.catalog-picker .eyebrow{margin-bottom:0}.catalog-chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:3px}.catalog-chips button{flex:0 0 auto;min-width:175px;max-width:245px;text-align:left;border:1px solid #d1dfd3;background:#fff;border-radius:10px;padding:10px 12px;color:#274438;cursor:pointer}.catalog-chips button:hover{border-color:#6e9d80}.catalog-chips button>span{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:6px;background:#e1efe4;margin-right:7px;color:#397256;font-weight:700}.catalog-chips small{display:block;margin:6px 0 0 28px;color:#718078}.catalog-empty-link{display:grid;grid-template-columns:38px 1fr auto;gap:12px;align-items:center;margin:25px 0;padding:15px;border:1px dashed #aac1b0;border-radius:11px;background:#f5f9f5}.catalog-empty-link>span{display:grid;place-items:center;width:36px;height:36px;border-radius:9px;background:#e1efe4;color:#397256}.catalog-empty-link b,.catalog-empty-link small{display:block}.catalog-empty-link small{color:#718078}.quote-builder .line-head,.quote-builder .line{grid-template-columns:minmax(220px,1fr) 75px 135px 160px 30px}.quote-builder .line{margin-bottom:8px}.quote-builder .line input,.quote-builder .line select{margin:0}.line-remove{border:0;background:#f4f6f3;border-radius:7px;height:40px;color:#7d8c84;cursor:pointer;font-size:1.2rem}.line-remove:hover{background:#fae9e4;color:#a74631}.add-line{border:0;background:transparent;color:#347054;font-weight:700;cursor:pointer;padding:8px 0}.signature-pad{height:150px;border:1px solid #c7d7cb;border-radius:10px;background:linear-gradient(#fff,#fbfcfa);box-shadow:inset 0 1px 4px #17392d0b;cursor:crosshair}.signature-pad:focus{outline:3px solid #bcdcc5;outline-offset:2px}.signature-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px}.action-panel [data-signature-form]{padding:14px;background:#f4f8f3;border-radius:11px}.action-panel [data-signature-form] label{margin-top:0}.job-detail,.action-panel{min-width:0}
.kind-switch{grid-auto-rows:1fr}.kind-switch label{height:100%}.kind-switch span{box-sizing:border-box;height:100%}
.catalog-form .form-row{align-items:end}.catalog-form .form-row :is(input,select){height:46px;min-height:46px}.catalog-form>.button{margin-top:12px}
@media(max-width:850px){.catalog-layout{grid-template-columns:1fr}.catalog-form{position:static}.settings-hub{grid-template-columns:1fr}.subscription-strip{align-items:flex-start;flex-direction:column}.quote-builder .line-head,.quote-builder .line{grid-template-columns:minmax(180px,1fr) 70px 120px 145px 30px}}
@media(max-width:620px){.nav-label{display:none}.catalog-row{grid-template-columns:38px 1fr auto}.catalog-row>strong{grid-column:2}.catalog-row form{grid-column:3;grid-row:1 / span 2}.catalog-intro{padding:17px}.settings-tile{min-height:0;padding:18px}.subscription-strip{padding:20px}.quote-builder .line-head{display:none}.quote-builder .line{grid-template-columns:1fr 70px 105px 32px;padding:13px 0;border-bottom:1px solid var(--line-soft)}.quote-builder .line input:first-child{grid-column:1 / -1}.quote-builder .line select,.quote-builder .line input[type=hidden]{display:none}.catalog-picker{margin-inline:-4px}.catalog-picker>div:first-child{display:block}}
@media(min-width:851px){.quote-builder.vat-disabled .line-head,.quote-builder.vat-disabled .line{grid-template-columns:minmax(220px,1fr) 75px 135px 30px}}@media(min-width:621px) and (max-width:850px){.quote-builder.vat-disabled .line-head,.quote-builder.vat-disabled .line{grid-template-columns:minmax(180px,1fr) 70px 120px 30px}}
.mk-complete{position:static;right:auto;bottom:auto;width:auto;margin:0 16px;box-shadow:0 10px 24px #071b1414;border:1px solid #dce5dc}
.kind-switch input{width:1px;height:1px;margin:0}
.manual-time:not([open]) form{display:none}

/* Confirmation dialog */
.confirm-dialog{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:16px;background:rgba(8,25,19,.58);color:var(--ink);backdrop-filter:blur(5px);animation:confirm-backdrop-in .16s ease-out}
.confirm-dialog[hidden]{display:none}.confirm-open{overflow:hidden}
.confirm-dialog-card{display:grid;grid-template-columns:46px minmax(0,1fr);gap:15px;width:min(440px,100%);padding:26px;background:#fff;border:1px solid rgba(217,230,219,.9);border-radius:18px;box-shadow:0 28px 80px rgba(8,31,22,.28);animation:confirm-dialog-in .2s cubic-bezier(.2,.8,.2,1)}
.confirm-dialog-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:#e8f3eb;color:#276244;font-size:1.2rem;font-weight:800}
.confirm-dialog-copy{min-width:0}.confirm-dialog-copy .eyebrow{margin:0 0 4px;font-size:.66rem}.confirm-dialog-copy h2{margin:0;font-size:1.35rem;line-height:1.25}.confirm-dialog-copy>p:last-child{margin:9px 0 0;color:#617269;line-height:1.55}
.confirm-dialog-recipient{grid-column:1/-1;display:grid;gap:3px;margin-top:3px;padding:11px 13px;border:1px solid #cfe0d3;border-radius:11px;background:#f1f7f2}.confirm-dialog-recipient[hidden]{display:none}.confirm-dialog-recipient span{color:#60756a;font-size:.67rem;font-weight:750;letter-spacing:.06em;text-transform:uppercase}.confirm-dialog-recipient strong{color:#173c2f;font-size:.94rem;line-height:1.35;overflow-wrap:anywhere}
.confirm-dialog-next{grid-column:1/-1;display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;align-items:start;margin-top:5px;padding:14px;border-radius:12px;background:#edf5ef;color:#244b39}.confirm-dialog-next[hidden]{display:none}.confirm-dialog-next>span{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#173c2f;color:#fff;font-weight:800}.confirm-dialog-next b{display:block;font-size:.78rem}.confirm-dialog-next p{margin:3px 0 0;color:#5d7468;font-size:.76rem;line-height:1.5}
.confirm-dialog-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:9px;margin-top:7px}.confirm-dialog-actions .button{min-width:112px;margin:0}
.confirm-dialog[data-tone="danger"] .confirm-dialog-icon{background:#fff0eb;color:#b64e35}.confirm-dialog[data-tone="danger"] [data-confirm-accept]{background:#b64e35;border-color:#b64e35}.confirm-dialog[data-tone="danger"] [data-confirm-accept]:hover{background:#a3422d}
@keyframes confirm-dialog-in{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
@keyframes confirm-backdrop-in{from{opacity:0}to{opacity:1}}
@media(max-width:480px){.confirm-dialog-card{grid-template-columns:40px minmax(0,1fr);padding:21px;gap:13px}.confirm-dialog-icon{width:40px;height:40px;border-radius:12px}.confirm-dialog-actions{display:grid;grid-template-columns:1fr 1fr}.confirm-dialog-actions .button{min-width:0;width:100%;padding-inline:10px}}
@media(prefers-reduced-motion:reduce){.confirm-dialog,.confirm-dialog-card{animation:none}}

/* Work request inbox */
.requests-head,.request-board{width:min(1080px,100%);margin-inline:auto}.requests-head{padding-top:10px}.request-board{display:grid;gap:12px}.request-card{display:grid;grid-template-columns:92px minmax(0,1fr) auto;gap:24px;align-items:center;min-height:132px;padding:24px 26px;background:#fff;border:1px solid var(--line-soft);border-radius:16px;box-shadow:var(--shadow-sm);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.request-card:hover{transform:translateY(-2px);border-color:#cddbd0;box-shadow:var(--shadow-md)}.request-card:focus-visible{outline:0;box-shadow:var(--focus-ring),var(--shadow-md)}.request-state{align-self:stretch;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;border-right:1px solid #e8eee9}.request-state>span{width:13px;height:13px;border-radius:50%;background:#ef835f;box-shadow:0 0 0 7px #fff0ea}.request-state small{font:700 .68rem var(--font-ui);letter-spacing:.035em;text-transform:uppercase;color:#9a5c49}.request-card.converted .request-state>span{background:#789487;box-shadow:0 0 0 7px #edf2ee}.request-card.converted .request-state small{color:#5f756a}.request-title-row{display:flex;align-items:baseline;justify-content:space-between;gap:20px}.request-info h2{font:700 1.18rem var(--font-ui);letter-spacing:-.01em;margin:0}.request-title-row time{flex:0 0 auto;color:#718078;font:500 .74rem var(--font-ui)}.request-info>p{max-width:670px;margin:9px 0 13px;color:#435b50;font-size:.94rem;line-height:1.55}.request-contact{display:flex;align-items:center;gap:0;color:#718078;font-size:.78rem}.request-contact span{color:#355a48;font-weight:700}.request-contact i{display:flex;align-items:center;font-style:normal}.request-contact i:before{content:'·';margin:0 8px;color:#a1afa7}.request-open{display:flex;align-items:center;gap:10px;color:#356e52;font-size:.78rem;font-weight:750;white-space:nowrap}.request-open i{font-style:normal;font-size:1rem}.request-handled{padding:7px 10px;border-radius:999px;background:#edf3ee;color:#557164;font-size:.75rem;font-weight:700;white-space:nowrap}
@media(max-width:900px){.request-card{grid-template-columns:72px minmax(0,1fr);gap:18px}.request-card .row-actions{grid-column:2;justify-content:flex-start}.request-state{grid-row:1 / span 2}.request-title-row{align-items:flex-start;flex-direction:column;gap:5px}}
@media(max-width:620px){.requests-head{padding-top:0}.request-board{gap:10px}.request-card{grid-template-columns:1fr;gap:14px;min-height:0;padding:20px;border-radius:13px}.request-state{align-self:auto;flex-direction:row;justify-content:flex-start;border-right:0}.request-state>span{width:9px;height:9px;box-shadow:0 0 0 5px #fff0ea}.request-state small{margin-left:5px}.request-title-row{gap:6px}.request-info h2{font-size:1.15rem}.request-info>p{font-size:.9rem}.request-contact{align-items:flex-start;flex-direction:column;gap:2px}.request-contact i:before{display:none}.request-open{justify-content:flex-end}.content-panel:has(.request-table){margin:0}}
.request-card{color:var(--ink)}
.request-reopen{min-height:38px;padding:8px 12px!important;border:1px solid #cad9cd!important;border-radius:9px!important;background:#f7faf7!important;color:#3d6d55!important;white-space:nowrap}.request-reopen:hover{border-color:#8fb39b!important;background:#edf5ef!important;color:#285a41!important}
.request-view-link{display:flex;align-items:center;gap:9px}.request-view-link>span{display:grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border-radius:999px;background:#e5efe7;color:#315d46;font-size:.72rem;font-weight:800}.request-empty{padding:36px;text-align:center}.request-empty h2{margin:0 0 7px}.request-empty p{margin:0;color:#687a70}.request-history-action{min-height:40px;gap:12px;white-space:nowrap}
@media(max-width:620px){.requests-head .request-view-link{width:100%;justify-content:center}.request-empty{padding:28px 18px}}
.request-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start}.request-detail-card{padding:32px}.request-detail-title{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding-bottom:24px;border-bottom:1px solid var(--line-soft)}.request-detail-title h2{margin:0;font-size:1.5rem}.request-detail-title>span{display:grid;gap:3px;text-align:right;white-space:nowrap}.request-detail-title small,.request-brief>small,.request-contact-grid dt{color:#718078;font-size:.7rem;font-weight:650;text-transform:uppercase;letter-spacing:.06em}.request-detail-title b{font-size:.9rem}.request-brief{margin:28px 0;padding:22px;border-radius:12px;background:#f1f6f1}.request-brief p{margin:8px 0 0;color:#304d3f;font-size:1rem;line-height:1.65}.request-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px;margin:0}.request-contact-grid>div{min-width:0}.request-contact-grid dd{margin:5px 0 0;color:#28483a;font-weight:650;overflow-wrap:anywhere}.request-contact-grid a{color:#347054}.request-action-panel>p{line-height:1.55}.request-action-panel form{margin-top:10px}@media(max-width:900px){.request-detail-layout{grid-template-columns:1fr}.request-action-panel{max-width:none}}@media(max-width:620px){.request-detail-card{padding:22px 20px}.request-detail-title{flex-direction:column;gap:13px}.request-detail-title>span{text-align:left}.request-contact-grid{grid-template-columns:1fr}.request-brief{margin:22px 0;padding:18px}}
.quote-client{display:flex;align-items:baseline;gap:7px;margin:9px 0 0;color:#6b7b73;font-size:.9rem}.quote-client strong{color:#315345;font-size:1.08rem;letter-spacing:-.015em}.quote-client span{font-size:.86rem}
@media(max-width:620px){.quote-client{align-items:flex-start;flex-direction:column;gap:2px}.quote-client span{font-size:.8rem}}

/* Workflow shortcuts, client sharing, and calmer spacing across dense screens. */
.metrics>a{display:block;color:inherit;min-width:0}.metrics>a article{height:100%}.metrics>a:focus-visible{outline:0}.metrics>a:focus-visible article{box-shadow:var(--focus-ring),var(--shadow-md)}
.quick-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:-7px 0 28px}.quick-actions>a{display:grid;grid-template-columns:38px minmax(0,1fr);gap:12px;align-items:center;padding:15px 16px;border:1px solid var(--line-soft);border-radius:12px;background:rgba(255,255,255,.76);box-shadow:var(--shadow-sm);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.quick-actions>a:hover{transform:translateY(-2px);border-color:#bfd3c3;box-shadow:var(--shadow-md)}.quick-actions>a>span{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#e6f2e8;color:#2f7250;font-weight:800}.quick-actions b,.quick-actions small{display:block}.quick-actions small{margin-top:2px;color:#718078;font-size:.73rem;line-height:1.35}
.dashboard-columns{align-items:start}.empty-state{display:grid;gap:7px;padding:28px;text-align:center;color:#64766d}.empty-state p{margin:0}.empty-state a{color:#347054;font-weight:700}.empty-state span{font-size:.84rem;color:#7a8b82}.empty-state.compact{padding:22px 10px;text-align:left;border-top:1px solid var(--line-soft)}

/* Permission and missing-page states stay inside the Servio3 shell. */
.error-page{display:grid;place-items:center;min-height:calc(100vh - 90px);padding:48px 20px}.error-card{position:relative;width:min(620px,100%);padding:52px 54px;border:1px solid #dce6de;border-radius:22px;background:linear-gradient(145deg,#fff 55%,#f2f7f3);box-shadow:0 24px 70px rgba(19,57,44,.1);overflow:hidden}.error-card:after{content:"";position:absolute;right:-80px;bottom:-100px;width:240px;height:240px;border-radius:50%;background:rgba(227,240,229,.75)}.error-mark{position:relative;z-index:1;display:grid;place-items:center;width:48px;height:48px;margin-bottom:28px;border-radius:14px;background:#173c2f;color:#f08a6b;font-size:1.3rem}.error-card .eyebrow,.error-card h1,.error-card p,.error-actions{position:relative;z-index:1}.error-card h1{max-width:500px;margin:0 0 16px;font-size:clamp(2.2rem,5vw,3.5rem)}.error-card .subtle{max-width:470px;font-size:1rem;line-height:1.65}.error-help{max-width:470px;margin:13px 0 0;color:#7a8a82;font-size:.84rem;line-height:1.55}.error-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}
.client-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);gap:22px;align-items:start}.client-history{grid-column:1/-1}.client-contact dl{display:grid;grid-template-columns:105px minmax(0,1fr);gap:14px 18px;margin:0}.client-contact dt{color:#718078;font-size:.8rem}.client-contact dd{margin:0;overflow-wrap:anywhere}.client-hub-card{background:linear-gradient(145deg,#fff 0%,#f1f7f1 100%)}.client-hub-card>label{display:block;margin-top:20px;color:#52675c;font-size:.8rem;font-weight:700}.client-hub-card .share-url{margin-top:7px}.hub-share-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}.hub-share-actions .button:first-child{grid-column:1/-1}.regenerate-link{margin-top:18px!important;padding-top:13px;border-top:1px solid var(--line-soft)}.regenerate-link .quiet-action{width:100%;text-align:center;color:#7b645a}.client-history .simple-row:first-of-type{border-top:0}
.client-index-actions{flex-wrap:wrap}.client-index-actions .request-view-link{gap:8px}.top-actions>form{margin:0}.client-archive-card form{margin-top:22px}.client-archive-card .button{margin:0}@media(max-width:760px){.clients-head{align-items:stretch;flex-direction:column}.client-index-actions{width:100%}.client-index-actions .button{flex:1}.client-layout{grid-template-columns:1fr}.client-history{grid-column:auto}}
.app-main .panel form label{display:block;margin:14px 0;font-size:.82rem;font-weight:650}.app-main .panel form .form-row label{margin:0}.settings-sections .panel>form,.commercial-grid .panel>form{margin-top:22px;padding-top:20px;border-top:1px solid var(--line-soft)}.settings-sections .panel>h2,.commercial-grid .panel>h2{margin-bottom:10px}.settings-sections .simple-row+.simple-row{margin-top:2px}.policy-card .policy-toggle+.policy-toggle{margin-top:14px}.action-panel>form+form{margin-top:12px}.action-panel>.button+.button,.action-panel>form+.button,.action-panel>.button+form{margin-top:10px}
.website-services>.form-card,.service-manage-list+.form-card{margin-top:24px}.form-card>h2:not(:first-child){margin-top:12px;padding-top:22px;border-top:1px solid var(--line-soft)}
.accounting-settings-form{display:grid;gap:28px}.accounting-settings-section+.accounting-settings-section{padding-top:26px;border-top:1px solid var(--line-soft)}.accounting-settings-section>h2{margin:0 0 6px}.accounting-settings-section>.subtle{margin-bottom:13px}.accounting-identity-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(105px,.72fr) minmax(125px,.88fr);gap:0 15px}.accounting-legal-name,.accounting-contact-row,.accounting-tax-grid{grid-column:1/-1}.accounting-contact-row{display:grid;grid-template-columns:minmax(120px,.55fr) minmax(220px,1fr) minmax(250px,1.05fr);gap:15px;align-items:end}.accounting-contact-row>label{margin:14px 0}.accounting-contact-row>label:nth-child(2){white-space:nowrap}.accounting-tax-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.accounting-defaults-grid{display:grid;grid-template-columns:minmax(100px,.7fr) minmax(145px,.85fr) minmax(220px,1.45fr);gap:15px}.accounting-settings-form .form-actions{margin-top:0}.qr-bill-settings{display:grid;gap:18px}.qr-bill-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.72fr);gap:24px;align-items:start}.qr-bill-heading .eyebrow{margin:0 0 5px}.qr-bill-heading h2{margin:0 0 6px}.qr-bill-heading .subtle{margin:0;line-height:1.55}.qr-bill-heading .policy-toggle{margin:0;padding:16px;border:1px solid #cbdcd0;border-radius:12px;background:#f3f8f4}.qr-bill-fields{display:grid;grid-template-columns:1.25fr .75fr;gap:15px;padding:18px;border:1px solid #d8e5da;border-radius:12px;background:#f8faf8}.qr-bill-fields[hidden]{display:none}.qr-bill-fields label{margin:0}.qr-bill-fields small{display:block;margin-top:6px;color:#708078;font-weight:450;line-height:1.45}.qr-bill-fields .optional{color:#7c8c84;font-size:.72rem;font-weight:500}.qr-bill-note{margin:0;padding-left:12px;border-left:3px solid #9bc3a7;color:#52695d;font-size:.8rem;line-height:1.55}@media(max-width:700px){.accounting-identity-grid{grid-template-columns:1fr 1fr}.accounting-identity-grid>label:nth-of-type(2){grid-column:1/-1}.accounting-contact-row{grid-template-columns:minmax(100px,.6fr) minmax(200px,1.4fr)}.accounting-contact-row>.policy-toggle{grid-column:1/-1}.accounting-defaults-grid{grid-template-columns:1fr 1fr}.accounting-defaults-grid>label:last-child{grid-column:1/-1}.qr-bill-heading,.qr-bill-fields{grid-template-columns:1fr}}@media(max-width:620px){.accounting-identity-grid,.accounting-contact-row,.accounting-tax-grid,.accounting-defaults-grid{grid-template-columns:1fr}.accounting-identity-grid>label:nth-of-type(2),.accounting-contact-row>.policy-toggle,.accounting-defaults-grid>label:last-child{grid-column:auto}.accounting-contact-row>label:nth-child(2){white-space:normal}}
.field-help{display:block;margin-top:6px;color:#718078;font-weight:400;line-height:1.45}
.location-action{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:42px;margin:12px 0 6px;padding:10px 14px;border:1px solid #b9cfc0;border-radius:9px;background:#eef5ef;color:#285f43;font:700 .82rem var(--font-ui);box-shadow:0 2px 7px rgba(24,57,44,.06);transition:background .18s ease,border-color .18s ease,transform .18s ease}.location-action:hover{border-color:#79a58a;background:#e4f0e7;transform:translateY(-1px)}.location-action+ .location-state{display:block;margin:0 0 12px;line-height:1.45}.progress-form .location-action+ .location-state+ .button{margin-top:2px}
.offline-delivery-dialog{position:fixed;inset:0;z-index:1001;display:grid;place-items:center;padding:18px;background:rgba(8,25,19,.62);backdrop-filter:blur(6px)}.offline-delivery-dialog[hidden]{display:none}.offline-delivery-card{width:min(560px,100%);max-height:calc(100vh - 36px);overflow:auto;padding:28px;border:1px solid #dbe6dc;border-radius:18px;background:#fff;box-shadow:0 28px 80px rgba(8,31,22,.3)}.offline-delivery-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.offline-delivery-head .eyebrow{margin:0 0 5px}.offline-delivery-head h2{margin:0;font-size:1.55rem}.dialog-close{display:grid;place-items:center;flex:0 0 auto;width:34px;height:34px;border:1px solid #d8e3da;border-radius:50%;background:#f7f9f6;color:#405b4e;font-size:1.25rem;cursor:pointer}.offline-delivery-card>.subtle{margin:12px 0 20px;line-height:1.55}.offline-delivery-card label{display:block;margin:15px 0;color:#29483a;font-size:.82rem;font-weight:700}.offline-delivery-card label>span{color:#718078;font-weight:500}.offline-delivery-card input,.offline-delivery-card select,.offline-delivery-card textarea{margin-top:7px}.offline-delivery-card textarea{resize:vertical}.offline-delivery-card .attachments{padding:15px;border:1px dashed #bfcfc2;border-radius:11px;background:#f7faf7}.offline-delivery-card .attachments input{padding:9px;background:#fff}.offline-delivery-card .attachments small{display:block;margin-top:7px;color:#718078;font-weight:500;line-height:1.4}.offline-delivery-card .file-list{min-height:0;margin:-7px 0 12px;color:#3d6a53;font-size:.76rem}.offline-delivery-next{display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;margin-top:18px;padding:14px;border-radius:12px;background:#edf5ef}.offline-delivery-next>span{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#173c2f;color:#fff;font-weight:800}.offline-delivery-next b{font-size:.8rem}.offline-delivery-next p{margin:3px 0 0;color:#5d7468;font-size:.77rem;line-height:1.5}.offline-delivery-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}.offline-delivery-actions .button{margin:0;min-width:125px}.delivery-history{margin-top:20px;padding-top:18px;border-top:1px solid #dfe7e0}.delivery-history>article{padding:12px;border:1px solid #dce5dd;border-radius:10px;background:#f7faf7}.delivery-history article>div{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.delivery-history small{color:#718078;font-size:.68rem}.delivery-history p{margin:8px 0;color:#52695d;font-size:.8rem;line-height:1.45}.delivery-history a{color:#397055;font-size:.76rem;font-weight:700}@media(max-width:620px){.offline-delivery-dialog{align-items:end;padding:0}.offline-delivery-card{max-height:92vh;padding:22px 18px;border-radius:18px 18px 0 0}.offline-delivery-actions{display:grid;grid-template-columns:1fr 1fr}.offline-delivery-actions .button{width:100%;min-width:0}.delivery-history article>div{align-items:flex-start;flex-direction:column;gap:2px}}
@media(max-width:1050px){.quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){.client-layout{grid-template-columns:1fr}.client-history{grid-column:auto}}
@media(max-width:620px){.quick-actions{grid-template-columns:1fr;gap:9px;margin-bottom:22px}.quick-actions>a{padding:13px}.client-layout{gap:13px}.hub-share-actions{grid-template-columns:1fr}.hub-share-actions .button:first-child{grid-column:auto}.client-contact dl{grid-template-columns:85px minmax(0,1fr);gap:12px}.empty-state.compact{padding:18px 4px}.error-page{padding:24px 12px}.error-card{padding:36px 28px;border-radius:18px}.error-actions{display:grid}.error-actions .button{width:100%}}
.share-url{font:500 .68rem 'DM Mono',monospace;background:#f6f8f5;color:#53675d}.share-actions{display:grid;gap:8px;margin-top:9px}.quiet-share{display:block;text-align:center;color:#47715c;font-size:.78rem;font-weight:700}.shared-quote-body{background:#f1f5ef}.shared-quote-header{height:72px;max-width:980px;margin:auto;padding:0 28px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d7e1d7}.shared-quote-header small{color:#708178;font:500 .68rem 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.08em}.shared-quote-main{max-width:900px;margin:auto;padding:65px 28px 90px}.shared-quote-hero{max-width:700px;margin-bottom:34px}.shared-quote-hero h1{font-size:clamp(2.4rem,6vw,4.5rem);margin:0 0 15px}.shared-quote-hero>p:last-child{color:#63756b}.shared-quote-hero strong{color:#294f3d;font-size:1.08em}.shared-quote-card{overflow:hidden;background:#fff;border:1px solid #d9e3da;border-radius:18px;box-shadow:0 22px 55px #17392d12}.shared-quote-card>header{display:flex;justify-content:space-between;gap:25px;padding:28px 32px;border-bottom:1px solid #e4ebe4}.shared-quote-card>header>div:last-child{text-align:right}.shared-quote-card>header p{margin:5px 0 0;color:#718078;font-size:.78rem}.shared-quote-message{padding:24px 32px;background:#f4f8f3;color:#425c4f}.shared-quote-lines{padding:9px 32px}.shared-quote-lines>div{display:flex;justify-content:space-between;gap:25px;padding:18px 0;border-bottom:1px solid #e8ede8}.shared-quote-lines span,.shared-quote-lines small{display:block}.shared-quote-lines small{margin-top:4px;color:#728078;font-size:.75rem}.shared-quote-total{display:grid;grid-template-columns:1fr auto;gap:4px;padding:25px 32px;text-align:right}.shared-quote-total span{align-self:end;color:#66776e}.shared-quote-total strong{font-size:1.65rem}.shared-quote-total small{grid-column:1/-1;color:#718078}.shared-quote-card>footer{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:25px 32px;background:#17392d;color:#fff}.shared-quote-card>footer p{margin:0;color:#bad0c2;font-size:.8rem}.shared-approved{font-size:1.05rem;font-weight:800;color:#d8eddf}@media(max-width:620px){.shared-quote-main{padding:40px 16px 65px}.shared-quote-header{padding-inline:18px}.shared-quote-card>header{align-items:flex-start;flex-direction:column}.shared-quote-card>header>div:last-child{text-align:left}.shared-quote-card>header,.shared-quote-message,.shared-quote-lines,.shared-quote-total,.shared-quote-card>footer{padding-left:21px;padding-right:21px}.shared-quote-lines>div{align-items:flex-end}.shared-quote-card>footer{align-items:stretch;flex-direction:column}.shared-quote-card>footer .button{width:100%}}
/* Language choice: fixed on auth screens, inline everywhere else. */
.language-switcher{position:fixed;z-index:90;right:16px;top:14px;display:flex;gap:2px;padding:3px;border:1px solid rgba(18,55,42,.14);border-radius:999px;background:rgba(255,255,255,.94);box-shadow:0 4px 18px rgba(18,55,42,.08);backdrop-filter:blur(8px)}
.language-switcher a{display:grid;place-items:center;min-width:28px;height:25px;padding:0 5px;border-radius:999px;color:#51645b;font-size:10px;font-weight:800;letter-spacing:.05em;text-decoration:none}
.language-switcher a:hover,.language-switcher a.active{background:#173c2f;color:#fff}
.language-switcher-inline{position:static;width:max-content;box-shadow:none;backdrop-filter:none;background:#f5f8f5}
.language-menu{position:relative;color:var(--ink)}.language-menu>summary{display:flex;align-items:center;justify-content:center;gap:6px;min-width:52px;height:36px;padding:0 10px;border:1px solid #d8e2da;border-radius:999px;background:#fff;color:#365648;font-size:11px;font-weight:800;letter-spacing:.06em;list-style:none;cursor:pointer;transition:background .18s ease,border-color .18s ease}.language-menu>summary::-webkit-details-marker{display:none}.language-menu>summary:hover,.language-menu[open]>summary{border-color:#b8cbbc;background:#f3f7f3}.language-menu>summary b{font-size:12px;transition:transform .18s ease}.language-menu[open]>summary b{transform:rotate(180deg)}.language-menu-panel{position:absolute;z-index:100;top:calc(100% + 9px);right:0;display:grid;min-width:158px;padding:7px;border:1px solid #dce5dd;border-radius:13px;background:#fff;box-shadow:0 18px 45px #0a251b24}.language-menu-panel a{display:grid;grid-template-columns:30px 1fr;align-items:center;gap:8px;padding:9px 10px;border-radius:8px;color:#365548;font-size:12px;font-weight:650}.language-menu-panel a span{color:#789084;font:700 9px var(--font-mono);letter-spacing:.06em}.language-menu-panel a:hover,.language-menu-panel a.active{background:#edf4ee;color:#173c2f}.language-menu-panel a.active span{color:#2e7652}
.public-header-actions{display:flex;align-items:center;gap:16px}.portal-header .language-menu>summary,.shared-quote-header .language-menu>summary{height:34px}.public-site-header .language-menu-panel,.portal-header .language-menu-panel,.shared-quote-header .language-menu-panel{top:calc(100% + 7px)}
@media(max-width:850px){.auth-body .language-switcher{right:12px}.public-header-actions{gap:10px}}

/* Make the standard request-to-payment flow visible and keep exceptions secondary. */
.workflow-progress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:-6px 0 25px;padding:14px 18px;border:1px solid var(--line-soft);border-radius:14px;background:#fff;box-shadow:var(--shadow-sm)}.workflow-progress>span{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:center;min-width:0;padding-right:16px}.workflow-progress>span:not(:last-child):after{content:'';position:absolute;left:34px;right:0;top:16px;height:1px;background:#dce6de}.workflow-progress i{position:relative;z-index:1;display:grid;place-items:center;width:32px;height:32px;border:1px solid #d9e4db;border-radius:50%;background:#f6f8f5;color:#64776d;font:750 11px var(--font-ui);font-style:normal}.workflow-progress b,.workflow-progress small{display:block}.workflow-progress b{color:#294738;font-size:.83rem;font-weight:750}.workflow-progress small{margin-top:2px;color:#596e63;font-size:.72rem;font-weight:550;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workflow-progress .is-done i{border-color:#c7dfce;background:#e8f3eb;color:#2c704d}.workflow-progress .is-current i{border-color:#173c2f;background:#173c2f;color:#fff;box-shadow:0 0 0 4px #e3eee6}.workflow-progress .is-current b{color:#173c2f}.workflow-progress .is-next{opacity:.78}
.requests-head+.workflow-progress{width:min(1080px,100%);margin-left:auto;margin-right:auto}
.action-panel>h2{margin-top:4px}.action-panel .eyebrow+.button,.action-panel h2+.button{margin-top:12px}.action-panel form>.button span,.action-panel>a.button span{float:right}.offline-action{margin-top:16px;border:1px solid #dce5dd;border-radius:12px;background:#f7f9f6;overflow:hidden}.offline-action>summary{position:relative;padding:14px 40px 14px 15px;color:#405c4d;font-size:.83rem;font-weight:750;cursor:pointer;list-style:none}.offline-action>summary::-webkit-details-marker{display:none}.offline-action>summary:after{content:'+';position:absolute;right:15px;top:10px;font-size:1.25rem;font-weight:500}.offline-action[open]>summary:after{content:'−'}.offline-action>div{padding:0 15px 16px;border-top:1px solid #e1e8e2}.offline-action>div>p{margin:13px 0;color:#5e7167;font-size:.81rem;line-height:1.55}.offline-action form{margin-top:0}.offline-action form label{font-size:.79rem}.invoice-corrections{margin-top:12px;background:#fffaf7;border-color:#eadfd9}
.quote-primary-action{margin-top:16px}.quote-alternative-actions{display:grid;gap:9px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line-soft)}.quote-alternative-actions>p{margin:0 0 2px;color:#687b70;font-size:.72rem;font-weight:750;letter-spacing:.055em;text-transform:uppercase}.quote-alternative-actions form{margin:0}.quote-edit-action{display:flex;align-items:center;justify-content:center;min-height:38px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line-soft);color:#456758;font-size:.78rem;font-weight:700}.quote-edit-action:hover{color:#245a40;text-decoration:underline;text-underline-offset:3px}
.job-reopen-form{margin-top:16px;padding-top:14px;border-top:1px solid var(--line-soft)}
@media(max-width:700px){.workflow-progress{display:none}.confirm-dialog-next{grid-template-columns:32px minmax(0,1fr);padding:12px}.confirm-dialog-next>span{width:30px;height:30px}.status.large{min-height:34px;padding:8px 12px;font-size:.8rem}}

/* Personal controls live behind the signed-in user's card. */
.account-menu{position:relative;margin-top:18px;padding-top:12px;border-top:1px solid rgba(203,232,214,.13)}.account-menu>summary.account{margin:0;padding:7px 5px;border:0;border-radius:9px;list-style:none;cursor:pointer;transition:background .18s ease}.account-menu>summary.account::-webkit-details-marker{display:none}.account-menu>summary.account:hover,.account-menu[open]>summary.account{background:rgba(228,246,233,.1)}.account-menu-arrow{display:grid;place-items:center;width:24px;height:24px;color:#abc2b3;font-size:13px;transition:transform .18s ease}.account-menu[open] .account-menu-arrow{transform:rotate(180deg)}.account-menu-panel{position:absolute;z-index:5;left:0;right:0;bottom:calc(100% + 9px);display:grid;gap:9px;padding:13px;border:1px solid #dce6de;border-radius:13px;background:#fff;color:#17382c;box-shadow:0 20px 45px #061c1445}.account-menu-panel>span{color:#71867a;font:700 9px var(--font-mono);letter-spacing:.09em;text-transform:uppercase}.account-menu-panel form{margin:1px 0 0;padding-top:9px;border-top:1px solid #e6ece7}.account-switch,.account-signout{display:flex;width:100%;align-items:center;justify-content:space-between;padding:8px 6px;border:0;border-radius:7px;background:transparent;color:#496257;font:650 12px var(--font-ui);cursor:pointer}.account-switch:hover,.account-signout:hover{background:#f0f5f1;color:#17382c}.account-switch b,.account-signout b{font-size:16px;font-weight:500}.account-switch b{font-size:15px}

/* The Client hub is a customer dashboard, with its own calm and focused hierarchy. */
.portal-body{background:linear-gradient(180deg,#f7faf6 0%,#f2f6f1 100%)}
.portal-header{height:76px;max-width:1360px;padding:0 30px;border-bottom-color:#dce5dd}.portal-header .brand{color:#18392c;font-size:1.18rem}.portal-header .public-header-actions>span{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border:1px solid #d7e4da;border-radius:999px;background:#edf4ee;color:#315847;font-size:.84rem;font-weight:750;letter-spacing:-.01em}
.portal-main{max-width:1320px;padding:0 30px 84px}
.client-hub-shell{display:grid;grid-template-columns:210px minmax(0,1fr);gap:28px;align-items:start}.client-hub-page{min-width:0}.client-hub-nav{position:sticky;top:24px;display:flex;flex-direction:column;min-height:560px;margin-top:40px;padding:17px;border:1px solid #dce6de;border-radius:17px;background:rgba(255,255,255,.92);box-shadow:var(--shadow-sm)}.hub-nav-context{display:grid;grid-template-columns:38px minmax(0,1fr);gap:11px;align-items:center;padding:3px 3px 17px;border-bottom:1px solid #e5ece6}.hub-nav-context>span{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#173c2f;color:#fff;font-size:.78rem;font-weight:850}.hub-nav-context small,.hub-nav-context b{display:block}.hub-nav-context small{color:#7a8a82;font-size:.62rem;font-weight:750;letter-spacing:.06em;text-transform:uppercase}.hub-nav-context b{overflow:hidden;margin-top:2px;color:#28483a;font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.hub-side-links{display:grid;gap:4px;margin-top:15px}.hub-side-links a{display:grid;grid-template-columns:29px minmax(0,1fr);gap:9px;align-items:center;min-height:40px;padding:6px 9px;border-radius:9px;color:#526a5e;font-size:.76rem;font-weight:700;transition:background .16s ease,color .16s ease,transform .16s ease}.hub-side-links a:hover{background:#f1f6f2;color:#214d38;transform:translateX(2px)}.hub-side-links a>span{display:grid;place-items:center;width:29px;height:29px;border-radius:8px;background:#edf3ee;color:#4c715d;font-size:.65rem;font-weight:850}.hub-side-links a:first-child{background:#e8f2ea;color:#245c40}.hub-side-links a:first-child>span{background:#173c2f;color:#fff}.client-hub-shell:has(:target) .hub-side-links a:first-child{background:transparent;color:#526a5e}.client-hub-shell:has(:target) .hub-side-links a:first-child>span{background:#edf3ee;color:#4c715d}.client-hub-shell:has(#overview:target) .hub-side-links a[href="#overview"],.client-hub-shell:has(#quotes:target) .hub-side-links a[href="#quotes"],.client-hub-shell:has(#appointments:target) .hub-side-links a[href="#appointments"],.client-hub-shell:has(#invoices:target) .hub-side-links a[href="#invoices"],.client-hub-shell:has(#history:target) .hub-side-links a[href="#history"],.client-hub-shell:has(#documents:target) .hub-side-links a[href="#documents"],.client-hub-shell:has(#request-service:target) .hub-side-links a[href="#request-service"]{background:#e8f2ea;color:#245c40}.client-hub-shell:has(#overview:target) .hub-side-links a[href="#overview"]>span,.client-hub-shell:has(#quotes:target) .hub-side-links a[href="#quotes"]>span,.client-hub-shell:has(#appointments:target) .hub-side-links a[href="#appointments"]>span,.client-hub-shell:has(#invoices:target) .hub-side-links a[href="#invoices"]>span,.client-hub-shell:has(#history:target) .hub-side-links a[href="#history"]>span,.client-hub-shell:has(#documents:target) .hub-side-links a[href="#documents"]>span,.client-hub-shell:has(#request-service:target) .hub-side-links a[href="#request-service"]>span{background:#173c2f;color:#fff}.hub-side-links .hub-request-link{margin-top:9px;border:1px solid #f0d8cf;background:#fff5f0;color:#8e4d3a}.hub-side-links .hub-request-link>span{background:#ef835f;color:#fff}.hub-side-account{display:grid;gap:9px;margin-top:auto;padding-top:16px;border-top:1px solid #e5ece6}.hub-side-account form{margin:0}.portal-switch-link{display:block;padding:7px;color:#4d6b5d;font-size:.74rem;font-weight:700;text-align:center}.portal-switch-link:hover{text-decoration:underline;text-underline-offset:3px}.hub-side-account .portal-signout-button{width:100%;min-height:40px;padding:8px 12px}
.client-hub-hero{scroll-margin-top:24px;padding:48px 0 30px}.client-hub-intro{min-width:0}.client-hub-intro .eyebrow{margin-bottom:9px}.client-hub-intro h1{margin:0;font-size:clamp(2.7rem,5vw,4.2rem);line-height:1.02}.client-hub-intro>p:last-child{max-width:650px;margin:14px 0 0;color:#64776d;font-size:1rem;line-height:1.65}
.client-hub-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-bottom:22px}.client-hub-summary article{display:grid;grid-template-columns:46px minmax(0,1fr);gap:14px;align-items:center;min-height:112px;padding:20px;border:1px solid #dfe7e0;border-radius:15px;background:rgba(255,255,255,.88);box-shadow:var(--shadow-sm)}.hub-summary-icon,.hub-section-icon,.hub-entry-icon{display:grid;place-items:center;flex:0 0 auto;border-radius:12px;font-size:.75rem;font-weight:800}.hub-summary-icon{width:46px;height:46px}.hub-summary-icon.quote,.hub-section-icon.quote,.hub-entry-icon.quote{background:#e8f2ea;color:#2e6d4e}.hub-summary-icon.appointment,.hub-section-icon.appointment,.hub-entry-icon.appointment{background:#fff0e8;color:#a6533d}.hub-summary-icon.invoice,.hub-section-icon.invoice,.hub-entry-icon.invoice{background:#e8eef7;color:#466786}.client-hub-summary small,.client-hub-summary strong,.client-hub-summary p{display:block}.client-hub-summary small{color:#6b7d73;font-size:.7rem;font-weight:750}.client-hub-summary strong{overflow:hidden;margin-top:3px;color:#1b3e30;font-size:1.48rem;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.client-hub-summary p{margin:4px 0 0;color:#7a8a82;font-size:.69rem}
.client-hub-workspace{display:grid;grid-template-areas:"content request";grid-template-columns:minmax(0,1fr) 320px;gap:22px;align-items:start}.client-hub-content{grid-area:content;display:grid;gap:18px;min-width:0}.hub-request-panel{position:sticky;top:22px;grid-area:request;scroll-margin-top:24px;padding:27px;border:1px solid #173c2f;border-radius:17px;background:linear-gradient(150deg,#173c2f 0%,#214c3a 100%);color:#fff;box-shadow:0 18px 42px rgba(17,55,41,.18)}.hub-request-panel .eyebrow{margin-bottom:7px;color:#9fceb0}.hub-request-panel h2{margin:0;font-size:1.75rem}.hub-request-panel>p:not(.eyebrow){margin:11px 0 22px;color:#c5d7cb;font-size:.87rem;line-height:1.58}.hub-request-panel form{display:grid;gap:14px;margin:0}.hub-request-panel label{display:block;color:#e7f0e9;font-size:.76rem;font-weight:700}.hub-request-panel label>span{float:right;color:#a9c3b2;font-size:.68rem;font-weight:550}.hub-request-panel :is(input,textarea){min-height:46px;margin-top:6px;border:1px solid rgba(255,255,255,.18);border-radius:9px;background:#fff;color:#17382c;box-shadow:none}.hub-request-panel textarea{min-height:116px;resize:vertical}.hub-request-panel :is(input,textarea):focus{border-color:#b6ddc2;box-shadow:0 0 0 4px rgba(181,220,193,.18)}.hub-request-panel .button{min-height:48px;margin-top:2px;border-color:#ef835f;background:#ef835f;color:#fff}.hub-request-panel .button:hover{background:#e67857}.hub-request-note{display:block;margin-top:15px;color:#aac3b3;font-size:.68rem;line-height:1.45;text-align:center}
.hub-section{scroll-margin-top:24px;overflow:hidden;border:1px solid #dfe7e0;border-radius:17px;background:#fff;box-shadow:var(--shadow-sm)}.hub-section>header{display:grid;grid-template-columns:43px minmax(0,1fr);gap:14px;align-items:center;padding:21px 23px;border-bottom:1px solid #e7ede8}.hub-section-icon{width:43px;height:43px}.hub-section>header .eyebrow{margin:0 0 3px}.hub-section>header h2{margin:0;color:#1b3c2e;font-size:1.18rem}.hub-section>header div>p:last-child{margin:4px 0 0;color:#718078;font-size:.76rem}.hub-section-icon.attention,.hub-entry-icon.attention{background:#fff0e8;color:#a6533d}.hub-attention-section{border-color:#ead8cf}.hub-attention-section>header{background:#fff9f5;border-bottom-color:#eedfd8}
.hub-entry-list{display:grid}.hub-entry{display:grid;grid-template-columns:42px minmax(0,1fr) auto auto;gap:14px;align-items:center;min-height:82px;padding:16px 20px}.hub-entry+.hub-entry{border-top:1px solid #e9eee9}.hub-entry-icon{width:42px;height:42px}.hub-entry-copy{min-width:0}.hub-entry-copy b,.hub-entry-copy span{display:block}.hub-entry-copy b{overflow:hidden;color:#234536;font-size:.9rem;text-overflow:ellipsis;white-space:nowrap}.hub-entry-copy span{margin-top:4px;color:#718078;font-size:.72rem;line-height:1.45}.hub-entry-amount{color:#274638;font-size:.88rem;white-space:nowrap}.hub-entry form{margin:0}.hub-entry .button{min-height:38px;padding:8px 12px;font-size:.76rem}.hub-entry .status{justify-self:end}
.hub-empty{display:grid;grid-template-columns:42px minmax(0,1fr);gap:14px;align-items:center;padding:23px}.hub-empty>span{display:grid;place-items:center;width:42px;height:42px;border:1px solid #dfe8e1;border-radius:50%;background:#f5f8f5;color:#56806a;font-weight:800}.hub-empty b{display:block;color:#355446;font-size:.85rem}.hub-empty p{margin:4px 0 0;color:#7a8a82;font-size:.76rem}
.hub-library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:22px}.hub-library-section>header{padding:19px 21px}.hub-section-icon.history{background:#efeaf8;color:#68588c}.hub-section-icon.document{background:#edf2f6;color:#526e83}.hub-compact-list article{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px;padding:14px 20px}.hub-compact-list article+article{border-top:1px solid #e9eee9}.hub-compact-list b,.hub-compact-list article>div>span{display:block}.hub-compact-list b{color:#28483a;font-size:.84rem}.hub-compact-list article>div>span{margin-top:3px;color:#718078;font-size:.69rem}.hub-document-link{flex:0 0 auto;color:#376e53;font-size:.73rem;font-weight:750}.hub-document-link:hover{text-decoration:underline;text-underline-offset:3px}

/* Client self-service should always make the next useful action obvious. */
.client-hub-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:30px}.hub-hero-meta{display:flex;flex-wrap:wrap;gap:9px 18px;margin-top:20px}.hub-hero-meta span{display:flex;align-items:center;gap:7px;color:#6a7e73;font-size:.72rem;font-weight:650}.hub-hero-meta i{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#e5f1e8;color:#2f704f;font-size:.66rem;font-style:normal}.hub-provider-contact{flex:0 0 220px;padding:16px 18px;border:1px solid #dce6de;border-radius:14px;background:rgba(255,255,255,.8);box-shadow:var(--shadow-sm)}.hub-provider-contact small,.hub-provider-contact b{display:block}.hub-provider-contact small{color:#7a8a82;font-size:.64rem;font-weight:700}.hub-provider-contact b{overflow:hidden;margin-top:4px;color:#234537;font-size:.86rem;text-overflow:ellipsis;white-space:nowrap}.hub-provider-contact>div{display:flex;gap:8px;margin-top:13px}.hub-provider-contact a{padding:7px 10px;border-radius:8px;background:#edf4ef;color:#315f48;font-size:.7rem;font-weight:750}.hub-provider-contact a:hover{background:#e2eee5}
.hub-focus-card{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:18px;align-items:center;margin-bottom:18px;padding:22px 24px;border:1px solid #dbe6dc;border-radius:17px;background:linear-gradient(135deg,#fff 35%,#f0f7f1);box-shadow:var(--shadow-sm)}.hub-focus-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:15px;background:#dff0e4;color:#2d6d4d;font-size:1rem;font-weight:850}.hub-focus-card .eyebrow{margin:0 0 4px}.hub-focus-card h2{margin:0;color:#183b2d;font-size:1.25rem}.hub-focus-card div>p:last-child{margin:6px 0 0;color:#65786e;font-size:.78rem;line-height:1.5}.hub-focus-card>.button{min-width:150px}.hub-focus-card.attention{border-color:#ebd8cd;background:linear-gradient(135deg,#fff 35%,#fff3ed)}.hub-focus-card.attention .hub-focus-icon{background:#fce4da;color:#9d4e38}.hub-focus-card.payment{border-color:#d9e1ed;background:linear-gradient(135deg,#fff 35%,#eef3fa)}.hub-focus-card.payment .hub-focus-icon{background:#e4eaf4;color:#466786}.hub-focus-card.appointment{border-color:#eadbcf;background:linear-gradient(135deg,#fff 35%,#fff4ed)}.hub-focus-card.appointment .hub-focus-icon{background:#ffeadf;color:#a6533d}
.client-hub-summary>a{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:14px;align-items:center;min-height:112px;padding:20px;border:1px solid #dfe7e0;border-radius:15px;background:rgba(255,255,255,.88);color:inherit;box-shadow:var(--shadow-sm);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.client-hub-summary>a:hover{transform:translateY(-2px);border-color:#c7d8ca;box-shadow:var(--shadow-md)}.client-hub-summary>a>i{color:#8ba095;font-size:1rem;font-style:normal;transition:transform .18s ease}.client-hub-summary>a:hover>i{color:#366c51;transform:translateX(3px)}
.hub-request-panel>p:not(.eyebrow){margin-bottom:18px}.hub-request-presets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:0;padding:0;border:0}.hub-request-presets legend{grid-column:1/-1;width:100%;margin-bottom:2px;color:#e7f0e9;font-size:.76rem;font-weight:700}.hub-request-presets button{display:flex;align-items:center;gap:7px;min-height:45px;padding:7px 9px;border:1px solid rgba(255,255,255,.15);border-radius:9px;background:rgba(255,255,255,.07);color:#dbe9df;font:650 .7rem var(--font-ui);cursor:pointer;text-align:left}.hub-request-presets button:hover,.hub-request-presets button[aria-pressed="true"]{border-color:#ef9a7d;background:#fff;color:#753f30}.hub-request-presets button>span:first-child{display:grid;flex:0 0 25px;place-items:center;width:25px;height:25px;border-radius:6px;background:rgba(255,255,255,.11);font-size:.6rem}.hub-request-presets button[aria-pressed="true"]>span:first-child{background:#f8dfd7;color:#9a513b}.hub-request-preset-copy{display:grid;min-width:0;gap:1px}.hub-request-preset-copy b,.hub-request-preset-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hub-request-preset-copy small{font-size:.6rem;font-weight:500;opacity:.78}.hub-request-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.hub-request-panel :is(input,textarea,select){width:100%;min-height:46px;margin-top:6px;border:1px solid rgba(255,255,255,.18);border-radius:9px;background:#fff;color:#17382c;box-shadow:none}.hub-request-panel select{padding:0 9px;font-size:.73rem}.hub-request-panel :is(input,textarea,select):focus{border-color:#b6ddc2;box-shadow:0 0 0 4px rgba(181,220,193,.18)}.hub-request-note span{color:#a8d6b7}
.hub-entry-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}.hub-entry-actions>a{color:#3c6f56;font-size:.68rem;font-weight:750;white-space:nowrap}.hub-entry-actions>a:hover{text-decoration:underline;text-underline-offset:3px}.hub-appointment-entry{grid-template-columns:42px minmax(0,1fr) minmax(205px,auto)}
.hub-section-icon.activity,.hub-entry-icon.activity{background:#e8f0f3;color:#4f7180}.hub-activity-section{margin-top:22px}.hub-activity-list{display:grid}.hub-activity-list article{position:relative;display:grid;grid-template-columns:39px minmax(0,1fr) auto;gap:13px;align-items:center;min-height:72px;padding:13px 20px}.hub-activity-list article+article{border-top:1px solid #e9eee9}.hub-activity-list .hub-entry-icon{width:39px;height:39px}.hub-activity-list .hub-entry-icon.history{background:#e6f2e9;color:#32704f}.hub-activity-list b{display:block;color:#29493b;font-size:.82rem}.hub-activity-list p{margin:3px 0 0;color:#74847c;font-size:.69rem}.hub-activity-list time{color:#819088;font-size:.68rem;white-space:nowrap}
.hub-details-grid{scroll-margin-top:24px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:22px}.hub-detail-card{display:grid;grid-template-columns:40px minmax(0,1fr);gap:13px;min-height:160px;padding:20px;border:1px solid #dfe7e0;border-radius:15px;background:#fff;box-shadow:var(--shadow-sm)}.hub-detail-card>span{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:#edf4ef;color:#386b53;font-weight:800}.hub-detail-card.provider>span{background:#173c2f;color:#ef835f}.hub-detail-card .eyebrow{margin:2px 0 5px}.hub-detail-card h2{overflow:hidden;margin:0;color:#244537;font-size:.96rem;text-overflow:ellipsis;white-space:nowrap}.hub-detail-card div>p:last-of-type{margin:9px 0 0;color:#6b7d73;font-size:.75rem;line-height:1.55}.hub-detail-card a{color:#376e53}.hub-detail-card a:hover{text-decoration:underline}.hub-detail-card small{display:block;margin-top:10px;color:#8a9790;font-size:.65rem;line-height:1.4}
.hub-mobile-dock{display:none}
.client-hub-shell:has(#changes:target) .hub-side-links a[href="#quotes"],.client-hub-shell:has(#activity:target) .hub-side-links a[href="#activity"],.client-hub-shell:has(#details:target) .hub-side-links a[href="#details"]{background:#e8f2ea;color:#245c40}.client-hub-shell:has(#changes:target) .hub-side-links a[href="#quotes"]>span,.client-hub-shell:has(#activity:target) .hub-side-links a[href="#activity"]>span,.client-hub-shell:has(#details:target) .hub-side-links a[href="#details"]>span{background:#173c2f;color:#fff}
.client-access-shell{width:min(960px,100%);margin:0 auto;padding:68px 0 84px}.client-access-intro{max-width:720px;margin:0 auto 36px;text-align:center}.client-access-mark{display:grid;place-items:center;width:48px;height:48px;margin:0 auto 23px;border-radius:14px;background:#173c2f;color:#ef835f;font-size:1.05rem;font-weight:850;box-shadow:0 10px 24px rgba(19,60,47,.16)}.client-access-intro .eyebrow{margin-bottom:9px}.client-access-intro h1{margin:0;font-size:clamp(2.5rem,5vw,4rem);line-height:1.04}.client-access-intro>p:last-child{max-width:650px;margin:16px auto 0;color:#65776e;font-size:.98rem;line-height:1.68}.client-access-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.client-choice-card{display:grid;grid-template-columns:48px minmax(0,1fr);gap:17px;align-content:start;min-height:292px;padding:28px;border:1px solid #dce6de;border-radius:18px;background:#fff;box-shadow:var(--shadow-sm)}.client-choice-card.primary{border-color:#cdded1;background:linear-gradient(145deg,#fff 50%,#f1f7f2)}.client-choice-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:13px;background:#173c2f;color:#fff;font-size:1.05rem;font-weight:800}.client-choice-icon.create{background:#fff0e8;color:#a6533d}.client-choice-card>div{min-width:0}.client-choice-card .eyebrow{margin:1px 0 6px}.client-choice-card h2{margin:0;color:#1d4031;font-size:1.35rem}.client-choice-card div>p:last-child{margin:11px 0 0;color:#6b7c73;font-size:.86rem;line-height:1.58}.client-choice-card>.button{grid-column:1/-1;align-self:end;margin-top:26px;min-height:46px}.client-access-card{display:grid;grid-template-columns:48px minmax(0,1fr);gap:17px;width:min(620px,100%);margin:auto;padding:29px;border:1px solid #ead9d1;border-radius:18px;background:#fff9f6;box-shadow:var(--shadow-sm)}.client-choice-icon.warning{background:#fff0e8;color:#a6533d}.client-access-card h2{margin:0}.client-access-card p{margin:10px 0 0;color:#6d7871}.client-access-card form{grid-column:1/-1;margin:8px 0 0}.client-access-warning .button{min-height:46px}
.client-signup-shell{width:min(650px,100%)}.client-signup-shell .client-access-intro{margin-bottom:30px}.client-signup-card{padding:34px 38px;border:1px solid #dce6de;border-radius:19px;background:#fff;box-shadow:0 20px 55px rgba(19,57,44,.1)}.client-signup-heading{padding-bottom:25px;border-bottom:1px solid #e5ece6}.client-signup-heading .eyebrow{margin-bottom:6px}.client-signup-heading h2{margin:0;font-size:1.65rem}.client-signup-heading>p:last-child{margin:9px 0 0;color:#6e7f76;font-size:.84rem;line-height:1.55}.client-signup-card>form{display:grid;gap:17px;margin:25px 0 0}.client-signup-card label{display:block;color:#365447;font-size:.8rem;font-weight:700}.client-signup-card input{min-height:48px;margin-top:7px;border-radius:9px}.client-signup-card input[readonly]{background:#f4f7f4;color:#6d7c74}.client-signup-card label>small{display:block;margin-top:6px;color:#7a8a82;font-size:.68rem;font-weight:500}.client-signup-card form>.button{min-height:48px;margin-top:3px}.client-signup-alternative{position:relative;margin-top:26px;padding-top:27px;border-top:1px solid #e5ece6;text-align:center}.client-signup-alternative>span{position:absolute;top:-10px;left:50%;padding:0 10px;background:#fff;color:#8a9891;font-size:.7rem;transform:translateX(-50%)}.client-signup-alternative p{margin:0 0 13px;color:#708078;font-size:.75rem}.client-signup-alternative .google-button{width:100%;min-height:46px}.client-signup-existing{margin:22px 0 0;color:#718078;font-size:.78rem;text-align:center}.client-signup-existing a{color:#336b50;font-weight:750}
@media(max-width:1100px){.client-hub-shell{grid-template-columns:1fr;gap:0}.client-hub-nav{position:sticky;z-index:30;top:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;min-height:0;margin-top:18px;padding:10px 12px;border-radius:14px}.hub-nav-context{padding:0 13px 0 0;border-right:1px solid #e5ece6;border-bottom:0}.hub-side-links{display:flex;gap:4px;min-width:0;margin:0;overflow-x:auto;scrollbar-width:none}.hub-side-links::-webkit-scrollbar{display:none}.hub-side-links a{flex:0 0 auto;min-height:38px;padding:5px 8px}.hub-side-links a:hover{transform:none}.hub-side-links .hub-request-link{margin:0}.hub-side-account{display:flex;align-items:center;gap:7px;margin:0;padding:0 0 0 4px;border-top:0}.hub-side-account .portal-switch-link{white-space:nowrap}.hub-side-account .portal-signout-button{width:auto;white-space:nowrap}.client-hub-hero{padding-top:40px}}
@media(max-width:900px){.client-hub-workspace{grid-template-columns:minmax(0,1fr) 310px}.hub-entry{grid-template-columns:38px minmax(0,1fr) auto}.hub-entry-icon{width:38px;height:38px}.hub-entry-amount{grid-column:2}.hub-entry form,.hub-entry>.status{grid-column:3;grid-row:1 / span 2}.hub-entry form .button{white-space:nowrap}}
@media(max-width:760px){.portal-main{padding-inline:20px}.hub-nav-context{display:none}.client-hub-hero{align-items:flex-start;flex-direction:column;padding-top:38px}.hub-provider-contact{width:100%;flex-basis:auto}.hub-focus-card{grid-template-columns:48px minmax(0,1fr)}.hub-focus-icon{width:48px;height:48px}.hub-focus-card>.button{grid-column:1/-1;width:100%}.client-hub-summary{grid-template-columns:1fr}.client-hub-summary>a{min-height:92px}.client-hub-workspace{grid-template-areas:"request" "content";grid-template-columns:1fr}.hub-request-panel{position:static}.hub-library-grid,.hub-details-grid{grid-template-columns:1fr}.client-access-choices{grid-template-columns:1fr}.client-choice-card{min-height:0}}
@media(max-width:620px){.portal-header{height:68px;padding-inline:16px}.portal-header .public-header-actions>span{display:none}.portal-main{padding:0 15px 56px}.client-hub-nav{position:static;grid-template-columns:1fr;gap:10px;margin:12px 0 0;padding:11px}.hub-side-links{margin-inline:-2px}.hub-side-account{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding-top:10px;border-top:1px solid #e5ece6}.hub-side-account form{grid-column:1/-1}.hub-side-account .portal-signout-button{width:100%}.hub-side-account .portal-switch-link:only-child{grid-column:1/-1}.client-hub-hero{padding:30px 2px 25px}.client-hub-intro h1{font-size:2.55rem}.client-hub-intro>p:last-child{font-size:.93rem}.client-hub-summary{gap:9px;margin-bottom:14px}.client-hub-summary article{grid-template-columns:42px minmax(0,1fr);min-height:84px;padding:15px}.hub-summary-icon{width:42px;height:42px}.client-hub-workspace,.client-hub-content,.hub-library-grid{gap:13px}.hub-request-panel{padding:23px 20px;border-radius:15px}.hub-section{border-radius:14px}.hub-section>header{grid-template-columns:39px minmax(0,1fr);padding:18px}.hub-section-icon{width:39px;height:39px}.hub-entry{grid-template-columns:38px minmax(0,1fr);gap:12px;padding:15px 17px}.hub-entry-amount{grid-column:2}.hub-entry form,.hub-entry>.status{grid-column:1/-1;grid-row:auto;justify-self:stretch}.hub-entry form .button{width:100%}.hub-entry>.status{justify-self:start}.hub-empty{padding:20px 18px}.hub-compact-list article{align-items:flex-start;padding:14px 18px}.client-access-shell{padding:42px 0 58px}.client-access-intro{margin-bottom:27px}.client-access-mark{width:44px;height:44px;margin-bottom:19px}.client-access-intro h1{font-size:2.45rem}.client-access-intro>p:last-child{font-size:.91rem}.client-choice-card{grid-template-columns:43px minmax(0,1fr);padding:22px}.client-choice-icon{width:43px;height:43px}.client-access-card{grid-template-columns:43px minmax(0,1fr);padding:22px}.client-signup-card{padding:27px 21px;border-radius:16px}}
@media(max-width:620px){.portal-main{padding-bottom:108px}.client-hub-nav{display:grid}.client-hub-nav .hub-side-links{display:none}.client-hub-hero{padding-top:34px}.hub-hero-meta{display:grid;gap:8px}.hub-focus-card{gap:13px;margin-bottom:13px;padding:18px}.hub-focus-card h2{font-size:1.08rem}.client-hub-summary>a{grid-template-columns:42px minmax(0,1fr) auto;min-height:84px;padding:15px}.hub-request-presets{grid-template-columns:1fr 1fr}.hub-request-options{grid-template-columns:1fr}.hub-appointment-entry{grid-template-columns:38px minmax(0,1fr)}.hub-entry-actions{grid-column:1/-1;justify-content:flex-start;padding-top:3px}.hub-entry-actions>a{padding:7px 9px;border-radius:8px;background:#edf4ef}.hub-activity-list article{grid-template-columns:36px minmax(0,1fr);padding:13px 16px}.hub-activity-list time{grid-column:2}.hub-detail-card{min-height:0;padding:18px}.hub-mobile-dock{position:fixed;z-index:50;right:12px;bottom:12px;left:12px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:7px;border:1px solid #d8e3da;border-radius:16px;background:rgba(255,255,255,.94);box-shadow:0 18px 50px rgba(14,48,35,.2);backdrop-filter:blur(18px)}.hub-mobile-dock a{display:grid;place-items:center;gap:3px;min-height:52px;padding:5px;border-radius:11px;color:#5e7368;font-size:.61rem;font-weight:750}.hub-mobile-dock a>span{font-size:.8rem}.hub-mobile-dock a.primary{background:#173c2f;color:#fff}.hub-mobile-dock a:not(.primary):hover{background:#eef4ef}}

/* Team capacity is managed per person and read as one dispatch board. */
.team-member-link{color:inherit;text-decoration:none}.team-member-link:hover{margin-inline:-10px;padding-inline:10px;border-radius:10px;background:#f3f7f3}.team-member-link>span:last-child{grid-template-columns:auto auto;align-items:center;gap:10px}.team-profile-head{margin-top:12px}.team-profile-head .account-row{gap:15px}.team-profile-head h1{margin:0}.large-avatar{width:54px;height:54px;font-size:1.1rem}.technician-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}.technician-settings>.panel{padding:26px}.technician-settings>.panel>h2{margin:3px 0 8px}.technician-settings>.panel>form{margin-top:24px;padding-top:22px;border-top:1px solid var(--line-soft)}.technician-settings form h3{margin:0 0 15px;font-size:1rem}.availability-list{margin-top:20px}.availability-list .simple-row:first-child{border-top:1px solid var(--line-soft)}.absence-list{display:grid;gap:9px;margin-top:20px}.absence-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 14px;border:1px solid var(--line-soft);border-radius:11px;background:#fafcfa}.absence-row>div{display:grid;grid-template-columns:auto 1fr;gap:5px 10px;align-items:center}.absence-row small{grid-column:1/-1;color:#687a70}.absence-row form{margin:0}.absence-type{width:max-content;padding:4px 7px;border-radius:999px;background:#f0e9ff;color:#64508b;font-size:.66rem;font-weight:750}.absence-type.holiday{background:#fff0e8;color:#9a513b}.absence-type.sick{background:#fbe9e9;color:#984747}.absence-type.training{background:#e7f0fb;color:#3e678d}.capacity-head{margin-bottom:16px}.capacity-legend{display:flex;flex-wrap:wrap;gap:16px;margin:0 0 12px;color:#607269;font-size:.76rem;font-weight:650}.capacity-legend span{display:flex;align-items:center;gap:6px}.legend-dot{width:9px;height:9px;border-radius:50%;background:#2f7953}.legend-dot.free{background:#cae2d2}.legend-dot.away{background:#ee8b6c}.capacity-board{padding:0;overflow:auto;overscroll-behavior-inline:contain}.capacity-grid{display:grid;grid-template-columns:190px repeat(var(--capacity-days),minmax(145px,1fr));min-width:calc(190px + var(--capacity-days) * 145px)}.capacity-grid-head{position:sticky;top:0;z-index:3;background:#edf4ef}.capacity-grid-head>div{min-height:72px;border-bottom:1px solid #dce6de}.capacity-date{display:flex;flex-direction:column;justify-content:center;padding:12px;border-left:1px solid #dce6de}.capacity-date b{font-size:.78rem}.capacity-date span{margin-top:3px;color:#6b7c73;font-size:.72rem}.capacity-date.weekend,.capacity-day.weekend{background:#faf8f4}.capacity-row{background:#fff}.capacity-row+.capacity-row{border-top:1px solid #e1e8e2}.capacity-technician{position:sticky;left:0;z-index:2;display:flex;align-items:center;gap:10px;padding:12px 14px;background:inherit;box-shadow:5px 0 10px -10px #17392d}.capacity-grid-head .capacity-technician{z-index:4;align-items:flex-start;flex-direction:column;justify-content:center;background:#edf4ef}.capacity-technician a{color:inherit}.capacity-technician b,.capacity-technician small{display:block}.capacity-technician b{font-size:.82rem}.capacity-technician small{margin-top:3px;color:#718078;font-size:.7rem}.capacity-technician .avatar.unassigned{background:#edf1ed;color:#5d7066}.capacity-day{display:grid;align-content:start;gap:6px;min-height:104px;padding:7px;border-left:1px solid #e4ebe5}.capacity-job{display:grid;gap:2px;padding:8px;border-left:3px solid var(--tech,#3f7b5b);border-radius:7px;background:#f1f6f2;color:#26473a;box-shadow:0 1px 2px #17392d0b}.capacity-job:hover{background:#e7f1e9}.capacity-job time{color:#4f6c5e;font-size:.65rem;font-weight:750}.capacity-job b{font-size:.73rem;line-height:1.25}.capacity-job small{color:#63766c;font-size:.66rem}.capacity-job.unassigned{border-color:#df795c;background:#fff3ee}.capacity-absence{display:grid;gap:2px;padding:8px;border-radius:7px;background:#fff0e9;color:#934f3c}.capacity-absence.sick{background:#fcecec;color:#8e4343}.capacity-absence.training{background:#eaf2fb;color:#3c6487}.capacity-absence.other{background:#f1ecfb;color:#645084}.capacity-absence b{font-size:.72rem}.capacity-absence small{font-size:.65rem;line-height:1.25}.capacity-free{display:grid;gap:2px;padding:7px;border:1px dashed #c7ddcd;border-radius:7px;background:#f8fbf8;color:#4e7560}.capacity-free b{font-size:.68rem}.capacity-free small,.capacity-off{color:#75867d;font-size:.64rem}.capacity-off{padding:7px}.unassigned-row{background:#fffaf7}.route-link{margin-top:12px}
@media(max-width:850px){.technician-settings{grid-template-columns:1fr}.capacity-board{margin-inline:-12px;border-radius:0}.capacity-grid{grid-template-columns:150px repeat(var(--capacity-days),minmax(132px,1fr));min-width:calc(150px + var(--capacity-days) * 132px)}.capacity-technician{padding:10px}.capacity-head{align-items:stretch;flex-direction:column}.capacity-head .inline-filter{width:100%}}
@media(max-width:620px){.team-profile-head{align-items:flex-start}.team-profile-head>.button{width:100%}.absence-row{align-items:flex-start;flex-direction:column}.absence-row form,.absence-row .quiet-action{width:100%}.technician-settings>.panel{padding:21px 18px}.capacity-legend{gap:10px}.capacity-board{margin-inline:-15px}.capacity-grid{grid-template-columns:138px repeat(var(--capacity-days),minmax(124px,1fr));min-width:calc(138px + var(--capacity-days) * 124px)}.capacity-day{min-height:92px}.capacity-technician b{font-size:.76rem}}

/* Keep weekday and time selection together as one clear scheduling action. */
.technician-settings>.panel>form.availability-form{margin-top:20px;padding:18px;border:1px solid #dce7de;border-radius:13px;background:#f6faf7}.availability-form h3{margin-bottom:16px;color:#264a3a}.availability-form-fields{display:grid;grid-template-columns:minmax(130px,.8fr) minmax(0,1.7fr);gap:14px;align-items:end}.app-main .panel form .availability-form-fields label{margin:0}.availability-form-fields :is(input,select){height:46px;min-height:46px;margin-top:7px;background:#fff}.availability-time-range{display:grid;grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr);gap:7px;align-items:end}.availability-time-range>span{display:grid;place-items:center;height:46px;color:#789085;font-size:1rem}.availability-form>.button{margin-top:14px}@media(max-width:620px){.availability-form-fields{grid-template-columns:1fr}.availability-time-range{grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr)}.technician-settings>.panel>form.availability-form{padding:16px}}

/* Team is an operational entity, not a settings sub-form. */
.team-hub-head{margin-bottom:24px}.team-hub-head .top-actions{flex-wrap:wrap}.team-metrics{margin-bottom:24px}.team-metrics article{min-height:126px}.team-metrics article small{font-weight:650}.team-metrics article span{line-height:1.35}.team-hub-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:22px;align-items:start}.team-directory{min-width:0}.team-directory-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:14px}.team-directory-head .eyebrow{margin-bottom:5px}.team-directory-head h2{margin:0;font-size:1.55rem}.team-directory-head>span{padding:6px 10px;border-radius:999px;background:#e8f1e9;color:#436a55;font-size:.72rem;font-weight:750}.team-person-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.team-person-card{display:grid;align-content:start;min-width:0;padding:20px;border:1px solid var(--line-soft);border-radius:14px;background:#fff;box-shadow:var(--shadow-sm);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.team-person-card:hover{transform:translateY(-2px);border-color:#bfd1c3;box-shadow:var(--shadow-md)}.team-person-card>header{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:12px;align-items:center;padding-bottom:17px;border-bottom:1px solid #e7ece7}.team-avatar{width:46px;height:46px;font-size:.94rem}.team-person-card h3{margin:0;color:#17382c;font-size:1.05rem;letter-spacing:-.02em}.team-person-card header p{margin:3px 0 0;color:#718078;font-size:.73rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-presence{align-self:start;padding:6px 8px;border-radius:999px;background:#e8f3eb;color:#326b4d;font-size:.65rem;font-weight:750;white-space:nowrap}.team-presence.away{background:#fff0e8;color:#97533e}.team-presence.off{background:#f0f1ef;color:#69786f}.team-person-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:16px 0}.team-person-facts>div{min-width:0;padding-right:12px}.team-person-facts>div+div{padding-left:12px;border-left:1px solid #e8ede8}.team-person-facts small,.team-person-facts b,.team-person-facts span{display:block}.team-person-facts small{margin-bottom:5px;color:#718078;font-size:.65rem;font-weight:650}.team-person-facts b{color:#2d4a3c;font-size:.75rem;line-height:1.35}.team-person-facts span{margin-top:3px;color:#718078;font-size:.67rem;line-height:1.3}.team-person-facts a:hover b{color:#276346}.team-person-card footer{margin-top:auto;padding-top:13px;border-top:1px solid #edf0ed}.team-person-card footer a{color:#376e53;font-size:.74rem;font-weight:750}.team-hub-rail{position:sticky;top:24px;display:grid;gap:14px}.team-hub-rail .panel{padding:22px}.team-hub-rail h2{margin:0 0 8px}.team-hub-rail article>p:not(.eyebrow){color:#66776e;font-size:.86rem;line-height:1.55}.team-planning-card{background:linear-gradient(145deg,#173c2f,#214e3c);color:#fff;border-color:#173c2f}.team-planning-card .eyebrow{color:#9ec5ad}.team-planning-card article,.team-planning-card h2{color:#fff}.team-planning-card>p:not(.eyebrow){color:#c4d6c9!important}.team-planning-card .button{background:#fff;color:#173c2f;border-color:#fff}.team-invite-card>h2{margin-bottom:7px}.team-invite-card .hint{line-height:1.5}.team-access-panel{grid-column:1/-1}.team-access-form{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.team-access-form>div{display:flex;flex-wrap:wrap;gap:10px 18px}.team-access-form .check{margin:0!important;padding:9px 11px;border:1px solid #dce6de;border-radius:9px;background:#f7faf7}.team-access-form>.button{flex:0 0 auto}.side-nav a[href="/team"]{position:relative}.side-nav a[href="/team"].active:after{content:'';position:absolute;right:10px;top:50%;width:6px;height:6px;border-radius:50%;background:#ef835f;transform:translateY(-50%)}
.team-presence.pending{background:#fff4d3;color:#735713}.team-pending-card{border-style:dashed;background:#fbfcfa}.team-pending-card .team-avatar{background:#edf1ee;color:#607168}.team-pending-card footer span{color:#718078;font-size:.72rem;line-height:1.45}.team-invite-dialog{position:fixed;inset:0;z-index:1100;display:grid;place-items:center;padding:18px;background:rgba(8,25,19,.64);backdrop-filter:blur(6px)}.team-invite-dialog[hidden]{display:none}.team-invite-dialog-card{width:min(560px,100%);max-height:calc(100vh - 36px);overflow:auto;border:1px solid #dce6de;border-radius:20px;background:#fff;box-shadow:0 30px 90px rgba(8,31,22,.34)}.team-invite-dialog-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:25px 27px 20px;border-bottom:1px solid #e4ebe5}.team-invite-dialog-card>header .eyebrow{margin-bottom:5px}.team-invite-dialog-card>header h2{margin:0;font-size:1.65rem}.team-invite-dialog-card>header p:last-child{margin:8px 0 0;color:#6b7d73;font-size:.82rem}.team-invite-dialog-card>form{display:grid;gap:15px;padding:23px 27px 27px}.team-invite-dialog-card>form label{display:block;margin:0;color:#29483a;font-size:.77rem;font-weight:700}.team-invite-dialog-card>form :is(input,select){margin-top:7px}.team-invite-dialog-card>form .hint{font-size:.76rem;line-height:1.5}.team-invite-dialog-card>form footer{display:flex;justify-content:flex-end;gap:10px;margin-top:3px}
.side-nav a[href="/team"].active:after{display:none}
.side-nav a{display:flex;align-items:center;justify-content:space-between;gap:10px}.nav-attention{display:grid;place-items:center;flex:0 0 auto;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#ef835f;color:#fff;font:750 .68rem var(--font-ui);line-height:1;box-shadow:0 0 0 2px rgba(239,131,95,.14)}
@media(max-width:1150px){.team-person-grid{grid-template-columns:1fr}.team-person-facts{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.team-hub-layout{grid-template-columns:1fr}.team-hub-rail{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.team-access-form{align-items:stretch;flex-direction:column}.team-access-form>.button{align-self:flex-start}}
@media(max-width:620px){.team-hub-head .top-actions{display:grid;grid-template-columns:1fr}.team-hub-head .top-actions .button{width:100%}.team-metrics article{min-height:108px}.team-directory-head{align-items:flex-start}.team-person-card{padding:17px}.team-person-card>header{grid-template-columns:42px minmax(0,1fr)}.team-avatar{width:42px;height:42px}.team-presence{grid-column:1/-1;width:max-content}.team-person-facts{grid-template-columns:1fr;gap:10px}.team-person-facts>div{padding:0}.team-person-facts>div+div{padding:10px 0 0;border-top:1px solid #e8ede8;border-left:0}.team-hub-rail{grid-template-columns:1fr}.team-access-form>.button{width:100%}.team-invite-dialog{align-items:end;padding:0}.team-invite-dialog-card{max-height:93vh;border-radius:20px 20px 0 0}.team-invite-dialog-card>header{padding:22px 20px 18px}.team-invite-dialog-card>form{padding:20px}.team-invite-dialog-card>form footer{display:grid;grid-template-columns:1fr 1fr}.team-invite-dialog-card>form footer .button{width:100%}}

/* Dedicated Client hub pages keep navigation stable and records easy to scan. */
.hub-side-links button{appearance:none;border:0;text-align:left}.hub-side-links :is(a,button){width:100%;font-family:var(--font-ui)}.hub-side-links a:first-child:not(.active){background:transparent;color:#526a5e}.hub-side-links a:first-child:not(.active)>span{background:#edf3ee;color:#4c715d}.hub-side-links :is(a,button).active{background:#e8f2ea;color:#245c40}.hub-side-links :is(a,button).active>span{background:#173c2f;color:#fff}.hub-side-links .hub-request-link{display:grid;grid-template-columns:29px minmax(0,1fr);gap:9px;align-items:center;min-height:40px;padding:6px 9px;border:1px solid #f0d8cf;border-radius:9px;background:#fff5f0;color:#8e4d3a;font-size:.76rem;font-weight:700;cursor:pointer;transition:background .16s ease,color .16s ease,transform .16s ease}.hub-side-links .hub-request-link:hover{background:#ffebe1;transform:translateX(2px)}.hub-side-links .hub-request-link>span{display:grid;place-items:center;width:29px;height:29px;border-radius:8px;background:#ef835f;color:#fff;font-size:.65rem;font-weight:850}
.client-hub-section-page .client-hub-nav{min-height:620px}.hub-page-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:48px 0 28px}.hub-page-hero>div{max-width:760px}.hub-page-hero a{display:inline-block;margin-bottom:17px;color:#587064;font-size:.76rem;font-weight:750}.hub-page-hero h1{margin:0;font-size:clamp(2.6rem,5vw,4.4rem);line-height:1;letter-spacing:-.045em}.hub-page-hero p{max-width:680px;margin:14px 0 0;color:#64776d;font-size:1rem;line-height:1.65}.hub-page-hero>.button{flex:0 0 auto;margin-bottom:3px}.hub-page-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-bottom:20px}.hub-page-metrics article{padding:20px 22px;border:1px solid #dfe7e0;border-radius:15px;background:#fff;box-shadow:var(--shadow-sm)}.hub-page-metrics small,.hub-page-metrics strong,.hub-page-metrics p{display:block}.hub-page-metrics small{color:#6b7d73;font-size:.7rem;font-weight:750}.hub-page-metrics strong{margin-top:4px;color:#1b3e30;font-size:1.75rem}.hub-page-metrics p{margin:3px 0 0;color:#7a8a82;font-size:.72rem}.hub-page-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:20px;align-items:start;padding-bottom:70px}.hub-page-list{display:grid;gap:18px;min-width:0}.hub-page-aside{position:sticky;top:24px;padding:23px;border:1px solid #dce6de;border-radius:15px;background:#fff;box-shadow:var(--shadow-sm)}.hub-page-aside h2{margin:0 0 10px;font-size:1.08rem}.hub-page-aside p{margin:0;color:#66786f;font-size:.82rem;line-height:1.58}.hub-page-aside>a{display:block;margin-top:17px;color:#2f684b;font-size:.77rem;font-weight:750}.hub-page-aside ul{display:grid;gap:12px;margin:0;padding:0;list-style:none}.hub-page-aside li{padding-bottom:11px;border-bottom:1px solid #e8ede8}.hub-page-aside li b,.hub-page-aside li span{display:block}.hub-page-aside li b{font-size:.8rem}.hub-page-aside li span{margin-top:3px;color:#75877d;font-size:.68rem}.hub-page-aside.provider{display:grid;gap:9px;background:linear-gradient(150deg,#173c2f,#214d3b);color:#fff;border-color:#173c2f}.hub-page-aside.provider h2{margin:0}.hub-page-aside.provider p{color:#bfd2c5}.hub-page-aside.provider a{margin:0;color:#fff;overflow-wrap:anywhere}.hub-record-list{display:grid;gap:0}.hub-record-card{padding:21px 23px}.hub-record-card+.hub-record-card{border-top:1px solid #e8ede8}.hub-record-heading{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:13px;align-items:center}.hub-record-heading small,.hub-record-heading h3{display:block}.hub-record-heading small{color:#75867d;font-size:.68rem;font-weight:700}.hub-record-heading h3{margin:3px 0 0;color:#214334;font-size:1rem}.hub-record-card>p{margin:15px 0;color:#5f7469;font-size:.82rem;line-height:1.58}.hub-record-card address{margin:14px 0 0;color:#526a5e;font-size:.78rem;font-style:normal}.hub-record-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:15px 0}.hub-record-card dl>div{padding:11px 13px;border-radius:9px;background:#f4f7f4}.hub-record-card dt{color:#74857c;font-size:.65rem;font-weight:700}.hub-record-card dd{margin:4px 0 0;color:#294a3b;font-size:.8rem;font-weight:750}.hub-record-card>form{display:flex;justify-content:flex-end;margin:15px 0 0}.hub-record-actions{display:flex;align-items:center;justify-content:flex-end;gap:14px;margin-top:16px}.hub-record-actions a{color:#376e53;font-size:.75rem;font-weight:750}.hub-record-actions form{margin:0}.hub-details-form{padding:24px}.hub-details-form>.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hub-details-form label{display:block;margin-bottom:16px;color:#315044;font-size:.78rem;font-weight:700}.hub-details-form label>span{color:#7b8b83;font-weight:500}.hub-details-form :is(input,textarea){margin-top:7px}.hub-details-form textarea{resize:vertical}.hub-details-form .form-actions{margin-top:6px}
.hub-request-dialog{position:fixed;inset:0;z-index:1100;display:grid;place-items:center;padding:18px;background:rgba(8,25,19,.64);backdrop-filter:blur(6px)}.hub-request-dialog[hidden]{display:none}.hub-request-dialog-card{width:min(680px,100%);max-height:calc(100vh - 36px);overflow:auto;border:1px solid #dce6de;border-radius:20px;background:#fff;box-shadow:0 30px 90px rgba(8,31,22,.34)}.hub-request-dialog-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:25px 27px 20px;border-bottom:1px solid #e4ebe5}.hub-request-dialog-card>header .eyebrow{margin-bottom:5px}.hub-request-dialog-card>header h2{margin:0;font-size:1.65rem}.hub-request-dialog-card>header p:last-child{margin:8px 0 0;color:#6b7d73;font-size:.82rem}.hub-request-dialog-form{padding:7px 27px 27px}.hub-request-dialog-form form{display:grid;gap:14px}.hub-request-dialog-form label{display:block;color:#29483a;font-size:.77rem;font-weight:700}.hub-request-dialog-form label>span{float:right;color:#7c8b84;font-weight:500}.hub-request-dialog-form :is(input,select,textarea){margin-top:6px}.hub-request-dialog-form textarea{resize:vertical}.hub-request-dialog-form .hub-request-presets{margin-top:8px}.hub-mobile-dock button{appearance:none;border:0;font-family:var(--font-ui);cursor:pointer}.hub-mobile-dock :is(a,button).active{color:#173c2f}
.hub-request-dialog-form .hub-request-presets legend{color:#315044}.hub-request-dialog-form .hub-request-presets button{border-color:#d8e4da;background:#f3f7f3;color:#315044}.hub-request-dialog-form .hub-request-presets button>span:first-child{background:#e4ede6;color:#416653}.hub-request-dialog-form .hub-request-presets button:hover,.hub-request-dialog-form .hub-request-presets button[aria-pressed="true"]{border-color:#ef9a7d;background:#fff3ee;color:#753f30}
.hub-invoice-payment-actions{display:flex;align-items:center;justify-content:flex-end;gap:11px}.hub-invoice-payment-actions>a{color:#376e53;font-size:.75rem;font-weight:750;white-space:nowrap}.hub-invoice-payment-actions>a:hover{text-decoration:underline;text-underline-offset:3px}.hub-record-actions>.hub-invoice-payment-actions{flex:1}.invoice-payment-dialog{position:fixed;inset:0;z-index:1120;display:grid;place-items:center;padding:18px;background:rgba(8,25,19,.66);backdrop-filter:blur(7px)}.invoice-payment-dialog[hidden]{display:none}.invoice-payment-card{width:min(760px,100%);max-height:calc(100vh - 36px);overflow:auto;border:1px solid #dce6de;border-radius:21px;background:#fff;box-shadow:0 32px 95px rgba(8,31,22,.36)}.invoice-payment-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:25px 27px 20px;border-bottom:1px solid #e4ebe5}.invoice-payment-card>header .eyebrow{margin:0 0 5px}.invoice-payment-card>header h2{margin:0;font-size:1.65rem}.invoice-payment-card>header p:last-child{margin:8px 0 0;color:#6b7d73;font-size:.82rem}.invoice-payment-body{display:grid;grid-template-columns:86px minmax(0,1fr);gap:23px;padding:27px}.invoice-payment-body.has-qr{grid-template-columns:230px minmax(0,1fr)}.invoice-payment-qr{display:grid;justify-items:center;align-self:start;padding:5px;border:1px solid #dfe8e1;border-radius:16px;background:#fff}.invoice-payment-qr img{display:block;width:220px;height:220px}.invoice-payment-qr small{padding:2px 0 10px;color:#60766a;font-size:.7rem;font-weight:750}.invoice-payment-bank-icon{display:grid;place-items:center;width:76px;height:76px;border-radius:20px;background:#e6f2e9;color:#246144;font-size:1.9rem;font-weight:800}.invoice-payment-details>p:first-child{margin:0 0 17px;color:#61756a;font-size:.83rem;line-height:1.55}.invoice-payment-details dl{display:grid;grid-template-columns:1fr;gap:0;margin:0;border:1px solid #e0e8e2;border-radius:13px;overflow:hidden}.invoice-payment-details dl>div{display:grid;grid-template-columns:100px minmax(0,1fr);gap:12px;padding:12px 14px;background:#fafcfa}.invoice-payment-details dl>div+div{border-top:1px solid #e5ebe6}.invoice-payment-details dt{color:#72837a;font-size:.68rem;font-weight:750}.invoice-payment-details dd{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-width:0;margin:0;color:#244536;font-size:.8rem;font-weight:750;overflow-wrap:normal;word-break:normal}.invoice-payment-details dd span{min-width:0}.invoice-payment-details dd button{flex:0 0 auto;padding:1px 0;border:0;background:transparent;color:#2f7252;font:inherit;font-size:.69rem;cursor:pointer}.invoice-payment-note{margin:14px 0 0;padding:13px 14px;border-radius:11px;background:#f1f6f2;color:#476154;font-size:.77rem;line-height:1.55}.invoice-payment-card>footer{display:flex;justify-content:flex-end;gap:10px;padding:18px 27px 24px;border-top:1px solid #e6ece7}.invoice-payment-card>footer .button{margin:0}.hub-record-actions .invoice-payment-card>footer a.button{color:#fff}
.invoice-payment-card>footer a.button{color:#fff}
@media(max-width:1100px){.client-hub-section-page .client-hub-nav{min-height:0}.hub-page-hero{padding-top:38px}.hub-page-layout{grid-template-columns:minmax(0,1fr) 250px}.hub-side-links .hub-request-link{width:auto;flex:0 0 auto;margin:0}.hub-side-links .hub-request-link:hover{transform:none}}
@media(max-width:800px){.hub-page-layout{grid-template-columns:1fr}.hub-page-aside{position:static}.hub-page-hero{align-items:flex-start;flex-direction:column}.hub-page-hero>.button{margin:0}.hub-page-metrics{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.hub-page-hero{padding:28px 2px 22px}.hub-page-hero h1{font-size:2.55rem}.hub-page-hero>.button{width:100%}.hub-page-metrics{grid-template-columns:1fr}.hub-record-card{padding:18px}.hub-record-heading{grid-template-columns:42px minmax(0,1fr)}.hub-record-heading>.status{grid-column:2;width:max-content}.hub-record-card dl{grid-template-columns:1fr}.hub-record-actions{align-items:stretch;flex-direction:column}.hub-record-actions .button{width:100%}.hub-details-form{padding:20px 18px}.hub-details-form>.form-grid{grid-template-columns:1fr}.hub-request-dialog{align-items:end;padding:0}.hub-request-dialog-card{max-height:93vh;border-radius:20px 20px 0 0}.hub-request-dialog-card>header{padding:22px 20px 18px}.hub-request-dialog-form{padding:6px 20px 24px}}
@media(max-width:620px){.hub-entry>.hub-invoice-payment-actions{grid-column:1/-1;justify-content:stretch;flex-direction:column;align-items:stretch}.hub-invoice-payment-actions>a{text-align:center;padding:8px}.invoice-payment-dialog{align-items:end;padding:0}.invoice-payment-card{max-height:94vh;border-radius:20px 20px 0 0}.invoice-payment-card>header{padding:22px 20px 18px}.invoice-payment-body,.invoice-payment-body.has-qr{grid-template-columns:1fr;padding:20px}.invoice-payment-qr{justify-self:center}.invoice-payment-bank-icon{width:62px;height:62px}.invoice-payment-details dl>div{grid-template-columns:1fr;gap:5px}.invoice-payment-card>footer{display:grid;grid-template-columns:1fr 1fr;padding:16px 20px 22px}.invoice-payment-card>footer .button{width:100%}}
@media(max-width:620px){.hub-mobile-dock :is(a,button){display:grid;place-items:center;gap:3px;min-height:52px;padding:5px;border-radius:11px;color:#5e7368;font-size:.61rem;font-weight:750}.hub-mobile-dock :is(a,button)>span{font-size:.8rem}.hub-mobile-dock button.primary{background:#173c2f;color:#fff}}
@media(max-width:620px){.client-hub-nav{display:block;min-height:0;margin:8px 0 0;padding:0;border:0;background:transparent;box-shadow:none}.client-hub-nav .hub-side-account{display:flex;justify-content:flex-end;margin:0;padding:0;border:0}.client-hub-nav .hub-side-account form{width:auto}.client-hub-nav .hub-side-account .portal-signout-button{width:auto;min-height:34px;padding:6px 12px;border:1px solid #d8e3da;background:rgba(255,255,255,.72);color:#436052;box-shadow:none;font-size:.7rem}}
@media(min-width:1101px){.client-hub-shell{grid-template-columns:240px minmax(0,1fr)}}
.catalog-edit-trigger{grid-column:2/-1;width:max-content;padding:7px 0;border:0;background:transparent;color:#376e53;font:750 .76rem var(--font-ui);cursor:pointer}.catalog-edit-trigger:before{content:'✎';margin-right:7px}.catalog-edit-trigger:hover{color:#173c2f}.catalog-edit-dialog{position:fixed;inset:0;z-index:1100;display:grid;place-items:center;padding:18px;background:rgba(8,25,19,.64);backdrop-filter:blur(6px)}.catalog-edit-dialog[hidden]{display:none}.catalog-edit-dialog-card{width:min(680px,100%);max-height:calc(100vh - 36px);overflow:auto;border:1px solid #dce6de;border-radius:20px;background:#fff;box-shadow:0 30px 90px rgba(8,31,22,.34)}.catalog-edit-dialog-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:25px 27px 20px;border-bottom:1px solid #e4ebe5}.catalog-edit-dialog-card>header .eyebrow{margin-bottom:5px}.catalog-edit-dialog-card>header h2{margin:0;font-size:1.65rem}.catalog-edit-dialog-card>header p:last-child{margin:7px 0 0;color:#6b7d73;font-size:.82rem}.catalog-edit-dialog-card>form{display:grid;gap:15px;padding:23px 27px 27px}.catalog-edit-dialog-card>form label{display:block;margin:0;color:#29483a;font-size:.77rem;font-weight:700}.catalog-edit-dialog-card>form :is(input,select,textarea){margin-top:7px}.catalog-edit-dialog-card>form textarea{resize:vertical}.catalog-edit-dialog-card>form footer{display:flex;justify-content:flex-end;gap:10px;margin-top:3px}@media(max-width:620px){.catalog-edit-trigger{grid-column:2}.catalog-edit-dialog{align-items:end;padding:0}.catalog-edit-dialog-card{max-height:93vh;border-radius:20px 20px 0 0}.catalog-edit-dialog-card>header{padding:22px 20px 18px}.catalog-edit-dialog-card>form{padding:20px}.catalog-edit-dialog-card>form :is(.form-grid,.form-row){grid-template-columns:1fr}.catalog-edit-dialog-card>form footer{display:grid;grid-template-columns:1fr 1fr}.catalog-edit-dialog-card>form footer .button{width:100%}}
.portal-access-note{display:block;color:#73847b;font-size:.66rem;line-height:1.4;text-align:center}.hub-side-account>a.portal-signout-button{display:grid;place-items:center;text-decoration:none}@media(max-width:620px){.portal-access-note{display:none}}
.portal-owner-preview-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px;padding:13px 16px;border:1px solid #c9dfd0;border-radius:10px;background:#edf6ef;color:#244d39}.portal-owner-preview-banner>div{display:grid;gap:2px}.portal-owner-preview-banner b{font-size:.82rem}.portal-owner-preview-banner span{color:#61776a;font-size:.75rem}.portal-owner-preview-banner a{color:#235d42;font-size:.76rem;font-weight:750;white-space:nowrap}.portal-preview-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0}.portal-preview-details>div{padding:14px 0;border-bottom:1px solid #e7ece8}.portal-preview-details dt{color:#738078;font-size:.7rem;font-weight:700;text-transform:uppercase}.portal-preview-details dd{margin:4px 0 0;color:#1f3d30;font-size:.9rem}@media(max-width:620px){.portal-owner-preview-banner{align-items:flex-start;flex-direction:column}.portal-preview-details{grid-template-columns:1fr}}
.catalog-intro>span{flex:0 0 47px;aspect-ratio:1}
@media(min-width:851px){.job-list>a{grid-template-columns:145px minmax(0,1fr) max-content max-content 15px;gap:16px}.job-list>a>.status{justify-self:start}.job-list>a>b{white-space:nowrap}}
.team-person-card>header{grid-template-columns:46px minmax(0,1fr);align-items:start}.team-person-card>header>div{min-width:0}.team-person-card .team-presence{grid-column:2;justify-self:start;width:max-content;max-width:100%;overflow:hidden;text-overflow:ellipsis}
@media(max-width:620px){.team-person-card>header{grid-template-columns:42px minmax(0,1fr)}.team-person-card .team-presence{grid-column:1/-1}}
.status.large.converted{background:#d9ece0;border-color:#97c8a6;color:#194f34;box-shadow:0 5px 14px rgba(25,79,52,.13)}

/* Resource reservation context supplements the operational directory. */
.resource-status.in-use{background:#e2eef9;color:#275777}
.resource-status.blocked{background:#fff1dc;color:#92551b}.resource-facts{grid-template-columns:repeat(2,minmax(0,1fr))!important}.resource-facts>div{padding:0 12px 12px 0!important}.resource-facts>div:nth-child(even){padding-right:0!important;padding-left:12px!important;border-left:1px solid #e8ede8!important}.resource-facts>div:nth-child(n+3){padding-top:12px!important;padding-bottom:0!important;border-top:1px solid #e8ede8!important}.resource-facts>div:nth-child(3){border-left:0!important}.resource-facts span{display:block;margin-top:3px;color:#718078;font-size:.67rem;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resource-facts a{color:inherit}.resource-booking-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0 0 22px}.resource-booking-summary article{padding:17px 19px;border:1px solid #dfe8e1;border-radius:13px;background:#fff;box-shadow:var(--shadow-sm)}.resource-booking-summary small,.resource-booking-summary b,.resource-booking-summary span{display:block}.resource-booking-summary small{margin-bottom:5px;color:#718078;font-size:.66rem;font-weight:700}.resource-booking-summary b{color:#214334;font-size:.82rem}.resource-booking-summary span{margin-top:4px;color:#6e8076;font-size:.72rem;line-height:1.4}.resource-booking-summary a{color:inherit}@media(max-width:620px){.resource-facts{grid-template-columns:1fr!important;gap:10px}.resource-facts>div,.resource-facts>div:nth-child(even){padding:0!important;border:0!important}.resource-facts>div+div{padding:10px 0 0!important;border-top:1px solid #e8ede8!important}.resource-booking-summary{grid-template-columns:1fr}}

/* Resources use the same operational rhythm as Team, with capacity-specific facts. */
.resource-hub-head{margin-bottom:24px}.resource-hub-head .top-actions{flex-wrap:wrap}.resource-metrics{margin-bottom:24px}.resource-metrics article{min-height:126px}.resource-metrics article small{font-weight:650}.resource-metrics article span{line-height:1.35}.resource-hub-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:22px;align-items:start}.resource-directory{min-width:0}.resource-directory-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:14px}.resource-directory-head .eyebrow{margin-bottom:5px}.resource-directory-head h2{margin:0;font-size:1.55rem}.resource-directory-head>span{padding:6px 10px;border-radius:999px;background:#e8f1e9;color:#436a55;font-size:.72rem;font-weight:750}.resource-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.resource-card{display:grid;align-content:start;min-width:0;padding:20px;border:1px solid var(--line-soft);border-radius:14px;background:#fff;box-shadow:var(--shadow-sm);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.resource-card:hover{transform:translateY(-2px);border-color:#bfd1c3;box-shadow:var(--shadow-md)}.resource-card.retired{opacity:.72;background:#fafbfa}.resource-card>header{display:grid;grid-template-columns:46px minmax(0,1fr);gap:12px;align-items:start;padding-bottom:17px;border-bottom:1px solid #e7ece7}.resource-avatar{width:46px;height:46px;font-size:.94rem}.resource-card header>div{min-width:0}.resource-card h3{overflow:hidden;margin:0;color:#17382c;font-size:1.05rem;letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap}.resource-card header p{overflow:hidden;margin:3px 0 0;color:#718078;font-size:.73rem;text-overflow:ellipsis;white-space:nowrap}.resource-status{grid-column:2;justify-self:start;width:max-content;max-width:100%;margin-top:7px;padding:6px 8px;border-radius:999px;background:#e8f3eb;color:#326b4d;font-size:.65rem;font-weight:750;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resource-status.retired{background:#f0f1ef;color:#69786f}.resource-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:16px 0}.resource-facts>div{min-width:0;padding-right:12px}.resource-facts>div+div{padding-left:12px;border-left:1px solid #e8ede8}.resource-facts small,.resource-facts b{display:block}.resource-facts small{margin-bottom:5px;color:#718078;font-size:.65rem;font-weight:650}.resource-facts b{color:#2d4a3c;font-size:.75rem;line-height:1.35}.resource-card footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:13px;border-top:1px solid #edf0ed}.resource-card footer a{color:#376e53;font-size:.74rem;font-weight:750}.resource-card footer form{margin:0}.resource-hub-rail{position:sticky;top:24px;display:grid;gap:14px}.resource-hub-rail .panel{padding:22px}.resource-hub-rail h2{margin:0 0 8px}.resource-hub-rail article>p:not(.eyebrow){color:#66776e;font-size:.86rem;line-height:1.55}.resource-planning-card{background:linear-gradient(145deg,#173c2f,#214e3c);color:#fff;border-color:#173c2f}.resource-planning-card .eyebrow{color:#9ec5ad}.resource-planning-card h2{color:#fff}.resource-planning-card>p:not(.eyebrow){color:#c4d6c9!important}.resource-planning-card .button{background:#fff;color:#173c2f;border-color:#fff}.resource-empty{display:grid;justify-items:start;gap:8px;padding:30px;border:1px dashed #b8cdbd;border-radius:15px;background:#fbfdfb}.resource-empty>span{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:#e7f2e9;color:#2f7252;font-weight:850}.resource-empty h3{margin:5px 0 0;color:#214334}.resource-empty p{max-width:580px;margin:0;color:#65786e;font-size:.83rem;line-height:1.58}.resource-empty .button{margin-top:8px}.resource-profile-head{margin-top:12px}.resource-profile-head .account-row{gap:15px}.resource-profile-head h1{margin:0}.resource-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}.resource-settings>.panel{padding:26px}.resource-settings>.panel>h2{margin:3px 0 8px}.resource-settings>.panel>form{margin-top:24px;padding-top:22px;border-top:1px solid var(--line-soft)}.resource-settings form h3{margin:0 0 15px;font-size:1rem}.resource-settings>.panel>form.availability-form{margin-top:20px;padding:18px;border:1px solid #dce7de;border-radius:13px;background:#f6faf7}.resource-details-panel{margin-top:22px}.resource-details-panel h2{margin:3px 0 8px}.resource-create-dialog{position:fixed;inset:0;z-index:1100;display:grid;place-items:center;padding:18px;background:rgba(8,25,19,.64);backdrop-filter:blur(6px)}.resource-create-dialog[hidden]{display:none}.resource-create-dialog-card{width:min(560px,100%);max-height:calc(100vh - 36px);overflow:auto;border:1px solid #dce6de;border-radius:20px;background:#fff;box-shadow:0 30px 90px rgba(8,31,22,.34)}.resource-create-dialog-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:25px 27px 20px;border-bottom:1px solid #e4ebe5}.resource-create-dialog-card>header .eyebrow{margin-bottom:5px}.resource-create-dialog-card>header h2{margin:0;font-size:1.65rem}.resource-create-dialog-card>header p:last-child{margin:8px 0 0;color:#6b7d73;font-size:.82rem}.resource-create-dialog-card>form{display:grid;gap:15px;padding:23px 27px 27px}.resource-create-dialog-card>form label{display:block;margin:0;color:#29483a;font-size:.77rem;font-weight:700}.resource-create-dialog-card>form :is(input,textarea){margin-top:7px}.resource-create-dialog-card>form textarea{resize:vertical}.resource-create-dialog-card>form footer{display:flex;justify-content:flex-end;gap:10px;margin-top:3px}@media(max-width:1150px){.resource-card-grid{grid-template-columns:1fr}.resource-facts{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:900px){.resource-hub-layout{grid-template-columns:1fr}.resource-hub-rail{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.resource-hub-head{align-items:flex-start}.resource-hub-head .top-actions{display:grid;grid-template-columns:1fr}.resource-hub-head .top-actions .button,.resource-profile-head>.button{width:100%}.resource-metrics article{min-height:108px}.resource-directory-head{align-items:flex-start}.resource-card{padding:17px}.resource-card>header{grid-template-columns:42px minmax(0,1fr)}.resource-avatar{width:42px;height:42px}.resource-facts{grid-template-columns:1fr;gap:10px}.resource-facts>div{padding:0}.resource-facts>div+div{padding:10px 0 0;border-top:1px solid #e8ede8;border-left:0}.resource-card footer{align-items:stretch;flex-direction:column}.resource-card footer .quiet-action{width:100%;text-align:left}.resource-hub-rail{grid-template-columns:1fr}.resource-settings{grid-template-columns:1fr}.resource-settings>.panel{padding:21px 18px}.resource-create-dialog{align-items:end;padding:0}.resource-create-dialog-card{max-height:93vh;border-radius:20px 20px 0 0}.resource-create-dialog-card>header{padding:22px 20px 18px}.resource-create-dialog-card>form{padding:20px}.resource-create-dialog-card>form footer{display:grid;grid-template-columns:1fr 1fr}.resource-create-dialog-card>form footer .button{width:100%}}
