/* Simplified minimal close X Test sim link*/
.arc-modal .arc-modal-close {
	position:absolute;
	top:4px;
	right:6px;
	padding:0;
	margin:0;
	border:none;
	background:transparent !important;
	width:auto;
	height:auto;
	font:400 22px/1 system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen;
	color:#111;
	cursor:pointer;
	text-shadow:none;
}
.arc-up-item.arc-side-booking { position:relative; }
.arc-modal .arc-modal-close:hover { color:#111; }
.arc-modal .arc-modal-close:focus { outline:none; }

/* Ensure modal container allows close button */
.arc-modal { position:relative; z-index:10; padding-top:40px; }

/* Informes modal */
.arc-modal-reports { max-width:520px; width:100%; padding:48px 34px 28px; background:#f4f6fa; border-radius:16px; box-shadow:0 18px 40px -18px rgba(12,18,28,0.55); }
.arc-modal-reports h3 { margin:0 0 10px; font:600 22px/1.2 'Montserrat',system-ui,sans-serif; color:#10141a; letter-spacing:.02em; }
.arc-modal-reports .arc-reports-intro { margin:0 0 16px; font:400 14px/1.5 system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto; color:#3b4756; }
.arc-reports-fields { display:grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap:14px; margin-bottom:18px; align-items:flex-start; }
.arc-reports-field label { display:block; font:600 13px/1 system-ui; color:#18202a; margin-bottom:6px; letter-spacing:.03em; }
.arc-reports-inputwrap { position:relative; display:flex; align-items:center; }
.arc-reports-display { width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid #cbd3dd; border-radius:8px; font:600 14px/1.2 system-ui; color:#12161c; background:#fff; box-shadow:inset 0 1px 1px rgba(16,22,32,0.04); cursor:pointer; transition:border-color .18s ease, box-shadow .18s ease; text-transform:none; }
.arc-reports-display:focus { outline:2px solid rgba(181,159,107,0.45); border-color:var(--arc-accent); box-shadow:0 0 0 2px rgba(181,159,107,0.25); }
.arc-reports-display.is-empty { color:#8692a3; }
.arc-reports-display::placeholder { color:#a8b3c3; }
.arc-reports-inputwrap::after { content:""; position:absolute; right:12px; top:50%; width:16px; height:16px; margin-top:-8px; pointer-events:none; opacity:0.65; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23556072' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E"); background-size:16px 16px; background-repeat:no-repeat; }
.arc-reports-inputwrap:hover::after { opacity:0.85; }
.arc-reports-presets { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 18px; }
.arc-reports-preset { background:#ffffff; border:1px solid #cbd3dd; border-radius:999px; padding:8px 14px; font:700 11px/1.1 'Montserrat',system-ui,sans-serif; letter-spacing:.12em; text-transform:uppercase; color:#18202a; cursor:pointer; transition:background .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease; }
.arc-reports-preset:hover { background:#f6f8fb; border-color:#b59f6b; color:#0f171f; box-shadow:0 6px 14px -10px rgba(12,18,28,0.4); }
.arc-reports-preset:focus-visible { outline:2px solid rgba(181,159,107,0.6); outline-offset:2px; }
.arc-reports-preset.is-active { background:#10141a; border-color:#10141a; color:#ffffff; box-shadow:0 10px 22px -12px rgba(0,0,0,0.55); }
.arc-reports-preset.is-active:hover { background:#10141a; border-color:#0b1016; color:#ffffff; }
.arc-reports-help { margin:6px 0 0; font:500 12px/1.4 system-ui; color:#5c6978; }
.arc-reports-field-end .arc-reports-help { max-width:100%; }
.arc-reports-picker-backdrop { position:fixed; inset:0; background:transparent; z-index:200000; display:none; }
.arc-reports-picker-backdrop.is-open { display:block; }
.arc-reports-picker { position:absolute; z-index:200001; min-width:280px; max-width:320px; background:#ffffff; border-radius:14px; border:1px solid rgba(17,24,39,0.11); box-shadow:0 18px 40px -18px rgba(12,18,28,0.45); padding:16px; display:none; }
.arc-reports-picker.is-open { display:block; }
.arc-picker-header { display:flex; align-items:center; justify-content:space-between; gap:4px; margin-bottom:6px; }
.arc-picker-month { font:700 14px/1 'Montserrat',system-ui,sans-serif; color:#10141a; text-transform:uppercase; letter-spacing:.08em; }
.arc-picker-nav { border:none; background:transparent; color:#10141a; width:28px; height:28px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; cursor:pointer; font-size:18px; line-height:1; transition:background .18s ease, color .18s ease; padding:0; }
.arc-picker-nav:hover { background:rgba(16,20,26,0.08); color:#0b1016; }
.arc-picker-nav:focus-visible { outline:2px solid rgba(181,159,107,0.65); outline-offset:2px; }
.arc-picker-weekdays { display:grid; grid-template-columns:repeat(7, minmax(0,1fr)); gap:4px; margin-bottom:4px; font:600 11px/1 system-ui; color:#6b7280; text-transform:uppercase; letter-spacing:.12em; }
.arc-picker-weekday { text-align:center; }
.arc-picker-grid { display:grid; grid-template-columns:repeat(7, minmax(0,1fr)); gap:4px; margin-bottom:10px; }
.arc-picker-day { border:1px solid #dfe5eb; border-radius:6px; background:#ffffff; font:600 12px/1 'Montserrat',system-ui; color:#111827; padding:6px 0; cursor:pointer; transition:background .15s ease, border-color .15s ease, color .15s ease; }
.arc-picker-day:hover { background:#f6f8fb; border-color:#d1d7de; }
.arc-picker-day.is-selected { background:#B59F6B; border-color:#B59F6B; color:#ffffff; box-shadow:0 8px 18px -10px rgba(181,159,107,0.7); }
.arc-picker-day.is-selected:hover { color:#ffffff; }
.arc-picker-day.is-today { border-color:#B59F6B; }
.arc-picker-day.is-out { opacity:0.35; cursor:default; }
.arc-picker-time { display:flex; flex-direction:column; gap:6px; margin-bottom:6px; }
.arc-picker-time label { font:600 12px/1 system-ui; color:#18202a; text-transform:uppercase; letter-spacing:.08em; }
.arc-picker-time-inputs { display:flex; align-items:center; gap:6px; }
.arc-picker-time-inputs input { width:64px; padding:8px 10px; border:1px solid #cbd3dd; border-radius:8px; font:600 14px/1.1 system-ui; color:#12161c; box-shadow:inset 0 1px 1px rgba(16,22,32,0.04); text-align:center; }
.arc-picker-time-inputs input:focus { outline:2px solid rgba(181,159,107,0.45); border-color:var(--arc-accent); box-shadow:0 0 0 2px rgba(181,159,107,0.25); }
.arc-picker-time-sep { font:600 15px/1 'Montserrat',system-ui; color:#4b5563; }
.arc-btn.arc-btn-link { background:transparent; border:none; color:#4b5563; font-weight:600; padding:10px 12px; }
.arc-btn.arc-btn-link:hover { color:#1f2933; }
.arc-reports-summary { background:#ecf0f6; border:1px solid #d3dae4; border-radius:12px; padding:12px 14px; display:flex; flex-direction:column; gap:6px; margin-bottom:18px; box-shadow:inset 0 0 0 1px rgba(255,255,255,0.55); }
.arc-reports-period { font:600 14px/1.4 system-ui; color:#15202c; }
.arc-reports-status { font:600 13px/1.4 system-ui; color:#2e7d32; display:flex; align-items:center; gap:6px; }
.arc-reports-status.is-warn { color:#c97c11; }
.arc-reports-options { margin-bottom:14px; }
.arc-reports-checkbox-label { display:inline-flex; align-items:center; gap:8px; cursor:pointer; font:500 13px/1.4 system-ui; color:#3b4756; user-select:none; }
.arc-reports-checkbox-label input[type="checkbox"] { width:16px; height:16px; accent-color:#B59F6B; cursor:pointer; }
.arc-reports-checkbox-label:hover { color:#18202a; }
.arc-modal-reports .arc-error { margin:0 0 16px; padding:12px 14px; border-radius:10px; font-size:13px; }
.arc-modal-reports .arc-modal-actions { margin-top:0; }
.arc-btn.is-loading { pointer-events:none; position:relative; opacity:.75; }
.arc-btn.is-loading::after { content:""; position:absolute; right:14px; top:50%; width:14px; height:14px; margin-top:-7px; border:2px solid rgba(255,255,255,0.7); border-top-color:transparent; border-radius:50%; animation:arc-spin .9s linear infinite; }
@keyframes arc-spin { to { transform:rotate(360deg); } }


/* Provide a fallback icon via pseudo if font rendering clip occurs */
.arc-modal .arc-modal-close::after {
	content: '';
	display: none;
}

/* High contrast mode (if body has a dark class) */
body.dark-mode .arc-modal .arc-modal-close { color:#fff; }

/* Right-align footer buttons and spacing */
.arc-modal .arc-modal-actions {
	display: flex;
	justify-content: flex-end;
	gap: 8px;
	margin-top: 12px;
}

/* Optional: editor area spacing */
.arc-modal .arc-notes-editor { margin-top: 12px; }
.arc-modal .arc-notes-label { display:block; font-weight:600; margin-bottom:6px; }
.arc-modal .arc-notes-text { width:100%; box-sizing:border-box; }
/* Icon-only notes button on day view bookings */
.arc-bk-notes-btn.arc-bk-notes-btn-icononly,
.arc-bk-edit-btn.arc-bk-edit-btn-icononly { background:transparent !important; border:none !important; padding:2px !important; width:auto; height:auto; line-height:1; box-shadow:none !important; display:inline-flex; align-items:center; justify-content:center; cursor:pointer; color:rgba(255,255,255,0.5); }
.arc-bk-notes-btn.arc-bk-notes-btn-icononly .arc-ico-notes,
.arc-bk-edit-btn.arc-bk-edit-btn-icononly .arc-ico-edit { display:block; width:18px; height:18px; }
.arc-bk-notes-btn.arc-bk-notes-btn-icononly .arc-ico-notes path,
.arc-bk-edit-btn.arc-bk-edit-btn-icononly .arc-ico-edit path { fill: currentColor !important; }
.arc-bk-notes-btn.arc-bk-notes-btn-icononly:hover,
.arc-bk-edit-btn.arc-bk-edit-btn-icononly:hover { opacity:0.85; }
.arc-bk-notes-btn.arc-bk-notes-btn-icononly:focus,
.arc-bk-edit-btn.arc-bk-edit-btn-icononly:focus { outline:1px solid rgba(0,0,0,0.25); outline-offset:2px; }
.arc-inline-datepick{ display:block; width:100%;
	/* Scoped tokens for calendar sizing */
	--arc-cal-gap: 6px;      /* horizontal/vertical space between cells */
	--arc-cal-day-h: 38px;   /* row height */
	--arc-cal-pad: 8px;      /* left/right padding inside calendar */
	--arc-cal-label-size: 14px; /* unified size for weekday labels and day numbers */
}
.arc-inline-datepick{ display:grid; grid-template-columns: minmax(210px, 1fr) minmax(0,1fr) minmax(160px, 1fr); column-gap:12px; row-gap:12px; align-items:flex-start; }
.arc-inline-datepick .arc-cal{ grid-column: 1 / -1; }
.arc-inline-datepick .arc-time{ grid-column: 1; grid-row: 2; }
.arc-inline-datepick .arc-force-block{ grid-column: 2; grid-row: 2; }
.arc-inline-datepick #arc-duration{ grid-column: 3; grid-row: 2; }
.arc-inline-datepick #arc-time-preview{ grid-column: 1 / -1; }
.arc-inline-datepick .arc-hidden{ grid-column: 1 / -1; }
.arc-inline-datepick .arc-cal{ width:100%; min-width:0; margin-bottom:12px; box-sizing:border-box; overflow:visible; padding: 0 var(--arc-cal-pad) var(--arc-cal-pad); margin-left:auto; margin-right:auto; }
.arc-cal-header{ display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; gap:8px; max-width:100%; box-sizing:border-box; padding: 0; }
.arc-cal-header .arc-cal-title{ font-family:'Montserrat', system-ui, -apple-system, 'Segoe UI', Roboto; font-weight:700; letter-spacing:.06em; text-transform:uppercase; font-size:14px; color:#111827; }
.arc-cal-header button{ background:#eef2f7; border:1px solid #d7dde3; color:#111827; width:44px; height:36px; border-radius:10px; display:inline-flex; align-items:center; justify-content:center; cursor:pointer; font-size:18px; line-height:1; }
.arc-cal-header button:hover{ background:#e7ecf2; border-color:#cfd6de; }
/* Neutralize theme global button paddings inside our modal */
.arc-modal .arc-cal-header button{ padding:0 !important; box-sizing:border-box; letter-spacing:normal; text-transform:none; font-weight:700; }
/* Keep duration buttons compact and unaffected by theme */
.arc-modal .arc-duration button{ padding:10px 14px !important; box-sizing:border-box; letter-spacing:.15em; text-transform:uppercase; }
.arc-cal-week{ display:grid; grid-template-columns: repeat(7, minmax(0,1fr)); gap: var(--arc-cal-gap); margin-bottom:8px; font-weight:700; opacity:0.8; text-transform:uppercase; font-size: var(--arc-cal-label-size) !important; color:#6b7280; padding: 0; font-family:'Montserrat', system-ui, -apple-system, 'Segoe UI', Roboto; letter-spacing:.06em; }
.arc-cal-week > div{ display:flex; align-items:center; justify-content:center; text-align:center; }
.arc-cal-grid{ display:grid; grid-template-columns: repeat(7, minmax(0,1fr)); gap: var(--arc-cal-gap); width:100%; box-sizing:border-box; padding: 0; grid-auto-rows: var(--arc-cal-day-h); align-items: stretch; align-content:start; }
.arc-cal-day{ position:relative; display:flex; align-items:center; justify-content:center; height:100%; min-height:0; min-width:0; border:1px solid #dfe5eb; background:#ffffff; border-radius:10px; font-family:'Montserrat', system-ui, -apple-system, 'Segoe UI', Roboto; font-weight:600; font-size: var(--arc-cal-label-size) !important; line-height:1; color:#111827; box-shadow:inset 0 1px 0 rgba(255,255,255,0.6); transition:background .15s, border-color .15s, color .15s; box-sizing:border-box; width:100%; overflow:hidden; }
/* Neutralize theme button styles inside modal, but don't override day cells */
.arc-modal .arc-inline-datepick button:not(.arc-cal-day):not(.arc-dur-btn){ padding:0 !important; letter-spacing:normal !important; text-transform:none !important; font-weight:600; font-size:inherit; line-height:1; box-shadow:none !important; border:none; background:transparent; display:inline-flex; align-items:center; justify-content:center; }
.arc-modal .arc-cal-day{ padding:0 !important; width:100% !important; height:100% !important; }
.arc-cal-day:hover{ background:#f6f8fb; border-color:#d1d7de; color:#111827; }
/* Keep text black on hover for normal days; selected and today rules already control their own text color */
.arc-cal-day:not(.is-selected):not(.is-today):hover{ color:#111827 !important; }
.arc-cal-day.is-out{ opacity:0.35; pointer-events:none; cursor:default; border-color: transparent; }
.arc-cal-day.is-past{ opacity:0.65; cursor:pointer; }
.arc-cal-day.is-past:hover{ background:#ffffff; border-color:#dfe5eb; color:#111827; }
/* Today: outlined in #B59F6B, dark text, no fill */
.arc-cal-day.is-today{ background:#ffffff; color:#111827; border-color:#B59F6B; box-shadow:none; }
.arc-cal-day.is-today:hover{ background:#ffffff; color:#111827; border-color:#B59F6B; }
/* If today is also selected, selected style takes precedence */
.arc-cal-day.is-today.is-selected{ background:#B59F6B; color:#fff; border-color:#B59F6B; box-shadow:none; }
.arc-cal-day.is-selected{ background:#B59F6B; color:#fff; border-color:#B59F6B; box-shadow:none; }
.arc-cal-day.is-selected:hover{ background:#B59F6B; color:#fff; border-color:#B59F6B; }
.arc-time{ display:flex; flex-wrap:wrap; align-items:center; min-width: 0; background:transparent; padding:0; border-radius:0; }
.arc-time-label{ flex: 1 0 100%; }
.arc-time-preview{ flex: 1 0 100%; }
.arc-time-input{ display:flex; align-items:center; gap:8px; border:1px solid #ddd; border-radius:6px; padding:6px 8px; background:#fff; }
.arc-time-select{ position:relative; display:block; border:0; background:transparent; padding:0; min-width:200px; box-shadow:none; line-height:1; }
.arc-time-select:hover{ border-color:transparent; }
.arc-time-select:focus-within{ border-color:transparent; box-shadow:none; }
.arc-duration{ display:flex; flex-direction:column; align-items:flex-start; gap:8px; }
.arc-duration-label{ font:700 13px/1 system-ui; color:#111827; margin:0; }
.arc-duration-buttons{ display:flex; gap:12px; align-items:center; }
.arc-time .arc-time-select{ flex: 0 1 280px; }
.arc-time #arc-duration{ flex: 0 1 auto; }
.arc-time #arc-time-preview{ flex: 1 1 100%; }

@media (max-width:520px){
	.arc-cal-day{ border-radius:8px; --arc-cal-day-h: 30px; }
}

@media (max-width:360px){
	.arc-inline-datepick .arc-cal{ --arc-cal-gap: 4px; --arc-cal-day-h: 28px; }
	.arc-time .arc-time-select{ flex: 1 1 100%; min-width:0; }
	.arc-time #arc-duration{ flex: 1 1 100%; }
}

@media (max-width:560px){
	.arc-inline-datepick{ --arc-cal-gap: 4px; --arc-cal-pad: 6px; --arc-cal-day-h: 34px; }
	.arc-cal-header button{ width:32px; height:28px; font-size:14px; border-radius:8px; }
	.arc-cal-header .arc-cal-title{ font-size:12px; letter-spacing:.05em; }
	.arc-cal-day{ border-radius:8px; }
}

@media (max-width:420px){
	.arc-inline-datepick{ --arc-cal-gap: 3px; --arc-cal-pad: 4px; --arc-cal-day-h: 30px; }
	.arc-cal-day{ border-radius:8px; }
	.arc-cal-header .arc-cal-title{ font-size:11px; }
}
@media (max-width:360px){
	.arc-inline-datepick{ --arc-cal-gap: 2px; --arc-cal-pad: 4px; --arc-cal-day-h: 26px; }
}
.arc-inline-datepick{ --arc-time-cols: 3; }
@media (max-width:720px){
	.arc-inline-datepick{ grid-template-columns: minmax(210px, 1fr) minmax(160px, 1fr); }
	.arc-inline-datepick .arc-force-block{ grid-column: 1 / -1; grid-row: auto; }
	.arc-inline-datepick #arc-duration{ grid-column: 2; grid-row: auto; }
}
@media (max-width:520px){
	.arc-inline-datepick{ grid-template-columns: minmax(0,1fr); }
	.arc-inline-datepick .arc-force-block,
	.arc-inline-datepick #arc-duration,
	.arc-inline-datepick .arc-time{ grid-column: 1; grid-row:auto; }
}
.arc-time-select select{ appearance:none; -webkit-appearance:none; -moz-appearance:none; background:transparent !important; border:0 !important; outline:0; box-shadow:none !important; font:600 15px/1 system-ui; color:#111827; width:100%; padding:0; line-height:1.2; position:relative; z-index:0; }
.arc-time-select select:focus{ outline:0; box-shadow:none; }
.arc-time-select .arc-clock-ico{ display:none; }
.arc-time-select .arc-time-caret{ display:none; }
.arc-time-select .arc-ico{ display:block; }

/* Simple variant: icons embedded within the select as background images */
.arc-time-select select.admiral-date-time-select{
	padding-left:36px; /* 16px icon + 10px gap + 10px left margin */
	padding-right:14px; /* no right icon */
	background: none !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
}

/* Admiral simple time field wrapper (mimic widget) */
.admiral-date-time-field{ display:block; }
.admiral-date-time-field::before, .admiral-date-time-field::after{ content:none !important; display:none !important; }
.admiral-time-selectwrap{ display:block; position:relative; border:0; background:transparent; padding:0; box-shadow:none; }
.admiral-time-selectwrap{ cursor:pointer; }
.admiral-time-selectwrap:hover{ border-color:transparent; }
.admiral-time-selectwrap:focus-within{ border-color:transparent; box-shadow:none; }
.admiral-time-selectwrap .admiral-time-select-icon{ display:none; }
.admiral-time-selectwrap .admiral-time-caret{ display:block; position:absolute; right:12px; top:50%; transform:translateY(-50%); width:14px; height:14px; pointer-events:none;}
.admiral-time-selectwrap::before{
	content:"";
	position:absolute; left:10px; top:50%; transform:translateY(-50%);
	width:16px; height:16px; pointer-events:none; opacity:0.95; z-index:2;
	background-repeat:no-repeat; background-size:16px 16px; background-position:center;
	background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="%23111827" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="8"/><path d="M12 7v5l3.5 2"/></svg>');
}
.admiral-time-selectwrap::after{ content:none; display:none; }
.admiral-date-time-select{ appearance:none !important; -webkit-appearance:none !important; -moz-appearance:none !important; background-color:#ffffff; border:1px solid #d7dde3; border-radius:10px; outline:0; box-shadow: 0 2px 0 rgba(17,24,39,0.06); width:100%; min-width:200px; font:600 15px/1 system-ui; color:#111827; padding:10px 36px 10px 36px; line-height:1.2; background:none !important; }
/* Hide default arrow on IE/Edge legacy if present */
.admiral-date-time-select::-ms-expand{ display:none; }
.admiral-date-time-select::-webkit-calendar-picker-indicator{ opacity:0; display:none; }
.admiral-date-time-select::-webkit-inner-spin-button{ appearance:none; display:none; }
.admiral-date-time-select::-webkit-contacts-auto-fill-button{ visibility:hidden; display:none; }
.admiral-date-time-select:focus{ outline:0; border-color:#b9c1ca; box-shadow:0 0 0 2px rgba(0,0,0,0.03); }
.admiral-date-time-select{ background-image:none !important; }
.arc-time-input input[type="time"]{ border:none; outline:none; font:inherit; padding:4px 0; }
.arc-clock-ico{ display:inline-flex; color:#333; }
.arc-duration{ display:flex; flex-direction:column; align-items:flex-start; gap:8px; width:100%; }
.arc-duration button{ border:1px solid #e0e6ec; border-radius:10px; background:#ffffff; cursor:pointer; font:700 12px/1 system-ui; text-transform:uppercase; letter-spacing:.15em; color:#111827; box-shadow:0 2px 0 rgba(17,24,39,0.06); }
.arc-duration .arc-dur-btn{ padding:10px 14px; width:100%; min-height:40px; display:flex; align-items:center; justify-content:center; }
.arc-modal .arc-inline-datepick .arc-duration button{ border:1px solid #e0e6ec; background:#ffffff; width:100%; }
.arc-duration .arc-duration-buttons{ width:100%; }
.arc-duration .arc-dur-btn:hover{ color:#000; }
.arc-duration button.is-active{ background:#B59F6B; border-color:#B59F6B; color:#fff; }
.arc-duration button.is-active:hover{ color:#fff; }
.arc-modal .arc-inline-datepick .arc-duration button.is-active{ background:#B59F6B; border:1px solid #B59F6B; color:#fff; }
.arc-time-preview{ font-size:12px; opacity:0.8; }
.arc-hidden{ display:none; }
.arc-force-block{ display:flex; flex-direction:column; align-items:flex-start; gap:8px; margin-top:0; }
.arc-force-label{ font:700 13px/1 system-ui; color:#111827; }
.arc-modal .arc-force-block .arc-toggle{ display:inline-flex; align-items:center; gap:0; cursor:pointer; user-select:none; }
.arc-modal .arc-force-block .arc-toggle-switch{ box-shadow:inset 0 0 0 1px rgba(255,255,255,0.05); opacity:0.9; }
.arc-force-block.is-active .arc-toggle-switch{ box-shadow:inset 0 0 0 1px rgba(0,0,0,0.1); opacity:1; }
.arc-modal .arc-force-block .arc-toggle input{ position:absolute; opacity:0; pointer-events:none; }
.arc-modal .arc-force-block .arc-toggle-switch{ width:44px; height:24px; border-radius:999px; background:#1f262e; position:relative; transition:background .2s ease, box-shadow .2s ease; box-shadow:inset 0 0 0 1px rgba(255,255,255,0.05); }
.arc-modal .arc-force-block .arc-toggle-switch::after{ content:""; position:absolute; top:3px; left:3px; width:18px; height:18px; border-radius:999px; background:#f5f7fa; box-shadow:0 1px 2px rgba(0,0,0,0.4); transition:transform .2s ease; }
.arc-modal .arc-force-block .arc-toggle input:checked + .arc-toggle-switch{ background:#B59F6B; box-shadow:inset 0 0 0 1px rgba(0,0,0,0.1); }
.arc-modal .arc-force-block .arc-toggle input:checked + .arc-toggle-switch::after{ transform:translateX(20px); }
:root { --arc-bg:#0f1115; --arc-border:#2a3039; --arc-text:#e6ecf3; --arc-accent:#B59F6B; --arc-pending:#ffb300; --arc-confirmed:#B59F6B; --arc-active:#2e7d32; --arc-completed:#607d8b; --arc-cancelled:#d32f2f; --arc-conflict:#ff4081; font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen; }
/* Version badge */
.arc-version-badge { position:absolute; top:6px; right:8px; background:#1e242c; color:#9bb3c9; font:600 11px/1 system-ui; padding:6px 10px 6px; border:1px solid #2b333d; border-radius:20px; letter-spacing:.5px; text-transform:uppercase; z-index:50; box-shadow:0 2px 6px -2px rgba(0,0,0,.6); }
.arc-version-badge:hover { background:#27313a; color:#c5d7e4; }
/* 0.1.59 escalado tipografías */
/* 0.1.60 altura filas dinámica: usar --arc-row-h fijada por JS (fallback 90px) */
#admiral-reception-cal { background:var(--arc-bg); color:var(--arc-text); padding:0 10px 10px; box-sizing:border-box; height:100vh; height:100dvh; display:flex; flex-direction:column; }
#admiral-reception-cal.arc-force-full { position:fixed; top:0; left:0; right:0; bottom:0; padding:15px; padding-top:15px; box-sizing:border-box; z-index:999; overflow:hidden; }
body.arcal-full { overflow:hidden; }
body.arcal-full, html.arcal-full { height:100%; }
body.arcal-full { margin:0; }
body.arcal-full #admiral-reception-cal { height:100vh; height:100dvh; }
/* Eliminado .arc-version-pill */
.arc-version-pill:hover { opacity:1; }
.arc-toolbar { display:grid; grid-template-columns:200px minmax(0,1fr) auto; align-items:center; gap:10px; margin:0 0 8px; padding:10px 0 10px; height:110px; box-sizing:border-box; position:relative; }
.arc-toolbar > .arc-spacer { display:none; }
.arc-toolbar .arc-toolbar-center { margin:0; position:relative; left:auto; transform:none; }
.arc-toolbar-controls { grid-column:3; justify-self:end; display:flex; align-items:center; gap:15px; }
.arc-toolbar-center { grid-column:2; position:relative; left:auto; top:0; height:110px; display:flex; flex-direction:column; align-items:center; justify-content:center; justify-self:center; pointer-events:none; gap:6px; margin:0; }
.arc-date-label { font-family:'Montserrat', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto; font-weight:600; font-size:16px; letter-spacing:.2px; text-transform:uppercase; color:#c9d6e2; }
.arc-date-compact { margin-left:0; margin-right:6px; }
.arc-clock { font-family:'Montserrat', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto; font-weight:800; font-size:44px; letter-spacing:1.2px; color:#ffffff; text-shadow:0 2px 10px rgba(0,0,0,0.35); pointer-events:auto; }
.arc-nav-group { display:flex; gap:10px; align-items:center; }
.arc-view-group { display:flex; gap:10px; align-items:center; }
/* Compact sub-group for standalone icon buttons (audio + fullscreen) */
.arc-view-group .arc-icon-btn { padding:0 3px; }
.arc-view-group .arc-audio-btn { margin-right:0 !important; }
.arc-view-group .arc-fullscreen-btn { margin-left:2px !important; }
/* Collapse any residual whitespace between the two icon buttons */
.arc-view-group .arc-audio-btn + .arc-fullscreen-btn { margin-left:2px !important; }
/* Extra separation (15px) between Semana/Día segment and first icon (audio) */
.arc-view-group .arc-segment + .arc-audio-btn { margin-left:15px !important; }
.arc-view-group .arc-audio-btn + .arc-reports-btn { margin-left:10px !important; }
.arc-view-group .arc-reports-btn + .arc-refresh-btn { margin-left:8px !important; }
.arc-view-group .arc-refresh-btn + .arc-fullscreen-btn { margin-left:8px !important; }
.arc-toolbar .arc-logo { grid-column:1; height:42px; max-height:42px; width:auto; display:block; object-fit:contain; justify-self:start; }
.arc-toolbar .arc-btn, .arc-toolbar .arc-select { height:34px; display:inline-flex; align-items:center; font-size:14px; line-height:1; }
.arc-toolbar .arc-select { padding:0 8px; }
.arc-btn.arc-fullscreen-btn { width:42px; height:42px; display:inline-flex; align-items:center; justify-content:center; padding:0; font-size:30px; }
.arc-audio-btn { font-size:16px; line-height:1; position:relative; margin-right:10px; }
.arc-audio-btn.is-muted { opacity:.55; }
.arc-audio-btn:not(.is-muted) { color:#d4af37; }
.arc-view-toggle .arc-btn { min-width:70px; justify-content:center; }
.arc-toolbar .arc-logo { width:200px; height:auto; max-height:70px; object-fit:contain; display:block; margin-right:12px; filter:drop-shadow(0 2px 4px rgba(0,0,0,.5)); }
.arc-toolbar .arc-btn { background:#1e242c; color:var(--arc-text); border:1px solid var(--arc-border); padding:4px 10px; cursor:pointer; border-radius:6px; font-size:14px; }
.arc-toolbar .arc-view-btn.is-active { background:var(--arc-accent); border-color:var(--arc-accent); }
/* .arc-inline-version eliminado (se mantenía un solo badge flotante) */
.arc-toolbar .arc-btn:hover { background:#27313c; }
.arc-segment { display:inline-flex; background:#1e242c; border:1px solid var(--arc-border); border-radius:8px; overflow:hidden; }
.arc-segment .arc-seg-btn { border:0; background:transparent; box-shadow:none; border-radius:0; }
.arc-segment .arc-seg-btn:not(:last-child){ border-right:1px solid #2a3139; }
.arc-segment .arc-seg-btn { padding:4px 12px; font-size:14px; min-width:auto; }
.arc-segment .arc-seg-btn.is-active, .arc-segment .arc-seg-btn:focus { background:var(--arc-accent); color:#fff; }
.arc-segment .arc-seg-btn:hover { background:#27313c; }
.arc-segment-nav { margin-right:6px; }
.arc-icon-btn { background:transparent !important; border:0 !important; padding:0 6px; font-size:18px; line-height:1; display:inline-flex; align-items:center; justify-content:center; cursor:pointer; color:var(--arc-text); }
.arc-icon-btn:hover { color:#fff; }
.arc-icon-btn.is-muted { opacity:.7; }
.arc-icon-btn.is-muted:hover { opacity:1; }
.arc-ico { stroke:currentColor; display:block; }
.arc-ico-audio-off, .arc-ico-audio-on { width:27px; height:27px; }
.arc-audio-btn.is-muted .arc-ico { color:#ffffff; stroke:#ffffff; }
.arc-audio-btn:not(.is-muted) .arc-ico { color:#ffffff; stroke:#ffffff; }
/* Separación exacta entre audio y fullscreen */
.arc-audio-btn { margin-right:0; }
.arc-reports-btn { position:relative; color:#d0d8e2; }
.arc-reports-btn:hover { color:#ffffff; }
.arc-reports-btn .arc-ico-reports { width:20px; height:20px; }
.arc-fullscreen-btn { margin-left:2px; }
.arc-select { background:#1e242c; color:var(--arc-text); border:1px solid var(--arc-border); padding:6px 8px; border-radius:6px; font-size:18px; }
.arc-layout { --arc-sidebar-w:320px; display:grid; grid-template-columns: 1fr var(--arc-sidebar-w); gap:12px; min-height:0; flex:1 1 auto; height:calc(100% - 100px - 8px); }
@media (max-width:1200px){ .arc-layout { grid-template-columns: 1fr; } .arc-sidebar { order:-1; } }
.arc-toolbar-center { transition:transform .2s ease, top .2s ease; }
@media (max-width:1320){
	.arc-toolbar { grid-template-columns:190px minmax(0,1fr) auto; gap:8px; height:100px; padding:12px 0 12px; }
	.arc-toolbar .arc-logo { width:190px; max-height:58px; }
	.arc-toolbar-center { margin:0 24px; }
	.arc-toolbar-center .arc-clock { font-size:40px; letter-spacing:1px; }
	.arc-toolbar-center .arc-date-label { font-size:15px; }
	.arc-toolbar-controls { gap:12px; }
	.arc-nav-group .arc-seg-btn,
	.arc-view-group .arc-seg-btn { padding:4px 10px; }
}
@media (max-width:1120){
	.arc-toolbar { grid-template-columns:170px minmax(0,1fr) auto; gap:6px; }
	.arc-toolbar .arc-logo { width:170px; max-height:54px; }
	.arc-toolbar-center { margin:0 18px; }
	.arc-toolbar-center .arc-clock { font-size:36px; letter-spacing:.9px; }
	.arc-toolbar-center .arc-date-label { font-size:14px; }
	.arc-toolbar-controls { gap:10px; }
	.arc-toolbar .arc-btn, .arc-toolbar .arc-select { height:32px; font-size:13px; }
	.arc-view-group .arc-icon-btn { padding:0 4px; }
}
@media (max-width:1000px){
	.arc-toolbar { grid-template-columns:150px minmax(0,1fr) auto; }
	.arc-toolbar .arc-logo { width:150px; }
	.arc-toolbar-center { margin:0 16px; }
	.arc-toolbar-center .arc-clock { font-size:32px; letter-spacing:.7px; }
	.arc-toolbar-center .arc-date-label { font-size:13px; }
	.arc-toolbar-controls { gap:8px; }
	.arc-nav-group .arc-seg-btn,
	.arc-view-group .arc-seg-btn { padding:4px 9px; font-size:13px; }
}
@media (max-width:900px){
	.arc-toolbar { display:flex; flex-wrap:nowrap; align-items:center; padding:10px 0 14px; gap:10px; justify-content:space-between; }
	.arc-toolbar .arc-logo { display:none; }
	.arc-toolbar .arc-spacer { display:none; }
	.arc-toolbar-center { position:relative; left:0; top:0; transform:none; width:auto; margin:0; pointer-events:auto; align-items:flex-start; text-align:left; gap:4px; padding-left:0; }
	.arc-toolbar-center .arc-clock { font-size:28px; letter-spacing:.6px; }
	.arc-toolbar-center .arc-date-label { font-size:13px; }
	.arc-toolbar-controls { margin-left:auto; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
	.arc-view-group { display:none; }
	.arc-nav-group { justify-content:flex-end; }
	.arc-layout { grid-template-columns:1fr; }
	.arc-layout .arc-grid-wrap { display:none !important; }
	.arc-sidebar { order:0; }
}
@media (max-width:720px){
	.arc-toolbar { gap:8px; padding-top:10px; }
	.arc-toolbar-center .arc-clock { font-size:26px; }
	.arc-toolbar-center .arc-date-label { font-size:12px; }
	.arc-toolbar-controls { gap:6px; }
	.arc-toolbar-controls .arc-icon-btn { transform:scale(0.9); }
}
@media (max-width:560px){
	.arc-toolbar { gap:6px; }
	.arc-toolbar-center .arc-clock { font-size:24px; }
	.arc-toolbar-center .arc-date-label { font-size:12px; letter-spacing:.2px; }
	.arc-toolbar-controls { gap:5px; }
	.arc-toolbar-controls .arc-icon-btn { transform:scale(0.85); }
}
@media (max-width:480px){
	.arc-toolbar { align-items:flex-start; }
	.arc-toolbar-controls { flex-direction:column; align-items:flex-end; gap:8px; }
	.arc-nav-group { width:100%; justify-content:flex-end; }
	.arc-toolbar-controls .arc-icon-btn { align-self:flex-end; }
}
.arc-grid-wrap { position:relative; border:1px solid var(--arc-border); background:#15191f; display:flex; flex-direction:column; min-height:0; height:100%; }
.arc-grid-wrap .arc-grid { flex:1 1 auto; overflow:auto; padding:0; box-sizing:border-box; position:relative; height:100%; }
.arc-grid-wrap .arc-grid::after { content:""; display:block; height:0; }
.arc-grid { position:relative; display:grid; grid-template-columns: repeat(auto-fill,minmax(0,1fr)); /* overwritten below */ }
.arc-grid { grid-template-columns: repeat(var(--arc-cols), 1fr); }
.arc-cell { border:1px solid #1d232a; padding:6px 8px; font-size:16px; box-sizing:border-box; }
.arc-corner { background:#1f262e; font-weight:600; position:sticky; top:0; left:0; z-index:4; }
.arc-room-header { background:#1f262e; font-weight:600; position:sticky; top:0; z-index:3; display:flex; align-items:center; justify-content:center; }
.arc-room-header.arc-row-alt { background:#121519; }
.arc-week-slot.arc-row-alt { background:#121519; }
.arc-week-slot { transition:background .15s; }
.arc-room-header.has-img { color:#fff; position:relative; display:flex; align-items:center; justify-content:center; /* gradiente de oscurecimiento ahora se inyecta inline junto a la imagen */ text-shadow:0 1px 2px rgba(0,0,0,.60); }
/* Estado ASEO: habitación sucia (persistente hasta click) */
/* Dirty state: priority yellow indicator */
.arc-room-header.arc-room-dirty { 
	position:relative;
	background: linear-gradient(180deg, #f0b53c 0%, #d88a0e 54%, #a96402 100%) !important;
	color:#fffaf0 !important; text-shadow:0 2px 6px rgba(120,70,0,0.56) !important; cursor:pointer;
	border:0 !important; box-shadow: 0 0 18px rgba(220,150,32,0.38), inset 0 0 0 1px rgba(255,214,120,0.24);
	background-color: transparent !important; background-blend-mode: normal !important;
	opacity:1 !important; filter: saturate(1.22) brightness(0.98) !important; mix-blend-mode: normal !important; isolation:isolate;
}
.arc-room-header.arc-row-alt.arc-room-dirty { 
	background: linear-gradient(180deg, #f0b53c 0%, #d88a0e 54%, #a96402 100%) !important;
	background-color: transparent !important; background-blend-mode: normal !important;
	opacity:1 !important; filter: none !important; mix-blend-mode: normal !important; isolation:isolate;
}
.arc-room-header.arc-room-dirty.has-img { background-image:none !important; }
.arc-room-header.arc-room-dirty:hover { background: linear-gradient(180deg, #f6c55d 0%, #e69c2c 52%, #b97508 100%) !important; color:#fffaf0 !important; filter: saturate(1.28) brightness(1.02) !important; }
/* Text inside label stays luminous */
.arc-room-header.arc-room-dirty .arc-room-label { color:#fffef6 !important; }
/* Subtle luminous inner glows */
.arc-room-header.arc-room-dirty::after { content:""; position:absolute; inset:0; pointer-events:none; opacity:.28; filter:blur(0px); mix-blend-mode:screen;
	background:radial-gradient(circle at 48% 38%, rgba(255,231,180,0.48), rgba(255,231,180,0) 72%);
}

/* Indicadores de disponibilidad (12h) */
.arc-room-header.arc-room-available-12h {
	background: linear-gradient(180deg, #5ecb92 0%, #22a35e 52%, #0c6c3b 100%) !important;
	color:#f3fff7 !important; text-shadow:0 2px 5px rgba(6,60,32,0.52) !important;
	border:0 !important; box-shadow:0 0 18px rgba(70,190,125,0.34), inset 0 0 0 1px rgba(210,255,230,0.22);
}
.arc-room-header.arc-room-available-12h .arc-room-label { color:#f6fff9 !important; }
.arc-room-header.arc-room-unavailable-12h {
	background: linear-gradient(180deg, #ff6d6d 0%, #d32828 52%, #891010 100%) !important;
	color:#fff5f5 !important; text-shadow:0 2px 5px rgba(70,4,4,0.54) !important;
	border:0 !important; box-shadow:0 0 18px rgba(235,90,90,0.34), inset 0 0 0 1px rgba(255,210,210,0.22);
}
.arc-room-header.arc-room-unavailable-12h .arc-room-label { color:#fff8f8 !important; }
.arc-room-header.arc-room-available-12h.has-img,
.arc-room-header.arc-room-unavailable-12h.has-img { background-image:none !important; }
/* Quitar borde/outline rojo en foco/activo para headers de habitación */
.arc-room-header:focus,
.arc-room-header:active,
.arc-room-header:focus-visible { outline:none !important; box-shadow:none !important; }
/* iOS/Android tap highlight */
.arc-room-header { -webkit-tap-highlight-color: transparent; }
/* Toggle fotos: botón invisible en la esquina superior izquierda (celda vacía) */
.arc-corner .arc-toggle-photos-btn { position:absolute; inset:0; width:100%; height:100%; background:transparent; border:0; padding:0; margin:0; cursor:pointer; color:transparent; pointer-events:auto; }
.arc-corner .arc-toggle-photos-btn:focus { outline:none; }
/* Indicador visual al pasar el mouse (icono ojo) */
.arc-corner { cursor:pointer; }
.arc-corner .arc-toggle-photos-btn::after { content:""; position:absolute; top:6px; left:6px; width:18px; height:18px; opacity:.7; transition:opacity .15s ease, transform .15s ease; background-size:contain; background-repeat:no-repeat; filter:drop-shadow(0 1px 2px rgba(0,0,0,.5));
	/* Por defecto (fotos visibles) mostramos icono de acción: ojo tachado (ocultar) */
	background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23e6ecf3' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M1 12s4-7 11-7 11 7 11 7-4 7-11 7-11-7-11-7z'/><circle cx='12' cy='12' r='3'/><line x1='3' y1='3' x2='21' y2='21'/></svg>"); }
.arc-corner:hover .arc-toggle-photos-btn::after { opacity:1; }
/* Con fotos ocultas, mostrar icono de acción opuesta: ojo (mostrar) */
.admiral-reception-cal.arc-hide-photos .arc-corner .arc-toggle-photos-btn::after {
	background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23e6ecf3' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M1 12s4-7 11-7 11 7 11 7-4 7-11 7-11-7-11-7z'/><circle cx='12' cy='12' r='3'/></svg>");
}
/* Estado oculto: eliminar fondo de imagen en headers */
.admiral-reception-cal.arc-hide-photos .arc-room-header { background-image:none !important; }
.admiral-reception-cal.arc-hide-photos .arc-room-header.has-img { background-image:none !important; }
/* Día: sin imágenes, solo color de tier y número grande blanco */
.arc-day-grid .arc-room-header { font-family:'Playfair Display',serif; font-weight:400; font-size:26px; line-height:1; color:#fdfdfd; display:flex; align-items:center; justify-content:center; text-shadow:0 2px 6px rgba(0,0,0,0.45); font-variant-numeric: lining-nums; font-feature-settings:"lnum" 1; }
.arc-room-header.arc-day-room { cursor:pointer; }
.arc-day-grid .arc-room-header.has-img { background-image:none !important; }
/* Tiers (0.1.92): barra lateral derecha de color y pill superpuesta */
.arc-room-header[class*='arc-tier-'] { position:relative; }
.arc-room-header[class*='arc-tier-'] { padding-right:0; padding-left:0; }
.arc-room-header[class*='arc-tier-']::before { content:""; position:absolute; top:0; left:0; width:6px; height:100%; background:var(--arc-tier-color,transparent); box-shadow:0 0 0 1px rgba(0,0,0,.55) inset, 1px 0 0 rgba(255,255,255,0.05); border-right:1px solid rgba(0,0,0,0.4); pointer-events:none; }
/* ASEO icon in Day headers: right-aligned, vertically centered */
.arc-day-grid .arc-room-header .arc-aseo-icon{ position:absolute; right:5px; top:50%; transform:translateY(-50%); width:27px; height:27px; color:#fff; opacity:0.95; pointer-events:none; display:inline-flex; align-items:center; justify-content:center; filter: drop-shadow(0 1px 1px rgba(0,0,0,0.4)); z-index:2; }
.arc-day-grid .arc-room-header .arc-aseo-icon img{ display:block; width:27px; height:27px; object-fit:contain; image-rendering:-webkit-optimize-contrast; filter: brightness(0) invert(1) saturate(100%); }
/* Eliminado pill en 0.1.95 */
/* Colores categorías Admiral */
.arc-tier-premium { --arc-tier-color:#000000; }
.arc-tier-supervip { --arc-tier-color:#000000; }
.arc-tier-vip { --arc-tier-color:#000000; }
/* Day view enhancements */
.arc-day-grid { position:relative; }
.arc-day-overlay { position:absolute; top:0; left:0; right:0; bottom:0; pointer-events:none; }
.arc-day-overlay .arc-booking-day{ pointer-events:auto; }
.arc-day-overlay .arc-booking-day .arc-bk-notes-btn,
.arc-day-overlay .arc-booking-day .arc-bk-edit-btn{ pointer-events:auto; }
.arc-gap-short { position:absolute; background:rgba(255, 105, 180, 0.22); border:1px solid rgba(255, 105, 180, 0.6); border-radius:4px; box-shadow:inset 0 0 0 1px rgba(255,255,255,0.05); display:flex; align-items:flex-start; justify-content:flex-end; padding:2px 4px; pointer-events:none; z-index:3; }
.arc-gap-start { box-shadow:inset 0 0 0 1px rgba(255,255,255,0.06), 0 0 0 1px rgba(255,105,180,0.25); }
.arc-gap-short .arc-gap-label { background:rgba(255,105,180,0.95); color:#2b0f1c; font:700 11px/1 system-ui; padding:2px 5px; border-radius:4px; letter-spacing:.2px; }
/* Day view: ASEO buffer blocks */
.arc-gap-aseo { position:absolute; background:rgba(160, 170, 180, 0.22); border:1px solid rgba(160, 170, 180, 0.6); border-radius:4px; box-shadow:inset 0 0 0 1px rgba(255,255,255,0.04); display:flex; align-items:flex-start; justify-content:flex-end; padding:2px 4px; pointer-events:none; z-index:1; }
.arc-gap-aseo .arc-gap-label { background:rgba(180,190,200,0.95); color:#1e2329; font:700 10px/1 system-ui; padding:2px 5px; border-radius:4px; letter-spacing:.2px; }
/* Week view gap overlays */
.arc-gap-week { position:absolute; background:rgba(255, 105, 180, 0.22); border:1px solid rgba(255, 105, 180, 0.6); border-radius:4px; box-shadow:inset 0 0 0 1px rgba(255,255,255,0.05); display:flex; align-items:center; justify-content:flex-end; padding:2px 4px; pointer-events:none; z-index:4; }
.arc-gap-week .arc-gap-label { background:rgba(255,105,180,0.95); color:#2b0f1c; font:700 11px/1 system-ui; padding:2px 6px; border-radius:4px; letter-spacing:.2px; }
.arc-booking-day { position:absolute; background:rgba(25,118,210,.75); backdrop-filter:blur(2px); border:1px solid #1976d2; border-radius:4px; padding:2px 4px; font-size:12px; box-sizing:border-box; overflow:hidden; z-index:2; }
.arc-booking-day .arc-bk-notes-btn,
.arc-booking-day .arc-bk-edit-btn { position:absolute; top:2px; right:2px; width:20px; height:20px; border:none; border-radius:4px; background:rgba(255,255,255,0.9); color:#111827; display:inline-flex; align-items:center; justify-content:center; cursor:pointer; box-shadow:0 1px 2px rgba(0,0,0,0.15); padding:0; }
.arc-booking-day .arc-bk-notes-btn:hover,
.arc-booking-day .arc-bk-edit-btn:hover { background:#ffffff; }
.arc-booking-day .arc-ico-notes{ display:block; }
/* Override for icon-only variant inside booking blocks: transparent background + semi-transparent white icon */
.arc-booking-day .arc-bk-notes-btn.arc-bk-notes-btn-icononly,
.arc-booking-day .arc-bk-edit-btn.arc-bk-edit-btn-icononly { background:transparent !important; box-shadow:none !important; color:rgba(255,255,255,0.5) !important; }
.arc-booking-day .arc-bk-notes-btn.arc-bk-notes-btn-icononly:hover,
.arc-booking-day .arc-bk-edit-btn.arc-bk-edit-btn-icononly:hover { opacity:0.85; background:transparent !important; }
.arc-booking-day.active { background:rgba(46,125,50,.8); border-color:#2e7d32; }
.arc-booking-day.arc-bk-compact { display:block; padding:2px 4px 2px 4px; }
.arc-booking-day.arc-bk-compact .arc-bk-time { display:block; }
.arc-booking-day.arc-bk-compact .arc-bk-cust { font-size:0; height:0; overflow:hidden; padding:0; margin:0; }
.arc-day-time { background:#1f262e; position:sticky; left:0; z-index:3; font-size:12px; }
.arc-day-room { position:sticky; top:0; z-index:4; }
.arc-day-corner { position:sticky; top:0; left:0; z-index:5; }
.arc-day-room.arc-col-alt { background:#121519; }
.arc-day-slot.arc-col-alt { background:#121519; }
/* Legacy tier classes eliminadas */
/* Eliminado pseudo-overlay ::after (0.1.91) – simplifica capas y asegura blanco puro del texto */
.arc-room-header .arc-room-label { font-family:'Playfair Display',serif; font-weight:400; font-size:42px; line-height:1.05; margin:0; padding:0; display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-variant-numeric: lining-nums tabular-nums; font-feature-settings: "lnum" 1, "tnum" 1; text-align:center; }
#admiral-reception-cal .arc-time { background:#1f262e; position:sticky; left:0; z-index:2; width:70px; }
.arc-slot { background:#14181e; min-height:34px; }
.arc-has-quick-book{ position:relative; }
.arc-has-quick-book{ position:relative; overflow:visible; }
.arc-quick-book-btn{ position:absolute; display:flex; align-items:center; justify-content:center; border:1px solid rgba(94,203,146,0.36); border-radius:4px; background:rgba(94,203,146,0.10); box-shadow:inset 0 0 0 1px rgba(255,255,255,0.03); color:#f2fff8; font:700 22px/1 system-ui; cursor:pointer; transition:background .12s ease, border-color .12s ease, box-shadow .12s ease; box-sizing:border-box; z-index:2; pointer-events:auto; }
.arc-quick-book-btn:hover,
.arc-quick-book-btn:focus,
.arc-quick-book-btn:focus-visible,
.arc-quick-book-btn:active{ background:rgba(94,203,146,0.16); border-color:rgba(94,203,146,0.48); box-shadow:inset 0 0 0 1px rgba(255,255,255,0.05); outline:none; }
.arc-quick-book-plus{ display:block; line-height:1; text-shadow:0 1px 2px rgba(0,0,0,0.25); }
.arc-visually-hidden{ position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; border:0 !important; white-space:nowrap !important; }
.arc-day-grid .arc-quick-book-btn{ color:#dbffe9; }
.arc-overlay { position:absolute; inset:0; pointer-events:none; }
.arc-booking { position:absolute; padding:4px 6px; font-size:14px; line-height:1.25; box-sizing:border-box; border-left:4px solid var(--arc-accent); background:rgba(25,118,210,0.22); backdrop-filter:blur(2px); color:#fff; overflow:hidden; border-radius:4px; display:flex; flex-direction:column; gap:4px; }
.arc-booking.active { background:rgba(46,125,50,0.25); border-color:var(--arc-active); }
.arc-booking.conflict { outline:2px dashed var(--arc-conflict); }
.arc-cross-highlight { box-shadow:0 0 0 2px #fff, 0 0 10px 2px var(--arc-accent); position:relative; z-index:10; }
.arc-cross-highlight.arc-up-item, .arc-cross-highlight.arc-active-item { outline:2px solid #fff; box-shadow:0 0 0 2px #fff, 0 0 8px 2px var(--arc-accent); }
.arc-booking.status-pending { border-color:var(--arc-pending); background:rgba(255,179,0,0.18); }
.arc-booking.status-completed,
.arc-booking.status-bk-completed,
/* incluir variante usada por YITH si llega como status */
.arc-booking.status-yith-wcbk-completed,
/* asegurar que el bloque de vista día herede el estilo gris cuando venga marcado como completed */
.arc-booking-day.status-completed,
.arc-booking-day.status-bk-completed,
.arc-booking-day.status-yith-wcbk-completed,
/* y también en vista semana explícitamente (aunque .arc-booking ya aplica) */
.arc-booking-week.status-completed,
.arc-booking-week.status-bk-completed,
.arc-booking-week.status-yith-wcbk-completed
{ border-color:var(--arc-completed); background:rgba(96,125,139,0.25); filter:grayscale(0.35); }
.arc-booking.status-cancelled { border-color:var(--arc-cancelled); background:rgba(211,47,47,0.25); }
.arc-bk-room { font-weight:600; font-size:14px; }
.arc-bk-time { font-size:12px; opacity:.85; }
.arc-bk-cust { font-size:14px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.arc-bk-line { font-size:13px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.arc-bk-cust-inline { font-size:14px; color:#fff; margin-left:8px; padding-left:8px; border-left:1px solid rgba(255,255,255,0.25); }
/* Feed */
/* Scrollbar auto-hide: invisible hasta que el usuario desplaza */
.arc-sidebar { background:#151a20; border:1px solid var(--arc-border); padding:8px; border-radius:4px; display:flex; flex-direction:column; gap:6px; min-height:0; max-height:100%; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:none; }
/* Firefox oculta por defecto con scrollbar-width:none; lo mostramos al desplazar usando clase */
.arc-sidebar.is-scrolling { scrollbar-width:thin; }
/* Scrollbar para sidebar */
/* WebKit: oculto por defecto (0 ancho), visible al desplazarse */
.arc-sidebar::-webkit-scrollbar { width:0; height:0; }
.arc-sidebar.is-scrolling::-webkit-scrollbar { width:10px; }
.arc-sidebar.is-scrolling::-webkit-scrollbar-track { background:#13171c; }
.arc-sidebar.is-scrolling::-webkit-scrollbar-thumb { background:#2b333c; border-radius:6px; border:2px solid #13171c; }
.arc-sidebar.is-scrolling:hover::-webkit-scrollbar-thumb { background:#36414d; }
.arc-sidebar h3 { margin:0 0 4px; font-size:15px; }
.arc-feed { display:flex; flex-direction:column; gap:4px; overflow-y:auto; flex:1 1 auto; min-height:0; }
.arc-side-toolbar { display:flex; gap:6px; justify-content:space-between; align-items:center; margin-bottom:6px; }
.arc-side-toolbar .arc-toolbar-left { display:flex; gap:6px; align-items:center; }
.arc-side-toolbar .arc-toolbar-right { display:flex; gap:6px; align-items:center; }
.arc-side-toolbar .arc-btn-new-booking { background:#2a323a; color:#e6ecf3; border:1px solid #3a444e; border-radius:8px; padding:8px 10px; height:32px; display:inline-flex; align-items:center; gap:8px; cursor:pointer; font:600 13px/1 system-ui; }
.arc-side-toolbar .arc-btn-new-booking:hover { background:#34404a; border-color:#4a5662; }
.arc-side-toolbar .arc-btn-new-booking .arc-ico { width:16px; height:16px; }
.arc-side-toolbar .arc-tab-btn { background:#1e242c; color:#b9c4cf; border:1px solid var(--arc-border); border-radius:6px; padding:6px 8px; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; width:36px; height:32px; }
.arc-side-toolbar .arc-tab-btn.is-active { background:var(--arc-accent); color:#fff; border-color:var(--arc-accent); }
.arc-feed-wrap { display:flex; flex-direction:column; gap:4px; }

/* Now line (current time) in Day view */
.arc-now-line { position:absolute; height:0; border-top:2px solid #00e676; z-index:5; pointer-events:none; box-shadow:0 0 0 1px rgba(0,230,118,0.4); }
.arc-feed-item { background:#1d232a; padding:6px 8px; font-size:16px; border-left:4px solid var(--arc-accent); }
.arc-feed-item.future { opacity:.9; }
.arc-feed-item.future:not(.active){ background:#212832; }
.arc-week-day { background:#1f262e; font-weight:600; position:sticky; left:0; z-index:2; }
.arc-week-slot { background:#14181e; min-height:0; height:var(--arc-row-h,90px); padding-top:0; padding-bottom:0; }
/* Override padding vertical para uniformar margen real de 5px usado por capas absolutas */
.arc-room-header, .arc-week-slot { --arc-padV:0; }
.arc-booking-week { font-size:14px; padding:2px 6px; display:flex; flex-direction:row; align-items:center; justify-content:flex-start; gap:6px; }
.arc-booking-week .arc-bk-line { line-height:1.0; display:flex; align-items:center; padding:0; margin:0; }
.arc-booking-week .arc-bk-line strong { line-height:1; }
.arc-booking-week .arc-bk-line { line-height:1.1; display:flex; align-items:center; }
.arc-overlay-week { pointer-events:none; z-index:3; }
.arc-feed-item.active { border-color:var(--arc-active); }
.arc-feed-item.status-pending { border-color:var(--arc-pending); }
.arc-feed-item.status-completed { border-color:var(--arc-completed); opacity:.6; }
.arc-feed-item.status-cancelled { border-color:var(--arc-cancelled); opacity:.6; }
.arc-error { padding:20px; color:#fff; background:#8b1d1d; font:14px/1.4 system-ui; border:2px solid #c0392b; border-radius:6px; margin:12px; }
/* Scroll aesthetics */
.arc-feed::-webkit-scrollbar { width:8px; }
.arc-feed::-webkit-scrollbar-track { background:#14181e; }
.arc-feed::-webkit-scrollbar-thumb { background:#2a3139; border-radius:4px; }
/* Nuevo formato: encabezados y lista plana para nuevas y próximas reservas */
.arc-side-heading { font-family:'Montserrat',system-ui,sans-serif; font-weight:400; text-transform:uppercase; letter-spacing:.1em; font-size:14px; line-height:1.2; margin:18px 0 6px; color:#d0d6dd; }
.arc-side-heading:first-child { margin-top:0; }
.arc-side-heading-new { color:#9bb3c9; }
.arc-side-heading-upcoming { color:#9bb3c9; }
/* Completed */
.arc-side-heading-completed { color:#9bb3c9; opacity:.85; }
.arc-completed-list { display:flex; flex-direction:column; gap:3px; margin-top:2px; }
/* Completed sidebar rows: neutral greys */
.arc-completed-item { background:#1d232a; border-left:4px solid var(--arc-completed); color:#c4cbd2; font:600 16px/1.2 system-ui; padding:8px 10px; display:flex; flex-direction:row; align-items:center; gap:6px; opacity:.9; }
.arc-completed-item.arc-completed-item-pending { background:#281819; border-left-color:var(--arc-cancelled); color:#ff9d9d; box-shadow:inset 0 0 0 1px rgba(211,47,47,0.35); }
.arc-completed-item.arc-completed-item-pending .ap-room { color:#ffd6d6; }
.arc-completed-item.arc-completed-item-pending .ap-id { color:#ffb4b4; }
.arc-completed-item.arc-completed-item-pending .ap-datetime { color:#ffbcbc; }
.arc-completed-item.arc-completed-item-pending:hover { background:#311d1f; }
.arc-completed-item.arc-completed-item-pending:active { background:#3a2022; }
.arc-completed-item .ap-room { font-size:22px; font-weight:600; font-family:'Playfair Display',serif; color:#d6dde4; line-height:1; font-variant-numeric: lining-nums tabular-nums; font-feature-settings:"lnum" 1, "tnum" 1; margin-right:4px; }
.arc-completed-item .ap-id { margin-right:6px; font-weight:600; color:#9fb7d6; font-variant-numeric:tabular-nums; font-size:15px; }
.arc-completed-item .ap-datetime { margin-right:6px; font-weight:500; color:#b8c3cd; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-size:14px; }
.arc-completed-item:hover { background:#202730; }
.arc-completed-item:active { background:#242d36; }
/* Margen por defecto cuando NO es el primer bloque */
.arc-side-heading-upcoming { margin-top:24px; }
/* Evitar margen extra si es el primer heading dentro del contenedor */
/* Si es el primer heading absoluto en la sidebar reducir gap */
.arc-sidebar > .arc-side-heading-upcoming:first-child { margin-top:4px; }
/* Ajustar cuando sigue inmediatamente a un bloque activo o lista previa */
.arc-side-heading-upcoming { padding-top:2px; border-top:0; }
/* Contenedor que aloja heading + lista próximas (id inyectado en JS: #arc-feed-upcoming-container) */
/* Contenedor próximas: reducir espacio si es lo primero */
#arc-feed-upcoming-container { padding-top:6px; margin-top:10px; position:relative; }
/* Si el contenedor es el primero dentro del top feed (sin activos, nuevas ni pendientes) ajustar aún más */
#arc-feed-top:empty + #arc-feed-upcoming-container { margin-top:4px; padding-top:4px; }
/* Separador eliminado a petición: se deja sólo espacio vertical (antes había pseudo-element) */
/* #arc-feed-upcoming-container::before eliminado */
/* Si por alguna razón el heading aún queda pegado a un bloque anterior, refuerzo via selector hermano adyacente */
.arc-active-list-wrapper + #arc-feed-upcoming-container .arc-side-heading-upcoming,
.arc-recent-list + #arc-feed-upcoming-container .arc-side-heading-upcoming,
.arc-pending-list + #arc-feed-upcoming-container .arc-side-heading-upcoming { margin-top:12px !important; }
.arc-side-heading-active { color:#38d879; }
.arc-recent-list { display:flex; flex-direction:column; gap:4px; }
.arc-recent-item { font-size:16px; padding:8px 10px; color:#e6ecf3; background:#1d232a; border-left:4px solid var(--arc-accent); }
.arc-recent-item.arc-ack-pending { cursor:pointer; position:relative; }
/* Checkout button (EN PROGRESO): square 1:1 in top-right */
/* Reserve space on active items so text doesn't go under the button */
.arc-active-item { position:relative; padding-right:44px; }
.arc-btn-checkout { background:#2a323a; color:#d0d6dd; border:1px solid #3a444e; border-radius:6px; font-size:12px; line-height:1; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; gap:0; }
/* Absolute square button for active items */
.arc-active-item .arc-btn-checkout { position:absolute; top:6px; right:6px; margin:0; width:32px; height:32px; padding:0; z-index:2; }
.arc-btn-checkout .arc-ico { display:block; width:18px; height:18px; }
.arc-btn-checkout-compact { width:28px; height:28px; padding:0; }
.arc-btn-checkout-compact .arc-ico { width:15px; height:15px; }
.arc-completed-item .arc-btn-checkout-compact { border-radius:6px; }
.arc-btn-checkout:hover:not(:disabled){ background:#374048; border-color:#4a5561; color:#fff; }
.arc-btn-checkout:disabled { opacity:.5; cursor:default; }
.arc-btn-checkout.is-loading { position:relative; }
.arc-btn-checkout.is-loading::after { content:''; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:12px; height:12px; border:2px solid #fff; border-right-color:transparent; border-radius:50%; animation:arcSpin .8s linear infinite; }
@keyframes arcSpin { to { transform:rotate(360deg); } }
/* Completed active item */
.arc-active-item.arc-active-completed { background:#262d33 !important; opacity:.65; border-left-color:#5a646d !important; }
.arc-active-item.arc-active-completed .arc-side-room, .arc-active-item.arc-active-completed .arc-side-code, .arc-active-item.arc-active-completed .arc-side-datetime, .arc-active-item.arc-active-completed .arc-side-customer { color:#9ca6ad !important; }
.arc-recent-item.arc-ack-pending::before { content:""; position:absolute; inset:0; pointer-events:none; border-radius:2px; background:radial-gradient(circle at 35% 30%, rgba(80,160,255,0.55), rgba(80,160,255,0) 65%), radial-gradient(circle at 70% 70%, rgba(80,160,255,0.35), rgba(80,160,255,0) 70%); opacity:0; filter:blur(0); mix-blend-mode:screen; animation:arcInnerPulse 6s linear infinite; }
@keyframes arcInnerPulse {
	0% { opacity:0; filter:blur(0px); }
	12% { opacity:.55; filter:blur(2px); }
	25% { opacity:.75; filter:blur(3px); }
	40% { opacity:.55; filter:blur(2px); }
	55% { opacity:.35; filter:blur(1.5px); }
	70% { opacity:.5; filter:blur(2px); }
	85% { opacity:.25; filter:blur(1px); }
	100% { opacity:0; filter:blur(0px); }
}
@media (prefers-reduced-motion:reduce){
	.arc-recent-item.arc-ack-pending::before { animation:none; opacity:.4; filter:none; }
}

/* Modal overlay for Checkout extra info */
.arc-modal-overlay { position:fixed; inset:0; background:rgba(0,0,0,0.6); display:none; align-items:center; justify-content:center; z-index:9999; }
.arc-modal-overlay.is-open { display:flex; }
.arc-modal { background:#ffffff; color:#1f2937; border:1px solid #e5e7eb; border-radius:12px; box-shadow:0 10px 30px rgba(0,0,0,0.25); width:92vw; max-width:520px; padding:18px; box-sizing:border-box; max-height:90vh; overflow:auto; }
.arc-modal h3 { margin:0 0 8px; font-size:18px; color:#111827; }
.arc-modal .arc-modal-desc { font-size:14px; color:#4b5563; margin-bottom:12px; }
.arc-modal .arc-field { margin-bottom:10px; }
.arc-modal .arc-field.arc-field-toggle { margin:14px 0 6px; }
.arc-modal .arc-field.arc-field-toggle .arc-toggle{ display:flex; align-items:center; gap:12px; cursor:pointer; user-select:none; }
.arc-modal .arc-field.arc-field-toggle .arc-toggle input{ position:absolute; opacity:0; pointer-events:none; }
.arc-modal .arc-field.arc-field-toggle .arc-toggle-switch{ width:44px; height:24px; border-radius:999px; background:#1f262e; position:relative; transition:background .2s ease, box-shadow .2s ease; flex:0 0 auto; box-shadow:inset 0 0 0 1px rgba(255,255,255,0.05); }
.arc-modal .arc-field.arc-field-toggle .arc-toggle-switch::after{ content:""; position:absolute; top:3px; left:3px; width:18px; height:18px; border-radius:999px; background:#f5f7fa; box-shadow:0 1px 2px rgba(0,0,0,0.4); transition:transform .2s ease; }
.arc-modal .arc-field.arc-field-toggle .arc-toggle input:checked + .arc-toggle-switch{ background:#B59F6B; box-shadow:inset 0 0 0 1px rgba(0,0,0,0.1); }
.arc-modal .arc-field.arc-field-toggle .arc-toggle input:checked + .arc-toggle-switch::after{ transform:translateX(20px); }
.arc-modal .arc-field.arc-field-toggle .arc-toggle-text{ display:flex; flex-direction:column; gap:2px; color:#d6dde4; }
.arc-modal .arc-field.arc-field-toggle .arc-toggle-title{ font-weight:600; font-size:14px; line-height:1.2; }
.arc-modal .arc-field.arc-field-toggle .arc-toggle-desc{ font-size:12px; line-height:1.2; color:#b8c3cd; opacity:0.8; }
.arc-modal .arc-field.arc-field-toggle.is-active .arc-toggle-title{ color:#ffdca8; }
.arc-modal .arc-field.arc-field-toggle.is-active .arc-toggle-desc{ opacity:1; color:#ffe9c7; }
.arc-modal label { display:block; font-size:13px; color:#111827; margin-top:10px; margin-bottom:6px; font-weight:700; }
.arc-modal select, .arc-modal textarea { width:100%; background:#ffffff; color:#111827; border:1px solid #d1d5db; border-radius:8px; padding:10px 12px; font-size:14px; box-sizing:border-box; }
.arc-modal select:focus, .arc-modal textarea:focus { outline:none; border-color:#9ca3af; box-shadow:0 0 0 3px rgba(59,130,246,0.15); }
.arc-modal textarea { min-height:96px; resize:vertical; }
/* Special case: time select with embedded icons must override the generic modal select styles */
.arc-modal .admiral-date-time-select{
	appearance:none !important; -webkit-appearance:none !important; -moz-appearance:none !important;
	background-color:#ffffff;
	border:1px solid #d7dde3; border-radius:10px;
	outline:0; box-shadow: 0 2px 0 rgba(17,24,39,0.06);
	width:100%; min-width:200px; font:600 15px/1 system-ui; color:#111827;
	padding:10px 14px 10px 36px; line-height:1.2; /* right 14px, left 36px */
	background: none !important;
}
.arc-modal .arc-modal-actions { display:flex; gap:8px; justify-content:flex-end; margin-top:12px; }
.arc-modal .arc-modal-actions.arc-modal-actions-split { justify-content:space-between; flex-wrap:wrap; }
.arc-modal .arc-modal-actions-left,
.arc-modal .arc-modal-actions-right { display:flex; align-items:center; gap:8px; }
.arc-modal .arc-btn { background:#f3f4f6; color:#111827; border:1px solid #e5e7eb; border-radius:8px; padding:10px 14px; font-size:14px; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; }
.arc-modal .arc-btn:hover:not(:disabled){ background:#e5e7eb; border-color:#d1d5db; color:#111827; }
.arc-modal .arc-btn:disabled { opacity:.6; cursor:default; }
.arc-modal .arc-btn-primary { background:#111827; border-color:#111827; color:#ffffff; font-weight:700; }
.arc-modal .arc-btn-primary:hover:not(:disabled){ filter:brightness(1.05); }
.arc-modal .arc-btn-danger { background:#fee2e2; border-color:#fecaca; color:#7f1d1d; font-weight:600; }
.arc-modal .arc-btn-danger:hover:not(:disabled){ background:#fecaca; border-color:#fca5a5; color:#7f1d1d; }
.arc-modal .arc-modal-checkout-btn { background:#fef3c7; border:1px solid #fcd34d; color:#92400e; border-radius:8px; padding:10px 14px; min-width:46px; }
.arc-modal .arc-modal-checkout-btn:hover:not(:disabled){ background:#fde68a; border-color:#fbbf24; color:#92400e; }
.arc-modal .arc-modal-checkout-btn:disabled { opacity:.6; cursor:default; }
.arc-modal .arc-modal-checkout-btn.is-loading { position:relative; }
.arc-modal .arc-modal-checkout-btn.is-loading::after { content:""; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:12px; height:12px; border:2px solid currentColor; border-right-color:transparent; border-radius:50%; animation:arcSpin .8s linear infinite; }
.arc-btn-checkout-inline { padding:10px 14px; min-width:44px; }
.arc-btn-checkout-inline .arc-ico { margin:0; }
.arc-modal .arc-error { color:#991b1b; background:#fee2e2; border:1px solid #fecaca; padding:10px; border-radius:8px; font-size:13px; margin:8px 0 10px; display:none; }
.arc-modal .arc-error.is-visible { display:block; }
/* Notes modal content */
.arc-notes-content{ display:flex; flex-direction:column; gap:10px; margin:8px 0; }
.arc-notes-loading, .arc-notes-empty{ font-size:14px; color:#4b5563; }
.arc-note-item{ border:1px solid #e5e7eb; background:#f9fafb; border-radius:8px; padding:10px; }
.arc-note-item .arc-note-meta{ font-size:12px; color:#6b7280; margin-bottom:6px; }
.arc-note-item .arc-note-text{ font-size:14px; color:#111827; white-space:pre-wrap; }
/* Pending payment badge next to checkout button */
.arc-pay-badge { display:inline-flex; align-items:center; justify-content:center; vertical-align:middle; width:18px; height:18px; border-radius:9999px; background:#3a444e; border:1px solid #55606b; color:#d0d6dd; }
.arc-pay-badge .arc-ico-dollar { width:12px; height:12px; color:inherit; }
.arc-pay-badge-pending { color:#92400e; }
.arc-pay-badge.arc-pay-badge-pending { cursor:pointer; padding:0; background:#fef3c7; border-color:#fcd34d; color:#92400e; }
.arc-pay-badge.arc-pay-badge-pending:hover, .arc-pay-badge.arc-pay-badge-pending:active { filter:none; transform:none; }
.arc-pay-badge.arc-pay-badge-pending:hover { background:#fde68a; color:#92400e; border-color:#fbbf24; }
.arc-pay-badge.arc-pay-badge-pending:active { background:#fcd34d; color:#92400e; border-color:#f59e0b; }
.arc-pay-badge.arc-pay-badge-pending:focus-visible { outline:2px solid rgba(255,255,255,0.35); outline-offset:2px; }
.arc-pay-badge.arc-pay-badge-pending:focus:not(:focus-visible) { outline:none; }
.arc-pay-badge.arc-pay-badge-pending { -webkit-tap-highlight-color:transparent; user-select:none; }
.arc-pay-tooltip .arc-addon-tooltip-amount { font-weight:600; }
.arc-addon-badge { width:18px; height:18px; border-radius:9999px; background:#1e3a8a; border:1px solid #3255a8; color:#d0e2ff; display:inline-flex; align-items:center; justify-content:center; padding:0; box-shadow:none; text-decoration:none; cursor:pointer; }
.arc-addon-badge, .arc-addon-badge:focus, .arc-addon-badge:active { outline:none; filter:none; transform:none; }
.arc-addon-badge:hover { background:#1e3a8a; color:#d0e2ff; border-color:#3255a8; }
.arc-addon-badge:active { background:#1e3a8a; color:#d0e2ff; border-color:#3255a8; }
.arc-addon-badge:focus-visible { outline:2px solid rgba(255,255,255,0.35); outline-offset:2px; }
.arc-addon-badge:focus:not(:focus-visible) { outline:none; }
.arc-addon-badge { -webkit-tap-highlight-color:transparent; user-select:none; }
.arc-addon-badge .arc-ico-addon { width:12px; height:12px; stroke:currentColor; }
.arc-addon-ico-wrap { display:inline-flex; align-items:center; justify-content:center; width:12px; height:12px; }
/* Web (reserva online) badge */
.arc-web-badge { width:18px; height:18px; border-radius:9999px; background:#065f46; border:1px solid #0d7a59; color:#d1fae5; display:inline-flex; align-items:center; justify-content:center; padding:0; box-shadow:none; text-decoration:none; }
.arc-web-badge .arc-ico-web { width:12px; height:12px; stroke:currentColor; }
.arc-side-booking .arc-web-badge { width:18px; height:18px; }
.arc-side-booking .arc-web-badge:hover, .arc-side-booking .arc-web-badge:active { background:#065f46; color:#d1fae5; border-color:#0d7a59; }
/* Addon tooltip */
.arc-addon-tooltip { position:absolute; z-index:99999; background:#ffffff; color:#111827; border:1px solid #e5e7eb; padding:10px 12px; border-radius:10px; box-shadow:0 8px 28px -6px rgba(0,0,0,0.25), 0 4px 12px rgba(0,0,0,0.15); font:500 13px/1.45 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; min-width:180px; max-width:300px; }
.arc-addon-tooltip-list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:4px; }
.arc-addon-tooltip-list li { margin:0; padding:0; white-space:normal; word-break:break-word; }
.arc-addon-badge { cursor:pointer; }
/* container line below checkout button */
.arc-side-foot { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:4px; }
.arc-side-foot .arc-act-remaining-inline { order:1; }
.arc-side-foot .arc-pay-badge { order:2; }
/* Sidebar booking notes icon bottom-right */
.arc-side-booking { position:relative; }
.arc-side-booking .arc-side-notes-wrap { position:absolute; right:4px; bottom:4px; display:flex; align-items:center; gap:4px; }
/* Active (en progreso) override: place notes wrap top-right to not collide with remaining time */
.arc-active-item.arc-side-booking .arc-side-notes-wrap { bottom:4px; top:auto; }
/* Completed compact row: keep height single-line, center vertically; rely on flex gap */
.arc-completed-item.arc-side-booking { position:relative; }
.arc-completed-item.arc-side-booking { display:flex; align-items:center; flex-wrap:nowrap; gap:6px; }
.arc-completed-item.arc-side-booking .arc-side-notes-wrap { position:static; margin-left:auto; display:inline-flex; align-items:center; gap:4px; }
.arc-completed-item.arc-side-booking .arc-ico-notes { width:18px; height:18px; }
.arc-side-booking .arc-bk-notes-btn.arc-bk-notes-btn-icononly,
.arc-side-booking .arc-bk-edit-btn.arc-bk-edit-btn-icononly { background:transparent !important; box-shadow:none !important; color:rgba(255,255,255,0.5); padding:2px !important; width:20px; height:20px; }
.arc-side-booking .arc-bk-notes-btn.arc-bk-notes-btn-icononly:hover,
.arc-side-booking .arc-bk-edit-btn.arc-bk-edit-btn-icononly:hover { opacity:.85; }
.arc-side-booking .arc-bk-notes-btn.arc-bk-notes-btn-icononly .arc-ico-notes,
.arc-side-booking .arc-bk-edit-btn.arc-bk-edit-btn-icononly .arc-ico-edit { width:18px; height:18px; }
.arc-side-booking .arc-pay-badge { width:18px; height:18px; }
/* Create Booking modal: suggestions and grid */
.arc-modal .arc-suggest { position:relative; }
.arc-modal .arc-suggest input[type=text] { width:100%; background:#ffffff; color:#111827; border:1px solid #d1d5db; border-radius:8px; padding:10px 12px; font-size:14px; box-sizing:border-box; }
.arc-modal .arc-suggest-list { position:absolute; top:100%; left:0; right:0; background:#fff; border:1px solid #d1d5db; border-top:0; border-radius:0 0 8px 8px; max-height:220px; overflow:auto; z-index:10; display:none; }
.arc-modal .arc-suggest-list.is-open { display:block; }
.arc-modal .arc-suggest-item { padding:8px 10px; cursor:pointer; font-size:14px; color:#111827; }
.arc-modal .arc-suggest-item:hover { background:#f3f4f6; }
.arc-modal .arc-grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.arc-modal input[type="datetime-local"] { width:100%; background:#ffffff; color:#111827; border:1px solid #d1d5db; border-radius:8px; padding:10px 12px; font-size:14px; box-sizing:border-box; }
.arc-modal .arc-help { font-size:12px; color:#6b7280; margin-top:4px; }
.arc-modal .arc-availability { font-size:13px; margin-top:6px; padding:10px 12px; border-radius:8px; display:grid; grid-template-columns: 1fr auto; column-gap:12px; align-items:center; font-weight:600; line-height:1.2; width:100%; }
.arc-modal .arc-availability .arc-av-left{ color:inherit; opacity:.95; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; min-width:0; align-self:center; margin:0; line-height:inherit; }
.arc-modal .arc-availability .arc-av-right{ color:inherit; white-space:nowrap; text-align:right; justify-self:end; align-self:center; margin:0; line-height:inherit; }

/* High-specificity fallback to ensure single row two-column layout even if other CSS interferes */
#arc-create-availability.arc-availability,
#arc-edit-availability.arc-availability { display:grid !important; grid-template-columns: 1fr auto !important; column-gap:12px !important; align-items:center !important; width:100% !important; }

/* === FORCE STATIC BADGE STATES (no color change on drag/mouseup) === */
.arc-side-booking .arc-addon-badge,
.arc-side-booking .arc-addon-badge:hover,
.arc-side-booking .arc-addon-badge:active,
.arc-side-booking .arc-addon-badge:focus,
.arc-side-booking .arc-addon-badge:focus-visible,
.arc-side-booking .arc-addon-badge[aria-expanded="true"],
.arc-side-booking .arc-addon-badge[aria-expanded="false"],
.arc-side-booking .arc-addon-badge:active:hover {
	background:#1e3a8a !important;
	border-color:#3255a8 !important;
	color:#d0e2ff !important;
	box-shadow:none !important;
}

.arc-side-booking .arc-pay-badge.arc-pay-badge-pending,
.arc-side-booking .arc-pay-badge.arc-pay-badge-pending:hover,
.arc-side-booking .arc-pay-badge.arc-pay-badge-pending:active,
.arc-side-booking .arc-pay-badge.arc-pay-badge-pending:focus,
.arc-side-booking .arc-pay-badge.arc-pay-badge-pending:focus-visible,
.arc-side-booking .arc-pay-badge.arc-pay-badge-pending[aria-expanded="true"],
.arc-side-booking .arc-pay-badge.arc-pay-badge-pending[aria-expanded="false"],
.arc-side-booking .arc-pay-badge.arc-pay-badge-pending:active:hover {
	background:#fef3c7 !important;
	border-color:#fcd34d !important;
	color:#92400e !important;
	box-shadow:none !important;
}
.arc-side-booking .arc-web-badge,
.arc-side-booking .arc-web-badge:hover,
.arc-side-booking .arc-web-badge:active,
.arc-side-booking .arc-web-badge:focus,
.arc-side-booking .arc-web-badge:focus-visible,
.arc-side-booking .arc-web-badge:active:hover {
	background:#065f46 !important;
	border-color:#0d7a59 !important;
	color:#d1fae5 !important;
	box-shadow:none !important;
}
.arc-modal .arc-availability.ok { color:#0b5136; background:#d1fae5; border:1px solid #a7f3d0; }
.arc-modal .arc-availability.fail { color:#7f1d1d; background:#fee2e2; border:1px solid #fecaca; }
.arc-modal .arc-availability.conflict { color:#92400e; background:#fef3c7; border:1px solid #fcd34d; }
.arc-modal .arc-availability.warn { color:#92400e; background:#fde68a; border:1px solid #f59e0b; }
/* Glow sutil en heading nuevas */
.arc-new-green { color:var(--arc-accent); }
.arc-recent-item.arc-ack-pending:hover { background:#24303a; }
.arc-recent-item.arc-ack-pending:active { background:#2a3945; }
.arc-recent-item.arc-ack-done { opacity:.75; }
.arc-recent-item .arc-created { font-size:12px; margin-left:0; margin-top:4px; opacity:.65; color:#8bfcb7; display:block; }
.arc-upcoming-list { display:flex; flex-direction:column; gap:4px; }
.arc-up-item { background:#1d232a; padding:8px 10px; font-size:16px; border-left:4px solid var(--arc-accent); }
.arc-up-item.arc-active-converted { border-left-color: var(--arc-active); }
.arc-up-empty { opacity:.5; font-size:16px; padding:6px 4px; }
.arc-active-list { background:#182027; border:1px solid var(--arc-border); padding:8px 8px 10px; border-radius:6px; margin-bottom:10px; display:flex; flex-direction:column; gap:6px; }
.arc-active-title { font-size:18px; font-weight:600; color:#6ee7a0; margin-bottom:4px; }
.arc-active-item { background:#1f272f; padding:6px 8px; font-size:16px; border-left:4px solid var(--arc-active); display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.arc-active-item .arc-act-id { font-weight:600; }
.arc-active-item .arc-act-room { font-weight:500; }
.arc-active-item .arc-act-range { opacity:.9; }
.arc-active-item .arc-act-remaining { color:#8bfcb7; font-weight:600; font-size:16px; }
.arc-active-item .arc-act-cust { font-weight:600; color:#c5d9ff; }

/* --- Nuevo layout dos columnas para items (recent / upcoming) --- */
.arc-side-booking { display:grid; grid-template-columns:70px 1fr; column-gap:12px; align-items:start; position:relative; }
@media (max-width:1400px){ .arc-side-booking { grid-template-columns:60px 1fr; column-gap:10px; } }
.arc-side-col-left { text-align:center; display:flex; flex-direction:column; align-items:center; justify-content:flex-start; }
.arc-side-room { font-family:'Playfair Display', serif; font-weight:500; font-size:34px; line-height:1; letter-spacing:.5px; margin:0 0 4px; color:#fff; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:100%; font-variant-numeric: lining-nums tabular-nums; font-feature-settings:"lnum" 1, "tnum" 1; }
.arc-side-code { font-size:14px; font-weight:600; color:#7ea7ff; line-height:1; font-variant-numeric: lining-nums tabular-nums; font-feature-settings:"lnum" 1, "tnum" 1; }
.arc-side-col-right { min-width:0; display:flex; flex-direction:column; gap:2px; }
.arc-side-datetime { font-size:14px; font-weight:500; color:#b2bdc9; line-height:1.15; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.arc-side-customer { font-size:16px; font-weight:600; color:#e6ecf3; line-height:1.2; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.arc-recent-item.arc-side-booking .arc-created { position:static; align-self:flex-start; }

/* Countdown activo (EN PROGRESO) */
.arc-act-remaining-inline { display:inline-block; background:transparent; color:#8bfcb7 !important; padding:0; border-radius:0; font-size:14px; letter-spacing:.5px; margin-top:4px !important; font-variant-numeric: tabular-nums; font-feature-settings:"tnum" 1; }
.arc-side-remaining.arc-act-remaining-inline { display:block; }
/* Color distinto para la cuenta regresiva de PROXIMAS (no verde, gris bajo contraste) */
.arc-up-item .arc-side-remaining.arc-act-remaining-inline { color:#8c99a4 !important; }

/* --- POR PAGAR (pending_payment) --- */
.arc-side-heading-pending { color:#ffda6b; }
.arc-pending-list { display:flex; flex-direction:column; gap:3px; margin-top:2px; }
.arc-pending-item { background:#1d232a; border:0; color:#e7c96a; font:600 16px/1.2 system-ui; padding:8px 10px; display:flex; flex-direction:row; align-items:center; gap:6px; border-left:4px solid #ffb300; border-radius:0; }
.arc-pending-item .ap-room { margin-right:4px; }
.arc-pending-item .ap-id { margin-right:6px; }
.arc-pending-item .ap-datetime { margin-right:6px; }
.arc-pending-item .ap-remaining { margin-left:auto; }
.arc-pending-item .ap-room { font-size:22px; font-weight:600; font-family:'Playfair Display',serif; color:#fff; line-height:1; font-variant-numeric: lining-nums tabular-nums; font-feature-settings:"lnum" 1, "tnum" 1; }
.arc-pending-item .ap-id { font-weight:600; color:#7ea7ff; font-variant-numeric:tabular-nums; font-size:15px; }
.arc-pending-item .ap-datetime { font-weight:500; color:#d9e2ea; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-size:14px; }
.arc-pending-item .ap-remaining { justify-self:end; font-size:16px; font-weight:600; }
.arc-pending-item:hover { background:#222b33; }
.arc-pending-item:active { background:#27313a; }
/* Countdown badge */
.arc-pending-item .ap-remaining { background:transparent; color:#8bfcb7; padding:0; margin-left:auto; font-weight:600; letter-spacing:.5px; border:0; box-shadow:none; border-radius:0; }
.arc-pending-item.ap-expired { background:#312022; color:#ffd7d7; }
.arc-pending-item.ap-expired .ap-remaining { background:#ffb3b3; color:#4a0000; }

/* Botón acknowledge nuevas reservas */
/* Botón ack eliminado: item completo hace acknowledge */

/* Ajustes visuales hover/foco */
.arc-recent-item.arc-side-booking:hover, .arc-up-item.arc-side-booking:hover { background:#222b33; }

/* Reducir sangría interior si scroll estrecho */
@media (max-width:1200px){
	.arc-side-room { font-size:30px; }
	.arc-side-datetime { font-size:13px; }
	.arc-side-customer { font-size:15px; }
	.arc-side-booking { grid-template-columns:56px 1fr; }
}

/* --- Buttons: loading state --- */
.arc-modal .arc-btn.is-loading{ position:relative; color:transparent !important; pointer-events:none; }
.arc-modal .arc-btn.is-loading::after{ content:''; position:absolute; top:50%; left:50%; width:16px; height:16px; margin:-8px 0 0 -8px; border-radius:50%; border:2px solid #fff; border-top-color:rgba(255,255,255,0.2); animation:arc-spin 0.7s linear infinite; }
@keyframes arc-spin{ to{ transform:rotate(360deg); } }

/* --- Toast notifications --- */
.arc-toast-wrap{ position:fixed; bottom:16px; right:16px; display:flex; flex-direction:column; gap:10px; z-index:99999; }
.arc-toast{ background:#2e7d32; color:#fff; padding:10px 14px; border-radius:8px; box-shadow:0 6px 20px rgba(0,0,0,0.15); opacity:0; transform:translateY(-10px); transition:all .22s ease; font-size:14px; }
.arc-toast.show{ opacity:1; transform:translateY(0); }
.arc-toast.error{ background:#c62828; }
.arc-toast.warning{ background:#d97706; }

/* --- Price in Availability Notice with Edit/Save/Clear --- */
.arc-av-price-wrap { display:inline-flex; align-items:center; gap:6px; margin-left:8px; }
.arc-av-price { font-size:20px; font-weight:700; color:inherit; letter-spacing:-0.01em; line-height:1; }
.arc-av-price-input { font-size:18px; font-weight:600; color:#111827; background:#fff; border:1px solid rgba(255,255,255,0.4); border-radius:4px; padding:0 6px; width:95px; height:24px; line-height:24px; box-sizing:border-box; -moz-appearance:textfield; }
.arc-av-price-input::-webkit-outer-spin-button, .arc-av-price-input::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }
.arc-av-price-input:focus { outline:none; border-color:rgba(255,255,255,0.6); }
.arc-av-price-btn { display:inline-flex; align-items:center; justify-content:center; width:24px; height:24px; border:none; border-radius:4px; cursor:pointer; line-height:1; transition:all .15s ease; padding:0; background:transparent; color:inherit; }
.arc-av-price-edit:hover { background:#22c55e; }
.arc-av-price-edit:hover svg { stroke:#fff; }
.arc-av-price-save:hover { background:#22c55e; }
.arc-av-price-save:hover svg { stroke:#fff; }
.arc-av-price-clear:hover { background:#ef4444; }
.arc-av-price-clear:hover svg { stroke:#fff; }
.arc-av-price.arc-av-price--overridden { color:#7f1d1d; }
