/* ASY OS V134 — Master Calendar · connected life schedule */
.master-calendar-page{
  --mc-blue:#148cff;
  --mc-blue2:#55afff;
  --mc-cyan:#20d4e8;
  --mc-purple:#9a55f5;
  --mc-green:#39d77c;
  --mc-red:#ff4d57;
  --mc-gold:#efb63d;
  --mc-gray:#9aa5b2;
  display:grid;gap:12px
}
.master-calendar-page .card{
  background:linear-gradient(145deg,rgba(12,17,23,.98),rgba(7,10,14,.98));
  border-color:#1f2a35;box-shadow:0 22px 58px rgba(0,0,0,.25)
}
.mc-controls{
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;
  padding:9px 12px;border-color:#223448!important;background:linear-gradient(135deg,#0b121a,#091019)!important
}
.mc-view-switch{display:flex;gap:4px;padding:3px;border:1px solid #22303e;border-radius:12px;background:#080d12}
.mc-view-switch button{
  min-width:70px;padding:8px 12px;border:0;border-radius:9px;background:transparent;color:#9ca9b8;font-size:11px;font-weight:700
}
.mc-view-switch button.active{
  color:#fff;background:linear-gradient(180deg,#157ee8,#1063bd);box-shadow:0 5px 18px rgba(20,140,255,.25)
}
.mc-filters{display:flex;align-items:center;gap:5px;overflow:auto;scrollbar-width:none}
.mc-filters::-webkit-scrollbar{display:none}
.mc-filters button{
  display:inline-flex;align-items:center;gap:6px;white-space:nowrap;border:1px solid #24313e;background:#0a1016;color:#a4afbc;
  padding:7px 10px;border-radius:10px;font-size:10px
}
.mc-filters button:hover{border-color:#35485b;color:#e4ebf4}
.mc-filters button.active{color:#dceeff;border-color:#2579c9;background:#0c2135;box-shadow:inset 0 0 20px rgba(20,140,255,.08)}
.mc-filters button i{width:7px;height:7px;border-radius:50%;background:#6e7a86;box-shadow:0 0 9px rgba(255,255,255,.08)}
.mc-filters .filter-cfa i{background:var(--mc-blue)}
.mc-filters .filter-university i{background:var(--mc-purple)}
.mc-filters .filter-focus i{background:var(--mc-cyan)}
.mc-filters .filter-health i{background:var(--mc-green)}
.mc-filters .filter-personal i{background:#8f9aa7}
.mc-filters .filter-deadlines i{background:var(--mc-red)}
.mc-add-event{white-space:nowrap;padding:8px 13px!important;background:linear-gradient(180deg,#2f79b9,#265e91)!important;color:#edf6ff!important}

.mc-layout{display:grid;grid-template-columns:minmax(0,1fr) 306px;gap:12px;align-items:start}
.mc-calendar-card{padding:13px 14px;min-width:0}
.mc-calendar-head{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin-bottom:10px}
.mc-calendar-head h2{margin:0;text-align:center;font-size:17px;letter-spacing:-.02em}
.mc-nav{display:flex;gap:7px}
.mc-nav button{
  width:31px;height:31px;border:1px solid #27333e;border-radius:10px;background:#0a0f14;color:#c0cad5
}
.mc-nav button:hover{background:#101922;border-color:#39536b}
.mc-head-add{justify-self:end;background:linear-gradient(180deg,#2f79b9,#265e91)!important;color:#fff!important}

.mc-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin-bottom:5px}
.mc-weekdays div{text-align:center;color:#737e8b;font-size:9px;font-weight:700;letter-spacing:.05em;padding:2px 0}
.mc-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.mc-day{
  min-width:0;aspect-ratio:1.15/1;min-height:104px;padding:7px;border:1px solid #1e2831;border-radius:12px;
  background:linear-gradient(155deg,#0b0f14,#090d11);color:inherit;text-align:left;display:flex;flex-direction:column;gap:6px;
  transition:border-color .16s,background .16s,box-shadow .16s,transform .16s
}
.mc-day:hover{border-color:#31485f;background:#0d141b;transform:translateY(-1px)}
.mc-day.out{opacity:.38}
.mc-day.today{border-color:#2479bd;box-shadow:inset 0 0 0 1px rgba(56,150,237,.08)}
.mc-day.selected{border-color:#178fff;box-shadow:0 0 0 1px #178fff,0 0 24px rgba(20,140,255,.13);background:linear-gradient(160deg,#0b1621,#091019)}
.mc-day-head{display:flex;align-items:center;justify-content:space-between;gap:7px}
.mc-day-head span{font-size:10px;color:#c7ced7;font-variant-numeric:tabular-nums}
.mc-day.out .mc-day-head span{color:#606b77}
.mc-day-head i{width:6px;height:6px;border-radius:50%;background:#4ed99a;box-shadow:0 0 10px rgba(78,217,154,.35)}
.mc-day.today .mc-day-head i,.mc-day.selected .mc-day-head i{background:#31a5ff;box-shadow:0 0 12px rgba(49,165,255,.55)}
.mc-day-items{display:grid;gap:4px;min-width:0;margin-top:auto}
.mc-chip{
  min-width:0;display:grid;grid-template-columns:6px minmax(0,1fr) auto;align-items:center;gap:5px;height:19px;
  border:1px solid #202c37;border-radius:6px;padding:0 5px;background:#111821;color:#b7c2ce;overflow:hidden
}
.mc-chip i{width:6px;height:6px;border-radius:50%;background:#7d8997}
.mc-chip b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:8px;font-weight:700}
.mc-chip em{font-size:7.5px;color:#7e91a5;font-style:normal;font-variant-numeric:tabular-nums}
.mc-chip.mc-cfa{background:rgba(20,117,217,.16);border-color:rgba(20,140,255,.18);color:#78bbff}.mc-chip.mc-cfa i{background:var(--mc-blue)}
.mc-chip.mc-university{background:rgba(125,65,197,.16);border-color:rgba(154,85,245,.18);color:#c297ff}.mc-chip.mc-university i{background:var(--mc-purple)}
.mc-chip.mc-focus{background:rgba(16,139,155,.16);border-color:rgba(32,212,232,.18);color:#5ee5f1}.mc-chip.mc-focus i{background:var(--mc-cyan)}
.mc-chip.mc-health{background:rgba(36,133,78,.16);border-color:rgba(57,215,124,.18);color:#67e69b}.mc-chip.mc-health i{background:var(--mc-green)}
.mc-chip.mc-deadline{background:rgba(160,48,55,.17);border-color:rgba(255,77,87,.22);color:#ff7a82}.mc-chip.mc-deadline i{background:var(--mc-red)}
.mc-chip.mc-business{background:rgba(143,102,29,.16);border-color:rgba(239,182,61,.18);color:#efc267}.mc-chip.mc-business i{background:var(--mc-gold)}
.mc-chip.mc-personal{background:rgba(91,104,120,.14);color:#aeb8c4}.mc-chip.mc-personal i{background:#8995a2}
.mc-more{font-size:8px;color:#8090a3;padding-left:4px}

.mc-side{display:grid;gap:10px;position:sticky;top:18px}
.mc-intelligence,.mc-next,.mc-selected{padding:14px}
.mc-side-title{display:flex;align-items:flex-start;gap:10px;margin-bottom:11px}
.mc-side-title h3,.mc-next-head h3{margin:0;font-size:15px;letter-spacing:-.02em}
.mc-side-title p{margin:3px 0 0;color:#6f7d8d;font-size:9px}
.mc-side-icon{
  width:34px;height:34px;border-radius:10px;display:grid;place-items:center;color:#47aaff;
  background:#0d2235;border:1px solid #1f5685;box-shadow:inset 0 0 18px rgba(20,140,255,.08)
}
.mc-intel-kpis{display:grid}
.mc-intel-kpis>div{
  display:grid;grid-template-columns:28px 33px 1fr;align-items:center;gap:7px;padding:7px 3px;border-top:1px solid #1f2a34
}
.mc-intel-kpis>div:first-child{border-top:0}
.mc-intel-kpis .icon{width:25px;height:25px;border-radius:8px;display:grid;place-items:center;font-size:11px;background:#101923}
.mc-intel-kpis .icon.blue{color:#47aaff;background:rgba(31,115,190,.16)}
.mc-intel-kpis .icon.green{color:#52df8f;background:rgba(38,139,79,.16)}
.mc-intel-kpis .icon.red{color:#ff646c;background:rgba(160,45,54,.17)}
.mc-intel-kpis .icon.cyan{color:#4be2ef;background:rgba(20,133,151,.17)}
.mc-intel-kpis .icon.purple{color:#bf8eff;background:rgba(112,61,169,.17)}
.mc-intel-kpis b{font-size:16px;font-variant-numeric:tabular-nums}
.mc-intel-kpis small{font-size:9.5px;color:#8c99a8}
.mc-intel-signals{margin-top:9px;padding-top:8px;border-top:1px solid #24303b}
.mc-intel-signals>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 2px;font-size:10px}
.mc-intel-signals span{color:#5caaf0}.mc-intel-signals em{font-style:normal;color:#8d9aa8;margin-left:7px}
.mc-intel-signals b{text-align:right;font-size:10.5px}.mc-intel-signals b small{display:block;color:#6f7d8d;font-weight:500;margin-top:2px}
.mc-intel-signals .gold{color:var(--mc-gold)}.mc-intel-signals .red{color:var(--mc-red)}.mc-intel-signals .green{color:var(--mc-green)}

.mc-next-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:9px;border-bottom:1px solid #202a34}
.mc-next-head h3{color:#d9e4ef}
.mc-next-head button{border:0;background:transparent;color:#4eabff;font-size:8px}
.mc-next-list{display:grid}
.mc-next-list>button{
  width:100%;display:grid;grid-template-columns:8px minmax(0,1fr) 12px;align-items:center;gap:8px;text-align:left;
  padding:9px 1px;border:0;border-top:1px solid #1d2731;background:transparent;color:inherit
}
.mc-next-list>button:first-child{border-top:0}
.mc-next-list>button>i{width:7px;height:7px;border-radius:50%;background:#84909e;box-shadow:0 0 10px currentColor}
.mc-next-list>button>i.mc-cfa{background:var(--mc-blue)}.mc-next-list>button>i.mc-university{background:var(--mc-purple)}
.mc-next-list>button>i.mc-focus{background:var(--mc-cyan)}.mc-next-list>button>i.mc-health{background:var(--mc-green)}
.mc-next-list>button>i.mc-deadline{background:var(--mc-red)}.mc-next-list>button>i.mc-business{background:var(--mc-gold)}
.mc-next-list span{min-width:0}.mc-next-list small{display:block;color:#4ca8ff;font-size:8px}.mc-next-list b{display:block;margin-top:3px;font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mc-next-list em{font-style:normal;color:#667688;font-size:17px}

.mc-selected{border-color:#204866!important;overflow:hidden}
.mc-selected-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin:-14px -14px 8px;padding:11px 14px;background:linear-gradient(90deg,#0d273b,#0d1a27);border-bottom:1px solid #22506f}
.mc-selected-head span{display:block;color:#70b9f7;font-size:8px;letter-spacing:.13em;font-weight:850}
.mc-selected-head h3{margin:3px 0 0;font-size:12px}
.mc-selected-head>b{font-size:8px;color:#5cb2fb}
.mc-selected-list{display:grid;max-height:285px;overflow:auto}
.mc-selected-row{
  display:grid;grid-template-columns:42px 7px minmax(0,1fr) auto;align-items:start;gap:7px;padding:7px 1px;border-top:1px solid #1e2933
}
.mc-selected-row:first-child{border-top:0}
.mc-selected-time{font-size:8.5px;color:#8b98a6;font-variant-numeric:tabular-nums;padding-top:2px}
.mc-selected-row>i{width:7px;height:7px;border-radius:50%;background:#8995a2;margin-top:3px}
.mc-selected-row.mc-cfa>i{background:var(--mc-blue)}.mc-selected-row.mc-university>i{background:var(--mc-purple)}
.mc-selected-row.mc-focus>i{background:var(--mc-cyan)}.mc-selected-row.mc-health>i{background:var(--mc-green)}
.mc-selected-row.mc-deadline>i{background:var(--mc-red)}.mc-selected-row.mc-business>i{background:var(--mc-gold)}
.mc-selected-row>button{min-width:0;border:0;background:transparent;color:inherit;text-align:left;padding:0}
.mc-selected-row>button b{display:block;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mc-selected-row>button small{display:block;color:#6e7d8f;font-size:8px;line-height:1.35;margin-top:2px}
.mc-selected-actions{display:flex;gap:3px}
.mc-selected-actions button{width:22px;height:22px;border:1px solid #273440;border-radius:7px;background:#0c1218;color:#8090a1;padding:0;font-size:10px}
.mc-selected-actions button:hover{color:#fff;border-color:#39546b}
.mc-selected-empty{padding:14px 4px;color:#667688;font-size:9px;text-align:center}
.mc-add-selected{width:100%;margin-top:8px;border:1px dashed #28557b;border-radius:9px;background:#0b1722;color:#5eb1fa;padding:8px;font-size:9.5px}

/* Week */
.mc-week-view{display:grid;grid-template-columns:repeat(7,minmax(112px,1fr));gap:6px;overflow:auto;padding-bottom:3px;min-height:520px}
.mc-week-column{min-width:112px;border:1px solid #1f2a34;border-radius:12px;background:#090e13;overflow:hidden}
.mc-week-column.today{border-color:#265a83}.mc-week-column.selected{box-shadow:inset 0 0 0 1px #168cff}
.mc-week-date{width:100%;height:57px;border:0;border-bottom:1px solid #1f2a34;background:#0c1218;color:inherit;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;text-align:left;padding:9px}
.mc-week-date span{font-size:8px;color:#718092;text-transform:uppercase;font-weight:800}.mc-week-date b{grid-row:1/3;grid-column:2;font-size:21px;align-self:center}.mc-week-date small{font-size:8px;color:#566576}
.mc-week-stack{display:grid;gap:6px;padding:7px}
.mc-week-event{width:100%;min-height:58px;border:1px solid #26313b;border-left:3px solid #82909e;border-radius:8px;background:#10161d;color:inherit;text-align:left;padding:7px}
.mc-week-event>span{display:block;font-size:8px;color:#7c8a9a}.mc-week-event>b{display:block;font-size:9.5px;margin:4px 0;line-height:1.25}.mc-week-event>small{display:block;color:#677688;font-size:8px}
.mc-week-event.mc-cfa{border-left-color:var(--mc-blue)}.mc-week-event.mc-university{border-left-color:var(--mc-purple)}
.mc-week-event.mc-focus{border-left-color:var(--mc-cyan)}.mc-week-event.mc-health{border-left-color:var(--mc-green)}
.mc-week-event.mc-deadline{border-left-color:var(--mc-red)}.mc-week-event.mc-business{border-left-color:var(--mc-gold)}
.mc-week-open{padding:20px 2px;text-align:center;color:#526172;font-size:8.5px}

/* Agenda */
.mc-agenda{display:grid;gap:7px;max-height:650px;overflow:auto;padding-right:2px}
.mc-agenda-day{display:grid;grid-template-columns:62px minmax(0,1fr);gap:8px;border:1px solid #1f2a34;border-radius:12px;background:#090e13;padding:8px}
.mc-agenda-day.today{border-color:#285c85}
.mc-agenda-date{border:0;border-radius:9px;background:#0d151d;color:inherit;display:grid;place-items:center;align-content:center;padding:7px}
.mc-agenda-date span{font-size:8px;color:#5c9fdd;text-transform:uppercase;font-weight:800}.mc-agenda-date b{font-size:22px;line-height:1.1}.mc-agenda-date small{font-size:8px;color:#6c7988}
.mc-agenda-items{display:grid}
.mc-agenda-item{display:grid;grid-template-columns:7px 48px minmax(0,1fr);align-items:center;gap:8px;width:100%;border:0;border-top:1px solid #1d2730;background:transparent;color:inherit;text-align:left;padding:8px 3px}
.mc-agenda-item:first-child{border-top:0}.mc-agenda-item>i{width:7px;height:7px;border-radius:50%;background:#7f8b98}
.mc-agenda-item.mc-cfa>i{background:var(--mc-blue)}.mc-agenda-item.mc-university>i{background:var(--mc-purple)}
.mc-agenda-item.mc-focus>i{background:var(--mc-cyan)}.mc-agenda-item.mc-health>i{background:var(--mc-green)}
.mc-agenda-item.mc-deadline>i{background:var(--mc-red)}.mc-agenda-item.mc-business>i{background:var(--mc-gold)}
.mc-agenda-time{font-size:8px;color:#7a8999}.mc-agenda-copy b{display:block;font-size:10px}.mc-agenda-copy small{display:block;color:#647486;font-size:8px;margin-top:2px}

/* Calendar topbar tuning */
body:has(.master-calendar-page) .topbar{margin-bottom:16px}
body:has(.master-calendar-page) #pageTitle{font-size:30px}
body:has(.master-calendar-page) .page-context{font-size:11px}

/* Responsive */
@media(max-width:1250px){
  .mc-layout{grid-template-columns:minmax(0,1fr) 270px}
  .mc-controls{grid-template-columns:auto minmax(0,1fr)}
  .mc-add-event{display:none}
  .mc-day{min-height:96px}
}
@media(max-width:1020px){
  .mc-layout{grid-template-columns:1fr}
  .mc-side{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}
  .mc-selected{grid-column:1/-1}
  .mc-day{min-height:100px}
}
@media(max-width:760px){
  .mc-controls{grid-template-columns:1fr;gap:8px}
  .mc-view-switch{width:100%}.mc-view-switch button{flex:1}
  .mc-filters{width:100%;padding-bottom:2px}
  .mc-calendar-card{padding:10px}
  .mc-calendar-head{grid-template-columns:auto 1fr auto}.mc-calendar-head h2{font-size:14px}
  .mc-month-grid,.mc-weekdays{min-width:720px}
  .mc-calendar-card{overflow:auto}
  .mc-day{min-height:98px}
  .mc-side{grid-template-columns:1fr}
  .mc-selected{grid-column:auto}
  .mc-week-view{min-width:780px}
  .mc-agenda{min-width:560px}
}
@media(max-width:520px){
  .mc-calendar-head .mc-head-add{display:none}
  .mc-calendar-head{grid-template-columns:auto 1fr}.mc-calendar-head h2{text-align:right}
  .mc-intel-kpis>div{grid-template-columns:26px 30px 1fr}
  .mc-selected-row{grid-template-columns:38px 7px minmax(0,1fr)}
  .mc-selected-actions{grid-column:3;justify-content:flex-start;margin-top:3px}
}
