/* Geist Variable (SIL OFL, vercel/geist) - samma typsnitt som säljarvyn.
   Ligger pa egen server i css/viaos-inter/; ingen extern koppling. */
@font-face { font-family: "Geist Variable"; font-style: normal; font-display: swap; font-weight: 100 900; src: url("viaos-inter/geist-latin-wght-normal.woff2") format("woff2-variations"); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: "Geist Variable"; font-style: normal; font-display: swap; font-weight: 100 900; src: url("viaos-inter/geist-latin-ext-wght-normal.woff2") format("woff2-variations"); unicode-range: U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
/* Presentation only. No visibility, DOM order, status colors or dialer behavior. */
:root {
  --viaos-ui-revision: 5;
  --viaos-ui-border: #d9e1eb;
  --viaos-ui-ink: #243247;
  --viaos-ui-muted: #526174;
  --viaos-ui-focus: #17659b;
}
body .content-header > h1 { font-weight: 600; letter-spacing: -.025em; }
body .content-header > h1 > small { color: var(--viaos-ui-muted); letter-spacing: 0; }
body .sidebar-menu > li > a { font-weight: 500; }
body .sidebar-menu .treeview-menu > li > a { line-height: 1.45; padding-top: 9px; padding-bottom: 9px; }
body .sidebar-menu > li.header { letter-spacing: .06em; font-size: 11px; }
body:not(.overview-page) :is(.content-wrapper, .right-side) .box {
  border-radius: 12px;
  box-shadow: 0 2px 10px rgba(25, 42, 68, .055);
}
body :is(.content-wrapper, .right-side) .box-header .box-title,
body .modal .modal-title { font-weight: 600; color: var(--viaos-ui-ink); }
body .modal .modal-content { border-radius: 12px; box-shadow: 0 16px 48px rgba(20, 34, 54, .18); }
body .modal .modal-header { border-bottom-color: #e8edf3; }
body .modal .modal-footer { border-top-color: #e8edf3; }
body .modal .modal-body { line-height: 1.5; }
body :is(.content-wrapper, .right-side) .form-control,
body .modal .form-control { border-color: var(--viaos-ui-border); border-radius: 7px; box-shadow: none; }
body :is(.content-wrapper, .right-side) .form-control:focus,
body .modal .form-control:focus { border-color: var(--viaos-ui-focus); box-shadow: 0 0 0 3px rgba(23,101,155,.12); }
body .input-group .form-control:not(:first-child):not(:last-child) { border-radius: 0; }
body .input-group .form-control:first-child { border-top-right-radius: 0; border-bottom-right-radius: 0; }
body .input-group .form-control:last-child { border-top-left-radius: 0; border-bottom-left-radius: 0; }
body :is(.content-wrapper, .right-side) .help-block { color: var(--viaos-ui-muted); line-height: 1.45; }
body :is(.content-wrapper, .right-side) .btn:not(.btn-circle),
body .modal .btn:not(.btn-circle) { border-radius: 7px; font-weight: 600; }
body :is(.content-wrapper, .right-side) .table > thead > tr > th { color: #475569; font-weight: 600; }
body a:focus-visible, body button:focus-visible,
body input:focus-visible, body select:focus-visible, body textarea:focus-visible {
  outline: 3px solid var(--viaos-ui-focus); outline-offset: 2px;
}
body .modal .close { opacity: .75; min-width: 32px; min-height: 32px; }
body .modal .close:hover, body .modal .close:focus { opacity: 1; }
body .sweet-alert { border-radius: 14px; }
body .sweet-alert h2 { font-weight: 600; line-height: 1.25; overflow-wrap: anywhere; }
body .sweet-alert button { border-radius: 7px; }
body .modal .wizard > .steps { width: 100%; margin-left: 0; }
body .modal .wizard > .steps > ul > li > a { white-space: normal; overflow-wrap: anywhere; line-height: 1.4; }
body .modal .wizard > .steps > ul > li > a small { white-space: normal; overflow-wrap: anywhere; line-height: 1.4; }
body.login-page { overflow-y: auto !important; min-height: 100vh; background: #edf1f7; }
body.login-page .login-box { width: min(380px, calc(100% - 32px)); }
body.login-page .login-box-body { border: 1px solid var(--viaos-ui-border); border-radius: 14px; box-shadow: 0 12px 32px rgba(25,42,68,.07); }
body.login-page .login-logo { font-size: 24px; line-height: 1.3; color: var(--viaos-ui-ink); }
body.login-page .form-control { border-radius: 7px; }
@media (max-width: 767px) {
  body .content-header > h1 { font-size: 23px; }
  body .content-header > h1 > small { line-height: 1.4; }
  body .modal-dialog { margin: 12px; max-width: calc(100vw - 24px); }
  body .modal .modal-footer .btn { margin-bottom: 5px; }
  body.login-page .login-box { margin: 32px auto; }
}
@media (prefers-reduced-motion: reduce) {
  body .modal.fade .modal-dialog { transition: none; }
}

/* Clearer help, form actions and call outcomes. */
body .viaos-page-help { color: #475569; line-height: 1.55; margin: 0 0 18px; max-width: 80ch; }
body .viaos-form-help { color: #526174; font-size: 13px; font-weight: 400; line-height: 1.5; margin: 8px 0; }
body #select-disposition .modal-dialog { width: min(760px, calc(100vw - 24px)); }
body #select-disposition .modal-content { display: flex; flex-direction: column; max-height: calc(100vh - 60px); }
body #select-disposition .modal-header, body #select-disposition .modal-footer { flex-shrink: 0; }
body #select-disposition .modal-body { overflow-y: auto; min-height: 0; }
body #select-disposition .modal-footer { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; text-align: left; }
body #select-disposition .modal-footer > .pull-right { order: 2; margin-left: auto; display: flex; gap: 8px; align-items: center; }
body #select-disposition .viaos-dispo-pause { flex: 1 1 240px; max-width: 350px; padding-right: 48px; position: relative; }
body #select-disposition .viaos-dispo-pause .material-switch { position: absolute; top: 8px; right: 38px; }
body #select-disposition #DispoSelectContent td { white-space: normal !important; vertical-align: top; }
body #select-disposition [id^="dispo-add-"], body #select-disposition [id^="dispo-sel-"] { display: inline-block; padding: 7px 9px; border-radius: 6px; line-height: 1.35; }
body #select-disposition [id^="dispo-add-"] { color: #355566 !important; }
body #select-disposition [id^="dispo-add-"]:hover { background: #eef3f8; }
body #select-disposition [id^="dispo-sel-"] { background: #e1f1e8 !important; color: #174f36 !important; box-shadow: inset 0 0 0 2px #237b52; }
body #select-disposition .viaos-dispo-code { font-size: 12px; color: #526174; }
body .modal .modal-footer .btn { white-space: normal; }
@media (max-width: 767px) {
  body #select-disposition .modal-content { max-height: calc(100vh - 24px); }
  body #select-disposition .modal-footer > .pull-right { width: 100%; margin-left: 0; }
  body #select-disposition #btn-dispo-submit { flex: 1; }
  body #select-disposition .viaos-dispo-pause { max-width: 100%; }
  body .viaos-page-help { font-size: 14px; }
}

/* Admin creation buttons retain native keyboard activation and visible focus. */
body button.viaos-admin-fab { border: 0; padding: 0; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; font: inherit; }
body button.viaos-admin-fab.skin-black:hover,
body button.viaos-admin-fab.skin-black:focus,
body button.viaos-admin-fab.skin-minimalist { color: #243247; }
body .bottom-menu .fab-div-item:focus-visible { outline: 3px solid #17659b; outline-offset: 3px; }
/* Three password fields do not require half the screen as empty space. */
body #change-password-dialog-modal .modal-body { height: auto; min-height: 0; }
  /* Keep one scrolling region in admin wizards instead of nested 400px panes. */
  body .viaos-admin-wizard .modal-dialog { margin: 12px auto; max-width: calc(100vw - 24px); }
  body .viaos-admin-wizard .modal-content { display: flex; flex-direction: column; max-height: calc(100vh - 24px); max-height: calc(100dvh - 24px); overflow: hidden; }
  body .viaos-admin-wizard .modal-header { flex: 0 0 auto; }
  body .viaos-admin-wizard .modal-title { padding-right: 30px; }
  body .viaos-admin-wizard .modal-title.animated { animation: none; }
  body .viaos-admin-wizard .modal-header .close { position: absolute; right: 12px; top: 14px; }
  body .viaos-admin-wizard .modal-body { flex: 1 1 auto; height: auto; min-height: 0; max-height: none; margin: 0; padding: 15px; overflow-y: auto; }
  body .viaos-admin-wizard .wizard { width: 100%; margin: 0; overflow: visible; }
  body .viaos-admin-wizard .wizard > .content { height: auto; min-height: 0; margin: 0; padding: 15px; overflow: visible; }
  body .viaos-admin-wizard .wizard > .content > .body { position: relative; width: 100%; height: auto; margin-bottom: 0; padding: 0; }
  body .viaos-admin-wizard .wizard > .actions { width: 100%; padding: 10px 0; }
  body .viaos-admin-wizard .wizard > .actions > ul { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; padding: 0; }
  body .viaos-admin-wizard .wizard > .actions > ul > li { margin: 0; }

/* ViaOS 2026 inloggning: samma typsnitt, fält och knapp som admin och agentvy */
body.login-page { background: radial-gradient(900px 420px at 50% -10%, rgba(99,102,241,.10), transparent 60%), #f5f7fb !important; font-family: "Geist Variable", "Inter Variable", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important; -webkit-font-smoothing: antialiased; }
body.login-page :is(p, a, span, label, input, button, h1, h2, h3, div):not(.glyphicon):not(.fa):not([class*="glyphicon-"]):not([class*="fa-"]) { font-family: inherit; }
body.login-page :is(#btn1, .login-box-body .btn-primary) { width: 100%; }
body.login-page .login-box { width: 380px; max-width: calc(100vw - 32px); }
body.login-page .login-box-body { padding: 26px 26px 24px !important; border: 1px solid #e8edf5 !important; border-radius: 18px !important; background: #fff !important; box-shadow: 0 1px 2px rgba(15,23,42,.04), 0 18px 48px rgba(15,23,42,.08) !important; }
body.login-page .login-box-msg { margin: 0 0 16px; padding: 0; color: #475569; font-size: 14px; font-weight: 500; }
body.login-page .form-control { height: 44px; padding: 10px 40px 10px 14px; border: 1px solid #dce4ef !important; border-radius: 12px !important; color: #0f172a; font-size: 14px; box-shadow: none !important; }
body.login-page .form-control:focus { border-color: #7f9afa !important; box-shadow: 0 0 0 3px rgba(59,108,246,.14) !important; }
body.login-page .form-control-feedback { height: 44px; line-height: 44px; color: #94a3b8; }
body.login-page :is(#btn1, .login-box-body .btn-primary) { height: 44px; margin-top: 4px; border: 0 !important; border-radius: 12px !important; background: #3b6cf6 !important; color: #fff; font-size: 15px; font-weight: 600; box-shadow: 0 8px 20px -10px rgba(59,108,246,.7); }
body.login-page :is(#btn1, .login-box-body .btn-primary):hover { background: #2f5bd8 !important; }
body.login-page .login-box-body [class*="col-"]:has(> :is(#btn1, .btn-primary)) { width: 100% !important; margin-left: 0 !important; float: none; }

/* 5f 2026-10-20: sidfoten drogs upp 40 px (inline) och låg mot rutan i mobil. */
body.login-page > footer > div { margin-top: 20px !important; color: #64748b; font-weight: 500 !important; font-size: 13px; }
