/* Role-aware settings */
.settings-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.settings-card { display:flex; align-items:center; gap:13px; width:100%; min-height:108px; padding:18px; border:1px solid var(--line); border-radius:11px; background:#fff; color:var(--ink); box-shadow:var(--shadow); text-align:left; cursor:pointer; }
.settings-card:hover,.settings-card:focus-visible { border-color:#9bbbf1; outline:0; }
.settings-card>span:nth-child(2) { display:grid; gap:5px; }
.settings-card strong { font:700 15px "Manrope"; }
.settings-card small { color:var(--muted); font-size:12px; line-height:1.45; }
.settings-card>i { margin-left:auto; color:var(--blue); font-size:24px; font-style:normal; }
[data-theme="dark"] { color-scheme:dark; --paper:#162032; --ink:#edf2fa; --muted:#afbdd2; --line:#33445f; --blue-soft:#203a5f; }
[data-theme="dark"] .main-content,[data-theme="dark"] .topbar,[data-theme="dark"] .sidebar,[data-theme="dark"] .panel,[data-theme="dark"] .metric-card,[data-theme="dark"] .settings-card,[data-theme="dark"] .modal,[data-theme="dark"] .quick-action,[data-theme="dark"] .secondary-button { background:#162032; color:var(--ink); }
[data-theme="dark"] th,[data-theme="dark"] .ticket-filter-panel { background:#1c2940; }
@media (max-width:760px) { .settings-grid { grid-template-columns:1fr; } }
:root {
  --ink:#1D2A4D; --navy:#1D2A4D; --canvas:#f8f9f7; --line:#D9D9D9;
  --muted:#697482; --blue:#2F4F3E; --blue-soft:#edf3ef; --green:#2F4F3E;
  --green-soft:#e8f0eb; --amber:#7C5C3B; --amber-soft:#f5ede5;
  --shadow:0 12px 34px rgba(29,42,77,.08);
}
* { box-sizing:border-box; }
[hidden] { display:none !important; }
body { margin:0; background:var(--canvas); color:var(--ink); font:14px "Source Sans 3",sans-serif; }
.login-shell { display:grid; min-height:100vh; padding:24px; place-items:center; background:linear-gradient(135deg,#e3dfcd 0%,#f8f9f7 58%,#dce8df 100%); }
.login-card { width:min(420px,100%); padding:42px; border:1px solid rgba(47,79,62,.16); border-radius:18px; background:#fff; box-shadow:0 24px 70px rgba(29,42,77,.16); }
.login-logo { display:block; width:62px; height:62px; margin-bottom:24px; object-fit:contain; }.eyebrow { margin:0 0 7px; color:#7C5C3B; font:700 10px "Montserrat",sans-serif; letter-spacing:.12em; }.login-card h1 { margin:0 0 8px; font:700 28px "Montserrat",sans-serif; }.login-card>p:not(.eyebrow):not(.login-hint) { margin:0; color:var(--muted); }.login-form { display:grid; gap:15px; margin-top:26px; }.login-form label { display:grid; gap:6px; color:#52617a; font-size:12px; font-weight:700; }.login-form input { width:100%; padding:11px; border:1px solid #dce4f0; border-radius:7px; outline:0; color:var(--ink); font:14px "Source Sans 3",sans-serif; }.login-form input:focus { border-color:var(--blue); box-shadow:0 0 0 3px var(--blue-soft); }.login-submit { justify-content:center; margin-top:4px; }.login-error { margin:0; padding:10px; border-radius:7px; background:#fff0f2; color:#b22d3a; font-size:12px; }.login-hint { margin:22px 0 0; color:var(--muted); font-size:11px; text-align:center; }
.development-login-card { width:min(760px,100%); }
.development-login-status { margin:24px 0 0; color:var(--muted); }
.development-account-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:24px; }
.development-account { display:grid; grid-template-columns:42px minmax(0,1fr) auto; gap:12px; align-items:center; width:100%; padding:14px; border:1px solid #dce4f0; border-radius:12px; background:#fff; color:var(--ink); text-align:left; cursor:pointer; transition:border-color .15s,box-shadow .15s,transform .15s; }
.development-account:hover { border-color:var(--green); box-shadow:0 8px 22px rgba(47,79,62,.12); transform:translateY(-1px); }
.development-account:focus-visible { outline:3px solid var(--blue-soft); border-color:var(--blue); }
.development-account:disabled { cursor:wait; opacity:.58; transform:none; }
.development-account-initials { display:grid; width:42px; height:42px; place-items:center; border-radius:11px; background:var(--green-soft); color:var(--green); font:700 13px "Montserrat",sans-serif; }
.development-account-copy { display:grid; min-width:0; }
.development-account-copy strong { overflow:hidden; font:700 13px "Montserrat",sans-serif; text-overflow:ellipsis; white-space:nowrap; }
.development-account-copy small { overflow:hidden; margin-top:3px; color:var(--muted); text-overflow:ellipsis; white-space:nowrap; }
.development-account-role { padding:5px 8px; border-radius:999px; background:#f2eee6; color:#765837; font-size:10px; font-weight:700; white-space:nowrap; }
.password-login { margin-top:18px; border-top:1px solid #e4e8ec; padding-top:14px; color:var(--muted); }
.password-login summary { cursor:pointer; font-weight:600; }
.password-login .login-form { margin-top:16px; }
@media (max-width:640px){ .development-account-list { grid-template-columns:1fr; } .development-login-card { padding:28px 22px; } .development-account { grid-template-columns:42px minmax(0,1fr); } .development-account-role { grid-column:2; justify-self:start; } }
.app-shell { display:flex; min-height:100vh; }
.sidebar { position:fixed; inset:0 auto 0 0; z-index:10; display:flex; flex-direction:column; width:260px; min-height:100vh; padding:26px 14px 15px; overflow-x:hidden; overflow-y:auto; scrollbar-width:none; color:var(--ink); background:#e3dfcd; }
.sidebar::-webkit-scrollbar { width:0; height:0; }
.brand { display:flex; align-items:center; gap:10px; padding:0 7px 24px; color:var(--ink); font:500 12px "Montserrat",sans-serif; letter-spacing:-.25px; text-decoration:none; }
.brand-logo { width:45px; height:45px; object-fit:contain; }
.brand-wordmark { display:block; white-space:nowrap; }.brand-wordmark strong { font-weight:700; }.brand-wordmark span { color:#7C5C3B; font-weight:400; }
.organization-picker { display:flex; align-items:center; gap:10px; margin:0 3px 23px; padding:11px 9px; border:1px solid rgba(47,79,62,.14); border-radius:10px; background:rgba(255,255,255,.52); }
.org-avatar,.profile-avatar,.top-avatar { display:grid; place-items:center; flex:none; width:31px; height:31px; border-radius:9px; background:#e8bd91; color:#704019; font-size:10px; font-weight:800; }
.organization-picker small { display:block; color:#7C5C3B; font-size:8px; font-weight:700; letter-spacing:.08em; }
.organization-picker select { max-width:164px; border:0; outline:0; background:transparent; color:var(--ink); font:600 12px "Source Sans 3"; cursor:pointer; }
.organization-picker option { color:var(--ink); }
.organization-picker.is-loading { opacity:.72; }
.organization-picker.is-loading .org-avatar { animation:organization-pulse .9s ease-in-out infinite alternate; }
.organization-fixed-value,.locked-organization { display:block; color:var(--ink); font:600 12px "Source Sans 3"; line-height:1.35; }
.locked-organization { margin-top:7px; padding:10px 12px; border:1px solid var(--line); border-radius:8px; background:var(--surface-soft); }
@keyframes organization-pulse { to { transform:scale(.92); opacity:.65; } }
.nav { display:grid; gap:5px; }
.nav-group { min-width:0; }.nav-group summary { display:flex; align-items:center; justify-content:space-between; margin:7px 10px 5px; color:#7C5C3B; font:700 10px "Montserrat",sans-serif; letter-spacing:.09em; text-transform:uppercase; cursor:pointer; list-style:none; }.nav-group summary::-webkit-details-marker { display:none; }.nav-group summary span { font-size:16px; line-height:10px; transition:transform .2s ease; }.nav-group:not([open]) summary span { transform:rotate(-90deg); }
.nav-item { display:flex; align-items:center; gap:11px; width:100%; padding:10px; border:0; border-radius:8px; background:transparent; color:var(--ink); font:500 13px "Source Sans 3"; text-align:left; cursor:pointer; }
.nav-item:hover { background:rgba(255,255,255,.62); color:var(--ink); }
.nav-item.active { background:#2F4F3E; color:#fff; box-shadow:0 8px 18px rgba(0,0,0,.16); }
i { display:inline-grid; place-items:center; flex:none; width:17px; height:17px; }
i svg { width:100%; height:100%; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.8; }
.nav-count { min-width:18px; margin-left:auto; padding:1px 5px; border-radius:10px; background:#d1cab5; color:var(--ink); font-size:10px; text-align:center; }
.nav-count.warm { background:#dfc7aa; color:#704d2d; }
.status-dot { width:6px; height:6px; margin-left:auto; border-radius:50%; background:#7C5C3B; box-shadow:0 0 0 3px rgba(124,92,59,.22); }
.sidebar-bottom { margin-top:auto; }
.help-card { display:flex; align-items:flex-start; gap:8px; margin:17px 3px 14px; padding:11px 9px; border:1px solid rgba(47,79,62,.14); border-radius:9px; background:rgba(255,255,255,.52); color:var(--muted); }.help-card>i { color:var(--green); }.help-card div,.profile div { display:grid; gap:3px; font-size:10px; }.help-card strong,.profile strong { color:var(--ink); font-size:11px; }
.help-card button,.profile button { margin-left:auto; padding:0; border:0; background:transparent; color:#7C5C3B; cursor:pointer; }
.profile { display:flex; align-items:center; gap:9px; padding:11px 7px 2px; border-top:1px solid rgba(47,79,62,.18); }.profile div { color:var(--muted); }.profile-avatar,.top-avatar { border-radius:50%; background:#dce8df; color:#2F4F3E; }
.main-content { width:calc(100% - 260px); margin-left:260px; }
.topbar { display:flex; align-items:center; justify-content:space-between; height:80px; padding:0 clamp(24px,4vw,58px); border-bottom:1px solid var(--line); background:#fff; }
.crumb { display:grid; gap:2px; }.crumb span { color:var(--muted); font-size:12px; }.crumb strong { font:700 18px "Montserrat"; letter-spacing:-.5px; }
.top-actions { display:flex; align-items:center; gap:13px; }.icon-button,.menu-button { position:relative; display:grid; place-items:center; width:35px; height:35px; padding:0; border:0; border-radius:8px; background:transparent; color:#52627c; cursor:pointer; }.icon-button:hover,.menu-button:hover { background:#f0f4fa; color:var(--blue); }
.notification-button b { position:absolute; top:4px; right:3px; display:grid; place-items:center; width:14px; height:14px; border:2px solid #fff; border-radius:50%; background:#e95c57; color:#fff; font-size:8px; }.menu-button { display:none; }
.page-content { max-width:1440px; margin:auto; padding:34px clamp(24px,4vw,58px) 50px; }
.page-intro { display:flex; align-items:flex-start; justify-content:space-between; margin-bottom:27px; }.page-intro h1 { margin:0 0 8px; font:700 clamp(24px,3vw,30px) "Montserrat"; letter-spacing:-1.2px; }.page-intro p { margin:0; color:var(--muted); }
.primary-button,.secondary-button { display:inline-flex; align-items:center; gap:8px; padding:11px 14px; border:0; border-radius:8px; background:var(--blue); box-shadow:0 4px 12px rgba(47,79,62,.2); color:#fff; font:600 12px "Source Sans 3"; cursor:pointer; }.primary-button:hover { background:#243f31; }.secondary-button { border:1px solid var(--line); background:#fff; box-shadow:none; color:var(--ink); }.secondary-button:hover { border-color:#9d8870; }
.metrics { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:25px; }.metric-card,.panel { border:1px solid var(--line); border-radius:11px; background:#fff; box-shadow:var(--shadow); }.metric-card { min-height:118px; padding:17px; }.metric-head,.panel-title { display:flex; align-items:center; justify-content:space-between; color:var(--muted); font-size:12px; }.metric-icon { display:grid; place-items:center; width:30px; height:30px; border-radius:8px; background:var(--blue-soft); color:var(--blue); }.metric-icon.green { background:var(--green-soft); color:var(--green); }.metric-icon.amber { background:var(--amber-soft); color:var(--amber); }.metric-value { margin:14px 0 4px; font:800 25px "Manrope"; letter-spacing:-1px; }.metric-note { color:var(--muted); font-size:11px; }.metric-note strong { color:var(--green); }
.dashboard-metric-link { display:block; width:100%; appearance:none; color:var(--ink); font:inherit; text-align:left; cursor:pointer; transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease; }
.dashboard-metric-link:hover { border-color:#8ca898; box-shadow:0 15px 34px rgba(47,79,62,.14); transform:translateY(-2px); }
.dashboard-metric-link:focus-visible { border-color:var(--green); outline:3px solid rgba(47,79,62,.18); outline-offset:2px; }
.dashboard-grid { display:grid; grid-template-columns:1.35fr .8fr; gap:18px; }.panel { padding:20px; }.panel-title { margin-bottom:18px; }.panel-title h2,.table-toolbar h2 { margin:0; color:var(--ink); font:700 15px "Manrope"; letter-spacing:-.3px; }.panel-title a,.row-action { border:0; background:transparent; color:var(--blue); font:600 11px "DM Sans"; text-decoration:none; cursor:pointer; }
.activity-list,.ticket-list,.invoice-list,.health-list { display:grid; }.activity-item,.ticket-row,.invoice-row { display:flex; align-items:center; gap:12px; padding:13px 0; border-top:1px solid var(--line); }.activity-item:first-child,.ticket-row:first-child,.invoice-row:first-child { padding-top:0; border-top:0; }.activity-icon { display:grid; place-items:center; width:29px; height:29px; border-radius:50%; background:var(--blue-soft); color:var(--blue); }.activity-icon.green { background:var(--green-soft); color:var(--green); }.activity-icon.amber { background:var(--amber-soft); color:var(--amber); }.activity-item div { display:grid; gap:3px; }.activity-item strong,.ticket-row strong,.invoice-row strong { font-size:12px; }.activity-item span,.ticket-row span,.invoice-row span { color:var(--muted); font-size:11px; }.activity-time { margin-left:auto; color:#94a2b9; font-size:10px; white-space:nowrap; }
.health-score { display:flex; flex-direction:column; align-items:center; justify-content:center; width:116px; height:116px; margin:5px auto 18px; border:9px solid #d9f3e9; border-top-color:var(--green); border-radius:50%; color:var(--green); font:800 29px "Montserrat",sans-serif; line-height:1; }.health-score small { margin-top:7px; color:var(--muted); font:600 9px "Montserrat",sans-serif; letter-spacing:.06em; }.health-list { gap:11px; }.health-line { display:flex; justify-content:space-between; color:#53617a; font-size:12px; }.health-line strong { color:var(--green); font-size:11px; }
.quick-actions { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-top:18px; }.quick-action { min-height:94px; padding:13px; border:1px solid var(--line); border-radius:9px; background:#fff; color:var(--ink); text-align:left; cursor:pointer; }.quick-action:hover { border-color:#9bbbf1; box-shadow:var(--shadow); transform:translateY(-1px); }.quick-action i { margin-bottom:13px; color:var(--blue); }.quick-action span { display:block; font-size:11px; font-weight:600; }
.table-panel { padding:0; overflow:hidden; }.table-toolbar { display:flex; align-items:center; justify-content:space-between; padding:18px 20px; border-bottom:1px solid var(--line); }.filter-input { width:220px; padding:9px 11px; border:1px solid var(--line); border-radius:7px; outline:0; color:var(--ink); font:12px "DM Sans"; }.filter-input:focus,.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus { border-color:var(--blue); box-shadow:0 0 0 3px var(--blue-soft); }table { width:100%; border-collapse:collapse; text-align:left; }th { padding:11px 20px; background:#f9fbfe; color:#8190a7; font-size:10px; letter-spacing:.06em; text-transform:uppercase; }td { padding:15px 20px; border-top:1px solid var(--line); font-size:12px; }td strong { display:block; font-size:12px; }td small { display:block; margin-top:3px; color:var(--muted); }.badge { display:inline-flex; align-items:center; gap:5px; padding:4px 7px; border-radius:10px; font-size:10px; font-weight:700; }.badge:before { width:5px; height:5px; border-radius:50%; background:currentColor; content:""; }.badge.green { background:var(--green-soft); color:#07835e; }.badge.amber { background:var(--amber-soft); color:#b9660a; }.badge.red { background:#fff0f2; color:#c53c49; }.badge.blue { background:var(--blue-soft); color:#2764c8; }.domain-name { display:flex; align-items:center; gap:9px; }.domain-icon { display:grid; place-items:center; width:30px; height:30px; border:1px solid var(--line); border-radius:8px; color:#516485; }
.empty-page { padding:64px 25px; text-align:center; }.empty-page .metric-icon { width:42px; height:42px; margin:auto auto 15px; }.empty-page h2 { margin:0 0 6px; font:700 19px "Manrope"; }.empty-page p { max-width:440px; margin:0 auto 20px; color:var(--muted); }
.modal-backdrop { position:fixed; z-index:20; inset:0; background:rgba(7,21,45,.43); backdrop-filter:blur(2px); }.modal { position:fixed; z-index:21; top:50%; left:50%; width:min(510px,calc(100% - 32px)); max-height:90vh; padding:24px; overflow:auto; transform:translate(-50%,-50%); border-radius:14px; background:#fff; box-shadow:0 25px 80px rgba(0,0,0,.24); }.modal h2 { margin:0 0 5px; font:800 20px "Manrope"; letter-spacing:-.7px; }.modal>p { margin:0 0 20px; color:var(--muted); font-size:12px; }.modal-close { position:absolute; top:14px; right:14px; padding:6px; border:0; border-radius:7px; background:#f2f5fa; color:#63738b; cursor:pointer; }.form-grid { display:grid; gap:14px; }.form-grid label { display:grid; gap:6px; color:#52617a; font-size:11px; font-weight:700; }.form-grid input,.form-grid select,.form-grid textarea { width:100%; padding:10px; border:1px solid #dce4f0; border-radius:7px; outline:0; color:var(--ink); font:13px "DM Sans"; resize:vertical; }.modal-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:20px; }
.toast-region { position:fixed; right:25px; bottom:22px; z-index:30; display:grid; gap:8px; }.toast { display:flex; align-items:center; gap:9px; min-width:280px; padding:13px 15px; border-radius:9px; background:#10213e; box-shadow:0 12px 30px rgba(0,0,0,.2); color:#fff; font-size:12px; animation:slidein .25s ease; }.toast i { color:#65dfa5; }@keyframes slidein { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:none; } }

/* Compact layout: the menu becomes an off-canvas panel before content gets cramped. */
@media (max-width:1050px) { .metrics { grid-template-columns:repeat(2,1fr); }.dashboard-grid { grid-template-columns:1fr; }.quick-actions { grid-template-columns:repeat(2,1fr); } }
@media (max-width:920px) { .sidebar { width:min(280px,86vw); transform:translateX(-100%); transition:transform .25s ease; box-shadow:none; }.sidebar.open { transform:translateX(0); box-shadow:20px 0 40px rgba(0,0,0,.2); }.main-content { width:100%; margin-left:0; }.menu-button { display:grid; }.topbar { height:68px; padding:0 20px; }.crumb { margin-right:auto; }.page-content { padding:28px 24px 45px; } }
@media (max-width:760px) { .crumb strong { font-size:14px; }.crumb span,.top-actions .icon-button:first-child { display:none; }.page-content { padding:25px 16px; }.page-intro { gap:15px; }.page-intro p { font-size:12px; }.page-intro .primary-button { padding:11px; font-size:0; }.page-intro .primary-button i { margin:0; }.metrics { grid-template-columns:1fr 1fr; gap:10px; }.metric-card { min-height:105px; padding:13px; }.metric-value { font-size:21px; }.panel { padding:16px; }.table-panel { overflow:auto; }.table-panel table { min-width:650px; }.filter-input { width:150px; } }
@media (max-width:420px) { .metrics,.quick-actions { grid-template-columns:1fr; }.page-intro { display:grid; }.page-intro .primary-button { font-size:12px; }.top-avatar { display:none; }.toast-region { right:16px; left:16px; }.toast { min-width:0; } }

/* Väx IT Consulting - typografi och färgdetaljer */
.toast { background:#273a5d; }
.org-avatar { background:#e5d7c7; color:#7C5C3B; }
.profile-avatar,.top-avatar { background:#dce8df; color:#2F4F3E; }
.metric-value,.health-score { font-family:"Montserrat",sans-serif; font-weight:700; }
.panel-title h2,.table-toolbar h2,.empty-page h2,.modal h2 { font-family:"Montserrat",sans-serif; font-weight:600; }
.panel-title a,.row-action,.filter-input,.form-grid input,.form-grid select,.form-grid textarea { font-family:"Source Sans 3",sans-serif; }
.health-score { border-color:#dbe7df; }
.modal-backdrop { background:rgba(29,42,77,.43); }
.modal h2 { color:var(--ink); }

/* Ticket list controls */
.table-toolbar { gap:12px; }
.ticket-filter-button { min-width:82px; justify-content:center; }
.table-sort { display:inline-flex; align-items:center; gap:4px; padding:0; border:0; background:transparent; color:#71819b; font:700 10px 'Source Sans 3',sans-serif; letter-spacing:.06em; text-transform:uppercase; cursor:pointer; }
.table-sort:hover,.table-sort:focus-visible { color:var(--blue); outline:0; }
.ticket-filter-panel { padding:16px 20px 14px; border-bottom:1px solid var(--line); background:#fbfcfe; }
.ticket-filter-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.ticket-filter-grid label { display:grid; gap:5px; color:#71819b; font:700 10px 'Source Sans 3',sans-serif; letter-spacing:.04em; text-transform:uppercase; }
.ticket-filter-grid .filter-input { width:100%; padding:8px 9px; background:#fff; font-size:12px; text-transform:none; letter-spacing:normal; }
.ticket-filter-footer { display:flex; align-items:center; justify-content:space-between; margin-top:11px; color:var(--muted); font-size:11px; }
.ticket-row { transition:background .15s ease; }
.ticket-row:hover { background:#f4f8ff; }
.ticket-row:focus-visible { outline:2px solid #7fa6e7; outline-offset:-2px; }
@media (max-width:760px) { .ticket-filter-grid { grid-template-columns:1fr 1fr; }.ticket-filter-footer { align-items:flex-start; gap:10px; flex-direction:column; } }

/* Ticket table rows must retain native table-column alignment. */
.table-panel tbody .ticket-row { display:table-row; }
.table-panel tbody .ticket-row td { vertical-align:middle; }

.ticket-title-form { margin:14px 0; }
.ticket-description { margin:16px 0; padding:13px 14px; border:1px solid var(--line); border-radius:9px; background:#f8fafc; }
.ticket-description span { color:#71819b; font-size:10px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.ticket-description p { margin:7px 0 0; color:#35435b; font-size:13px; line-height:1.55; white-space:pre-wrap; }
/* Settings cards: match the green, rounded Settings navigation item. */
.settings-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  max-width: 900px;
}
.settings-card {
  appearance: none;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  width: 100%;
  min-height: 132px;
  padding: 22px;
  border: 1px solid #2f4f3e;
  border-radius: 16px;
  background: #2f4f3e;
  box-shadow: 0 10px 24px rgba(47, 79, 62, .18);
  color: #fff;
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: transform .16s ease, background .16s ease, box-shadow .16s ease;
}
.settings-card:hover {
  background: #243f31;
  box-shadow: 0 14px 30px rgba(47, 79, 62, .28);
  transform: translateY(-2px);
}
.settings-card:focus-visible {
  outline: 3px solid #a8d5bb;
  outline-offset: 3px;
}
.settings-card .metric-icon {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  background: rgba(255, 255, 255, .14);
  color: #fff;
}
.settings-card > span:nth-child(2) {
  display: grid;
  gap: 5px;
  min-width: 0;
}
.settings-card strong {
  color: #fff;
  font: 700 16px "Montserrat", sans-serif;
}
.settings-card small {
  color: rgba(255, 255, 255, .78);
  font: 12px/1.45 "Source Sans 3", sans-serif;
}
.settings-card > i {
  color: rgba(255, 255, 255, .9);
  font: 400 26px/1 sans-serif;
  font-style: normal;
}
@media (max-width: 760px) {
  .settings-grid { grid-template-columns: 1fr; }
  .settings-card { min-height: 116px; padding: 19px; }
}

/* Personlig profil i sidfoten */
.profile .profile-avatar {
  position: relative;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  margin-left: 0;
  overflow: hidden;
  border: 2px solid transparent;
  border-radius: 50%;
  background: #dce8df;
  color: #2f4f3e;
  cursor: pointer;
  transition: border-color .15s ease, transform .15s ease;
}
.profile .profile-avatar:hover { border-color: #2f4f3e; transform: translateY(-1px); }
.profile .profile-avatar:focus-visible { outline: 3px solid #a8d5bb; outline-offset: 2px; }
.profile-avatar img { width: 100%; height: 100%; object-fit: cover; }
.profile .logout-button {
  margin-left: auto;
  padding: 7px 10px;
  border: 1px solid #2f4f3e;
  border-radius: 8px;
  background: #2f4f3e;
  color: #fff;
  font: 700 12px "Source Sans 3", sans-serif;
  cursor: pointer;
  text-decoration: none;
}
.profile .logout-button:hover { background: #243f31; }
.notification-button b[hidden] { display: none; }
.notification-item { align-items: center; }
.notification-item.notification-read { opacity: .62; }
.notification-item .row-action { margin-left: auto; }

/* Alla formulär har Avbryt och kan även stängas genom att klicka utanför. */
.modal-close { display: none !important; }
.modal { width: min(620px, calc(100% - 32px)); }
/* Formregel: en kryssruta och dess etikett är en sammanhängande kontroll och hålls på samma rad. */
.form-grid label.checkbox-label { display:flex; align-items:center; gap:8px; flex-wrap:nowrap; }
.form-grid label.checkbox-label input[type="checkbox"] { flex:0 0 auto; width:auto; margin:0; }
.audit-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:12px; }
.audit-card { display:grid; gap:6px; padding:14px; border:1px solid #dce4f0; border-radius:10px; background:#f8fbf9; }
.audit-card strong { color:var(--ink); font:700 13px "Source Sans 3",sans-serif; }
.audit-card span,.audit-card small { color:var(--muted); font-size:12px; }
.log-overview { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:18px 0 24px; }
.log-overview div { display:grid; gap:4px; padding:14px 16px; border:1px solid var(--line); border-radius:12px; background:#f8fbf9; }
.log-overview span { color:var(--muted); font-size:12px; }
.log-overview strong { color:var(--ink); font:700 22px "Montserrat",sans-serif; }
.error-log-section { display:grid; gap:10px; margin-bottom:26px; }
.error-log-section .section-heading { margin-bottom:2px; }
.error-case { overflow:hidden; border:1px solid #e3d6d8; border-radius:12px; background:#fff; }
.error-case[open] { border-color:#c87983; box-shadow:0 8px 24px rgba(93,36,44,.08); }
.error-case summary { display:flex; align-items:center; gap:12px; padding:14px; cursor:pointer; list-style:none; }
.error-case summary::-webkit-details-marker { display:none; }
.error-severity { flex:0 0 auto; padding:5px 8px; border-radius:999px; background:#fff0f2; color:#a52b39; font:700 10px "Montserrat",sans-serif; }
.error-summary { display:grid; flex:1; gap:3px; min-width:0; }
.error-summary strong { color:var(--ink); font-size:13px; }
.error-summary small { overflow:hidden; color:var(--muted); font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.error-expand { color:var(--muted); transition:transform .2s ease; }
.error-case[open] .error-expand { transform:rotate(180deg); }
.error-case-body { display:grid; gap:16px; padding:0 16px 18px; border-top:1px solid #f0e5e7; }
.error-case-body>p { margin:14px 0 0; color:#5f3d42; }
.request-map { display:grid; }
.request-step { position:relative; display:grid; grid-template-columns:32px 1fr; gap:10px; min-height:62px; }
.request-step:not(:last-child)::after { content:""; position:absolute; top:30px; bottom:0; left:15px; width:2px; background:#dbe4df; }
.request-step-marker { position:relative; z-index:1; display:grid; place-items:center; width:30px; height:30px; border:2px solid #8ba398; border-radius:50%; background:#fff; color:#345b48; font:700 11px "Montserrat",sans-serif; }
.request-step.failed .request-step-marker { border-color:#bd4857; background:#fff0f2; color:#a52b39; }
.request-step.assessment .request-step-marker { border-color:#c58b31; background:#fff8e8; color:#8b611f; }
.request-step.next .request-step-marker { border-color:#35664f; background:#e9f4ed; color:#284f3c; }
.request-step strong { display:block; margin-top:4px; color:var(--ink); font-size:12px; }
.request-step p { margin:3px 0 14px; color:var(--muted); font-size:12px; line-height:1.45; }
.error-meta { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 18px; margin:0; padding:12px; border-radius:10px; background:#f6f8f7; }
.error-meta div { min-width:0; }
.error-meta dt { color:var(--muted); font-size:10px; font-weight:700; text-transform:uppercase; }
.error-meta dd { overflow-wrap:anywhere; margin:3px 0 0; color:var(--ink); font-size:11px; }
.empty-log-state { display:grid; gap:4px; padding:18px; border:1px dashed #b8cec3; border-radius:12px; background:#f4faf6; }
.empty-log-state strong { color:#315c47; }
.empty-log-state span { color:var(--muted); font-size:12px; }
.admin-choice-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.admin-choice-grid .settings-card { min-height:142px; }
.modal.collection-modal { width:min(50vw,900px); }
.modal.collection-modal .integration-card { min-height:168px; }
@media (max-width: 620px) { .admin-choice-grid { grid-template-columns:1fr; } }
@media (max-width: 620px) { .error-meta,.log-overview { grid-template-columns:1fr; } }
@media (max-width: 850px) { .modal.collection-modal { width:calc(100% - 32px); } }

/* Samlad redigering av ett supportärende. */
.ticket-edit-panel {
  display: grid;
  gap: 18px;
  margin: 16px 0 22px;
  padding: 20px;
  border: 1px solid #dce4f0;
  border-radius: 14px;
  background: #f8fbf9;
}
.ticket-edit-panel[hidden] { display: none; }
.ticket-edit-panel form {
  margin: 0;
  padding-bottom: 18px;
  border-bottom: 1px solid #dce4f0;
}
.ticket-edit-panel form:last-child { padding-bottom: 0; border-bottom: 0; }
.ticket-inline-disclosure {
  border: 1px solid #dce4f0;
  border-radius: 10px;
  background: #fff;
}
.ticket-inline-disclosure summary {
  padding: 10px 13px;
  color: var(--ink);
  font: 700 13px "Source Sans 3", sans-serif;
  cursor: pointer;
}
.ticket-inline-disclosure label { display: grid; gap: 7px; padding: 0 13px 13px; }
.ticket-inline-disclosure label > select { min-height: 42px; }
.ticket-save-all { justify-content: flex-end; margin-top: 2px; }
.ticket-save-all .login-error { width: 100%; margin: 0; }

/* Sökning, filter och SLA i ärendeöversikten. */
.ticket-search-panel { display:grid; grid-template-columns:repeat(4,minmax(150px,1fr)); gap:12px; padding:16px 20px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:#f8fbf9; }
.ticket-search-panel label { display:grid; gap:6px; color:var(--muted); font:700 11px "Source Sans 3",sans-serif; }
.ticket-search-panel select,.ticket-search-panel input { min-height:38px; width:100%; padding:8px 10px; border:1px solid var(--line); border-radius:8px; background:#fff; color:var(--ink); font:13px "DM Sans",sans-serif; }
.ticket-search-panel .ticket-search-wide { grid-column:span 2; }
.ticket-search-panel .ticket-filter-toggle { display:flex; align-items:center; gap:8px; padding-top:23px; color:var(--ink); font-size:12px; }
.ticket-search-panel .ticket-filter-toggle input { width:auto; min-height:auto; }
.ticket-filter-actions { display:flex; align-items:end; }
.ticket-table-scroll { overflow-x:auto; }
.ticket-table-scroll table { min-width:1040px; }
.ticket-table-scroll td { vertical-align:top; }
.ticket-table-scroll td small .badge { margin-top:5px; }
.integration-note { display:grid; gap:4px; grid-column:1 / -1; padding:12px; border-radius:10px; background:#eef5f0; color:var(--muted); font-size:12px; }
.integration-note strong { color:var(--ink); }
.managed-domain-empty { display:grid; gap:6px; padding:28px 20px; color:var(--muted); }
.managed-domain-empty strong { color:var(--ink); }
.loopia-mapping-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
.managed-domain-filters { display:flex; align-items:flex-end; gap:10px; flex-wrap:wrap; }
.managed-domains-table-scroll { width:100%; overflow-x:auto; }
.managed-domains-table-scroll table { min-width:760px; }
.managed-domain-row { cursor:pointer; transition:background .15s ease; }
.managed-domain-row:hover { background:#f7faf8; }
.managed-domain-row:focus-visible { outline:2px solid var(--blue); outline-offset:-2px; }
@media (max-width:1100px) {
  .managed-domains-table-scroll { overflow:visible; padding:10px; }
  .managed-domains-table-scroll table,.managed-domains-table-scroll tbody { display:block; min-width:0; }
  .managed-domains-table-scroll thead { display:none; }
  .managed-domain-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 18px; margin-bottom:10px; padding:14px; border:1px solid var(--line); border-radius:10px; }
  .managed-domain-row:last-child { margin-bottom:0; }
  .managed-domain-row td { display:block; padding:0; border:0; min-width:0; }
  .managed-domain-row td::before { display:block; margin-bottom:4px; color:var(--muted); font-size:9px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; content:attr(data-label); }
  .managed-domain-row td[data-label="Domän"] { grid-column:1 / -1; }
}
@media (max-width:560px) { .managed-domain-row { grid-template-columns:1fr; }.managed-domain-row td[data-label="Domän"] { grid-column:auto; } }
.managed-domain-scope { display:grid; gap:4px; color:var(--muted); font-size:11px; }
.managed-domain-scope select { min-width:190px; padding:9px 32px 9px 10px; border:1px solid var(--line); border-radius:8px; background:var(--panel); color:var(--ink); font:600 12px "Source Sans 3",sans-serif; }
.dkim-monitoring { display:grid; gap:10px; margin:18px 0; padding:14px; border:1px solid var(--line); border-radius:10px; background:#f8faf9; }
.dkim-monitoring h3,.dkim-monitoring p { margin:0; }
.dkim-monitoring label { display:grid; gap:5px; color:var(--muted); font-size:12px; }
#observedDomainForm label { display:grid; gap:6px; color:#52617a; font-size:11px; font-weight:700; }
#observedDomainForm input { width:100%; padding:10px; border:1px solid #dce4f0; border-radius:7px; outline:0; color:var(--ink); font:13px "DM Sans"; }
#observedDomainForm input:focus { border-color:var(--blue); box-shadow:0 0 0 3px var(--blue-soft); }
.dkim-monitoring input { width:100%; padding:10px 12px; border:1px solid var(--line); border-radius:8px; background:var(--panel); color:var(--ink); }
.dkim-monitoring .secondary-button { justify-self:start; }
.dns-health-detail { display:grid; grid-template-columns:150px minmax(0,1fr); gap:16px; align-items:start; margin-bottom:20px; }
.dns-health-score { min-height:112px; display:grid; place-content:center; gap:4px; text-align:center; border-radius:12px; background:var(--soft); }
.dns-health-score strong { font:700 28px "Manrope",sans-serif; color:var(--ink); }
.dns-health-score span { color:var(--muted); font-size:11px; }
.dns-health-score.green { background:var(--green-soft); }
.dns-health-score.amber { background:var(--amber-soft); }
.dns-health-score.red { background:#fff0f2; }
.health-line span small { display:block; margin-top:3px; max-width:460px; }
@media (max-width:720px) { .dns-health-detail { grid-template-columns:1fr; } .managed-domain-filters { width:100%; } .managed-domain-scope,.managed-domain-scope select,.managed-domain-filters .filter-input { width:100%; } }
.integration-card { position:relative; grid-template-columns:38px minmax(0,1fr); grid-template-rows:auto auto; align-items:start; min-height:188px; cursor:default; }
.integration-card-content { min-width:0; padding-right:112px; }
.integration-card-status { position:absolute; top:16px; right:16px; }
.integration-card-actions { grid-column:1 / -1; display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-start; gap:7px; padding-top:4px; }
.integration-card-actions .secondary-button,.integration-card-actions .section-action,.integration-card-actions .row-action { padding:7px 9px; font-size:11px; }
.integration-card-actions .row-action { text-align:left; }
.modal.wide-modal { width:min(1080px,calc(100% - 32px)); }
.integration-summary { display:flex; flex-wrap:wrap; gap:10px; margin:0 0 16px; }
.integration-summary span,.integration-summary button { padding:9px 12px; border:1px solid var(--line); border-radius:9px; color:var(--muted); font:inherit; font-size:11px; background:var(--surface); text-align:left; }
.integration-summary button { cursor:pointer; }
.integration-summary strong { margin-right:3px; color:var(--ink); font-size:14px; }
.fortnox-import-table { min-width:850px!important; }
.fortnox-comparison-table { min-width:720px!important; }
.fortnox-comparison-table th:first-child { width:190px; }
.fortnox-comparison-table td { white-space:pre-line; }
.fortnox-field-choice { display:flex!important; grid-template-columns:none!important; align-items:center; gap:8px!important; color:var(--ink)!important; }
.fortnox-field-choice input { width:auto!important; margin:0; }
.fortnox-ignore { margin-right:auto; }
.badge.muted { background:#f0f3f7; color:#697990; }

.invoice-source-note { margin:16px 20px 20px; }
.economy-content { display:grid; gap:18px; }
.economy-context { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.economy-context h2 { margin:0 0 4px; color:var(--ink); font:600 20px "Montserrat",sans-serif; }
.economy-context small { color:var(--muted); font-size:12px; }
.economy-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.economy-metric,.economy-insight { padding:18px; border:1px solid var(--line); border-radius:13px; background:#fff; box-shadow:0 8px 24px rgba(25,43,76,.05); }
.economy-metric { display:grid; gap:7px; min-height:126px; }
.economy-metric small,.economy-metric span { color:var(--muted); font-size:12px; }
.economy-metric strong { color:var(--ink); font:600 24px "Montserrat",sans-serif; letter-spacing:-.6px; }
.economy-metric.attention { border-color:#efd5bb; background:#fffaf5; }
.economy-insight-grid { display:grid; grid-template-columns:1.45fr 1fr; gap:14px; }
.economy-insight { min-height:230px; }
.economy-insight .panel-title { margin-bottom:16px; }
.economy-insight .panel-title h2 { margin:0 0 3px; font-size:16px; }
.economy-insight .panel-title small { color:var(--muted); font-size:11px; }
.economy-history-bars { display:grid; grid-template-columns:repeat(6,minmax(42px,1fr)); align-items:end; gap:10px; min-height:140px; }
.economy-history-item { display:grid; grid-template-rows:auto 1fr auto; align-items:end; gap:7px; min-width:0; height:140px; }
.economy-history-value { overflow:hidden; color:var(--ink); font-size:10px; font-weight:700; text-align:center; text-overflow:ellipsis; white-space:nowrap; }
.economy-history-bar { display:block; width:100%; height:var(--economy-bar); min-height:6px; border-radius:7px 7px 3px 3px; background:linear-gradient(180deg,#47745e,#244f3b); }
.economy-history-label { color:var(--muted); font-size:10px; text-align:center; text-transform:capitalize; }
.economy-empty-copy { margin:28px 0 0; color:var(--muted); font-size:12px; line-height:1.6; }
.economy-invoice-list { margin:0; }
.economy-filter-bar { display:grid; grid-template-columns:2fr 1fr 1fr; gap:12px; margin:0 0 16px; }
.economy-filter-bar label { display:grid; gap:6px; color:var(--muted); font-size:11px; font-weight:700; }
.economy-filter-bar input,.economy-filter-bar select { min-height:38px; width:100%; padding:8px 10px; border:1px solid var(--line); border-radius:8px; background:#fff; color:var(--ink); font:13px "DM Sans",sans-serif; }
@media (max-width:900px) { .economy-metrics,.economy-insight-grid { grid-template-columns:1fr; } .economy-insight { min-height:auto; } }
@media (max-width:620px) { .economy-context { align-items:flex-start; flex-direction:column; } .economy-history-bars { gap:6px; } .economy-history-value { font-size:9px; } .economy-filter-bar { grid-template-columns:1fr; } }
.invoice-detail-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:18px 0; }
.invoice-detail-grid > div { display:flex; flex-direction:column; gap:5px; min-width:0; padding:12px; border:1px solid var(--line); border-radius:9px; background:#f9fbfe; }
.invoice-detail-grid small { color:var(--muted); font-size:10px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
.invoice-detail-grid strong { overflow-wrap:anywhere; color:var(--ink); font-size:13px; }
.invoice-table-scroll { overflow:auto; max-height:42vh; border:1px solid var(--line); border-radius:9px; }
.invoice-table-scroll table { min-width:620px; }
.invoice-table-scroll th,.invoice-table-scroll td { padding-left:12px; padding-right:12px; }
@media (max-width:760px) { .invoice-detail-grid { grid-template-columns:1fr 1fr; } }
.form-field-error { color:#b42318 !important; }
@media (max-width: 620px) { .integration-card-content { padding-right:100px; } .integration-card-status { top:14px; right:14px; } }
.crm-form-section,.crm-detail-edit { border:1px solid var(--line); border-radius:14px; padding:16px; display:grid; gap:12px; background:#fbfdfb; }
.crm-form-section legend { font-weight:700; color:var(--navy); padding:0 6px; }
.crm-form-section small { font-weight:400; color:var(--muted); }
.crm-inline-status { min-width:170px; padding:8px 10px; border:1px solid var(--line); border-radius:10px; background:#fff; color:var(--navy); font:inherit; }
.crm-detail-edit { margin:18px 0; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:end; }
.crm-detail-edit .secondary-button { height:48px; }
.field-error { display:block; margin-top:5px; color:#bd3340; font:600 12px "Source Sans 3",sans-serif; }
[aria-invalid="true"] { border-color:#bd3340 !important; box-shadow:0 0 0 3px rgba(189,51,64,.12); }
.crm-metric-button { width:100%; text-align:left; font:inherit; color:inherit; cursor:pointer; transition:transform .15s ease,box-shadow .15s ease; }
.crm-metric-button:hover,.crm-metric-button:focus-visible { transform:translateY(-2px); box-shadow:0 10px 24px rgba(20,49,40,.15); outline:0; }
.crm-active-filter { display:inline-flex; margin-left:8px; padding:3px 8px; border-radius:999px; background:var(--green-soft); color:var(--green); font:600 11px "Source Sans 3",sans-serif; vertical-align:middle; }
.crumb strong[role="button"] { cursor:pointer; }
.crumb strong[role="button"]:hover,.crumb strong[role="button"]:focus-visible { color:var(--green); outline:0; }
.crm-activity-composer { display:grid; gap:12px; margin:14px 0 20px; padding:16px; border:1px solid var(--line); border-radius:14px; background:#f8fbf9; }
.crm-activity-composer .crm-note-field { display:grid; gap:8px; color:var(--navy); font:700 14px "Source Sans 3",sans-serif; }
.crm-activity-composer textarea { min-height:104px; resize:vertical; padding:12px; border:1px solid var(--line); border-radius:10px; background:#fff; color:var(--ink); font:15px "DM Sans",sans-serif; line-height:1.45; }
.crm-activity-composer textarea:focus { border-color:var(--green); outline:3px solid rgba(45,86,67,.14); }
.crm-activity-composer .crm-note-visibility { display:flex; align-items:center; gap:8px; color:var(--muted); font-size:13px; }
.crm-activity-composer .crm-note-visibility input { accent-color:var(--green); }
.crm-activity-composer .modal-actions { justify-content:flex-end; margin:0; }
.customer-detail-section { margin-top:22px; }
.section-heading { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:10px; }
.section-heading h3 { margin:0; }
.section-action { padding:7px 10px; border:1px solid var(--line); border-radius:8px; background:#fff; color:var(--green); font:700 12px "Source Sans 3",sans-serif; cursor:pointer; }
.section-action:hover,.section-action:focus-visible { border-color:var(--green); background:var(--green-soft); outline:0; }
.section-action:disabled { cursor:not-allowed; border-color:var(--line); background:#f5f6f4; color:var(--muted); }
.entity-row { width:100%; border:0; background:transparent; text-align:left; color:inherit; cursor:pointer; border-radius:10px; }
.entity-row:hover,.entity-row:focus-visible { background:#f1f7f3; outline:2px solid rgba(45,86,67,.18); outline-offset:2px; }
.danger-button { padding:11px 14px; border:1px solid #d75c64; border-radius:10px; background:#fff; color:#a12e36; font:700 14px "Source Sans 3",sans-serif; cursor:pointer; }
.danger-button:hover { background:#fff1f2; }
.quote-line-list { display:grid; gap:12px; }
.quote-line-editor { grid-template-columns:repeat(2,minmax(0,1fr)); align-items:end; }
.quote-line-editor .quote-remove-line { justify-self:start; }
.quote-line-editor .quote-line-actions { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.quote-product-picker { position:relative; }
.quote-product-results { position:absolute; z-index:20; top:calc(100% - 21px); right:0; left:0; overflow:auto; max-height:240px; padding:5px; border:1px solid #b7c9bc; border-radius:9px; background:var(--surface); box-shadow:0 12px 26px rgba(20,48,37,.16); }
.quote-product-option { display:grid; width:100%; gap:2px; padding:9px 10px; border:0; border-radius:6px; background:transparent; color:var(--ink); text-align:left; cursor:pointer; }
.quote-product-option:hover,.quote-product-option:focus-visible { background:#eef6f0; outline:none; }
.quote-product-option strong { font-size:13px; }
.quote-product-option small,.quote-product-empty { color:var(--muted); font-size:11px; }
.quote-product-empty { margin:7px 9px; }
.quote-contact-picker { display:grid; gap:8px; }
.quote-contact-picker>button { justify-self:start; }
.quote-inline-contact,.quote-inline-product { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; padding:12px; border:1px solid var(--line); border-radius:10px; background:#fbfdfb; }
.quote-inline-product { grid-column:1 / -1; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:end; }
.quote-inline-product button { justify-self:start; }
.quote-add-line { justify-self:start; }
.quote-line-total { align-self:center; color:var(--muted); font-size:12px; }
.quote-totals { display:grid; gap:8px; padding:15px 17px; border:1px solid var(--line); border-radius:12px; background:#f8fbf9; }
.quote-totals > div { display:flex; align-items:center; justify-content:space-between; gap:18px; }
.quote-totals span { color:var(--muted); font-size:13px; }
.quote-totals strong { color:var(--navy); }
.quote-totals .quote-grand-total { padding-top:8px; border-top:1px solid var(--line); }
.quote-totals .quote-grand-total strong { font-size:18px; }
.quote-status-hint { color:var(--muted); font-weight:400; }
.quote-detail-line-total { display:grid; gap:2px; text-align:right; }
.quote-detail-line-total small { color:var(--muted); font-size:11px; }

.ticket-detail-modal { width:min(1080px,calc(100vw - 48px)); }
.ticket-detail-grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr); gap:22px; align-items:start; }
.ticket-detail-main,.ticket-detail-side { display:grid; gap:14px; min-width:0; }
.ticket-detail-side { padding:16px; border:1px solid var(--line); border-radius:14px; background:#f8fbf9; }
.ticket-detail-side .health-list { margin:0; }
.ticket-detail-side form { padding-top:14px; border-top:1px solid var(--line); }
.ticket-detail-comments { display:grid; gap:14px; margin-top:24px; padding-top:22px; border-top:1px solid var(--line); }
.ticket-detail-comments h3 { margin:0; }
@media (max-width:850px) { .ticket-search-panel { grid-template-columns:repeat(2,minmax(0,1fr)); } .ticket-search-panel .ticket-search-wide { grid-column:span 2; } }
@media (max-width:850px) { .ticket-detail-modal { width:min(620px,calc(100vw - 28px)); } .ticket-detail-grid { grid-template-columns:1fr; } }
@media (max-width:760px) { .crm-detail-edit,.quote-line-editor,.quote-inline-contact,.quote-inline-product { grid-template-columns:1fr; } }
@media (max-width:520px) { .ticket-search-panel { grid-template-columns:1fr; padding:14px; } .ticket-search-panel .ticket-search-wide { grid-column:auto; } }
.access-grants{display:grid;gap:2px;margin:0;padding:8px 12px;border:1px solid #dce4f0;border-radius:8px}.access-grants legend{padding:0 5px;color:#52617a;font-size:11px;font-weight:700}.form-grid .access-grant{display:grid!important;grid-template-columns:minmax(0,1fr) 40px!important;align-items:center!important;gap:12px!important;min-height:44px;padding:4px 0;cursor:pointer;color:var(--ink)}.access-copy{display:block;min-width:0}.access-copy strong{display:block;font-size:11px;line-height:1.25}.access-copy small{display:block;margin-top:2px;color:var(--muted);font-size:10px;font-weight:400;line-height:1.25}.access-switch{display:block;position:relative;width:34px;height:20px}.access-switch input{position:absolute!important;inset:0!important;width:34px!important;height:20px!important;min-height:20px!important;margin:0!important;padding:0!important;opacity:0;cursor:pointer;z-index:1}.access-switch>span{display:block;width:34px;height:20px;border-radius:999px;background:#b8c3d1;transition:background .16s ease}.access-switch>span::after{content:'';position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(15,23,42,.28);transition:transform .16s ease}.access-switch input:checked+span{background:var(--green)}.access-switch input:checked+span::after{transform:translateX(14px)}.access-switch input:focus-visible+span{outline:2px solid #86b7a3;outline-offset:2px}
#productSearchForm .ticket-search-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;grid-column:1/-1;width:100%}@media (max-width:850px){#productSearchForm .ticket-search-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:520px){#productSearchForm .ticket-search-grid{grid-template-columns:1fr}}
.nav-subitem{padding-left:38px;font-size:.94rem}.nav-parent-arrow{margin-left:auto;font-size:1.1rem;transition:transform .18s ease}.nav-parent.expanded .nav-parent-arrow{transform:rotate(90deg)}.sidebar-bottom{display:grid;gap:5px}.crm-detail-edit{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:end}.crm-detail-edit label{min-width:0}.crm-detail-edit button{min-height:44px}.calendar-list{display:grid}.calendar-item{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:18px;align-items:center;width:100%;padding:16px 20px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.calendar-item:hover,.calendar-item:focus-visible{background:var(--blue-soft);outline:0}.calendar-item time{font-weight:700;color:var(--green)}.calendar-item-copy{display:grid;gap:4px}.calendar-item-copy>span,.calendar-item small{color:var(--muted)}.calendar-item-arrow{color:var(--muted);font-size:1.35rem}.calendar-event-focus{display:grid;gap:5px;margin:12px 0 20px;padding:14px;border-left:4px solid var(--green);border-radius:7px;background:var(--blue-soft)}.calendar-event-focus small,.calendar-event-focus span{color:var(--muted)}.customer-communication{border-left:3px solid var(--green);padding-left:14px}.table-sort-button{appearance:none;border:0;background:transparent;color:inherit;font:inherit;font-weight:inherit;padding:0;cursor:pointer;display:inline-flex;align-items:center;gap:6px;text-align:left}.table-sort-arrow{font-size:.8em;color:var(--green)}@media (max-width:900px){.crm-detail-edit{grid-template-columns:1fr}.calendar-item{grid-template-columns:1fr auto;gap:6px}.calendar-item time{grid-column:1/-1}.ticket-search-panel{grid-template-columns:1fr}}
.nav-subitem{font-size:13px}.quote-consent{display:flex;align-items:flex-start;gap:10px;margin:20px 0;padding:16px;border:1px solid var(--line);border-radius:10px;background:var(--blue-soft)}.quote-consent input{width:auto;margin-top:3px}.quote-hash{max-width:360px;overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.82rem}.quote-receipt{margin-top:20px;padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}
.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--line)}.calendar-toolbar h2{margin:0}.calendar-toolbar small{color:var(--muted)}.calendar-toolbar-actions,.calendar-period-controls,.calendar-view-switch{display:flex;align-items:center;gap:7px}.calendar-view-switch{padding:3px;border:1px solid var(--line);border-radius:10px;background:#f6f8f6}.calendar-view-switch button{padding:7px 11px;border:0;border-radius:7px;background:transparent;color:var(--muted);font:700 12px "Source Sans 3",sans-serif;cursor:pointer}.calendar-view-switch button[aria-pressed="true"]{background:var(--surface);color:var(--green);box-shadow:0 2px 6px rgba(20,48,37,.12)}.calendar-period-controls .secondary-button{min-width:38px;padding:7px 10px}.calendar-period-heading,.calendar-month-label{padding:18px 20px 12px;color:var(--navy);font:700 16px "Montserrat",sans-serif;text-transform:capitalize}.calendar-day-events{display:grid;gap:9px;padding:0 20px 20px}.calendar-event{display:grid;gap:3px;min-width:0;padding:9px;border:1px solid #dce8df;border-radius:8px;background:#f4f9f5;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.calendar-event:hover,.calendar-event:focus-visible{border-color:var(--green);outline:0}.calendar-event strong,.calendar-event span{overflow:hidden;text-overflow:ellipsis}.calendar-event small{color:var(--muted)}.calendar-week-grid{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));overflow-x:auto}.calendar-column{display:grid;align-content:start;gap:8px;min-height:360px;padding:10px;border-right:1px solid var(--line)}.calendar-column header{display:flex;align-items:center;justify-content:space-between;color:var(--muted);text-transform:capitalize}.calendar-column header strong{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;color:var(--ink)}.calendar-column.is-today header strong,.calendar-date.is-today>span{background:var(--green);color:#fff}.calendar-no-events,.calendar-empty{padding:16px;color:var(--muted)}.calendar-month-grid{display:grid;grid-template-columns:repeat(7,minmax(110px,1fr));overflow-x:auto;border-top:1px solid var(--line)}.calendar-weekday{padding:9px;color:var(--muted);font-size:11px;text-align:center}.calendar-date{display:grid;align-content:start;gap:5px;min-height:125px;padding:8px;border-top:1px solid var(--line);border-right:1px solid var(--line)}.calendar-date>span{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;font-weight:700}.calendar-date.is-outside{background:#fafbfa;color:#9aa5a0}.calendar-date .calendar-event{padding:6px;font-size:10px}.calendar-date .calendar-event span,.calendar-date .calendar-event small{display:none}@media (max-width:900px){.calendar-toolbar{align-items:flex-start;flex-direction:column}.calendar-toolbar-actions{width:100%;flex-wrap:wrap;justify-content:space-between}.calendar-week-grid,.calendar-month-grid{grid-template-columns:repeat(7,minmax(105px,1fr))}}@media (max-width:520px){.calendar-toolbar-actions{align-items:flex-start;flex-direction:column}.calendar-view-switch{width:100%;overflow-x:auto}.calendar-view-switch button{flex:1}.calendar-period-controls{width:100%;justify-content:space-between}}

/* CRM detail fields follow the same stacked-label and rounded-control profile as the rest of the portal. */
#crmStatusForm.crm-detail-edit{align-items:start}
#crmStatusForm.crm-detail-edit label{display:grid;align-content:start;gap:7px;min-width:0;color:#52617a;font-size:11px;font-weight:700}
#crmStatusForm.crm-detail-edit input,#crmStatusForm.crm-detail-edit select{width:100%;min-height:42px;padding:9px 11px;border:1px solid #dce4f0;border-radius:10px;background:#fff;color:var(--ink);font:13px "Source Sans 3",sans-serif}
#crmStatusForm.crm-detail-edit button{grid-column:1/-1;justify-self:end}
#activeModal .section-heading{margin-top:22px}
#activeModal .section-heading+.activity-list{margin-bottom:22px}
#activeModal .activity-item.entity-row{box-sizing:border-box;padding-right:10px;padding-left:10px}

.recurring-customer-row{cursor:pointer}
.recurring-customer-row[aria-expanded="true"]{background:#f3f8f4}
.recurring-disclosure{float:right;margin-left:10px;color:var(--muted);transition:transform .16s ease}
.recurring-customer-row[aria-expanded="true"] .recurring-disclosure{transform:rotate(180deg)}
.recurring-customer-details>td{padding:0 20px 16px;background:#f8fbf9}
.recurring-article-list{display:grid;border:1px solid var(--line);border-radius:12px;background:#fff}
.recurring-article{display:grid;grid-template-columns:minmax(220px,2fr) minmax(80px,.6fr) minmax(110px,.8fr) minmax(150px,1fr);gap:16px;align-items:center;padding:13px 15px;border-top:1px solid var(--line)}
.recurring-article:first-child{border-top:0}
.recurring-article>span{display:grid;gap:3px;min-width:0}
.recurring-article small{color:var(--muted)}
@media (max-width:760px){#crmStatusForm.crm-detail-edit{grid-template-columns:1fr}.recurring-article{grid-template-columns:1fr 1fr}}

.m365-license-panel { padding:0; overflow:hidden; }
.m365-license-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; padding:18px; }
.m365-license-card { min-width:0; padding:18px; border:1px solid var(--line); border-radius:10px; background:#fff; }
.m365-license-card.is-secondary { border-color:#e3e8ee; background:#fbfcfd; }
.m365-license-card-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.m365-license-card h3 { margin:0; color:var(--ink); font:600 15px "Montserrat",sans-serif; }
.m365-license-sku { display:block; margin-top:5px; color:var(--muted); overflow-wrap:anywhere; }
.m365-license-seats { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:18px; }
.m365-license-seats p { margin:0; padding:12px; border-radius:8px; background:#f7f9fc; }
.m365-license-seats strong,.m365-license-seats span { display:block; }
.m365-license-seats strong { color:var(--ink); font:700 18px "Montserrat",sans-serif; }
.m365-license-seats span { margin-top:3px; color:var(--muted); font-size:11px; }
.m365-loading-icon { animation:m365-license-spin 1.2s linear infinite; }
@keyframes m365-license-spin { to { transform:rotate(360deg); } }
@media (max-width:760px) { .m365-license-panel { padding:0; } .m365-license-list { grid-template-columns:1fr; padding:12px; } .m365-license-card { padding:15px; } }
.license-source-stack { display:grid; gap:18px; }
.pax8-subscription-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; padding:18px; }
.pax8-subscription-card { display:flex; min-width:0; padding:18px; border:1px solid var(--line); border-radius:10px; background:#fff; flex-direction:column; align-items:flex-start; gap:16px; }
.pax8-subscription-card h3 { margin:0; color:var(--ink); font:600 15px "Montserrat",sans-serif; }
.pax8-subscription-facts,.pax8-subscription-detail { display:grid; width:100%; gap:10px; margin:0; }
.pax8-subscription-facts { grid-template-columns:repeat(3,minmax(0,1fr)); }
.pax8-subscription-facts div,.pax8-subscription-detail div { padding:11px; border-radius:8px; background:#f7f9fc; }
.pax8-subscription-facts dt,.pax8-subscription-detail dt { color:var(--muted); font-size:11px; }
.pax8-subscription-facts dd,.pax8-subscription-detail dd { margin:4px 0 0; color:var(--ink); font-weight:700; overflow-wrap:anywhere; }
.pax8-subscription-detail { grid-template-columns:repeat(2,minmax(0,1fr)); }
@media (max-width:760px) { .pax8-subscription-list { grid-template-columns:1fr; padding:12px; } .pax8-subscription-card { padding:15px; } .pax8-subscription-facts,.pax8-subscription-detail { grid-template-columns:1fr; } }
@media (prefers-reduced-motion:reduce) { .m365-loading-icon { animation:none; } }

.m365-users-panel { padding:0; overflow:hidden; }
.m365-user-filter { display:flex; justify-content:flex-end; padding:14px 18px; border-bottom:1px solid var(--line); }
.m365-users-table-scroll { overflow-x:auto; }
.m365-users-table { min-width:850px; }
.m365-users-table td { vertical-align:top; }
.m365-users-table td:nth-child(1) { min-width:175px; }
.m365-users-table td:nth-child(2) { min-width:260px; overflow-wrap:anywhere; }
.m365-users-table td:nth-child(4) { min-width:210px; }
.m365-users-table .m365-user-licenses { max-width:340px; }
.m365-user-row.is-secondary { background:#fafbfa; }
.m365-user-card { display:grid; align-content:start; gap:16px; min-width:0; padding:18px; border:1px solid var(--line); border-radius:10px; background:#fff; }
.m365-user-card.is-secondary { background:#fafbfa; }
.m365-user-card-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.m365-user-card h3 { margin:0; color:var(--ink); font:600 15px "Montserrat",sans-serif; overflow-wrap:anywhere; }
.m365-user-card-head small { display:block; margin-top:5px; color:var(--muted); }
.m365-user-contact { display:grid; gap:3px; min-width:0; color:var(--ink); overflow-wrap:anywhere; }
.m365-user-contact small,.m365-user-phone,.m365-user-no-licenses { color:var(--muted); font-size:12px; }
.m365-user-phone { margin-top:5px; }
.m365-user-license-section { display:grid; gap:8px; }
.m365-user-license-section>strong { font-size:12px; }
.m365-user-licenses { display:flex; flex-wrap:wrap; gap:7px; margin:0; padding:0; list-style:none; }
.m365-user-licenses li { max-width:100%; padding:6px 9px; border:1px solid #dce8df; border-radius:999px; background:#f4f9f5; color:#315c47; font-size:11px; overflow-wrap:anywhere; }
.m365-management-state { display:grid; gap:4px; margin-bottom:14px; padding:14px 16px; border:1px solid #eadfbd; border-radius:10px; background:#fffaf0; color:var(--ink); }
.m365-management-state span { color:var(--muted); font-size:12px; }
.m365-management-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 18px 0; }
.m365-toolbar-actions { display:flex; align-items:center; gap:9px; }
.m365-toolbar-actions button { box-sizing:border-box; width:150px; min-height:44px; justify-content:center; }
.m365-followup-list { display:grid; margin:18px 0; border:1px solid var(--line); border-radius:10px; }
.m365-followup-list article { display:grid; grid-template-columns:minmax(0,1fr) minmax(220px,.8fr); gap:18px; padding:14px; border-top:1px solid var(--line); }
.m365-followup-list article:first-child { border-top:0; }
.m365-followup-list article span { display:grid; gap:3px; min-width:0; }
.m365-followup-list small { color:var(--muted); overflow-wrap:anywhere; }
.m365-manage-button { justify-self:start; }
.m365-action-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:18px; }
.m365-action-grid button { width:100%; }
.m365-operation-preview,.m365-operation-status,.m365-one-time-secret { margin-top:18px; padding:16px; border:1px solid var(--line); border-radius:10px; background:#f8fafc; }
.m365-operation-preview h3,.m365-operation-status h3,.m365-one-time-secret h3,.m365-handover h3 { margin:0 0 8px; font:600 15px "Montserrat",sans-serif; }
.m365-operation-preview ol,.m365-operation-status ol { padding-left:22px; }
.m365-one-time-secret output { display:block; margin:12px 0; padding:12px; border:1px dashed #859987; border-radius:8px; background:#fff; font-family:monospace; overflow-wrap:anywhere; }
.m365-handover { display:grid; gap:10px; margin-top:18px; padding:16px; border:1px solid #e7caca; border-radius:10px; background:#fff8f8; }
.m365-handover label { display:flex; align-items:flex-start; gap:9px; }
.m365-handover input[type="checkbox"] { flex:0 0 auto; margin-top:2px; }
.m365-choice-list { display:grid; gap:10px; margin-top:18px; }
.m365-choice-list h3 { margin:0; font:600 15px "Montserrat",sans-serif; }
.m365-choice-row { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:12px; border:1px solid var(--line); border-radius:9px; background:#f8fafc; }
.m365-choice-row>span:first-child { display:grid; gap:3px; min-width:0; }
.m365-choice-row small { color:var(--muted); }
.m365-inline-actions { display:flex; gap:7px; flex:0 0 auto; }
.m365-create-options,.m365-create-options fieldset { display:grid; gap:9px; }
.m365-create-options fieldset { margin:0; padding:12px; border:1px solid var(--line); border-radius:9px; }
.m365-option-checkbox { display:flex!important; align-items:center!important; gap:9px!important; }
.m365-option-checkbox input[type="checkbox"] { flex:0 0 auto; width:auto; min-height:auto; margin:0; }
@media (max-width:760px) { .m365-user-filter { justify-content:stretch; padding:12px; } .m365-user-filter .filter-input { width:100%; } }
@media (max-width:560px) { .m365-management-toolbar { align-items:stretch; flex-direction:column; } .m365-toolbar-actions { align-items:stretch; flex-direction:column; } .m365-toolbar-actions button { width:100%; } .m365-action-grid { grid-template-columns:1fr; } .m365-choice-row { align-items:stretch; flex-direction:column; } .m365-inline-actions { width:100%; } .m365-inline-actions button { flex:1; } .m365-followup-list article { grid-template-columns:1fr; } }
.provisioning-list{display:grid;gap:.65rem;list-style:none;margin:1rem 0 0;padding:0}.provisioning-step{align-items:center;border:1px solid var(--line);border-radius:10px;display:flex;gap:1rem;justify-content:space-between;padding:.8rem}.provisioning-step>span:first-child{display:grid;gap:.2rem}.provisioning-step small{color:var(--muted);max-width:52ch}.provisioning-test{margin-top:.35rem}.provisioning-completed{color:var(--green)}.provisioning-failed,.provisioning-needsattention{color:#b22d3a}
@media(max-width:600px){.provisioning-panel .section-heading{align-items:flex-start;flex-direction:column;gap:.75rem}.provisioning-panel .section-action{align-self:flex-start}.provisioning-step{align-items:flex-start;flex-direction:column}.provisioning-step .badge{align-self:flex-start}}

.dns-detail-heading,.dns-record-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.dns-detail-heading .primary-button{flex:0 0 auto}.dns-record-table .dns-record-value{max-width:24rem;overflow-wrap:anywhere}.dns-record-actions{white-space:nowrap}.dns-record-actions .row-action{margin-right:.65rem}.dns-record-actions .row-action.danger{color:#a3352b}.dns-record-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.25rem}.dns-record-form label{display:grid;gap:.4rem;color:#43536a;font-size:.82rem;font-weight:700}.dns-record-form input,.dns-record-form select,.dns-record-form textarea{width:100%;border:1px solid #d6dce3;border-radius:8px;background:#fff;color:#102852;padding:.72rem .8rem;font:inherit}.dns-record-form textarea{min-height:6rem;resize:vertical}.dns-record-form-wide,.dns-risk-box,.dns-warning-preference{grid-column:1/-1}.dns-risk-box{display:flex;flex-direction:column;gap:.25rem;border-radius:10px;padding:.85rem 1rem;background:#eef6f1;border-left:4px solid #237a57}.dns-risk-box.amber{background:#fff5e8;border-color:#b86b14}.dns-risk-box.red{background:#fff0ee;border-color:#b64035}.dns-risk-box span{font-size:.82rem;color:#526277}.dns-warning-preference{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;font-weight:500!important}.dns-warning-preference input{width:auto}.integration-note.warning{background:#fff5e8}
@media(max-width:700px){.dns-detail-heading{align-items:stretch;flex-direction:column}.dns-detail-heading .primary-button{width:100%}.dns-record-form{grid-template-columns:1fr}.dns-record-form>*{grid-column:1}.dns-record-table table,.dns-record-table tbody,.dns-record-table tr,.dns-record-table td{display:block;width:100%}.dns-record-table thead{display:none}.dns-record-table tr{padding:.75rem;border-bottom:1px solid #e2e6eb}.dns-record-table td{display:grid;grid-template-columns:6rem minmax(0,1fr);gap:.5rem;border:0;padding:.25rem 0;white-space:normal}.dns-record-table td::before{content:attr(data-label);font-weight:700;color:#68778b}.dns-record-actions{padding-top:.65rem!important}}

.organization-context{display:flex;align-items:center;gap:12px;margin:0 0 18px;padding:13px 16px;border:1px solid #d8e6dd;border-radius:12px;background:#f3f8f5;color:var(--ink)}
.organization-context.aggregate{border-color:#d9e1ee;background:#f5f8fc}.organization-context-icon{display:grid;place-items:center;flex:0 0 auto;width:36px;height:36px;border-radius:10px;background:#e3efe7;color:#285b43}.organization-context.aggregate .organization-context-icon{background:#e7edf7;color:#274d78}.organization-context>div{display:grid;gap:2px;min-width:0}.organization-context small,.organization-admin-note{color:var(--muted);font-size:12px}.organization-context .badge{margin-left:auto}.organization-admin-note{padding-left:10px;border-left:1px solid #ccd9d0}.organization-portfolio .ticket-row{cursor:pointer}.organization-portfolio .row-action{display:inline-block}
.domain-detail-back{margin-bottom:14px}.domain-detail-summary{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(420px,1.2fr);gap:18px;margin-bottom:18px}.domain-detail-summary>.panel{margin:0}.domain-detail-summary .dns-health-detail{grid-template-columns:150px 1fr}.dkim-summary{display:grid;grid-template-columns:minmax(230px,.65fr) minmax(280px,1fr);align-items:start;gap:22px;margin-bottom:18px}.dkim-summary h2,.domain-record-panel h2{margin:0}.dkim-summary p{margin:.35rem 0 0;color:var(--muted)}.dkim-selector-list{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-height:42px}.domain-advanced{grid-column:1/-1;padding-top:12px;border-top:1px solid var(--line)}.domain-advanced summary{cursor:pointer;color:var(--ink);font-weight:700}.domain-advanced label{display:grid;gap:6px;max-width:620px;margin:14px 0 10px;color:#43536a;font-size:.82rem;font-weight:700}.domain-advanced input{width:100%;padding:.72rem .8rem;border:1px solid #d6dce3;border-radius:8px;font:inherit}.domain-advanced button+button{margin-left:8px}.domain-record-panel{overflow:hidden}.domain-record-panel .dns-record-table{overflow-x:auto}.domain-record-panel table{width:100%;table-layout:fixed}.domain-record-panel th:nth-child(1){width:15%}.domain-record-panel th:nth-child(2){width:8%}.domain-record-panel th:nth-child(3){width:8%}.domain-record-panel th:nth-child(4){width:9%}.domain-record-panel th:last-child:not(:nth-child(5)){width:15%}.dns-record-table .dns-record-value{max-width:none;white-space:normal}.dns-record-value code{display:block;color:#183252;font-family:"SFMono-Regular",Consolas,monospace;font-size:12px;line-height:1.55;overflow-wrap:anywhere;word-break:break-word;user-select:text}.domain-danger-zone{display:flex;justify-content:flex-end;margin-top:18px}
@media(max-width:900px){.organization-admin-note{display:none}.domain-detail-summary,.dkim-summary{grid-template-columns:1fr}.domain-detail-summary .dns-health-detail{grid-template-columns:1fr}.domain-record-panel table{table-layout:auto}}
@media(max-width:700px){.organization-context{align-items:flex-start;flex-wrap:wrap}.organization-context .badge{margin-left:0}.domain-advanced button{width:100%;margin:8px 0 0!important}}

.domain-commerce-panel{display:grid;gap:18px;margin-top:20px}.domain-commerce-panel .panel-title{align-items:flex-start}.domain-commerce-panel .panel-title h2,.domain-commerce-panel .panel-title p,.domain-orders-heading h3{margin:0}.domain-commerce-panel .panel-title p,.domain-orders-heading small,.domain-order-card p{color:var(--muted)}.domain-lookup-form{display:grid;grid-template-columns:minmax(240px,1fr) auto;align-items:end;gap:12px}.domain-lookup-form label{display:grid;gap:6px;color:#43536a;font-size:.82rem;font-weight:700}.domain-lookup-form input{width:100%;padding:.78rem .85rem;border:1px solid #d6dce3;border-radius:8px;font:inherit}.domain-lookup-result{display:grid;gap:14px;padding:16px;border:1px solid var(--line);border-left:4px solid #708196;border-radius:10px;background:#f8fafc}.domain-lookup-result.green{border-left-color:#237a57;background:#f3f8f5}.domain-lookup-result.amber{border-left-color:#b86b14;background:#fff9ef}.domain-lookup-result.red,.domain-lookup-result.error{border-left-color:#b64035;background:#fff5f4}.domain-lookup-result>span{color:var(--muted)}.domain-orders-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;padding-top:2px;border-top:1px solid var(--line)}.domain-order-list{display:grid;gap:12px}.domain-order-card{display:grid;gap:13px;padding:16px;border:1px solid var(--line);border-radius:11px;background:#fff}.domain-order-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.domain-order-head>div{display:grid;gap:4px;min-width:0}.domain-order-head small{color:var(--muted);overflow-wrap:anywhere}.domain-order-prices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:0}.domain-order-prices div{padding:10px 12px;border-radius:8px;background:#f5f8f6}.domain-order-prices dt{color:var(--muted);font-size:11px}.domain-order-prices dd{margin:4px 0 0;color:var(--ink);font-weight:700}.domain-commerce-consent{display:flex;align-items:flex-start;gap:9px;padding:12px;border:1px solid #d8e6dd;border-radius:9px;background:#f3f8f5;font-size:13px;line-height:1.5}.domain-commerce-consent input{flex:0 0 auto;margin-top:3px}.domain-terms-form{display:grid;justify-items:start;gap:10px}.domain-order-actions{display:flex;flex-wrap:wrap;gap:9px}
.domain-order-card-completed{padding:13px 16px;background:#f8faf9}.domain-order-card-completed .domain-order-head{align-items:center}
.domain-order-cancel-confirm{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:8px 10px;width:100%;padding:12px;border:1px solid #edc5c8;border-radius:9px;background:#fff5f5}.domain-order-cancel-confirm strong,.domain-order-cancel-confirm span{grid-column:1}.domain-order-cancel-confirm span{color:var(--muted);font-size:.82rem}.domain-order-cancel-confirm .danger-button{grid-column:2;grid-row:1/3}.domain-order-cancel-confirm .secondary-button{grid-column:3;grid-row:1/3}@media(max-width:700px){.domain-order-cancel-confirm{grid-template-columns:1fr}.domain-order-cancel-confirm strong,.domain-order-cancel-confirm span,.domain-order-cancel-confirm .danger-button,.domain-order-cancel-confirm .secondary-button{grid-column:1;grid-row:auto}}
.domain-candidate-results{display:grid;gap:14px}.domain-candidate-results>div:first-child p{margin:4px 0 0;color:var(--muted)}.domain-candidate-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.domain-candidate-grid .domain-order-prices{grid-template-columns:1fr}.domain-candidate-choice{display:flex;align-items:center;gap:8px;padding-top:10px;border-top:1px solid var(--line);font-weight:700}.domain-candidate-choice input{width:18px;height:18px}.domain-candidate-results>.primary-button{justify-self:start}
.domain-pilot-feedback{display:grid;gap:10px;padding:14px;border:1px solid #dfd4b7;border-left:4px solid #b87918;border-radius:9px;background:#fff9ed}.domain-pilot-feedback>span{color:var(--muted);font-size:.86rem}.domain-pilot-feedback label{display:flex;gap:8px;align-items:flex-start;font-size:.86rem}.domain-pilot-feedback label:last-of-type{display:grid;gap:6px;font-weight:700}.domain-pilot-feedback textarea{width:100%;min-height:82px;padding:.7rem;border:1px solid #d6dce3;border-radius:8px;resize:vertical;font:inherit;font-weight:400}.domain-pilot-feedback .secondary-button{justify-self:start}
@media(max-width:700px){.domain-lookup-form{grid-template-columns:1fr}.domain-lookup-form .primary-button{width:100%}.domain-order-head,.domain-orders-heading{align-items:flex-start;flex-direction:column}.domain-order-prices{grid-template-columns:1fr}.domain-order-actions,.domain-order-actions button,.domain-terms-form button{width:100%}}
@media(max-width:1000px){.domain-candidate-grid{grid-template-columns:1fr 1fr}}@media(max-width:700px){.domain-candidate-grid{grid-template-columns:1fr}.domain-candidate-results>.primary-button{width:100%}}
.domain-lookup-form select{width:100%;padding:.78rem .85rem;border:1px solid #d6dce3;border-radius:8px;background:#fff;font:inherit}.domain-readiness{display:grid;gap:4px;padding:11px 12px;border-left:4px solid #b86b14;border-radius:8px;background:#fff7ea}.domain-readiness span,.domain-readiness small{color:var(--muted);font-size:.82rem}.domain-price-admin,.domain-registrant{padding:13px 15px;border:1px solid var(--line);border-radius:10px;background:#f8faf9}.domain-price-admin summary,.domain-registrant summary{cursor:pointer;font-weight:700}.domain-price-summary{display:flex;flex-wrap:wrap;gap:10px 18px;margin:13px 0;color:var(--muted);font-size:.84rem}.domain-price-summary span{display:flex;gap:6px}.domain-price-admin .domain-lookup-form{grid-template-columns:repeat(3,minmax(150px,1fr));margin-top:12px}.domain-price-admin .secondary-button{justify-self:start}.domain-registrant dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:13px 0}.domain-registrant dl div{min-width:0}.domain-registrant dt{color:var(--muted);font-size:.75rem}.domain-registrant dd{margin:3px 0 0;overflow-wrap:anywhere;font-weight:600}.domain-registrant small{color:var(--muted)}@media(max-width:900px){.domain-price-admin .domain-lookup-form{grid-template-columns:1fr 1fr}}@media(max-width:600px){.domain-price-admin .domain-lookup-form,.domain-registrant dl{grid-template-columns:1fr}}
.domain-profile-missing{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px 14px;padding:13px 14px;border:1px solid #ead8bf;border-left:4px solid #b86b14;border-radius:9px;background:#fffaf2}.domain-profile-missing strong,.domain-profile-missing span{grid-column:1}.domain-profile-missing span{color:var(--muted);font-size:.84rem;line-height:1.45}.domain-profile-missing button{grid-column:2;grid-row:1 / span 2}@media(max-width:700px){.domain-profile-missing{grid-template-columns:1fr}.domain-profile-missing button{grid-column:1;grid-row:auto;width:100%}}
