:root{color-scheme:dark;--bg:#080a0d;--panel:#11151b;--line:#2b323d;--text:#edf1f7;--muted:#a5b0c1;--accent:#8eb8f2;font-family:Arial,'Microsoft JhengHei',sans-serif;font-size:16px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button,select{font:inherit;color:inherit}button,a,select,input{touch-action:manipulation}button{cursor:pointer;border:1px solid var(--line);background:#11151b;border-radius:4px;padding:7px 10px}button:hover{background:#1e2835;border-color:#5b7290}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:disabled{opacity:.35;cursor:default}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}[hidden]{display:none!important}header{height:60px;background:#11151b;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 32px;gap:50px}.brand{font-size:23px;font-weight:700;letter-spacing:1px;color:#e0e9f7;display:flex;align-items:center;gap:17px}.brand span{font-size:15px;font-weight:500;letter-spacing:1.4px;border-left:1px solid var(--line);padding-left:17px}nav{display:flex;gap:22px;height:100%}nav button{border:0;border-radius:0;background:none;color:var(--muted);font-size:15px;padding:0 3px}nav .active{border-bottom:2px solid var(--accent);color:var(--text)}.timezone{margin-left:auto;font-size:13px;letter-spacing:1px;color:var(--muted)}.timezone b{font-weight:400;margin-left:10px}main{max-width:1660px;padding:0 32px 20px;margin:auto}.spotlight{display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--line);min-height:51px;margin-bottom:24px;font-size:15px}.next-label{font-size:13px;letter-spacing:1px;color:var(--muted)}.spotlight button{border:0;background:none;padding:4px 0;font-weight:600}.next-gap{color:var(--muted);margin-left:auto;font-size:14px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 302px;gap:24px}.calendar-area{min-width:0}.toolbar,.month-control{display:flex;align-items:center;gap:7px}.toolbar{justify-content:space-between;margin-bottom:18px}.month-control h2{font:500 24px Consolas,monospace;margin:0 18px 0 0}.month-control button{padding:3px 10px;font-size:22px}.month-control .today{font-size:14px;padding:7px 11px}.view-switch{display:flex}.view-switch button{font-size:14px;border-radius:0;padding:7px 14px}.view-switch button:first-child{border-radius:4px 0 0 4px}.view-switch button:last-child{border-radius:0 4px 4px 0;border-left:0}.view-switch .active{background:#26354b;color:#c4dafa}.filters{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:15px}.filter-groups{display:grid;gap:7px}.filter-row{display:flex;align-items:flex-start;gap:9px}.filter-row>span{font:12px Consolas,monospace;letter-spacing:.6px;color:var(--muted);min-width:55px;padding-top:6px}#macro-filters,#type-filters{display:flex;flex-wrap:wrap;gap:4px}.filter{font:13px Consolas,'Microsoft JhengHei',sans-serif;padding:5px 7px;background:transparent;color:#a1adbf;border-color:transparent}.filter.on{background:#11151b;color:#dce5f3;border-color:#394657}.filter i{display:none}.settlement-toggle{white-space:nowrap;font-size:13px;color:var(--muted);padding-top:4px;display:flex;align-items:center;gap:4px}input{accent-color:var(--accent)}#contract-strip{display:flex;align-items:center;gap:12px;padding:12px 0 16px;border-top:1px solid var(--line)}#contract-strip>span{white-space:nowrap;font-size:13px;color:var(--muted)}#contract-strip>div{display:flex;overflow:auto;gap:5px;padding:2px;min-width:0}.contract-chip{padding:6px 8px;white-space:nowrap;text-align:left}.contract-chip b{font:14px Consolas,monospace}.contract-chip small{display:block;color:var(--muted);font-size:12px;margin-top:3px}.contract-chip.expired{opacity:.6}.contract-chip.active{border-color:var(--accent);background:#eaf0f7;opacity:1}.weekdays,.days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.weekdays{background:#141a23;border:1px solid var(--line);border-radius:4px 4px 0 0;text-align:center;color:var(--muted);font-size:13px}.weekdays div{padding:9px}.days{border-left:1px solid var(--line)}.day{min-height:116px;padding:7px 5px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#11151b}.day.weekend{background:#0c1016}.day.outside{background:#090c11;color:#596575}.day.selected{background:#18263a;box-shadow:inset 0 0 0 1px #6b8cb8}.day-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.date-number{font:14px Consolas,monospace;width:22px;height:22px;display:grid;place-items:center}.day.today .date-number{background:#8eb8f2;color:#11151b;border-radius:3px}.holiday{font-size:12px;color:#9da9bb}.expiry{display:block;font:13px Consolas,monospace;color:#b0c2d9;background:transparent;border:0;padding:3px 2px;margin-bottom:3px;text-align:left;width:100%}.expiry:hover{background:#23344c}.expiry.matched{color:#d1e3ff;font-weight:700;background:#24364f}.event{display:block;width:100%;text-align:left;border:0;border-left:2px solid #6584ae;background:#1b2533;border-radius:2px;padding:5px;margin-top:4px;line-height:1.5;color:#d3e1f4}.event:hover{background:#283b54}.event span{font:13px Consolas,monospace;color:#a8bad1}.event b{font-size:14px;font-weight:500;display:block;overflow-wrap:anywhere}.calendar-foot{display:flex;justify-content:space-between;font-size:13px;color:var(--muted);margin-top:11px}.mini-dot,.legend-square{display:inline-block;width:6px;height:6px;background:#8eb8f2;border-radius:1px}.coverage{display:flex;align-items:center;gap:10px;padding:19px 0 5px}.coverage b{font-size:13px;font-weight:400;color:var(--muted)}.coverage p{font-size:13px;color:#9da9bb;margin:5px 0}.coverage button{font-size:13px;border:0;background:none;white-space:nowrap;margin-left:auto}aside{border:1px solid var(--line);border-radius:4px;background:#11151b;padding:20px;align-self:start}.aside-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:19px}.aside-head h2{font-size:16px;font-weight:600;margin:0}.aside-head>span{font:13px Consolas,monospace;color:var(--muted)}.mode-label{font-size:13px;color:var(--muted);display:block;margin-bottom:7px}select{width:100%;padding:8px;background:#171e28;border:1px solid var(--line);border-radius:3px;font-size:14px}#detail{margin-top:21px}.tag{font:13px Consolas,'Microsoft JhengHei',sans-serif;color:#b5c5da}#detail h3{font-size:23px;font-weight:500;letter-spacing:-.4px;margin:10px 0 7px}.mono{font-family:Consolas,monospace}#detail .period{font-size:14px;color:var(--muted);line-height:1.8;margin-bottom:18px}.detail-time{font:23px Consolas,monospace;margin-bottom:6px}.detail-sub{font-size:13px;color:var(--muted);line-height:1.8}.divider{height:1px;background:var(--line);margin:20px 0}.contract-card{padding:14px;background:#172332;border:1px solid #354a66;border-radius:3px}.caption{font-size:13px;color:var(--muted)}.contract-code{font:23px Consolas,monospace;color:var(--accent);display:flex;width:100%;justify-content:space-between;align-items:center;background:transparent;border:0;padding:10px 0 7px;text-align:left}.contract-code span{font-size:18px}.contract-card p{font-size:14px;color:#b5c5da;margin:0;line-height:1.9}.gap{border-top:1px solid var(--line);margin-top:11px;padding-top:10px;font-size:14px}.status{font-size:12px;color:var(--muted);margin-top:6px}.detail-note{font-size:14px;line-height:1.9;color:var(--muted);margin:16px 0}.source-link{font-size:13px}.export{width:100%;background:#8eb8f2;color:#11151b;border:0;margin-top:18px;padding:10px;font-size:14px}.export:hover{background:#afcef8}.aside-note{border-top:1px solid var(--line);display:flex;gap:6px;padding-top:14px;margin-top:20px;color:#9eacbe;font-size:13px;line-height:1.8}.aside-note p{margin:0}h4{font-size:15px;font-weight:600;margin:0 0 10px}.contract-event{display:block;width:100%;border:0;border-bottom:1px solid var(--line);border-radius:0;text-align:left;padding:13px 0;background:none}.contract-event span,.contract-event small{display:block;font-size:13px;color:var(--muted);line-height:1.7}.contract-event b{display:block;font-size:16px;font-weight:500;margin:4px 0}.outside-event{padding:12px;background:#171e28;border-radius:3px}.list-item{display:grid;grid-template-columns:1fr 125px;border-bottom:1px solid var(--line);background:#11151b;align-items:center;padding:0 10px}.list-item.selected{background:#1d2c41}.list-event{border:0;background:none;display:grid;grid-template-columns:85px 1fr;gap:12px;align-items:center;text-align:left;padding:15px 0}.list-date{font:16px Consolas,monospace;line-height:1.8}.list-item b{font-size:15px;font-weight:500}.list-item small{font-size:13px;color:var(--muted);line-height:1.8}.list-contract{border:0;background:none;color:var(--accent);font:15px Consolas,monospace;text-align:right}.empty{padding:36px 15px;color:var(--muted);text-align:center;font-size:15px;line-height:2}.pending-section{border-top:1px solid var(--line);margin-top:18px;padding-top:16px}.pending-section summary{cursor:pointer;font-size:14px;font-weight:500}.pending-section summary>span{font-size:13px;color:var(--muted);font-weight:400;margin-left:15px}.pending-heading{display:none}.pending-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:16px}.pending-grid article{border-left:2px solid var(--line);padding:2px 16px}.pending-grid h3{font-size:15px;font-weight:500}.pending-grid p{font-size:14px;line-height:1.8;color:var(--muted)}.pending-grid a{font-size:13px}footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:22px;padding-top:16px;color:#9eacbe;font-size:12px;letter-spacing:.6px}dialog{max-width:580px;width:calc(100% - 30px);border:1px solid var(--line);border-radius:6px;background:#11151b;color:var(--text);padding:28px}dialog::backdrop{background:#000b}dialog h2{font-size:22px;font-weight:500}dialog p,dialog li{font-size:15px;line-height:2;color:var(--muted)}dialog a{text-decoration:underline}dialog .close{float:right;font-size:22px;border:0}.eyebrow{font-size:13px;letter-spacing:1px;color:var(--muted)}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);padding:12px 20px;background:#28486e;color:#11151b;border-radius:4px;display:none;z-index:3;font-size:15px}
@media(min-width:1500px){.day{min-height:128px}}@media(max-width:1100px){main{padding:0 20px 20px}.workspace{grid-template-columns:minmax(0,1fr) 274px;gap:16px}.filters{flex-direction:column}.day{min-height:115px}.holiday{display:none}aside{padding:16px}}@media(max-width:850px){header{padding:0 20px;gap:24px}.timezone{display:none}.workspace{grid-template-columns:1fr}.filters{flex-direction:row}.day{min-height:110px}.pending-grid{grid-template-columns:1fr}aside{padding:20px}.brand span{font-size:13px}.spotlight{margin-bottom:20px}}@media(max-width:520px){header{height:56px;padding:0 14px;gap:14px}.brand{font-size:20px;gap:10px}.brand span{font-size:12px;padding-left:10px;letter-spacing:.5px}nav{gap:12px}nav button{font-size:13px}main{padding:0 12px 18px}.spotlight{gap:9px;font-size:13px}.next-label{font-size:11px}.next-gap{display:none}.month-control h2{font-size:21px;margin-right:5px}.month-control button{padding:2px 7px}.month-control .today{padding:6px}.view-switch button{padding:6px 10px}.filters{flex-direction:column}.filter-row>span{min-width:48px;font-size:11px}.filter{padding:5px;font-size:12px}#contract-strip{gap:7px}.contract-chip b{font-size:13px}.day{min-height:108px;padding:5px 2px}.event{padding:4px 2px}.event b{font-size:12px}.event span,.expiry{font-size:11px}.date-number{font-size:13px}.calendar-foot{font-size:12px}.coverage p{font-size:12px}.coverage button{padding:4px}.list-event{grid-template-columns:60px 1fr;gap:6px}.list-item{grid-template-columns:1fr 100px}.list-item b{font-size:14px}.list-contract{font-size:13px}.pending-section summary>span{font-size:12px;margin-left:6px}footer{font-size:11px;gap:12px}}

/* Larger type with a restrained black trading-desk palette. */
:root{font-size:16px}.brand{color:#edf1f7}.export,.day.today .date-number{color:#0a1729}.export:hover{color:#0a1729}.workspace{grid-template-columns:minmax(0,1fr) 340px}.day{min-height:132px}.event{line-height:1.65}.contract-chip.expired{opacity:.75}.filter-row>span{min-width:74px}.contract-chip{padding:8px 10px}.detail-note{line-height:1.9}.day.outside{color:#758297}.list-item{grid-template-columns:1fr 145px}.next-gap{white-space:nowrap}.calendar-foot{gap:10px}.coverage{align-items:flex-start}dialog{max-width:660px}.filter{line-height:1.5}
@media(max-width:1100px){.workspace{grid-template-columns:minmax(0,1fr) 310px;gap:16px}}@media(max-width:950px){.workspace{grid-template-columns:1fr}.day{min-height:125px}.filters{flex-direction:column}}@media(max-width:520px){header{height:auto;min-height:64px;flex-wrap:wrap;gap:10px;padding-top:10px;padding-bottom:10px}.brand span{font-size:12px}nav{height:30px}.spotlight{flex-wrap:wrap;gap:7px;padding:10px 0}.month-control h2{font-size:21px}.filter-row>span{min-width:65px}.day{min-height:122px}.event b{font-size:12px}.event span{font-size:11px}.expiry{font-size:11px;overflow-wrap:anywhere}.calendar-foot{flex-wrap:wrap}.list-item{grid-template-columns:1fr 114px}.list-event{grid-template-columns:62px 1fr}.coverage{flex-wrap:wrap}.pending-section summary>span{display:block;margin:8px 0}.contract-chip b{font-size:13px}.brand{font-size:22px}footer{flex-wrap:wrap}}

/* Unified workspace: shared controls, readable event rows, restrained color. */
:root{--bg:#090c10;--panel:#10151c;--line:#252e3a;--text:#e8edf4;--muted:#96a5b8;--accent:#93b9ef;--macro:#d9b77d;--company:#83c7ba}
body{background:var(--bg)}header{background:#0d1117;height:64px;border-color:#232b35;padding:0 28px;gap:40px}.brand{font-size:23px}.brand span{color:#aab7c9;font-size:13px;letter-spacing:1.7px}nav .active{color:#e7eef8;border-color:#8caee0}main{padding:0 28px 22px;max-width:1680px}.spotlight{margin:0 0 20px;min-height:49px;gap:14px;border-color:#202833}.next-label{font-size:11px;color:#8a9bb1;letter-spacing:1.2px}.spotlight button{color:#d8e4f3;font-weight:500}.next-gap{font:13px Consolas,monospace;color:#9caec4}
.calendar-controls{border:1px solid var(--line);background:#10151b;border-radius:8px;padding:18px 20px 0;margin-bottom:20px}.toolbar{margin-bottom:18px;gap:14px}.toolbar-actions{display:flex;gap:18px;align-items:center}.contract-control{display:flex;align-items:center;gap:10px}.contract-control .mode-label{margin:0;white-space:nowrap;font-size:13px}.contract-control select{width:185px;font-size:14px;background:#151c25;border-color:#334050;padding:8px}.month-control h2{font-size:25px;margin-right:18px;letter-spacing:-.6px}.month-control button{height:34px;min-width:34px;background:#161d27}.month-control .today{font-size:14px}.view-switch{padding:3px;gap:3px;background:#090d12;border:1px solid #293442;border-radius:6px}.view-switch button,.view-switch button:first-child,.view-switch button:last-child{border:0;border-radius:4px;padding:6px 13px;background:transparent;color:#9aa9be}.view-switch .active{background:#25364d;color:#e1ecfc}.filters{align-items:center;margin-bottom:14px;gap:18px}.filter-groups{gap:8px}.filter-row>span{min-width:72px;font:11px Consolas,monospace;color:#8b9aaf;padding-top:8px}.filter-row{gap:10px}#macro-filters,#type-filters{gap:5px}.filter{padding:5px 9px;font-size:13px;line-height:1.4;border-radius:4px}.filter.on{color:#bfccdc;background:#161e28;border-color:#2d3949}.filter:not(.on){color:#7c8796;background:#0c1118;border:1px dashed #303947}.filter i{display:inline-block;width:4px;height:4px;border-radius:50%;margin:0 7px 2px 0;background:var(--company)}#macro-filters .filter i{background:var(--macro)}.settlement-toggle{font-size:13px;color:#acb9ca;padding:0}
#contract-strip{padding:14px 0;gap:14px;border-color:#26303c;align-items:flex-start}#contract-strip>span{min-width:68px;padding-top:10px;font-size:13px;color:#9aabc0}#contract-strip>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(108px,1fr));width:100%;overflow:visible;padding:0;gap:6px}.contract-chip{padding:8px 10px;border-radius:5px;background:#111923;border-color:#2a3544;min-height:53px}.contract-chip b{font:14px Consolas,monospace;color:#ccdaec}.contract-chip small{font-size:12px;color:#90a0b5;margin-top:4px}.contract-chip.expired{opacity:1;background:#0e131a;border-color:#222b37}.contract-chip.expired b,.contract-chip.expired small{color:#7e8b9d}.contract-chip.active{background:#203550;border-color:#7d9fc9;box-shadow:inset 0 0 0 1px #7d9fc922}.contract-chip.active b{color:#eef5ff}.contract-chip.active small{color:#b8cde7}
.workspace{grid-template-columns:minmax(0,1fr) 330px;gap:20px;align-items:start}.calendar-area{min-width:0}.weekdays{border-color:var(--line);background:#131a23;border-radius:7px 7px 0 0;font-size:13px;color:#a1b0c3}.weekdays div{padding:11px}.day{min-height:107px;padding:8px 6px;background:#10151c;border-color:var(--line)}.day.weekend{background:#0d1219}.day.outside{background:#0a0e14;color:#647286}.day.selected{background:#152133;box-shadow:inset 0 0 0 1px #6383ac}.day-top{margin-bottom:8px}.date-number{font-size:14px;width:25px;height:25px}.day.today .date-number{background:#a3c0e7;color:#102039;border-radius:5px}.holiday{font-size:11px;color:#8e9bad}.expiry{font-size:12px;line-height:1.7;border-radius:3px;color:#94aac5;padding:1px 5px;margin:0 0 5px;background:#17212e;width:max-content;max-width:100%}.expiry.matched{background:#2b4261;color:#e6f0ff}.event{display:flex;gap:7px;align-items:baseline;border-radius:4px;border-left-width:2px;padding:6px;margin-top:5px;line-height:1.5;min-width:0}.event span{font-size:12px;flex-shrink:0;color:inherit;opacity:.8}.event b{font-size:14px;font-weight:500;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;min-width:0}.event.macro-event{color:var(--macro);background:#28251e;border-left-color:#bfa16b}.event.company-event{color:var(--company);background:#182925;border-left-color:#669f95}.event.macro-event:hover{background:#383125}.event.company-event:hover{background:#213b34}.calendar-foot{font-size:12px;margin-top:12px;color:#94a2b5}.mini-dot{background:#7797c1;border-radius:50%;width:7px;height:7px}.legend-square{background:#a3c0e7}.coverage{padding:17px 0 0;gap:14px}.coverage b,.coverage p,.coverage button{font-size:12px}.coverage p{line-height:1.8;margin-top:4px}.coverage button{color:#afc4df}.coverage p{color:#8c9baf}
aside{background:#11171f;border:1px solid #303b4a;padding:20px;border-radius:8px;position:sticky;top:18px;max-height:calc(100dvh - 36px);overflow:auto;scrollbar-width:thin;scrollbar-color:#3b4c62 transparent}.aside-head{padding-bottom:15px;border-bottom:1px solid var(--line);margin-bottom:0}.aside-head h2{font-size:15px}.aside-head>span{font-size:11px;color:#8295ad;letter-spacing:1px}#detail{margin-top:19px}#detail h3{font-size:23px;line-height:1.4;letter-spacing:0}#detail .period{font-size:14px;line-height:1.7;margin-bottom:16px}.detail-time{font-size:24px}.detail-sub{font-size:13px;line-height:1.8}.tag{font-size:12px;color:#a0b8d5}.divider{margin:18px 0}.contract-card{background:#182537;border-color:#354a65;padding:15px;border-radius:6px}.contract-card p{font-size:14px;line-height:1.8}.contract-code{font-size:24px}.detail-note{font-size:14px;line-height:1.85}.status{color:#a4b2c4;font-size:12px}.aside-note{font-size:12px;line-height:1.8;color:#8799b0;margin-top:18px}.contract-event{padding:12px 0}.contract-event b{font-size:16px;color:#d9e6f7}.contract-event span,.contract-event small{font-size:13px}.outside-event{background:#18202b;border:1px solid #2f3b4b;border-radius:5px}.export{background:#8fafd8;border-radius:5px;color:#101e31}.export:hover{background:#b1cbed}.source-link{font-size:13px}.list-item{padding:2px 16px;background:#111821;grid-template-columns:minmax(0,1fr) 145px;border-color:#293340;border-left:2px solid transparent;gap:10px}.list-item:first-child{border-top:1px solid #293340;border-radius:6px 6px 0 0}.list-item.macro-event{border-left-color:#bfa16b}.list-item.company-event{border-left-color:#669f95}.list-item.macro-event b{color:var(--macro)}.list-item.company-event b{color:var(--company)}.list-item.selected{background:#1b2a3d}.list-event{grid-template-columns:86px minmax(0,1fr);gap:16px;padding:15px 0}.list-item b{font-size:16px}.list-item small{font-size:13px}.list-contract{font-size:15px;color:#b5cef0}.list-date{font-size:16px}.pending-section{border-color:#26303c;margin-top:22px;padding-top:18px}.pending-section summary{color:#b0bed0}.pending-section summary>span{color:#8595aa;font-size:12px}footer{border-color:#232c38;margin-top:22px;font-size:11px;color:#7e90a7}#toast{color:#edf5ff;background:#28466b}
#mobile-detail{padding:0;background:#11171f;width:min(560px,calc(100% - 24px));max-width:560px;max-height:88dvh;border:1px solid #40516a;border-radius:10px;overflow:auto}#mobile-detail::backdrop{background:#000b;backdrop-filter:blur(3px)}#mobile-detail aside{position:static;border:0;border-radius:0;max-height:none;overflow:visible;padding:22px}#close-detail{display:block;margin:12px 16px 0 auto;background:#1d293a;border-color:#3d4b60;color:#d4e3f6;font-size:14px;padding:8px 14px}
@media(min-width:1400px){.workspace{grid-template-columns:minmax(0,1fr) 350px}.day{min-height:115px}}
@media(max-width:1200px){.event{display:block;padding:5px}.event b{font-size:14px}.event span{font-size:12px}.workspace{grid-template-columns:minmax(0,1fr) 310px}.toolbar-actions{gap:10px}}
@media(max-width:1050px){.workspace{grid-template-columns:1fr}.event{display:flex;padding:6px}.calendar-controls{padding:16px 16px 0}.toolbar{flex-wrap:wrap}.toolbar-actions{margin-left:auto}.filters{flex-direction:column;align-items:flex-start}.day{min-height:103px}.timezone{display:none}main{padding:0 20px 20px}.coverage p{max-width:590px}.pending-grid{grid-template-columns:1fr}.pending-section summary>span{display:inline}}
@media(max-width:650px){header{padding:12px 16px;height:auto;min-height:60px;gap:16px;flex-wrap:wrap}.brand{font-size:22px}.brand span{font-size:12px;letter-spacing:1px}nav{height:28px;gap:18px}nav button{font-size:13px}.spotlight{font-size:14px;padding:12px 0;gap:9px;margin-bottom:16px;flex-wrap:wrap}.next-label{font-size:11px}.next-gap{display:none}main{padding:0 12px 18px}.calendar-controls{padding:14px 12px 0;margin-bottom:16px}.toolbar{gap:14px;margin-bottom:16px}.month-control h2{font-size:23px;margin-right:12px}.toolbar-actions{width:100%;justify-content:space-between;gap:8px}.contract-control{gap:7px}.contract-control .mode-label{display:none}.contract-control select{width:172px;font-size:14px}.view-switch button{font-size:14px;padding:6px 10px}.filter-row{gap:6px}.filter-row>span{min-width:62px;font-size:10px}.filter{font-size:13px;padding:5px 7px}.filter i{margin-right:5px}.filter-groups{gap:10px}.settlement-toggle{font-size:13px}#contract-strip{display:block;padding:13px 0}#contract-strip>span{display:block;padding:0 0 10px;font-size:13px}#contract-strip>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.contract-chip{padding:8px 6px;min-width:0}.contract-chip b{font-size:13px}.contract-chip small{font-size:12px}.day{min-height:110px;padding:6px 2px}.event{display:block;padding:4px 3px}.event b{font-size:12px;white-space:normal;overflow-wrap:anywhere;line-height:1.5}.event span{font-size:11px}.expiry{font-size:11px;padding:1px 2px;overflow-wrap:anywhere}.date-number{font-size:14px;width:23px;height:23px}.weekdays div{padding:9px 0}.holiday{display:none}.list-item{padding:2px 9px;grid-template-columns:minmax(0,1fr) 100px;gap:8px}.list-event{grid-template-columns:51px minmax(0,1fr);gap:8px}.list-item b{font-size:14px;line-height:1.6}.list-date{font-size:14px}.list-item small{font-size:12px}.list-contract{font-size:13px;padding:6px 0}.calendar-foot{font-size:12px;flex-wrap:wrap}.coverage{flex-wrap:wrap}.coverage button{padding:0}.pending-section summary>span{display:block;margin:8px 0}.pending-section{margin-top:18px}footer{font-size:11px;line-height:1.7;gap:8px;flex-wrap:wrap}#mobile-detail aside{padding:18px}}
/* Let event names wrap instead of hiding meaningful labels. */
.event{flex-wrap:wrap;row-gap:1px}.event b{white-space:normal;text-overflow:clip;overflow:visible;flex:1 0 58px;line-height:1.5}.event span{line-height:1.5}
/* Prominent empty-period status without implying a low-risk contract. */
.no-major-events{margin:18px 0 22px;padding:21px 18px;background:#272419;border:1px solid #8e784b;border-left:4px solid #d6b879;border-radius:7px}.empty-status-label{display:block;color:#c3b593;font-size:12px;letter-spacing:1px;margin-bottom:9px}.no-major-events strong{display:block;color:#f4d99d;font-size:29px;font-weight:700;letter-spacing:2px;line-height:1.45}.no-major-events p{color:#d1c6ad;font-size:13px;line-height:1.8;margin:11px 0 0}
/* Event cards share the prominent status treatment, with category-specific colors. */
.event-highlight{--event-ink:#a9ceff;--event-border:#557ba8;--event-bg:#18283d;--event-muted:#aec0d9;background:var(--event-bg);border:1px solid var(--event-border);border-left:4px solid var(--event-ink);border-radius:7px;padding:20px 17px;margin:16px 0;color:var(--event-ink)}.event-highlight.company-tone{--event-ink:#9be0cf;--event-border:#477e71;--event-bg:#152c27;--event-muted:#b2cec6}.event-status-label{display:block;font-size:12px;letter-spacing:1px;color:var(--event-muted);margin-bottom:10px}.event-highlight .tag{display:block;color:var(--event-muted);font-size:12px}.event-highlight .detail-sub{color:var(--event-muted)}#detail .event-highlight h3{font-size:27px;font-weight:700;color:var(--event-ink);line-height:1.5;margin:10px 0}#detail .event-highlight .period{color:var(--event-muted);font-size:14px;margin-bottom:18px}.event-highlight .detail-time{font-size:25px;font-weight:600;color:#edf7ff}.company-tone .detail-time{color:#e5fff7}.contract-event.event-highlight{display:block;width:100%;text-align:left;padding:18px 16px;margin:15px 0;border:1px solid var(--event-border);border-left:4px solid var(--event-ink);border-radius:7px;background:var(--event-bg)}.contract-event.event-highlight b{font-size:24px;font-weight:700;line-height:1.5;color:var(--event-ink);margin:9px 0}.contract-event.event-highlight span{font-size:16px;color:#e0edfc}.contract-event.event-highlight .event-status-label{font-size:12px;color:var(--event-muted);margin-bottom:10px}.contract-event.event-highlight small{font-size:13px;color:var(--event-muted)}.contract-event.event-highlight:hover{filter:brightness(1.15);border-color:var(--event-ink)}.outside-event{padding:13px}.outside-event .contract-event.event-highlight{margin-bottom:0}.outside-event>.detail-sub{display:block}.event-highlight .event-status-label{font-weight:500}@media(max-width:520px){#detail .event-highlight h3{font-size:25px}.contract-event.event-highlight b{font-size:23px}.event-highlight .detail-time{font-size:24px}}
/* Match category colors across calendar, filters, lists and detail cards. */
:root{--macro:#a9ceff}#macro-filters .filter i{background:#a9ceff}.event.macro-event{color:#a9ceff;background:#1b293c;border-left-color:#668ebc}.event.macro-event:hover{background:#273a54}.list-item.macro-event{border-left-color:#668ebc}
