:root { font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; }
body { margin: 0; background: #0b0f14; color: #e9eef6; }
.wrap { max-width: 1100px; margin: 0 auto; padding: 16px; }
.site-header { background: #0f1621; border-bottom: 1px solid #1c2a3b; }
.brand-title { font-weight: 800; letter-spacing: 0.3px; }
.brand-sub { opacity: 0.8; font-size: 0.95rem; margin-top: 2px; }
.nav { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.nav a { color: #cfe4ff; text-decoration: none; padding: 8px 10px; border-radius: 10px; }
.nav a:hover { background: #172235; }
.pill { border: 1px solid #2b4a73; }
.card { background: #101a26; border: 1px solid #1c2a3b; border-radius: 16px; padding: 14px; margin: 14px 0; }
h1,h2 { margin: 8px 0 12px; }
table { width: 100%; border-collapse: collapse; }
th, td { border-bottom: 1px solid #1c2a3b; padding: 10px; text-align: left; vertical-align: top; }
th { opacity: 0.85; font-weight: 700; }
.badge { display: inline-block; padding: 4px 10px; border-radius: 999px; background: #18273a; border: 1px solid #274567; font-size: 0.85rem; }
input, textarea, select { width: 100%; padding: 10px; border-radius: 12px; border: 1px solid #29435f; background: #0c131d; color: #e9eef6; }
button { padding: 10px 14px; border-radius: 12px; border: 1px solid #2b4a73; background: #13243a; color: #e9eef6; cursor: pointer; }
button:hover { background: #172c46; }
.grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
@media (max-width: 760px){ .grid { grid-template-columns: 1fr; } }
.site-footer { border-top: 1px solid #1c2a3b; background: #0f1621; opacity: 0.9; }
small { opacity: 0.8; }
hr { border:0; border-top:1px solid #1c2a3b; margin: 16px 0; }
.actions { display:flex; gap:8px; flex-wrap:wrap; }
.mono { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; }

.logo { height: 56px; width: auto; border-radius: 12px; border: 1px solid #1c2a3b; background: #0b0f14; padding: 6px; }
.brand { display:flex; gap:12px; align-items:center; }

/* Calendar widget */
.cal-wrap { border:1px solid #1c2a3b; background: rgba(11,15,20,.6); border-radius: 16px; padding: 12px; }
.cal-head { display:flex; align-items:center; justify-content: space-between; gap:10px; margin-bottom:10px; }
.cal-head .cal-title { font-weight:700; letter-spacing:.2px; }
.cal-head .cal-nav { display:flex; gap:8px; }
.cal-btn { cursor:pointer; border:1px solid #1c2a3b; background: rgba(14,20,30,.75); color: inherit; padding: 6px 10px; border-radius: 12px; }
.cal-grid { display:grid; grid-template-columns: repeat(7, 1fr); gap:6px; }
.cal-dow { font-size: 12px; opacity:.75; text-align:center; padding:4px 0; }
.cal-day { border:1px solid #1c2a3b; background: rgba(14,20,30,.55); border-radius: 12px; padding: 8px 0; text-align:center; cursor:pointer; user-select:none; }
.cal-day.off { opacity:.35; cursor: default; }
.cal-day.has { outline: 2px solid rgba(0, 255, 200, .35); }
.cal-day.sel { outline: 2px solid rgba(255, 0, 200, .45); }
.cal-day:hover { filter: brightness(1.12); }
.cal-legend { display:flex; gap:10px; margin-top:10px; font-size: 12px; opacity:.8; }
.cal-dot { display:inline-block; width:10px; height:10px; border-radius:50%; margin-right:6px; vertical-align:middle; }
.cal-dot.has { background: rgba(0,255,200,.6); }
.cal-dot.sel { background: rgba(255,0,200,.65); }

/* Collapsible sections */
.collap { border:1px solid #1c2a3b; background: rgba(11,15,20,.55); border-radius: 16px; overflow:hidden; }
.collap > summary { cursor:pointer; padding: 14px 16px; font-weight:700; list-style:none; display:flex; align-items:center; justify-content:space-between; gap:10px; }
.collap > summary::-webkit-details-marker { display:none; }
.collap .collap-body { padding: 14px 16px; border-top:1px solid #1c2a3b; }
.collap .chev { opacity:.8; transition: transform .15s ease; }
.collap[open] .chev { transform: rotate(90deg); }
