/* Oslo Secureshare — AG-suite skin (mirrors Helsinki). Same-origin so CSP allows it. */
:root, [data-bs-theme=light], [data-bs-theme=dark] {
  --bs-body-bg:#0b0d12; --bs-body-color:#e5e9f0; --bs-emphasis-color:#fff;
  --bs-secondary-color:#8b93a7; --bs-secondary-bg:#12151c; --bs-tertiary-bg:#1a1f29;
  --bs-border-color:#1a1f29;
  --bs-primary:#7aa2f7; --bs-primary-rgb:122,162,247;
  --bs-link-color:#7aa2f7; --bs-link-color-rgb:122,162,247; --bs-link-hover-color:#9db8fa;
  --bs-success:#9ece6a; --bs-danger:#f7768e; --bs-warning:#e0af68;
  --bs-border-radius:12px; --bs-border-radius-sm:8px; --bs-border-radius-lg:14px;
  --bs-font-sans-serif:-apple-system,BlinkMacSystemFont,"Inter","Segoe UI",system-ui,sans-serif;
}
html,body{background:#0b0d12!important;color:#e5e9f0!important;font-family:var(--bs-font-sans-serif)!important;}

/* ---- Header: copied from Helsinki .top / .brand ---- */
.navbar{display:none!important;}
.oslo-top{position:sticky;top:0;z-index:1030;display:flex;flex-direction:column;gap:14px;padding:22px 28px 14px;background:linear-gradient(180deg,#0b0d12 0%,#0b0d12 70%,transparent 100%);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);}
.oslo-top .brand{display:flex;align-items:center;gap:18px;}
.oslo-top .brand>div{flex:1;min-width:0;}
.oslo-top .brand-logo{display:inline-flex;align-items:center;flex-shrink:0;line-height:0;margin-right:6px;}
.oslo-top .brand-logo img{height:40px;width:auto;display:block;transition:opacity .15s ease;}
.oslo-top .brand-logo:hover img{opacity:.8;}
.oslo-top .tool-icon{width:32px;height:32px;flex-shrink:0;display:block;}
.oslo-top .dot{width:10px;height:10px;border-radius:50%;background:#9ece6a;box-shadow:0 0 14px #9ece6a;animation:oslopulse 2s ease-in-out infinite;cursor:help;}
@keyframes oslopulse{50%{opacity:.35;}}
.oslo-top h1{margin:0;font-size:20px;font-weight:600;letter-spacing:-.01em;color:#e5e9f0;}
.oslo-top .sub{margin:0;font-size:12px;color:#8b93a7;}
.oslo-top .nav{display:flex;gap:4px;flex-wrap:wrap;align-items:center;}
.oslo-top .nav a{padding:6px 12px;border-radius:8px;font-size:13px;color:#8b93a7;border:1px solid transparent;text-decoration:none;}
.oslo-top .nav a:hover{color:#e5e9f0;border-color:#1a1f29;background:#12151c;}
@media (min-width:1600px){.oslo-top .brand-logo img{height:54px;}}

/* ---- Body content ---- */
.card,.modal-content{background:#12151c!important;border:1px solid #1a1f29!important;border-radius:14px!important;box-shadow:0 10px 34px rgba(0,0,0,.28)!important;}
.card-header{background:#12151c!important;border-bottom:1px solid #1a1f29!important;color:#e5e9f0!important;font-weight:600!important;border-radius:14px 14px 0 0!important;padding:16px 20px!important;}
.card-body,.card-footer{background:#12151c!important;border-color:#1a1f29!important;}
.form-control,.form-select,.input-group-text,textarea,select{background:#0e1117!important;border:1px solid #1a1f29!important;color:#e5e9f0!important;border-radius:10px!important;}
.form-control:focus,.form-select:focus{border-color:#7aa2f7!important;box-shadow:0 0 0 3px rgba(122,162,247,.2)!important;}
.form-control::placeholder{color:#565e72!important;}
.form-label,label{color:#8b93a7!important;}
.btn-primary,.btn-success{background:#7aa2f7!important;border-color:#7aa2f7!important;color:#0b0d12!important;font-weight:600!important;border-radius:10px!important;}
.btn-primary:hover,.btn-success:hover{background:#9db8fa!important;border-color:#9db8fa!important;color:#0b0d12!important;}
.btn-secondary,.btn-outline-secondary,.btn-light,.btn-default{background:#1a1f29!important;border-color:#1a1f29!important;color:#e5e9f0!important;border-radius:10px!important;}
.input-group .btn{border-radius:10px!important;}
a{color:#7aa2f7;}
footer,.footer,[role=contentinfo]{display:none!important;}
.text-muted,.form-text{color:#565e72!important;}