@import 'https://fonts.googleapis.com/css?family=Handlee|Tenor+Sans|Dancing+Script|Lato|Roboto&display=swap';
#map {width:100%; height:50vh;}
h1 {margin-left:10px; font-family: 'Dancing Script'; color: #000;}
h2 {margin-left:10px; font-family: 'Dancing Script'; color: #000;}
td {font-family: 'Handlee';border-bottom: 2px solid black;}
input {font-family: 'Dancing Script';}
body {background: #c7d0a6; margin:0;overflow-y: scroll;}
.date {width: 10em;border-left: 2px solid black;border-right: 2px solid black;}
.datey {font-weight:bold; width: 10em;border-left: 2px solid black;border-right: 2px solid black;border-bottom: 2px solid black;border-top: 2px solid black;}
.pname {font-weight:bold;}
.cb{clear:both;}
.middle {text-align: center;}
.colss{margin-right:20px;}
table {border-collapse: collapse;}
th {font-family: 'Lato', sans-serif; padding-left:10px; padding-right: 10px; padding-bottom:10px; border-bottom: 2px solid black;}
#stats {margin-left:10px; margin-right: 20px;}
.infoLink {font-family: 'Lato', sans-serif; margin-bottom:5px; font-size: 15px;}
.bold {font-weight: bold;}
#menu {background-color: #585c49; overflow:hidden; padding: 0; margin-bottom: 20px;}
#menu li a {float: left; text-align: center; padding: 10px 12px; text-decoration: none; font-size: 15px; font-family: 'Lato', sans-serif;}
#menu li a:hover {background-color: #ddd; color: black; border-radius: 10px 10px 0 0;}
.active {background-color: #c7d0a6; color: #000000; border-radius: 10px 10px 0 0;}
.inactive {background-color: #585c49; color: #f2f2f2; text-decoration: none;}
.nobullets {list-style:none; margin-top: 0px;}
nav {padding-bottom:10px;}
#buttons {text-align:center;}
#visitform {display: table;}
p.formrow {display:table-row; width:100%}
label.formcell, input.formcell, textarea.formcell {display:table-cell;vertical-align: top;}
.spanCadw {display:inline-block; width:20px; height:20px; background-image: url("icons/cadw.jpg"); margin-right: 5px;}
.spanNT {display:inline-block; width:20px; height:20px; background-image: url("icons/ntlogo.jpg"); margin-right: 5px;}
.spanEH {display:inline-block; width:20px; height:20px; background-image: url("icons/EH.jpg"); margin-right: 5px;}
.spanHS {display:inline-block; width:20px; height:20px; background-image: url("icons/HS.jpg"); margin-right: 5px;}
.pnametext {display:inline;}
.formcell {margin-bottom: 5px; margin-left: 5px;}
footer {margin-top: 10px; background-color: #585c49; font-family: 'Lato', sans-serif; font-size: 12px; color:#f2f2f2;}


/* Navigation and editor session styles. */
#logoutform {display: inline;}
#logoutform button {border: 0; cursor: pointer; background: #585c49; color:#f2f2f2; float:left; text-align:center; padding:10px 12px; font-size:15px; font-family:'Lato',sans-serif;}
#logoutform button:hover {background:#ddd; color:#000; border-radius:10px 10px 0 0;}
.loginbox {margin: 10px; max-width: 28rem; padding-bottom: 1.5rem;}
#loginform {display:flex; flex-direction:column; gap:.6rem; align-items:flex-start;}
#loginform input {font:inherit; padding:.55rem; width:min(95%,24rem); box-sizing:border-box;}
#loginform button {padding:.55rem 1rem; cursor:pointer;}
.login-notice {font-weight:bold;}
.editor-status {margin:10px;}

/* Individual-account sign in and private administrator page. */
[hidden] {display: none !important;}
.account-picker {display:flex;flex-wrap:wrap;gap:.65rem;margin:.8rem 0 1.2rem;}
.account-choice, .loginbox button, .admin-page button {cursor:pointer;border:1px solid #585c49;border-radius:.35rem;padding:.55rem .9rem;background:#f5f5eb;color:#20251a;font:inherit;}
.account-choice:hover, .account-choice:focus-visible, .loginbox button:hover, .admin-page button:hover {background:#e1e7d3;}
.loginbox {max-width:42rem;}
#loginform[hidden] {display:none;}
#loginform input {max-width:100%;}
.admin-page {font-family:'Lato',sans-serif;line-height:1.5;}
.admin-header {padding:.5rem 1rem;background:#585c49;color:white;}
.admin-header h1 {color:white;}
.admin-header a {color:white;}
.admin-main {padding:1rem;max-width:62rem;margin:auto;}
.admin-card, .account-card {border:1px solid #707960;border-radius:.5rem;padding:1rem;margin-bottom:1rem;background:#e7ecd8;}
.account-card {background:#f2f5e8;}
.admin-form {display:flex;flex-wrap:wrap;align-items:end;gap:1rem;margin:.5rem 0;}
.admin-form label {display:flex;flex-direction:column;gap:.35rem;}
.admin-form input, .admin-form select {font:inherit;padding:.55rem;max-width:18rem;min-width:10rem;}
.admin-actions {display:flex;flex-wrap:wrap;gap:1rem;margin-top:.7rem;}
.admin-notice {border:1px solid #585c49;background:white;padding:.8rem;}
.admin-help {font-size:.9rem;}

/* Sign-in is the only public page. No map/history shell is rendered until logged in. */
.login-page #heading {padding:1.25rem .75rem .25rem;}
.login-main {max-width:38rem;margin:2rem auto;padding:0 1rem;}
.login-page .loginbox {max-width:none;background:#e7ecd8;border:1px solid #707960;border-radius:.6rem;padding:1.25rem 1.5rem;}
.login-page .loginbox h2 {margin:.25rem 0 .75rem;}
.login-page .account-choice {min-width:7.5rem;min-height:2.75rem;}
.login-page #loginform {margin-top:1rem;}
.login-page #loginform label {font-family:'Lato',sans-serif;}

/* Authenticated visit-management controls. */
.visit-table-scroll {overflow-x:auto;max-width:100%;margin: .6rem 0 1.2rem;}
.visit-table {width:100%;}
.visit-table th,.visit-table td {padding:.4rem .5rem;vertical-align:top;text-align:left;}
/* Minimal, side-by-side SVG actions; native title tooltips remain visible in scrolling tables. */
.visit-actions {white-space:nowrap;}
.visit-action-group {display:inline-flex;align-items:center;gap:.25rem;vertical-align:middle;}
.visit-actions .visit-icon-button {appearance:none;display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;margin:0;padding:0;border:0;border-radius:.25rem;background:transparent;box-shadow:none;color:#384b36;cursor:pointer;vertical-align:middle;line-height:1;}
.visit-actions .visit-icon-button svg {display:block;width:1.2rem;height:1.2rem;pointer-events:none;}
.visit-actions .visit-icon-button:hover {background:transparent;color:#1d6b42;}
.visit-actions .visit-delete:hover {color:#a42f2f;}
.visit-actions .visit-icon-button:focus-visible {outline:2px solid currentColor;outline-offset:1px;}
.visit-actions .visit-icon-button:disabled {opacity:.45;cursor:wait;}
.sr-only {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.visit-restore,.visit-dialog-actions button {font:inherit;cursor:pointer;padding:.4rem .7rem;border-radius:.3rem;border:1px solid #585c49;background:#f5f5eb;}
.visit-restore:hover,.visit-dialog-actions button:hover {background:#e1e7d3;}
.visit-legacy,#deleted-visits-panel {margin:1rem .8rem;border:1px solid #707960;border-radius:.4rem;padding:.7rem;background:#e7ecd8;}
.visit-legacy summary,#deleted-visits-panel summary {cursor:pointer;font-family:'Lato',sans-serif;font-weight:bold;}
#edit-visit-dialog {max-width:min(94vw,36rem);width:100%;max-height:90vh;overflow-y:auto;border:2px solid #585c49;border-radius:.6rem;padding:1.25rem;background:#f2f5e8;color:#20251a;font-family:'Lato',sans-serif;box-sizing:border-box;}
#edit-visit-dialog::backdrop {background:rgba(0,0,0,.55);}
#edit-visit-form {display:flex;flex-direction:column;gap:.75rem;}
#edit-visit-form label {display:flex;flex-direction:column;gap:.2rem;}
#edit-visit-form input:not([type=checkbox]),#edit-visit-form textarea {font:inherit;padding:.55rem;box-sizing:border-box;width:100%;}
#edit-attendees {display:flex;flex-wrap:wrap;gap:.8rem;border:1px solid #707960;}
#edit-attendees label {flex-direction:row;align-items:center;gap:.25rem;}
.visit-dialog-actions {display:flex;flex-wrap:wrap;gap:.7rem;}
.visit-error {background:#ffe6de;color:#671a09;padding:.6rem;}
.visit-help {font-size:.85rem;margin:0;}
