/* inlogknop en vensters; de kleuren komen uit :root in index.html */
.auth { position: relative; flex-shrink: 0; margin-bottom: 9px; margin-left: auto; }
.auth[hidden] { display: none; }
.auth + .lang { margin-left: 8px; }
.abtn { background: var(--panel); border: 1px solid var(--line); border-radius: 8px; color: var(--text); padding: 7px 12px; font: inherit; font-weight: 600; cursor: pointer; white-space: nowrap; transition: border-color .15s ease-out; }
.abtn:hover { border-color: var(--accent); }
.auth.in .abtn { color: var(--accent); }
.amenu { position: absolute; top: calc(100% + 6px); right: 0; z-index: 40; min-width: 190px; padding: 4px; background: #132733; border: 1px solid var(--line); border-radius: 10px; box-shadow: 0 10px 30px rgba(0, 0, 0, .55); }
.amenu[hidden] { display: none; }
.amenu a, .amenu button { display: block; width: 100%; box-sizing: border-box; padding: 8px 10px; border: 0; border-radius: 7px; background: none; color: var(--text); font: inherit; text-align: left; text-decoration: none; cursor: pointer; }
.amenu a:hover, .amenu button:hover { background: var(--chip); }
.abackdrop { position: fixed; inset: 0; z-index: 100; display: flex; align-items: center; justify-content: center; padding: 16px; overflow-y: auto; background: rgba(5, 12, 17, .72); }
.abackdrop[hidden] { display: none; }
.adlg { width: min(400px, 100%); margin: auto; padding: 22px; color: var(--text); background: #132733; border: 1px solid var(--line); border-radius: 12px; box-shadow: 0 20px 60px rgba(0, 0, 0, .6); }
.adlg h2 { margin: 0 0 14px; font-size: 20px; }
.aintro { margin: 0 0 14px; color: var(--accent2); line-height: 1.4; }
.afield { display: block; margin-bottom: 12px; }
.afield span { display: block; margin-bottom: 4px; font-size: 13px; font-weight: 600; color: var(--muted); }
.afield input { display: block; width: 100%; box-sizing: border-box; font-size: 16px; }
.ahint { margin: -4px 0 12px; font-size: 13px; color: var(--muted); }
.atoast { position: fixed; left: 50%; bottom: 20px; z-index: 70; transform: translateX(-50%); max-width: calc(100vw - 32px); margin: 0; padding: 10px 16px; color: #ffc9c9; background: #132733; border: 1px solid #d95c5c; border-radius: 10px; box-shadow: 0 10px 30px rgba(0, 0, 0, .55); }
.atoast[hidden] { display: none; }
/* zonder recht geen knoppen; de server weigert het toch */
body:not(.can-view) nav button[data-tab="mine"] { display: none; }
body:not(.can-edit) #mapMark, body:not(.can-edit) #btnPlace, body:not(.can-edit) .madd, body:not(.can-edit) #imp, body:not(.can-edit) label:has(> #imp) { display: none; }
.adlg form { margin: 0; }
.aerr { margin: 0 0 12px; padding: 8px 10px; color: #ffc9c9; background: rgba(217, 92, 92, .16); border-radius: 8px; line-height: 1.35; }
.aerr[hidden] { display: none; }
.abtns { display: flex; justify-content: flex-end; gap: 8px; }
@media (max-width: 820px) { .navrow .auth { position: absolute; top: 12px; right: 112px; margin: 0; z-index: 2; } .auth + .lang { margin-left: 0; } }
