:root{
    --sd-surface-muted:#f7f9fb;
    --sd-surface-emphasis:#eef3f7;
    --sd-border-soft:#d7dee5;
    --sd-border-strong:#c4d0da;
    --sd-text-soft:#526171;
    --sd-accent-soft:#eef4f8;
}

.sd-container{
    max-width:1140px;
}

.sd-main{
    padding:20px 0 36px;
}

.h1{
    margin:0 0 6px;
    font-size:24px;
    font-weight:700;
    letter-spacing:.01em;
}

.h2{
    margin:0 0 8px;
    font-size:19px;
    font-weight:700;
    letter-spacing:.01em;
}

.hint,
.muted{
    color:var(--sd-text-soft);
}

.card,
.btn,
.alert,
.badge,
.chip,
.sd-tab,
.sd-pill,
.sd-logout,
details.catGroup,
.list,
.suggest-box,
.projects-table-wrap,
.planning-meta-card,
.planning-modal,
.planning-modal-card,
.dashboard-loading-card,
.service-review-progress-card,
.service-review-ticket-card,
.service-review-support-card,
.team-overview-stat,
.team-overview-card,
[class*="-table-wrap"],
[class*="-panel"],
[class$="-card"],
input:not([type="checkbox"]):not([type="radio"]),
select,
textarea{
    border-radius:0;
}

.card,
.alert,
.projects-table-wrap,
.planning-meta-card,
.service-review-progress-card,
.service-review-ticket-card,
.service-review-support-card,
.team-overview-stat,
.team-overview-card,
[class*="-table-wrap"],
[class*="-panel"],
[class$="-card"]{
    box-shadow:none;
    border-color:var(--sd-border-soft);
}

.planning-modal,
.suggest-box,
.dashboard-loading-card,
.team-modal-card{
    box-shadow:0 14px 36px rgba(15,23,42,.12);
}

.badge{
    background:var(--sd-surface-emphasis);
    border-color:var(--sd-border-soft);
    color:#29485d;
    letter-spacing:0;
    text-transform:none;
}

.btn{
    min-height:38px;
    font-weight:600;
    letter-spacing:.01em;
}

.list .rowi{
    background:#fff;
}

footer{
    background:#ffffff;
    border-top:1px solid var(--sd-border-soft);
}

.dashboard-page > .card{
    border-top:4px solid var(--sd-blue);
}

.dashboard-page .grid{
    gap:12px;
}

.dashboard-page .grid > .card{
    border-top:4px solid #d4dde5;
    background:linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    padding:18px;
    transition:border-color .14s ease, background-color .14s ease;
}

.dashboard-page .grid > .card:hover{
    border-top-color:var(--sd-blue);
    background:#ffffff;
}

.dashboard-page .grid > .card .actions{
    margin-top:12px;
}

.dashboard-page .grid > .card .hint + .actions{
    margin-top:12px;
}

.tickets-page{
    border-top:4px solid var(--sd-blue);
}

.tickets-page .list{
    border-top:3px solid #d4dde5;
    background:#fff;
}

.tickets-page .rowi{
    align-items:center;
    padding:14px 16px;
}

.tickets-page .rowi:hover{
    background:#f7fafc;
}

.tickets-page .badge{
    margin-right:4px;
}

.team-page > .card{
    border-top:4px solid var(--sd-blue);
}

.team-page .team-kpi{
    border-top:4px solid #d4dde5;
    background:#ffffff;
    padding:14px 16px;
}

.team-page .team-kpi strong,
.team-page .team-kpi-link{
    font-size:26px;
}

.team-page .team-table-wrap{
    border-top:3px solid #d4dde5;
}

.team-page .team-table thead th{
    background:var(--sd-surface-emphasis);
    color:var(--sd-text-soft);
    font-weight:700;
    letter-spacing:.03em;
    text-transform:uppercase;
}

.team-page .team-status,
.team-page .team-bucket{
    border-radius:0;
}

.team-page .team-modal-card{
    border-top:4px solid var(--sd-blue);
}

.team-page .team-modal-head{
    background:var(--sd-surface-muted);
}

.team-page .team-modal-close{
    border:1px solid var(--sd-border-strong);
    background:#fff;
    color:#0f172a;
}

.service-review-page,
.service-review-results{
    border-top:4px solid var(--sd-blue);
}

.service-review-grid{
    margin-top:18px;
}

.service-review-kpi{
    border-top:4px solid #d4dde5;
    background:#ffffff;
    padding:14px 16px;
}

.service-review-rule{
    border-left:3px solid #d4dde5;
    background:#ffffff;
}

.service-review-rule:hover{
    border-left-color:var(--sd-blue);
    background:var(--sd-surface-muted);
}

.service-review-finding{
    border-left:4px solid var(--sd-blue);
    background:#ffffff;
    padding:16px;
}

.service-review-badge{
    background:var(--sd-surface-emphasis);
    border:1px solid var(--sd-border-soft);
    color:#29485d;
}

.service-review-table-wrap{
    border-top:3px solid #d4dde5;
    background:#ffffff;
}

.service-review-table th{
    background:var(--sd-surface-emphasis);
    color:var(--sd-text-soft);
    font-weight:700;
    letter-spacing:.03em;
    text-transform:uppercase;
}

.projects-page{
    border-top:4px solid var(--sd-blue);
}

.projects-table-wrap,
.calendar-table-wrap{
    border-top:3px solid #d4dde5;
}

