@import url("https://fonts.googleapis.com/css2?family=Anton&family=Outfit:wght@300;400;500;600;700&family=Syne:wght@500;600;700;800&display=swap");
@property --login-angle { syntax:"<angle>"; inherits:false; initial-value:0deg; }
:root { --black:#050505; --white:#fff; --pink:#ff3fc6; --orange:#ff8800; --bg:#050505; --bg-card:rgba(255,255,255,0.03); --bg-card-hover:rgba(255,255,255,0.06); --border:rgba(255,255,255,0.06); --text:#d4d4d4; --text-muted:#999; --text-heading:#fff; --input-bg:rgba(255,255,255,0.05); --radius:8px; --radius-lg:20px; --ease:cubic-bezier(0.4,0,0.2,1); }
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:Outfit,system-ui,sans-serif; background:var(--bg); color:var(--text); min-height:100vh; font-size:14px; line-height:1.6; position:relative; }
body::before { content:""; position:fixed; inset:0; background:url("data:image/svg+xml,%3Csvg viewBox=%270 0 256 256%27 xmlns=%27http://www.w3.org/2000/svg%27%3E%3Cfilter id=%27n%27%3E%3CfeTurbulence type=%27fractalNoise%27 baseFrequency=%270.9%27 numOctaves=%274%27 stitchTiles=%27stitch%27/%3E%3C/filter%3E%3Crect width=%27100%25%27 height=%27100%25%27 filter=%27url(%23n)%27 opacity=%270.04%27/%3E%3C/svg%3E") repeat; opacity:0.5; pointer-events:none; z-index:0; }
body::after { content:""; position:fixed; inset:0; background:radial-gradient(ellipse at top left, rgba(255,63,198,0.04), transparent 50%), radial-gradient(ellipse at bottom right, rgba(255,136,0,0.03), transparent 50%); pointer-events:none; z-index:0; }
body > * { position:relative; z-index:1; }
h1,h2 { font-family:Anton,sans-serif; text-transform:uppercase; color:var(--text-heading); font-weight:400; }
h1 { font-size:2rem; margin-bottom:1.5rem; }
h2 { font-family:Syne,sans-serif; font-size:1.4rem; margin-bottom:1rem; font-weight:700; text-transform:none; }
h3 { font-family:Syne,sans-serif; font-size:1rem; font-weight:600; color:var(--text-heading); margin-bottom:0.75rem; }
a { color:var(--pink); text-decoration:none; transition:color 0.3s var(--ease); } a:hover { color:var(--orange); }
.container { max-width:480px; margin:0 auto; padding:2rem 1.5rem; } .container.wide { max-width:960px; }
.card { background:var(--bg-card); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); border:1px solid var(--border); border-radius:var(--radius-lg); padding:2rem; transition:all 0.3s var(--ease); }
.form-group { margin-bottom:1.25rem; }
label { display:block; margin-bottom:0.4rem; font-size:0.75rem; font-weight:500; color:var(--text-muted); text-transform:uppercase; letter-spacing:0.05em; font-family:Outfit,sans-serif; }
input[type=text],input[type=password],input[type=email],select { width:100%; padding:0.75rem 1rem; background:var(--input-bg); border:1px solid var(--border); border-radius:var(--radius); color:var(--white); font-family:Outfit,sans-serif; font-size:0.9rem; outline:none; transition:all 0.3s var(--ease); }
input:focus,select:focus { border-color:var(--pink); box-shadow:0 0 0 3px rgba(255,63,198,0.1); }
.btn { display:inline-flex; align-items:center; justify-content:center; padding:0.7rem 1.5rem; background:var(--pink); color:var(--white); border:none; border-radius:var(--radius); font-family:Outfit,sans-serif; font-size:0.85rem; font-weight:600; cursor:pointer; text-decoration:none; transition:all 0.3s var(--ease); text-transform:uppercase; letter-spacing:0.03em; }
.btn:hover { background:var(--orange); color:var(--white); transform:translateY(-1px); box-shadow:0 4px 15px rgba(255,136,0,0.2); }
.btn:active { transform:scale(0.97); }
.btn-danger { background:#dc3545; } .btn-danger:hover { background:#ff4757; box-shadow:0 4px 15px rgba(220,53,69,0.3); }
.btn-ghost { background:transparent; border:1px solid var(--border); color:var(--text); } .btn-ghost:hover { border-color:var(--pink); color:var(--pink); background:rgba(255,63,198,0.05); }
.btn-sm { padding:0.35rem 0.7rem; font-size:0.75rem; }
.alert { padding:0.8rem 1rem; border-radius:var(--radius); margin-bottom:1.25rem; font-size:0.85rem; backdrop-filter:blur(8px); }
.alert-error { background:rgba(220,53,69,0.12); border:1px solid rgba(220,53,69,0.2); color:#ff6b7a; }
.alert-success { background:rgba(40,167,69,0.12); border:1px solid rgba(40,167,69,0.2); color:#6bff8a; }
table { width:100%; border-collapse:collapse; margin-top:1rem; }
th,td { padding:0.7rem 0.8rem; text-align:left; border-bottom:1px solid var(--border); font-size:0.85rem; }
th { color:var(--text-muted); font-weight:600; font-size:0.7rem; text-transform:uppercase; letter-spacing:0.08em; font-family:Syne,sans-serif; }
tbody tr { transition:background 0.2s; }
tbody tr:nth-child(even) { background:rgba(255,255,255,0.015); }
tbody tr:hover { background:rgba(255,255,255,0.04); }
.badge { display:inline-block; padding:0.15rem 0.6rem; border-radius:100px; font-size:0.7rem; font-weight:600; text-transform:uppercase; letter-spacing:0.05em; box-shadow:0 1px 3px rgba(0,0,0,0.2); }
.badge-admin { background:rgba(255,63,198,0.15); color:var(--pink); } .badge-user { background:rgba(255,255,255,0.08); color:var(--text-muted); }
.nav { display:flex; justify-content:space-between; align-items:center; padding:1rem 2rem; border-bottom:1px solid var(--border); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); background:rgba(5,5,5,0.8); position:sticky; top:0; z-index:50; }
.nav-brand { display:flex; align-items:center; text-decoration:none; } .nav-brand img { height:28px; }
.nav-links { display:flex; align-items:center; gap:0.25rem; }
.nav-links a { color:var(--text-muted); text-decoration:none; font-size:0.85rem; font-weight:500; padding:0.5rem 0.9rem; border-radius:100px; transition:all 0.3s var(--ease); position:relative; font-family:Outfit,sans-serif; }
.nav-links a:hover { color:var(--white); background:rgba(255,255,255,0.05); }
.nav-links a.active { color:var(--pink); background:rgba(255,63,198,0.08); }
.nav-initials { width:32px; height:32px; border-radius:50%; background:linear-gradient(135deg, var(--pink), var(--orange)); display:flex; align-items:center; justify-content:center; font-size:0.75rem; font-weight:700; color:#000; margin-left:0.75rem; font-family:Outfit,sans-serif; }
.login-wrapper { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:100vh; padding:2rem; }
.login-logo { margin-bottom:2.5rem; animation:float 3s ease-in-out infinite; } .login-logo img { height:48px; }
.login-card { width:100%; max-width:400px; position:relative; }
.login-card::before { content:""; position:absolute; inset:-1px; border-radius:var(--radius-lg); background:conic-gradient(from var(--login-angle, 0deg), var(--pink), var(--orange), var(--pink)); z-index:-1; opacity:0.4; animation:rotateBorder 4s linear infinite; }
.actions { display:flex; gap:0.5rem; }
.modal-overlay { display:none; position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.8); z-index:100; justify-content:center; align-items:center; backdrop-filter:blur(8px); }
.modal-overlay.active { display:flex; }
.modal { background:rgba(13,13,13,0.95); backdrop-filter:blur(16px); border:1px solid var(--border); border-radius:var(--radius-lg); padding:2rem; max-width:500px; width:90%; max-height:80vh; overflow-y:auto; animation:modalIn 0.3s var(--ease); }
.page-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:1.5rem; } .page-header h1 { margin:0; }
.gradient-text { background:linear-gradient(135deg, var(--pink), var(--orange), var(--pink)); background-size:200% auto; -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; animation:gradientShift 3s ease infinite; }
.app-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(200px, 1fr)); gap:1rem; margin-top:1.5rem; grid-auto-rows:1fr; }
.app-card { background:var(--bg-card); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); border:1px solid var(--border); border-radius:var(--radius-lg); padding:1.5rem; text-decoration:none; color:var(--text); transition:all 0.3s var(--ease); display:block; cursor:pointer; animation:fadeInUp 0.5s var(--ease) both; }
.app-card:hover { background:var(--bg-card-hover); border-color:rgba(255,63,198,0.3); color:var(--text); transform:translateY(-3px); box-shadow:0 0 30px rgba(255,63,198,0.08); }
.app-card .app-icon { font-size:2rem; margin-bottom:0.75rem; display:flex; align-items:center; justify-content:center; width:48px; height:48px; border-radius:14px; background:rgba(255,63,198,0.08); }
.app-card .app-name { font-family:Syne,sans-serif; font-weight:600; font-size:0.95rem; color:var(--white); margin-bottom:0.25rem; }
.app-card .app-desc { font-size:0.8rem; color:var(--text-muted); line-height:1.4; }
.app-card:nth-child(1){animation-delay:0s} .app-card:nth-child(2){animation-delay:0.05s} .app-card:nth-child(3){animation-delay:0.1s} .app-card:nth-child(4){animation-delay:0.15s} .app-card:nth-child(5){animation-delay:0.2s} .app-card:nth-child(6){animation-delay:0.25s} .app-card:nth-child(7){animation-delay:0.3s} .app-card:nth-child(8){animation-delay:0.35s}
.chip { display:inline-flex; align-items:center; gap:0.4rem; padding:0.3rem 0.7rem; border-radius:100px; font-size:0.8rem; border:1px solid var(--border); cursor:pointer; transition:all 0.15s; user-select:none; }
.chip:has(input:checked) { border-color:var(--pink); background:rgba(255,63,198,0.15); color:var(--pink); }
.chip input { display:none; }
.chip-grid { display:flex; flex-wrap:wrap; gap:0.4rem; margin-top:0.5rem; }
.section { margin-bottom:1.5rem; }
.tab-row { display:flex; gap:0.5rem; margin-bottom:1.5rem; }
.tab-row a { padding:0.5rem 1rem; border-radius:var(--radius); font-size:0.85rem; font-weight:500; color:var(--text-muted); text-decoration:none; border:1px solid transparent; position:relative; transition:all 0.3s var(--ease); }
.tab-row a:hover { color:var(--white); } .tab-row a.active { color:var(--pink); border-color:var(--pink); background:rgba(255,63,198,0.08); }
.btn-ms { display:flex; align-items:center; justify-content:center; gap:0.75rem; width:100%; padding:0.85rem 1.5rem; background:rgba(255,255,255,0.04); color:#fff; border:1px solid rgba(255,255,255,0.1); border-radius:var(--radius); font-family:Outfit,sans-serif; font-size:0.95rem; font-weight:500; cursor:pointer; transition:all 0.3s var(--ease); text-decoration:none; backdrop-filter:blur(8px); }
.btn-ms:hover { background:rgba(255,255,255,0.08); border-color:rgba(255,255,255,0.2); color:#fff; box-shadow:0 0 20px rgba(255,255,255,0.05); }
.btn-ms svg { flex-shrink:0; }
.divider { display:flex; align-items:center; gap:1rem; margin:1.5rem 0; color:var(--text-muted); font-size:0.8rem; }
.divider::before,.divider::after { content:""; flex:1; height:1px; background:var(--border); }
.sso-badge { display:inline-flex; align-items:center; gap:0.4rem; padding:0.3rem 0.8rem; border-radius:100px; background:rgba(0,164,239,0.1); border:1px solid rgba(0,164,239,0.2); color:#00a4ef; font-size:0.8rem; font-weight:500; }
@keyframes fadeInUp { from { opacity:0; transform:translateY(20px); } to { opacity:1; transform:translateY(0); } }
@keyframes float { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-4px); } }
@keyframes rotateBorder { from { --login-angle:0deg; } to { --login-angle:360deg; } }
@keyframes gradientShift { 0% { background-position:0% center; } 50% { background-position:200% center; } 100% { background-position:0% center; } }
@keyframes modalIn { from { opacity:0; transform:scale(0.95); } to { opacity:1; transform:scale(1); } }
.nav-burger{display:none;background:none;border:none;cursor:pointer;padding:0.5rem;flex-direction:column;gap:4px}.nav-burger span{display:block;width:20px;height:2px;background:var(--white);border-radius:1px;transition:all 0.3s var(--ease)}
.nav-right{display:none;align-items:center;gap:0.75rem}
@media(max-width:768px){.nav{flex-wrap:wrap}.nav-burger{display:flex}.nav-right{display:flex}.nav-links{display:none;width:100%;flex-direction:column;padding:0.75rem 0;gap:0;order:3}.nav-links a{padding:0.7rem 1rem;border-radius:0;font-size:0.9rem;width:100%}.nav-links a:hover{background:rgba(255,255,255,0.05)}.nav.nav-open .nav-links{display:flex}.nav.nav-open .nav-burger span:nth-child(1){transform:rotate(45deg) translate(4px,4px)}.nav.nav-open .nav-burger span:nth-child(2){opacity:0}.nav.nav-open .nav-burger span:nth-child(3){transform:rotate(-45deg) translate(4px,-4px)}.container{padding:1.25rem 1rem}.container.wide{max-width:100%}h1{font-size:1.5rem}.card{padding:1.25rem;border-radius:var(--radius)}.app-grid{grid-template-columns:1fr 1fr;gap:0.75rem}.app-card{padding:1rem}.app-card .app-icon{font-size:1.5rem;width:38px;height:38px;border-radius:10px}.app-card .app-name{font-size:0.85rem}.app-card .app-desc{font-size:0.75rem}.card table{display:block;overflow-x:auto}.page-header{flex-direction:column;align-items:flex-start;gap:0.75rem}.login-wrapper{padding:1.25rem}.login-card{max-width:100%}.modal{width:95%;padding:1.5rem}.tab-row{overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}.chip{font-size:0.7rem;padding:0.2rem 0.5rem}}
@media(max-width:380px){.app-grid{grid-template-columns:1fr}h1{font-size:1.3rem}.card{padding:1rem}}
.picker { position:relative; }
.picker-input { width:100%; padding:0.5rem 0.75rem; background:var(--input-bg); border:1px solid var(--border); border-radius:var(--radius); color:var(--white); font-family:Outfit,sans-serif; font-size:0.85rem; outline:none; transition:border-color 0.3s; }
.picker-input:focus { border-color:var(--pink); }
.picker-input::placeholder { color:var(--text-muted); }
.picker-dropdown { position:absolute; top:100%; left:0; right:0; background:#1a1a1e; border:1px solid var(--border); border-radius:var(--radius); max-height:200px; overflow-y:auto; z-index:60; display:none; margin-top:4px; }
.picker-dropdown.open { display:block; }
.picker-item { padding:0.5rem 0.75rem; cursor:pointer; font-size:0.85rem; color:var(--text); transition:background 0.15s; }
.picker-item:hover { background:rgba(255,255,255,0.05); color:var(--white); }
.chip-removable { display:inline-flex; align-items:center; gap:0.3rem; padding:0.25rem 0.6rem; border-radius:100px; font-size:0.8rem; border:1px solid var(--border); background:rgba(255,255,255,0.04); color:var(--text); transition:all 0.15s; }
.chip-removable .chip-x { cursor:pointer; opacity:0.5; font-size:0.7rem; padding:0 0.2rem; line-height:1; }
.chip-removable .chip-x:hover { opacity:1; color:var(--pink); }
.chip-removable.removing { opacity:0; transform:scale(0.8); }
.via-group { color:var(--text-muted); font-size:0.8rem; margin-left:0.5rem; }
.stat-grid { display:flex; gap:2rem; flex-wrap:wrap; text-align:center; }
.stat-value { font-size:1.5rem; font-weight:700; color:var(--white); }
.stat-label { font-size:0.75rem; color:var(--text-muted); text-transform:uppercase; letter-spacing:0.05em; }
.pagination { display:flex; gap:0.5rem; justify-content:center; margin-top:1.5rem; }
.pagination a, .pagination span { padding:0.4rem 0.8rem; border-radius:var(--radius); font-size:0.85rem; border:1px solid var(--border); color:var(--text); text-decoration:none; transition:all 0.2s; }
.pagination a:hover { border-color:var(--pink); color:var(--pink); }
.pagination .current { background:var(--pink); color:#fff; border-color:var(--pink); }
.detail-section { background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius-lg); padding:1.5rem; margin-bottom:1.25rem; }
.detail-section h3 { margin-bottom:0.75rem; }
.chip-list { display:flex; flex-wrap:wrap; gap:0.4rem; align-items:center; }
.info-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(200px, 1fr)); gap:0.75rem; }
.info-item label { display:block; font-size:0.7rem; color:var(--text-muted); text-transform:uppercase; letter-spacing:0.05em; margin-bottom:0.15rem; }
.info-item span { color:var(--white); font-size:0.9rem; }
@media(max-width:768px) { .picker-dropdown { position:fixed; left:1rem; right:1rem; max-height:40vh; } .stat-grid { gap:1rem; } .info-grid { grid-template-columns:1fr; } }
.hide-mobile{}@media(max-width:768px){.hide-mobile{display:none}}
.filter-section { display:flex; flex-direction:column; gap:0.75rem; margin-bottom:1.5rem; }
.filter-row { display:flex; gap:0.5rem; align-items:center; flex-wrap:wrap; }
.filter-row select { min-width:120px; }
.filter-row .filter-picker { position:relative; min-width:180px; flex:0 1 240px; }
.active-filters { display:flex; flex-wrap:wrap; gap:0.4rem; align-items:center; }
.active-filters .chip-removable { background:rgba(255,63,198,0.08); border-color:rgba(255,63,198,0.2); }
.active-filters .chip-removable:hover { border-color:var(--pink); }
@media(max-width:768px) { .filter-row { flex-direction:column; align-items:stretch; } .filter-row .filter-picker { flex:1; min-width:100%; } .filter-row select { width:100%; } }
/* Forsiden: sidehoved, søgefelt, hero-kort og sektioner */
.home-head { display:flex; align-items:flex-end; justify-content:space-between; gap:1.5rem; margin-bottom:1.75rem; }
.home-title { display:flex; align-items:flex-start; gap:16px; }
.home-title h1 { margin-bottom:0; letter-spacing:1px; }
.home-sub { color:var(--text-muted); margin-top:6px; }
.home-count { font-size:0.75rem; color:var(--text-muted); white-space:nowrap; flex-shrink:0; padding-bottom:0.35rem; }
.accent-bar { width:6px; align-self:stretch; border-radius:3px; background:linear-gradient(180deg, var(--pink), var(--orange)); }
.home-search { display:flex; align-items:center; gap:12px; background:var(--input-bg); border:1px solid var(--border); border-radius:14px; padding:8px 8px 8px 20px; margin-bottom:36px; transition:border-color 0.2s var(--ease), box-shadow 0.2s var(--ease); }
.home-search:focus-within { border-color:rgba(255,63,198,0.5); box-shadow:0 0 0 3px rgba(255,63,198,0.08); }
.home-search svg { flex-shrink:0; opacity:0.5; }
.home-search input { flex:1; background:transparent; border:none; outline:none; color:var(--white); font-family:Outfit,sans-serif; font-size:15px; padding:10px 0; min-width:0; }
.home-search input::placeholder { color:var(--text-muted); }
.home-search button { font-family:Syne,sans-serif; font-weight:700; font-size:13px; letter-spacing:1px; text-transform:uppercase; color:var(--black); background:var(--pink); border:none; border-radius:10px; padding:12px 28px; cursor:pointer; transition:filter 0.2s var(--ease); }
.home-search button:hover { filter:brightness(1.1); }
.hero-card { display:flex; align-items:center; gap:16px; background:linear-gradient(135deg, rgba(255,63,198,0.12), rgba(255,136,0,0.12)); border:1px solid rgba(255,63,198,0.3); border-radius:var(--radius-lg); padding:20px 24px; margin-bottom:36px; text-decoration:none; color:var(--text); transition:border-color 0.2s var(--ease), transform 0.2s var(--ease), box-shadow 0.2s var(--ease); }
.hero-card:hover { border-color:rgba(255,63,198,0.55); transform:translateY(-2px); box-shadow:0 0 30px rgba(255,63,198,0.12); color:var(--text); }
.hero-card .app-icon { flex-shrink:0; width:48px; height:48px; border-radius:14px; background:rgba(255,63,198,0.15); display:flex; align-items:center; justify-content:center; font-size:22px; margin-bottom:0; }
.hero-card .app-body { min-width:0; }
.hero-card .app-name { font-family:Syne,sans-serif; font-weight:600; font-size:16px; color:var(--white); margin-bottom:0; }
.hero-card .app-desc { font-size:0.8rem; color:var(--text-muted); margin-top:2px; }
.farewell-card { display:flex; align-items:center; gap:16px; background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius-lg); padding:20px 24px; text-decoration:none; color:var(--text); transition:background 0.2s var(--ease), border-color 0.2s var(--ease), transform 0.2s var(--ease); }
.farewell-card:hover { background:var(--bg-card-hover); border-color:rgba(255,63,198,0.35); transform:translateY(-2px); color:var(--text); }
.farewell-card .app-icon { flex-shrink:0; width:48px; height:48px; border-radius:14px; background:rgba(255,63,198,0.08); display:flex; align-items:center; justify-content:center; font-size:22px; margin-bottom:0; }
.farewell-card .app-body { min-width:0; }
.farewell-card .app-name { font-family:Syne,sans-serif; font-weight:600; font-size:16px; color:var(--white); margin-bottom:0; }
.farewell-card .app-desc { font-size:0.8rem; color:var(--text-muted); margin-top:2px; }
.home-section { margin-bottom:2.5rem; }
.section-head { display:flex; align-items:center; gap:16px; margin-bottom:0; }
.section-head::after { content:""; flex:1; height:1px; background:var(--border); }
.section-title { font-family:Syne,sans-serif; font-weight:600; font-size:12px; letter-spacing:2.5px; text-transform:uppercase; color:var(--text-muted); white-space:nowrap; }
.home-grid { grid-template-columns:1fr 1fr; margin-top:16px; }
.home-grid .app-card { display:flex; align-items:flex-start; gap:16px; min-height:132px; }
.home-grid .app-icon { margin-bottom:0; }
.home-grid .app-body { min-width:0; }
.home-grid .app-name { margin-bottom:0; }
.home-grid .app-desc { margin-top:4px; }
.home-none { display:none; text-align:center; color:var(--text-muted); padding:48px 0; }
.home-none strong { color:var(--text); font-weight:500; }
@media(max-width:620px) { .home-grid { grid-template-columns:1fr; grid-auto-rows:auto; } .home-grid .app-card { min-height:0; } .home-head { flex-direction:column; align-items:flex-start; } .home-count { padding-bottom:0; } .home-search button { padding:12px 18px; } .hero-card { padding:16px; } .farewell-card { padding:16px; } }

