@import url('https://fonts.googleapis.com/css2?family=Source+Sans+3:wght@400;600;700&display=swap');

body {
    font-family: 'Source Sans 3', 'Source Sans Pro', Arial, sans-serif;
    margin: 0;
    padding: 10px;
    background: white;
  }
  
  /* Button styling */
  .siteStandardButton { 
    margin: 5px;
    padding: 10px 20px;
    background-color: #440099;
    color: white;
    border: none;
    border-radius: 5px;
    cursor: pointer;
  }
  .siteStandardButton:hover { background-color: #5a00cc; }
  
  /* Headings */
  h2 {
    margin-top: 1.5em;
    border-bottom: 2px solid #440099;
    padding-bottom: 4px;
    color: #131E39; /* midnight black as per uoS branding */
    font-size: 1.2em;
  }
  
  /* Table styling */
  table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    margin-top: 0.5em;
  }
  
  th, td {
    border: 1px solid #ccc;
    padding: 4px 6px;
    vertical-align: middle;
    word-wrap: break-word;
  }
  
  th { background: #f2f2f2; }
  
  /* Fixed + flexible column widths */
  col.col-phase       { width: 100px; min-width: 100px; max-width: 100px; }
  col.col-time        { width: 100px; min-width: 100px; max-width: 100px; }
  col.col-deliverable { width: 180px; min-width: 180px; max-width: 180px; }
  col.col-details     { width: auto; }
  
  /* Column text styling */
  .phase-text {
    font-weight: normal;
    color: #131E39;
    font-size: 0.9em;
    text-align: center;
    letter-spacing: -0.2px;
  }
  
  .time-text {
    text-align: center;
    font-size: 1em;
    color: #131E39; /* midnight black as per uoS branding */
    line-height: 1.2em;
    letter-spacing: -0.2px;
  }
  
  .time-line {
    display: block;
    margin: 1px 0;
  }
  
  /* Details column */
  .details-type { font-size: 0.9em; font-weight: normal;  font-style: italic; color: #C6BBFF; } /* pale violet as per uos banding */
  .details-name { font-size: 1.1em; font-weight: bold; }
  .details-description { font-size: 0.85em; color: #131E39; }
  
  /* Deliverable column */
  .deliv-type { font-size: 0.9em; font-weight: normal;  font-style: italic; color: #C6BBFF; }
  .deliv-name { font-size: 1em; color: #131E39; }
  
  .day-section { display: none; margin-top: 1em; }
  .visible { display: block; }
  

  /* Phase colour coding */
    .phase-understand  { background-color: #c98585; }  /* reddish */
    .phase-define      { background-color: #cfa374; }  /* amber */
    .phase-generate    { background-color: #cfc874; }  /* yellow */
    .phase-select      { background-color: #97c87a; }  /* green */
    .phase-specify     { background-color: #76cbb3; }  /* teal */
    .phase-plan        { background-color: #76afd1; }  /* blue */
    .phase-evaluate    { background-color: #8791cf; }  /* indigo */
    .phase-communicate { background-color: #b885b8; }  /* violet */
    .phase-form        { background-color: #7f7f7f; }  /* neutral grey */

    .phase-form,
.phase-understand,
.phase-evaluate,
.phase-communicate {
  color: white;
}