
.dvms-wrap .dvms-cards{display:flex;gap:16px;margin:20px 0;flex-wrap:wrap}
.dvms-card{background:#fff;border:1px solid #dcdcde;border-radius:8px;padding:18px;min-width:180px}
.dvms-card h2{font-size:32px;margin:0}
.dvms-panel{background:#fff;border:1px solid #dcdcde;border-radius:8px;padding:18px;margin:16px 0}
.dvms-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.dvms-wrap label,.dvms-portal label{display:block;font-weight:600;margin:8px 0}
.dvms-wrap input,.dvms-wrap select,.dvms-wrap textarea{width:100%;max-width:100%}
.dvms-wrap textarea{min-height:80px}
.dvms-portal{background:#fff;padding:18px;border-radius:8px}
.dvms-event-card{border:1px solid #ddd;border-radius:8px;padding:16px;margin:16px 0;background:#fff}
.dvms-slots{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin:12px 0}
.dvms-slots label{font-weight:400;background:#f6f7f7;padding:8px;border-radius:6px}
.dvms-message{padding:10px 14px;background:#e7f7e7;border-left:4px solid #1e8e3e;margin:10px 0}
.dvms-scroll{overflow:auto;max-width:100%;background:#fff;border:1px solid #dcdcde;margin-top:16px}
.dvms-matrix th,.dvms-matrix td{text-align:center;vertical-align:middle;min-width:95px}
.dvms-matrix th:first-child{position:sticky;left:0;background:#fff;z-index:2;text-align:left;min-width:180px}
.dvms-muted-row{opacity:.45}
.dvms-cell-available{background:#e7f7e7;font-weight:700;color:#166534}
.dvms-cell-cancelled{background:#fde8e8;font-weight:700;color:#991b1b}
.dvms-cell-empty{background:#f6f7f7;color:#666}
.dvms-cell-available span,.dvms-cell-cancelled span,.dvms-cell-empty span{display:block;font-size:11px;font-weight:400}
.dvms-assignable{background:#eef7ff}
.dvms-not-available{background:#f6f7f7;color:#777}
.dvms-allocation-matrix select{min-width:130px}
.dvms-event-selector{margin:12px 0}


/* v0.1.7 event-period colour coding */
.dvms-period-legend{display:flex;gap:10px;align-items:center;margin:10px 0 14px 0;flex-wrap:wrap}
.dvms-legend-item{display:inline-block;border:1px solid #c3c4c7;border-radius:999px;padding:5px 12px;font-weight:600}
.dvms-period-setup{background:#e8f2ff!important}
.dvms-period-event{background:#e9f8ec!important}
.dvms-period-setdown{background:#fff3df!important}
.dvms-period-unknown{background:#f6f7f7!important}
.dvms-matrix thead th.dvms-period-setup{border-bottom:3px solid #6aa9e9}
.dvms-matrix thead th.dvms-period-event{border-bottom:3px solid #5eb86b}
.dvms-matrix thead th.dvms-period-setdown{border-bottom:3px solid #e5a545}
.dvms-cell-available.dvms-period-setup{background:#d7ecff!important}
.dvms-cell-available.dvms-period-event{background:#d9f3df!important}
.dvms-cell-available.dvms-period-setdown{background:#ffe7bd!important}
.dvms-cell-cancelled.dvms-period-setup,
.dvms-cell-cancelled.dvms-period-event,
.dvms-cell-cancelled.dvms-period-setdown{background:#fde8e8!important}
.dvms-cell-empty.dvms-period-setup{background:#f2f8ff!important}
.dvms-cell-empty.dvms-period-event{background:#f3fbf5!important}
.dvms-cell-empty.dvms-period-setdown{background:#fff8ec!important}
.dvms-assignable.dvms-period-setup{background:#d7ecff!important}
.dvms-assignable.dvms-period-event{background:#d9f3df!important}
.dvms-assignable.dvms-period-setdown{background:#ffe7bd!important}
.dvms-not-available.dvms-period-setup{background:#f2f8ff!important}
.dvms-not-available.dvms-period-event{background:#f3fbf5!important}
.dvms-not-available.dvms-period-setdown{background:#fff8ec!important}


/* v0.1.8 admin-editable availability */
.dvms-admin-availability-matrix select.dvms-availability-select{
    min-width:130px;
    font-size:12px;
}
.dvms-admin-availability-matrix td{
    padding:6px;
}

/* v0.2.0 front-end login */
.dvms-login{background:#fff;border:1px solid #dcdcde;border-radius:8px;padding:20px;max-width:420px;margin:20px 0}
.dvms-login input[type="email"],.dvms-login input[type="password"]{width:100%;box-sizing:border-box;padding:10px}
.dvms-error{background:#fde8e8;border-left-color:#991b1b}