.projects-table thead th,
.calendar-table thead th{
    background:var(--sd-surface-emphasis);
    color:var(--sd-text-soft);
}

.projects-calendar .card{
    border-top:4px solid #d4dde5;
}

.projects-calendar .card:first-child{
    border-top-color:var(--sd-blue);
}

.calendar-weekday,
.absence-calendar-weekday{
    background:var(--sd-surface-emphasis);
    border-color:var(--sd-border-soft);
    color:var(--sd-text-soft);
}

.calendar-day,
.absence-calendar-day{
    border-top:3px solid transparent;
    background:#fff;
}

.calendar-day:hover,
.absence-calendar-day:hover{
    border-top-color:var(--sd-blue);
    background:#f9fbfc;
}

.calendar-day.is-selected,
.calendar-day.is-today,
.absence-calendar-day.is-selected,
.absence-calendar-day.is-today{
    border-color:var(--sd-border-soft);
    border-top-color:var(--sd-blue);
    background:#fff;
    box-shadow:none;
}

.calendar-day-outside.is-today,
.absence-calendar-day-outside.is-today{
    background:var(--sd-accent-soft);
    border-top:3px solid var(--sd-blue);
}

.calendar-day-badge,
.absence-calendar-day-badge{
    min-width:auto;
    padding:0 9px;
    background:var(--sd-blue);
    color:#fff;
}

.calendar-day-item,
.absence-calendar-item{
    background:var(--sd-accent-soft);
    border-left:3px solid #d4dde5;
}

.calendar-day-item{
    padding:7px 8px;
}

.absence-calendar-day-panel{
    border:1px solid var(--sd-border-soft);
    background:#fff;
    padding:16px;
}

.planning-meta-card{
    border-top:4px solid #d4dde5;
    background:#ffffff;
    padding:14px 16px;
}

.planning-selection-item,
.planning-history-item,
.planning-table-wrap,
.planning-employee-board,
.planning-employee-group,
.shift-grid-wrap,
.shift-assignment,
.planning-attendance-row,
.shift-range-review-summary{
    border-color:var(--sd-border-soft);
    background:#ffffff;
}

.planning-table-wrap,
.shift-grid-wrap{
    border-top:3px solid #d4dde5;
}

.planning-table thead th,
.shift-grid thead th{
    background:var(--sd-surface-emphasis);
    color:var(--sd-text-soft);
}

.planning-filter-chip,
.planning-employee-filter-chip,
.shift-range-review-toggle{
    border-radius:0;
    border-color:var(--sd-border-soft);
    background:#f9fbfc;
}

.planning-filter-chip.is-active,
.planning-employee-filter-chip.is-active{
    background:var(--sd-accent-soft);
    color:#0b5f8c;
}

.planning-employee-board{
    border-top:4px solid var(--sd-blue);
}

.planning-employee-group{
    background:#f9fbfc;
}

.planning-employee-card{
    border-left:3px solid transparent;
    background:#ffffff;
}

.planning-employee-card:hover{
    border-left-color:var(--sd-blue);
    background:#f7fafc;
}

.planning-employee-card.is-selected{
    border-left-color:var(--sd-blue);
    background:var(--sd-accent-soft);
    box-shadow:none;
}

.shift-grid-row-head{
    background:#f8fafc;
}

.shift-cell{
    border-color:var(--sd-border-soft);
}

.shift-cell.is-filled{
    background:#f6fbf7;
}

.shift-cell.is-partial{
    background:#fbfcfd;
}

.shift-cell.is-overfilled,
.shift-cell.is-conflict{
    background:#fff8f4;
}

.shift-cell.is-dragover{
    outline:2px solid rgba(0,91,137,.24);
    outline-offset:-2px;
}

.shift-assignment{
    border-left:3px solid #d4dde5;
}

.shift-assignment-head .btn{
    min-height:32px;
    padding:6px 10px;
}

.planning-attendance{
    margin-top:16px;
}

.planning-attendance-row{
    padding:14px;
}

.planning-attendance-day{
    background:#f7fafc;
    border:1px solid var(--sd-border-soft);
}

.planning-attendance-status{
    border-radius:0;
}

.shift-range-review-summary{
    border-top:4px solid #d4dde5;
}

.address-selection-page{
    border-top:4px solid var(--sd-blue);
}

.address-selection-summary{
    gap:8px;
}

.address-selection-summary .badge{
    padding:5px 10px;
}

.address-selection-toolbar{
    gap:8px;
}

.address-selection-table-wrap{
    border-top:3px solid #d4dde5;
}

.address-selection-table thead th{
    background:var(--sd-surface-emphasis);
    color:var(--sd-text-soft);
}

.address-selection-loading-note{
    border-radius:0;
    border-color:rgba(0,91,137,.18);
}

.ticket-form-page{
    border-top:4px solid var(--sd-blue);
}

.ticket-form-page .row,
.ticket-form-page .grid{
    gap:14px;
}

.ticket-form-page .hint{
    max-width:92ch;
}

.ticket-form-page-bulk .list,
.ticket-form-page-t2med .t2med-table-wrap{
    border-top:3px solid #d4dde5;
}

.ticket-form-page-bulk .tools{
    align-items:center;
}

.ticket-form-page-t2med .t2med-meta-card{
    border-top:4px solid #d4dde5;
    background:#ffffff;
}

.ticket-form-page-t2med .t2med-description{
    background:var(--sd-surface-muted);
}

.ticket-form-page-t2med .t2med-table thead th{
    background:var(--sd-surface-emphasis);
    color:var(--sd-text-soft);
}
