:root{--bg: #0f1419;--panel: #161b22;--border: #30363d;--text: #e6edf3;--muted: #8b949e;--accent: #58a6ff;--ok: #238636;--danger: #da3633;--font: "Segoe UI", system-ui, sans-serif}*{box-sizing:border-box}body{margin:0;font-family:var(--font);background:var(--bg);color:var(--text);min-height:100vh}a{color:var(--accent)}button{font-family:inherit;cursor:pointer;border-radius:6px;border:1px solid var(--border);background:var(--panel);color:var(--text);padding:.45rem .75rem}button.primary{background:var(--ok);border-color:var(--ok);color:#fff;font-weight:600}button.danger{background:var(--danger);border-color:var(--danger);color:#fff}button.ghost{background:transparent;color:var(--accent);border-color:transparent}input,select,textarea{font-family:inherit;border-radius:6px;border:1px solid var(--border);background:#0d1117;color:var(--text);padding:.45rem .5rem}input[type=date],input[type=datetime-local],input[type=month],input[type=week]{cursor:pointer;min-height:2.25rem;min-width:10.5rem;color-scheme:dark}input[type=date]::-webkit-calendar-picker-indicator,input[type=datetime-local]::-webkit-calendar-picker-indicator,input[type=month]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.92;padding:.15rem .25rem;margin-left:.15rem;filter:invert(1)}.date-input-wrap{display:flex;align-items:stretch;gap:.35rem;width:100%}.date-input-wrap .input-date{flex:1;min-width:0}.date-input-picker-btn{flex-shrink:0;align-self:stretch;padding:.4rem .55rem;font-size:.78rem;white-space:nowrap;line-height:1.2}label{display:flex;flex-direction:column;gap:.25rem;font-size:.8rem;color:var(--muted)}.app-shell{display:grid;grid-template-columns:200px 1fr;min-height:100vh}.sidebar{background:var(--panel);border-right:1px solid var(--border);padding:1rem;display:flex;flex-direction:column;gap:.35rem}.sidebar h1{font-size:.95rem;margin:0 0 1rem;color:var(--muted)}.sidebar button{text-align:left;border:none;background:transparent}.sidebar button.active{color:var(--accent);font-weight:600}main{padding:1rem 1.25rem;overflow:auto}.card{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:1rem;margin-bottom:1rem}.card h2{margin:0 0 .75rem;font-size:1rem;color:var(--muted)}.row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end}table{width:100%;border-collapse:collapse;font-size:.85rem}th,td{border-bottom:1px solid var(--border);padding:.4rem .5rem;text-align:left}th{color:var(--muted)}.msg{color:var(--ok);font-size:.9rem;min-height:1.25rem}.msg.err{color:var(--danger)}.login-page{max-width:400px;margin:4rem auto;padding:1.5rem}.login-page h1{font-size:1.2rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:50;padding:1rem}.modal{background:var(--panel);border:1px solid var(--border);border-radius:8px;max-width:520px;width:100%;padding:1rem;max-height:90vh;overflow:auto}.modal.modal-wide{max-width:920px}.modal.modal-wide.modal-extra-wide{max-width:min(1200px,98vw)}.dense-table th,.dense-table td{font-size:.72rem;white-space:nowrap;padding:.35rem .45rem}.sidebar{min-height:100vh}
