
:root{
    --bg:#101113;
    --panel:#15171a;
    --panel2:#191b1e;
    --line:rgba(255,255,255,.78);
    --line-soft:rgba(255,255,255,.18);
    --text:#f3f3f1;
    --muted:#a9aaad;
    --cut:28px;
}
*{box-sizing:border-box}
html{background:var(--bg);color:var(--text)}
body{
    margin:0;
    min-height:100vh;
    font-family:Arial,Helvetica,sans-serif;
    background:
      radial-gradient(circle at 72% 18%,rgba(255,255,255,.045),transparent 32%),
      linear-gradient(145deg,#0e0f11 0%,#15171a 52%,#0d0e10 100%);
}
a{color:inherit;text-decoration:none}
.page-shell{width:min(1480px,calc(100% - 40px));margin:0 auto;padding:28px 0 24px}
.topbar{
    display:flex;justify-content:space-between;align-items:center;
    padding:10px 0 24px;border-bottom:1px solid var(--line-soft)
}
.brand{display:flex;align-items:center;gap:18px;min-width:0}
.brand-mark{width:66px;height:54px;object-fit:contain;object-position:left center}
.brand-copy{display:flex;flex-direction:column;gap:7px;min-width:0}
.brand-copy strong{font-size:17px;letter-spacing:.27em;font-weight:500;white-space:nowrap}
.brand-copy span{font-size:9px;letter-spacing:.42em;color:var(--muted);white-space:nowrap}
.identity{display:flex;align-items:center;gap:10px;text-align:right}
.identity>div{display:flex;flex-direction:column;gap:4px}
.identity strong{font-size:13px;letter-spacing:.14em;font-weight:500}
.identity-label{font-size:8px;color:var(--muted);letter-spacing:.35em}
.status-dot{width:7px;height:7px;border-radius:50%;background:#e8e8e6;box-shadow:0 0 14px rgba(255,255,255,.45)}
.cut-corner{
    clip-path:polygon(0 0,calc(100% - var(--cut)) 0,100% var(--cut),100% 100%,0 100%);
}
.hero{
    min-height:310px;border:1px solid var(--line);margin-top:34px;padding:52px;
    display:flex;justify-content:space-between;align-items:flex-end;
    background:linear-gradient(120deg,rgba(255,255,255,.025),rgba(255,255,255,.008));
    position:relative
}
.hero:after{
    content:"";position:absolute;left:0;bottom:0;width:150px;height:8px;
    background:repeating-linear-gradient(135deg,transparent 0 4px,rgba(255,255,255,.7) 4px 6px,transparent 6px 10px)
}
.eyebrow{font-size:9px;letter-spacing:.38em;color:var(--muted)}
.hero h1{font-size:clamp(36px,6vw,78px);line-height:.96;letter-spacing:.08em;font-weight:300;margin:18px 0 0}
.hero-note{min-width:280px;padding:0 0 7px 40px;border-left:1px solid var(--line-soft)}
.hero-note .rule{display:block;width:58px;border-top:1px solid var(--line);margin-bottom:24px}
.hero-note p{font-size:13px;line-height:1.8;letter-spacing:.16em;color:#d7d7d5;margin:0}
.apps-head{display:flex;justify-content:space-between;align-items:flex-end;margin:52px 0 18px}
.apps-head h2{font-weight:400;font-size:22px;letter-spacing:.14em;margin:9px 0 0;text-transform:uppercase}
.text-link{font-size:10px;letter-spacing:.28em;color:#d9d9d7;padding:10px 0}
.app-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.app-card,.empty-card{
    min-height:250px;border:1px solid var(--line-soft);background:rgba(255,255,255,.018);
    padding:25px;display:flex;flex-direction:column;justify-content:space-between;
    transition:background .18s ease,border-color .18s ease,transform .18s ease
}
.app-card:hover{background:rgba(255,255,255,.055);border-color:var(--line);transform:translateY(-2px)}
.app-top,.app-meta{display:flex;justify-content:space-between;align-items:center}
.app-index,.app-meta{font-size:8px;letter-spacing:.3em;color:var(--muted)}
.arrow{font-size:18px;font-weight:200}
.app-body h3{font-size:25px;font-weight:300;letter-spacing:.1em;text-transform:uppercase;margin:0 0 12px}
.app-body p,.empty-card p,.add-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.7;letter-spacing:.08em}
.app-meta{padding-top:20px;border-top:1px solid var(--line-soft)}
.add-card{justify-content:center;align-items:flex-start;gap:28px}
.plus{font-size:48px;font-weight:200;line-height:1}
footer{
    display:flex;justify-content:space-between;gap:20px;margin-top:50px;padding-top:16px;
    border-top:1px solid var(--line-soft);font-size:8px;letter-spacing:.34em;color:var(--muted)
}

/* Developer / setup pages */
.panel{
    margin-top:34px;border:1px solid var(--line-soft);padding:28px;background:rgba(255,255,255,.015)
}
.panel h1,.panel h2{font-weight:300;letter-spacing:.13em;text-transform:uppercase}
.panel h1{font-size:30px}.panel h2{font-size:18px;margin-top:0}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
label{display:block;font-size:9px;letter-spacing:.22em;color:var(--muted);margin:15px 0 7px;text-transform:uppercase}
input,select,textarea{
    width:100%;border:1px solid var(--line-soft);background:#101113;color:var(--text);
    padding:12px 13px;border-radius:0;font:inherit;font-size:13px
}
textarea{min-height:90px;resize:vertical}
button,.button{
    display:inline-block;margin-top:18px;border:1px solid var(--line);background:transparent;color:var(--text);
    padding:12px 18px;font-size:9px;letter-spacing:.25em;text-transform:uppercase;cursor:pointer
}
button:hover,.button:hover{background:#f0f0ee;color:#111}
.notice{border-left:2px solid var(--line);padding:12px 14px;background:rgba(255,255,255,.025);font-size:12px;line-height:1.6}
.error{border-left-color:#fff}
code{background:#0b0c0d;border:1px solid var(--line-soft);padding:2px 5px}
.table{width:100%;border-collapse:collapse;font-size:12px}
.table th,.table td{text-align:left;padding:12px;border-bottom:1px solid var(--line-soft)}
.table th{font-size:8px;letter-spacing:.23em;color:var(--muted);font-weight:400}
.muted{color:var(--muted)}

@media(max-width:900px){
    .app-grid{grid-template-columns:1fr 1fr}
    .hero{padding:34px;min-height:280px}
    .hero-note{display:none}
    .grid-2{grid-template-columns:1fr}
}
@media(max-width:620px){
    .page-shell{width:min(100% - 24px,1480px);padding-top:14px}
    .brand-copy strong{font-size:12px;letter-spacing:.18em}
    .brand-copy span{font-size:7px;letter-spacing:.23em}
    .brand-mark{width:48px;height:42px}
    .identity-label{display:none}
    .identity strong{font-size:11px}
    .hero{margin-top:18px;padding:26px;min-height:230px}
    .hero h1{font-size:38px;letter-spacing:.06em}
    .app-grid{grid-template-columns:1fr}
    .app-card,.empty-card{min-height:205px}
    .apps-head{margin-top:36px}
    footer{flex-direction:column;line-height:1.7}
}

/* v5 dashboard / manager */
.dashboard-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:18px;margin-top:18px}
.dashboard-panel{margin-top:0;min-height:210px}
.section-title-row{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:18px}
.section-title-row h2{margin:8px 0 0!important}
.presence-list{display:flex;flex-direction:column;gap:12px}
.presence-row{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--line-soft)}
.presence-row>div{display:flex;flex-direction:column;gap:5px}
.presence-row strong{font-size:12px;letter-spacing:.12em;font-weight:500}
.presence-row span:not(.presence-dot){font-size:8px;letter-spacing:.18em;color:var(--muted)}
.presence-dot{width:8px;height:8px;border-radius:50%;border:1px solid #777;background:transparent}
.presence-dot.online{background:#eee;border-color:#eee;box-shadow:0 0 12px rgba(255,255,255,.4)}
.activity-list{display:flex;flex-direction:column}
.activity-row{display:grid;grid-template-columns:92px 100px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid var(--line-soft);align-items:center;font-size:11px}
.activity-row strong{font-weight:500;letter-spacing:.08em}.activity-row>span:last-child{color:#d5d5d2}.activity-time{font-size:8px;color:var(--muted);letter-spacing:.13em}
.manager-apps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.manager-card{border:1px solid var(--line-soft);padding:20px;background:rgba(255,255,255,.012);display:flex;justify-content:space-between;gap:20px;align-items:center}
.manager-card h3{margin:0 0 8px;font-weight:400;letter-spacing:.1em;text-transform:uppercase}.manager-card p{margin:0;color:var(--muted);font-size:11px;line-height:1.6}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:28px 0 0}.tab{border:1px solid var(--line-soft);padding:10px 13px;font-size:9px;letter-spacing:.18em;text-transform:uppercase}.tab.active,.tab:hover{border-color:var(--line);background:rgba(255,255,255,.05)}
.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.toolbar .button,.toolbar button{margin-top:0}
.file-list{width:100%;border-collapse:collapse}.file-list td,.file-list th{padding:10px;border-bottom:1px solid var(--line-soft);text-align:left;font-size:11px}.file-list th{font-size:8px;color:var(--muted);letter-spacing:.2em;font-weight:400}.file-path{font-family:Consolas,Monaco,monospace}.mini-actions{display:flex;gap:10px;flex-wrap:wrap}.mini-actions a,.mini-actions button{font-size:8px;letter-spacing:.12em;padding:6px 8px;margin:0;border:1px solid var(--line-soft);background:transparent;color:var(--text);cursor:pointer}
.editor-wrap{position:relative}.code-editor{min-height:520px;font-family:Consolas,Monaco,"Courier New",monospace;font-size:12px;line-height:1.5;white-space:pre;tab-size:4}.editor-fullscreen{position:fixed!important;inset:12px;z-index:9999;background:#101113;padding:16px;border:1px solid var(--line)}.editor-fullscreen .code-editor{height:calc(100vh - 110px);min-height:0}
.version-row{display:grid;grid-template-columns:100px 145px 110px 1fr auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line-soft);font-size:11px}.version-id{font-family:Consolas,monospace}.version-meta{color:var(--muted);font-size:9px}
.backup-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.backup-list{display:flex;flex-direction:column}.backup-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line-soft);font-size:11px}.backup-row small{color:var(--muted)}
.secret-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--line-soft)}.secret-key{font-family:Consolas,monospace;font-size:11px}
.resource-card{border:1px solid var(--line);padding:22px;margin-top:18px}.resource-card h3{margin-top:0;letter-spacing:.1em;font-weight:400}.resource-card p{color:var(--muted);font-size:12px;line-height:1.7}
.warning{border-left:2px solid #bbb;padding:12px 14px;background:rgba(255,255,255,.035);font-size:11px;line-height:1.7}
.inline-form{display:inline}.inline-form button{margin:0}
.badge{display:inline-block;border:1px solid var(--line-soft);padding:4px 7px;font-size:8px;letter-spacing:.12em;color:var(--muted)}

@media(max-width:900px){
  .dashboard-grid,.backup-grid{grid-template-columns:1fr}
  .manager-apps{grid-template-columns:1fr}
  .version-row{grid-template-columns:90px 1fr;gap:6px}.version-row>*:nth-child(n+3){grid-column:2}
}
@media(max-width:620px){
  .activity-row{grid-template-columns:76px 1fr}.activity-row>span:last-child{grid-column:2}
  .manager-card{align-items:flex-start;flex-direction:column}
  .file-list th:nth-child(2),.file-list td:nth-child(2),.file-list th:nth-child(3),.file-list td:nth-child(3){display:none}
}


/* =======================================================================
   A&G VISNINGER
   - stealth = neutral, kontoragtig, lys og diskret
   - light   = A&G-designet i lys udgave
   - dark    = det oprindelige mørke A&G-design
   Valget gemmes kun i den aktuelle browser.
   ======================================================================= */

.ag-theme-wrap{
    display:flex;
    align-items:center;
    gap:8px;
    margin-left:auto;
    margin-right:18px;
}
.ag-theme-label{
    font-size:8px;
    letter-spacing:.18em;
    color:var(--muted);
    text-transform:uppercase;
}
.ag-theme-select{
    width:auto;
    min-width:92px;
    margin:0;
    padding:7px 26px 7px 9px;
    font-size:10px;
    line-height:1.2;
    letter-spacing:.05em;
    cursor:pointer;
}

/* Light + stealth deler den lyse farvebase. */
html[data-ag-theme="light"],
html[data-ag-theme="stealth"]{
    --bg:#f4f5f7;
    --panel:#ffffff;
    --panel2:#f8f9fb;
    --line:#aeb4bd;
    --line-soft:#dfe3e8;
    --text:#20242a;
    --muted:#6f7680;
}

html[data-ag-theme="light"] body,
html[data-ag-theme="stealth"] body{
    background:#f4f5f7;
    color:var(--text);
}
html[data-ag-theme="light"] .brand-mark,
html[data-ag-theme="stealth"] .brand-mark{
    filter:invert(1);
}
html[data-ag-theme="light"] input,
html[data-ag-theme="light"] select,
html[data-ag-theme="light"] textarea,
html[data-ag-theme="stealth"] input,
html[data-ag-theme="stealth"] select,
html[data-ag-theme="stealth"] textarea{
    background:#fff;
    color:#20242a;
    border-color:#cfd4db;
}
html[data-ag-theme="light"] code,
html[data-ag-theme="stealth"] code{
    background:#f2f4f7;
    color:#20242a;
    border-color:#dfe3e8;
}
html[data-ag-theme="light"] .hero,
html[data-ag-theme="stealth"] .hero,
html[data-ag-theme="light"] .panel,
html[data-ag-theme="stealth"] .panel,
html[data-ag-theme="light"] .app-card,
html[data-ag-theme="light"] .empty-card,
html[data-ag-theme="stealth"] .app-card,
html[data-ag-theme="stealth"] .empty-card,
html[data-ag-theme="light"] .manager-card,
html[data-ag-theme="stealth"] .manager-card{
    background:#fff;
}
html[data-ag-theme="light"] .hero-note p,
html[data-ag-theme="light"] .activity-row>span:last-child,
html[data-ag-theme="stealth"] .hero-note p,
html[data-ag-theme="stealth"] .activity-row>span:last-child{
    color:#4d5560;
}
html[data-ag-theme="light"] button,
html[data-ag-theme="light"] .button,
html[data-ag-theme="stealth"] button,
html[data-ag-theme="stealth"] .button{
    color:#20242a;
}
html[data-ag-theme="light"] button:hover,
html[data-ag-theme="light"] .button:hover,
html[data-ag-theme="stealth"] button:hover,
html[data-ag-theme="stealth"] .button:hover{
    background:#20242a;
    color:#fff;
}
html[data-ag-theme="light"] .mini-actions a,
html[data-ag-theme="light"] .mini-actions button,
html[data-ag-theme="stealth"] .mini-actions a,
html[data-ag-theme="stealth"] .mini-actions button{
    color:#20242a;
    background:#fff;
}
html[data-ag-theme="light"] .editor-fullscreen,
html[data-ag-theme="stealth"] .editor-fullscreen{
    background:#fff;
}
html[data-ag-theme="light"] .warning,
html[data-ag-theme="stealth"] .warning,
html[data-ag-theme="light"] .notice,
html[data-ag-theme="stealth"] .notice{
    background:#f7f8fa;
}
html[data-ag-theme="light"] .presence-dot.online,
html[data-ag-theme="stealth"] .presence-dot.online{
    background:#2f3742;
    border-color:#2f3742;
    box-shadow:none;
}

/* -----------------------------------------------------------------------
   STEALTH / NEUTRAL
   Ser med vilje ud som et helt almindeligt internt værktøj.
   ----------------------------------------------------------------------- */
html[data-ag-theme="stealth"] body{
    background:#f6f7f9;
    font-family:Arial,Helvetica,sans-serif;
}
html[data-ag-theme="stealth"] .page-shell{
    width:min(1180px,calc(100% - 48px));
    padding-top:18px;
}
html[data-ag-theme="stealth"] .topbar{
    min-height:54px;
    padding:10px 14px;
    background:#fff;
    border:1px solid #e0e3e8;
    border-radius:8px;
}
html[data-ag-theme="stealth"] .brand{
    gap:9px;
}
html[data-ag-theme="stealth"] .brand-mark{
    width:34px;
    height:30px;
}
html[data-ag-theme="stealth"] .brand-copy{
    gap:0;
}
html[data-ag-theme="stealth"] .brand-copy strong{
    font-size:13px;
    font-weight:600;
    letter-spacing:.06em;
}
html[data-ag-theme="stealth"] .brand-copy span{
    display:none!important;
}
html[data-ag-theme="stealth"] .identity{
    display:none!important;
}
html[data-ag-theme="stealth"] .ag-theme-wrap{
    margin-left:auto;
    margin-right:0;
}
html[data-ag-theme="stealth"] .ag-theme-label{
    display:none;
}
html[data-ag-theme="stealth"] .ag-theme-select{
    border-radius:6px;
    border:1px solid #d7dbe1;
    background:#fff;
    color:#4b5563;
    font-size:11px;
    letter-spacing:0;
    min-width:88px;
    padding:6px 24px 6px 8px;
}

/* På selve forsiden fjerner neutral-visningen de meget iøjnefaldende blokke. */
html[data-ag-theme="stealth"] body.ag-home .hero,
html[data-ag-theme="stealth"] body.ag-home .dashboard-grid{
    display:none;
}
html[data-ag-theme="stealth"] body.ag-home .apps-head{
    margin:26px 0 14px;
}
html[data-ag-theme="stealth"] body.ag-home .apps-head .eyebrow{
    display:none;
}
html[data-ag-theme="stealth"] body.ag-home .apps-head h2{
    margin:0;
    font-size:20px;
    font-weight:600;
    letter-spacing:0;
    text-transform:none;
}
html[data-ag-theme="stealth"] body.ag-home .app-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}
html[data-ag-theme="stealth"] body.ag-home .app-card,
html[data-ag-theme="stealth"] body.ag-home .empty-card{
    min-height:118px;
    border:1px solid #e0e3e8;
    border-radius:8px;
    clip-path:none;
    padding:18px;
    box-shadow:0 1px 2px rgba(16,24,40,.03);
}
html[data-ag-theme="stealth"] body.ag-home .app-card:hover{
    transform:none;
    border-color:#c9ced6;
    background:#fafbfc;
}
html[data-ag-theme="stealth"] body.ag-home .app-index,
html[data-ag-theme="stealth"] body.ag-home .arrow,
html[data-ag-theme="stealth"] body.ag-home .app-meta{
    display:none;
}
html[data-ag-theme="stealth"] body.ag-home .app-body h3{
    margin:0 0 7px;
    font-size:16px;
    font-weight:600;
    letter-spacing:0;
    text-transform:none;
}
html[data-ag-theme="stealth"] body.ag-home .app-body p,
html[data-ag-theme="stealth"] body.ag-home .add-card p{
    font-size:12px;
    line-height:1.5;
    letter-spacing:0;
}
html[data-ag-theme="stealth"] body.ag-home .add-card{
    min-height:118px;
    gap:10px;
}
html[data-ag-theme="stealth"] body.ag-home .plus{
    font-size:26px;
}
html[data-ag-theme="stealth"] body.ag-home footer{
    display:none;
}

/* Neutraliser de grafiske A&G-effekter på øvrige portalsider. */
html[data-ag-theme="stealth"] .cut-corner{
    clip-path:none;
}
html[data-ag-theme="stealth"] .hero{
    min-height:auto;
    margin-top:24px;
    padding:30px;
    border:1px solid #e0e3e8;
    border-radius:8px;
    background:#fff;
}
html[data-ag-theme="stealth"] .hero:after{
    display:none;
}
html[data-ag-theme="stealth"] .hero h1{
    font-size:34px;
    line-height:1.05;
    margin-top:8px;
    font-weight:600;
    letter-spacing:0;
}
html[data-ag-theme="stealth"] .eyebrow{
    font-size:9px;
    letter-spacing:.08em;
    text-transform:uppercase;
}
html[data-ag-theme="stealth"] .hero-note{
    border-left:1px solid #e0e3e8;
}
html[data-ag-theme="stealth"] .hero-note .rule{
    border-color:#c9ced6;
}
html[data-ag-theme="stealth"] .panel{
    margin-top:18px;
    border:1px solid #e0e3e8;
    border-radius:8px;
    padding:22px;
    box-shadow:0 1px 2px rgba(16,24,40,.025);
}
html[data-ag-theme="stealth"] .panel h1,
html[data-ag-theme="stealth"] .panel h2{
    letter-spacing:0;
    text-transform:none;
    font-weight:600;
}
html[data-ag-theme="stealth"] .panel h1{font-size:24px}
html[data-ag-theme="stealth"] .panel h2{font-size:17px}
html[data-ag-theme="stealth"] label{
    letter-spacing:.05em;
    text-transform:none;
    font-size:11px;
}
html[data-ag-theme="stealth"] input,
html[data-ag-theme="stealth"] select,
html[data-ag-theme="stealth"] textarea{
    border-radius:6px;
    padding:10px 11px;
}
html[data-ag-theme="stealth"] button,
html[data-ag-theme="stealth"] .button{
    border:1px solid #cfd4db;
    border-radius:6px;
    background:#fff;
    color:#303742;
    padding:9px 12px;
    font-size:11px;
    letter-spacing:0;
    text-transform:none;
}
html[data-ag-theme="stealth"] button:hover,
html[data-ag-theme="stealth"] .button:hover{
    background:#f1f3f5;
    color:#20242a;
}
html[data-ag-theme="stealth"] .tabs{
    margin-top:18px;
}
html[data-ag-theme="stealth"] .tab{
    border:1px solid #d7dbe1;
    border-radius:6px;
    padding:8px 11px;
    font-size:11px;
    letter-spacing:0;
    text-transform:none;
    background:#fff;
}
html[data-ag-theme="stealth"] .tab.active,
html[data-ag-theme="stealth"] .tab:hover{
    background:#eef1f4;
    border-color:#bcc3cc;
}
html[data-ag-theme="stealth"] .resource-card,
html[data-ag-theme="stealth"] .manager-card{
    border:1px solid #e0e3e8;
    border-radius:8px;
}
html[data-ag-theme="stealth"] .table th,
html[data-ag-theme="stealth"] .file-list th{
    font-size:10px;
    letter-spacing:.04em;
    text-transform:none;
}
html[data-ag-theme="stealth"] .mini-actions{
    gap:6px;
}
html[data-ag-theme="stealth"] .mini-actions a,
html[data-ag-theme="stealth"] .mini-actions button{
    border-radius:5px;
    font-size:10px;
    letter-spacing:0;
    padding:6px 8px;
}
html[data-ag-theme="stealth"] footer{
    margin-top:28px;
    color:#8a9099;
    letter-spacing:.08em;
    font-size:9px;
}

/* Login i neutral-visning: almindelig, lys login-side i stedet for showcase-look. */
html[data-ag-theme="stealth"] body.ag-login .page-shell{
    width:min(820px,calc(100% - 32px));
}
html[data-ag-theme="stealth"] body.ag-login .topbar{
    margin-top:16px;
}
html[data-ag-theme="stealth"] body.ag-login .login-hero{
    display:grid;
    grid-template-columns:1fr 300px;
    gap:32px;
    align-items:center!important;
}
html[data-ag-theme="stealth"] body.ag-login .login-hero .hero-note{
    min-width:0!important;
    padding-left:28px;
}
html[data-ag-theme="stealth"] body.ag-login footer{
    display:none;
}

/* Light beholder designet, men i lys farve. */
html[data-ag-theme="light"] .cut-corner{
    --cut:28px;
}
html[data-ag-theme="light"] .app-card:hover{
    background:#f7f8fa;
}
html[data-ag-theme="light"] footer{
    color:#747b85;
}

/* Dark = original look. */
html[data-ag-theme="dark"] .ag-theme-select{
    background:#101113;
    color:#f3f3f1;
}

/* Mobil */
@media(max-width:900px){
    .ag-theme-wrap{margin-right:8px}
    html[data-ag-theme="stealth"] body.ag-home .app-grid{
        grid-template-columns:1fr;
    }
    html[data-ag-theme="stealth"] body.ag-login .login-hero{
        display:flex;
        flex-direction:column;
        align-items:stretch!important;
    }
}
@media(max-width:620px){
    .ag-theme-label{display:none}
    .ag-theme-select{min-width:82px}
    html[data-ag-theme="stealth"] .page-shell{
        width:min(100% - 20px,1180px);
        padding-top:10px;
    }
    html[data-ag-theme="stealth"] .topbar{
        padding:8px 10px;
    }
    html[data-ag-theme="stealth"] .brand-mark{
        width:30px;height:27px;
    }
    html[data-ag-theme="stealth"] .hero{
        padding:22px;
    }
    html[data-ag-theme="stealth"] .hero h1{
        font-size:28px;
    }
}


/* =======================================================================
   A&G TOPNAV + REN FORSIDE
   Apps · Udvikler · Ideer ligger ved siden af logoet på alle visninger.
   Den store "VÆRKTØJER, DER SKAL STÅ." hero fjernes fra forsiden.
   ======================================================================= */

.ag-main-nav{
    display:flex;
    align-items:center;
    gap:4px;
    margin-left:28px;
    flex:0 0 auto;
}
.ag-main-nav-link{
    position:relative;
    display:inline-flex;
    align-items:center;
    min-height:34px;
    padding:8px 11px;
    font-size:9px;
    line-height:1;
    letter-spacing:.19em;
    text-transform:uppercase;
    color:var(--muted);
    border:1px solid transparent;
    transition:color .15s ease,border-color .15s ease,background .15s ease;
}
.ag-main-nav-link:hover{
    color:var(--text);
}
.ag-main-nav-link.active{
    color:var(--text);
}
.ag-main-nav-link.active:after{
    content:"";
    position:absolute;
    left:11px;
    right:11px;
    bottom:3px;
    border-bottom:1px solid var(--line);
}

/* Heroen på portalens forside er med vilje væk i ALLE visninger. */
body.ag-home .hero{
    display:none!important;
}

/* Udvikler har nu sin egen topfane, så de gamle dubletter på app-listen fjernes. */
body.ag-home .apps-head > .text-link{
    display:none!important;
}
body.ag-home .app-grid > .add-card{
    display:none!important;
}
body.ag-home .apps-head .eyebrow{
    display:none!important;
}
body.ag-home .apps-head{
    margin-top:36px;
}

/* Neutral */
html[data-ag-theme="stealth"] .ag-main-nav{
    margin-left:18px;
    gap:3px;
}
html[data-ag-theme="stealth"] .ag-main-nav-link{
    min-height:32px;
    padding:7px 10px;
    border-radius:6px;
    color:#66707c;
    font-size:12px;
    letter-spacing:0;
    text-transform:none;
}
html[data-ag-theme="stealth"] .ag-main-nav-link:hover{
    background:#f1f3f5;
    color:#20242a;
}
html[data-ag-theme="stealth"] .ag-main-nav-link.active{
    background:#eef1f4;
    color:#20242a;
}
html[data-ag-theme="stealth"] .ag-main-nav-link.active:after{
    display:none;
}

/* Lys */
html[data-ag-theme="light"] .ag-main-nav-link{
    color:#717985;
}
html[data-ag-theme="light"] .ag-main-nav-link:hover,
html[data-ag-theme="light"] .ag-main-nav-link.active{
    color:#20242a;
}

/* Mørk */
html[data-ag-theme="dark"] .ag-main-nav-link{
    color:#a9aaad;
}
html[data-ag-theme="dark"] .ag-main-nav-link:hover,
html[data-ag-theme="dark"] .ag-main-nav-link.active{
    color:#f3f3f1;
}

/* Neutral skjuler fortsat dashboardet – men navigationen ligger stadig i topbaren. */
html[data-ag-theme="stealth"] body.ag-home .apps-head{
    margin-top:24px;
}

@media(max-width:900px){
    .topbar{
        flex-wrap:wrap;
        row-gap:8px;
    }
    .ag-main-nav{
        margin-left:16px;
    }
}
@media(max-width:620px){
    .ag-main-nav{
        order:3;
        width:100%;
        margin:4px 0 0;
        gap:6px;
        border-top:1px solid var(--line-soft);
        padding-top:8px;
    }
    .ag-main-nav-link{
        flex:1 1 0;
        justify-content:center;
        padding-left:6px;
        padding-right:6px;
    }
    html[data-ag-theme="stealth"] .ag-main-nav{
        margin-left:0;
    }
}


/* A&G forbindelsesstatus */
.ag-connection{
    display:inline-flex;
    align-items:center;
    gap:6px;
    margin-left:auto;
    margin-right:12px;
    min-height:26px;
    font-size:8px;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--muted);
    white-space:nowrap;
}
.ag-connection-dot{
    width:6px;
    height:6px;
    border-radius:50%;
    border:1px solid currentColor;
    display:inline-block;
}
.ag-connection[data-state="online"] .ag-connection-dot{
    background:currentColor;
}
.ag-connection[data-state="offline"]{
    color:#a76666;
}
.ag-connection[data-state="offline"] .ag-connection-dot{
    background:#a76666;
}
html[data-ag-theme="stealth"] .ag-connection{
    margin-left:auto;
    margin-right:8px;
    font-size:11px;
    letter-spacing:0;
    text-transform:none;
    color:#6b7280;
}
html[data-ag-theme="stealth"] .ag-connection[data-state="offline"]{
    color:#9b4d4d;
}
@media(max-width:620px){
    .ag-connection-label{display:none}
    .ag-connection{margin-left:auto;margin-right:4px}
}


/* =======================================================================
   FORBINDELSESSTATUS – POLERET BADGE + HOVER-HISTORIK
   ======================================================================= */
.ag-connection{
    position:relative;
    display:inline-flex;
    align-items:center;
    margin-left:auto;
    margin-right:12px;
    min-height:32px;
    color:var(--muted);
    outline:none;
    z-index:50;
}

.ag-connection-badge{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:7px 11px;
    border:1px solid var(--line-soft);
    border-radius:8px;
    background:rgba(255,255,255,.025);
    font-size:9px;
    line-height:1;
    letter-spacing:.12em;
    text-transform:uppercase;
    white-space:nowrap;
    transition:
        background .16s ease,
        border-color .16s ease,
        color .16s ease,
        box-shadow .16s ease;
}

.ag-connection-dot{
    width:8px;
    height:8px;
    border-radius:999px;
    flex:0 0 8px;
    border:1px solid currentColor;
    background:transparent;
    box-shadow:none;
}

.ag-connection[data-state="online"] .ag-connection-badge{
    color:#79d894;
    border-color:rgba(121,216,148,.34);
    background:rgba(49,139,75,.13);
}

.ag-connection[data-state="online"] .ag-connection-dot{
    background:#79d894;
    box-shadow:0 0 0 3px rgba(121,216,148,.08);
}

.ag-connection[data-state="offline"] .ag-connection-badge{
    color:#ff8585;
    border-color:rgba(255,133,133,.38);
    background:rgba(164,54,54,.15);
}

.ag-connection[data-state="offline"] .ag-connection-dot{
    background:#ff8585;
    box-shadow:0 0 0 3px rgba(255,133,133,.08);
}

.ag-connection[data-state="checking"] .ag-connection-badge{
    color:#e5c16d;
    border-color:rgba(229,193,109,.34);
    background:rgba(150,112,32,.12);
}

.ag-connection[data-state="checking"] .ag-connection-dot{
    background:#e5c16d;
    animation:agConnectionPulse 1.15s ease-in-out infinite;
}

@keyframes agConnectionPulse{
    0%,100%{opacity:.42}
    50%{opacity:1}
}

.ag-connection:hover .ag-connection-badge,
.ag-connection:focus .ag-connection-badge,
.ag-connection:focus-within .ag-connection-badge{
    border-color:currentColor;
}

.ag-connection-popover{
    position:absolute;
    top:calc(100% + 9px);
    right:0;
    width:320px;
    padding:14px;
    border:1px solid var(--line);
    background:var(--panel);
    color:var(--text);
    box-shadow:0 16px 42px rgba(0,0,0,.28);
    opacity:0;
    visibility:hidden;
    transform:translateY(-5px);
    pointer-events:none;
    transition:opacity .14s ease,transform .14s ease,visibility .14s ease;
}

.ag-connection:hover .ag-connection-popover,
.ag-connection:focus .ag-connection-popover,
.ag-connection:focus-within .ag-connection-popover{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
    pointer-events:auto;
}

.ag-connection-popover:before{
    content:"";
    position:absolute;
    top:-6px;
    right:20px;
    width:10px;
    height:10px;
    border-left:1px solid var(--line);
    border-top:1px solid var(--line);
    background:var(--panel);
    transform:rotate(45deg);
}

.ag-connection-popover-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding-bottom:11px;
    border-bottom:1px solid var(--line-soft);
}

