.sdop-wrap{max-width:760px;margin:0 auto;padding:16px;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.sdop-header,.sdop-card{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:18px;margin:0 0 16px;box-shadow:0 8px 24px rgba(0,0,0,.06)}.sdop-header h2,.sdop-card h3{margin-top:0}.sdop-days{display:grid;gap:10px}.sdop-day{display:flex;align-items:center;justify-content:space-between;border:1px solid #e5e7eb;border-radius:14px;padding:12px;background:#f9fafb}.sdop-day span{display:block;font-size:13px;color:#6b7280;margin-top:4px}.sdop-day.is-disabled{opacity:.65}.sdop-day button,.sdop-primary{border:0;border-radius:999px;padding:10px 14px;background:#111827;color:#fff;font-weight:600}.sdop-card label{display:block;margin-top:12px;font-weight:600}.sdop-card input[type=date],.sdop-card select,.sdop-card textarea{width:100%;box-sizing:border-box;border:1px solid #d1d5db;border-radius:12px;padding:10px;margin-top:6px}.sdop-date-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.sdop-date-grid label{font-weight:400;margin:0;background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;padding:10px}.sdop-alert{padding:12px;border-radius:12px;margin-bottom:12px}.sdop-success{background:#ecfdf5;border:1px solid #a7f3d0}.sdop-error{background:#fef2f2;border:1px solid #fecaca}.sdop-muted{color:#6b7280}@media(max-width:560px){.sdop-wrap{padding:10px}.sdop-day{align-items:flex-start;gap:10px;flex-direction:column}.sdop-date-grid{grid-template-columns:1fr}.sdop-day button,.sdop-primary{width:100%}}

/* Theme override: keep employee dashboard readable on themes with light text. */
.sdop-wrap,
.sdop-wrap * {
    color: #111827;
}

.sdop-wrap {
    background: transparent;
}

.sdop-header,
.sdop-card,
.sdop-day,
.sdop-date-grid label {
    color: #111827;
}

.sdop-header,
.sdop-card {
    background: #ffffff;
}

.sdop-day,
.sdop-date-grid label {
    background: #f9fafb;
}

.sdop-day span,
.sdop-muted,
.sdop-card .sdop-muted {
    color: #6b7280;
}

.sdop-day button,
.sdop-primary,
.sdop-wrap button.sdop-primary,
.sdop-wrap .sdop-day button {
    color: #ffffff;
    background: #111827;
}

.sdop-card input,
.sdop-card select,
.sdop-card textarea {
    color: #111827;
    background: #ffffff;
}

.sdop-success,
.sdop-success * {
    color: #065f46;
}

.sdop-error,
.sdop-error * {
    color: #991b1b;
}


/* v0.1.2 hard theme override */
html body .sdop-wrap,
html body .sdop-wrap p,
html body .sdop-wrap h1,
html body .sdop-wrap h2,
html body .sdop-wrap h3,
html body .sdop-wrap h4,
html body .sdop-wrap strong,
html body .sdop-wrap label,
html body .sdop-wrap li,
html body .sdop-wrap div {
    color: #111827 !important;
}
html body .sdop-wrap .sdop-header,
html body .sdop-wrap .sdop-card {
    background: #ffffff !important;
    color: #111827 !important;
}
html body .sdop-wrap .sdop-day,
html body .sdop-wrap .sdop-date-grid label {
    background: #f9fafb !important;
    color: #111827 !important;
}
html body .sdop-wrap .sdop-muted,
html body .sdop-wrap .sdop-day span {
    color: #6b7280 !important;
}
html body .sdop-wrap button,
html body .sdop-wrap .sdop-primary,
html body .sdop-wrap input[type="submit"] {
    background: #111827 !important;
    color: #ffffff !important;
}
html body .sdop-wrap input,
html body .sdop-wrap select,
html body .sdop-wrap textarea {
    background: #ffffff !important;
    color: #111827 !important;
    border-color: #d1d5db !important;
}
html body .sdop-wrap .sdop-success,
html body .sdop-wrap .sdop-success * {
    color: #065f46 !important;
}
html body .sdop-wrap .sdop-error,
html body .sdop-wrap .sdop-error * {
    color: #991b1b !important;
}

/* v0.1.9 special request calendar */
.sdop-calendar-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px}
.sdop-calendar-date{font-weight:400!important;margin:0!important;background:#f9fafb!important;border:1px solid #e5e7eb;border-radius:12px;padding:10px;min-height:72px;cursor:pointer;display:flex!important;flex-direction:column;gap:5px}
.sdop-calendar-date input{margin-right:6px}.sdop-calendar-date span{font-size:12px;color:#6b7280!important}.sdop-calendar-date.is-disabled{opacity:.55;cursor:not-allowed;background:#f3f4f6!important}.sdop-calendar-date:has(input:checked){border-color:#111827;background:#eef2ff!important}
@media(max-width:560px){.sdop-calendar-grid{grid-template-columns:1fr 1fr}.sdop-calendar-date{min-height:64px}}

/* v0.1.10 compact request panels */
html body .sdop-wrap details.sdop-accordion {
    padding: 0 !important;
    overflow: hidden;
}
html body .sdop-wrap details.sdop-accordion > summary {
    list-style: none;
    cursor: pointer;
    padding: 18px !important;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    font-weight: 700;
    color: #111827 !important;
}
html body .sdop-wrap details.sdop-accordion > summary::-webkit-details-marker {
    display: none;
}
html body .sdop-wrap details.sdop-accordion > summary::after {
    content: '+';
    width: 30px;
    height: 30px;
    border-radius: 999px;
    background: #111827 !important;
    color: #ffffff !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    flex: 0 0 auto;
}
html body .sdop-wrap details.sdop-accordion[open] > summary::after {
    content: '-';
}
html body .sdop-wrap details.sdop-accordion > summary small {
    color: #6b7280 !important;
    font-size: 12px;
    font-weight: 500;
    margin-left: auto;
}
html body .sdop-wrap .sdop-accordion-body {
    padding: 0 18px 18px !important;
}
html body .sdop-wrap .sdop-multi-date-select {
    min-height: 150px;
    width: 100%;
}
html body .sdop-wrap .sdop-multi-date-select option:disabled {
    color: #9ca3af !important;
}
@media(max-width:560px){
    html body .sdop-wrap details.sdop-accordion > summary {
        align-items: flex-start;
    }
    html body .sdop-wrap details.sdop-accordion > summary small {
        display: none;
    }
}

/* v0.1.11 mobile friendly special date picker */
html body .sdop-wrap .sdop-special-date-picker,
html body .sdop-wrap .sdop-special-date-picker * {
    color: #111827 !important;
}
html body .sdop-wrap .sdop-picker-title {
    margin: 14px 0 8px !important;
    font-weight: 800 !important;
    color: #111827 !important;
}
html body .sdop-wrap .sdop-special-date-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 8px 0 10px;
}
html body .sdop-wrap .sdop-special-date-choice {
    display: flex !important;
    align-items: flex-start;
    gap: 10px;
    margin: 0 !important;
    padding: 12px !important;
    border: 1px solid #d1d5db !important;
    border-radius: 14px !important;
    background: #ffffff !important;
    color: #111827 !important;
    cursor: pointer;
    min-height: 78px;
    box-sizing: border-box;
    box-shadow: 0 3px 12px rgba(0,0,0,.04);
}
html body .sdop-wrap .sdop-special-date-choice input[type="checkbox"] {
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    margin: 2px 0 0 !important;
    accent-color: #111827;
    background: #ffffff !important;
    color: #111827 !important;
}
html body .sdop-wrap .sdop-special-date-content {
    display: flex;
    flex-direction: column;
    gap: 4px;
    line-height: 1.25;
}
html body .sdop-wrap .sdop-special-date-content strong {
    color: #111827 !important;
    font-size: 14px;
}
html body .sdop-wrap .sdop-special-date-content small {
    color: #6b7280 !important;
    font-size: 12px;
}
html body .sdop-wrap .sdop-special-date-choice.is-selected,
html body .sdop-wrap .sdop-special-date-choice:has(input:checked) {
    border-color: #111827 !important;
    background: #eef2ff !important;
    box-shadow: 0 0 0 2px rgba(17,24,39,.12);
}
html body .sdop-wrap .sdop-special-date-choice.is-disabled {
    opacity: .55;
    cursor: not-allowed;
    background: #f3f4f6 !important;
}
html body .sdop-wrap .sdop-special-date-choice.is-disabled * {
    color: #6b7280 !important;
}
@media(max-width:560px){
    html body .sdop-wrap .sdop-special-date-grid {
        grid-template-columns: 1fr;
    }
    html body .sdop-wrap .sdop-special-date-choice {
        min-height: 64px;
        padding: 13px !important;
    }
}

/* v0.1.15 auth forms: clear field boundaries and mobile spacing */
html body .sdop-wrap.sdop-auth-wrap {
    max-width: 620px !important;
}
html body .sdop-wrap .sdop-auth-card form.sdop-form,
html body .sdop-wrap form.sdop-form {
    display: grid !important;
    gap: 10px !important;
}
html body .sdop-wrap .sdop-auth-card label,
html body .sdop-wrap form.sdop-form label {
    margin: 10px 0 0 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    color: #111827 !important;
}
html body .sdop-wrap .sdop-auth-card input,
html body .sdop-wrap .sdop-auth-card select,
html body .sdop-wrap .sdop-auth-card textarea,
html body .sdop-wrap form.sdop-form input,
html body .sdop-wrap form.sdop-form select,
html body .sdop-wrap form.sdop-form textarea {
    width: 100% !important;
    box-sizing: border-box !important;
    display: block !important;
    min-height: 46px !important;
    padding: 11px 12px !important;
    margin: 0 !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 12px !important;
    background: #ffffff !important;
    color: #111827 !important;
    box-shadow: inset 0 1px 2px rgba(0,0,0,.04) !important;
    outline: none !important;
    -webkit-text-fill-color: #111827 !important;
}
html body .sdop-wrap .sdop-auth-card input:focus,
html body .sdop-wrap .sdop-auth-card select:focus,
html body .sdop-wrap form.sdop-form input:focus,
html body .sdop-wrap form.sdop-form select:focus,
html body .sdop-wrap form.sdop-form textarea:focus {
    border-color: #111827 !important;
    box-shadow: 0 0 0 3px rgba(17,24,39,.12) !important;
}
html body .sdop-wrap .sdop-auth-card input::placeholder,
html body .sdop-wrap form.sdop-form input::placeholder {
    color: #9ca3af !important;
    -webkit-text-fill-color: #9ca3af !important;
}
html body .sdop-wrap .sdop-auth-card button.sdop-primary,
html body .sdop-wrap form.sdop-form button.sdop-primary {
    width: 100% !important;
    margin-top: 12px !important;
    min-height: 46px !important;
}


.sdop-team-overview { border: 2px solid #dbeafe; }
.sdop-team-list { list-style: none; padding-left: 0; margin: 10px 0; display: grid; gap: 8px; }
.sdop-team-list li { background: #f8fafc; border: 1px solid #e5e7eb; border-radius: 12px; padding: 10px 12px; }
.sdop-team-list li strong, .sdop-team-name { display: block; color: #111827 !important; }
.sdop-team-list li span { display: block; color: #6b7280 !important; font-size: 13px; margin-top: 2px; }
.sdop-team-details summary { cursor: pointer; font-weight: 700; }
.sdop-team-days { margin-top: 12px; display: grid; gap: 12px; }
.sdop-team-day { background: #ffffff; border: 1px solid #e5e7eb; border-radius: 14px; padding: 12px; }
.sdop-team-day > strong { color: #111827 !important; display: block; margin-bottom: 8px; }
