.calendar-monthly{width:100%;max-width:100%;min-width:0;color:#fff;overflow-x:hidden;overflow-y:visible}.calendar-monthly,.calendar-monthly *{box-sizing:border-box}.calendar-month-control{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;min-width:0}.calendar-month-control h2{font-size:clamp(16px,2.2vw,22px);font-weight:800;text-align:center;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-month-control button{background:#1a1a1f;border:1px solid #2c2f38;color:#fff;padding:8px 14px;border-radius:12px;cursor:pointer;font-weight:800;flex-shrink:0;transition:background .25s ease,color .25s ease,border-color .25s ease,transform .15s ease;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.calendar-month-control button:active{transform:translateY(1px)}@media(hover:hover)and (pointer:fine){.calendar-month-control button:hover{background:#4da6ff;color:#000;border-color:#4da6ff;transform:translateY(-1px)}}.calendar-week-name{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center;margin-bottom:12px;opacity:.7;font-size:clamp(11px,1.4vw,14px);letter-spacing:.08em}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:clamp(6px,1vw,10px);width:100%;max-width:100%;min-width:0;grid-auto-rows:minmax(clamp(90px,9vw,120px),auto);align-items:stretch;overscroll-behavior:contain}.calendar-day{position:relative;background:#15191f;border:1px solid #2c2f38;min-height:clamp(90px,9vw,120px);padding:clamp(8px,1vw,10px);border-radius:clamp(12px,1.4vw,16px);font-size:13px;cursor:pointer;transition:transform .22s ease,border-color .22s ease,background .22s ease;display:flex;flex-direction:column;overflow:hidden;min-width:0;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none;touch-action:manipulation}.calendar-day:focus-visible{outline:2px solid rgba(77,166,255,.6);outline-offset:2px}@media(pointer:coarse){.calendar-day:active{transform:translateY(1px)}}@media(hover:hover)and (pointer:fine){.calendar-day:hover{transform:translateY(-2px);border-color:#4da6ff;background:#171d26}}.calendar-day.has-high{border-color:#2c2f38;box-shadow:none}.calendar-day.is-today{outline:2px solid rgba(77,166,255,.55);outline-offset:2px}.calendar-day.empty{background:transparent;border:none;cursor:default;pointer-events:none}.day-top{display:flex;align-items:center;justify-content:flex-start;gap:8px;margin-bottom:4px;min-width:0;flex-wrap:nowrap}.day-number{font-size:clamp(12px,1.4vw,14px);font-weight:900;color:#4da6ff;line-height:1;white-space:nowrap;flex:0 0 auto}.day-count{font-size:12px;font-weight:900;letter-spacing:.02em;color:#ffffffb8;line-height:1;margin-bottom:8px;min-height:12px}.day-count.high{color:#ff4d4fe6}.day-events{display:flex;flex-direction:column;gap:clamp(4px,.8vw,6px);min-width:0;flex:1;min-height:0;overflow:hidden}.day-event{display:flex;align-items:center;justify-content:flex-start;gap:6px;padding:6px 8px;border-radius:10px;font-size:clamp(11px,1.1vw,12px);background:#1e222c;transition:background .2s ease;overflow:hidden;min-width:0}@media(hover:hover)and (pointer:fine){.day-event:hover{background:#2a2f3a}}.day-event.high{border-left:4px solid #ff4d4f}.day-event.medium{border-left:4px solid #faad14}.day-event.low{border-left:4px solid #52c41a}.event-flag{font-size:clamp(12px,1.4vw,14px);flex:0 0 auto}.event-time{opacity:.7;font-size:clamp(10px,1vw,11px);white-space:nowrap;flex:0 0 auto;max-width:64px;overflow:hidden;text-overflow:ellipsis}.event-title{font-size:clamp(11px,1.1vw,12px);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.day-event.more{background:#4da6ff2e;border:1px solid rgba(77,166,255,.18);justify-content:center;font-weight:900;white-space:nowrap}.calendar-day.is-mobile{min-height:72px;padding:8px}.mobile-imp-row{display:flex;gap:6px;align-items:center;margin:2px 0 6px}.imp-dot{width:7px;height:7px;border-radius:999px;opacity:.35;background:#94a3b8cc}.imp-dot.high{background:#ff4d4ff2}.imp-dot.medium{background:#faad14f2}.imp-dot.low{background:#52c41af2}.imp-dot.on{opacity:1}.mobile-preview{display:flex;gap:6px;align-items:center;min-width:0}.mobile-chip{flex:1;min-width:0;padding:4px 6px;border-radius:10px;font-size:11px;font-weight:900;letter-spacing:.02em;background:#1e222c;border:1px solid rgba(255,255,255,.06);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-chip.high{border-left:3px solid #ff4d4f}.mobile-chip.medium{border-left:3px solid #faad14}.mobile-chip.low{border-left:3px solid #52c41a}.mobile-more{flex:0 0 auto;padding:4px 6px;border-radius:10px;font-size:11px;font-weight:900;background:#4da6ff29;border:1px solid rgba(77,166,255,.32);color:#dbeafe}.calendar-modal-overlay{position:fixed;inset:0;background:#000000b8;z-index:99999;display:flex;justify-content:center;align-items:center;padding:10px;overscroll-behavior:contain}@supports (backdrop-filter: blur(8px)){.calendar-modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}}.calendar-modal{background:linear-gradient(180deg,#111319,#151922);border:1px solid #2c2f38;width:min(1100px,96vw);max-height:90vh;max-height:90dvh;border-radius:20px;padding:16px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 18px 60px #0000008c}@supports (height: 100svh){.calendar-modal{max-height:90svh}}.calendar-modal-body{flex:1;overflow-y:auto;padding-right:6px;min-height:0;-webkit-overflow-scrolling:touch}.calendar-modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.08)}.calendar-modal-header h3{margin:0;font-size:16px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-modal-close{width:36px;height:36px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;color:#ffffffeb;cursor:pointer;display:grid;place-items:center;font-size:22px;line-height:1;flex:0 0 auto}@media(hover:hover)and (pointer:fine){.calendar-modal-close:hover{background:#4da6ff2e;border-color:#4da6ff59}}.calendar-sort-buttons{display:flex;gap:8px;padding:12px 0 10px}.calendar-sort-buttons button{padding:8px 10px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;color:#ffffffd9;cursor:pointer;font-weight:800}.calendar-sort-buttons button.active{background:#4da6ff38;border-color:#4da6ff66;color:#fff}.calendar-modal-event{background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:12px;margin-bottom:10px}.calendar-modal-event.high{border-left:4px solid #ff4d4f}.calendar-modal-event.medium{border-left:4px solid #faad14}.calendar-modal-event.low{border-left:4px solid #52c41a}.modal-event-title{font-weight:900;margin-bottom:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.modal-event-info{display:flex;flex-wrap:wrap;gap:10px;font-size:13px;color:#ffffffc7;margin-top:6px}.calendar-strategy-cta{padding-top:10px}.calendar-strategy-cta button{width:100%;padding:12px 14px;border-radius:16px;border:1px solid rgba(77,166,255,.35);background:#4da6ff33;color:#fff;font-weight:900;cursor:pointer}@media(hover:hover)and (pointer:fine){.calendar-strategy-cta button:hover{background:#4da6ff47}}@media(max-width:640px){.calendar-week-name{font-size:10px;margin-bottom:8px;letter-spacing:.04em}.calendar-grid{gap:6px}.calendar-day{min-height:72px;padding:8px;border-radius:14px}.calendar-day.is-today{outline-offset:1px}.event-time{display:none}.day-count{margin-bottom:6px}}@media(prefers-reduced-motion:reduce){.calendar-day,.day-event,.calendar-month-control button,.calendar-modal-close,.calendar-sort-buttons button{transition:none!important}}