.ag-connection-popover-head>div{
    display:flex;
    align-items:center;
    gap:7px;
}

.ag-connection-popover-head strong{
    font-size:11px;
    letter-spacing:.04em;
    font-weight:600;
}

.ag-connection-next{
    color:var(--muted);
    font-size:9px;
    white-space:nowrap;
}

.ag-connection-history-title{
    margin-top:12px;
    margin-bottom:7px;
    color:var(--muted);
    font-size:8px;
    letter-spacing:.16em;
    text-transform:uppercase;
}

.ag-connection-history{
    display:flex;
    flex-direction:column;
    gap:2px;
}

.ag-connection-history-row{
    display:grid;
    grid-template-columns:8px 62px 1fr auto;
    align-items:center;
    column-gap:7px;
    min-height:20px;
    font-size:10px;
}

.ag-connection-history-detail{
    padding-left:77px;
    padding-bottom:6px;
    color:var(--muted);
    font-size:8px;
    line-height:1.35;
    overflow-wrap:anywhere;
}

.ag-connection-history-time,
.ag-connection-history-latency{
    color:var(--muted);
    font-variant-numeric:tabular-nums;
}

.ag-connection-history-status{
    font-weight:600;
}

.ag-connection-mini-dot{
    display:inline-block;
    width:6px;
    height:6px;
    border-radius:999px;
    background:var(--muted);
}

