.calendar-route{max-width:1280px;margin:auto;padding:30px 40px 80px}.calendar-context-bar{display:flex;justify-content:space-between;align-items:center;padding:12px 18px;border:1px solid var(--line);border-radius:18px;background:#fff;margin-bottom:28px;gap:16px}.calendar-context-bar>span{font-size:12px;color:var(--muted)}.calendar-filter{display:flex;align-items:center;gap:12px;min-width:0}.calendar-filter>span{font-size:9px;color:var(--muted);letter-spacing:.05em;white-space:nowrap}.calendar-filter select{font:inherit;font-size:13px;font-weight:600;max-width:240px;border:0;background:transparent;color:var(--ink);padding:5px 22px 5px 5px}.calendar-filter select:focus-visible{outline:3px solid #49b8d1;border-radius:5px}.calendar-hero{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:32px}.calendar-hero .eyebrow{font-size:9px;letter-spacing:.18em;color:var(--muted)}.calendar-hero h1{font-size:36px;letter-spacing:-.045em;margin:12px 0 10px;line-height:1.08}.calendar-hero p{font-size:13px;color:var(--muted);margin:0}.calendar-layout{display:grid;grid-template-columns:minmax(0,2.45fr) minmax(260px,1fr);gap:20px;align-items:start}.calendar-month,.calendar-agenda{min-width:0}.calendar-card,.calendar-agenda{background:#fff;border:1px solid var(--line);border-radius:20px}.calendar-card{padding:24px}.calendar-month-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:24px}.calendar-month-heading h2{font-size:22px;font-weight:600;letter-spacing:-.025em;margin:0}.calendar-month-actions{display:flex;gap:2px}.calendar-month-button{display:grid;place-items:center;width:36px;height:36px;background:transparent;border-radius:50%;font-size:25px;font-weight:400;line-height:1}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.calendar-weekdays{font-size:10px;color:var(--muted);text-align:center;margin-bottom:12px;font-weight:400}.calendar-day{display:grid;place-items:center;min-width:0;height:95px;border-radius:13px;background:#f1f4ee;padding:0;transition:background .15s,transform .15s}.calendar-day.is-outside{background:transparent;visibility:hidden}.calendar-number{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:13px;font-weight:400;position:relative}.calendar-number i{width:4px;height:4px;border-radius:50%;background:#234b58}.calendar-day.is-today,.calendar-day.is-selected{background:#234b58;color:white}.calendar-day.is-selected .calendar-number i,.calendar-day.is-today .calendar-number i{background:#fff}.calendar-day:hover:not(:disabled){box-shadow:inset 0 0 0 1px #83a5a0}.calendar-day:focus-visible{outline:3px solid #49b8d1;outline-offset:1px}.calendar-day:disabled{cursor:default;opacity:.6}.calendar-legend{display:flex;justify-content:center;gap:18px;margin-top:14px;font-size:11px;color:var(--muted)}.calendar-legend span{display:flex;align-items:center;gap:5px}.calendar-legend i{display:block;width:8px;height:8px;border-radius:50%}.legend-today{background:#13566b}.legend-task{background:#c27c2d}.calendar-agenda{padding:22px 20px;min-height:250px}.calendar-agenda-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px}.calendar-agenda h3{font-size:15px;font-weight:600;margin:0;line-height:1.4}.calendar-class{display:grid;gap:4px;background:#f1f4ee;border-radius:12px;padding:13px;margin-bottom:12px}.calendar-class small,.calendar-class span{font-size:11px;color:var(--muted);line-height:1.4}.calendar-class strong{font-size:13px;font-weight:500;line-height:1.4;overflow-wrap:anywhere}.calendar-create-desktop{background:transparent;color:#234b58;font-size:12px;padding:12px 0}.calendar-task{display:flex;align-items:center;gap:10px;text-align:left;width:100%;border:1px solid var(--line);border-radius:14px;background:#fff;padding:12px;margin-bottom:10px;min-width:0}.calendar-task-stripe{width:3px;align-self:stretch;border-radius:3px;background:#5974ff;flex:none}.calendar-task-copy{display:grid;gap:4px;min-width:0;flex:1}.calendar-task strong{font-size:13px;font-weight:600;overflow-wrap:anywhere}.calendar-task small{font-size:10px;color:var(--muted);overflow-wrap:anywhere}.calendar-task .calendar-task-subject{color:#5773ff}.calendar-task-date{font-size:10px;color:var(--muted);text-align:right;max-width:105px;flex:none}.calendar-task.is-completed strong{color:var(--muted);text-decoration:line-through}.calendar-task.is-completed .calendar-task-stripe{background:#879797}.calendar-empty-day{display:flex;gap:12px;align-items:center;border-radius:16px;background:#edf4f1;padding:16px;min-height:88px}.calendar-empty-day strong{font-size:13px;font-weight:600}.calendar-empty-day p{font-size:11px;line-height:1.3;color:var(--muted);margin:4px 0 0}.calendar-agenda-placeholder p{font-size:13px;line-height:1.5;color:var(--muted)}.calendar-status{padding:13px;border-radius:12px;background:#e4f1ec;color:#155568;font-size:13px;line-height:1.5;margin-bottom:16px}.calendar-status.is-error{background:#fff0ed;color:#884038}.calendar-status button{font-size:inherit;color:inherit;background:transparent;font-weight:600;text-decoration:underline;padding:5px}.calendar-route [disabled]{cursor:default}.calendar-route button:focus-visible{outline:3px solid #49b8d1;outline-offset:2px}.calendar-route.is-mobile{padding:0 16px 110px}.calendar-mobile-content{min-height:100vh}.calendar-mobile-header{display:flex;justify-content:center;background:#fff;margin:0 -16px;padding:12px 16px 10px;min-height:58px}.is-mobile .calendar-filter{display:block;min-width:0}.is-mobile .calendar-filter>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.is-mobile .calendar-filter select{width:auto;max-width:min(270px,80vw);min-width:130px;height:34px;padding:5px 20px;font-size:13px;color:white;background:#10171b;border-radius:20px;text-align:center;text-overflow:ellipsis}.is-mobile .calendar-layout{display:block}.is-mobile .calendar-month-heading{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;position:relative;min-height:44px;margin:5px 0 8px}.is-mobile .calendar-month-heading h2{grid-column:2;grid-row:1;text-align:center;font-size:22px;font-weight:700;line-height:1.3}.is-mobile .calendar-month-actions{display:contents}.is-mobile .calendar-month-button{width:44px;height:44px;color:#13566b;grid-row:1}.is-mobile .calendar-month-button:first-child{grid-column:1}.is-mobile .calendar-month-button:last-child{grid-column:3}.is-mobile .calendar-month-button span{display:grid;place-items:center;background:#13566b;color:#fff;border-radius:50%;width:22px;height:22px;font-size:22px;font-weight:400;padding-bottom:2px}.is-mobile .calendar-card{padding:0 4px 8px;box-shadow:0 4px 12px #00000007}.is-mobile .calendar-weekdays{font-size:11px;font-weight:500;padding:11px 4px;margin:0 -4px 4px;border-bottom:1px solid var(--line);gap:0}.is-mobile .calendar-grid{gap:4px 0}.is-mobile .calendar-day{height:42px;min-height:42px;background:transparent;border-radius:0;color:var(--ink)}.is-mobile .calendar-number{width:36px;height:36px;border-radius:50%;font-size:15px;gap:1px}.is-mobile .calendar-day.is-today .calendar-number{background:#13566b;color:white;font-weight:700}.is-mobile .calendar-day.is-selected .calendar-number{background:#10171b;color:white;transform:scale(1.1);box-shadow:0 4px 8px #10171b20;font-weight:700}.is-mobile .calendar-number i{width:5px;height:5px;background:#c27c2d}.is-mobile .calendar-day.is-selected .calendar-number i{background:#ffffffcc}.is-mobile .calendar-legend{font-size:10px;margin:15px 0 22px}.is-mobile .calendar-legend i{width:8px;height:8px}.is-mobile .calendar-agenda{padding:0;border:0;border-radius:0;background:transparent;min-height:0}.is-mobile .calendar-agenda-heading{margin:0 4px 10px}.is-mobile .calendar-agenda h3{font-size:18px;font-weight:700}.calendar-create{background:#10171b;color:white;border-radius:18px;padding:5px 10px;font-size:11px;font-weight:600;white-space:nowrap}.is-mobile .calendar-task{border-radius:16px;padding:14px 13px;box-shadow:0 4px 10px #00000005}.is-mobile .calendar-task strong{font-size:14px}.is-mobile .calendar-task small{font-size:11px}.is-mobile .calendar-task-date{font-size:10px}.is-mobile .calendar-empty-day{padding:0 0 0 16px;gap:0;overflow:hidden}.is-mobile .calendar-empty-day>div{min-width:0;flex:1}.calendar-kron{display:block;position:relative;width:112px;height:88px;flex:none;overflow:hidden}.calendar-kron img{position:absolute;width:105px;height:105px;object-fit:contain;bottom:-5px;right:-4px}.is-mobile .calendar-status{margin-top:12px}@media(min-width:1000px) and (max-width:1199px){.calendar-route{padding-left:24px;padding-right:24px}.calendar-layout{grid-template-columns:minmax(0,2fr) minmax(250px,1fr)}.calendar-card{padding:18px}.calendar-task-date{max-width:85px}}@media(max-width:359px){.calendar-route.is-mobile{padding-left:10px;padding-right:10px}.is-mobile .calendar-month-heading h2{font-size:20px}.is-mobile .calendar-task-date{max-width:76px}}@media(prefers-reduced-motion:reduce){.calendar-day{transition:none}.is-mobile .calendar-day.is-selected .calendar-number{transform:none}}

.is-mobile .calendar-day:hover{box-shadow:none}

.is-mobile .calendar-agenda h3{font-size:20px}
.is-mobile .calendar-task{min-height:82px}
.is-mobile .calendar-task strong{font-size:16px}
.is-mobile .calendar-task .calendar-task-subject{font-size:13px}
.is-mobile .calendar-task-date{font-size:12px}
.is-mobile .calendar-empty-day strong{font-size:16px}
.is-mobile .calendar-empty-day p{font-size:13px;line-height:1.4}
.calendar-route.is-mobile{padding-bottom:150px}
