.mdnwd-wrapper{--radius:16px;--shadow:0 10px 30px rgba(0,0,0,.1);--bg:#000000;--card:#0d0d0d;--muted:#ffc000;--accent:#c40001;--accent2:#ffc000;--ring:#c40001;--grid:#1a1a1a;--day:#ffffff;--cols:2;color:#ffffff;background:var(--bg);padding:24px;border-radius:var(--radius);box-shadow:var(--shadow)}
.mdnwd-wrapper.mdnwd-light{--bg:#ffffff;--card:#ffffff;--muted:#000000;--accent:#c40001;--accent2:#ffc000;--ring:#c40001;--grid:#e5e7eb;--day:#000000;color:#000000}
.mdnwd-controls{display:flex;gap:12px;align-items:flex-end;margin-bottom:12px;flex-wrap:wrap}
.mdnwd-control label{display:block;font-size:12px;opacity:.8;margin-bottom:4px}
.mdnwd-control input{border:1px solid var(--grid);background:var(--card);color:var(--day);border-radius:10px;padding:8px}
.mdnwd-wrapper.mdnwd-light .mdnwd-control input{border-color:#e5e7eb;background:#fff;color:#000}
.mdnwd-apply{padding:8px 12px;border-radius:999px;border:0;background:linear-gradient(135deg,#c40001,#ffc000);color:#fff;font-weight:700;cursor:pointer}
.mdnwd-legend{display:flex;align-items:center;gap:12px;margin:10px 0 14px}
.mdnwd-legend-wrap{display:flex;flex-wrap:nowrap;gap:8px;overflow-x:auto;white-space:nowrap}
.mdnwd-legend-item{display:inline-flex;align-items:center;gap:8px;background:#0f1524;border:1px solid var(--grid);border-radius:999px;padding:4px 8px;font-size:12px;white-space:nowrap}
.mdnwd-legend-item .mdnwd-color{width:12px;height:12px;border-radius:50%;display:inline-block}
.mdnwd-wrapper.mdnwd-light .mdnwd-legend-item{background:#fff;border-color:#e5e7eb}
.mdnwd-calendar{display:block}
.mdnwd-months{display:grid;gap:10px;grid-template-columns:repeat(var(--cols,2),1fr)}
@media (max-width: 992px){ .mdnwd-months{grid-template-columns:repeat(1,1fr) !important} }
.mdnwd-month{background:var(--card);border:1px solid var(--grid);border-radius:14px;padding:10px}
.mdnwd-month-title{font-weight:800;margin-bottom:6px}
.mdnwd-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.mdnwd-wd{font-size:12px;opacity:.7;text-align:center;padding:4px 0}
.mdnwd-pad{height:36px}
.mdnwd-day{position:relative;height:36px;border:1px solid var(--grid);border-radius:10px;background:var(--card);display:flex;align-items:center;justify-content:center}
.mdnwd-day .date{min-width:28px;height:28px;line-height:28px;border-radius:999px;text-align:center}
.mdnwd-day.holiday .date{ background: var(--hcol, var(--accent)); color: var(--htext, #fff); font-weight:700; }
.mdnwd-day.today .date{ outline:2px solid var(--accent2); box-shadow:0 0 0 3px rgba(255,192,0,0.25); }
.mdnwd-day .dots{position:absolute; top:6px; right:6px; display:flex; gap:4px}
.mdnwd-day .dots .dot{width:6px; height:6px; border-radius:50%}
.mdnwd-modal{position:fixed;inset:0;background:rgba(0,0,0,.45);display:none;z-index:9999}
.mdnwd-modal-content{position:relative;background:var(--card);border:1px solid var(--grid);color:var(--day);max-width:560px;margin:10vh auto;border-radius:16px;padding:16px}
.mdnwd-close{position:absolute;top:8px;right:8px;border:1px solid var(--grid);background:var(--card);color:var(--day);border-radius:999px;width:32px;height:32px;cursor:pointer}
.mdnwd-groups{margin-top:14px;display:grid;gap:12px}
.mdnwd-group{background:var(--card);border:1px solid var(--grid);border-radius:14px;padding:10px;color:var(--day)}
.mdnwd-group-title{display:flex;align-items:center;gap:8px;font-weight:700;margin-bottom:8px}
.mdnwd-group-title .mdnwd-color{width:10px;height:10px;border-radius:50%;display:inline-block}
.mdnwd-group-line{display:flex;flex-direction:column;gap:6px;overflow:visible;white-space:normal;padding-bottom:0}
.mdnwd-chip{display:block;width:100%;background:var(--card);border:1px solid var(--grid);border-radius:999px;padding:4px 8px;font-size:12px;color:var(--day)}
.mdnwd-wrapper.mdnwd-light .mdnwd-group{background:#fff;border-color:#e5e7eb;color:#000}
.mdnwd-wrapper.mdnwd-light .mdnwd-chip{background:#fff;border-color:#e5e7eb;color:#000}
.mdnwd-typechecks{display:flex; flex-wrap:wrap; gap:8px; max-width:620px}
.mdnwd-check{display:inline-flex; align-items:center; gap:8px; border:1px solid var(--grid); background:var(--card); color:var(--day); border-radius:999px; padding:4px 10px; cursor:pointer; user-select:none}
.mdnwd-check input{display:none}
.mdnwd-check .mdnwd-box{width:12px; height:12px; border-radius:3px; border:1px solid var(--grid); display:inline-block}
.mdnwd-check input:checked + .mdnwd-box{outline:2px solid var(--accent2)}
.mdnwd-wrapper.mdnwd-light .mdnwd-check{background:#fff; border-color:#e5e7eb; color:#000}
.mdnwd-wrapper.mdnwd-light .mdnwd-check .mdnwd-box{border-color:#e5e7eb}
