143d2073cStracker-user/** 243d2073cStracker-user * Annotations plugin — stylesheet. 343d2073cStracker-user * 443d2073cStracker-user * Colour tokens use DokuWiki's __xxx__ replacement syntax so the theme 543d2073cStracker-user * controls the palette. Hard-coded colours are limited to the annotation- 643d2073cStracker-user * specific highlights (amber / green) which are intentionally opinionated. 743d2073cStracker-user * 843d2073cStracker-user * FF78 ESR safe: no :has(), :not() with selectors, aspect-ratio, container 943d2073cStracker-user * queries, or CSS nesting. 1086c7806dStracker-user * 1186c7806dStracker-user * The two highlight hues are driven by CSS custom properties that action.php 1286c7806dStracker-user * injects from the color_open / color_resolved config (as "r,g,b" triplets); 1386c7806dStracker-user * every fill/border/marker/pill tint below is that hue at a different opacity. 1486c7806dStracker-user * The :root fallbacks here keep the built-in amber/green palette when the 1586c7806dStracker-user * injected <style> is absent (e.g. annotations off, or a stripped template). 1686c7806dStracker-user * 1786c7806dStracker-user * NOTE: every rgba() that contains var() is LESS-escaped as ~"rgba(var(…), a)". 1886c7806dStracker-user * DokuWiki compiles plugin CSS through lesserphp, which otherwise evaluates 1986c7806dStracker-user * rgba() at compile time, reads var() as 0, and bakes the colour to #000000. 2086c7806dStracker-user * The escape makes lesserphp emit the declaration verbatim so the browser 2186c7806dStracker-user * resolves the custom property at render time. Keep new var()-based colours 2286c7806dStracker-user * escaped the same way. 2343d2073cStracker-user */ 2443d2073cStracker-user 2586c7806dStracker-user:root { 2649d7ec0aStracker-user --ann-open-rgb: 245, 158, 11; /* amber — open / unresolved (config default) */ 2749d7ec0aStracker-user --ann-resolved-rgb: 74, 222, 128; /* green — resolved (config default) */ 2886c7806dStracker-user} 2986c7806dStracker-user 3043d2073cStracker-user/* ========================================================================= 3143d2073cStracker-user Highlight spans 3243d2073cStracker-user ========================================================================= */ 3343d2073cStracker-user 3443d2073cStracker-user.ann-highlight-open { 3586c7806dStracker-user background-color: ~"rgba(var(--ann-open-rgb), 0.35)"; /* amber-300 @ 35% */ 3686c7806dStracker-user border-bottom: 2px solid ~"rgba(var(--ann-open-rgb), 0.7)"; 3743d2073cStracker-user border-radius: 2px; 3843d2073cStracker-user cursor: pointer; 3943d2073cStracker-user transition: background-color 0.15s ease; 4043d2073cStracker-user} 4143d2073cStracker-user 4243d2073cStracker-user.ann-highlight-open:hover { 4386c7806dStracker-user background-color: ~"rgba(var(--ann-open-rgb), 0.55)"; 4443d2073cStracker-user} 4543d2073cStracker-user 4643d2073cStracker-user.ann-highlight-resolved { 4786c7806dStracker-user background-color: ~"rgba(var(--ann-resolved-rgb), 0.30)"; /* green-300 @ 30% */ 4886c7806dStracker-user border-bottom: 2px solid ~"rgba(var(--ann-resolved-rgb), 0.6)"; 4943d2073cStracker-user border-radius: 2px; 5043d2073cStracker-user cursor: pointer; 5143d2073cStracker-user transition: background-color 0.15s ease; 5243d2073cStracker-user} 5343d2073cStracker-user 5443d2073cStracker-user.ann-highlight-resolved:hover { 5586c7806dStracker-user background-color: ~"rgba(var(--ann-resolved-rgb), 0.50)"; 5643d2073cStracker-user} 5743d2073cStracker-user 5843d2073cStracker-user/* ========================================================================= 5943d2073cStracker-user Counter bar 6043d2073cStracker-user ========================================================================= */ 6143d2073cStracker-user 6243d2073cStracker-user#ann-counter-bar { 6343d2073cStracker-user display: flex; 6443d2073cStracker-user align-items: center; 6543d2073cStracker-user flex-wrap: wrap; 6643d2073cStracker-user gap: 0.5em; 6743d2073cStracker-user padding: 0.4em 0.75em; 6843d2073cStracker-user margin-bottom: 0.75em; 6943d2073cStracker-user background: __background_alt__; 7043d2073cStracker-user border: 1px solid __border__; 7143d2073cStracker-user border-radius: 4px; 7243d2073cStracker-user color: __text__; 7343d2073cStracker-user} 7443d2073cStracker-user 7543d2073cStracker-user.ann-orphan-link { 7643d2073cStracker-user color: __link__; 7743d2073cStracker-user text-decoration: underline; 7843d2073cStracker-user cursor: pointer; 7943d2073cStracker-user} 8043d2073cStracker-user 8143d2073cStracker-user/* ========================================================================= 8243d2073cStracker-user Gutter markers 8343d2073cStracker-user ========================================================================= */ 8443d2073cStracker-user 85563f3b4cStracker-user/* Markers are appended to document.body as position:absolute elements so 86563f3b4cStracker-user that no template overflow:hidden can clip them. Top/left are set inline 87563f3b4cStracker-user via JS using getBoundingClientRect() + scroll offsets. All markers share 88563f3b4cStracker-user the same X position (left edge of the .page column) so they form a tidy 89563f3b4cStracker-user vertical column in the document margin. */ 9043d2073cStracker-user.ann-gutter-marker { 9143d2073cStracker-user position: absolute; 9243d2073cStracker-user padding: 0; 9343d2073cStracker-user border: none; 94563f3b4cStracker-user background: none; 9586c7806dStracker-user color: ~"rgba(var(--ann-open-rgb), 0.8)"; /* amber — open */ 9643d2073cStracker-user cursor: pointer; 97563f3b4cStracker-user display: flex; 98563f3b4cStracker-user align-items: center; 99563f3b4cStracker-user justify-content: center; 100563f3b4cStracker-user z-index: 1000; 101563f3b4cStracker-user transition: color 0.15s ease, transform 0.12s ease; 102563f3b4cStracker-user} 103563f3b4cStracker-user 104563f3b4cStracker-user/* Suppress any UA button background on all interactive states. */ 105563f3b4cStracker-user.ann-gutter-marker:hover, 106563f3b4cStracker-user.ann-gutter-marker:focus, 107563f3b4cStracker-user.ann-gutter-marker:active { 108563f3b4cStracker-user background: none; 109563f3b4cStracker-user outline: none; 110563f3b4cStracker-user box-shadow: none; 11143d2073cStracker-user} 11243d2073cStracker-user 11343d2073cStracker-user.ann-gutter-marker:hover { 11486c7806dStracker-user color: ~"rgba(var(--ann-open-rgb), 1)"; 115563f3b4cStracker-user} 116563f3b4cStracker-user 117563f3b4cStracker-user.ann-gutter-marker[data-status="resolved"] { 11886c7806dStracker-user color: ~"rgba(var(--ann-resolved-rgb), 0.8)"; /* green — resolved */ 119563f3b4cStracker-user} 120563f3b4cStracker-user 121563f3b4cStracker-user.ann-gutter-marker[data-status="resolved"]:hover { 12286c7806dStracker-user color: ~"rgba(var(--ann-resolved-rgb), 1)"; 12343d2073cStracker-user} 12443d2073cStracker-user 12543d2073cStracker-user/* ========================================================================= 12643d2073cStracker-user Annotation panel 12743d2073cStracker-user ========================================================================= */ 12843d2073cStracker-user 12943d2073cStracker-user.ann-panel { 13043d2073cStracker-user margin: 0.75em 0 1em; 13143d2073cStracker-user border: 1px solid __border__; 13286c7806dStracker-user border-left: 3px solid ~"rgba(var(--ann-open-rgb), 0.7)"; 13343d2073cStracker-user background: __background_alt__; 134563f3b4cStracker-user box-shadow: 0 2px 8px rgba(0,0,0,0.10); 135563f3b4cStracker-user contain: layout; 13643d2073cStracker-user} 13743d2073cStracker-user 13843d2073cStracker-user/* ========================================================================= 13943d2073cStracker-user Thread entries (annotation + replies) 14043d2073cStracker-user ========================================================================= */ 14143d2073cStracker-user 14243d2073cStracker-user.ann-thread-entry { 14343d2073cStracker-user padding: 0.65em 0.85em; 14443d2073cStracker-user border-bottom: 1px solid __border__; 14543d2073cStracker-user} 14643d2073cStracker-user 14743d2073cStracker-user.ann-thread-entry:last-of-type { 14843d2073cStracker-user border-bottom: none; 14943d2073cStracker-user} 15043d2073cStracker-user 151563f3b4cStracker-user/* Root annotation entry: lighter background so it stands out from the panel. */ 152563f3b4cStracker-user.ann-thread-entry.ann-annotation { 153563f3b4cStracker-user background: __background__; 154563f3b4cStracker-user} 155563f3b4cStracker-user 156563f3b4cStracker-user/* Reply entries: inset card with the same lighter background. */ 15743d2073cStracker-user.ann-reply { 15843d2073cStracker-user margin-left: 1.5em; 15943d2073cStracker-user background: __background__; 16043d2073cStracker-user border-left: 2px solid __border__; 16143d2073cStracker-user} 16243d2073cStracker-user 16343d2073cStracker-user/* ========================================================================= 164563f3b4cStracker-user Meta row (avatar, author, time, status, close button) 16543d2073cStracker-user ========================================================================= */ 16643d2073cStracker-user 16743d2073cStracker-user.ann-meta { 16843d2073cStracker-user display: flex; 16943d2073cStracker-user align-items: center; 17043d2073cStracker-user gap: 0.4em; 17143d2073cStracker-user margin-bottom: 0.35em; 17243d2073cStracker-user flex-wrap: wrap; 17343d2073cStracker-user} 17443d2073cStracker-user 17543d2073cStracker-user.ann-avatar { 17643d2073cStracker-user display: inline-flex; 17743d2073cStracker-user align-items: center; 17843d2073cStracker-user justify-content: center; 17943d2073cStracker-user width: 1.8em; 18043d2073cStracker-user height: 1.8em; 18143d2073cStracker-user border-radius: 50%; 18243d2073cStracker-user background: __link__; 18343d2073cStracker-user color: #fff; 18443d2073cStracker-user font-size: 0.75em; 18543d2073cStracker-user font-weight: 700; 18643d2073cStracker-user flex-shrink: 0; 18743d2073cStracker-user} 18843d2073cStracker-user 18943d2073cStracker-user.ann-author { 19043d2073cStracker-user font-weight: 600; 19143d2073cStracker-user color: __text__; 19243d2073cStracker-user} 19343d2073cStracker-user 19443d2073cStracker-user.ann-time { 19543d2073cStracker-user color: __text_alt__; 19643d2073cStracker-user font-size: 0.85em; 19743d2073cStracker-user} 19843d2073cStracker-user 19943d2073cStracker-user.ann-status { 20043d2073cStracker-user display: inline-block; 20143d2073cStracker-user padding: 0.1em 0.45em; 20243d2073cStracker-user border-radius: 10em; 20343d2073cStracker-user font-size: 0.78em; 20443d2073cStracker-user font-weight: 600; 20543d2073cStracker-user letter-spacing: 0.02em; 20643d2073cStracker-user} 20743d2073cStracker-user 20843d2073cStracker-user.ann-status-open { 20986c7806dStracker-user background: ~"rgba(var(--ann-open-rgb), 0.25)"; 21043d2073cStracker-user color: #92400e; 21186c7806dStracker-user border: 1px solid ~"rgba(var(--ann-open-rgb), 0.5)"; 21243d2073cStracker-user} 21343d2073cStracker-user 21443d2073cStracker-user.ann-status-resolved { 21586c7806dStracker-user background: ~"rgba(var(--ann-resolved-rgb), 0.25)"; 21643d2073cStracker-user color: #166534; 21786c7806dStracker-user border: 1px solid ~"rgba(var(--ann-resolved-rgb), 0.4)"; 21843d2073cStracker-user} 21943d2073cStracker-user 22043d2073cStracker-user/* ========================================================================= 22143d2073cStracker-user Body text and quoted selection 22243d2073cStracker-user ========================================================================= */ 22343d2073cStracker-user 22443d2073cStracker-user.ann-body { 22543d2073cStracker-user white-space: pre-wrap; 22643d2073cStracker-user word-break: break-word; 22743d2073cStracker-user color: __text__; 22843d2073cStracker-user margin-bottom: 0.4em; 22943d2073cStracker-user} 23043d2073cStracker-user 23143d2073cStracker-user.ann-quote { 232563f3b4cStracker-user margin-bottom: 0.65em; 23343d2073cStracker-user padding: 0.25em 0.6em; 23486c7806dStracker-user border-left: 3px solid ~"rgba(var(--ann-open-rgb), 0.6)"; 235563f3b4cStracker-user color: __text__; 23643d2073cStracker-user font-size: 0.9em; 23786c7806dStracker-user background: ~"rgba(var(--ann-open-rgb), 0.08)"; 23843d2073cStracker-user border-radius: 0 2px 2px 0; 23943d2073cStracker-user} 24043d2073cStracker-user 24143d2073cStracker-user/* ========================================================================= 24243d2073cStracker-user Action buttons row 24343d2073cStracker-user ========================================================================= */ 24443d2073cStracker-user 24543d2073cStracker-user.ann-actions { 24643d2073cStracker-user display: flex; 247563f3b4cStracker-user gap: 0.5em; 24843d2073cStracker-user flex-wrap: wrap; 249563f3b4cStracker-user margin-top: 0.65em; 25043d2073cStracker-user} 25143d2073cStracker-user 25243d2073cStracker-user.ann-btn { 25343d2073cStracker-user display: inline-block; 25443d2073cStracker-user padding: 0.2em 0.55em; 255563f3b4cStracker-user font-size: 0.85em; 25643d2073cStracker-user border: 1px solid __border__; 25743d2073cStracker-user border-radius: 3px; 258563f3b4cStracker-user background: __background__ !important; 25943d2073cStracker-user color: __text__; 26043d2073cStracker-user cursor: pointer; 26143d2073cStracker-user line-height: 1.4; 26243d2073cStracker-user transition: background-color 0.12s ease; 26343d2073cStracker-user} 26443d2073cStracker-user 26543d2073cStracker-user.ann-btn:hover { 266563f3b4cStracker-user background: __background_alt__ !important; 26743d2073cStracker-user} 26843d2073cStracker-user 26943d2073cStracker-user.ann-btn-primary { 270563f3b4cStracker-user background: __link__ !important; 27143d2073cStracker-user border-color: __link__; 27243d2073cStracker-user color: #fff; 27343d2073cStracker-user} 27443d2073cStracker-user 27543d2073cStracker-user.ann-btn-primary:hover { 276563f3b4cStracker-user background: __link__ !important; 277563f3b4cStracker-user color: #fff; 27843d2073cStracker-user opacity: 0.88; 27943d2073cStracker-user} 28043d2073cStracker-user 281563f3b4cStracker-user/* Disabled state: prevent UA-stylesheet background overrides and ensure 282563f3b4cStracker-user primary buttons keep their link colour. */ 283563f3b4cStracker-user.ann-btn:disabled, 284563f3b4cStracker-user.ann-btn[disabled] { 285563f3b4cStracker-user background: __background__; 286563f3b4cStracker-user opacity: 0.55; 287563f3b4cStracker-user cursor: not-allowed; 288563f3b4cStracker-user} 289563f3b4cStracker-user 290563f3b4cStracker-user.ann-btn:disabled:hover, 291563f3b4cStracker-user.ann-btn[disabled]:hover { 292563f3b4cStracker-user background: __background__; 293563f3b4cStracker-user} 294563f3b4cStracker-user 295563f3b4cStracker-user.ann-btn-primary:disabled, 296563f3b4cStracker-user.ann-btn-primary[disabled] { 297563f3b4cStracker-user background: __link__; 298563f3b4cStracker-user color: #fff; 299563f3b4cStracker-user} 300563f3b4cStracker-user 301563f3b4cStracker-user.ann-btn-primary:disabled:hover, 302563f3b4cStracker-user.ann-btn-primary[disabled]:hover { 303563f3b4cStracker-user background: __link__; 304563f3b4cStracker-user opacity: 0.55; 305563f3b4cStracker-user} 306563f3b4cStracker-user 307563f3b4cStracker-user/* Spinner shown while an AJAX request is in flight (set by setBusy()). 308563f3b4cStracker-user The translate(-50%,-50%) is baked into every keyframe so it stays perfectly 309563f3b4cStracker-user centred regardless of sub-pixel rounding and never jigles. */ 310563f3b4cStracker-user@keyframes ann-spin { 311563f3b4cStracker-user from { transform: translate(-50%, -50%) rotate(0deg); } 312563f3b4cStracker-user to { transform: translate(-50%, -50%) rotate(360deg); } 313563f3b4cStracker-user} 314563f3b4cStracker-user 315563f3b4cStracker-user.ann-btn-busy { 316563f3b4cStracker-user position: relative; 317563f3b4cStracker-user color: transparent; 318563f3b4cStracker-user} 319563f3b4cStracker-user 320563f3b4cStracker-user.ann-btn-busy::after { 321563f3b4cStracker-user content: ''; 322563f3b4cStracker-user position: absolute; 323563f3b4cStracker-user top: 50%; 324563f3b4cStracker-user left: 50%; 325563f3b4cStracker-user width: 0.75em; 326563f3b4cStracker-user height: 0.75em; 327563f3b4cStracker-user border: 2px solid rgba(0, 0, 0, 0.25); 328563f3b4cStracker-user border-top-color: rgba(0, 0, 0, 0.75); 329563f3b4cStracker-user border-radius: 50%; 330563f3b4cStracker-user animation: ann-spin 0.6s linear infinite; 331563f3b4cStracker-user} 332563f3b4cStracker-user 333563f3b4cStracker-user.ann-btn-primary.ann-btn-busy::after { 334563f3b4cStracker-user border-color: rgba(255, 255, 255, 0.35); 335563f3b4cStracker-user border-top-color: rgba(255, 255, 255, 0.9); 336563f3b4cStracker-user} 337563f3b4cStracker-user 33843d2073cStracker-user.ann-btn-danger { 33943d2073cStracker-user border-color: #dc2626; 34043d2073cStracker-user color: #dc2626; 34143d2073cStracker-user} 34243d2073cStracker-user 34343d2073cStracker-user.ann-btn-danger:hover { 34443d2073cStracker-user background: rgba(220, 38, 38, 0.08); 34543d2073cStracker-user} 34643d2073cStracker-user 34743d2073cStracker-user.ann-btn-admin { 34843d2073cStracker-user border-color: __border__; 349563f3b4cStracker-user color: __text__; 35043d2073cStracker-user} 35143d2073cStracker-user 352563f3b4cStracker-user/* Close button — lives inside .ann-meta, pushed right via margin-left:auto (set in JS). */ 35343d2073cStracker-user.ann-close { 354563f3b4cStracker-user font-size: 1.35em; 35543d2073cStracker-user line-height: 1; 356563f3b4cStracker-user padding: 0.05em 0.3em; 35743d2073cStracker-user border: none; 358563f3b4cStracker-user background: none !important; 35943d2073cStracker-user color: __text_alt__; 36043d2073cStracker-user cursor: pointer; 361563f3b4cStracker-user flex-shrink: 0; 36243d2073cStracker-user} 36343d2073cStracker-user 36443d2073cStracker-user.ann-close:hover { 36543d2073cStracker-user color: __text__; 366563f3b4cStracker-user background: none !important; 36743d2073cStracker-user} 36843d2073cStracker-user 36943d2073cStracker-user/* ========================================================================= 37043d2073cStracker-user Reply form + new-annotation form 37143d2073cStracker-user ========================================================================= */ 37243d2073cStracker-user 37343d2073cStracker-user.ann-reply-form, 37443d2073cStracker-user.ann-new-form { 37543d2073cStracker-user padding: 0.65em 0.85em; 37643d2073cStracker-user} 37743d2073cStracker-user 37843d2073cStracker-user.ann-new-form { 37943d2073cStracker-user margin: 0.75em 0 1em; 38043d2073cStracker-user border: 1px solid __border__; 38186c7806dStracker-user border-left: 3px solid ~"rgba(var(--ann-open-rgb), 0.7)"; 38243d2073cStracker-user background: __background_alt__; 383563f3b4cStracker-user contain: layout; 38443d2073cStracker-user} 38543d2073cStracker-user 38643d2073cStracker-user.ann-body-input { 38743d2073cStracker-user display: block; 38843d2073cStracker-user width: 100%; 38943d2073cStracker-user box-sizing: border-box; 39043d2073cStracker-user padding: 0.4em 0.6em; 39143d2073cStracker-user font: inherit; 39243d2073cStracker-user border: 1px solid __border__; 39343d2073cStracker-user background: __background__; 39443d2073cStracker-user color: __text__; 39543d2073cStracker-user resize: vertical; 396563f3b4cStracker-user margin-bottom: 0.65em; 39743d2073cStracker-user} 39843d2073cStracker-user 39943d2073cStracker-user.ann-body-input:focus { 400563f3b4cStracker-user outline: 1px solid __link__; 40143d2073cStracker-user} 40243d2073cStracker-user 40343d2073cStracker-user.ann-form-row { 40443d2073cStracker-user display: flex; 40543d2073cStracker-user gap: 0.4em; 40643d2073cStracker-user} 40743d2073cStracker-user 408563f3b4cStracker-user.ann-form-row + .ann-quote { 409563f3b4cStracker-user margin-top: 0.65em; 410563f3b4cStracker-user} 411563f3b4cStracker-user 41243d2073cStracker-user/* ========================================================================= 41343d2073cStracker-user Selection tooltip 41443d2073cStracker-user ========================================================================= */ 41543d2073cStracker-user 41643d2073cStracker-user.ann-tooltip { 41743d2073cStracker-user position: absolute; 41843d2073cStracker-user z-index: 9000; 41943d2073cStracker-user border-radius: 4px; 42043d2073cStracker-user box-shadow: 0 2px 8px rgba(0,0,0,0.15); 42143d2073cStracker-user} 42243d2073cStracker-user 42386c7806dStracker-user/* Static amber glow drawing the eye to the freshly-revealed "Annotate" button. 42486c7806dStracker-user The rgba() is LESS-escaped (~"…") so DokuWiki's CSS compiler passes it through 42586c7806dStracker-user verbatim instead of evaluating var() to black; the browser resolves the 42686c7806dStracker-user custom property at render time. FF78 ESR safe. */ 42786c7806dStracker-user.ann-tooltip .ann-btn { 42886c7806dStracker-user box-shadow: 0 0 8px 2px ~"rgba(var(--ann-open-rgb), 0.45)", 0 1px 4px rgba(0,0,0,0.25); 42986c7806dStracker-user} 43086c7806dStracker-user 43143d2073cStracker-user/* ========================================================================= 43243d2073cStracker-user Orphan drawer 43343d2073cStracker-user ========================================================================= */ 43443d2073cStracker-user 43543d2073cStracker-user.ann-orphan-drawer { 436563f3b4cStracker-user display: flow-root; /* BFC: shrinks to avoid overlapping the floated TOC */ 437563f3b4cStracker-user margin-bottom: 0.65em; 43843d2073cStracker-user padding: 0.75em 1em; 43943d2073cStracker-user border: 1px dashed __border__; 44043d2073cStracker-user border-radius: 4px; 44143d2073cStracker-user background: __background_alt__; 44243d2073cStracker-user} 44343d2073cStracker-user 44443d2073cStracker-user.ann-orphan-drawer h4 { 44543d2073cStracker-user margin: 0 0 0.3em; 44643d2073cStracker-user font-size: 0.95em; 447563f3b4cStracker-user color: __text__; 44843d2073cStracker-user} 44943d2073cStracker-user 45043d2073cStracker-user.ann-orphan-note { 45143d2073cStracker-user font-size: 0.85em; 452563f3b4cStracker-user color: __text__; 45343d2073cStracker-user margin-bottom: 0.75em; 45443d2073cStracker-user} 45543d2073cStracker-user 456*ad1073d4Stracker-user/* Each orphaned annotation renders as a full thread (root + replies). Wrap it 457*ad1073d4Stracker-user like an inline panel so multiple orphaned threads stay visually separated. */ 458*ad1073d4Stracker-user.ann-orphan-thread { 459*ad1073d4Stracker-user margin-bottom: 0.75em; 460*ad1073d4Stracker-user border: 1px solid __border__; 461*ad1073d4Stracker-user border-left: 3px solid ~"rgba(var(--ann-open-rgb), 0.7)"; 462*ad1073d4Stracker-user background: __background_alt__; 463*ad1073d4Stracker-user contain: layout; 464*ad1073d4Stracker-user} 465*ad1073d4Stracker-user 466*ad1073d4Stracker-user.ann-orphan-thread:last-child { 467*ad1073d4Stracker-user margin-bottom: 0; 468*ad1073d4Stracker-user} 469*ad1073d4Stracker-user 470*ad1073d4Stracker-user.ann-orphan-thread[data-status="resolved"] { 471*ad1073d4Stracker-user border-left-color: ~"rgba(var(--ann-resolved-rgb), 0.6)"; 472*ad1073d4Stracker-user} 473*ad1073d4Stracker-user 47443d2073cStracker-user/* ========================================================================= 47543d2073cStracker-user Resolved annotation panels: shift to green accent 47643d2073cStracker-user ========================================================================= */ 47743d2073cStracker-user 47843d2073cStracker-user.ann-panel[data-status="resolved"] { 47986c7806dStracker-user border-left-color: ~"rgba(var(--ann-resolved-rgb), 0.6)"; 48043d2073cStracker-user} 4819fd890c3Stracker-user 4829fd890c3Stracker-user/* ========================================================================= 4839fd890c3Stracker-user Admin overview (annotated-pages table) — mirrors the lastseen panel 4849fd890c3Stracker-user ========================================================================= */ 4859fd890c3Stracker-user 4869fd890c3Stracker-user.plugin_annotations_admin .annotations_admin_bar { 4879fd890c3Stracker-user margin: 0.6em 0; 4889fd890c3Stracker-user} 4899fd890c3Stracker-user 4909fd890c3Stracker-user.plugin_annotations_admin .annotations_admin_id { 4919fd890c3Stracker-user color: __text_alt__; 4929fd890c3Stracker-user font-size: 90%; 4939fd890c3Stracker-user} 4949fd890c3Stracker-user 4959fd890c3Stracker-user.plugin_annotations_admin td.annotations_admin_num, 4969fd890c3Stracker-user.plugin_annotations_admin td.annotations_admin_actions, 4979fd890c3Stracker-user.plugin_annotations_admin .annotations_admin_filteractions, 4989fd890c3Stracker-user.plugin_annotations_admin th { 4999fd890c3Stracker-user text-align: center; 5009fd890c3Stracker-user white-space: nowrap; 5019fd890c3Stracker-user} 5029fd890c3Stracker-user 5039fd890c3Stracker-user.plugin_annotations_admin th, 5049fd890c3Stracker-user.plugin_annotations_admin td { 5059fd890c3Stracker-user vertical-align: middle; 5069fd890c3Stracker-user} 5079fd890c3Stracker-user 5089fd890c3Stracker-user/* per-column filter row */ 5099fd890c3Stracker-user.plugin_annotations_admin .annotations_admin_filterrow td { 5109fd890c3Stracker-user padding-top: 0.3em; 5119fd890c3Stracker-user padding-bottom: 0.3em; 5129fd890c3Stracker-user} 5139fd890c3Stracker-user 5149fd890c3Stracker-user.plugin_annotations_admin .annotations_admin_filterrow input.edit { 5159fd890c3Stracker-user width: 100%; 5169fd890c3Stracker-user box-sizing: border-box; 5179fd890c3Stracker-user} 5189fd890c3Stracker-user 5199fd890c3Stracker-user.annotations_admin_clear { 5209fd890c3Stracker-user margin-left: 0.5em; 5219fd890c3Stracker-user font-size: 90%; 5229fd890c3Stracker-user} 5239fd890c3Stracker-user 5249fd890c3Stracker-user.annotations_admin_none { 5259fd890c3Stracker-user text-align: center; 5269fd890c3Stracker-user color: __text_alt__; 5279fd890c3Stracker-user font-style: italic; 5289fd890c3Stracker-user} 5299fd890c3Stracker-user 5309fd890c3Stracker-user.annotations_admin_count { 5319fd890c3Stracker-user color: __text_alt__; 5329fd890c3Stracker-user font-size: 90%; 5339fd890c3Stracker-user} 5349fd890c3Stracker-user 5359fd890c3Stracker-user/* the POST forms targeted via the form= attribute carry only hidden inputs */ 5369fd890c3Stracker-user.plugin_annotations_admin .annotations_admin_post { 5379fd890c3Stracker-user display: none; 5389fd890c3Stracker-user} 5399fd890c3Stracker-user 5409fd890c3Stracker-user/* numbered pager */ 5419fd890c3Stracker-user.annotations_admin_pager { 5429fd890c3Stracker-user margin: 0.6em 0; 5439fd890c3Stracker-user} 5449fd890c3Stracker-user 5459fd890c3Stracker-user.annotations_admin_pager .pager_btn, 5469fd890c3Stracker-user.annotations_admin_pager .pager_cur, 5479fd890c3Stracker-user.annotations_admin_pager .pager_gap, 5489fd890c3Stracker-user.annotations_admin_pager .pager_disabled { 5499fd890c3Stracker-user display: inline-block; 5509fd890c3Stracker-user min-width: 1.6em; 5519fd890c3Stracker-user padding: 0.15em 0.45em; 5529fd890c3Stracker-user margin: 0 0.1em; 5539fd890c3Stracker-user text-align: center; 5549fd890c3Stracker-user} 5559fd890c3Stracker-user 5569fd890c3Stracker-user.annotations_admin_pager .pager_btn, 5579fd890c3Stracker-user.annotations_admin_pager .pager_cur, 5589fd890c3Stracker-user.annotations_admin_pager .pager_disabled { 5599fd890c3Stracker-user border: 1px solid __border__; 5609fd890c3Stracker-user} 5619fd890c3Stracker-user 5629fd890c3Stracker-user.annotations_admin_pager .pager_btn { 5639fd890c3Stracker-user text-decoration: none; 5649fd890c3Stracker-user} 5659fd890c3Stracker-user 5669fd890c3Stracker-user.annotations_admin_pager .pager_cur { 5679fd890c3Stracker-user background-color: __background_alt__; 5689fd890c3Stracker-user font-weight: bold; 5699fd890c3Stracker-user} 5709fd890c3Stracker-user 5719fd890c3Stracker-user.annotations_admin_pager .pager_disabled { 5729fd890c3Stracker-user color: __text_alt__; 5739fd890c3Stracker-user} 5749fd890c3Stracker-user 5759fd890c3Stracker-user.annotations_admin_pager .pager_gap { 5769fd890c3Stracker-user border: 0; 5779fd890c3Stracker-user} 578