/* 1Logik Forms. Tokens follow apps/web/app/globals.css; no upstream CSS fork. */
@font-face { font-family: Inter; src: url('/1logik-brand/InterVariable.woff2') format('woff2'); font-style: normal; font-weight: 100 900; font-display: swap; }
:root { --bs-font-sans-serif: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; --bs-body-font-family: var(--bs-font-sans-serif); --bs-body-bg: #fff; --bs-body-color: #171717; --bs-primary: #171717; --bs-primary-rgb: 23,23,23; --bs-link-color: #171717; --bs-link-hover-color: #525252; --bs-border-color: #e5e5e5; --bs-border-radius: .85rem; --bs-form-invalid-color: #c62828; }
html { font-size: 14px; }
body, body p, body input, body button, body select, body textarea, body .btn { font-family: var(--bs-font-sans-serif) !important; }
body { color: #171717; background: #fff !important; -webkit-font-smoothing: antialiased; }
h1,h2,h3,h4,h5,h6 { font-family: var(--bs-font-sans-serif) !important; color: #171717; letter-spacing: -.025em; }
body a { color: #262626; }
body a:hover { color: #525252; }
body .navbar, body #main-header { background: #fafafa !important; color: #171717 !important; border-bottom: 1px solid #e5e5e5; box-shadow: none !important; }
body .navbar .nav-link, body .navbar-brand, body .navbar .btn { color: #171717 !important; }
body .navbar-brand img[src*="logo-icon-white"] { content: url('/1logik-brand/app-icon.png'); height: 28px; width: 28px; border-radius: 7px; object-fit: contain; }
body .navbar-brand { font-weight: 600; letter-spacing: -.02em; }
body .btn, body .btn-primary, body .btn-success { border-radius: 999px !important; font-weight: 500; box-shadow: none !important; }
body .btn-primary, body .btn-success { background: #171717 !important; border-color: #171717 !important; color: #fff !important; }
body .btn-primary:hover, body .btn-success:hover { background: #343434 !important; border-color: #343434 !important; }
body .btn-outline-secondary, body .btn-default, body .btn-cancel { background: #fff !important; color: #171717 !important; border: 1px solid #d4d4d4 !important; }
body .btn:focus-visible, body a:focus-visible, body input:focus-visible, body textarea:focus-visible, body select:focus-visible { outline: 2px solid #737373 !important; outline-offset: 3px; }
body .form-control, body .form-select, body .select2-selection { background: #fff; border-color: #d4d4d4 !important; border-radius: .85rem !important; box-shadow: none !important; color: #171717; }
body .form-control:focus, body .form-select:focus { border-color: #737373 !important; }
body input[type=checkbox], body input[type=radio] { accent-color: #171717; }
body .card, body .panel, body .well, body .modal-content { border-color: #e5e5e5; border-radius: .85rem; box-shadow: none; background-color: #fff; }
body .card-header, body .panel-heading { background: #fafafa; color: #171717; border-color: #e5e5e5; }
body .table { --bs-table-color: #171717; --bs-table-bg: #fff; --bs-table-hover-bg: #fafafa; --bs-table-border-color: #e5e5e5; }
body .table th { font-weight: 500; color: #737373; }
body .nav-pills .nav-link.active, body .pagination .active .page-link { background: #171717 !important; border-color: #171717 !important; color: #fff !important; }
body .list-group-item.active { background: #f5f5f5 !important; color: #171717 !important; border-color: #e5e5e5 !important; }
body .progress-bar { background: #171717 !important; }
body .text-primary, body .text-success { color: #262626 !important; }
/* Customer questionnaire surfaces. */
body .question-container { border: 0 !important; border-bottom: 1px solid #e5e5e5 !important; border-radius: 0 !important; box-shadow: none !important; background: #fff !important; padding-bottom: 26px; }
body .survey-name { font-weight: 600; }
body .navbar-brand .logo-container img, body .navbar-brand img.logo { content: url('/1logik-brand/wordmark-black.svg'); width: 114px; height: auto; border-radius: 0; }
body .survey-contact { color: #737373; font-size: 13px; }
/* Native password fallback remains available, using the same branded chrome. */
body .login .sidebar-l { display: none !important; }
body .login { max-width: 440px; margin: 56px auto; padding: 24px; }
body .login .login-panel { width: 100%; padding: 0; margin: 0; }
body .login .login-panel::before { content: ''; display: block; background: url('/1logik-brand/wordmark-black.svg') left center/contain no-repeat; width: 138px; height: 40px; margin-bottom: 44px; }
body .login h1 { font-size: 25px; font-weight: 600; }
body .login .onelogik-sign-in { display: block; margin-bottom: 24px; text-align: center; }
/* Vendor promotions are not part of the white-label staff surface. */
body #donate-button, body .footer a[href*='comfortupdate'], body nav a[href*='limesurvey.org'], body .footer a[href*='limesurvey.org'] { display: none !important; }
body .footer > div:first-child { font-size: 0; }
body .footer > div:first-child .onelogik-footer { font-size: 13px; display: inline-flex; gap: 20px; align-items: center; padding: 12px 0; color: #737373; }
body .footer > div:first-child .onelogik-footer a { font-size: 13px; }
/* Standalone staff sign-in uses native SSO and no locally handled credentials. */
.onelogik-login-page { margin: 0; min-height: 100dvh; display: flex; flex-direction: column; }
.onelogik-login-header { padding: 32px 40px; }
.onelogik-login-header img { width: 118px; height: auto; }
.onelogik-login-main { width: min(360px, calc(100% - 48px)); margin: auto; padding: 60px 0 100px; }
.onelogik-login-main h1 { font-size: 30px; line-height: 1.2; font-weight: 600; margin: 0 0 12px; }
.onelogik-login-main p { color: #737373; line-height: 1.6; margin: 0 0 30px; }
.onelogik-google { display: flex; gap: 12px; justify-content: center; align-items: center; border: 1px solid #d4d4d4; padding: 14px 20px; border-radius: .85rem; color: #171717; font-weight: 500; text-decoration: none; }
.onelogik-google:hover { background: #fafafa; }
.onelogik-login-main details { margin-top: 28px; font-size: 13px; color: #737373; }
.onelogik-login-main details a { display: inline-block; margin-top: 14px; }
.onelogik-login-footer { display: flex; justify-content: center; gap: 24px; padding: 24px; font-size: 13px; color: #737373; }
.onelogik-login-footer a { color: #737373; text-decoration: none; }
@media(max-width:600px) { .onelogik-login-header { padding: 24px; } .onelogik-login-main { padding-top: 36px; } }
