/* Additions to the legacy calendar stylesheet; no inline styles are used (strict CSP). */
html { font-size: 90%; scroll-behavior: smooth; }
.month-bar { position: sticky; top: 56px; z-index: 900; }
.month-label { min-width: 150px; }
table.cal th { height: 30px; white-space: nowrap; }
table.cal tr.daynums th { border-top: none; height: 10px; }
table.cal td[data-day] { cursor: text; min-width: 1.6rem; }
table.cal td.editing { outline: 2px solid rgb(89, 102, 221); background: #fff !important; color: #000 !important; }
table.cal td.saving { opacity: .6; }
table.cal td.cell-error { outline: 2px solid red; }
table.cal .anchor { display: block; position: relative; top: -195px; visibility: hidden; }
table.cal tr.self td.firstname, table.cal tr.self td.lastname { font-weight: bold; }
.notification { white-space: pre-wrap; }
.fade-out { opacity: 0; transition: opacity .8s ease; }
.app-dialog { border: 1px solid #ccc; border-radius: .3rem; max-width: 800px; width: 90%; padding: 1rem 1.5rem; }
dialog:not([open]) { display: none; }
.app-dialog::backdrop { background: rgba(0, 0, 0, .4); }
.dropdown-menu form { margin: 0; }
.dropdown-menu button.dropdown-item { cursor: pointer; }
.stats .me .form-control, .stats .me .input-group-text { background-color: rgb(226, 0, 116); color: #fff; }
.stats .anon .form-control, .stats .anon .input-group-text { background-color: #fff; color: #fff; }
.snowflake { pointer-events: none; z-index: 2000; }
#goTop { display: none; }
