/* SIS Site-Draft widget — embedded review tool. Strip from production. */
.sd-mark { background: rgba(196, 154, 74, 0.28); border-bottom: 2px solid #C49A4A; cursor: pointer; position: relative; padding: 0 1px; }
.sd-mark::after { content: attr(data-sd-count); position: absolute; top: -10px; right: -10px; background: #6B1E3D; color: #fff; font: 700 10px/1 ui-monospace, monospace; padding: 2px 5px; border-radius: 8px; min-width: 14px; text-align: center; }
.sd-mark[data-sd-count="0"]::after, .sd-mark[data-sd-count=""]::after { display: none; }

.sd-toolbar { position: absolute; z-index: 100000; background: #1A1A2E; color: #fff; border: 1px solid #C49A4A; border-radius: 6px; padding: 6px 10px; font: 600 12px ui-sans-serif, system-ui, sans-serif; box-shadow: 0 4px 14px rgba(0,0,0,0.35); cursor: pointer; display: none; }
.sd-toolbar:hover { background: #6B1E3D; }

.sd-badge { position: fixed; bottom: 20px; right: 20px; z-index: 99998; background: #1A1A2E; color: #fff; border: 1.5px solid #C49A4A; border-radius: 999px; padding: 10px 18px; font: 600 14px ui-sans-serif, system-ui, sans-serif; box-shadow: 0 6px 20px rgba(0,0,0,0.35); cursor: pointer; display: flex; align-items: center; gap: 10px; transition: transform .15s ease; }
.sd-badge:hover { transform: translateY(-2px); }
.sd-badge .sd-dot { width: 8px; height: 8px; background: #C49A4A; border-radius: 50%; }
.sd-badge .sd-count { background: #6B1E3D; color: #fff; padding: 2px 8px; border-radius: 10px; font-size: 12px; }

.sd-panel { position: fixed; bottom: 80px; right: 20px; z-index: 99999; width: 380px; max-height: 70vh; background: #fff; border: 1px solid #E5E0D8; border-radius: 12px; box-shadow: 0 18px 50px rgba(15,37,64,0.22); display: none; flex-direction: column; font: 14px/1.5 ui-sans-serif, system-ui, sans-serif; color: #0F2540; overflow: hidden; }
.sd-panel.open { display: flex; }
.sd-panel header { background: #1A1A2E; color: #fff; padding: 14px 18px; display: flex; justify-content: space-between; align-items: center; }
.sd-panel header strong { font-family: "Fraunces", Georgia, serif; font-weight: 600; font-size: 16px; }
.sd-panel header button { background: transparent; border: 0; color: #C49A4A; font-size: 18px; cursor: pointer; padding: 0 6px; }
.sd-panel .sd-list { flex: 1 1 auto; overflow-y: auto; padding: 4px 0; }
.sd-panel .sd-list:empty::before { content: "No comments yet. Highlight any text or click a section to start."; display: block; padding: 28px 22px; color: #5A6470; font-style: italic; text-align: center; }
.sd-panel .sd-item { padding: 12px 18px; border-top: 1px solid #F4EFE6; cursor: pointer; }
.sd-panel .sd-item:hover { background: #FAF8F4; }
.sd-panel .sd-item-meta { font: 600 10.5px/1 ui-monospace, monospace; letter-spacing: .12em; color: #6B1E3D; text-transform: uppercase; margin-bottom: 4px; }
.sd-panel .sd-item-quote { color: #5A6470; font-style: italic; font-size: 12.5px; margin-bottom: 4px; border-left: 2px solid #C49A4A; padding-left: 8px; }
.sd-panel .sd-item-body { color: #0F2540; font-size: 13.5px; }
.sd-panel .sd-actions { padding: 12px 18px; background: #FAF8F4; border-top: 1px solid #E5E0D8; display: flex; gap: 8px; }
.sd-panel .sd-actions button { flex: 1 1 0; padding: 8px 12px; border-radius: 6px; border: 1px solid #6B1E3D; background: #6B1E3D; color: #fff; font: 600 12.5px ui-sans-serif, system-ui, sans-serif; cursor: pointer; }
.sd-panel .sd-actions button.alt { background: transparent; color: #6B1E3D; }
.sd-panel .sd-actions button:hover { opacity: 0.92; }

.sd-form { position: fixed; z-index: 100001; background: #fff; border: 1px solid #1A1A2E; border-radius: 8px; box-shadow: 0 12px 32px rgba(0,0,0,0.32); width: 320px; padding: 14px; font: 14px/1.45 ui-sans-serif, system-ui, sans-serif; color: #0F2540; display: none; }
.sd-form.open { display: block; }
.sd-form .sd-quote { font-size: 12px; color: #5A6470; font-style: italic; border-left: 2px solid #C49A4A; padding-left: 8px; margin-bottom: 10px; max-height: 80px; overflow-y: auto; }
.sd-form textarea { width: 100%; min-height: 80px; padding: 8px 10px; border: 1px solid #E5E0D8; border-radius: 5px; font: inherit; resize: vertical; box-sizing: border-box; }
.sd-form .sd-form-actions { margin-top: 10px; display: flex; gap: 8px; justify-content: flex-end; }
.sd-form .sd-form-actions button { padding: 7px 14px; border-radius: 5px; border: 1px solid #1A1A2E; background: #1A1A2E; color: #fff; font: 600 12.5px ui-sans-serif, system-ui, sans-serif; cursor: pointer; }
.sd-form .sd-form-actions button.alt { background: transparent; color: #1A1A2E; }

.sd-banner { position: fixed; top: 0; left: 0; right: 0; z-index: 99997; background: linear-gradient(90deg, #C49A4A 0%, #6B1E3D 100%); color: #fff; text-align: center; padding: 8px 16px; font: 600 12.5px ui-sans-serif, system-ui, sans-serif; letter-spacing: 0.04em; }
.sd-banner a { color: #fff; text-decoration: underline; }
body.sd-active { padding-top: 36px; }

@media (max-width: 600px) {
  .sd-panel { width: calc(100vw - 24px); right: 12px; bottom: 76px; max-height: 65vh; }
  .sd-badge { right: 12px; bottom: 12px; padding: 9px 14px; }
  .sd-form { width: calc(100vw - 24px); left: 12px !important; right: 12px; }
}