/* Ikoner (lib/icons.js, 18-09-2026): hvid streg som standard, gradientstreg (.ico-b) paa forsidens kort og i admin */
.ico { width:22px; height:22px; display:inline-block; flex-shrink:0; color:var(--white); vertical-align:middle; }
.ico-b { stroke:url(#sdgrad); }
.ico-sm, .btn-sm .ico, .app-desc .ico { width:14px; height:14px; vertical-align:-3px; }
.app-icon .ico { display:block; }
.app-card .app-icon, .hero-card .app-icon, .farewell-card .app-icon { flex-shrink:0; }
.chip-removable .ico, .ba-pill .ico, .ba-tx .ico, .ba-fchip .ico, .ba-arow .an .i .ico, .ba-pop .prow .i .ico { width:14px; height:14px; margin-right:2px; }
.ba-arow .an .i .ico, .ba-pop .prow .i .ico { margin-right:0; }
.ba-tx > span { display:inline-flex; align-items:center; gap:4px; }
td .ico { display:block; }
h1 .ico { width:0.8em; height:0.8em; vertical-align:-0.06em; margin-right:0.15em; }
.fr-fab-ico .ico { width:14px; height:14px; }
.fr-thanks-ico .ico { width:36px; height:36px; }
@media(max-width:768px) { .app-icon .ico { width:16px; height:16px; } }

/* Fejlrapport paa alle sider: svaevende knap + modal (lib/fejlrapport.js, public/fejlrapport.js) */
.fr-fab { position:fixed; right:24px; bottom:24px; z-index:60; display:inline-flex; align-items:center; gap:8px; padding:10px 16px; border-radius:100px; background:rgba(20,20,20,0.92); border:1px solid rgba(255,255,255,0.12); color:var(--text); font-family:Outfit,sans-serif; font-size:13px; font-weight:500; cursor:pointer; box-shadow:0 8px 24px rgba(0,0,0,0.5); backdrop-filter:blur(12px); transition:all 0.2s var(--ease); }
.fr-fab:hover { color:var(--white); border-color:rgba(255,63,198,0.5); transform:translateY(-1px); }
.fr-fab-ico { width:24px; height:24px; border-radius:8px; background:rgba(255,63,198,0.12); display:flex; align-items:center; justify-content:center; font-size:13px; }
.fr-overlay { display:none; position:fixed; inset:0; z-index:1000; background:rgba(0,0,0,0.75); backdrop-filter:blur(8px); align-items:center; justify-content:center; padding:16px; }
.fr-overlay.active { display:flex; }
.fr-modal { background:rgba(13,13,13,0.97); border:1px solid var(--border); border-radius:var(--radius-lg); padding:28px; max-width:520px; width:100%; max-height:90vh; overflow-y:auto; position:relative; animation:modalIn 0.3s var(--ease); }
.fr-modal h2 { font-family:Anton,sans-serif; font-weight:400; font-size:22px; letter-spacing:1px; text-transform:uppercase; color:var(--white); margin:0 0 4px; }
.fr-close { position:absolute; top:14px; right:16px; background:none; border:none; color:var(--text-muted); font-size:22px; cursor:pointer; line-height:1; }
.fr-ctx { font-size:12.5px; color:var(--text-muted); margin-bottom:18px; }
.fr-intro { font-size:12.5px; color:var(--text-muted); margin:-10px 0 16px; }
.fr-ctx code { font-family:ui-monospace,Consolas,monospace; font-size:12px; color:var(--text); background:rgba(255,255,255,0.05); padding:1px 6px; border-radius:4px; }
.fr-seg { display:inline-flex; background:rgba(255,255,255,0.04); border:1px solid var(--border); border-radius:100px; padding:3px; margin-bottom:18px; }
.fr-seg button { background:none; border:none; color:var(--text-muted); font-family:inherit; font-size:13px; font-weight:600; padding:6px 16px; border-radius:100px; cursor:pointer; }
.fr-seg button.on { background:var(--pink); color:#fff; }
.fr-field { margin-bottom:14px; }
.fr-field label { display:block; font-size:11px; font-weight:600; letter-spacing:0.6px; text-transform:uppercase; color:var(--text-muted); margin-bottom:6px; }
.fr-field textarea { width:100%; padding:10px 12px; border-radius:var(--radius); background:var(--input-bg); color:var(--white); border:1px solid var(--border); font-family:inherit; font-size:0.9rem; resize:vertical; }
.fr-field input[type=file] { width:100%; font-size:12.5px; color:var(--text-muted); }
.fr-hint { font-size:12px; color:var(--text-muted); margin-top:5px; }
.fr-shot-status { font-size:12.5px; color:var(--text-muted); }
.fr-shot-preview { display:none; }
.fr-shot-preview img { display:block; max-width:100%; max-height:180px; border-radius:var(--radius); border:1px solid var(--border); }
.fr-shot-actions button { background:none; border:none; color:var(--text-muted); font-family:inherit; font-size:12px; cursor:pointer; padding:0; margin-top:6px; }
.fr-shot-actions button:hover { color:var(--white); }
.fr-shot.has .fr-shot-preview { display:block; }
.fr-shot.has .fr-shot-status { display:none; }
.fr-error { color:#ff6b6b; font-size:0.85rem; margin-bottom:10px; }
.fr-send { width:100%; }
.fr-thanks { display:none; text-align:center; padding:20px 0 8px; }
.fr-thanks-ico { font-size:36px; margin-bottom:8px; }
.fr-thanks h2 { font-size:18px; }
.fr-thanks p { color:var(--text-muted); margin-bottom:14px; }
.fr-modal.sent form { display:none; }
.fr-modal.sent .fr-thanks { display:block; }
@media(max-width:768px) { .fr-fab { right:14px; bottom:14px; padding:9px 12px; } .fr-modal { padding:20px; } }
body:has(.hra-chat) .fr-fab { bottom:62px; } body:has(.med-refresh) .fr-fab { bottom:76px; }
.nav-badge { display:inline-flex; align-items:center; justify-content:center; min-width:18px; height:18px; padding:0 5px; margin-left:6px; border-radius:9px; background:var(--pink); color:#fff; font-size:11px; font-weight:700; line-height:1; vertical-align:middle; }

/* Fejllog paa profilen (15-09-2026): melderens sager + supportens to felter i admin-listen */
.fl-profil .fl-prof-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px 24px; margin-bottom:18px; }
.fl-profil .fl-prof-grid label { display:block; font-size:11px; font-weight:600; letter-spacing:0.6px; text-transform:uppercase; color:var(--text-muted); margin-bottom:3px; }
.fl-profil .fl-prof-grid span { color:var(--white); font-weight:500; }
.fl-profil .fl-prof-form { display:flex; gap:12px; align-items:flex-end; flex-wrap:wrap; } .fl-profil .fl-prof-form .form-group { flex:1; min-width:200px; margin:0; }
.fl-sec-head { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin:36px 0 6px; padding-bottom:8px; border-bottom:1px solid var(--border); } .fl-sec-head h2 { margin:0; font-size:1rem; } .fl-count { font-size:12.5px; color:var(--text-muted); }
.fl-sec-intro { color:var(--text-muted); margin:0 0 16px; }
.fl-filters { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:16px; } .fl-filters a { font-size:12.5px; font-weight:600; color:var(--text-muted); text-decoration:none; padding:7px 14px; border-radius:var(--radius); background:rgba(255,255,255,0.03); } .fl-filters a.on { background:var(--pink); color:#fff; }
.fl-rep { position:relative; background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius-lg); padding:18px 20px; margin-bottom:12px; scroll-margin-top:90px; } .fl-rep.fl-ny { border-color:rgba(255,63,198,0.35); } .fl-rep.fl-lukket { opacity:0.78; }
.fl-rep.fl-ny::before { content:'Nyt'; position:absolute; top:-9px; left:18px; background:var(--pink); color:#fff; font-size:10px; font-weight:700; letter-spacing:0.6px; text-transform:uppercase; padding:2px 8px; border-radius:100px; }
.fl-head { display:flex; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; gap:8px; margin-bottom:8px; } .fl-left { display:flex; align-items:center; gap:6px; flex-wrap:wrap; } .fl-right { display:flex; align-items:center; gap:10px; font-size:12.5px; color:var(--text-muted); }
.fl-chip { padding:3px 9px; border-radius:6px; font-size:12px; font-weight:600; } .fl-fejl { background:rgba(255,107,107,0.15); color:#ff6b6b; } .fl-forslag { background:rgba(107,200,255,0.15); color:#6bc8ff; } .fl-kat { background:rgba(255,63,198,0.15); color:var(--pink); }
.fl-status { font-weight:600; font-size:12.8px; } .fl-st-modtaget { color:#ff6b6b; } .fl-st-igang { color:#ffb800; } .fl-st-afsluttet { color:var(--text-muted); }
.fl-title { font-family:Syne,sans-serif; font-weight:600; font-size:15px; color:var(--white); margin-bottom:4px; } .fl-desc { color:var(--text-secondary,#bdbdbd); white-space:pre-wrap; margin:0 0 10px; }
.fl-side { font-size:12.5px; color:var(--text-muted); margin-bottom:10px; } .fl-side code { font-family:ui-monospace,Consolas,monospace; font-size:12px; color:var(--text); background:rgba(255,255,255,0.05); padding:1px 6px; border-radius:4px; }
.fl-shots { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:10px; } .fl-shots img { max-width:160px; max-height:110px; border-radius:8px; border:1px solid var(--border); object-fit:cover; display:block; }
.fl-thread { border-top:1px solid var(--border); padding-top:12px; margin-top:4px; display:flex; flex-direction:column; gap:8px; } .fl-thread-admin { margin:0 0 4px; }
.fl-msg { display:grid; grid-template-columns:34px 1fr; gap:10px; align-items:start; } .fl-av { width:34px; height:34px; border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:15px; background:rgba(255,255,255,0.05); }
.fl-msg-support .fl-av { background:rgba(255,63,198,0.12); } .fl-msg-melder .fl-av { background:rgba(107,200,255,0.12); } .fl-msg-system .fl-av, .fl-msg-intern .fl-av { background:rgba(255,255,255,0.04); }
.fl-msg-intern .fl-bubble { background:rgba(255,63,198,0.05); border-left:3px solid var(--pink); padding:8px 12px; border-radius:0 8px 8px 0; } .fl-msg-intern .fl-meta b { color:var(--pink); } .fl-tag { display:inline-block; margin-left:6px; font-size:10px; font-weight:700; letter-spacing:0.6px; text-transform:uppercase; color:var(--pink); }
.fl-meta { font-size:12px; color:var(--text-muted); margin-bottom:2px; } .fl-meta b { color:var(--text); font-weight:600; } .fl-txt { color:var(--text-secondary,#bdbdbd); white-space:pre-wrap; } .fl-msg-system .fl-txt { color:var(--text-muted); font-size:13px; }
.fl-actions { display:flex; gap:8px; align-items:center; flex-wrap:wrap; border-top:1px solid var(--border); padding-top:12px; margin-top:12px; }
.fl-reply, .fl-luk { display:flex; gap:8px; align-items:center; } .fl-reply { flex:1; min-width:260px; } .fl-reply input { flex:1; } .fl-luk input { width:190px; }
.fl-actions input[type=text], .fl-sup-row input[type=text], .fl-overdrag select { padding:0.5rem 0.75rem; border-radius:6px; background:var(--bg); color:var(--white); border:1px solid var(--border); font-family:inherit; font-size:0.85rem; }
.fl-sup-two { display:grid; grid-template-columns:1fr 1fr; gap:12px; border-top:1px solid var(--border); padding-top:12px; margin-top:12px; margin-bottom:0.75rem; }
.fl-sup-box { border:1px solid var(--border); border-radius:12px; padding:12px 14px; } .fl-sup-intern { border-color:rgba(255,63,198,0.3); background:rgba(255,63,198,0.03); } .fl-sup-besked { border-color:rgba(107,200,255,0.3); background:rgba(107,200,255,0.03); }
.fl-sup-lbl { font-size:11px; font-weight:700; letter-spacing:0.6px; text-transform:uppercase; margin-bottom:4px; } .fl-sup-intern .fl-sup-lbl { color:var(--pink); } .fl-sup-besked .fl-sup-lbl { color:#6bc8ff; } .fl-sup-hint { font-size:12px; color:var(--text-muted); margin-bottom:8px; }
.fl-sup-row { display:flex; gap:8px; } .fl-sup-row input { flex:1; min-width:0; }
.fl-overdrag { display:inline-flex; gap:6px; align-items:center; } .fl-overdrag select option { background:#141414; color:#fff; }
@media(max-width:768px) { .fl-profil .fl-prof-grid { grid-template-columns:1fr; } .fl-sup-two { grid-template-columns:1fr; } .fl-right { width:100%; justify-content:flex-start; } .fl-luk input { width:100%; } .fl-luk { flex:1; min-width:200px; } }

/* Brugere og adgang (16-09-2026): een side i admin, adgang pr. person. routes/rettigheder.js + lib/adgang.js */
.ba-sub { color:var(--text-muted); font-size:13px; margin:-1rem 0 1.25rem; }
.ba-std { display:flex; align-items:center; gap:10px; flex-wrap:wrap; padding:10px 14px; margin-bottom:1.25rem; background:rgba(107,255,138,0.04); border:1px solid rgba(107,255,138,0.18); border-radius:var(--radius); font-size:13px; }
.ba-std b { color:var(--white); font-weight:600; }
.ba-std .ba-pill { display:inline-flex; align-items:center; gap:5px; height:30px; padding:0 10px; border-radius:9px; font-size:12px; background:rgba(255,255,255,0.05); border:1px solid var(--border); }
.ba-std .ba-lnk { margin-left:auto; font-size:12.5px; color:var(--pink); cursor:pointer; }
.ba-toolbar { display:flex; gap:8px; align-items:center; flex-wrap:wrap; margin-bottom:0.75rem; }
.ba-search { flex:1; min-width:240px; display:flex; align-items:center; gap:10px; background:var(--input-bg); border:1px solid var(--border); border-radius:12px; padding:4px 8px 4px 14px; transition:border-color .2s var(--ease), box-shadow .2s var(--ease); }
.ba-search:focus-within { border-color:rgba(255,63,198,0.5); box-shadow:0 0 0 3px rgba(255,63,198,0.08); }
.ba-search svg { flex-shrink:0; opacity:.5; }
.ba-search input[type=text] { flex:1; min-width:0; background:transparent; border:none; outline:none; color:var(--white); font-family:inherit; font-size:14.5px; padding:8px 0; box-shadow:none; }
.ba-search kbd { font-family:inherit; font-size:11px; color:var(--text-muted); border:1px solid var(--border); border-radius:6px; padding:2px 7px; }
.ba-toolbar select { width:auto; min-width:160px; padding:0.55rem 0.8rem; font-size:13px; }
.ba-chips { display:flex; gap:6px; flex-wrap:wrap; align-items:center; margin-bottom:1rem; font-size:12.5px; color:var(--text-muted); }
.ba-fchip { display:inline-flex; align-items:center; gap:6px; padding:3px 10px; border-radius:100px; background:rgba(255,63,198,0.08); border:1px solid rgba(255,63,198,0.2); color:var(--text); font-size:12px; }
.ba-fchip span { cursor:pointer; opacity:.6; } .ba-fchip span:hover { opacity:1; color:var(--pink); }
.ba-count { margin-left:auto; }
.ba-dept { margin-bottom:1.25rem; }
.ba-dept-head { display:flex; align-items:center; gap:12px; padding:6px 4px 8px; position:sticky; top:64px; z-index:5; background:rgba(5,5,5,0.94); backdrop-filter:blur(8px); }
.ba-dept-head .ba-ttl { font-family:Syne,sans-serif; font-weight:600; font-size:12px; letter-spacing:2.5px; text-transform:uppercase; color:var(--text-muted); white-space:nowrap; }
.ba-dept-head .ba-ttl b { color:var(--white); margin-left:6px; font-weight:600; letter-spacing:0; font-family:Outfit,sans-serif; font-size:12px; }
.ba-dept-head::after { content:""; flex:1; height:1px; background:var(--border); }
.ba-dept-head .ba-sel { font-size:12px; color:var(--text-muted); display:inline-flex; align-items:center; gap:6px; cursor:pointer; white-space:nowrap; }
.ba-dept-head .ba-sel:hover { color:var(--white); }
.ba-rows { background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius-lg); overflow:hidden; }
.ba-person { display:grid; grid-template-columns:34px 250px 1fr 28px; gap:12px; align-items:center; padding:10px 14px; border-bottom:1px solid var(--border); transition:background .15s; cursor:pointer; }
.ba-person:last-child { border-bottom:none; }
.ba-person:hover { background:rgba(255,255,255,0.025); }
.ba-person.selected { background:rgba(255,63,198,0.05); }
.ba-person.open { background:rgba(255,255,255,0.03); }
.ba-who { display:flex; align-items:center; gap:10px; min-width:0; }
.ba-av { width:32px; height:32px; border-radius:10px; background:rgba(255,63,198,0.10); color:var(--pink); font-size:11px; font-weight:700; display:flex; align-items:center; justify-content:center; flex-shrink:0; letter-spacing:.3px; }
.ba-av.adm { background:linear-gradient(135deg, var(--pink), var(--orange)); color:#000; }
.ba-av.lang { font-size:8px; letter-spacing:0; padding:0 2px; overflow:hidden; white-space:nowrap; }
.ba-nm { color:var(--white); font-weight:500; font-size:13.5px; line-height:1.25; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ba-nm mark { background:rgba(255,63,198,0.3); color:var(--white); border-radius:3px; padding:0 1px; }
.ba-em { font-size:11.5px; color:var(--text-muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ba-em .warn { color:var(--orange); }
.ba-apps { min-width:0; }
.ba-tx { font-size:12.5px; color:var(--text); line-height:1.6; }
.ba-tx > span { white-space:nowrap; }
.ba-tx .is-std { color:var(--text-muted); }
.ba-tx .sep { color:var(--text-muted); opacity:.5; margin:0 2px; }
.ba-tx .adm { font-size:9.5px; font-weight:700; letter-spacing:.5px; text-transform:uppercase; color:var(--orange); margin-left:3px; vertical-align:1px; }
.ba-all { font-size:12.5px; color:var(--text-muted); }
.ba-caret { width:28px; height:28px; border-radius:8px; border:none; background:transparent; color:var(--text-muted); cursor:pointer; font-size:12px; transition:transform .2s var(--ease), color .2s; }
.ba-caret:hover { color:var(--white); background:rgba(255,255,255,0.05); }
.ba-person.open .ba-caret { transform:rotate(90deg); color:var(--pink); }
.ba-chk { width:20px; height:20px; border-radius:6px; border:1px solid rgba(255,255,255,0.2); background:var(--input-bg); display:flex; align-items:center; justify-content:center; cursor:pointer; font-size:12px; color:transparent; transition:all .15s var(--ease); flex-shrink:0; }
.ba-chk:hover { border-color:var(--pink); }
.ba-chk.on { background:var(--pink); border-color:var(--pink); color:#fff; }
.ba-chk.some { background:rgba(255,63,198,0.35); border-color:var(--pink); color:#fff; }
.ba-edit { grid-column:1 / -1; padding:6px 4px 14px 46px; display:grid; grid-template-columns:1fr 240px; gap:16px 32px; cursor:default; }
.ba-edit-h { font-family:Syne,sans-serif; font-weight:600; font-size:11px; letter-spacing:1.5px; text-transform:uppercase; color:var(--text-muted); margin-bottom:6px; display:flex; gap:14px; align-items:baseline; flex-wrap:wrap; }
.ba-edit-h .c { margin-left:auto; font-family:Outfit,sans-serif; letter-spacing:0; text-transform:none; font-weight:500; }
.ba-edit-h .c.o { color:var(--orange); }
.ba-ahead { display:grid; grid-template-columns:1fr 72px 72px; gap:8px; font-size:10px; font-weight:600; letter-spacing:1px; text-transform:uppercase; color:var(--text-muted); text-align:center; padding-bottom:4px; }
.ba-ahead span:first-child { text-align:left; }
.ba-ahead .o { color:var(--orange); }
.ba-arow { display:grid; grid-template-columns:1fr 72px 72px; align-items:center; gap:8px; padding:4px 0; border-bottom:1px solid var(--border); font-size:13px; }
.ba-arow .an { display:flex; align-items:center; gap:8px; color:var(--text); min-width:0; }
.ba-arow .an .i { width:24px; height:24px; border-radius:7px; background:rgba(255,63,198,0.08); display:flex; align-items:center; justify-content:center; font-size:12px; flex-shrink:0; }
.ba-arow .an .t { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ba-arow .an .s { font-size:10px; color:var(--text-muted); margin-left:4px; }
.ba-arow .an .s.d { color:var(--orange); }
.ba-tg { justify-self:center; width:40px; height:22px; border-radius:100px; border:1px solid rgba(255,255,255,0.15); background:var(--input-bg); position:relative; cursor:pointer; transition:all .2s var(--ease); }
.ba-tg::after { content:""; position:absolute; top:3px; left:3px; width:14px; height:14px; border-radius:50%; background:var(--text-muted); transition:all .2s var(--ease); }
.ba-tg.on { background:var(--pink); border-color:var(--pink); } .ba-tg.on::after { left:21px; background:#fff; }
.ba-tg.on.o { background:var(--orange); border-color:var(--orange); }
.ba-tg.lock { cursor:not-allowed; opacity:.55; background:rgba(107,255,138,0.15); border-color:rgba(107,255,138,0.3); } .ba-tg.lock::after { left:21px; background:#6bff8a; }
.ba-tg.na { visibility:hidden; }
.ba-tg.busy { opacity:.5; pointer-events:none; }
.ba-side .fld { margin-bottom:14px; }
.ba-side label { display:block; font-size:10.5px; font-weight:600; letter-spacing:1px; text-transform:uppercase; color:var(--text-muted); margin-bottom:5px; }
.ba-side .v { color:var(--white); font-size:13px; }
.ba-side .hint { font-size:11.5px; color:var(--text-muted); margin-top:4px; line-height:1.45; }
.ba-side select { width:100%; padding:0.55rem 0.8rem; font-size:13px; }
.ba-side .danger { color:#ff6b7a; font-size:12px; cursor:pointer; }
.ba-bar { position:fixed; left:50%; bottom:24px; transform:translateX(-50%) translateY(120%); width:min(912px, calc(100vw - 32px)); background:rgba(16,16,18,0.96); border:1px solid rgba(255,63,198,0.4); border-radius:16px; padding:10px 14px; display:flex; align-items:center; gap:10px; flex-wrap:wrap; z-index:90; box-shadow:0 12px 40px rgba(0,0,0,0.6); transition:transform .3s var(--ease); backdrop-filter:blur(12px); }
.ba-bar.show { transform:translateX(-50%) translateY(0); }
.ba-bar .n { font-weight:600; color:var(--white); font-size:13.5px; padding:0 6px; }
.ba-bar .n b { color:var(--pink); }
.ba-bar .sp { flex:1; }
.ba-bar .clear { font-size:12.5px; color:var(--text-muted); cursor:pointer; padding:6px 8px; } .ba-bar .clear:hover { color:var(--white); }
.ba-pop { position:fixed; z-index:95; background:rgba(18,18,20,0.98); border:1px solid var(--border); border-radius:14px; padding:12px; width:340px; max-height:calc(100vh - 120px); overflow-y:auto; box-shadow:0 12px 40px rgba(0,0,0,0.6); display:none; }
.ba-pop.show { display:block; }
.ba-pop h4 { font-family:Syne,sans-serif; font-size:12px; letter-spacing:1.5px; text-transform:uppercase; color:var(--text-muted); margin-bottom:8px; display:flex; align-items:baseline; gap:8px; }
.ba-pop h4 small { margin-left:auto; font-family:Outfit,sans-serif; letter-spacing:0; text-transform:none; font-weight:400; font-size:11.5px; }
.ba-pop .prow { display:flex; align-items:center; gap:10px; padding:6px 4px; border-radius:8px; cursor:pointer; font-size:13px; color:var(--text); }
.ba-pop .prow:hover { background:rgba(255,255,255,0.04); }
.ba-pop .prow .i { width:24px; height:24px; border-radius:7px; background:rgba(255,63,198,0.08); display:flex; align-items:center; justify-content:center; font-size:12px; flex-shrink:0; }
.ba-pop .prow .st { margin-left:auto; font-size:11px; color:var(--text-muted); }
.ba-pop .prow.dis { opacity:.45; cursor:not-allowed; }
.ba-pop .foot { display:flex; gap:8px; justify-content:flex-end; margin-top:10px; }
.ba-pop .note { font-size:11.5px; color:var(--text-muted); margin:6px 4px 0; line-height:1.4; }
.ba-toast { position:fixed; left:50%; bottom:96px; transform:translateX(-50%) translateY(20px); background:rgba(20,20,20,0.96); border:1px solid rgba(255,63,198,0.4); color:var(--white); padding:10px 18px; border-radius:100px; font-size:13px; opacity:0; pointer-events:none; transition:all .25s var(--ease); z-index:100; box-shadow:0 8px 24px rgba(0,0,0,0.5); display:flex; gap:14px; align-items:center; white-space:nowrap; max-width:calc(100vw - 32px); }
.ba-toast.show { opacity:1; pointer-events:auto; transform:translateX(-50%) translateY(0); }
.ba-toast b { color:var(--pink); }
.ba-toast.err { border-color:rgba(255,107,122,0.5); }
.ba-toast .undo { color:var(--pink); cursor:pointer; font-weight:600; }
.ba-empty { text-align:center; color:var(--text-muted); padding:40px 0; }
.ba-empty a { cursor:pointer; }
.ba-adv { display:none; gap:0.5rem; align-items:center; } .ba-adv.show { display:flex; }
@media(max-width:768px) { .ba-person { grid-template-columns:26px 1fr 28px; } .ba-person .ba-apps { grid-column:1 / -1; padding-left:38px; } .ba-edit { grid-template-columns:1fr; padding-left:0; } .ba-dept-head { top:0; } .ba-search { min-width:100%; } .ba-toolbar select { width:100%; } .ba-sub { margin-top:0; } }
/* Brugere og adgang: rundvisning (spotlight + pil + tekstboks), samme udtryk som HR-appens .hra-tour */
.ba-tour { position:fixed; inset:0; z-index:120; display:none; }
.ba-tour.open { display:block; }
.ba-tour-spot { position:fixed; border-radius:12px; box-shadow:0 0 0 9999px rgba(5,5,5,0.72), 0 0 0 1px var(--pink), 0 0 28px rgba(255,63,198,0.35); transition:top 0.25s var(--ease), left 0.25s var(--ease), width 0.25s var(--ease), height 0.25s var(--ease); pointer-events:none; }
.ba-tour-box { position:fixed; width:360px; max-width:calc(100vw - 24px); background:#0d0d0d; border:1px solid rgba(255,63,198,0.35); border-radius:var(--radius-lg); padding:18px 20px 16px; box-shadow:0 12px 40px rgba(0,0,0,0.6); transition:top 0.25s var(--ease), left 0.25s var(--ease); }
.ba-tour-box::before { content:""; position:absolute; width:14px; height:14px; background:#0d0d0d; border-left:1px solid rgba(255,63,198,0.35); border-top:1px solid rgba(255,63,198,0.35); transform:rotate(45deg); left:var(--arrow-x, 40px); top:-8px; }
.ba-tour-box.above::before { top:auto; bottom:-8px; transform:rotate(225deg); }
.ba-tour-box.right::before { left:-8px; top:var(--arrow-y, 24px); transform:rotate(-45deg); }
.ba-tour-box.left::before { left:auto; right:-8px; top:var(--arrow-y, 24px); transform:rotate(135deg); }
.ba-tour-box.noarrow::before { display:none; }
.ba-tour-eyebrow { font-family:Syne,sans-serif; font-weight:600; font-size:10.5px; letter-spacing:2px; text-transform:uppercase; color:var(--pink); }
.ba-tour-title { font-family:Syne,sans-serif; font-weight:600; font-size:15px; color:var(--white); margin-top:4px; }
.ba-tour-text { font-size:13.5px; line-height:1.55; color:var(--text); margin-top:6px; }
.ba-tour-btns { display:flex; align-items:center; gap:10px; margin-top:14px; }
.ba-tour-btns .btn-sm { padding:6px 14px; font-size:12px; }
.ba-tour-skip { margin-left:auto; background:none; border:none; color:var(--text-muted); font-size:12px; cursor:pointer; font-family:Outfit,system-ui,sans-serif; padding:4px 0; }
.ba-tour-skip:hover { color:var(--white); }
@media(max-width:768px) { .ba-tour-box::before { display:none; } }
/* App- og gruppesidens personliste (laesevisning, 17-09-2026) */
.ba-who-list { display:grid; grid-template-columns:1fr 1fr; gap:2px 28px; }
.ba-who-row { display:flex; align-items:center; gap:10px; padding:7px 0; border-bottom:1px solid var(--border); font-size:13.5px; min-width:0; }
.ba-who-row a { color:var(--white); font-weight:500; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ba-who-row .k { font-size:9.5px; font-weight:700; letter-spacing:.5px; text-transform:uppercase; color:var(--orange); }
.ba-who-row .em { color:var(--text-muted); font-size:11.5px; margin-left:auto; white-space:nowrap; }
@media(max-width:768px) { .ba-who-list { grid-template-columns:1fr; } .ba-who-row .em { display:none; } }
