/* VIAWIN workspace design. Presentation only; published Studio preferences win. */
.vw-design {
  --vw-blue: #0b187c; --vw-blue-hover: #142c9a; --vw-ink: #102044;
  --vw-muted: #566681; --vw-line: #dce4f0; --vw-silver: #f4f7fc;
  --vw-radius: 13px; --vw-shadow: 0 3px 16px #162b5506;
  --brand: var(--studio-primary, var(--vw-blue)); --brand2: var(--brand);
  --bg: var(--studio-background, var(--vw-silver)); --panel: #fff;
  --inset: #f6f8fc; --soft: #edf3ff; --ink: var(--studio-text, var(--vw-ink));
  --muted: var(--vw-muted); --line: var(--vw-line); --metal: #586c93;
  --shadow: var(--vw-shadow); --warning: #8c5300; --warning-bg: #fff4df;
  --danger: #a6233a; --success: #136641;
  background: var(--bg); color: var(--ink);
  font-family: 'Segoe UI Variable', 'Segoe UI', -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: var(--studio-font, 14px); line-height: 1.5; font-variant-numeric: tabular-nums;
  -webkit-font-smoothing: antialiased;
}
.vw-design [hidden], .vw-design [data-studio-hidden=true] { display:none!important; }
.vw-design a { color:var(--brand); text-underline-offset:3px; }
.vw-design :where(h1,h2,h3,h4) { color:var(--ink); font-family:inherit; }
.vw-design h1 { font-size:clamp(26px,2.5vw,34px); font-weight:720; line-height:1.18; letter-spacing:-.8px; }
.vw-design h2 { font-size:19px; font-weight:690; line-height:1.35; letter-spacing:-.35px; }
.vw-design h3 { font-size:15px; font-weight:650; letter-spacing:0; }
.vw-design p { line-height:1.6; }
.vw-design small,.vw-design .caption,.vw-design .muted,.vw-design .helptext { color:var(--muted); line-height:1.5; }
.vw-design .eyebrow { color:#566887; font-size:10px; font-weight:650; letter-spacing:1.5px; }
.vw-design ::selection { background:#dbe7ff; color:#0b187c; }
.vw-design :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible { outline:3px solid #526ee4; outline-offset:3px; }
.vw-design :where(button,.button,input,select,textarea) { font-family:inherit; }
.vw-design .workspace { min-width:0; }
.vw-design main#main-content { max-width:1760px; padding:24px 26px 0; }
.vw-design .topbar { min-height:64px; padding:10px 26px; background:#ffffffed; border-bottom:1px solid var(--line); gap:12px; }
.vw-design .topbar .breadcrumb { color:#52617c; font-size:12px; font-weight:500; letter-spacing:0; }
.vw-design .topbar .actions { gap:7px; }
.vw-design .topbar .quiet { font-size:12px; min-height:34px; }
.vw-design .page-heading { padding:0; margin:0 0 20px; border:0; gap:16px; align-items:center; }
.vw-design .page-heading p { margin-top:6px; color:var(--muted); font-size:14px; }
.vw-design .page-heading .eyebrow { margin:0 0 7px; }
.vw-design .resource-toolbar { margin:0 0 14px; }
.vw-design .resource-toolbar a { padding:4px 0; min-height:26px; font-size:11px; color:#60718d; border:0; background:transparent; }
.vw-design .footer { margin-top:26px; padding:18px 0; color:#60718d; font-size:11px; border-top:1px solid var(--line); }
.vw-design .footer span { color:#60718d; }
/* Existing navigation and every existing route stay in place. */
.vw-design .sidebar { background:linear-gradient(165deg,var(--brand),#081663); color:#fff; padding:20px 13px 16px; border-right:1px solid #233487; }
.vw-design .sidebar .brand { padding:0 9px; color:#fff; }
.vw-design .brand .viawin-logo { width:171px; height:65px; object-fit:contain; border-radius:0; margin:0; }
.vw-design .brand span { margin-top:4px; font-size:10px; color:#d5dcff; letter-spacing:.3px; }
.vw-design .workspace-label { margin:22px 12px 10px; color:#c8d2fc; font-size:9px; letter-spacing:1.5px; }
.vw-design .sidebar nav { gap:3px; }
.vw-design .sidebar nav a { min-height:39px; padding:9px 11px; font-size:13px; font-weight:450; line-height:1.35; gap:11px; border:1px solid transparent; border-radius:8px; color:#edf1ff; box-shadow:none; }
.vw-design .sidebar nav a:hover { background:#ffffff13; border-color:#ffffff1c; color:#fff; text-decoration:none; }
.vw-design .sidebar nav a.active { background:#ffffff19; color:#fff; border-color:#ffffff16; box-shadow:inset 3px 0 #b8ccff; font-weight:650; }
.vw-design .sidebar .nav-group { border-top:1px solid #ffffff29; padding-top:8px; margin-top:10px; }
.vw-design .sidebar .nav-group summary { padding:11px 8px; font-size:12px; line-height:1.45; color:#d7e0ff; }
.vw-design .sidebar .nav-group a { margin-left:3px; font-size:12px; padding-left:12px; }
.vw-design .sidebar-bottom { margin-top:20px; padding:17px 7px 0; gap:10px; border-top:1px solid #ffffff29; }
.vw-design .sidebar-bottom strong { color:#fff; font-size:12px; }
.vw-design .sidebar-bottom small { color:#d5dcff; font-size:10px; }
.vw-design .sidebar .avatar { background:#e7eeff; border:0; color:#0b187c; border-radius:50%; width:36px; height:36px; }
.vw-nav-icon { width:19px; height:19px; min-width:19px; stroke:currentColor; stroke-width:1.65; fill:none; display:block; flex:none; }
.vw-design .sidebar nav a .vw-nav-icon { color:inherit; }
/* Shared cards, lists, metrics, and forms. */
.vw-design :where(.panel,.soft-panel,.card,.mw-card) { border:1px solid var(--line); border-radius:var(--vw-radius); background:var(--panel); box-shadow:var(--shadow); min-width:0; }
.vw-design .panel,.vw-design .soft-panel { padding:var(--studio-space,20px); }
.vw-design .soft-panel { background:#edf3ff; }
.vw-design .panel>.section-heading { margin:0 0 16px; padding:0 0 13px; background:none; border-radius:0; border-bottom:1px solid #e6ebf3; }
.vw-design .panel>.section-heading:only-child { margin:0; padding-bottom:0; border-bottom:0; }
.vw-design .section-heading h2::before { display:none; }
.vw-design .section-heading { gap:12px; margin-bottom:16px; }
.vw-design .day-grid,.vw-design .stack { gap:18px; }
.vw-design .stack.compact { gap:10px; }
.vw-design .spacing { margin-top:20px; }
.vw-design .spacing-bottom { margin-bottom:20px; }
.vw-design .metrics { gap:14px; margin-bottom:20px; }
.vw-design .metrics a { padding:18px 20px; border-radius:12px; background:#fff; border:1px solid var(--line); box-shadow:var(--shadow); }
.vw-design .metrics strong { font-size:30px; font-weight:700; line-height:1.15; letter-spacing:-.7px; color:var(--brand); margin:4px 0; }
.vw-design .metrics span { font-size:12px; font-weight:600; color:#445571; }
.vw-design .metrics a::after { display:none; }
.vw-design .metrics a:hover { border-color:#9fb0db; background:#fafbff; }
.vw-design .start-actions { padding:20px; margin-bottom:20px; border-radius:13px; background:#fff; border-color:var(--line); }
.vw-design .customer-search label { font-size:16px; margin-bottom:12px; }
.vw-design .start-links { margin-top:14px; padding-top:13px; gap:12px 24px; }
.vw-design .start-links a { font-size:12px; }
.vw-design .task-row { padding:14px 0; gap:12px; }
.vw-design .list-row { padding:13px 0; gap:14px; color:var(--ink); border-color:#e6ebf3; }
.vw-design .list-row p { font-size:12px; line-height:1.5; margin:4px 0; }
.vw-design .list-row strong { font-weight:630; }
.vw-design .date-card>span { background:#eef3ff; color:var(--brand); border-radius:10px; font-weight:700; }
.vw-design .empty-text,.vw-design .empty-state { padding:17px; border:1px dashed #cbd6e8; border-radius:10px; color:#52617a; background:#fafcff; font-size:13px; }
.vw-design :where(button,.button) { min-height:39px; padding:9px 14px; font-size:13px; font-weight:600; line-height:1.4; border:1px solid #cfd9ea; border-radius:8px; color:var(--brand); background:#fff; box-shadow:none; gap:8px; text-transform:none; letter-spacing:0; }
.vw-design :where(button,.button):hover { background:#f0f4fe; border-color:#a8b9dc; color:var(--brand); text-decoration:none; }
.vw-design :where(.primary,a.primary,button.primary,.button.primary) { background:var(--brand); border-color:var(--brand); color:#fff; box-shadow:0 3px 9px #0b187c0c; }
.vw-design :where(.primary,a.primary,button.primary,.button.primary):hover { background:var(--vw-blue-hover); color:#fff; border-color:var(--vw-blue-hover); }
.vw-design :where(.quiet,.secondary,.text-button) { background:transparent; color:var(--brand); box-shadow:none; }
.vw-design .quiet { border-color:transparent; }
.vw-design .small { min-height:32px; padding:5px 10px; font-size:12px; }
.vw-design :where(button,.button).vw-danger,.vw-design :where(button,.button).danger { color:#a6233a; background:#fff7f8; border-color:#e8bbc3; }
.vw-design :where(button,.button).vw-danger:hover { background:#ffecef; border-color:#be6676; }
.vw-design :where(button,input,select,textarea):disabled,.vw-design .button[aria-disabled=true] { opacity:1; color:#57647a; background:#edf0f5; border-color:#d3dbe7; cursor:not-allowed; box-shadow:none; }
.vw-design :where(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=range]),select,textarea) { min-height:41px; padding:10px 12px; max-width:100%; min-width:0; border:1px solid #cdd7e8; border-radius:8px; background:#fff; color:var(--ink); font-size:14px; line-height:1.4; box-shadow:none; }
.vw-design textarea { min-height:104px; resize:vertical; }
.vw-design :where(input,textarea)::placeholder { color:#687995; opacity:1; }
.vw-design :where(input[type=checkbox],input[type=radio]) { width:18px; height:18px; min-height:18px; flex:none; margin:0 7px 0 0; accent-color:var(--brand); vertical-align:middle; }
.vw-design label,.vw-design legend { color:#263952; font-size:13px; font-weight:600; }
.vw-design label :where(small,.helptext) { font-weight:400; }
.vw-design .form-stack { gap:15px; }
.vw-design .form-stack p { margin:0; }
.vw-design :where(.form-grid,.meeting-form) { gap:18px; }
.vw-design .form-panel { max-width:1040px; }
.vw-design .form-panel:has(.mw-editor) { max-width:none; }
.vw-design .searchbar,.vw-design .filterbar,.vw-design .filters { gap:12px; align-items:end; }
.vw-design fieldset { border:1px solid var(--line); border-radius:10px; min-width:0; }
.vw-design legend { padding:0 7px; }
.vw-design .helptext { display:block; font-size:12px; margin-top:6px; font-weight:400; }
.vw-design .errorlist { color:#99243a; background:#fff2f4; border-left:3px solid #a6233a; padding:9px 12px 9px 28px; border-radius:6px; font-size:13px; }
.vw-design .notice { border:1px solid #ccdbf4; border-left:3px solid #3768be; background:#eff5ff; color:#28456d; padding:13px 16px; border-radius:10px; font-size:13px; line-height:1.6; }
.vw-design .notice.warning,.vw-design .inbox-reminder { border-color:#efd39f; border-left-color:#a66a12; background:#fff6e7; color:#7d4a00; }
.vw-design .notice.error { border-color:#e6bac2; border-left-color:#a6233a; background:#fff2f4; color:#8c1b30; }
.vw-design .notice.success { border-color:#b9dacb; border-left-color:#28744e; background:#eff8f2; color:#1e593c; }
.vw-design .badge { font-size:11px; font-weight:550; line-height:1.5; padding:4px 8px; border:1px solid #d1dcf2; border-radius:7px; background:#edf3ff; color:#1e438b; letter-spacing:0; white-space:normal; }
.vw-design .badge.warning { background:#fff3df; color:#885000; border-color:#edce94; }
.vw-design .badge.neutral { background:#f0f3f8; color:#52617a; border-color:#dbe2ed; }
.vw-design :where(.success,.badge.success) { color:#17613f; background:#edf8f2; border-color:#baddcb; }
/* Long labels and amounts remain readable; horizontal scrolling stays local. */
.vw-design .table-wrap { overflow:auto; max-width:100%; border:1px solid var(--line); border-radius:10px; background:#fff; scrollbar-color:#aab8d1 transparent; }
.vw-design .table-wrap table { margin:0; min-width:560px; width:100%; }
.vw-design table { border-collapse:collapse; }
.vw-design th { padding:11px 13px; font-size:11px; line-height:1.45; font-weight:650; letter-spacing:.15px; text-transform:none; background:#f3f6fc; color:#415573; border-bottom:1px solid var(--line); white-space:normal; }
.vw-design td { padding:12px 13px; font-size:13px; line-height:1.5; vertical-align:top; color:#243650; border-bottom:1px solid #e6ebf3; overflow-wrap:anywhere; }
.vw-design tbody tr:nth-child(even) { background:#fcfdff; }
.vw-design tbody tr:hover { background:#f5f8ff; }
.vw-design td :where(.actions,.button) { font-size:12px; }
.vw-design .facts { gap:8px 16px; font-size:13px; line-height:1.55; }
.vw-design .facts dt { color:#5c6d86; font-weight:500; }
.vw-design .facts dd { overflow-wrap:anywhere; }
.vw-design :where(.tabs,.tab-list,.claim-tabs,.mw-tabs,.customer-document-tabs,.document-tabs,.pill-nav) { gap:6px; }
.vw-design :where([role=tab],[aria-current=page]) { text-underline-offset:5px; }
.vw-design summary { cursor:pointer; line-height:1.5; }
.vw-design .simple-details>summary { font-size:14px; padding:2px 0; }
.vw-design .simple-details[open]>summary { margin-bottom:16px; }
.vw-design details.panel { padding:17px 20px; }
.vw-design .quality-contact { padding:15px 20px; border-radius:12px; margin-bottom:14px; }
.vw-design .quality-contact p { margin:3px 0 0; font-size:12px; }
.vw-design .quality-progress { padding:18px 20px; margin-bottom:18px; }
.vw-design .quality-steps { gap:10px; }
.vw-design .quality-steps a { background:#f8faff; border-color:#e0e7f3; border-radius:10px; padding:12px; }
.vw-design .quality-steps a>span { background:var(--brand); color:#fff; border-radius:50%; }
.vw-design .quality-progress .caption { font-size:11px; margin:12px 0; }
.vw-design .dossier-summary { gap:12px; }
.vw-design .dossier-summary a { background:#f8faff; border-color:#e0e7f3; border-radius:10px; padding:15px; }
.vw-design .dossier-summary strong { color:var(--brand); font-size:25px; }
.vw-design .dossier-action-grid { gap:20px; }
.vw-design .customer-fold-toggle { min-height:34px; font-size:16px; }
.vw-design .customer-fold-toolbar button { min-height:33px; font-size:11px; padding:6px 10px; }
.vw-design .customer-fold-hint { color:#5c6d86; font-size:11px; }
.vw-design .pipeline { gap:16px; }
.vw-design .pipeline-column { background:#edf2fa; border-color:#dae3f1; border-radius:12px; }
.vw-design .next-action-panel,.vw-design .next-step-panel { background:#edf4ff; border:1px solid #cfdff7; border-radius:13px; box-shadow:none; padding:18px 20px; }
/* Existing document, signature and communication components retain their controls. */
.vw-design .analysis-overview { padding:18px 20px; }
.vw-design .analysis-layout { gap:18px; }
.vw-design .analysis-preview { border-radius:12px; border-color:var(--line); overflow:hidden; }
.vw-design .analysis-preview iframe { border:0; background:#e9edf5; }
.vw-design .pdf-pages figure { border:1px solid #d8e0ed; border-radius:8px; overflow:hidden; box-shadow:0 5px 20px #162b5510; background:#fff; }
.vw-design .pdf-pages figcaption { color:#52617a; background:#f4f7fc; padding:8px 13px; font-size:12px; }
.vw-design .signature-tools { border-color:var(--line); background:#f5f8fd; gap:10px; }
.vw-design .signature-tools button { min-height:38px; padding:8px 12px; }
.vw-design .mw-workspace,.vw-design .mail-workspace { color:var(--ink); --mw-blue:var(--brand); --mw-border:var(--line); --mw-muted:var(--muted); --mw-ink:var(--ink); }
.vw-design .mw-workspace :where(.mw-card,.mw-list,.mw-reading,.mw-editor,.mw-folders) { border-color:var(--line); border-radius:11px; box-shadow:none; }
.vw-design .mw-workspace button { border-radius:8px; }
.vw-design .mw-workspace .primary { background:var(--brand); color:#fff; border-color:var(--brand); }
.vw-design .mw-workspace :where(input,select,textarea) { border-radius:8px; }
.vw-design .mw-message.selected,.vw-design .mail-list-item.selected { background:#edf3ff; border-color:#bacdf4; }
.vw-design .mw-workspace .mw-body,.vw-design .mail-body { font-size:14px; line-height:1.65; }
.vw-design :where(dialog) { border:1px solid #d4deee; border-radius:15px; background:#fff; color:var(--ink); box-shadow:0 20px 80px #0b183633; max-width:calc(100vw - 32px); max-height:calc(100dvh - 32px); }
.vw-design dialog::backdrop { background:#10204470; backdrop-filter:blur(2px); }
.vw-design .auth-main { background:var(--bg); min-height:100dvh; padding:32px 20px; }
.vw-design .login-layout { box-shadow:0 15px 60px #122b5510; border:1px solid var(--line); border-radius:18px; overflow:hidden; }
.vw-design .login-story { background:var(--brand); color:#fff; }
.vw-design .login-story h1,.vw-design .login-story strong { color:#fff; }
.vw-design .login-form { background:#fff; }
/* Standalone consultation, reading and signature surfaces: same tokens, no content edits. */
.vw-design.vw-design-standalone main { max-width:1280px; margin:auto; padding:24px; }
.vw-design.vw-design-reader main { padding:0; max-width:none; }
.vw-design.vw-design-reader .pdf-pages { padding:12px; }
.vw-design .journey-sidebar { background:var(--brand); }
.vw-design .journey-shell { background:var(--bg); }
.vw-design :where(.journey-card,.journey-entry,.journey-panel,.question-card,.pension-card) { border-color:var(--line); border-radius:13px; box-shadow:var(--shadow); }
.vw-design .journey-topbar { background:#fff; border-bottom-color:var(--line); }
.vw-design .journey-workspace { color:var(--ink); }
.vw-design .sign-shell { border-color:var(--line); background:#fff; border-radius:15px; }
@media(min-width:851px) {
  .vw-design .shell { grid-template-columns:var(--studio-sidebar,228px) minmax(0,1fr); }
  .vw-design .sidebar { position:sticky; top:0; height:100dvh; overflow-y:auto; scrollbar-color:#7184bd transparent; scrollbar-width:thin; }
}
@media(max-width:1100px) and (min-width:851px) {
  .vw-design .shell { grid-template-columns:var(--studio-sidebar,206px) minmax(0,1fr); }
  .vw-design main#main-content { padding:20px 19px 0; }
  .vw-design .topbar { padding:10px 19px; }
  .vw-design .brand .viawin-logo { width:155px; }
  .vw-design .day-grid { grid-template-columns:minmax(0,1.25fr) minmax(245px,1fr); }
}
@media(max-width:850px) {
  .vw-design .shell { grid-template-columns:1fr; }
  .vw-design .sidebar { padding:10px 16px; display:grid; grid-template-columns:1fr auto; align-items:center; height:auto; max-height:90dvh; overflow:auto; }
  .vw-design .sidebar .brand { padding:0; }
  .vw-design .brand .viawin-logo { width:134px; height:48px; }
  .vw-design .brand span,.vw-design .workspace-label,.vw-design .sidebar-bottom { display:none; }
  .vw-design .sidebar nav { grid-column:1/-1; }
  .vw-design .sidebar nav a { min-height:40px; }
  .vw-design .nav-toggle { color:#fff; background:#ffffff10; border-color:#ffffff4d; }
  .vw-design .topbar { padding:10px 16px; min-height:50px; }
  .vw-design main#main-content { padding:20px 16px 0; }
  .vw-design .day-grid { grid-template-columns:1fr; }
}
@media(max-width:600px) {
  .vw-design { font-size:14px; }
  .vw-design h1 { font-size:26px; }
  .vw-design h2 { font-size:18px; }
  .vw-design .topbar { gap:8px; }
  .vw-design .topbar .actions { gap:4px; }
  .vw-design main#main-content { padding:17px 12px 0; }
  .vw-design .panel,.vw-design .soft-panel { padding:16px; }
  .vw-design .panel>.section-heading { margin-bottom:13px; padding-bottom:11px; }
  .vw-design .page-heading .actions { width:100%; }
  .vw-design .metrics { gap:8px; }
  .vw-design .metrics a { padding:13px 11px; }
  .vw-design .metrics strong { font-size:25px; }
  .vw-design .quality-steps { grid-template-columns:1fr; }
  .vw-design .dossier-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .vw-design :where(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea) { font-size:16px; }
  .vw-design .searchbar { flex-wrap:wrap; }
  .vw-design .searchbar input { min-width:0; flex:1 1 180px; }
  .vw-design.vw-design-standalone main { padding:16px; }
  .vw-design.vw-design-reader main { padding:0; }
}
@media(pointer:coarse) {
  .vw-design :where(button,.button,input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select) { min-height:44px; }
  .vw-design :where(input[type=checkbox],input[type=radio]) { min-height:20px; width:20px; height:20px; }
}
@media(prefers-reduced-motion:reduce) { .vw-design *, .vw-design *::before,.vw-design *::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }
@media print {
  .vw-design { --ink:#111; --muted:#444; --bg:#fff; --panel:#fff; background:#fff; color:#111; }
  .vw-design .shell { display:block; }
  .vw-design .sidebar,.vw-design .topbar,.vw-design .vw-nav-icon { display:none!important; }
  .vw-design main#main-content { padding:0; max-width:none; }
  .vw-design .panel { box-shadow:none; border-color:#aaa; }
  .vw-design .table-wrap { overflow:visible; }
}
/* Calendar: preserve FullCalendar's geometry; never apply generic table padding. */
.vw-design .calendar-heading { margin:0 0 12px; align-items:center; }
.vw-design .calendar-heading h1 { font-size:30px; margin:0; }
.vw-design .calendar-heading p { margin:3px 0; }
.vw-design .calendar-heading .eyebrow { font-size:10px; }
.vw-design .calendar-context { padding:0; gap:14px; margin-bottom:8px; border:0; background:transparent; }
.vw-design .calendar-context label { font-size:12px; }
.vw-design .calendar-context select { min-height:36px; padding:6px 30px 6px 10px; }
.vw-design .calendar-tip,.vw-design .calendar-timezone { font-size:12px; }
.vw-design .calendar-display-options { display:flex; align-items:center; flex-wrap:wrap; gap:10px 20px; margin:0 0 8px; }
.vw-design .calendar-display-options label { display:flex; align-items:center; gap:8px; margin:0; font-size:12px; }
.vw-design .calendar-display-options select { width:auto; min-height:32px; padding:4px 28px 4px 9px; }
.vw-design .calendar-display-options input { margin:0; }
.vw-design #calendar-outside-hours { color:#805007; font-size:12px; flex:1 1 260px; }
.vw-design #calendar-status:empty { display:none; }
.vw-design #calendar-live { background:white; border:1px solid var(--line); border-radius:13px; padding:12px; --fc-border-color:#e2e9f4; --fc-today-bg-color:#f0f5ff; --fc-button-bg-color:var(--brand); --fc-button-border-color:var(--brand); --fc-button-hover-bg-color:#182f97; --fc-event-bg-color:var(--brand); --fc-event-border-color:var(--brand); }
.vw-design #calendar-live :where(td,th) { padding:0; overflow-wrap:normal; border-radius:0; font-size:12px; background:transparent; }
.vw-design #calendar-live table { min-width:0; border-collapse:collapse; }
.vw-design #calendar-live .fc-toolbar { margin-bottom:10px; gap:10px; }
.vw-design #calendar-live .fc-toolbar-title { font-size:18px; }
.vw-design #calendar-live .fc-button { min-height:32px; padding:5px 10px; box-shadow:none; font-size:12px; }
.vw-design #calendar-live .fc-col-header-cell-cushion { padding:7px 4px; color:var(--ink); }
.vw-design #calendar-live .fc-timegrid-slot { height:28px; }
.vw-design #calendar-live.vw-calendar-compact .fc-timegrid-slot { height:12px; }
.vw-design #calendar-live .fc-timegrid-slot-label-cushion { padding:0 7px; font-size:11px; }
.vw-design #calendar-live .fc-timegrid-event { border-radius:5px; box-shadow:none; min-height:0; }
.vw-design #calendar-live .fc-event-main { padding:1px 4px; font-size:11px; }
.vw-design #calendar-live .fc-event-title { font-weight:650; }
.vw-design .calendar-dialog-header { padding:17px 20px; }
.vw-design .calendar-dialog-body { padding:16px 20px; }
.vw-design .calendar-dialog-footer { padding:12px 20px; }
.vw-design .calendar-form-section { margin-bottom:16px; }
.vw-design .calendar-form-grid { gap:14px; }
@media(max-width:700px){
 .vw-design #calendar-live { padding:8px; }
 .vw-design #calendar-live .fc-toolbar { flex-wrap:wrap; }
 .vw-design #calendar-live .fc-toolbar-title { font-size:16px; }
 .vw-design .calendar-context { flex-wrap:wrap; }
 .vw-design .calendar-dialog-body,.vw-design .calendar-dialog-header { padding:14px; }
}
.vw-design #calendar-live .fc-button-primary { color:#fff; }
.vw-design #calendar-live .fc-button-primary:disabled { color:#495773; background:#edf0f5; opacity:1; }
.vw-design #calendar-live .fc-timegrid-slot { line-height:12px; }
.vw-design #calendar-live .fc-timegrid-slot-label-cushion { line-height:12px; }
.vw-design #calendar-live { position:relative; padding-bottom:24px; }
.vw-design #calendar-live:has(.fc-timeGridWeek-view)::after,.vw-design #calendar-live:has(.fc-timeGridDay-view)::after { content:'22:00'; position:absolute; left:27px; bottom:7px; color:#536780; font-size:11px; line-height:12px; }
.vw-design #calendar-live.vw-calendar-full:has(.fc-timeGridWeek-view)::after,.vw-design #calendar-live.vw-calendar-full:has(.fc-timeGridDay-view)::after { content:'24:00'; }
@media(min-width:1100px) and (max-height:850px){
 .vw-design:has(.calendar-workspace) .topbar { min-height:48px; padding-top:5px; padding-bottom:5px; }
 .vw-design:has(.calendar-workspace) main#main-content { padding-top:12px; }
 .vw-design:has(.calendar-workspace) .resource-toolbar { margin-bottom:5px; }
 .vw-design .calendar-heading { margin-bottom:7px; }
 .vw-design .calendar-heading h1 { font-size:26px; }
 .vw-design .calendar-heading p { font-size:12px; }
 .vw-design .calendar-context { margin-bottom:5px; }
 .vw-design #calendar-live .fc-col-header-cell-cushion { padding:3px; }
 .vw-design #calendar-live .fc-toolbar { margin-bottom:5px; }
 .vw-design #calendar-live .fc-toolbar-title { font-size:16px; }
}
.vw-design .brand .viawin-logo { object-fit:cover; }
/* Explicit primary specificity also covers anchors inside section headings. */
.vw-design a.button.primary,.vw-design button.primary { color:#fff; background:var(--brand); border-color:var(--brand); }
.vw-design a.button.primary:hover,.vw-design button.primary:hover { color:#fff; background:var(--vw-blue-hover); }
.vw-design .panel[aria-label='Separate Kündigungskontrolle'] { padding:14px 18px; margin:18px 0; display:grid; grid-template-columns:minmax(0,1fr) minmax(250px,1fr); gap:10px 18px; align-items:center; }
.vw-design .panel[aria-label='Separate Kündigungskontrolle']>.section-heading { grid-column:1/-1; margin:0; padding:0; border:0; }
.vw-design .panel[aria-label='Separate Kündigungskontrolle']>.section-heading h2 { font-size:16px; }
.vw-design .panel[aria-label='Separate Kündigungskontrolle']>p { margin:0; font-size:12px; }
.vw-design .panel[aria-label='Separate Kündigungskontrolle']>.notice { padding:8px 11px; }
.vw-design .analysis-overview { padding:17px 20px; }
.vw-design .analysis-facts { gap:10px; margin-top:12px; }
.vw-design .analysis-facts>div { padding:10px 12px; background:#f3f6fc; border:1px solid #e5ebf5; border-radius:9px; }
.vw-design .analysis-facts dt { font-size:11px; margin-bottom:4px; }
.vw-design .analysis-facts dd { font-size:13px; }
@media(min-width:1200px){.vw-design .analysis-facts{grid-template-columns:repeat(4,minmax(0,1fr));}}
@media(max-width:700px){.vw-design .panel[aria-label='Separate Kündigungskontrolle']{grid-template-columns:1fr;}}
.vw-design #calendar-live.vw-calendar-compact .fc-timegrid-slot { height:var(--vw-slot-height,12px); line-height:10px; }
.vw-design #calendar-live.vw-calendar-compact .fc-timegrid-slot-label-cushion { font-size:11px; line-height:10px; }
.vw-design #calendar-live:has(.fc-timeGridWeek-view)::after,.vw-design #calendar-live:has(.fc-timeGridDay-view)::after { display:none; bottom:auto; top:var(--vw-grid-end); }
.vw-design #calendar-live.vw-end-visible::after { display:block; }
/* Existing specialist workspaces keep their controls and diagrams. */
.vw-design dl.facts.analysis-facts { gap:10px; }
@media(min-width:1200px){.vw-design dl.facts.analysis-facts{grid-template-columns:repeat(4,minmax(0,1fr));}}
.vw-design .budget-welcome { padding:26px 28px; border-radius:13px; background:var(--brand); }
.vw-design .budget-welcome h1 { font-size:32px; }
.vw-design :where(.budget-step,.budget-start,.budget-dashboard,.budget-path) { padding:20px; border-radius:13px; border-color:var(--line); box-shadow:var(--shadow); }
.vw-design .budget-step h2,.vw-design .budget-path h2 { font-size:23px; }
.vw-design .budget-layout { gap:18px; }
.vw-design .budget-row,.vw-design .budget-row-head { padding:11px 0; gap:12px; }
.vw-design .budget-choice-fields fieldset label { font-size:14px; padding:13px; min-height:54px; border-radius:9px; }
.vw-design .budget-pills span { font-size:12px; padding:6px 12px; }
.vw-design .budget-paths { gap:18px; }
.vw-design .journey-brand img { object-fit:cover; width:175px; height:68px; }
.vw-design .journey-sidebar :where(.journey-eyebrow,#journey-progress,.journey-sidebar-bottom p) { color:#dce4ff; }
.vw-design #vorsorge-root>div { background:var(--bg)!important; color:var(--ink)!important; font-family:inherit!important; }
.vw-design #vorsorge-root .no-print>div:first-child { border-color:var(--line)!important; background:#fff!important; }
.vw-design #vorsorge-root input,.vw-design #vorsorge-root select,.vw-design #vorsorge-root textarea { border-color:#cdd7e8!important; border-radius:8px!important; padding:9px 10px!important; font-family:inherit!important; box-sizing:border-box; }
.vw-design #vorsorge-root button { font-family:inherit!important; border-radius:8px!important; }
.vw-design #vorsorge-root button[style*='rgb(28, 63, 100)'],.vw-design #vorsorge-root button[style*='#1C3F64'] { background:var(--brand)!important; color:#fff!important; }
.vw-design #vorsorge-root .no-print>div:last-child { min-width:0; }
.vw-design button.primary:disabled { background:#edf0f5; border-color:#d3dbe7; color:#57647a; }
@media(max-width:700px){.vw-design .budget-welcome{padding:20px}.vw-design .budget-welcome h1{font-size:26px;}}
/* Standalone React workspace does not inherit app.css's border-box reset. */
.vw-design #vorsorge-root,.vw-design #vorsorge-root * { box-sizing:border-box; }
.vw-design #vorsorge-root :where(div,label) { min-width:0; }
@media(max-width:800px){.vw-design #vorsorge-root .no-print>div:first-child{max-width:100%!important;min-width:0!important;}}