.ag-connection-mini-dot.online{background:#79d894}
.ag-connection-mini-dot.offline{background:#ff8585}
.ag-connection-mini-dot.checking{background:#e5c16d}

.ag-connection-empty{
    color:var(--muted);
    font-size:10px;
    padding:7px 0 2px;
}

/* Neutral/stealth */
html[data-ag-theme="stealth"] .ag-connection{
    margin-left:auto;
    margin-right:8px;
}

html[data-ag-theme="stealth"] .ag-connection-badge{
    font-family:Arial,Helvetica,sans-serif;
    font-size:11px;
    letter-spacing:0;
    text-transform:none;
    border-radius:7px;
    padding:7px 10px;
}

html[data-ag-theme="stealth"] .ag-connection[data-state="online"] .ag-connection-badge{
    color:#207a3e;
    background:#edf8f0;
    border-color:#b9ddc3;
}

html[data-ag-theme="stealth"] .ag-connection[data-state="offline"] .ag-connection-badge{
    color:#a53939;
    background:#fff0f0;
    border-color:#e8b9b9;
}

html[data-ag-theme="stealth"] .ag-connection[data-state="checking"] .ag-connection-badge{
    color:#8a6515;
    background:#fff9e8;
    border-color:#ead7a2;
}

html[data-ag-theme="stealth"] .ag-connection-popover{
    border-radius:8px;
    border-color:#dce0e5;
    box-shadow:0 16px 38px rgba(20,28,38,.14);
}

@media(max-width:620px){
    .ag-connection{
        margin-left:auto;
        margin-right:4px;
    }
    .ag-connection-label{
        display:none;
    }
    .ag-connection-badge{
        padding:8px;
    }
    .ag-connection-popover{
        position:fixed;
        top:72px;
        left:12px;
        right:12px;
        width:auto;
    }
    .ag-connection-popover:before{
        display:none;
    }
}


/* =======================================================================
   AG SYSTEM STATUS / OPERATIONS HUD
   ======================================================================= */
.ag-system-popover{
    width:560px;
    padding:0;
    overflow:hidden;
    border-color:rgba(255,255,255,.16);
    background:#0c0f12;
    box-shadow:
        0 28px 80px rgba(0,0,0,.48),
        0 0 0 1px rgba(255,255,255,.025) inset;
}

.ag-system-popover:before{
    background:#0c0f12;
    border-color:rgba(255,255,255,.16);
}

.ag-system-head{
    position:relative;
    display:flex;
    justify-content:space-between;
    gap:24px;
    padding:20px 22px 18px;
    border-bottom:1px solid rgba(255,255,255,.10);
    background:
        linear-gradient(135deg,rgba(121,216,148,.055),transparent 42%),
        linear-gradient(180deg,rgba(255,255,255,.025),transparent);
}

.ag-system-head:after{
    content:"";
    position:absolute;
    left:22px;
    right:22px;
    bottom:-1px;
    height:1px;
    background:linear-gradient(90deg,#79d894 0 24%,transparent 58%);
    opacity:.65;
}

.ag-system-head-left{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:6px;
}

.ag-system-kicker{
    color:#7f8791;
    font-size:8px;
    letter-spacing:.26em;
    text-transform:uppercase;
}

.ag-system-state{
    display:flex;
    align-items:center;
    gap:9px;
}

.ag-system-state strong{
    color:#edf2f4;
    font-size:14px;
    font-weight:600;
    letter-spacing:.10em;
}

.ag-system-live-dot{
    width:9px;
    height:9px;
    border-radius:50%;
    background:#e5c16d;
    box-shadow:0 0 0 4px rgba(229,193,109,.08);
}

.ag-system-state.normal .ag-system-live-dot{
    background:#79d894;
    box-shadow:
        0 0 0 4px rgba(121,216,148,.08),
        0 0 20px rgba(121,216,148,.30);
}

.ag-system-state.degraded .ag-system-live-dot{
    background:#ff8585;
    box-shadow:
        0 0 0 4px rgba(255,133,133,.08),
        0 0 20px rgba(255,133,133,.24);
}

.ag-system-state.checking .ag-system-live-dot{
    animation:agConnectionPulse 1.1s ease-in-out infinite;
}

.ag-system-note{
    color:#7f8791;
    font-size:9px;
    letter-spacing:.02em;
}

.ag-system-live{
    display:flex;
    align-items:flex-start;
    gap:7px;
    color:#79d894;
    font-size:8px;
    letter-spacing:.20em;
    padding-top:3px;
}

.ag-system-live-pulse{
    width:6px;
    height:6px;
    margin-top:1px;
    border-radius:50%;
    background:#79d894;
    box-shadow:0 0 12px rgba(121,216,148,.65);
    animation:agSystemLive 1.65s ease-in-out infinite;
}

@keyframes agSystemLive{
    0%,100%{opacity:.35;transform:scale(.85)}
    50%{opacity:1;transform:scale(1.08)}
}

.ag-system-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1px;
    background:rgba(255,255,255,.085);
    border-bottom:1px solid rgba(255,255,255,.09);
}

.ag-system-metric{
    position:relative;
    min-height:96px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:5px;
    padding:16px 18px;
    background:#0f1317;
    overflow:hidden;
}

.ag-system-metric:after{
    content:"";
    position:absolute;
    right:-28px;
    bottom:-45px;
    width:100px;
    height:100px;
    border:1px solid rgba(255,255,255,.035);
    border-radius:50%;
}

.ag-system-metric.deploy{
    grid-column:span 2;
    min-height:88px;
    background:
        linear-gradient(90deg,rgba(121,216,148,.04),transparent 55%),
        #0f1317;
}

.ag-system-metric-label{
    position:relative;
    z-index:1;
    color:#727b86;
    font-size:7px;
    letter-spacing:.24em;
    text-transform:uppercase;
}

.ag-system-metric-value{
    position:relative;
    z-index:1;
    color:#f0f3f4;
    font-size:20px;
    line-height:1.1;
    font-weight:500;
    letter-spacing:.04em;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.ag-system-metric.deploy .ag-system-metric-value{
    font-size:17px;
}

.ag-system-metric-sub{
    position:relative;
    z-index:1;
    color:#7f8791;
    font-size:8px;
    line-height:1.35;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.ag-system-divider{
    height:10px;
    background:
        repeating-linear-gradient(
            90deg,
            transparent 0 12px,
            rgba(255,255,255,.035) 12px 13px
        );
    border-bottom:1px solid rgba(255,255,255,.08);
}

.ag-system-history-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:12px 18px 8px;
    color:#727b86;
    font-size:7px;
    letter-spacing:.18em;
    text-transform:uppercase;
}

.ag-system-history-head span:last-child{
    letter-spacing:.06em;
    text-transform:none;
}

.ag-system-checks{
    padding:0 18px 12px;
}

.ag-system-check{
    display:grid;
    grid-template-columns:7px 65px 1fr auto;
    align-items:center;
    gap:8px;
    min-height:24px;
    border-bottom:1px solid rgba(255,255,255,.05);
    font-size:9px;
}

.ag-system-check:last-child{
    border-bottom:0;
}

.ag-system-check-dot{
    width:5px;
    height:5px;
    border-radius:50%;
    background:#79d894;
    box-shadow:0 0 8px rgba(121,216,148,.30);
}

.ag-system-check.fail .ag-system-check-dot{
    background:#ff8585;
    box-shadow:0 0 8px rgba(255,133,133,.24);
}

.ag-system-check-time,
.ag-system-check-ms{
    color:#69727d;
    font-variant-numeric:tabular-nums;
}

.ag-system-check strong{
    color:#b8c0c7;
    font-size:8px;
    letter-spacing:.08em;
}

.ag-system-check.fail strong{
    color:#ff8585;
}

.ag-system-foot{
    display:flex;
    justify-content:space-between;
    gap:12px;
    padding:9px 18px 11px;
    border-top:1px solid rgba(255,255,255,.07);
    color:#555e68;
    font-size:7px;
    letter-spacing:.12em;
    text-transform:uppercase;
}

/* Neutral mode: same data, more office/subtle visual. */
html[data-ag-theme="stealth"] .ag-system-popover{
    background:#fff;
    border-color:#d9dee4;
    box-shadow:0 24px 60px rgba(20,28,38,.18);
}

html[data-ag-theme="stealth"] .ag-system-popover:before{
    background:#fff;
    border-color:#d9dee4;
}

html[data-ag-theme="stealth"] .ag-system-head{
    background:
        linear-gradient(135deg,rgba(32,122,62,.045),transparent 42%),
        #fff;
    border-color:#e5e8ec;
}

html[data-ag-theme="stealth"] .ag-system-state strong,
html[data-ag-theme="stealth"] .ag-system-metric-value{
    color:#20242a;
}

html[data-ag-theme="stealth"] .ag-system-grid{
    background:#e5e8ec;
    border-color:#e5e8ec;
}

html[data-ag-theme="stealth"] .ag-system-metric{
    background:#fff;
}

html[data-ag-theme="stealth"] .ag-system-metric.deploy{
    background:
        linear-gradient(90deg,rgba(32,122,62,.035),transparent 55%),
        #fff;
}

html[data-ag-theme="stealth"] .ag-system-divider{
    background:#f5f6f8;
    border-color:#e5e8ec;
}

html[data-ag-theme="stealth"] .ag-system-check{
    border-color:#eef0f2;
}

html[data-ag-theme="stealth"] .ag-system-check strong{
    color:#4f5964;
}

html[data-ag-theme="stealth"] .ag-system-foot{
    border-color:#e5e8ec;
}

@media(max-width:620px){
    .ag-system-popover{
        width:auto;
        max-height:calc(100vh - 92px);
        overflow:auto;
    }

    .ag-system-grid{
        grid-template-columns:1fr 1fr;
    }

    .ag-system-metric.deploy{
        grid-column:span 2;
    }

    .ag-system-metric{
        min-height:88px;
        padding:14px;
    }

    .ag-system-metric-value{
        font-size:17px;
    }

    .ag-system-history-head{
        align-items:flex-start;
        flex-direction:column;
        gap:4px;
    }
}


/* =======================================================================
   AG HOME / OPERATIONS DASHBOARD V2
   Presence + activity compact; System Status fixed on the right.
   All three cards use the same visual language as the System HUD.
   ======================================================================= */

body.ag-home .ag-ops-grid{
    display:grid;
    grid-template-columns:minmax(210px,.62fr) minmax(430px,1.35fr) minmax(390px,1fr);
    gap:14px;
    align-items:start;
    margin-top:18px;
}

.ag-dashboard-card,
.ag-home-system-panel{
    position:relative;
    min-width:0;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.13);
    background:#0f1317;
    box-shadow:0 0 0 1px rgba(255,255,255,.015) inset;
}

.ag-dashboard-card:before,
.ag-home-system-panel:before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    width:68px;
    height:1px;
    background:linear-gradient(90deg,#79d894,transparent);
    opacity:.72;
    pointer-events:none;
}

.ag-dashboard-card-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:14px;
    min-height:66px;
    padding:15px 16px 12px;
    border-bottom:1px solid rgba(255,255,255,.08);
    background:
        linear-gradient(135deg,rgba(121,216,148,.038),transparent 48%),
        rgba(255,255,255,.012);
}

.ag-dashboard-card-head>div{
    min-width:0;
}

.ag-dashboard-kicker{
    display:block;
    margin-bottom:6px;
    color:#727b86;
    font-size:7px;
    letter-spacing:.24em;
    text-transform:uppercase;
}

.ag-dashboard-card-head h2{
    margin:0;
    color:#eef2f4;
    font-size:14px;
    font-weight:500;
    line-height:1.1;
    letter-spacing:.10em;
    text-transform:uppercase;
}

.ag-dashboard-code,
.ag-dashboard-link{
    flex:0 0 auto;
    color:#727b86;
    font-size:7px;
    line-height:1;
    letter-spacing:.16em;
    text-transform:uppercase;
}

.ag-dashboard-code{
    color:#79d894;
    padding-top:2px;
}

.ag-dashboard-link{
    padding-top:3px;
}

.ag-dashboard-link:hover{
    color:#eef2f4;
}

.ag-dashboard-card-foot{
    display:flex;
    justify-content:space-between;
    gap:12px;
    padding:8px 16px 9px;
    border-top:1px solid rgba(255,255,255,.07);
    color:#555e68;
    font-size:7px;
    letter-spacing:.12em;
    text-transform:uppercase;
}

/* Presence */
.ag-presence-list{
    padding:5px 16px;
}

.ag-presence-row{
    display:grid;
    grid-template-columns:9px 1fr;
    gap:10px;
    align-items:center;
    min-height:54px;
    border-bottom:1px solid rgba(255,255,255,.055);
}

.ag-presence-row:last-child{
    border-bottom:0;
}

.ag-presence-orb{
    width:7px;
    height:7px;
    border-radius:50%;
    border:1px solid #59616b;
    background:transparent;
}

.ag-presence-orb.online{
    border-color:#79d894;
    background:#79d894;
    box-shadow:
        0 0 0 4px rgba(121,216,148,.07),
        0 0 16px rgba(121,216,148,.26);
}

.ag-presence-copy{
    display:flex;
    flex-direction:column;
    gap:4px;
    min-width:0;
}

.ag-presence-copy strong{
    color:#edf2f4;
    font-size:11px;
    font-weight:500;
    letter-spacing:.06em;
}

.ag-presence-copy span{
    color:#69727d;
    font-size:7px;
    letter-spacing:.16em;
    text-transform:uppercase;
}

/* Activity */
.ag-activity-stream{
    padding:4px 16px;
}

.ag-activity-item{
    display:grid;
    grid-template-columns:5px 60px 58px minmax(0,1fr);
    gap:8px;
    align-items:center;
    min-height:33px;
    border-bottom:1px solid rgba(255,255,255,.05);
    font-size:9px;
}

.ag-activity-item:last-child{
    border-bottom:0;
}

.ag-activity-pip{
    width:4px;
    height:4px;
    border-radius:50%;
    background:#79d894;
    opacity:.8;
}

.ag-activity-when{
    color:#626b75;
    font-size:7px;
    letter-spacing:.06em;
    font-variant-numeric:tabular-nums;
}

.ag-activity-item strong{
    color:#c9d0d5;
    font-size:8px;
    font-weight:600;
    letter-spacing:.04em;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.ag-activity-action{
    min-width:0;
    color:#8a939c;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.ag-dashboard-empty{
    margin:0;
    padding:20px 16px;
    color:#69727d;
    font-size:10px;
}

/* Fixed System Status panel */
.ag-home-system-panel{
    background:#0c0f12;
}

.ag-home-system-panel .ag-system-head{
    padding:17px 18px 15px;
}

.ag-home-system-panel .ag-system-state strong{
    font-size:12px;
}

.ag-home-system-panel .ag-system-note{
    max-width:340px;
}

.ag-home-system-panel .ag-home-system-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
}

.ag-home-system-panel .ag-system-metric{
    min-height:78px;
    padding:13px 15px;
}

.ag-home-system-panel .ag-system-metric.deploy{
    grid-column:span 2;
    min-height:76px;
}

.ag-home-system-panel .ag-system-metric-value{
    font-size:17px;
}

.ag-home-system-panel .ag-system-metric.deploy .ag-system-metric-value{
    font-size:15px;
}

.ag-home-system-panel .ag-system-history-head{
    padding:10px 15px 6px;
}

.ag-home-system-panel .ag-system-checks{
    padding:0 15px 8px;
}

.ag-home-system-panel .ag-system-check{
    min-height:20px;
}

.ag-home-system-panel .ag-system-foot{
    padding:8px 15px 9px;
}

.ag-home-system-loading{
    display:flex;
    min-height:390px;
    flex-direction:column;
    justify-content:center;
    align-items:flex-start;
    gap:8px;
    padding:24px;
    color:#69727d;
    font-size:10px;
}

/* Old dashboard classes are no longer used on the home page. */
body.ag-home .dashboard-panel{
    min-height:0;
}

/* App section pulled slightly closer to the compact ops row. */
body.ag-home .apps-head{
    margin-top:30px;
}

/* Light mode */
html[data-ag-theme="light"] .ag-dashboard-card,
html[data-ag-theme="light"] .ag-home-system-panel{
    background:#fff;
    border-color:#dce1e6;
    box-shadow:0 1px 2px rgba(20,28,38,.03);
}

html[data-ag-theme="light"] .ag-dashboard-card-head{
    background:
        linear-gradient(135deg,rgba(32,122,62,.035),transparent 48%),
        #fff;
    border-color:#e5e8ec;
}

html[data-ag-theme="light"] .ag-dashboard-card-head h2,
html[data-ag-theme="light"] .ag-presence-copy strong{
    color:#20242a;
}

html[data-ag-theme="light"] .ag-presence-row,
html[data-ag-theme="light"] .ag-activity-item,
html[data-ag-theme="light"] .ag-dashboard-card-foot{
    border-color:#edf0f2;
}

html[data-ag-theme="light"] .ag-activity-item strong{
    color:#404852;
}

/* Neutral / stealth */
html[data-ag-theme="stealth"] body.ag-home .dashboard-grid{
    display:grid!important;
}

html[data-ag-theme="stealth"] .ag-dashboard-card,
html[data-ag-theme="stealth"] .ag-home-system-panel{
    background:#fff;
    border-color:#dce1e6;
    border-radius:8px;
    box-shadow:0 1px 2px rgba(20,28,38,.035);
}

html[data-ag-theme="stealth"] .ag-dashboard-card:before,
html[data-ag-theme="stealth"] .ag-home-system-panel:before{
    background:linear-gradient(90deg,#207a3e,transparent);
}

html[data-ag-theme="stealth"] .ag-dashboard-card-head{
    min-height:58px;
    padding:13px 15px 10px;
    border-color:#e5e8ec;
    background:#fff;
}

html[data-ag-theme="stealth"] .ag-dashboard-kicker,
html[data-ag-theme="stealth"] .ag-dashboard-code,
html[data-ag-theme="stealth"] .ag-dashboard-link,
html[data-ag-theme="stealth"] .ag-presence-copy span,
html[data-ag-theme="stealth"] .ag-activity-when{
    letter-spacing:0;
    text-transform:none;
}

html[data-ag-theme="stealth"] .ag-dashboard-card-head h2{
    color:#20242a;
    font-family:Arial,Helvetica,sans-serif;
    font-size:15px;
    letter-spacing:0;
    text-transform:none;
}

html[data-ag-theme="stealth"] .ag-dashboard-code{
    color:#207a3e;
}

html[data-ag-theme="stealth"] .ag-presence-row,
html[data-ag-theme="stealth"] .ag-activity-item,
html[data-ag-theme="stealth"] .ag-dashboard-card-foot{
    border-color:#edf0f2;
}

html[data-ag-theme="stealth"] .ag-presence-copy strong,
html[data-ag-theme="stealth"] .ag-activity-item strong{
    color:#303742;
}

html[data-ag-theme="stealth"] .ag-activity-action{
    color:#69727d;
}

html[data-ag-theme="stealth"] .ag-presence-orb.online{
    border-color:#207a3e;
    background:#207a3e;
    box-shadow:0 0 0 4px rgba(32,122,62,.07);
}

html[data-ag-theme="stealth"] .ag-home-system-panel .ag-system-head,
html[data-ag-theme="stealth"] .ag-home-system-panel .ag-system-metric{
    background:#fff;
}

html[data-ag-theme="stealth"] .ag-home-system-panel .ag-system-grid{
    background:#e5e8ec;
}

html[data-ag-theme="stealth"] .ag-home-system-panel .ag-system-divider{
    background:#f5f6f8;
}

@media(max-width:1350px){
    body.ag-home .ag-ops-grid{
        grid-template-columns:minmax(210px,.7fr) minmax(390px,1.3fr);
    }

    .ag-home-system-panel{
        grid-column:1 / -1;
        display:grid;
        grid-template-columns:minmax(300px,.75fr) minmax(430px,1.25fr);
    }

    .ag-home-system-panel .ag-system-head{
        border-right:1px solid rgba(255,255,255,.08);
        border-bottom:0;
    }

    .ag-home-system-panel .ag-system-grid{
        border-bottom:0;
    }

    .ag-home-system-panel .ag-system-divider,
    .ag-home-system-panel .ag-system-history-head,
    .ag-home-system-panel .ag-system-checks,
    .ag-home-system-panel .ag-system-foot{
        display:none;
    }
}

@media(max-width:900px){
    body.ag-home .ag-ops-grid{
        grid-template-columns:1fr;
    }

    .ag-home-system-panel{
        grid-column:auto;
        display:block;
    }

    .ag-home-system-panel .ag-system-head{
        border-right:0;
        border-bottom:1px solid rgba(255,255,255,.08);
    }

    .ag-home-system-panel .ag-system-divider,
    .ag-home-system-panel .ag-system-history-head,
    .ag-home-system-panel .ag-system-checks,
    .ag-home-system-panel .ag-system-foot{
        display:flex;
    }

    .ag-home-system-panel .ag-system-divider{
        display:block;
    }

    .ag-activity-item{
        grid-template-columns:5px 58px 54px minmax(0,1fr);
    }
}

@media(max-width:620px){
    .ag-activity-item{
        grid-template-columns:5px 54px minmax(0,1fr);
        gap:7px;
        padding:6px 0;
    }

    .ag-activity-item strong{
        display:none;
    }

    .ag-home-system-panel .ag-system-metric-value{
        font-size:15px;
    }
}


/* =======================================================================
   AG OPS V3
   - ens højde på de tre topbokse
   - fast "Seneste downtime" i systemboksen
   - de 10 seneste health-checks ligger kun i hover på ONLINE
   - på mobil kommer Apps før dashboard/status
   ======================================================================= */

body.ag-home .ag-ops-grid{
    align-items:stretch;
}

body.ag-home .ag-ops-grid > .ag-dashboard-card,
body.ag-home .ag-ops-grid > .ag-home-system-panel{
    height:100%;
    min-height:0;
    display:flex;
    flex-direction:column;
}

body.ag-home .ag-presence-card .ag-dashboard-card-foot,
body.ag-home .ag-activity-card .ag-dashboard-card-foot,
body.ag-home .ag-home-system-panel .ag-system-foot{
    margin-top:auto;
}

/* Gør presence- og activity-kortene visuelt lige så "tætte" som systemkortet. */
body.ag-home .ag-presence-list,
body.ag-home .ag-activity-stream{
    flex:1 1 auto;
}

body.ag-home .ag-home-system-panel .ag-system-head{
    flex:0 0 auto;
}

body.ag-home .ag-home-system-panel .ag-system-grid{
    flex:0 0 auto;
}

/* Seneste downtime erstatter "Seneste checks" i højre, faste boks. */
.ag-home-downtime{
    position:relative;
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:6px;
    min-height:88px;
    padding:14px 15px;
    border-top:1px solid rgba(255,255,255,.08);
    background:
        linear-gradient(90deg,rgba(255,133,133,.025),transparent 58%),
        #0f1317;
    overflow:hidden;
}

.ag-home-downtime:after{
    content:"";
    position:absolute;
    right:-25px;
    bottom:-42px;
    width:100px;
    height:100px;
    border:1px solid rgba(255,255,255,.035);
    border-radius:50%;
}

.ag-home-downtime-head{
    position:relative;
    z-index:1;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
}

.ag-home-downtime-tag{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:3px 6px;
    border:1px solid rgba(121,216,148,.26);
    border-radius:5px;
    color:#79d894;
    background:rgba(49,139,75,.08);
    font-size:7px;
    line-height:1;
    letter-spacing:.14em;
}

.ag-home-downtime-tag.warn{
    color:#ff8585;
    border-color:rgba(255,133,133,.32);
    background:rgba(164,54,54,.10);
}

.ag-home-downtime-value{
    position:relative;
    z-index:1;
    color:#eef2f4;
    font-size:17px;
    font-weight:500;
    line-height:1.1;
    letter-spacing:.05em;
}

.ag-home-downtime-sub{
    position:relative;
    z-index:1;
    color:#727b86;
    font-size:8px;
    line-height:1.35;
}

/* Neutral/light */
html[data-ag-theme="stealth"] .ag-home-downtime,
html[data-ag-theme="light"] .ag-home-downtime{
    background:
        linear-gradient(90deg,rgba(165,57,57,.02),transparent 58%),
        #fff;
    border-color:#e5e8ec;
}

html[data-ag-theme="stealth"] .ag-home-downtime-value,
html[data-ag-theme="light"] .ag-home-downtime-value{
    color:#20242a;
}

html[data-ag-theme="stealth"] .ag-home-downtime-tag{
    color:#207a3e;
    border-color:#b9ddc3;
    background:#edf8f0;
}

html[data-ag-theme="stealth"] .ag-home-downtime-tag.warn{
    color:#a53939;
    border-color:#e8b9b9;
    background:#fff0f0;
}

/* Hover-panel: plads til 10 checks uden at blive grotesk høj. */
.ag-system-popover{
    max-height:min(760px,calc(100vh - 90px));
    overflow:auto;
}

/* Desktop: hold alle tre topkort samme højde. */
@media(min-width:1351px){
    body.ag-home .ag-ops-grid{
        grid-auto-rows:1fr;
    }

    body.ag-home .ag-ops-grid > *{
        min-height:445px;
    }
}

/* Mobile/tablet:
   Apps skal komme FØR presence/activity/system status. */
@media(max-width:900px){
    body.ag-home main{
        display:flex;
        flex-direction:column;
    }

    body.ag-home .apps-head{
        order:10;
        margin-top:22px;
    }

    body.ag-home .app-grid{
        order:20;
    }

    body.ag-home .ag-ops-grid{
        order:30;
        margin-top:26px;
    }

    /* På mobil må boksen gerne være naturlig i højden. */
    body.ag-home .ag-ops-grid > .ag-dashboard-card,
    body.ag-home .ag-ops-grid > .ag-home-system-panel{
        height:auto;
        min-height:0;
    }
}

@media(max-width:620px){
    .ag-home-downtime{
        min-height:82px;
    }

    .ag-system-popover{
        max-height:calc(100vh - 95px);
    }
}


/* =======================================================================
   AG OPS V4 — KOMPAKT DRIFTSCENTER
   - Systemstatus + seneste deploy på samme række
   - Alle tre desktop-kort lavere og lige høje
   - Pulsende LIVE flyttet til Teamstatus
   ======================================================================= */

.ag-presence-live{
    display:inline-flex;
    align-items:center;
    gap:6px;
    color:#79d894;
    font-size:7px;
    line-height:1;
    letter-spacing:.16em;
    text-transform:uppercase;
}

.ag-presence-live-pulse{
    width:6px;
    height:6px;
    border-radius:50%;
    background:#79d894;
    box-shadow:0 0 12px rgba(121,216,148,.6);
    animation:agSystemLive 1.65s ease-in-out infinite;
}

/* Fixed system panel: top row is now two equal information cells. */
.ag-home-system-top{
    display:grid;
    grid-template-columns:1fr 1fr;
    background:rgba(255,255,255,.085);
    border-bottom:1px solid rgba(255,255,255,.09);
}

.ag-home-system-top-cell{
    position:relative;
    display:flex;
    min-width:0;
    min-height:82px;
    flex-direction:column;
    justify-content:center;
    gap:5px;
    padding:13px 15px;
    background:#0f1317;
    overflow:hidden;
}

.ag-home-system-top-cell + .ag-home-system-top-cell{
    border-left:1px solid rgba(255,255,255,.09);
}

.ag-home-system-top-cell:after{
    content:"";
    position:absolute;
    right:-30px;
    bottom:-48px;
    width:100px;
    height:100px;
    border:1px solid rgba(255,255,255,.035);
    border-radius:50%;
}

.ag-home-system-top-cell .ag-system-state,
.ag-home-system-top-cell .ag-system-note,
.ag-home-deploy-name,
.ag-home-deploy-sub,
.ag-home-system-top-cell .ag-system-kicker{
    position:relative;
    z-index:1;
}

.ag-home-system-top-cell .ag-system-state strong{
    font-size:11px;
    letter-spacing:.07em;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.ag-home-system-top-cell .ag-system-note{
    font-size:7px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.ag-home-deploy-name{
    color:#f0f3f4;
    font-size:15px;
    line-height:1.1;
    font-weight:500;
    letter-spacing:.03em;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.ag-home-deploy-sub{
    color:#727b86;
    font-size:7px;
    line-height:1.3;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

/* The four metrics are now the only metric grid rows. */
.ag-home-system-panel .ag-home-system-grid .ag-system-metric.deploy{
    grid-column:auto;
}

.ag-home-system-panel .ag-home-system-grid{
    grid-template-columns:1fr 1fr;
}

.ag-home-system-panel .ag-system-metric{
    min-height:66px;
    padding:10px 14px;
}

.ag-home-system-panel .ag-system-metric-value{
    font-size:15px;
}

.ag-home-system-panel .ag-system-metric-sub{
    font-size:7px;
}

.ag-home-downtime{
    min-height:67px;
    padding:10px 14px;
    gap:4px;
}

.ag-home-downtime-value{
    font-size:14px;
}

.ag-home-downtime-sub{
    font-size:7px;
}

.ag-home-system-panel .ag-system-foot{
    padding:7px 14px 8px;
}

/* Compact the other two panels to the same height. */
.ag-dashboard-card-head{
    min-height:56px;
    padding:12px 14px 10px;
}

.ag-presence-list{
    padding:3px 14px;
}

.ag-presence-row{
    min-height:47px;
}

.ag-activity-stream{
    padding:3px 14px;
}

.ag-activity-item{
    min-height:28px;
}

.ag-dashboard-card-foot{
    padding:7px 14px 8px;
}

/* Desktop equal height, but notably shorter than V3. */
@media(min-width:1351px){
    body.ag-home .ag-ops-grid{
        grid-auto-rows:360px;
    }

    body.ag-home .ag-ops-grid > *{
        min-height:360px;
        height:360px;
    }
}

/* Light + Neutral top system cells */
html[data-ag-theme="light"] .ag-home-system-top,
html[data-ag-theme="stealth"] .ag-home-system-top{
    background:#e5e8ec;
    border-color:#e5e8ec;
}

html[data-ag-theme="light"] .ag-home-system-top-cell,
html[data-ag-theme="stealth"] .ag-home-system-top-cell{
    background:#fff;
}

html[data-ag-theme="light"] .ag-home-system-top-cell + .ag-home-system-top-cell,
html[data-ag-theme="stealth"] .ag-home-system-top-cell + .ag-home-system-top-cell{
    border-color:#e5e8ec;
}

html[data-ag-theme="light"] .ag-home-deploy-name,
html[data-ag-theme="stealth"] .ag-home-deploy-name{
    color:#20242a;
}

html[data-ag-theme="stealth"] .ag-presence-live{
    color:#207a3e;
    letter-spacing:0;
    text-transform:none;
}

/* Mobile Apps-first ordering from V3 stays intact. */
@media(max-width:900px){
    .ag-home-system-top{
        grid-template-columns:1fr;
    }

    .ag-home-system-top-cell + .ag-home-system-top-cell{
        border-left:0;
        border-top:1px solid rgba(255,255,255,.09);
    }

    html[data-ag-theme="light"] .ag-home-system-top-cell + .ag-home-system-top-cell,
    html[data-ag-theme="stealth"] .ag-home-system-top-cell + .ag-home-system-top-cell{
        border-top-color:#e5e8ec;
    }

    body.ag-home .ag-ops-grid > .ag-dashboard-card,
    body.ag-home .ag-ops-grid > .ag-home-system-panel{
        height:auto;
    }
}


/* =======================================================================
   AG OPS V4.1 — KUN LAVERE DASHBOARD-BOKSE
   Ingen tekststørrelser, spacing i indhold eller øvrigt design ændres.
   ======================================================================= */
@media(min-width:1351px){
    body.ag-home .ag-ops-grid{
        grid-auto-rows:auto !important;
    }

    body.ag-home .ag-ops-grid > *{
        min-height:0 !important;
        height:auto !important;
    }
}


/* =======================================================================
   AG OPS V4.2 — LYS RETTELSE + REN NEUTRAL
   Kun tema-overrides. Ingen tekststørrelser eller layout i mørk ændres.
   ======================================================================= */

/* LYS: hele driftscenter-boksen skal være lys — også metric-cellerne. */
html[data-ag-theme="light"] .ag-home-system-panel,
html[data-ag-theme="light"] .ag-home-system-top,
html[data-ag-theme="light"] .ag-home-system-top-cell,
html[data-ag-theme="light"] .ag-home-system-grid,
html[data-ag-theme="light"] .ag-home-system-panel .ag-system-metric,
html[data-ag-theme="light"] .ag-home-downtime,
html[data-ag-theme="light"] .ag-home-system-panel .ag-system-foot{
    background:#fff !important;
}

html[data-ag-theme="light"] .ag-home-system-top,
html[data-ag-theme="light"] .ag-home-system-top-cell,
html[data-ag-theme="light"] .ag-home-system-top-cell + .ag-home-system-top-cell,
html[data-ag-theme="light"] .ag-home-system-grid,
html[data-ag-theme="light"] .ag-home-system-panel .ag-system-metric,
html[data-ag-theme="light"] .ag-home-downtime,
html[data-ag-theme="light"] .ag-home-system-panel .ag-system-foot{
    border-color:#e2e6ea !important;
}

html[data-ag-theme="light"] .ag-home-system-panel .ag-system-state strong,
html[data-ag-theme="light"] .ag-home-system-panel .ag-system-metric-value,
html[data-ag-theme="light"] .ag-home-deploy-name,
html[data-ag-theme="light"] .ag-home-downtime-value{
    color:#20242a !important;
}

html[data-ag-theme="light"] .ag-home-system-panel .ag-system-note,
html[data-ag-theme="light"] .ag-home-system-panel .ag-system-metric-sub,
html[data-ag-theme="light"] .ag-home-deploy-sub,
html[data-ag-theme="light"] .ag-home-downtime-sub,
html[data-ag-theme="light"] .ag-home-system-panel .ag-system-kicker{
    color:#717b86 !important;
}

html[data-ag-theme="light"] .ag-home-system-panel .ag-system-metric:after,
html[data-ag-theme="light"] .ag-home-system-top-cell:after,
html[data-ag-theme="light"] .ag-home-downtime:after{
    border-color:rgba(20,28,38,.055) !important;
}

/* NEUTRAL: forsiden er kun app-oversigten.
   Topbaren/navigationen beholdes, men driftsdashboard + onlinebadge skjules. */
html[data-ag-theme="stealth"] body.ag-home .ag-ops-grid{
    display:none !important;
}

html[data-ag-theme="stealth"] body.ag-home .ag-connection{
    display:none !important;
}

html[data-ag-theme="stealth"] body.ag-home .apps-head{
    margin-top:22px !important;
}

/* =======================================================================
   PUBLIC / PRE-LOGIN SPLASH
   ======================================================================= */
.page-shell-public{
    width:min(1120px,calc(100% - 40px));
}
.topbar-public{
    padding-top:18px;
}
.public-main{
    min-height:calc(100vh - 180px);
    display:flex;
    align-items:center;
}
.public-splash{
    width:100%;
    min-height:560px;
    border:1px solid var(--line-soft);
    background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(255,255,255,.96));
    display:flex;
    align-items:center;
    justify-content:center;
    padding:56px 44px;
    position:relative;
    overflow:hidden;
}
.public-splash:before{
    content:"";
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at 15% 18%, rgba(75,92,122,.08), transparent 28%),
        radial-gradient(circle at 84% 18%, rgba(47,61,84,.08), transparent 24%),
        linear-gradient(135deg, rgba(255,255,255,.72) 0%, rgba(244,246,249,.2) 100%);
    pointer-events:none;
}
.public-splash:after{
    content:"";
    position:absolute;
    left:0;
    bottom:0;
    width:180px;
    height:8px;
    background:repeating-linear-gradient(135deg,transparent 0 4px,rgba(76,87,102,.5) 4px 6px,transparent 6px 10px);
    opacity:.85;
}
.public-splash-inner{
    position:relative;
    z-index:1;
    width:min(100%,760px);
    text-align:center;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:22px;
}
.public-splash h1{
    margin:0;
    font-size:clamp(40px,7vw,76px);
    line-height:.98;
    font-weight:300;
    letter-spacing:.05em;
}
.public-lead{
    margin:0;
    max-width:690px;
    color:#52606f;
    font-size:15px;
    line-height:1.85;
    letter-spacing:.04em;
}
.public-actions{
    display:flex;
    justify-content:center;
    width:100%;
    min-height:48px;
}
.public-google-wrap{
    display:flex;
    justify-content:center;
    width:100%;
}
.public-warning{
    border:1px solid var(--line-soft);
    background:rgba(255,255,255,.72);
    padding:14px 18px;
    font-size:13px;
    color:#384556;
}
.public-meta-row{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:10px;
}
.public-pill{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:10px 14px;
    border:1px solid var(--line-soft);
    background:rgba(255,255,255,.76);
    color:#4b5664;
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.18em;
}
.public-footer{
    display:flex;
    justify-content:space-between;
    gap:20px;
    margin-top:28px;
    padding-top:16px;
    border-top:1px solid var(--line-soft);
    font-size:8px;
    letter-spacing:.34em;
    color:var(--muted);
}
html[data-ag-theme="dark"] .public-splash{
    background:linear-gradient(160deg,rgba(20,22,26,.94) 0%,rgba(14,15,17,.98) 100%);
    border-color:rgba(255,255,255,.12);
}
html[data-ag-theme="dark"] .public-splash:before{
    background:
        radial-gradient(circle at 15% 18%, rgba(255,255,255,.07), transparent 24%),
        radial-gradient(circle at 84% 18%, rgba(255,255,255,.05), transparent 20%),
        linear-gradient(135deg, rgba(255,255,255,.02) 0%, rgba(255,255,255,.01) 100%);
}
html[data-ag-theme="dark"] .public-lead{
    color:#b5bcc4;
}
html[data-ag-theme="dark"] .public-pill,
html[data-ag-theme="dark"] .public-warning{
    background:rgba(255,255,255,.03);
    border-color:rgba(255,255,255,.14);
    color:#c6ccd3;
}
html[data-ag-theme="dark"] body.ag-public,
html[data-ag-theme="dark"] body.ag-login{
    background:
        radial-gradient(circle at 72% 18%,rgba(255,255,255,.045),transparent 32%),
        linear-gradient(145deg,#0e0f11 0%,#15171a 52%,#0d0e10 100%);
}
body.ag-public .ag-theme-wrap,
body.ag-login .ag-theme-wrap{
    margin-left:auto;
    margin-right:0;
}
body.ag-public .ag-theme-label,
body.ag-login .ag-theme-label{
    letter-spacing:.26em;
}
body.ag-public .ag-theme-select,
body.ag-login .ag-theme-select{
    min-width:88px;
    padding-right:22px;
}
@media(max-width:820px){
    .page-shell-public{width:min(100% - 24px,1120px)}
    .public-main{min-height:calc(100vh - 160px)}
    .public-splash{min-height:500px;padding:40px 24px}
    .public-splash-inner{gap:18px}
    .public-lead{font-size:14px;line-height:1.7}
    .public-footer{flex-direction:column;line-height:1.7}
}
@media(max-width:620px){
    .topbar-public{align-items:flex-start;gap:14px}
    .topbar-public .brand{align-items:flex-start}
    .topbar-public .brand-copy strong{font-size:12px}
    .public-splash{min-height:470px;padding:34px 20px}
    .public-splash h1{font-size:36px;letter-spacing:.04em}
    .public-meta-row{gap:8px}
    .public-pill{font-size:9px;padding:9px 11px;letter-spacing:.14em}
    body.ag-public .ag-theme-wrap,
    body.ag-login .ag-theme-wrap{margin-left:0}
}
