
*{box-sizing:border-box}
:root{
  --danger:#aa4c51;
  --danger-dark:#88363b;
  --bg:#f3f6f8;
  --line:#d7e0e6;
  --line-soft:#e4ebef;
  --text:#173247;
  --muted:#647786;
  --accent:#356f98;
  --accent-dark:#285875;
  --accent-soft:#eaf2f7;
  --ok-bg:#eef8f1;
  --ok-line:#bdd9c5;
  --ok-text:#27623a;
}
body{
  margin:0;
  line-height:1.45;
  background:var(--bg);
  color:var(--text);
  font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:15px;
}
header,main{width:100%;max-width:980px;margin:0 auto}
header{padding:22px 16px 18px}
header h1{margin:0;font-size:28px;line-height:1.15;letter-spacing:-.02em;font-weight:750;color:#102f46}
header p{margin:5px 0 0;color:var(--muted);font-size:14px}
main{padding:0 16px 64px}
h2{margin:0 0 14px;font-size:23px;letter-spacing:-.01em;line-height:1.2}
h3{margin:22px 0 10px;font-size:18px;line-height:1.25}
button,input,select,textarea{font:inherit}
button{
  border:1px solid var(--line);
  background:#fff;
  color:var(--text);
  border-radius:8px;
  padding:9px 14px;
  cursor:pointer;
}
button:hover:not(:disabled){border-color:var(--accent)}
button:disabled{opacity:.55;cursor:not-allowed}
button.primary,.tab-button.active,.show-tab.active{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:700}
button.danger{background:var(--danger);border-color:var(--danger);color:#fff}
button.danger:hover:not(:disabled){background:var(--danger-dark);border-color:var(--danger-dark)}
button.delete-button{border-color:#fecaca;color:#dc2626;background:#fff}
button.delete-button:hover:not(:disabled){background:#fef2f2;border-color:#fca5a5;color:#b91c1c}
button.small{padding:6px 9px;font-size:12px}
.hidden{display:none!important}
.tabs{display:flex;gap:8px;margin:0 0 18px;flex-wrap:wrap}
.tab-button{font-size:15px;padding:10px 16px}
.panel{padding:0;border:0;background:transparent}
.top-box,.folds,.group-box,.day-card,.sidebar-card{
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
}
.top-box{padding:20px 24px 24px}
.show-box-heading{display:flex;align-items:baseline;gap:10px;margin:0 0 12px;color:#102f46}
.show-box-heading strong{font-size:18px;font-weight:750}
.show-box-heading span{font-size:14px;font-weight:700;color:#315873}
.show-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.show-filters label{
  display:flex;
  align-items:center;
  gap:7px;
  border:1px solid var(--line);
  background:#fff;
  font-weight:700;
  font-size:14px;
  border-radius:8px;
  padding:7px 11px;
  color:#244f70;
}
.show-tabs{display:grid;grid-template-columns:repeat(7,minmax(max-content,1fr));gap:8px}
.show-year-heading{grid-column:1/-1;margin:4px 0 0;font-size:14px;font-weight:700;color:#315873}
.show-tab{min-width:0;text-align:left;background:#fff;font-size:13px;white-space:nowrap;min-height:50px;padding:8px 10px}
.show-tab-main{display:block;white-space:nowrap}
.empty-note{padding:12px;border:1px dashed var(--line);border-radius:10px;background:#fbfdfe;color:var(--muted);font-size:13px}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.section-heading h2,.section-heading h3{margin:0}
.toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:12px 0}
.section-heading>.toolbar{margin:0}
.note{color:var(--muted);font-size:13px;line-height:1.4}
.statusbox{margin-top:10px;padding:10px 12px;border-radius:8px;border:1px solid var(--line);background:#fff;color:var(--accent-dark)}
.statusbox.ok{background:var(--ok-bg);border-color:var(--ok-line);color:var(--ok-text)}
.statusbox.err{background:#fff1f1;border-color:#e6b8b8;color:#8c3030}
.folds{overflow:hidden;margin-top:22px}
details{margin:0;background:#fff}
details+details{border-top:1px solid var(--line-soft)}
summary{cursor:pointer;padding:15px 18px;font-weight:750;color:#173247;list-style-position:inside}
.fold-body{padding:16px 18px 18px;border-top:1px solid var(--line-soft)}
.show-setup-grid{display:grid;grid-template-columns:1fr;gap:16px;align-items:start;margin-top:22px}
.setup-card{border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden;min-width:0}
.setup-card-head{padding:12px 14px;background:var(--accent-soft);border-bottom:1px solid var(--line);font-size:15px}
.setup-card-body{padding:14px}
.setup-card-body>.note:first-child{margin:0 0 12px}
.setup-card .toolbar{margin:0 0 10px}
.import-card .setup-card-body{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 16px}
.import-card .toolbar{margin:0}
.import-card .statusbox{margin:0;flex:1 1 260px}
.practical-card textarea{min-height:70px}
.choose-animals-button{padding:7px 10px;font-size:13px;white-space:nowrap}
.practical-grid{gap:10px}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.grid .full{grid-column:1/-1}
label{display:block;font-size:12px;color:var(--muted);margin-bottom:4px}
input,select,textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:10px 11px;background:#fff;color:var(--text)}
textarea{min-height:82px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:2px solid rgba(53,111,152,.18);border-color:var(--accent)}
input[type="checkbox"]{appearance:auto;-webkit-appearance:checkbox;width:17px!important;height:17px!important;padding:0!important;margin:0;accent-color:var(--accent)}
.team-choice{display:grid;gap:10px;margin-top:14px}
.team-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:#fff}
.team-row.all-teams{background:var(--accent-soft);border-color:#b9cfde}
.team-row-title{font-weight:800}
.team-row-meta{font-size:13px;color:var(--muted)}

.calendar-workspace{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:start;margin-top:14px}
.calendar-guide,.coverage-check{margin:0 0 12px;border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden}
.calendar-guide>summary,.coverage-check>summary,.day-card.before-week>summary{
  display:flex;align-items:center;gap:8px;min-height:51px;padding:10px 12px;
  background:var(--accent-soft);font-size:14px;font-weight:750;color:var(--text);
  list-style:none;
}
.calendar-guide>summary::-webkit-details-marker,.coverage-check>summary::-webkit-details-marker,.day-card.before-week>summary::-webkit-details-marker{display:none}
.calendar-guide>summary::before,.coverage-check>summary::before,.day-card.before-week>summary::before{
  content:"▶";font-size:11px;color:var(--accent-dark);width:12px;flex:0 0 12px;transition:transform .15s ease;
}
.calendar-guide[open]>summary::before,.coverage-check[open]>summary::before,.day-card.before-week[open]>summary::before{transform:rotate(90deg)}
.calendar-guide[open]>summary,.coverage-check[open]>summary,.day-card.before-week[open]>summary{border-bottom:1px solid var(--line)}
.calendar-guide>summary:hover,.coverage-check>summary:hover{background:#dfeef7}
.calendar-guide-list{display:grid;gap:8px;padding:11px 13px;color:var(--muted);font-size:13px;line-height:1.45}
.calendar-guide-item{display:grid;grid-template-columns:20px minmax(0,1fr);gap:8px;align-items:baseline}
.calendar-guide-number{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);font-size:11px;font-weight:800}
.calendar-guide-text{min-width:0}
.calendar-guide-title{color:var(--accent-dark)}
.calendar-guide-text strong:not(.calendar-guide-title){color:var(--text)}
.coverage-body{padding:12px}
.coverage-controls{display:grid;grid-template-columns:minmax(210px,320px);gap:10px}
.coverage-result{margin-top:10px;padding:10px 11px;border:1px solid var(--line);border-radius:8px;background:#fbfdfe;font-size:13px;line-height:1.4}
.coverage-result.ok{background:var(--ok-bg);border-color:var(--ok-line);color:var(--ok-text)}
.coverage-result.warn{background:#fff8e8;border-color:#e7cf91;color:#725514}
.coverage-missing-list{display:grid;gap:3px;margin-top:7px;color:var(--text)}
.coverage-missing-list .task-animal-name{font-size:14px}
.calendar-main{min-width:0}
.calendar-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.calendar-grid .day-card:not(.before-week){min-height:var(--calendar-day-min-height,210px)}
.day-card{overflow:hidden;min-width:0}
.day-card.before-week{grid-column:1/-1}
.day-card.before-week>summary:hover{background:#dfeef7}
.day-card.before-week:not([open])>summary{border-bottom:0}
.day-card.before-week>summary .day-heading{flex:1}
.day-card.before-week>summary .day-header-actions{margin-left:auto}
.day-card.before-week .day-heading strong{font-size:14px}
.day-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;background:var(--accent-soft);border-bottom:1px solid var(--line)}
.day-card-head[data-add-task-day]{cursor:pointer}
.day-card-head[data-add-task-day]:hover{background:#dfeef7}
.day-card-head[data-add-task-day]:focus-visible{outline:2px solid rgba(53,111,152,.35);outline-offset:-2px}
.day-heading{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;min-width:0}
.day-heading strong{font-size:15px}
.day-date{font-size:12px;color:var(--accent-dark);font-weight:700}
.day-header-actions{display:flex;align-items:center;gap:8px;white-space:nowrap}
.day-body{padding:10px}
.task-list{display:grid;gap:7px}
.task-row{display:grid;grid-template-columns:24px minmax(0,1fr);gap:8px;align-items:start;padding:9px;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:grab}
.task-row:active{cursor:grabbing}
.task-row.dragging{opacity:.42}
.task-row.done{background:var(--ok-bg);border-color:var(--ok-line);color:var(--ok-text)}
.task-row.done .task-main{text-decoration:line-through}
.task-main{min-width:0}
.task-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.task-title{font-size:14px;font-weight:700;line-height:1.3;padding-top:2px}
.task-animals{display:grid;gap:3px;margin-top:7px;color:var(--muted);font-size:14px;line-height:1.4}
.task-all-animals-toggle{display:inline-flex;align-items:center;gap:6px;width:max-content;padding:0;border:0;border-radius:0;background:transparent;color:var(--muted);font-size:14px;line-height:1.4;text-align:left}
.task-all-animals-toggle:hover:not(:disabled){border-color:transparent;background:transparent;text-decoration:underline}
.task-all-animals-toggle::before{content:"▶";width:10px;flex:0 0 10px;color:var(--accent-dark);font-size:9px;transition:transform .15s ease}
.task-all-animals-toggle[aria-expanded="true"]::before{transform:rotate(90deg)}
.task-all-animal-list{display:grid;gap:3px;margin-top:3px}
.task-animal-name,.selected-animal-name{display:flex;align-items:center;gap:6px;min-width:0}
.task-animal-name{white-space:normal}
.selected-animal-name{white-space:nowrap}
.animal-age-dot{width:8px;height:8px;border-radius:999px;flex:0 0 auto}
.age-junior .animal-age-dot{background:#eaf4fb;border:1px solid #78a8c8}
.age-senior .animal-age-dot{background:#356f98;border:1px solid #285875}
.age-unknown .animal-age-dot{background:#fff;border:1px solid var(--line)}
.task-row.done .task-animals{color:var(--ok-text)}
.task-actions{display:flex;gap:5px;flex-wrap:nowrap;justify-content:flex-end;flex:0 0 auto}
.day-empty{padding:4px 1px;color:var(--muted);font-size:13px}
.progress{height:10px;background:#e5edf2;border-radius:999px;overflow:hidden;margin-top:12px}
.progress>span{display:block;height:100%;background:var(--accent);width:0}
.progress-text{font-size:13px;color:var(--muted);margin-top:6px}
.calendar-sidebar{display:grid;gap:12px}
.sidebar-card{overflow:hidden}
.sidebar-fold .sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.sidebar-fold-toggle{display:flex;align-items:center;gap:7px;min-width:0;flex:1;padding:0;border:0;background:transparent;text-align:left;font-weight:750;color:var(--text)}
.sidebar-fold-toggle:hover:not(:disabled){border-color:transparent;background:transparent}
.sidebar-fold-toggle .fold-chevron{font-size:12px;color:var(--accent-dark);width:12px;flex:0 0 12px}
.sidebar-fold.is-collapsed .sidebar-fold-body{display:none}
.sidebar-fold.is-collapsed .fold-chevron{transform:rotate(-90deg)}
.sidebar-fold .fold-chevron{transition:transform .15s ease}
.sidebar-head{padding:11px 12px;background:var(--accent-soft);border-bottom:1px solid var(--line)}
.sidebar-head-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}
.sidebar-head-actions{display:flex;align-items:center;gap:8px;white-space:nowrap}
.sidebar-head strong{font-size:15px;min-width:0}
.sidebar-body{padding:10px 12px}
.selected-animals{display:grid;gap:2px;margin:0}
.selected-animal-name{font-size:14px;line-height:1.35;white-space:normal;overflow-wrap:normal;word-break:normal}
.selected-animal-item{display:grid;grid-template-columns:15px minmax(0,1fr);gap:6px;align-items:center;padding:4px 5px;border-radius:7px;cursor:pointer}
.selected-animal-item:hover,.task-type-row:hover{background:#f8fbfd}
.selected-animal-item.is-selected{background:var(--accent-soft);box-shadow:inset 0 0 0 1px #78a8c8;color:var(--accent-dark);font-weight:700}
.drag-item{cursor:grab;user-select:none;-webkit-user-select:none}
.drag-item:active{cursor:grabbing}
.drag-item.dragging{opacity:.42}
.drag-handle{display:flex;align-items:center;justify-content:center;color:#8ca0ae;font-size:15px;line-height:1;letter-spacing:-3px;overflow:hidden;width:14px}
.day-card[data-drop-day]{transition:outline-color .12s ease,box-shadow .12s ease}
.day-card.drop-target{outline:2px solid var(--accent);outline-offset:2px;box-shadow:0 0 0 4px rgba(53,111,152,.10)}
.day-card.drop-target .day-card-head{background:#dcecf6}
.task-row[data-drop-task]{transition:border-color .12s ease,background .12s ease,box-shadow .12s ease}
.task-row.drop-target-task{border-color:var(--accent);background:#f2f8fc;box-shadow:0 0 0 2px rgba(53,111,152,.12)}
.task-row.drop-flash{animation:dropFlash .75s ease}
@keyframes dropFlash{0%,100%{box-shadow:none}35%{box-shadow:0 0 0 3px rgba(53,111,152,.24)}}
.task-pool-card .sidebar-head{padding:11px 13px}
.task-pool-card .sidebar-body{padding:10px 12px 8px}
.task-type-add{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:7px;padding-bottom:9px;border-bottom:1px solid var(--line-soft)}
.task-type-add input{height:38px;padding:7px 9px}
.task-type-add button{height:38px;padding:7px 11px}
.task-type-list{display:grid}
.task-type-row{display:grid;grid-template-columns:15px minmax(0,1fr) auto auto;gap:6px;align-items:center;padding:7px 0;border-bottom:1px solid var(--line-soft)}
.task-type-row:last-child{border-bottom:0}
.task-type-name{font-weight:650;font-size:14px;min-width:0;line-height:1.3;padding-right:2px;white-space:normal;overflow-wrap:normal;word-break:normal}
.task-type-edit{padding:5px 8px;border-color:#b9cfde;color:var(--accent-dark);background:#fff;font-weight:700}
.task-type-edit:hover:not(:disabled){background:var(--accent-soft);border-color:var(--accent)}
.task-type-delete{padding:5px 7px;color:var(--danger-dark)}
.task-type-empty{padding:10px 1px 4px}
.calendar-sidebar .sidebar-card{min-width:0}
.calendar-sidebar .sidebar-body{min-width:0}
.calendar-sidebar .selected-animal-name{overflow:visible;text-overflow:clip}
.calendar-sidebar .task-type-name{overflow-wrap:normal;word-break:normal}

/* Samme typografi og kompakte bredde som Udstillingsholdet. */
.calendar-sidebar .selected-animal-name,
.calendar-sidebar .task-type-name{font-size:14px}
.task-type-edit,.task-type-delete{font-size:12px;line-height:1.2}
.sidebar-head-actions button{font-size:13px;padding:7px 10px}
.task-combine-edit{margin-top:15px;padding-top:12px;border-top:1px solid var(--line-soft)}
.task-combine-edit .inline-control{grid-template-columns:minmax(0,1fr) auto}
.progress-wrap.hidden{display:none!important}

/* Roligere hierarki på Kalender-fanen – samme klare opdeling som Udstillingsholdet. */
#tab-calendar .calendar-section-heading{margin:0 0 10px}
#tab-calendar .calendar-section-heading h2{
  margin:0;font-size:17px;line-height:1.25;font-weight:700;letter-spacing:0;color:var(--accent-dark);
}
#tab-calendar .calendar-guide{margin:0 0 18px;border-radius:10px}
#tab-calendar .calendar-guide>summary{
  min-height:46px;padding:11px 14px;background:#fff;font-size:14px;font-weight:650;
}
#tab-calendar .calendar-guide>summary:hover{background:#f8fbfd}
#tab-calendar .calendar-workspace{margin-top:0;gap:18px}
#tab-calendar .calendar-grid{column-gap:12px;row-gap:14px}
#tab-calendar .day-card.before-week>summary{
  min-height:48px;padding:10px 14px;background:#fff;font-weight:700;
}
#tab-calendar .day-card.before-week>summary:hover{background:#f8fbfd}
#tab-calendar .day-card-head{padding:10px 14px}
#tab-calendar .day-heading strong{font-weight:700}
#tab-calendar .sidebar-head{padding:10px 14px}
#tab-calendar .sidebar-head strong{font-weight:700}
#tab-calendar .task-title,#tab-calendar .task-type-name{font-weight:600}
#tab-calendar .calendar-sidebar{gap:14px}

.packing-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start;margin-top:14px}
.group-box{overflow:hidden;margin:0}
.group-title{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px;font-weight:700;font-size:16px;border-bottom:1px solid var(--line);background:var(--accent-soft)}
.packing-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 12px;border-bottom:1px solid var(--line-soft)}
.packing-row:last-child{border-bottom:0}
.packing-row.done .packing-text{text-decoration:line-through;color:var(--muted)}
.packing-actions{display:flex;gap:8px;align-items:center}
.packing-edit-input{width:100%;min-width:0}
.packing-text{font-weight:650}
.data-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px;border-top:1px solid var(--line);padding:12px;background:#fff}
.data-tools .note{flex-basis:100%;margin-top:2px}
.data-backup-box{border:1px solid var(--line);border-radius:12px;background:#fff;margin:22px 0 0;overflow:hidden}
.data-backup-box summary{padding:12px 14px;color:var(--accent-dark)}
.data-backup-box summary:hover{background:var(--accent-soft)}
.modal-backdrop{position:fixed;inset:0;background:rgba(16,47,70,.32);display:flex;align-items:center;justify-content:center;padding:18px;z-index:20}
.modal{width:min(760px,100%);max-height:88vh;overflow:auto;background:#fff;border-radius:14px;border:1px solid var(--line);padding:20px}
.modal h2{margin-bottom:8px}
.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}
.animal-modal-dialog{position:relative;padding:0;overflow:hidden;display:flex;flex-direction:column;max-height:88vh}
.animal-modal-header{position:relative;flex:0 0 auto;padding:20px 58px 13px 20px;background:#fff;border-bottom:1px solid var(--line-soft)}
.animal-modal-header h2{margin:0 0 8px}
.animal-modal-header .note{margin:0}
.animal-modal-content{flex:1 1 auto;min-height:0;overflow:auto;padding:0 20px 4px}
.animal-modal-actions{flex:0 0 auto;margin:0;padding:14px 20px;background:#fff;border-top:1px solid var(--line-soft);box-shadow:0 -8px 18px rgba(16,47,70,.06)}
.task-modal-dialog{position:relative;padding:0;overflow:auto}
.task-modal-header{position:sticky;top:0;z-index:3;padding:20px 58px 13px 20px;background:#fff;border-bottom:1px solid var(--line-soft)}
.task-modal-header h2{margin:0 0 8px}
.task-modal-header .note{margin:0}
.task-modal-close{position:absolute;top:14px;right:16px;display:grid;place-items:center;width:38px;height:38px;padding:0;border:0;background:transparent;color:var(--muted);font-size:28px;line-height:1;border-radius:8px}
.task-modal-close:hover:not(:disabled){border:0;background:var(--accent-soft);color:var(--text)}
.task-modal-content{padding:0 20px 4px}
.task-modal-actions{position:sticky;bottom:0;z-index:3;margin:0;padding:14px 20px;background:#fff;border-top:1px solid var(--line-soft);box-shadow:0 -8px 18px rgba(16,47,70,.06)}
.animal-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}
.animal-picker label{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:8px;padding:9px 10px;margin:0;font-size:14px;color:var(--text)}
.animal-picker-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:stretch;min-width:0}
.animal-picker-row>label{min-width:0}
.animal-picker-row>.animal-delete-button{align-self:stretch;padding:7px 10px}
.animal-picker label.filtered-out{display:none}
.animal-picker label.age-junior{background:#f8fcff;border-color:#78a8c8}
.animal-picker label.age-senior{background:#edf5fa;border-color:#7fa7c2}
.picker-animal-name{display:flex;align-items:center;gap:7px;min-width:0}
.optional-text{font-weight:500;color:var(--muted)}
.modal-step{margin-top:15px}
.modal-step-title{display:block;font-weight:800;color:var(--text);font-size:14px;margin-bottom:7px}
.inline-control{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}
.practical-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.readiness-card{margin-top:16px;border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden}
.readiness-card.ok{background:var(--ok-bg);border-color:var(--ok-line)}
.readiness-title{padding:11px 14px;background:var(--accent-soft);border-bottom:1px solid var(--line);font-weight:750}
.readiness-card.ok .readiness-title{background:transparent;border-bottom:0;color:var(--ok-text)}
.readiness-list{display:grid}
.readiness-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:1px solid var(--line-soft)}
.readiness-row:last-child{border-bottom:0}
.readiness-row span{min-width:0}
.readiness-row button{flex:0 0 auto;padding:6px 9px;font-size:12px}
.task-animal-drag{display:flex;align-items:center;width:max-content;max-width:100%;border:1px solid transparent;border-radius:7px;padding:2px 5px;margin-left:-5px;cursor:pointer}
.task-animal-drag:hover{background:#f8fbfd;border-color:var(--line-soft)}
.task-animal-drag.is-selected{background:var(--accent-soft);border-color:#78a8c8;color:var(--accent-dark);font-weight:700}
.task-animal-drag .task-animal-name{pointer-events:none}
.packing-group-complete{border-color:var(--ok-line)}
.packing-group-complete .group-title{background:var(--ok-bg);color:var(--ok-text)}
.packing-complete-note{padding:12px 14px;background:var(--ok-bg);color:var(--ok-text);font-size:13px}
.packing-add-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:10px 12px;border-top:1px solid var(--line-soft)}
.packing-add-row input{padding:8px 9px}
.packing-add-row button{padding:8px 11px}
@media(min-width:1051px){
  .day-card:not(.before-week){min-height:210px;display:flex;flex-direction:column}
  .day-card:not(.before-week) .day-body{flex:1;min-height:145px}
  .calendar-main{position:static;align-self:start}
  .calendar-sidebar{position:sticky;top:12px;align-self:start}
}
@media(max-width:1050px){
  .show-setup-grid{grid-template-columns:1fr}
  .calendar-workspace{grid-template-columns:1fr}
  .calendar-main,.calendar-sidebar{position:static;max-height:none;overflow:visible;padding-right:0}
  .calendar-sidebar{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:820px){
  header,main{padding-left:14px;padding-right:14px}
  .show-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .grid,.show-tabs,.animal-picker,.calendar-grid,.calendar-sidebar{grid-template-columns:1fr}
  .day-card.before-week{grid-column:auto}
  .top-box{padding:16px}
  .packing-groups{grid-template-columns:1fr}
  .packing-row{grid-template-columns:28px minmax(0,1fr) auto}
  .task-row{grid-template-columns:24px minmax(0,1fr)}
  .task-actions{grid-column:2;justify-content:flex-start}
  .inline-control{grid-template-columns:1fr}
  .task-type-add{grid-template-columns:1fr auto auto}
  .task-type-row{grid-template-columns:15px minmax(0,1fr) auto auto;align-items:center}
  .task-type-row .drag-handle{grid-column:1;grid-row:1}
  .task-type-row .task-type-name{grid-column:2 / -1;grid-row:1}
  .task-type-row .task-type-edit{grid-column:3;grid-row:2;justify-self:end}
  .task-type-row .task-type-delete{grid-column:4;grid-row:2;justify-self:end}
  .calendar-grid .day-card:not(.before-week){min-height:110px}
  .calendar-grid .day-card:not(.before-week):has(.task-row){min-height:auto}
  .day-card:not(.before-week) .day-body{min-height:0}
  .practical-grid{grid-template-columns:1fr}
  .readiness-row{align-items:flex-start}
}
@media print{
  body{background:#fff}
  header,.tabs,.no-print,button{display:none!important}
  main{max-width:none;padding:0}
  .panel.hidden{display:none!important}
  .group-box,.day-card{border-color:#bbb}
  .calendar-workspace{display:block}
  .calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .day-card{break-inside:avoid}
}

/* Programkoden ligger server-side. */
