/* Bohemia ID susiejimas ir kiti security-hardening ekranai. Įkeliama po visų kitų stilių. */
.instructions{margin:16px 0;padding:16px 18px;border:1px solid var(--line);border-left:3px solid var(--gold);background:var(--bg);color:var(--text);line-height:1.55}
.instructions h3,.instructions h4{margin:0 0 10px;font-family:'Barlow Condensed',Arial,sans-serif;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--gold)}
.instructions h3{font-size:19px}.instructions h4{margin-top:16px;font-size:16px}
.instructions ol{margin:0 0 12px;padding-left:22px}.instructions li{margin:4px 0}
.instructions p{margin:10px 0}
.instructions dl{margin:0}.instructions dl>div{padding:8px 0;border-top:1px solid var(--line)}
.instructions dt{font-weight:600;color:var(--text)}.instructions dd{margin:2px 0 0;color:var(--muted)}
.instructions code{padding:1px 5px;border:1px solid var(--line);background:var(--panel);color:var(--gold);font-family:Consolas,'Courier New',monospace;overflow-wrap:anywhere}
.verify-code{display:block;margin:6px 0 4px;padding:12px 16px;border:1px solid var(--gold);background:var(--bg);color:var(--gold);font:700 30px/1.2 Consolas,'Courier New',monospace;letter-spacing:.18em;overflow-wrap:anywhere;width:fit-content;max-width:100%}
/* Link_Reminder (17.1) ir nario kodo eiga profilyje (17.11, 17.15). */
.link-reminder{border-left:3px solid var(--gold)}
.link-reminder>p{margin:6px 0 12px;color:var(--text)}
.member-link-flow{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.member-link-flow:focus{outline:none}.member-link-flow:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.member-link-flow h3{margin:4px 0 10px}
.bohemia-link-details{color:var(--text)}
.bohemia-id{overflow-wrap:anywhere}
/* Staff_View Bohemia ID būsena, „Rodyti“, „Atsieti“, „Patvirtinti rankiniu būdu“ (14.8–14.10, 24.1, 32.1–32.3, 32.15). */
.bohemia-status{margin:8px 0;color:var(--text);line-height:1.8}
.bohemia-staff{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px 8px;max-width:100%}
.bohemia-staff .link-kind{color:var(--muted)}
.bohemia-staff .outline{padding:6px 10px;font-size:11px}
.link-button{border:0;background:transparent;padding:2px 0;color:var(--gold);font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.link-button:hover{color:var(--text)}
.link-button:disabled{opacity:.6;cursor:wait}
.bohemia-staff .bohemia-id{padding:1px 6px;border:1px solid var(--line);background:var(--bg);color:var(--gold);font-family:Consolas,'Courier New',monospace;font-size:12px}
.bohemia-unverified{color:var(--gold)}
.incomplete-registrations{margin-top:18px}
.incomplete-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.incomplete-list .request{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}
.incomplete-list h3{margin:0 0 4px}
#manual-dialog label{display:block;margin-bottom:6px;color:var(--text)}
#manual-dialog input{width:100%;box-sizing:border-box;font-family:Consolas,'Courier New',monospace}
#manual-dialog .form-error:empty{display:none}
#manual-target{color:var(--muted);margin:4px 0 14px}
/* Deletion_Form „Ištrinti paskyrą“ (26.1, 26.2): savo profilio paskutinis skydelis ir registracijos žingsnių pabaiga. */
.danger-zone{margin-top:18px;border:1px solid #976051;border-left:3px solid #d98b7e}
.panel .danger-zone{background:var(--bg)}
.danger-zone h3{margin:0 0 10px;color:#d98b7e}
.danger-zone p{margin:8px 0;color:var(--text);line-height:1.6}
.danger-zone form{margin-top:14px}
.danger-zone .season-check{margin:10px 0}
.danger-zone label[for="delete-word"]{display:block;margin:10px 0 6px;color:var(--text)}
.danger-zone #delete-word{width:100%;max-width:320px;box-sizing:border-box;font-family:Consolas,'Courier New',monospace;letter-spacing:.08em}
.danger-zone .form-error:empty{display:none}
.danger-zone button:disabled{opacity:.45;cursor:not-allowed}
/* Playtime (27.5, 27.7): narių sąrašo „Žaista“ ir kario bylos skydelis. */
.member-playtime{display:flex;gap:8px;align-items:baseline;margin:6px 0;font-size:13px}
.member-playtime dt{color:var(--muted);font-family:'Barlow Condensed',Arial,sans-serif;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.member-playtime dd{margin:0;color:var(--text)}
.playtime-lines{list-style:none;margin:0;padding:0;display:grid;gap:6px;color:var(--text)}
.playtime-lines strong{color:var(--gold)}
.playtime-note{margin:12px 0 0}
/* Discord_Sync_Panel (19.6, 19.7, 20.17): rolių lentelė slenka tik savo dėžutėje, ne visas puslapis. */
.table-scroll{overflow-x:auto;max-width:100%}
.discord-sync-panel .table-scroll{border:1px solid var(--line);margin:14px 0 10px}
.discord-sync-table{width:100%;min-width:520px;border-collapse:collapse;font-size:13px}
.discord-sync-table th{text-align:left;font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);font-weight:600;padding:10px 12px;background:#141914;border-bottom:1px solid var(--line);white-space:nowrap}
.discord-sync-table td{padding:8px 12px;border-bottom:1px solid #262c24;vertical-align:middle;color:var(--text)}
.discord-sync-table tr:last-child td{border-bottom:0}
.discord-sync-table label{color:var(--text);font-weight:600}
.discord-sync-table select{width:100%;min-width:200px}
.discord-sync-table input{width:100%;max-width:140px;box-sizing:border-box}
.discord-sync-panel .form-error:empty{display:none}
.discord-sync-panel .inline-buttons{margin:10px 0}
.discord-sync-summary{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}
.discord-sync-summary p{margin:6px 0;color:var(--text)}
.discord-sync-summary strong{color:var(--gold)}
.discord-sync-summary h3{margin:14px 0 8px;font-size:14px;color:var(--text)}
.discord-sync-problems{list-style:none;margin:0;padding:0;display:grid;gap:6px;color:var(--text);overflow-wrap:anywhere}
.discord-sync-problems strong{color:var(--text)}
.discord-sync-problems time{color:var(--muted);font-size:12px}
/* Server_Status ir Online_Members_List pradžios puslapyje (21.10, 21.11, 22.4–22.6). */
.home-live{display:grid;gap:12px;margin:18px 0}
.server-status{display:grid;gap:4px;padding:18px 22px;border-left:3px solid var(--gold)}
.server-status .eyebrow{margin-bottom:4px}
.server-status-label{color:var(--muted);font-size:12px}
.server-status-count{font:600 40px/1.05 'Barlow Condensed',Arial,sans-serif;color:var(--text);overflow-wrap:anywhere}
.server-status-line{color:var(--muted);font-size:12px;overflow-wrap:anywhere}
.online-members{padding:18px 22px}
.online-members h2{margin:0 0 10px;font-size:22px}
.online-members .role-note{margin:0}
.online-members-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.online-members-list li{padding:6px 10px;border:1px solid var(--line);background:var(--bg);color:var(--text);overflow-wrap:anywhere;max-width:100%}
.online-rank{color:var(--gold);font-weight:600}
/* Naujų ekranų skydeliai be savo vidinio tarpo (25.3–25.6): tekstas neprilimpa prie rėmelio. */
.link-reminder,.bohemia-panel,.danger-zone{padding:22px}
.bohemia-panel h3{margin:0 0 10px}
.playtime-panel>.playtime-lines{padding:18px 22px 0}
.playtime-panel>.playtime-note{margin:0;padding:12px 22px 20px}
.incomplete-registrations>.role-note{margin:14px 22px 0}
.incomplete-registrations>.empty{padding:22px}
.incomplete-registrations .incomplete-list{padding:14px 22px 22px}
.incomplete-list .request{margin:0;padding:14px 16px;border:1px solid var(--line);background:var(--bg)}
/* UI peržiūra (design 18, 23.1): matomas fokusas visiems valdikliams. :is() įvestims, kad nugalėtų style.css „input:focus“ 1 px kontūrą. */
:where(button,a,input,select,textarea,summary,[tabindex]:not([tabindex="-1"])):focus-visible{outline:2px solid var(--gold);outline-offset:2px}
:is(input,select,textarea):focus-visible{outline:2px solid var(--gold);outline-offset:2px}
/* Kontrastas (23.3): tekstas žemiau 4,5:1 ant --panel #191e19 / --bg #111512.
   #737d6b (.sidebar-bottom small, 3,93:1), #7c8473 (.activity-none, 4,36:1), #78806f (.nav-label, 4,12:1 ant #161b16) ir #69765f (footer, 3,51:1) → var(--muted) #939b8c (5,89:1 ant --panel).
   #738052 (.welcome-features section>span, 3,98:1) → #9aa774 (6,57:1). Balta ant #789551 (.orbat-tools button.tool-active, 3,38:1) → fonas #5b7340 (5,29:1).
   Raudoni #a2574d ir #976051 naudojami tik rėmeliams, ne tekstui; raudonas tekstas lieka #d98b7e (6,40:1) ir #e1b4a4 (9,08:1). */
.sidebar-bottom small,.activity-none,.nav-label,footer{color:var(--muted)}
.welcome-features section>span{color:#9aa774}
.orbat-tools button.tool-active{background:#5b7340}
/* 360 px telefonai (23.2): puslapis neslenka į šoną; lentelės ir ORBAT lenta slenka tik savo dėžutėje. Be overflow-x:hidden ant html/body. */
@media (max-width:420px){
main{padding:18px 12px}
.month-panel,.orbat-toolbar,.orbat-inspector,.orbat-footer,.discord-connection,.server-status,.online-members,.auth-panel,.help-box,.season-panel,.day-agenda,.activity-panel,.access-panel,.name-panel,.discord-profile,.identity,.rank-card,.stat,.assignment,.member,.award-item,.empty,.operation,.request,.admin-tools,.join-hero,.admin-columns>.panel,.dashboard-bottom>.panel,.link-reminder,.bohemia-panel,.danger-zone,.instructions{padding:16px}
.playtime-panel>.playtime-lines{padding:16px 16px 0}
.playtime-panel>.playtime-note{padding:12px 16px 16px}
.incomplete-registrations>.role-note{margin:12px 16px 0}
.incomplete-registrations .incomplete-list{padding:12px 16px 16px}
.incomplete-registrations>.empty{padding:16px}
.inline-buttons,.page-title{flex-wrap:wrap;gap:8px}
:where(main) table:not(.table-scroll table){display:block;overflow-x:auto;max-width:100%}
:where(main) :where(img,canvas,video){max-width:100%;height:auto}
:where(main) svg:not(.orbat-lines){max-width:100%}
code,.bohemia-id,.verify-code{overflow-wrap:anywhere}
.verify-code{font-size:24px;letter-spacing:.12em}
.stats{grid-template-columns:repeat(2,1fr)}
.orbat-workspace{grid-template-columns:minmax(0,1fr)}
.orbat-workspace>*{min-width:0}
.orbat-viewport{width:100%;max-width:100%;overflow:hidden}
}
/* Telefono maketas (design 27, 33.1–33.8). Nuo 800 px niekas nesikeičia: .desktop-editor tada neturi savo dėžutės (display:contents),
   todėl ORBAT tinklelis, įrankių juostos ir laipsnių kortelės išsidėsto taip pat, kaip be apvalkalo. */
.desktop-editor{display:contents}
.rank-setting .rank-uniform-preview+.desktop-editor>button{margin-top:4px}
#arma-config{width:100%;box-sizing:border-box}
@media (max-width: 799px){
/* Touch_Target bent 44 × 44 px (33.3). :is() perima stipriausio sąrašo nario specifiškumą, todėl nugali .calendar-event{min-height:34px} ir panašias taisykles. Nuorodos tekste nekeičiamos. */
:is(button,select,input:not([type=checkbox],[type=radio]),summary,.link-button,.rsvp-button,.calendar-event,.calendar-day-number,.calendar-more,.sidebar nav button,[role=button]){min-height:44px;min-width:44px}
.link-button{display:inline-flex;align-items:center}
input:is([type=checkbox],[type=radio]){width:24px;height:24px;min-width:24px;flex:none}
label:has(>input:is([type=checkbox],[type=radio])){min-height:44px}
:where(label:has(>input:is([type=checkbox],[type=radio]))){display:flex;align-items:center;gap:10px}
/* Kalendoriaus langeliai lieka 7 stulpeliuose: mygtukai 44 px aukščio per visą langelio plotį, langelis auga į aukštį. */
.calendar-day :is(.calendar-event,.calendar-day-number,.calendar-more){min-width:0}
.calendar-day .calendar-day-number{align-self:stretch;text-align:left}
/* Navigacija lūžta į kelias eilutes, o ne slenka į šoną už ekrano (33.4). */
.sidebar nav{flex-wrap:wrap;overflow-x:visible;gap:4px}
/* Desktop_Editors (33.6–33.8): redagavimo valdikliai paslepiami, rodomas Editor_Note. */
.desktop-editor{display:none!important}
.editor-note,.editor-note[hidden]{display:block!important}
.editor-note{margin:10px 0 0;flex-basis:100%}
.page-title .editor-note{margin:0;max-width:220px;flex-basis:auto}
/* ORBAT lenta judinama ir didinama tik savo dėžutėje (33.4, 33.7). */
.orbat-viewport{height:min(460px,70vh)}
/* Dialogai visada telpa ekrane, turinys slenka dialogo viduje (33.5). */
dialog,#calendar-dialog,#course-dialog,#orbat-dialog,#decoration-dialog,#manual-dialog{max-width:calc(100vw - 24px);max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);overflow:auto;box-sizing:border-box}
dialog :is(.inline-buttons,.request-actions,.rsvp-buttons,.orbat-tools){flex-wrap:wrap}
dialog .dialog-head{gap:8px}
}
@media (max-width:599px){
dialog{padding:16px}
dialog h2{font-size:26px;overflow-wrap:break-word}
}
@media (max-width:420px){
header{height:auto;min-height:55px;flex-wrap:wrap;gap:6px 10px;padding-top:6px;padding-bottom:6px}
footer{flex-wrap:wrap}
:where(main) :where(h1,h2,h3){overflow-wrap:break-word}
}
