body {
    font-family: Arial, sans-serif;
    margin: 0;
    padding: 0;
  }
  
  header, footer {
    background-color: #f2f2f2;
    padding: 10px;
    text-align: center;
  }
  
  nav a {
    margin: 0 10px;
    text-decoration: none;
    color: #333;
  }

.entity-tile {
  min-width: 160px;
  max-width: 48%;
  flex-grow: 1;
}
  
  .board {
    display: flex;
    align-items: stretch;
  }
  
  .swimlane {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 10px;
    border: 1px solid #ccc;
    margin: 5px;
  }
  
  .task {
    background-color: #e2e2e2;
    padding: 5px;
    margin: 5px 0;
    cursor: move;
  }

  .task-container {
    flex: 1 1 auto;        /* ← magic: full height, but still shrinks on mobile  */
    min-height: 150px;     /* keep what you had for an empty column              */
    overflow-y: auto;      /* lets you scroll when a column gets huge            */


    padding: 10px;     
    border: 1px dashed #ccc; 
  }

  textarea.full-size {
    min-height: 450px;     
    overflow-y: auto;      
    max-height: calc(1.5em * 80);   
}

.ql-view p {
  margin: 0 0 .6rem;     
}

.ql-code-block-container {
  margin: 5px;
  padding:8px;
  border:1px dashed #ccc9;
  border-radius: 5px;
}

blockquote {
  margin: 3px 3px 3px 8px;
  padding: 3px 3px 3px 8px;
  border-left: 3px #8888 solid;
}

.text-white {
  color: #fdfdfe;
}
.text-variant1 {
  color: #c4f6fa;
}
.favorite-link {
  color: #f3df9e;
}

.doc-tile {
  display: inline-block;
  padding: .5rem .75rem;
  min-width: 120px;
  text-align: center;
  white-space: nowrap;
}

/* Compact card headers – opt-in via “compact” class */
.card-header.compact {
  padding: .25rem .5rem;   /* Bootstrap default is .75rem  */
  line-height: 1.25;       /* a touch tighter */
}

.mini-entity, .entity-tile {
  position: relative;
  border-left: 6px solid var(--ent-col, #777);
}
.mini-entity small, .entity-tile small { font-size: .75rem; }

.ent-journalist { --ent-col:#17a2b8; }
.ent-mediaOrg   { --ent-col:#ffc107; } 
.ent-pitch      { --ent-col:#6f42c1; } 
.ent-blog       { --ent-col:#6c757d; }

.ent-active::after, .ent-inactive::after {
  content:'●';
  position:absolute;
  top:6px; right:6px;
  font-size:1.2rem;
}
.ent-active::after   { color:#28a745; }  /* green dot  */
.ent-inactive::after { color:#dc3545; }  /* red   dot  */

.entity-type-wrapper {
  padding:3px;
  display: inline-block;
  margin:2px;
  border-radius: 5px;
  background-color: #eee;
    font-size: 0.6rem;
    font-weight: 700;
}
.entity-type-mediaOrg {
  background-color: rgb(238, 194, 137);
}
.entity-type-journalist {
  background-color: rgb(172, 137, 238);
}
.entity-type-pitch {
  background-color: #c8a2c8; /* lilac */
}

.entity-tile[data-flag="favorite"]  { border-left-color:#f3df9e; }
.entity-tile[data-flag="interesting"]  { border-left-color:#dfe984; }
.entity-tile[data-flag="disregard"] { opacity:.5; }