:root{--bg: oklch(11% .015 255);--bg-2: oklch(15% .015 255);--bg-3: oklch(19% .015 255);--bg-hover: oklch(22% .018 255);--border: oklch(26% .02 255);--border-2: oklch(32% .02 255);--text: oklch(96% .005 255);--text-2: oklch(72% .01 255);--text-3: oklch(50% .01 255);--color-video: oklch(62% .22 292);--color-design: oklch(72% .17 72);--color-web: oklch(62% .19 256);--color-producer: oklch(65% .15 163);--color-growth: oklch(60% .19 25);--color-admin: oklch(68% .17 46);--color-personal: oklch(65% .2 348);--color-default: oklch(58% .01 255);--color-overdue: oklch(62% .18 25);--color-today: oklch(72% .17 72);--radius-sm: 4px;--radius: 8px;--radius-lg: 12px;--ease-out: cubic-bezier(.16, 1, .3, 1);--sidebar-w: 300px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;overflow:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,system-ui,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.5}button{font:inherit}p{margin:0}.category-tabs{display:flex;gap:2px;padding:8px 16px;border-bottom:1px solid var(--border);background:var(--bg);overflow-x:auto;scrollbar-width:none;flex-shrink:0}.category-tabs::-webkit-scrollbar{display:none}.tab-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-3);font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;transition:color .15s,background .15s,border-color .15s;letter-spacing:.01em}.tab-btn:hover{color:var(--text-2);background:var(--bg-2)}.tab-btn--active{color:var(--text);background:var(--bg-3);border-color:var(--border-2)}.tab-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;opacity:.8}.tab-btn--active .tab-dot{opacity:1}.task-card{display:flex;align-items:stretch;gap:0;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);cursor:grab;transition:border-color .15s,background .15s,transform 80ms,box-shadow .15s;overflow:hidden;-webkit-user-select:none;user-select:none}.task-card:hover{background:var(--bg-3);border-color:var(--border-2);box-shadow:0 2px 8px #0000004d}.task-card:active{cursor:grabbing;transform:scale(.98)}.task-card__bar{width:3px;flex-shrink:0;border-radius:0}.task-card__body{flex:1;padding:9px 10px;min-width:0}.task-card__title{font-size:13px;font-weight:500;color:var(--text);margin:0 0 4px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-card__meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.task-card__priority{font-size:11px;font-weight:600;padding:1px 5px;border-radius:3px;letter-spacing:.02em}.task-card__priority--high{color:var(--color-growth);background:oklch(from var(--color-growth) l c h / .15)}.task-card__priority--medium{color:var(--color-design);background:oklch(from var(--color-design) l c h / .15)}.task-card__due{font-size:11px;color:var(--text-3)}.task-card__due--overdue{color:var(--color-overdue);font-weight:600}.task-card__tag{font-size:11px;font-weight:500;opacity:.85;margin-left:auto}.task-card__drag-hint{font-size:14px;color:var(--text-3);padding:0 8px;display:flex;align-items:center;opacity:0;transition:opacity .15s}.task-card:hover .task-card__drag-hint{opacity:1}.task-list{width:var(--sidebar-w);flex-shrink:0;border-right:1px solid var(--border);background:var(--bg);display:flex;flex-direction:column;overflow:hidden}.task-list__header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px 8px;flex-shrink:0}.task-list__count{font-size:11px;font-weight:600;color:var(--text-3);text-transform:uppercase;letter-spacing:.06em}.task-list__done{font-size:11px;color:var(--color-producer);font-weight:500}.task-list__items{display:flex;flex-direction:column;gap:4px;padding:4px 10px 12px;overflow-y:auto;flex:1;scrollbar-width:thin;scrollbar-color:var(--border-2) transparent}.task-list__empty{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-3);font-size:13px}.task-list__scheduled-section{border-top:1px solid var(--border);padding:10px;flex-shrink:0;max-height:180px;overflow-y:auto}.task-list__section-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);margin:0 0 6px 4px}.task-scheduled-pill{display:flex;align-items:center;gap:6px;padding:4px 6px;border-radius:var(--radius-sm);font-size:12px;color:var(--text-2)}.pill-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0}.pill-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-list--loading{padding:12px 10px;gap:6px;display:flex;flex-direction:column}.task-skeleton{height:56px;border-radius:var(--radius);background:var(--bg-2);animation:pulse 1.5s ease-in-out infinite alternate}@keyframes pulse{0%{opacity:.5}to{opacity:1}}.task-list--error{padding:20px 14px;display:flex;flex-direction:column;gap:4px}.error-msg{font-size:13px;color:var(--color-growth);margin:0;font-weight:600}.error-detail{font-size:12px;color:var(--text-3);margin:0}.time-block{position:absolute;left:68px;right:8px;border-radius:var(--radius);background:oklch(from var(--block-color) l c h / .18);border:1px solid oklch(from var(--block-color) l c h / .45);border-left:3px solid var(--block-color);display:flex;align-items:flex-start;cursor:grab;transition:background .15s,box-shadow .15s;overflow:hidden;z-index:10}.time-block:hover{background:oklch(from var(--block-color) l c h / .26);box-shadow:0 2px 12px oklch(from var(--block-color) l c h / .2);z-index:20}.time-block:active{cursor:grabbing}.time-block__inner{flex:1;padding:5px 6px;min-width:0}.time-block--compact .time-block__inner{padding:3px 6px;display:flex;align-items:center;gap:6px}.time-block__title{font-size:12px;font-weight:600;color:var(--text);margin:0 0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.time-block--compact .time-block__title{margin:0;font-size:11px}.time-block__time{font-size:10px;color:oklch(from var(--block-color) calc(l + .15) c h);margin:0;letter-spacing:.01em}.time-block__dur{color:var(--text-3)}.time-block__remove{flex-shrink:0;width:20px;height:20px;margin:3px 3px 0 0;background:transparent;border:none;border-radius:3px;color:var(--text-3);font-size:16px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s,background .15s,color .15s}.time-block:hover .time-block__remove{opacity:1}.time-block__remove:hover{background:oklch(from var(--color-growth) l c h / .2);color:var(--color-growth)}.day-grid{flex:1;overflow-y:auto;background:var(--bg);scrollbar-width:thin;scrollbar-color:var(--border-2) transparent}.day-grid__inner{position:relative;min-height:100%}.hour-row{display:flex;align-items:stretch;position:relative}.hour-label{width:60px;flex-shrink:0;display:flex;align-items:flex-start;padding-top:6px;padding-right:12px;justify-content:flex-end}.hour-label span{font-size:11px;font-weight:500;color:var(--text-3);letter-spacing:.02em;line-height:1}.slot{flex:1;border-top:1px solid var(--border);transition:background 80ms;position:relative}.slot--half{border-top:1px dashed oklch(from var(--border) l c h / .5)}.slot--over{background:oklch(from var(--color-web) l c h / .1);border-top-color:oklch(from var(--color-web) l c h / .5)}.now-line{position:absolute;left:56px;right:0;height:2px;background:var(--color-growth);z-index:30;pointer-events:none}.now-dot{position:absolute;left:-4px;top:-3px;width:8px;height:8px;border-radius:50%;background:var(--color-growth)}.app{display:flex;flex-direction:column;height:100%;overflow:hidden}.header{display:flex;align-items:center;justify-content:space-between;padding:0 16px;height:52px;border-bottom:1px solid var(--border);background:var(--bg);flex-shrink:0;gap:12px}.header__left{display:flex;align-items:center;gap:10px}.header__logo{font-size:15px;font-weight:700;letter-spacing:-.02em;color:var(--text)}.header__logo span{color:var(--color-web)}.header__date{font-size:13px;color:var(--text-3);font-weight:400}.header__right{display:flex;align-items:center;gap:8px}.btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:var(--radius);font-size:13px;font-weight:500;cursor:pointer;border:1px solid transparent;transition:background .15s,box-shadow .15s,transform 80ms;white-space:nowrap}.btn:active{transform:scale(.97)}.btn--primary{background:var(--color-web);color:#fff;border-color:transparent}.btn--primary:hover{background:oklch(from var(--color-web) calc(l + .05) c h);box-shadow:0 0 0 3px oklch(from var(--color-web) l c h / .3)}.btn--ghost{background:transparent;color:var(--text-2);border-color:var(--border)}.btn--ghost:hover{background:var(--bg-3);color:var(--text);border-color:var(--border-2)}.btn--plan{background:oklch(from var(--color-video) l c h / .15);color:var(--color-video);border-color:oklch(from var(--color-video) l c h / .3)}.btn--plan:hover{background:oklch(from var(--color-video) l c h / .25)}.btn:disabled{opacity:.4;cursor:not-allowed}.body{display:flex;flex:1;overflow:hidden}.header__stats{font-size:12px;color:var(--text-3);font-weight:500;white-space:nowrap}.refresh-dot{width:6px;height:6px;border-radius:50%;background:var(--color-producer);animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(1.4)}to{transform:rotate(360deg) scale(1)}}
