/* Attendant — Settings page styles. */

/* Tabs: one panel visible at a time. */
.attendant-tab-panel            { display: none; }
.attendant-tab-panel.is-active  { display: block; }
.attendant-tabs                 { margin-bottom: 0; }

.attendant-save-status   { margin-left: 10px; font-style: italic; color: #555; }
.attendant-test-result   { margin-left: 10px; font-weight: 600; }
.attendant-test-ok       { color: #46b450; }
.attendant-test-fail     { color: #dc3232; }

/* ── Slack setup wizard (modal) ─────────────────────────────────────────── */
.attendant-wiz-overlay {
	position:        fixed;
	inset:           0;
	z-index:         160000;
	background:      rgba(0, 0, 0, 0.55);
	display:         flex;
	align-items:     center;
	justify-content: center;
	padding:         24px;
}

/* An author `display` rule beats the browser's [hidden] rule, so the overlay
   must opt back out explicitly — without this the modal is always on screen
   and closing it does nothing. */
.attendant-wiz-overlay[hidden] {
	display: none !important;
}

.attendant-wiz {
	background:     #fff;
	border-radius:  8px;
	width:          100%;
	max-width:      720px;
	max-height:     88vh;
	display:        flex;
	flex-direction: column;
	box-shadow:     0 20px 60px rgba(0, 0, 0, 0.35);
}

.attendant-wiz__head {
	display:         flex;
	align-items:     center;
	justify-content: space-between;
	padding:         18px 24px;
	border-bottom:   1px solid #dcdcde;
}

.attendant-wiz__head h2 { margin: 0; font-size: 20px; }

.attendant-wiz__close {
	background: none;
	border:     0;
	font-size:  26px;
	line-height: 1;
	cursor:     pointer;
	color:      #646970;
}

.attendant-wiz__progress { padding: 14px 24px 0; }
.attendant-wiz__count    { font-size: 12px; color: #646970; font-weight: 600; }
.attendant-wiz__bar {
	height:        6px;
	background:    #f0f0f1;
	border-radius: 3px;
	overflow:      hidden;
	margin-top:    6px;
}
.attendant-wiz__bar-fill {
	height:     100%;
	width:      0;
	background: #2271b1;
	transition: width 0.25s ease;
}

.attendant-wiz__body {
	padding:    22px 24px;
	overflow-y: auto;
	flex:       1;
}

.attendant-wiz__step h3 {
	margin:      0 0 10px;
	font-size:   22px;
	line-height: 1.3;
}

.attendant-wiz__lead  { font-size: 15px; line-height: 1.6; margin: 0 0 14px; max-width: 60ch; }
.attendant-wiz__note  { font-size: 13px; color: #646970; max-width: 62ch; }
.attendant-wiz__hint  { font-size: 13px; color: #646970; margin: 4px 0 6px; max-width: 62ch; }

.attendant-wiz__label {
	display:     block;
	margin:      16px 0 2px;
	font-weight: 600;
	font-size:   14px;
}

.attendant-wiz__notice {
	margin:        0 0 18px;
	padding:       14px 16px;
	background:    #f0f6fc;
	border:        1px solid #c5d9ea;
	border-left:   4px solid #2271b1;
	border-radius: 4px;
	font-size:     14px;
	line-height:   1.6;
}
.attendant-wiz__notice p    { margin: 0 0 8px; }
.attendant-wiz__notice ul   { margin: 0 0 8px; padding-left: 18px; list-style: disc; }
.attendant-wiz__notice li   { margin-bottom: 6px; }
.attendant-wiz__notice-head { font-size: 15px; }
.attendant-wiz__notice-warn { margin-bottom: 0; color: #8a6100; }

.attendant-wiz__list        { font-size: 15px; line-height: 2; margin: 0 0 14px 20px; }
.attendant-wiz__list--big li { font-size: 17px; }

/* Screenshots sit on the step they explain, as a plain blue link. A row of
   buttons under the instructions reads as decoration and gets skipped. */
.attendant-wiz__shotlink {
	padding:         0;
	margin-left:     6px;
	font:            inherit;
	font-size:       0.92em;
	color:           #2271b1;
	background:      none;
	border:          0;
	text-decoration: underline;
	cursor:          pointer;
}
.attendant-wiz__shotlink:hover { color: #135e96; }
.attendant-wiz__shotlink:focus { outline: 2px solid #2271b1; outline-offset: 2px; border-radius: 2px; }

/* The step-1 note is empty until a sign-in screenshot is added. */
.attendant-wiz__note:empty { display: none; }

.attendant-wiz-shotview {
	position:   fixed;
	inset:      0;
	z-index:    160010;
	background: rgba(10, 12, 14, 0.88);
}
/* Belt and braces against the overlay trap above: if this ever gains a display
   rule it must still opt back out of [hidden], or it hangs open over the page. */
.attendant-wiz-shotview[hidden] {
	display: none !important;
}

/* The whole overlay scrolls. Sizing the image to fit instead looked tidy but
   relied on a percentage height inside a flex column — with no definite height
   to resolve against it fell back to the natural size, overflowed, and got
   clipped with no way to reach the rest. Full width plus a scroll works on any
   screen and needs to know nothing about the viewport. */
.attendant-wiz-shotview__scroll {
	position:            absolute;
	inset:               0;
	overflow-y:          auto;
	overflow-x:          hidden;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
	padding:             68px 16px 32px;
}
.attendant-wiz-shotview__scroll:focus { outline: none; }

.attendant-wiz-shotview__panel {
	margin:        0 auto;
	max-width:     1100px;
	background:    #fff;
	border-radius: 8px;
	overflow:      hidden;
	box-shadow:    0 24px 70px rgba(0, 0, 0, 0.55);
}
.attendant-wiz-shotview__caption {
	padding:     13px 18px;
	background:  #1d2327;
	color:       #fff;
	font-size:   14px;
	font-weight: 600;
	line-height: 1.4;
}
.attendant-wiz-shotview__panel img {
	display: block;
	width:   100%;
	height:  auto;
}

/* Pinned to the corner of the screen, not the image, so it stays put however
   far down the screenshot you have scrolled. */
.attendant-wiz-shotview__close {
	position:        fixed;
	top:             14px;
	right:           18px;
	z-index:         1;
	display:         flex;
	align-items:     center;
	justify-content: center;
	width:           48px;
	height:          48px;
	padding:         0;
	color:           #1d2327;
	background:      #fff;
	border:          0;
	border-radius:   50%;
	box-shadow:      0 2px 12px rgba(0, 0, 0, 0.45);
	cursor:          pointer;
}
.attendant-wiz-shotview__close:hover { background: #f0f0f1; }
.attendant-wiz-shotview__close:focus { outline: 3px solid #72aee6; outline-offset: 2px; }
.attendant-wiz-shotview__close .dashicons {
	font-size: 30px;
	width:     30px;
	height:    30px;
}

@media screen and (max-width: 782px) {
	.attendant-wiz-shotview__scroll { padding: 62px 8px 24px; }
	.attendant-wiz-shotview__close  { top: 8px; right: 8px; }
}

.attendant-wiz__choices { display: flex; gap: 14px; flex-wrap: wrap; }

.attendant-wiz__choice {
	flex:          1 1 260px;
	text-align:    left;
	padding:       16px 18px;
	border:        2px solid #dcdcde;
	border-radius: 8px;
	background:    #fff;
	cursor:        pointer;
	transition:    border-color 0.15s, background 0.15s;
}
.attendant-wiz__choice:hover { border-color: #2271b1; background: #f6fbff; }
.attendant-wiz__choice strong { display: block; font-size: 16px; margin-bottom: 4px; }
.attendant-wiz__choice span   { display: block; font-size: 13px; color: #646970; }

.attendant-wiz__chan {
	display:       block;
	padding:       9px 12px;
	border:        1px solid #dcdcde;
	border-radius: 6px;
	margin-bottom: 6px;
	cursor:        pointer;
}
.attendant-wiz__chan:hover { background: #f6fbff; }
.attendant-wiz__group {
	font-size:     12px;
	font-weight:   700;
	text-transform: uppercase;
	color:         #646970;
	margin:        14px 0 6px;
}

.attendant-wiz__people {
	max-height:    220px;
	overflow-y:    auto;
	border:        1px solid #dcdcde;
	border-radius: 6px;
	padding:       6px;
}
.attendant-wiz__person {
	display:       flex;
	align-items:   center;
	gap:           8px;
	padding:       7px 8px;
	border-radius: 5px;
	cursor:        pointer;
}
.attendant-wiz__person[hidden] { display: none !important; }
.attendant-wiz__person:hover { background: #f6fbff; }
.attendant-wiz__person span  { font-size: 12px; color: #646970; }
.attendant-wiz__person mark {
	background:    #d5f0dd;
	border-radius: 3px;
	padding:       0 5px;
	font-size:     11px;
	font-weight:   600;
	color:         #135e2b;
}

.attendant-wiz__status { padding: 0 24px; font-size: 14px; min-height: 22px; }

.attendant-wiz__foot {
	display:         flex;
	justify-content: space-between;
	padding:         16px 24px;
	border-top:      1px solid #dcdcde;
}

/* Integrations tab: first-run call to action */
.attendant-slack-cta {
	border:        1px solid #dcdcde;
	border-left:   4px solid #2271b1;
	background:    #fff;
	padding:       20px 24px;
	max-width:     680px;
	border-radius: 4px;
}
.attendant-slack-cta h3 { margin: 0 0 8px; font-size: 18px; }
.attendant-slack-cta p  { margin: 0 0 14px; font-size: 14px; max-width: 60ch; }
