/* Dagsplan v41: layout from the supplied reference, scoped to the day planner. */
#timelineView { padding:0!important; min-height:100vh; color:#101d36; background:#fff!important; }
#timelineView .iseld-day-workspace { width:100%; min-height:100vh; margin:0; grid-template-columns:clamp(250px,18.6vw,350px) minmax(0,1fr); gap:0; }
#timelineView .iseld-day-navigator { position:sticky; top:0; align-self:start; display:flex; flex-direction:column; min-height:100vh; border:0; border-radius:0; box-shadow:none; background:linear-gradient(165deg,#0b203b,#0c2a50 44%,#061a32); }
#timelineView .iseld-day-nav-brand { position:relative; gap:16px; padding:42px 30px 65px; border:0; }
#timelineView .iseld-day-nav-brand img { width:25px; height:31px; }
#timelineView .iseld-day-nav-brand strong { font-size:23px; letter-spacing:.16em; }
#timelineView .iseld-day-nav-brand span { position:absolute; left:28px; bottom:14px; font-size:14px; font-weight:500; color:#b5c6de; }
#timelineView .iseld-mini-calendar { padding:12px 28px 42px; }
#timelineView .iseld-mini-calendar-head { margin-bottom:22px; }
#timelineView .iseld-mini-calendar-head h2 { font-size:16px; }
#timelineView .iseld-mini-nav-btn { border:0; background:transparent; font-size:22px; box-shadow:none; }
#timelineView .iseld-selected-date, #timelineView .iseld-today-date, #timelineView .iseld-day-jump { display:none; }
#timelineView .iseld-mini-weekdays, #timelineView .iseld-mini-days { gap:6px; }
#timelineView .iseld-mini-weekdays span { font-size:12px; font-weight:600; text-transform:none; color:#91a8c7; }
#timelineView .iseld-mini-days { margin-top:10px; }
#timelineView .iseld-mini-day { border:1px solid transparent!important; border-radius:9px; background:transparent!important; color:#c9d8ec!important; font-size:13px; box-shadow:none!important; transform:none; }
#timelineView .iseld-mini-day.is-other-month { color:#627e9e!important; }
#timelineView .iseld-mini-day:hover { background:#203f65!important; }
#timelineView .iseld-mini-day.is-selected { background:linear-gradient(135deg,#2f72ea,#5364f5)!important; color:#fff!important; border-color:#5282f3!important; box-shadow:0 4px 12px #072d6966!important; }
#timelineView .iseld-mini-day.has-bookings::after { background:#79acff; width:3px; height:3px; bottom:4px; }
#timelineView .iseld-mini-day.is-today { border:2px solid #6fe2a6!important; color:#ddfff0!important; transform:none; box-shadow:none!important; background:transparent!important; z-index:2; }
#timelineView .iseld-mini-day.is-today.is-selected { background:#326ae6!important; }
#timelineView .iseld-mini-day.is-today::before { content:"I DAG"; position:absolute; top:-10px; left:3px; right:auto; border:0; border-radius:6px; background:#d8ffe7; color:#103622; padding:2px 4px; font-size:7px; font-weight:900; line-height:1.2; box-shadow:none; white-space:nowrap; }
#timelineView .iseld-employee-filter-panel { margin:0 28px; padding:22px 0; }
#timelineView .iseld-side-section-title { margin-bottom:16px; }
#timelineView .iseld-side-section-title span { display:none; }
#timelineView .iseld-side-section-title strong { color:#b6c7df; font-size:14px; font-weight:500; }
#timelineView .iseld-side-employee-filters .schedule-toolbar { gap:6px!important; }
#timelineView .iseld-side-employee-filters .filter-btn { border:0!important; min-height:52px; border-radius:11px; background:transparent!important; color:#e8f0ff!important; padding:8px 10px; font-size:14px; gap:13px; }
#timelineView .iseld-side-employee-filters .filter-btn.active { background:#1b3657!important; color:#fff!important; box-shadow:inset 3px 0 #5384ff!important; }
#timelineView .filter-avatar { width:40px; height:40px; border:0; background:#284360; color:#fff; box-shadow:none; }
#timelineView .iseld-day-summary { margin: auto 28px 26px; padding-top:26px; gap:0; }
#timelineView .iseld-day-summary div { border:0; border-radius:0; background:transparent; padding:0 14px; }
#timelineView .iseld-day-summary div+div { border-left:1px solid #ffffff22; }
#timelineView .iseld-day-summary strong { font-size:21px; }
#timelineView .iseld-day-summary span { margin-top:7px; color:#a6b9d1; font-size:12px; }
#timelineView .timeline-page-card { border:0!important; border-radius:0; background:#fff!important; box-shadow:none!important; overflow:visible; }
#timelineView .timeline-page-topbar { align-items:flex-start; padding:44px 48px 35px; min-height:224px; border:0; background:#fff; gap:18px; }
#timelineView .timeline-page-kicker { color:#4074ff; font-size:13px; letter-spacing:.04em; margin-bottom:10px; }
#timelineView .timeline-page-topbar h1 { color:#0e1b34; font-size:clamp(29px,2.7vw,50px); line-height:1.12; font-weight:750; letter-spacing:-.035em; text-transform:capitalize; }
#timelineView .timeline-page-topbar p { margin:14px 0 0; font-size:18px; color:#6b7f9c!important; }
#timelineView .timeline-page-action-area { display:flex; flex-direction:column; align-items:flex-end; gap:30px; flex-shrink:0; }
#timelineView .timeline-page-actions { display:flex; align-items:center; flex-wrap:wrap; gap:14px; }
#timelineView .timeline-page-actions button, #timelineView .iseld-planner-toolbar button, #timelineView .iseld-planner-toolbar select { background:#fff!important; color:#34445f!important; border:1px solid #d5dfef!important; border-radius:7px!important; min-height:54px!important; padding:12px 24px!important; font-size:14px!important; font-weight:500; box-shadow:none!important; margin:0; }
#timelineView .iseld-new-booking { background:linear-gradient(110deg,#3d82f8,#6455ff)!important; color:#fff!important; font-size:16px; font-weight:700; min-height:54px; border:0; border-radius:7px; padding:14px 30px; box-shadow:none; }
#timelineView .iseld-notification-center.inline .iseld-notification-bell { width:58px!important; height:54px!important; border-radius:7px!important; padding:0!important; }
#timelineView .iseld-day-content { padding:0 26px 26px; }
#timelineView #timelinePageRangeInfo, #timelineView #timelineNextCustomerBanner { display:none!important; }
#timelineView .iseld-planner-toolbar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; padding:12px; min-height:98px; border:1px solid #d6dfef; border-bottom:0; background:#fff; }
#timelineView .iseld-planner-day-actions, #timelineView .iseld-planner-view-actions { display:flex; align-items:center; gap:14px; }
#timelineView .iseld-planner-view-actions { align-items:flex-end; }
#timelineView .iseld-planner-view-actions label { display:grid; gap:4px; color:#34445f; font-size:12px; font-weight:600; }
#timelineView .iseld-planner-view-actions select { min-width:185px; width:auto; padding-right:35px!important; }
#timelineView #timelinePageList { min-height:clamp(410px,54vh,680px)!important; max-height:70vh!important; margin:0!important; padding:0!important; border:1px solid #d6dfef!important; border-radius:0!important; box-shadow:none!important; background:linear-gradient(#eef2f855 1px,transparent 1px),linear-gradient(90deg,#eef2f855 1px,transparent 1px),#fff!important; background-size:35px 35px!important; }
#timelineView .timeline-wrap { zoom:1!important; transform:none!important; margin:0!important; }
#timelineView .timeline-header, #timelineView .timeline-row { grid-template-columns:var(--planner-employee-width,184px) 1fr!important; }
#timelineView .timeline-header { box-shadow:none!important; border-bottom:1px solid #cdd9ea!important; }
#timelineView .timeline-employee-head { display:flex; align-items:center; padding:18px!important; font-size:16px!important; position:sticky; left:0; z-index:22; }
#timelineView .timeline-hours { height:110px!important; background:#fff!important; }
#timelineView .timeline-hour-label.is-hour { top:30px!important; font-size:25px!important; font-weight:800!important; }
#timelineView .timeline-hour-label.is-hour::after { height:46px; bottom:-57px; background:#8b9db7; }
#timelineView .timeline-hour-label.no-text { top:38px!important; }
#timelineView .timeline-hour-label.no-text::after { height:24px!important; background:#cad6e7; }
#timelineView .timeline-employee-name { padding:20px 16px!important; gap:12px!important; }
#timelineView .employee-avatar { width:54px!important; height:54px!important; border:0!important; background:#f0f0ff; color:#466aff; font-size:17px!important; box-shadow:none; }
#timelineView .employee-name-title { font-size:14px!important; line-height:1.25!important; }
#timelineView .employee-name-subtitle { display:block!important; color:#74849d; font-size:12px!important; font-weight:400; }
#timelineView .timeline-row { border-bottom:1px solid #d7e1f0!important; }
#timelineView .timeline-track { background-color:#fbfdff!important; }
#timelineView .timeline-block { display:grid!important; grid-template-rows:20px 18px 27px!important; gap:7px!important; align-content:center!important; padding:10px 16px!important; border:0!important; border-radius:6px!important; box-shadow:none!important; overflow:hidden!important; text-shadow:none!important; }
#timelineView .timeline-block::after { display:none!important; }
#timelineView .timeline-block:hover { transform:translateY(-1px)!important; box-shadow:0 5px 12px #243f6322!important; }
#timelineView .timeline-time { display:block!important; margin:0!important; font-size:14px!important; line-height:20px!important; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
#timelineView .timeline-customer-line { display:flex!important; align-items:center!important; gap:5px!important; margin:0!important; min-width:0!important; line-height:18px!important; font-size:12px!important; overflow:hidden!important; white-space:nowrap; text-overflow:ellipsis; opacity:.8; }
#timelineView .timeline-customer-line .booking-mini-icon { display:flex; width:12px; height:12px; flex:0 0 12px; }
#timelineView .timeline-customer-line svg { width:12px!important; height:12px!important; }
#timelineView .timeline-service-pill { display:flex!important; align-items:center!important; align-self:center!important; justify-self:start; gap:5px!important; max-width:100%!important; min-width:0!important; height:27px!important; min-height:27px!important; padding:5px 9px!important; margin:0!important; background:#ffffffa6!important; border:0; border-radius:7px!important; font-size:12px!important; line-height:17px!important; overflow:hidden; }
#timelineView .timeline-service-pill span:last-child { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#timelineView .timeline-mini-text { display:none!important; }
#timelineView .timeline-stats-outside { margin:0!important; padding:24px 0 0; }
#timelineView .timeline-stats-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:0; margin:0; border:1px solid #d6dfef; border-top:0; padding:0 0 22px; }
#timelineView .timeline-stat-card { display:flex; justify-content:center; gap:16px; padding:22px 12px; min-height:110px; border:0; border-radius:0; box-shadow:none; }
#timelineView .timeline-stat-card+.timeline-stat-card { border-left:1px solid #d6dfef; }
#timelineView .timeline-stat-icon { flex:0 0 28px; width:28px; height:32px; background:transparent; color:#74839c; }
#timelineView .timeline-stat-card strong { font-size:23px; font-weight:750; margin-bottom:7px; white-space:nowrap; }
#timelineView .timeline-stat-card span { font-size:12px; font-weight:400; }
#timelineView button:focus-visible, #timelineView select:focus-visible, #timelineView .timeline-block:focus-visible { outline:3px solid #79a1ff; outline-offset:3px; }
#timelineView.is-fullscreen { padding:0!important; overflow:auto!important; }
#timelineView.is-fullscreen .timeline-page-card { max-width:none!important; margin:0!important; }
@media(max-width:1250px) {
 #timelineView .timeline-page-topbar { padding:32px 26px; min-height:205px; }
 #timelineView .timeline-page-actions { gap:8px; }
 #timelineView .timeline-page-actions button { padding:10px 14px!important; }
 #timelineView .iseld-planner-toolbar { gap:12px; }
 #timelineView .iseld-planner-toolbar button { padding:10px 16px!important; }
 #timelineView .iseld-planner-view-actions { gap:8px; }
 #timelineView .iseld-planner-view-actions select { min-width:140px; }
 #timelineView .timeline-stat-card { flex-direction:column; align-items:flex-start; gap:10px; }
 #timelineView .timeline-stat-card strong { font-size:20px; }
}
@media(max-width:820px) {
 #timelineView .iseld-day-workspace { display:flex; flex-direction:column; }
 #timelineView .iseld-day-navigator { position:static; min-height:0; margin:0; border-radius:0; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
 #timelineView .iseld-day-nav-brand { grid-column:1/-1; padding:20px 20px 42px; }
 #timelineView .iseld-day-nav-brand span { left:20px; bottom:8px; }
 #timelineView .iseld-mini-calendar { padding:10px 20px 20px; }
 #timelineView .iseld-mini-calendar-head { margin-bottom:12px; }
 #timelineView .iseld-employee-filter-panel { margin:10px 20px; padding:12px 0; }
 #timelineView .iseld-side-employee-filters .schedule-toolbar { grid-template-columns:1fr!important; }
 #timelineView .iseld-day-summary { display:none; }
 #timelineView .timeline-page-topbar { display:flex; flex-wrap:wrap; padding:25px 20px; gap:22px; min-height:0; }
 #timelineView .timeline-page-heading { flex:1 1 260px; }
 #timelineView .timeline-page-topbar h1 { font-size:32px; }
 #timelineView .timeline-page-topbar p { font-size:15px; }
 #timelineView .timeline-page-action-area { flex:1 1 260px; align-items:stretch; gap:15px; }
 #timelineView .timeline-page-actions { display:flex; flex-wrap:nowrap; justify-content:space-between; }
 #timelineView .timeline-page-actions button { min-height:44px!important; font-size:12px!important; }
 #timelineView .iseld-notification-center.inline .iseld-notification-bell { width:44px!important; height:44px!important; }
 #timelineView .iseld-new-booking { min-height:48px; }
 #timelineView .iseld-day-content { padding:0 12px 20px; }
 #timelineView .iseld-planner-toolbar { align-items:stretch; padding:12px; }
 #timelineView .iseld-planner-day-actions { gap:8px; }
 #timelineView .iseld-planner-view-actions { flex-wrap:wrap; gap:8px; }
 #timelineView .iseld-planner-toolbar button, #timelineView .iseld-planner-toolbar select { min-height:44px!important; padding:10px 12px!important; font-size:12px!important; }
 #timelineView .iseld-planner-view-actions select { min-width:120px; }
 #timelineView #timelinePageList { min-height:400px!important; max-height:65vh!important; resize:none; }
 #timelineView .timeline-hours { height:80px!important; }
 #timelineView .timeline-hour-label.is-hour { font-size:19px!important; top:20px!important; }
 #timelineView .timeline-hour-label.is-hour::after { height:28px; bottom:-36px; }
 #timelineView .timeline-employee-name { padding:12px 8px!important; gap:7px!important; flex-direction:column; align-items:flex-start; }
 #timelineView .employee-avatar { width:34px!important; height:34px!important; font-size:13px!important; }
 #timelineView .timeline-stats-grid { grid-template-columns:repeat(2,minmax(0,1fr)); padding:0; }
 #timelineView .timeline-stat-card { flex-direction:row; justify-content:flex-start; align-items:center; border-bottom:1px solid #d6dfef; min-height:90px; }
 #timelineView .timeline-stat-card:nth-child(odd) { border-left:0; }
 #timelineView .timeline-stat-card:last-child { grid-column:1/-1; border-bottom:0; }
}
@media(max-width:480px) {
 #timelineView .iseld-day-navigator { display:flex; }
 #timelineView .iseld-mini-calendar { max-width:360px; width:100%; align-self:center; padding-bottom:16px; }
 #timelineView .iseld-mini-day { aspect-ratio:auto; height:34px; }
 #timelineView .iseld-employee-filter-panel { margin:0 20px; padding:16px 0; }
 #timelineView .iseld-side-employee-filters .schedule-toolbar { display:flex!important; flex-wrap:wrap; gap:6px!important; }
 #timelineView .iseld-side-employee-filters .filter-btn { width:auto; min-height:42px; font-size:12px; gap:7px; }
 #timelineView .filter-avatar { width:26px; height:26px; }
 #timelineView .iseld-planner-view-actions { width:100%; }
 #timelineView .iseld-planner-view-actions label { flex:1; }
 #timelineView .iseld-planner-view-actions select { width:100%; }
 #timelineView .timeline-stat-card { gap:10px; padding:16px 10px; }
 #timelineView .timeline-stat-card strong { font-size:19px; }
}
/* Reset legacy mobile/fullscreen rules that otherwise override the new layout. */
#timelineView, #timelineView *, #timelineView *::before, #timelineView *::after { box-sizing:border-box; }
#timelineView .timeline-employee-head, #timelineView .timeline-employee-name { width:auto!important; min-width:0!important; }
#timelineView .timeline-header { top:0!important; }
#timelineView.is-fullscreen .timeline-page-card { height:auto!important; max-height:none!important; min-height:100vh!important; padding:0!important; border-radius:0!important; overflow:visible!important; }
#timelineView.is-fullscreen .timeline-stats-outside { display:block!important; }
#timelineView .timeline-hour-label.is-hour::after { height:46px!important; bottom:-57px!important; background:#8b9db7!important; }
#timelineView .timeline-page-topbar .muted { display:block!important; }
@media(max-width:820px) {
 #timelineView.timeline-page { background:#fff!important; }
 #timelineView .timeline-page-card { padding:0!important; min-height:0!important; }
 #timelineView .timeline-page-topbar { display:flex!important; align-items:flex-start!important; gap:22px!important; margin:0!important; padding:25px 20px!important; }
 #timelineView .timeline-page-topbar h1 { font-size:32px!important; max-width:none!important; line-height:1.12!important; }
 #timelineView .timeline-page-actions button { width:auto!important; min-width:0!important; text-indent:0!important; padding:10px 14px!important; }
 #timelineView .timeline-page-actions button::after { display:none!important; }
 #timelineView #timelinePageFilters.schedule-toolbar { margin:0!important; padding:0!important; display:grid!important; overflow:visible!important; }
 #timelineView .timeline-hour-label.is-hour::after { height:28px!important; bottom:-36px!important; }
}
@media(max-width:480px) {
 #timelineView #timelinePageFilters.schedule-toolbar { display:flex!important; flex-wrap:wrap!important; }
}
