/*
 * Dashboard widgets (mobile-first)
 */

.td-dashboard {
  margin: 14px 0 24px;
}

.td-dash-card {
  margin: 14px 0;
}

.td-dash-title {
  margin: 0 0 10px;
  font-size: 1.1rem;
}

.td-dash-sub {
  margin-top: -2px;
  margin-bottom: 10px;
}

.td-dash-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
}

/* Mobil: knappar ska kännas som "stora targets" */
@media (max-width: 768px) {
  .td-dash-actions .button {
    width: 100%;
    text-align: center;
  }
}

/* Desktop: lite mer kompakt */
@media (min-width: 769px) {
  .td-dashboard {
    /* 1317: Dashboard ska nyttja kortets fulla bredd (ingen "död" yta till höger). */
    max-width: none;
  }
}

/* 1080.1: Snabbpass per fokus i "Viktigast just nu" */
.td-postit-item{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start;justify-content:space-between}
.td-postit-item__text{flex:1;min-width:180px}
.td-postit-item__meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.td-qp-count{font-size:.9rem;white-space:nowrap}
.td-qp-count--nonzero{font-weight:700}
.td-qp-btn{border:1px solid #dcdcde;background:#fff;border-radius:10px;padding:6px 10px;line-height:1;cursor:pointer}
.td-qp-btn--plus{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:22px;transition:transform .08s ease, box-shadow .08s ease}
.td-qp-btn--plus:active{transform:scale(.96)}
.td-qp-btn--open{font-size:.9rem}
.td-qp-quick{margin:0}
.td-qp-form{margin-top:8px;flex-basis:100%;display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;border:1px solid #dcdcde;background:#fff;border-radius:12px;padding:10px}
.td-qp-field input[type="date"], .td-qp-field textarea{width:100%}
.td-qp-actions{display:flex;gap:8px;align-items:center}

/* 1080.5: Senast tränat */
.td-dash-card--latest{margin-top:12px;padding:0;border-radius:0;border:0;background:transparent}
.td-dash-latest__kicker{font-size:12px;letter-spacing:.02em;text-transform:uppercase;opacity:.75;margin-bottom:6px}
.td-dash-latest__link{text-decoration:none;font-weight:600}
.td-dash-latest__link:hover{text-decoration:underline}

@media (max-width: 768px){
  .td-postit-item__meta{justify-content:flex-end}
}

/* 1400: Kalender (månadsvy) */
.td-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}
.td-calendar-grid__head{font-size:12px;opacity:.7;text-transform:uppercase;letter-spacing:.02em}
.td-calendar-grid__cell{border:1px solid #e5e5e5;border-radius:12px;padding:10px;min-height:88px;background:#fff}
.td-calendar-grid__cell--muted{opacity:.5;background:transparent}
.td-calendar-grid__day{font-weight:700;margin-bottom:6px}
.td-calendar-grid__event{font-size:12px;line-height:1.2;margin:0 0 6px}
.td-calendar-grid__event a{text-decoration:none}
.td-calendar-grid__event a:hover{text-decoration:underline}

/* 1400: Kalender (responsiv) */
.td-only-desktop{display:block}
.td-only-mobile{display:none}

.td-calendar-month{overflow:auto}
.td-calendar-month__table{width:100%;border-collapse:separate;border-spacing:8px;margin:0 -8px}
.td-calendar-month__table th{font-size:12px;opacity:.7;text-transform:uppercase;letter-spacing:.02em;text-align:left;padding:0 6px}
.td-calendar-month__cell{vertical-align:top;border:1px solid #e5e5e5;border-radius:12px;padding:10px;min-width:140px;background:#fff}
.td-calendar-month__cell--muted{opacity:.45;background:transparent}
.td-calendar-month__cell--today{border-color:rgba(198,90,30,.7);box-shadow:0 0 0 2px rgba(198,90,30,.10) inset}
.td-calendar-month__day{font-weight:700;margin-bottom:6px}
.td-calendar-month__event{font-size:12px;line-height:1.2;margin:0 0 6px;display:flex;gap:6px;align-items:baseline;flex-wrap:wrap}
.td-calendar-month__event--entry .td-calendar-month__link,.td-calendar-month__event--entry .td-calendar-month__title{opacity:.85}
.td-calendar-month__time{opacity:.7;white-space:nowrap}
.td-calendar-month__link{text-decoration:none}
.td-calendar-month__link:hover{text-decoration:underline}

.td-calendar-mobile__card{margin:0 0 10px}
.td-calendar-mobile__date{font-size:12px;margin-bottom:4px}
.td-calendar-mobile__title{font-weight:700;margin-bottom:6px}
.td-calendar-mobile__title--entry{font-weight:600}
.td-calendar-mobile__desc{margin-bottom:10px}
.td-calendar-mobile__cta{margin-top:8px}

/* 1400: Kalender (kontroller + prenumerations-URL) */
.td-calendar-controls{display:flex;gap:12px;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;margin-top:12px}
.td-calendar-controls__left{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}
.td-calendar-controls__row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.td-calendar-controls__buttons{display:flex;gap:8px;flex-wrap:wrap}
.td-calendar-controls__group{display:flex;flex-direction:column;gap:6px}
.td-calendar-controls__label{font-size:12px}
.td-calendar-form{display:flex;align-items:center;gap:8px;flex:1;flex-wrap:nowrap}
.td-calendar-form__month{width:170px;max-width:220px}
.td-calendar-nav{width:34px;height:34px;border-radius:10px;font-size:20px;line-height:1;color:#C65A1E;border-color:rgba(198,90,30,.35)}
.td-calendar-nav:hover{background:rgba(198,90,30,.08)}
.td-calendar-form__toggle{margin-left:auto;display:inline-flex;gap:8px;align-items:center;margin-top:0;font-size:12px;user-select:none}
.td-calendar-form__toggle input{transform:translateY(1px)}
.td-calendar-next{margin-top:0}
.td-calendar-next__countdown{margin-top:6px}
.td-calendar-content{margin-top:12px}

/* Ikonknapp + modal (kalender prenumeration) */
.td-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;border:1px solid #e5e5e5;background:#fff;cursor:pointer}
.td-icon-btn:hover{background:#f7f7f7}
.td-icon{width:18px;height:18px;fill:currentColor}

/* Kalender: prenumerera-ikon ska vara tydlig men följa övriga ikoner */
.td-calendar-ical{display:none}
.td-calendar-ical:hover{background:rgba(198,90,30,.08)}
.td-calendar-ical .td-icon{width:20px;height:20px}

/* Tooltip (desktop) */
.td-calendar-ical[data-td-tooltip]{position:relative}
.td-calendar-ical[data-td-tooltip]:hover::after,
.td-calendar-ical[data-td-tooltip]:focus-visible::after{
  content:attr(data-td-tooltip);
  position:absolute;
  right:0;
  top:-10px;
  transform:translateY(-100%);
  background:rgba(0,0,0,.85);
  color:#fff;
  font-size:12px;
  padding:6px 8px;
  border-radius:10px;
  white-space:nowrap;
  pointer-events:none;
}

.td-modal[hidden]{display:none}
.td-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:16px}
.td-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.45)}
.td-modal__dialog{position:relative;background:#fff;border-radius:16px;max-width:520px;width:100%;box-shadow:0 12px 40px rgba(0,0,0,.25);overflow:hidden}
.td-modal__header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #eee}
.td-modal__title{font-weight:700}
.td-modal__body{padding:16px}
.td-modal__input{width:100%;min-height:40px;border:1px solid #e5e5e5;border-radius:10px;padding:8px 10px}

html.td-modal-open{overflow:hidden}

@media (max-width: 768px){
  .td-calendar-grid{gap:6px}
  .td-calendar-grid__cell{padding:8px;border-radius:10px;min-height:72px}
  .td-calendar-grid__event{font-size:11px}

  .td-only-desktop{display:none}
  .td-only-mobile{display:block}

  .td-calendar-controls{align-items:stretch}
  .td-calendar-form__month{width:190px;max-width:100%}

  }

/* Calendar tweaks (2.4.36) */
.td-calendar-form__month{max-width:100%}
@media (max-width:768px){.td-calendar-form__month{width:140px}}
@media (min-width:769px){.td-calendar-controls__label{display:none}}

/* Planera: Skapa-lista */
.td-create-list{display:flex;flex-direction:column;gap:14px}
.td-create-item{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.td-create-item__title{font-weight:700;margin-bottom:2px}
.td-create-item__action .button{white-space:nowrap}
@media (max-width:768px){
  .td-create-item{flex-direction:column;align-items:stretch}
  .td-create-item__action .button{width:100%;text-align:center}
}


/* Kalender: månadsrubrik med nästa/föregående */
.td-calendar-month__header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.td-calendar-month__title{
  margin:0;
  text-align:center;
  flex:1;
}
.td-calendar-nav{
  width:40px;
  height:40px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:22px;
  line-height:1;
}

/* Kalender: tabell ska linjera med kortets padding */
.td-calendar-month__table{
  width:100%;
  margin:0;
  table-layout:fixed;
}
.td-calendar-month__table th,
.td-calendar-month__table td{
  overflow:hidden;
}

/* Desktop: ta bort extra rubrik ovanför filter */
@media (min-width: 900px){
  .td-calendar-controls label[for="td-cal-month"]{ display:none; }
}

/* TD_CALENDAR_DESKTOP_ROW: håll "Visa mina inlägg" till höger på desktop men låt det wrapa på små skärmar */
@media (max-width: 600px){
  .td-calendar-form{flex-wrap:wrap}
  .td-calendar-form__toggle{margin-left:0}
}

/* TD_CALENDAR_WIDTH: kalendern ska följa sidans innehållsbredd (inte bli smalare än övriga kort) */
.td-card.td-calendar{width:100%}
.td-calendar .td-card__body{width:100%}
.td-calendar-content{width:100%}

/* TD_CALENDAR_ICAL_LINK */
.td-calendar-ical-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:14px;
  text-decoration:underline;
}

/* TD_CALENDAR_TOGGLE_NOWRAP */
.td-calendar-form__toggle{white-space:nowrap;flex:0 0 auto}
.td-calendar-form__toggle label{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}

/* TD_CALENDAR_MOBILE_LAYOUT */
@media (max-width: 768px){
  .td-calendar-controls{flex-direction:column;align-items:stretch}
  .td-calendar-controls__left{width:100%}
  .td-calendar-controls__row{width:100%}
  .td-calendar-form{width:100%;flex-wrap:wrap}
  .td-calendar-form__toggle{margin-left:0}
  .td-calendar-ical-link{align-self:flex-end}
  .td-calendar-content{width:100%}
}

/* TD_CALENDAR_DESKTOP_FIX: desktop ska inte wrapa "Visa mina inlägg" och kalendern ska fylla innehållsbredd */
@media (min-width: 769px){
  .td-calendar-controls{width:100%;flex-wrap:nowrap;align-items:center}
  .td-calendar-controls__left{flex:1;min-width:0}
  .td-calendar-controls__row{width:100%;flex-wrap:nowrap}
  .td-calendar-controls__buttons{flex-wrap:nowrap}
  .td-calendar-form{min-width:0}
  .td-calendar-form__toggle{white-space:nowrap}
  .td-calendar-ical-link{margin-left:auto}
  .td-calendar-grid{width:100%}
}

/* TD_CALENDAR_FULLWIDTH_FORCE */
.td-calendar{max-width:none !important;width:100%}
.td-calendar .td-card,.td-calendar .td-card--flat{max-width:none !important;width:100%}
