
/* Frontend styles for TSV Hochdahl | Intranet Info Tool */
.tsv-info-start .tsv-info-item { border: 1px solid #ddd; padding: 10px; margin-bottom: 10px; border-radius: 0; }
.tsv-info-item summary { cursor: pointer; display:flex; justify-content: space-between; gap: 10px; }
.tsv-info-item-title { font-weight: 700; }
.tsv-info-item-meta { opacity: .75; font-size: .9em; white-space: nowrap; }
.tsv-info-card { border: 1px solid #ddd; padding: 14px; margin: 12px 0; border-radius: 0; }
.tsv-info-card.is-done { opacity: .6; }
.tsv-info-search { width: 100%; max-width: none; padding: 12px 14px; border:1px solid var(--tsv-card-entry-border-color, var(--tsv-card-border)); border-radius: var(--tsv-card-radius); background: var(--tsv-card-bg); box-sizing:border-box; }
.tsv-info-paging a { display:inline-block; margin: 0 6px 0 0; padding: 6px 10px; border: 1px solid #ddd; text-decoration:none; }
.tsv-info-paging a.is-current { font-weight:700; }

/* Attachments and inline images */
.tsv-info-images { display:flex; flex-wrap:wrap; gap:10px; margin-top:10px; }
.tsv-info-image { display:block; border:1px solid #ddd; padding:4px; text-decoration:none; }
.tsv-info-image img { display:block; max-width:180px; height:auto; }
.tsv-info-attachments { margin-top:10px; }
.tsv-info-attachments ul { margin:0; padding-left:18px; }

/* Subscriptions */
.tsv-info-news-header { display:flex; flex-direction:column; gap:14px; align-items:stretch; }
.tsv-info-subs { border: 1px solid #ddd; padding: 8px 10px; }
.tsv-info-subs summary { cursor:pointer; font-weight:600; }
.tsv-info-subs-body { margin-top: 8px; }
.tsv-info-subs-level { list-style:none; margin: 6px 0 0 0; padding-left: 14px; }
.tsv-info-subs-item { display:block; margin: 4px 0; }
.tsv-info-subs-forced { opacity: .7; font-size: .9em; }
.tsv-info-subs-save { padding: 6px 10px; border: 1px solid #ddd; background: #f7f7f7; cursor:pointer; }
.tsv-info-subs-status { margin-left: 8px; opacity: .8; }


/* Report overview (frontend) */
.tsv-info-report-overview { margin-bottom: 1.5rem; }
.tsv-info-report-overview-list { display: flex; flex-direction: column; gap: 1rem; }
.tsv-info-report-overview-item { padding: 0.75rem; border: 1px solid rgba(0,0,0,0.1); border-radius: 6px; background: rgba(255,255,255,0.6); }
.tsv-info-report-overview-body { margin-top: 0.5rem; }
.tsv-info-report-overview-images { margin-top: 0.75rem; display: flex; flex-wrap: wrap; gap: 0.5rem; }
.tsv-info-report-overview-images img { width: 96px; height: 96px; object-fit: cover; border-radius: 4px; display: block; }
.tsv-info-report-overview-files { margin-top: 0.75rem; }
.tsv-info-report-overview-files ul { margin: 0; padding-left: 1.25rem; }


/* Main overview filter */
.tsv-info-filter-form { margin: 12px 0 18px; }
.tsv-info-filter-details { border:1px solid #ddd; padding:8px 10px; }
.tsv-info-filter-details summary { cursor:pointer; font-weight:600; }
.tsv-info-filter-level { list-style:none; margin:8px 0 0; padding-left:16px; }
.tsv-info-filter-level li { margin:4px 0; }
.tsv-info-filter-actions { margin-top:10px; }
.tsv-info-filter-note { margin: 8px 0 14px; }
.tsv-info-start-thumb img { width:100px; height:100px; object-fit:cover; display:block; border:1px solid #ddd; }
.tsv-info-start-link-wrap { margin-top: 10px; }
.tsv-info-start-link { display:inline-block; font-weight:600; text-decoration:none; }

/* Customizable frontend card layout */
.tsv-info-news,
.tsv-info-start,
.tsv-info-report-overview {
  --tsv-card-bg:#fafafa;
  --tsv-card-border:#e2e8f0;
  --tsv-card-border-width:1px;
  --tsv-card-radius:10px;
  --tsv-card-padding:18px;
  --tsv-card-gap:16px;
  --tsv-card-shadow:none;
  --tsv-card-border-style:solid;
  --tsv-font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  --tsv-accent-width:4px;
  --tsv-accent-radius:0px;
  --tsv-title-color:#111827;
  --tsv-title-size:28px;
  --tsv-subtitle-color:#4b5563;
  --tsv-subtitle-size:16px;
  --tsv-body-color:#374151;
  --tsv-body-size:15px;
  --tsv-meta-color:#6b7280;
  --tsv-meta-size:12px;
  --tsv-separator-color:#e5e7eb;
  --tsv-separator-width:1px;
  --tsv-label-bg:#fff;
  --tsv-label-color:#475569;
  --tsv-label-border:#d7dde5;
  --tsv-label-radius:999px;
  --tsv-label-py:4px;
  --tsv-label-px:10px;
  --tsv-image-radius:10px;
  --tsv-image-thumb-width:140px;
  --tsv-attachment-color:#0f766e;
  --tsv-attachment-hover:#115e59;
}

.tsv-info-entries { display:flex; flex-direction:column; gap:var(--tsv-card-gap); font-family:var(--tsv-font-family); }
.tsv-info-card {
  position:relative;
  margin:0;
  padding:var(--tsv-card-padding);
  background:var(--tsv-card-bg);
  border-style:var(--tsv-card-border-style);
  border-color:var(--tsv-card-border);
  border-top-width:var(--tsv-card-border-top-width, var(--tsv-card-border-width));
  border-right-width:var(--tsv-card-border-right-width, var(--tsv-card-border-width));
  border-bottom-width:var(--tsv-card-border-bottom-width, var(--tsv-card-border-width));
  border-left-width:var(--tsv-card-border-left-width, var(--tsv-card-border-width));
  border-radius:var(--tsv-card-radius);
  box-shadow:var(--tsv-card-shadow);
  overflow:hidden;
}
.tsv-info-card::before {
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:var(--tsv-accent-width);
  border-radius:max(0px, calc(var(--tsv-card-radius) - 1px)) 0 0 max(0px, calc(var(--tsv-card-radius) - 1px));
  background:var(--tsv-entry-accent, #94a3b8);
}
.tsv-info-card.is-done{opacity:.72}
.tsv-info-preview-head{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px;padding-left:10px}
.tsv-info-chip{
  display:inline-flex;align-items:center;min-height:24px;
  padding:var(--tsv-label-py) var(--tsv-label-px);
  border:1px solid var(--tsv-label-border);
  border-radius:var(--tsv-label-radius);
  background:var(--tsv-label-bg);
  color:var(--tsv-label-color);
  font-size:12px;line-height:1.2;font-weight:600;
}
.tsv-info-chip a{color:inherit;text-decoration:none}
.tsv-info-chip-special{border-color:color-mix(in srgb, var(--tsv-entry-accent, #94a3b8) 36%, var(--tsv-label-border));}
.tsv-info-chip-special a,.tsv-info-chip-special{color:var(--tsv-label-color)}
.tsv-info-title{margin:0 0 6px;padding-left:10px;color:var(--tsv-title-color);font-size:var(--tsv-title-size);line-height:1.2;font-weight:700}
.tsv-info-subtitle{margin:0 0 10px;padding-left:10px;color:var(--tsv-subtitle-color);font-size:var(--tsv-subtitle-size);line-height:1.35;font-weight:500}
.tsv-info-range{margin:0 0 14px;padding-left:10px;color:var(--tsv-meta-color);font-size:var(--tsv-meta-size);text-transform:uppercase;letter-spacing:.04em}
.tsv-info-content{padding-left:10px;color:var(--tsv-body-color);font-size:var(--tsv-body-size)}
.tsv-info-content p:last-child{margin-bottom:0}
.tsv-info-images{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 14px;padding-left:10px}
.tsv-info-image{display:block;padding:0;border:0;text-decoration:none}
.tsv-info-image img{display:block;max-width:var(--tsv-image-thumb-width);max-height:var(--tsv-image-thumb-height, 140px);width:auto;height:auto;border-radius:var(--tsv-image-radius);border:1px solid var(--tsv-card-border);object-fit:contain}
.tsv-info-attachments{padding-left:10px;margin-top:12px}
.tsv-info-attachments ul{margin:0;padding-left:18px}
.tsv-info-attachments a{color:var(--tsv-attachment-color);text-decoration:none;font-weight:600}
.tsv-info-attachments a:hover{text-decoration:underline;color:var(--tsv-attachment-hover)}
.tsv-info-footer{margin:16px 0 0;padding-left:10px;padding-top:10px;border-top:var(--tsv-separator-width) solid var(--tsv-separator-color);color:var(--tsv-meta-color);font-size:var(--tsv-meta-size)}
.tsv-info-footer em{font-style:normal}

.tsv-info-live-preview, .tsv-info-news, .tsv-info-start, .tsv-info-report-overview{font-family:var(--tsv-font-family)}
.tsv-info-live-preview .tsv-info-card{margin:0;max-width:1200px}
.tsv-info-live-preview .tsv-info-preview-media{padding-left:10px;margin:0 0 14px;display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start}
.tsv-info-live-preview .tsv-info-preview-media img{display:block;width:auto;max-width:var(--tsv-image-thumb-width);max-height:var(--tsv-image-thumb-height, 140px);height:auto;border-radius:var(--tsv-image-radius);border:1px solid var(--tsv-card-border);object-fit:contain}

/* Modern filter and subscription layout */
.tsv-info-filter-wrap{margin:16px 0 20px}
.tsv-info-filter-accordion{border:1px solid #e5e7eb;border-radius:12px;background:#fff;overflow:hidden}
.tsv-info-filter-accordion summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;font-weight:700}
.tsv-info-filter-accordion summary::-webkit-details-marker{display:none}
.tsv-info-filter-summary{font-size:12px;color:#6b7280;font-weight:600}
.tsv-info-filter-panels{padding:0 16px 16px;background:#fff}
.tsv-info-filter-panel + .tsv-info-filter-panel{margin-top:14px;padding-top:14px;border-top:1px solid #eef2f7}
.tsv-info-filter-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.tsv-info-filter-panel-head h3{margin:0;font-size:14px}
.tsv-info-filter-mini-actions{display:flex;flex-wrap:wrap;gap:8px}
.tsv-info-filter-mini-actions button{border:0;background:transparent;color:#0f766e;padding:0;cursor:pointer;font-size:12px;font-weight:600}
.tsv-info-filter-level{list-style:none;margin:0;padding-left:0}
.tsv-info-filter-level.depth-1{padding-left:18px}
.tsv-info-filter-level.depth-2{padding-left:36px}
.tsv-info-filter-level.depth-3{padding-left:54px}
.tsv-info-filter-level li{margin:6px 0}
.tsv-info-filter-option{display:flex;gap:10px;align-items:flex-start;padding:4px 0}
.tsv-info-filter-actions{margin-top:14px}
.tsv-info-filter-actions button,.tsv-info-filter-reset-row button{border:1px solid #d7dde5;background:#fff;border-radius:8px;padding:8px 12px;cursor:pointer;font-weight:600}
.tsv-info-filter-reset-row{margin:10px 0 0}
.tsv-info-subs{border:1px solid #e5e7eb;border-radius:12px;background:#fff;padding:16px}
.tsv-info-subs-actions{margin:0 0 10px}
.tsv-info-subs-body{margin-top:0}
.tsv-info-subs-level{list-style:none;margin:0;padding-left:0}
.tsv-info-subs-level.depth-1{padding-left:18px}
.tsv-info-subs-level.depth-2{padding-left:36px}
.tsv-info-subs-level.depth-3{padding-left:54px}
.tsv-info-subs-item{display:flex;gap:10px;align-items:flex-start;padding:4px 0}

/* Theme swatches and preview */
.tsv-info-theme-swatches{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.tsv-info-swatch{padding:0 !important;border:0 !important;line-height:0;box-shadow:none !important}
.tsv-info-swatch span{display:block;width:18px;height:18px;border-radius:999px;background:var(--swatch);border:1px solid rgba(15,23,42,.12)}
.tsv-info-live-preview{max-width:1200px}
.tsv-info-live-preview .tsv-info-card{max-width:none;margin:0}
.tsv-info-live-preview .tsv-info-preview-media{padding-left:0}
.tsv-info-live-preview .tsv-info-preview-media.is-hidden{display:none}

/* Frontend entry design */
.tsv-info-card{border-color:var(--tsv-card-entry-border-color, var(--tsv-card-border));}
.tsv-info-card::before{background:var(--tsv-entry-accent-resolved, var(--tsv-entry-accent, #94a3b8));left:calc(-1 * var(--tsv-card-border-left-width, var(--tsv-card-border-width)))}
.tsv-info-preview-head{padding-left:0}
.tsv-info-chip{text-decoration:none}
.tsv-info-chip:hover{border-color:color-mix(in srgb, var(--tsv-entry-accent-resolved, var(--tsv-entry-accent, #94a3b8)) 28%, var(--tsv-label-border));color:var(--tsv-label-color)}
.tsv-info-title,.tsv-info-subtitle,.tsv-info-range,.tsv-info-content,.tsv-info-images,.tsv-info-attachments,.tsv-info-footer{padding-left:0}
.tsv-info-footer{margin-top:14px}


/* 2.4.56 frontend refinement */
.tsv-info-filter-wrap{margin:18px 0 22px}
.tsv-info-filter-accordion{border:1px solid var(--tsv-card-entry-border-color, var(--tsv-card-border));border-radius:var(--tsv-card-radius);background:var(--tsv-card-bg);box-shadow:var(--tsv-card-shadow)}
.tsv-info-filter-accordion summary{position:relative;list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;font-weight:700;transition:background-color .18s ease,color .18s ease}
.tsv-info-filter-accordion summary:hover{background:rgba(15,23,42,.04)}
.tsv-info-filter-accordion summary::-webkit-details-marker{display:none}
.tsv-info-filter-title{display:inline-flex;align-items:center;gap:10px}
.tsv-info-filter-title::before{content:"";display:inline-block;width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-1px);transition:transform .18s ease;opacity:.75}
.tsv-info-filter-accordion[open] .tsv-info-filter-title::before{transform:rotate(-135deg) translateY(-1px)}
.tsv-info-filter-summary{font-size:12px;color:#6b7280;font-weight:600}
.tsv-info-filter-panels{padding:0 16px 0;background:var(--tsv-card-bg);max-height:0;overflow:hidden;opacity:0;transition:max-height .22s ease,opacity .18s ease,padding-bottom .18s ease}
.tsv-info-filter-accordion[open] .tsv-info-filter-panels{padding-bottom:16px;opacity:1}
.tsv-info-filter-panel + .tsv-info-filter-panel{margin-top:14px;padding-top:14px;border-top:1px solid var(--tsv-separator-color)}
.tsv-info-filter-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.tsv-info-filter-panel-head h3{margin:0;font-size:14px}
.tsv-info-filter-mini-actions{display:flex;flex-wrap:wrap;gap:10px}
.tsv-info-filter-mini-actions button{border:0;background:transparent;color:#475569;padding:0;cursor:pointer;font-size:12px;font-weight:600;text-decoration:none}
.tsv-info-filter-mini-actions button:hover{text-decoration:underline;color:#0f172a}
.tsv-info-filter-level{list-style:none;margin:0;padding-left:0}
.tsv-info-filter-level.depth-1{padding-left:18px}
.tsv-info-filter-level.depth-2{padding-left:36px}
.tsv-info-filter-level.depth-3{padding-left:54px}
.tsv-info-filter-level li{margin:6px 0}
.tsv-info-filter-option{display:flex;gap:10px;align-items:flex-start;padding:5px 0;color:var(--tsv-body-color)}
.tsv-info-filter-option input{margin-top:2px}
.tsv-info-filter-actions{margin-top:14px}
.tsv-info-filter-actions button,.tsv-info-filter-reset-row button{border:1px solid var(--tsv-card-entry-border-color, var(--tsv-card-border));background:#fff;color:#0f172a;border-radius:8px;padding:9px 14px;cursor:pointer;font-weight:600;transition:background-color .18s ease,border-color .18s ease,color .18s ease}
.tsv-info-filter-actions button:hover,.tsv-info-filter-reset-row button:hover{background:#f8fafc;border-color:#94a3b8}
.tsv-info-filter-reset-row{margin:10px 0 0}
.tsv-info-chip{display:inline-flex;align-items:center;min-height:0;padding:calc(var(--tsv-label-py) - 1px) var(--tsv-label-px);border:1px solid var(--tsv-label-border);border-radius:var(--tsv-label-radius);background:var(--tsv-label-bg);color:var(--tsv-label-color);font-size:12px;line-height:1.2;font-weight:600;text-decoration:none;transition:border-color .18s ease,background-color .18s ease,color .18s ease,box-shadow .18s ease}
.tsv-info-chip:hover,.tsv-info-chip:focus{color:var(--tsv-label-color);text-decoration:none;border-color:color-mix(in srgb, var(--tsv-entry-accent-resolved, var(--tsv-entry-accent, #94a3b8)) 45%, var(--tsv-label-border));box-shadow:0 0 0 2px color-mix(in srgb, var(--tsv-entry-accent-resolved, var(--tsv-entry-accent, #94a3b8)) 12%, transparent)}
.tsv-info-chip:visited{color:var(--tsv-label-color)}
.tsv-info-chip-special{border-color:color-mix(in srgb, var(--tsv-entry-accent-resolved, var(--tsv-entry-accent, #94a3b8)) 36%, var(--tsv-label-border))}
.tsv-info-chip-special:hover,.tsv-info-chip-special:focus{border-color:var(--tsv-entry-accent-resolved, var(--tsv-entry-accent, #94a3b8))}
.tsv-info-preview-scope{max-width:100%;margin:0;padding-right:0}
.tsv-info-live-preview{max-width:100%;margin:0;padding:0;border:0;border-radius:0;background:transparent;overflow:visible}
.tsv-info-live-preview .tsv-info-card{max-width:none;width:100%}
.tsv-info-live-preview-toolbar{display:flex;justify-content:flex-end;margin:0 0 10px}
.tsv-info-customizations-preview-card{position:static;top:auto;z-index:auto}
.tsv-info-preview-head a{text-decoration:none}
.tsv-info-preview-head a:hover{text-decoration:none}

.tsv-info-chip, .tsv-info-chip:hover, .tsv-info-chip:focus, .tsv-info-chip:active, .tsv-info-chip:visited{ text-decoration:none !important; }
.tsv-info-filter-reset-row a{display:inline-flex;align-items:center;border:1px solid var(--tsv-card-entry-border-color, var(--tsv-card-border));background:#fff;color:#0f172a;border-radius:8px;padding:9px 14px;cursor:pointer;font-weight:600;transition:background-color .18s ease,border-color .18s ease,color .18s ease;text-decoration:none;}
.tsv-info-filter-reset-row a:hover{text-decoration:none;background:#f8fafc;border-color:#94a3b8;}


/* 2.4.57 frontend polish */
.tsv-info-card::before{left:0 !important;top:0 !important;bottom:0 !important;border-radius:max(0px, calc(var(--tsv-card-radius) - 1px)) 0 0 max(0px, calc(var(--tsv-card-radius) - 1px)) !important;}
.tsv-info-news-header{display:flex;flex-direction:column;gap:16px;margin-bottom:18px;}
.tsv-info-news-header .tsv-info-search{max-width:430px;}
.tsv-info-done-preview{margin-top:28px;}
.tsv-info-done-preview h3{margin:0 0 16px;}
.tsv-info-filter-reset-row{margin:12px 0 0;}


/* 2.4.58 frontend layout refinements */
.tsv-info-news-header > *{width:100%;}
.tsv-info-filter-wrap{width:100%;}
.tsv-info-filter-form{width:100%;margin:0;}
.tsv-info-filter-accordion{width:100%;}
.tsv-info-filter-reset-row{margin:12px 0 0;}
.tsv-info-filter-reset-row a{display:inline-flex;align-items:center;text-decoration:none;}
.tsv-info-filter-reset-row a:hover{text-decoration:underline;}
.tsv-info-chip,.tsv-info-chip a{text-decoration:none !important;}
.tsv-info-chip:hover,.tsv-info-chip:hover a{ text-decoration:none !important; }
.tsv-info-chip:hover{ background:color-mix(in srgb, var(--tsv-entry-accent-resolved, var(--tsv-entry-accent, #94a3b8)) 8%, var(--tsv-label-bg)); border-color:color-mix(in srgb, var(--tsv-entry-accent-resolved, var(--tsv-entry-accent, #94a3b8)) 45%, var(--tsv-label-border)); }
.tsv-info-card::before{left:0;top:var(--tsv-card-border-top-width, var(--tsv-card-border-width));bottom:var(--tsv-card-border-bottom-width, var(--tsv-card-border-width));border-radius:max(0px, calc(var(--tsv-card-radius) - 1px)) 0 0 max(0px, calc(var(--tsv-card-radius) - 1px));}
.tsv-info-done-preview{margin-top:36px;}
.tsv-info-done-preview h3{margin:0 0 16px;}

/* Quickview proposal */
.tsv-info-start .tsv-info-accordion{display:flex;flex-direction:column;gap:14px;}
.tsv-info-start .tsv-info-item{border:1px solid var(--tsv-card-entry-border-color, var(--tsv-card-border));border-radius:var(--tsv-card-radius);background:var(--tsv-card-bg);padding:0;overflow:hidden;box-shadow:var(--tsv-card-shadow);}
.tsv-info-start .tsv-info-item summary{padding:14px 16px;align-items:flex-start;flex-direction:column;}
.tsv-info-start .tsv-info-item-title{font-size:18px;line-height:1.25;}
.tsv-info-start .tsv-info-item-meta{font-size:12px;white-space:normal;color:var(--tsv-meta-color);}
.tsv-info-start .tsv-info-item-body{padding:0 16px 16px;color:var(--tsv-body-color);}
.tsv-info-start-thumb img{width:96px;height:96px;border-radius:12px;border:1px solid var(--tsv-card-entry-border-color, var(--tsv-card-border));}
.tsv-info-start-link{color:var(--tsv-attachment-color);}
.tsv-info-start-link:hover{text-decoration:none;}

/* Blockings proposal */
.tsv-info-closures,.tsv-info-closures-past{margin-top:0;}
.tsv-info-closures-list{display:flex;flex-direction:column;gap:10px;}
.tsv-info-closure-row{margin:0;padding:14px 16px;border:1px solid var(--tsv-card-entry-border-color, var(--tsv-card-border));border-radius:var(--tsv-card-radius);background:var(--tsv-card-bg);box-shadow:var(--tsv-card-shadow);position:relative;overflow:hidden;}
.tsv-info-closure-row::before{content:"";position:absolute;left:0;top:0;bottom:0;width:var(--tsv-accent-width);background:var(--tsv-accent-custom-color);}
.tsv-info-closure-row strong{display:block;margin-bottom:6px;padding-left:10px;}
.tsv-info-closure-row{padding-left:calc(16px + var(--tsv-accent-width));}
.tsv-info-closures-last{margin-top:10px;color:var(--tsv-meta-color);font-size:var(--tsv-meta-size);}
.tsv-info-closures-past h3{margin:28px 0 14px;}
