:root{--ink:#212433;--muted:#7d8190;--line:#e7e8ed;--hour:92px;--rail:72px}*{box-sizing:border-box}html,body{min-width:320px;min-height:100%;color:var(--ink);background:#f7f8fb;margin:0}body{font-family:Arial,Helvetica,sans-serif}button,input,select{font:inherit}button{cursor:pointer}.product-shell{background:#fff;min-height:100vh}.workspace{flex-direction:column;min-width:0;min-height:100vh;display:flex}.topbar{z-index:20;border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:88px;padding:0 30px;display:flex;position:relative}.range-controls,.top-actions,.arrow-controls{align-items:center;display:flex}.today-button,.arrow-controls,.control-button{border:1px solid var(--line);background:#fff}.today-button{color:#484b59;border-radius:10px;height:34px;padding:0 13px;font-size:12px;font-weight:700}.today-button:hover{background:#f8f8fb}.arrow-controls{border-radius:10px;height:34px;margin-left:8px;overflow:hidden}.arrow-controls button{color:#454958;background:#fff;border:0;place-items:center;width:30px;height:100%;display:grid}.arrow-controls button+button{border-left:1px solid var(--line)}.arrow-controls button:hover{background:#f7f7fb}.range-controls h1{letter-spacing:-.5px;margin:0 0 0 15px;font-size:18px}.range-controls h1 span{color:#999dac;font-weight:500}.top-actions{gap:8px}.top-new-event{color:#fff;background:#29244d;border:0;border-radius:10px;align-items:center;gap:7px;height:35px;padding:0 11px;font-size:12px;font-weight:800;display:flex;box-shadow:0 5px 11px #2b255629}.top-new-event:hover{background:#3a3365;transform:translateY(-1px)}.top-new-event kbd{color:#d7d2f0;background:#ffffff24;border-radius:4px;padding:2px 4px;font-family:Arial,sans-serif;font-size:9px}.control-button{color:#6a6e7e;border-radius:10px;place-items:center;width:35px;height:35px;display:grid}.control-button:hover,.control-button.active{color:#3b3465;background:#f7f6ff;border-color:#dbd8fa}.avatar{border:0;width:32px;height:32px;margin-left:6px}@media (hover:hover) and (pointer:fine){.topbar [data-tooltip]{position:relative}.topbar [data-tooltip]:after{z-index:70;color:#fff;content:attr(data-tooltip);opacity:0;pointer-events:none;white-space:nowrap;background:#29253e;border-radius:7px;padding:7px 9px;font-size:10px;font-weight:700;line-height:1;transition:opacity .15s,transform .15s;position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%,-4px);box-shadow:0 8px 18px #1c1d2d2e}.topbar [data-tooltip]:before{z-index:71;content:"";opacity:0;pointer-events:none;background:#29253e;width:8px;height:8px;transition:opacity .15s,transform .15s;position:absolute;top:calc(100% + 5px);left:50%;transform:translate(-50%,-4px)rotate(45deg)}.topbar [data-tooltip]:hover:after,.topbar [data-tooltip]:focus-visible:after{opacity:1;transform:translate(-50%)}.topbar [data-tooltip]:hover:before,.topbar [data-tooltip]:focus-visible:before{opacity:1;transform:translate(-50%)rotate(45deg)}}.calendar-scroller{background:#fff;flex:1;min-height:0;overflow:auto}.calendar-heading{z-index:8;grid-template-columns:var(--rail) repeat(7, minmax(120px, 1fr));border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff5;min-width:912px;height:74px;display:grid;position:sticky;top:0}.day-heading{border-left:1px solid #f1f1f4;flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex}.day-heading span{color:#9296a5;letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:700}.day-heading b{color:#343745;border-radius:50%;place-items:center;width:27px;height:27px;font-size:14px;display:grid}.day-heading.is-today b{color:#fff;background:#29263e;box-shadow:0 4px 10px #29263e2e}.week-grid{min-width:912px;height:calc(var(--hour) * 10);position:relative}.time-rail{z-index:2;width:var(--rail);background:#fff;position:absolute;top:0;bottom:0;left:0}.time-rail span{color:#a5a8b3;font-size:10px;position:absolute;right:12px;transform:translateY(-7px)}.grid-lines{top:0;bottom:0;right:0;left:var(--rail);background-image:linear-gradient(90deg,#0000 calc(100% - 1px),#ededf1 calc(100% - 1px)),linear-gradient(#ececf0 1px,#0000 1px);background-size:calc(100% / 7) 100%, 100% var(--hour);border-right:1px solid #ededf1;position:absolute}.event-layer{z-index:3;top:0;bottom:0;right:0;left:var(--rail);position:absolute}.event-card{--event:#ad9af4;--event-ink:#514287;--stack-one:#dddae9;--stack-two:#d0cde2;isolation:isolate;backface-visibility:hidden;width:calc(14.2857% - 12px);min-width:104px;color:var(--event-ink);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;transform-origin:50%;will-change:auto;background:0 0;border:0;transition:left .42s cubic-bezier(.16,1,.3,1),top .42s cubic-bezier(.16,1,.3,1),height 60ms linear,transform 80ms linear,filter .18s,opacity .18s;position:absolute;overflow:visible}.event-surface{z-index:3;background:var(--event);border:1px solid #181c2b1a;border-radius:15px;padding:10px;position:absolute;inset:0;overflow:hidden;box-shadow:0 6px 14px #282a421f,inset 0 2px #ffffff6b}.event-card:hover{filter:saturate(1.06)brightness(1.01)}.event-card:hover .event-surface{box-shadow:0 10px 22px #282a422e,inset 0 2px #ffffff80}.event-card.dragging{cursor:grabbing;will-change:transform;transition:none;z-index:250!important}.event-card.dragging:not(.drag-overlay){opacity:0}.event-card.dragging .event-surface{filter:saturate(1.08)brightness(1.025);border-color:#ffffff6b;box-shadow:0 26px 50px #13262d4a,0 7px 16px #13262d26,inset 0 2px #ffffff7a}.event-card.dragging .stack-layer{opacity:0;transform:translateY(8px)}.event-card.resizing{cursor:ns-resize;will-change:height;transition:none;z-index:250!important}.event-card.resizing .event-surface{border-color:#ffffff70;box-shadow:0 15px 30px #1c293433,inset 0 2px #ffffff80}.event-layer.is-dragging .event-card:not(.dragging){filter:blur(1.8px)saturate(.78);opacity:.46;transform:scale(.985)!important}.event-layer.is-dragging .event-card:not(.dragging) .event-surface{box-shadow:0 3px 9px #282a420f}.event-card.selected .event-surface{outline-offset:2px;outline:2px solid #2a235540}.stack-layer{pointer-events:none;border:1px solid #181c2b17;border-radius:14px;position:absolute;left:5px;right:5px;box-shadow:0 7px 10px #191d2c1c}.stack-layer-one{z-index:2;background:var(--stack-one);top:6px;bottom:-8px}.stack-layer-two{z-index:1;background:var(--stack-two);inset:12px 8px -14px;box-shadow:0 9px 13px #191d2c1f}.event-card.cyan{--event:#56c9ef;--event-ink:#135d85;--stack-one:#5ed3a6;--stack-two:#ad9af4}.event-card.lime{--event:#d7f751;--event-ink:#4e6410;--stack-one:#5ed3a6;--stack-two:#ffca55}.event-card.teal{--event:#5ed3a6;--event-ink:#165b4a;--stack-one:#ad9af4;--stack-two:#56c9ef}.event-card.coral{--event:#ff9789;--event-ink:#8a362d;--stack-one:#ffd76a;--stack-two:#ad9af4}.event-card.violet{--event:#ad9af4;--event-ink:#514287;--stack-one:#56c9ef;--stack-two:#ffca55}.event-card.slate{--event:#e8e9ee;--event-ink:#565b6c;--stack-one:#ad9af4;--stack-two:#56c9ef}.event-card .event-meta{color:color-mix(in srgb, var(--event-ink) 70%, transparent);letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:700;display:block;overflow:hidden}.event-card strong{letter-spacing:-.2px;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:13px;line-height:1.15;display:block;overflow:hidden}.event-surface footer{align-items:center;display:flex;position:absolute;bottom:9px;left:10px;right:10px}.event-icons{color:color-mix(in srgb, var(--event-ink) 76%, transparent);align-items:center;gap:8px;display:inline-flex}.event-icons svg{stroke-width:2.2px}.layer-count{color:var(--event-ink);background:#ffffff54;border-radius:7px;align-items:center;gap:4px;margin-left:auto;padding:3px 6px;font-size:9px;font-weight:800;display:inline-flex}.layer-count:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px;box-shadow:3px 2px #ffffff73}.resize-handle{z-index:7;height:17px;color:color-mix(in srgb, var(--event-ink) 65%, white);cursor:ns-resize;opacity:0;justify-content:center;align-items:center;transition:opacity .15s,transform .15s;display:flex;position:absolute;bottom:-8px;left:9px;right:9px}.resize-handle svg{stroke-width:3px;background:#ffffff9e;border-radius:8px;padding:1px 3px;box-shadow:0 2px 5px #2023321f}.event-card:hover .resize-handle,.event-card.resizing .resize-handle{opacity:1;transform:translateY(1px)}.event-card.dragging .resize-handle{opacity:0;pointer-events:none}.resize-preview{z-index:5;color:var(--event-ink);letter-spacing:.01em;pointer-events:none;background:#ffffff8a;border-radius:7px;padding:3px 6px;font-size:9px;font-weight:800;position:absolute;bottom:9px;right:9px}.drag-preview{z-index:4;opacity:0;color:#062f27;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:16px;transition:opacity .11s,transform .16s cubic-bezier(.2,1.3,.4,1);display:flex;position:absolute;inset:0;transform:scale(.86)}.drag-preview svg{color:#fffffff5;filter:drop-shadow(0 2px 2px #00000029);stroke-width:2.8px}.drag-preview b{letter-spacing:-.045em;text-align:center;white-space:nowrap;font-size:clamp(15px,2.15vw,25px);font-weight:800}.event-card.dragging .drag-preview{opacity:1;transform:scale(1)}.event-card.dragging .event-meta,.event-card.dragging .event-surface>strong,.event-card.dragging footer{opacity:0;filter:blur(3px);transition:opacity 80ms,filter 80ms,transform 80ms;transform:scale(.9)}.event-card:not(.dragging) .event-meta,.event-card:not(.dragging) .event-surface>strong,.event-card:not(.dragging) footer{transition:opacity .18s,filter .18s,transform .18s}.drag-overlay-root{z-index:1000;pointer-events:none;contain:strict;position:fixed;inset:0;overflow:hidden}.drag-overlay{pointer-events:none;position:absolute}.product-shell:has(.event-layer.is-dragging) .grid-lines{opacity:.68;transition:opacity .18s}:is(.product-shell:has(.event-layer.is-dragging) .day-heading,.product-shell:has(.event-layer.is-dragging) .time-rail){opacity:.68;filter:blur(.35px);transition:opacity .18s,filter .18s}.event-inspector{z-index:30;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff5;border:1px solid #e2e3e9;border-radius:18px;width:280px;padding:18px;position:fixed;top:105px;right:24px;box-shadow:0 20px 50px #23253724}.close-inspector{color:#6e7280;background:#f4f4f7;border:0;border-radius:8px;place-items:center;width:26px;height:26px;display:grid;position:absolute;top:10px;right:10px}.close-inspector:hover{background:#eaeaef}.inspector-eyebrow{color:#9a9daa;letter-spacing:.1em;margin:0 0 7px;font-size:10px;font-weight:800}.event-inspector h2{letter-spacing:-.8px;max-width:220px;margin:0;font-family:Georgia,serif;font-size:24px}.inspector-time,.inspector-detail{color:#727685;align-items:center;gap:6px;margin:10px 0 0;font-size:12px;display:flex}.inspector-detail{color:#777a89;text-transform:capitalize;margin-top:8px}.inspector-notes{color:#5f6372;white-space:pre-wrap;gap:7px;margin:13px 0 0;font-size:12px;line-height:1.45;display:flex}.inspector-notes svg{color:#898c99;flex:none;margin-top:2px}.stack-summary{background:#f7f7fb;border-radius:12px;margin-top:17px;padding:12px}.stack-summary strong{font-size:12px;display:block}.stack-summary p{color:#818593;margin:3px 0 10px;font-size:11px;line-height:1.35}.stack-summary>div{gap:5px;display:grid}.stack-summary button{color:#444959;text-align:left;background:#fff;border:0;border-radius:8px;align-items:center;gap:8px;width:100%;padding:6px;font-size:11px;display:flex}.stack-summary button:hover{background:#eaeaf2}.stack-summary i{border-radius:50%;width:8px;height:8px}.stack-summary button span{color:#9b9eaa;margin-left:auto;font-size:10px}.inspector-actions{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px;display:grid}.inspector-actions button{color:#373244;background:#f1f0f5;border:0;border-radius:9px;height:32px;font-size:11px;font-weight:800}.inspector-actions button:first-child{color:#fff;background:#29244d}.inspector-actions .delete-event{color:#a3483d;background:#fff0ee}.inspector-actions button:hover{filter:brightness(.96)}.modal-backdrop{z-index:40;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1b1c2942;place-items:center;padding:15px;display:grid;position:fixed;inset:0}.composer{background:#fff;border:1px solid #e4e4ea;border-radius:22px;width:min(440px,100%);box-shadow:0 28px 70px #1d1c3340}.composer form{padding:23px}.composer header{justify-content:space-between;align-items:flex-start;margin-bottom:22px;display:flex}.composer header p{color:#989baa;letter-spacing:.12em;margin:0;font-size:10px;font-weight:800}.composer h2{letter-spacing:-1px;margin:5px 0 0;font-family:Georgia,serif;font-size:27px}.composer header button{color:#777b88;background:#f1f1f5;border:0;border-radius:9px;place-items:center;width:30px;height:30px;display:grid}.composer label{color:#595d6b;flex-direction:column;gap:7px;margin-bottom:15px;font-size:11px;font-weight:800;display:flex}.composer input,.composer select,.composer textarea{color:#333746;background:#fff;border:1px solid #dedfe7;border-radius:9px;outline:none;width:100%;height:40px;padding:0 10px;font-size:13px;font-weight:500}.composer textarea{resize:vertical;height:auto;min-height:78px;padding:10px;line-height:1.4}.composer input:focus,.composer select:focus,.composer textarea:focus{border-color:#8275e8;box-shadow:0 0 0 3px #8275e824}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.composer-hint{color:#8b8e9d;margin:3px 0 18px;font-size:11px;line-height:1.4}.save-event{color:#fff;background:#29244d;border:0;border-radius:10px;justify-content:center;align-items:center;gap:12px;width:100%;height:43px;font-size:13px;font-weight:800;display:flex}.save-event:hover{background:#3a3365}.save-event span{color:#c7c3e4}.toast{z-index:60;color:#fff;opacity:0;pointer-events:none;background:#29253e;border-radius:10px;padding:10px 14px;font-size:12px;transition:opacity .2s,transform .2s;position:fixed;bottom:24px;left:50%;transform:translate(-50%,12px);box-shadow:0 12px 30px #14142338}.toast.show{opacity:1;transform:translate(-50%)}.theme-dark{--ink:#f1f0f7;--muted:#aaaabd;--line:#353646;color:var(--ink);background:#171820}.theme-dark .workspace,.theme-dark .calendar-scroller,.theme-dark .week-grid,.theme-dark .time-rail{background:#171820}.theme-dark .topbar{background:#1b1c27;border-color:#353646}.theme-dark .today-button,.theme-dark .arrow-controls,.theme-dark .control-button{color:#d8d7e3;background:#242532;border-color:#3a3b4d}.theme-dark .today-button:hover,.theme-dark .arrow-controls button:hover{background:#2c2d3c}.theme-dark .arrow-controls button{color:#d8d7e3;background:#242532}.theme-dark .arrow-controls button+button{border-color:#3a3b4d}.theme-dark .range-controls h1{color:#f3f1fb}.theme-dark .range-controls h1 span{color:#9697aa}.theme-dark .control-button:hover,.theme-dark .control-button.active{color:#dcd9ff;background:#302e50;border-color:#7770cb}.theme-dark .avatar{color:#f1effb;background:#2d2d3e}.theme-dark .calendar-heading{background:#171820f5;border-color:#353646}.theme-dark .day-heading{border-color:#292a38}.theme-dark .day-heading span{color:#9b9cad}.theme-dark .day-heading b{color:#e7e5ee}.theme-dark .grid-lines{background-image:linear-gradient(90deg,#0000 calc(100% - 1px),#353646 calc(100% - 1px)),linear-gradient(#353646 1px,#0000 1px);border-color:#353646}.theme-dark .time-rail span{color:#9293a4}.theme-dark .event-inspector{background:#1f202cf7;border-color:#414253;box-shadow:0 20px 50px #00000059}.theme-dark .close-inspector{color:#d9d8e4;background:#343545}.theme-dark .close-inspector:hover{background:#414252}.theme-dark .inspector-eyebrow{color:#a6a6b7}.theme-dark .inspector-time{color:#b1b1c2}.theme-dark .inspector-detail,.theme-dark .inspector-notes{color:#c0bfce}.theme-dark .stack-summary{background:#292a37}.theme-dark .stack-summary p{color:#b0b0c0}.theme-dark .stack-summary button{color:#e0dfe8;background:#343542}.theme-dark .stack-summary button:hover{background:#40414e}.theme-dark .stack-summary button span{color:#aaabba}.theme-dark .inspector-actions button{color:#e5e3ed;background:#343542}.theme-dark .inspector-actions .delete-event{color:#ffd2cd;background:#4a3033}.theme-dark .modal-backdrop{background:#07080d9e}.theme-dark .composer{background:#20212c;border-color:#444555;box-shadow:0 28px 70px #0000006b}.theme-dark .composer header p{color:#a7a8b8}.theme-dark .composer header button{color:#d3d2df;background:#343542}.theme-dark .composer label{color:#cbcad7}.theme-dark .composer input,.theme-dark .composer select,.theme-dark .composer textarea{color:#f0eff6;background:#2a2b37;border-color:#444555}.theme-dark .composer-hint{color:#acacbc}.theme-dark .event-card.selected .event-surface{outline-color:#dedbff66}.theme-dark .resize-handle svg{background:#1e1f2ad1;box-shadow:0 2px 5px #00000040}@media (max-width:760px){.topbar{height:64px;padding:0 12px}.range-controls h1{margin-left:8px;font-size:14px}.top-actions{gap:4px}.top-actions .control-button:not(.theme-toggle),.top-actions .avatar{display:none}.top-new-event{height:34px;padding:0 9px}.top-new-event kbd{display:none}.calendar-heading{height:64px}.event-inspector{width:auto;inset:auto 12px 12px}.event-card{border-radius:12px;padding:8px}.event-card strong{font-size:12px}.event-card .event-meta{font-size:9px}}@media (max-width:450px){.range-controls h1{display:none}.top-new-event{justify-content:center;width:34px;padding:0;font-size:0}.top-new-event svg{width:17px;height:17px}}
