:root {
    --indigo: #3069b3;
    --indigo-dark: #24528e;
    --brand-red: #c71f2a;
    --danger: var(--brand-red);
    --soft: #f2f7fd;
    --pico-primary: var(--indigo);
    --pico-primary-hover: var(--indigo-dark);
    --pico-primary-focus: rgba(48, 105, 179, .25);
    --pico-form-element-active-border-color: var(--indigo);
}

body { background: #f9fbfe; }
input[type="checkbox"], input[type="radio"] { background-color: #fff !important; color-scheme: light; accent-color: var(--indigo); }
input[type="checkbox"]:checked, input[type="checkbox"]:checked:active, input[type="checkbox"]:checked:focus,
input[type="radio"]:checked, input[type="radio"]:checked:active, input[type="radio"]:checked:focus { background-color: var(--indigo) !important; border-color: var(--indigo) !important; }
.brand { gap: .8rem; font-weight: 700; }
.brand-logo { display: block; width: 150px; height: 48px; object-fit: contain; }
.brand span { padding-left: .8rem; border-left: 1px solid var(--line); }
.instance-status { display: grid; grid-template-columns: .75rem auto minmax(0, 1fr); align-items: center; gap: .65rem; min-width: 310px; padding: .85rem 1rem; border: 1px solid; border-radius: .8rem; }
.instance-status strong, .instance-status small { display: block; }
.instance-status small { color: inherit; opacity: .82; }
.instance-status .material-symbols-rounded { font-size: 1.8rem; }
.status-dot { width: .7rem; height: .7rem; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 .25rem color-mix(in srgb, currentColor 14%, transparent); }
.instance-status.ok { color: #067647; background: #ecfdf3; border-color: #abefc6; }
.instance-status.maintenance { color: #93370d; background: #fffaeb; border-color: #fedf89; }
.instance-status.unreachable { color: #b42318; background: #fef3f2; border-color: #fecdca; }
.calendar-card, .booking-panel { box-shadow: 0 12px 36px rgba(48, 105, 179, .08); }
.timezone-indicator { display: flex; align-items: center; gap: .25rem; color: var(--muted); margin-top: .3rem; }
.legend .free { background: #cfe1f5; }
.free-slot { background: #eef5fc; border-color: #c5dbf1; color: var(--indigo-dark); }
.confirmation .credentials small { color: var(--indigo-dark); }
.admin-nav { background: #eef5fc; }
.stat-grid a { box-shadow: 0 12px 30px rgba(48, 105, 179, .07); }
.status.upcoming { background: #eef5fc; color: var(--indigo-dark); }
.actions { justify-content: flex-end; }
.icon-button { display: grid; width: 2.4rem; height: 2.4rem; padding: 0; place-items: center; }
.icon-button .material-symbols-rounded { font-size: 1.5rem; }
.partner-manage-button { display: inline-flex; align-items: center; gap: .25rem; margin: 0; font-size: .78rem; }
.partner-manage-button .material-symbols-rounded { font-size: 1.2rem; }
.partner-dialog { width: min(620px, calc(100% - 2rem)); max-width: none; padding: 0; border: 0; border-radius: .85rem; box-shadow: 0 24px 80px rgba(24, 33, 47, .25); }
.partner-dialog::backdrop { background: rgba(24, 33, 47, .5); backdrop-filter: blur(2px); }
.partner-dialog article { margin: 0; padding: 1.25rem; }
.partner-dialog-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.partner-dialog-header h2 { margin: 0; }
.partner-dialog-section { padding: 1rem 0; border-top: 1px solid var(--line); }
.partner-dialog-section h3 { margin: 0 0 .75rem; font-size: 1rem; }
.partner-setting-actions { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: .75rem; }
.partner-limit-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: .55rem; margin: 0; }
.partner-limit-form label { margin: 0; }
.partner-limit-form input { margin: .25rem 0 0; }
.partner-toggle-form { margin: 0; }
.partner-toggle-form button, .partner-generate-row button { display: inline-flex; align-items: center; gap: .3rem; margin: 0; }
.partner-secret-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: .55rem; min-width: 0; margin: 0; }
.partner-secret-form label { min-width: 0; margin: 0; font-size: .78rem; font-weight: 700; }
.partner-secret-form label small { margin-left: .35rem; color: var(--muted); font-weight: 400; }
.partner-secret-form input { width: 100%; min-width: 0; margin: .25rem 0 0; }
.partner-secret-form button { margin: 0; }
.partner-generate-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: .8rem; color: var(--muted); font-size: .82rem; }
.partner-generate-row form { margin: 0; }
@media (max-width: 560px) {
    .brand-logo { width: 118px; height: 42px; }
    .brand span { display: none; }
    .instance-status { min-width: 0; width: 100%; }
    .partner-setting-actions, .partner-limit-form, .partner-secret-form { grid-template-columns: 1fr; align-items: stretch; }
    .partner-generate-row { align-items: stretch; flex-direction: column; }
    .partner-dialog button:not(.icon-button) { justify-content: center; width: 100%; }
}
