:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#102a43;background:#edf4fb;font-synthesis:none}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;min-height:100vh;background:radial-gradient(circle at 85% 0,#d5e9fb 0,transparent 35%),#edf4fb}.shell{max-width:1180px;margin:auto;padding:28px}.brandbar{display:flex;align-items:center;gap:18px;margin-bottom:52px}.wordmark{width:70px;height:70px;border-radius:18px;background:#fff;color:#075399;display:grid;place-content:center;text-align:center;box-shadow:0 12px 35px #0644771c;border:1px solid #d9e7f5;line-height:1}.wordmark span{font-size:14px;letter-spacing:.18em}.wordmark strong{font-size:24px}.eyebrow{margin:0 0 5px;color:#0870c9;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.14em}.brandbar h1{font-size:18px;margin:0;color:#173a5e}.login-card{display:grid;grid-template-columns:1.15fr .85fr;min-height:510px;background:#fff;border-radius:28px;overflow:hidden;box-shadow:0 24px 70px #063b7024}.intro{padding:72px;background:linear-gradient(145deg,#063b70,#0870c9);color:#fff;display:flex;flex-direction:column;justify-content:center}.intro .eyebrow{color:#8fd0ff}.intro h2{font-size:48px;line-height:1.08;margin:12px 0 22px;letter-spacing:-.035em}.intro p:last-child{font-size:18px;line-height:1.6;max-width:520px;color:#dceefe}.login-form{padding:64px;display:flex;flex-direction:column;justify-content:center;gap:24px}label{display:grid;gap:8px;font-size:14px;font-weight:750;color:#23496d}input{width:100%;border:1px solid #c9dbea;border-radius:12px;padding:14px 15px;font:inherit;color:#102a43;background:#fafdff;outline:none}input:focus{border-color:#0870c9;box-shadow:0 0 0 4px #0870c91c}button{border:0;border-radius:12px;background:#0870c9;color:#fff;padding:14px 20px;font:inherit;font-weight:800;cursor:pointer}button:hover{background:#0561ae}.secondary{background:#e9f2f9;color:#075399}.secondary:hover{background:#dcebf7}.danger{background:#b4232c}.danger:hover{background:#941d24}.link-button{background:transparent;color:#0870c9;padding:5px 0;text-align:left}.link-button:hover{background:transparent;text-decoration:underline}.error{min-height:20px;margin:0;color:#bd2c35;font-size:14px}.app-view{background:#fff;border-radius:24px;padding:34px;box-shadow:0 20px 60px #063b7017}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #e5eef6;padding-bottom:26px;margin-bottom:28px}.toolbar h2{font-size:34px;margin:0}.muted{color:#6b8298;margin:8px 0 0}.actions{display:flex;gap:10px}.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px}.team-card{border:1px solid #dce8f2;border-radius:18px;padding:22px;background:#fbfdff}.team-card h3{font-size:21px;margin:4px 0 8px}.team-card p{color:#6b8298;margin:0 0 20px}.status{display:inline-block;border-radius:99px;background:#e6f7ee;color:#147a46;padding:5px 10px;font-size:12px;font-weight:800}.status.inactive{background:#edf2f6;color:#577087}.team-card .edit{float:right;padding:8px 12px}.empty{text-align:center;padding:70px 20px;color:#6b8298}.empty span{font-size:42px}.empty h3{color:#173a5e;margin-bottom:6px}.notice{background:#e6f7ee;color:#126a3e;padding:13px 16px;border-radius:12px;margin-bottom:18px}.dialog-head,.dialog-actions,.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.dialog-head h2,.section-title h3{margin:0}.icon{background:transparent;color:#49677f;font-size:28px;padding:4px 10px}dialog{border:0;border-radius:22px;padding:0;width:min(520px,calc(100% - 28px));box-shadow:0 30px 90px #052f55aa}dialog::backdrop{background:#052f5588;backdrop-filter:blur(4px)}dialog form{padding:28px;display:grid;gap:19px}.dialog-actions{justify-content:flex-end;margin-top:6px}.checkbox{display:flex;align-items:center;gap:10px}.checkbox input{width:auto}.checkbox small,label small{font-weight:500;color:#7890a5}.security-dialog{width:min(720px,calc(100% - 28px));max-height:calc(100vh - 40px)}.security-content{padding:30px}.security-section{border-top:1px solid #e1ebf3;margin-top:26px;padding-top:26px}.security-section>h3{margin:0}.security-section form{padding:22px 0 0}.security-section p{line-height:1.55}.qr-code{display:block;width:220px;height:220px;max-width:100%;margin:4px auto;background:#fff;border:1px solid #dce8f2;border-radius:14px;padding:10px}.secret{display:block;overflow-wrap:anywhere;background:#edf4fb;border-radius:10px;padding:12px;margin-top:10px;font-size:13px}details summary{cursor:pointer;color:#075399;font-weight:700}@media(max-width:760px){.shell{padding:18px}.brandbar{margin-bottom:24px}.brandbar h1{font-size:14px}.wordmark{width:58px;height:58px}.login-card{grid-template-columns:1fr}.intro{padding:38px}.intro h2{font-size:36px}.login-form{padding:38px}.toolbar{align-items:flex-start;flex-direction:column}.actions{width:100%;flex-wrap:wrap}.actions button{flex:1}.app-view{padding:24px}.security-content{padding:22px}}
.settings-card-form { align-items: stretch; flex-direction: column; }
.settings-card-form form { width: 100%; }
.section-title-actions { display: flex; align-items: center; justify-content: flex-end; gap: 10px; flex-wrap: wrap; }
@media (max-width: 760px) {
  .section-title-actions { width: 100%; justify-content: stretch; }
  .section-title-actions button { flex: 1 1 180px; }
}
.account-deletion-link {
  color: #657b91;
  font-size: .88rem;
  text-align: center;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Editorial tools share the existing news and settings surfaces. */
.instagram-controls { border: 0; padding: 0; margin: 18px 0; min-width: 0; }
.instagram-media-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 270px), 1fr)); gap: 18px; }
.instagram-post { padding: 16px; border: 1px solid var(--line, #d8e1e8); border-radius: 16px; background: #fff; min-width: 0; }
.instagram-post img { display: block; width: 100%; max-height: 300px; object-fit: contain; border-radius: 10px; background: #f0f3f6; }
.instagram-caption { white-space: pre-wrap; max-height: 180px; overflow: auto; overflow-wrap: anywhere; }
.instagram-post label { margin: 12px 0; }
.category-row { display: flex; gap: 10px; align-items: end; flex-wrap: wrap; padding: 14px 0; border-bottom: 1px solid #d8e1e8; }
.category-row label { flex: 1 1 220px; margin: 0; }

#newsCategoriesDialog { padding: 28px; box-sizing: border-box; }
@media (max-width: 600px) { #newsCategoriesDialog { padding: 18px; } }

/* Keep announcement text readable in both the preview and the delivery history. */
#broadcastHistory .settings-card, #broadcastConfirmDialog .settings-card {
  display: block; overflow-wrap: anywhere;
}
#broadcastHistory h4, #broadcastConfirmDialog .settings-card h3 { margin: 0 0 10px; }
#settingsBroadcastsPanel, #broadcastForm, #broadcastForm label { min-width: 0; }
#settingsBroadcastsPanel .dialog-actions, #broadcastConfirmDialog .dialog-actions { flex-wrap: wrap; }
#broadcastHistory { display: grid; gap: 12px; margin-top: 20px; }
#broadcastHistory .settings-card { margin: 0; }
@media (max-width: 600px) {
  #broadcastForm { padding: 18px 0; }
  #settingsBroadcastsPanel .dialog-actions button, #broadcastConfirmDialog .dialog-actions button {
    width: 100%; white-space: normal;
  }
}

.push-profile-status { padding: 16px; border: 1px solid #d7dfea; border-radius: 12px; background: #f5f7fb; margin-bottom: 16px; }
.push-profile-status p { margin: 8px 0; }
.push-profile-status button { display: block; margin-top: 12px; }
.push-status-active { color: #176b3b; }
.push-status-attention { color: #8c4b00; }
