:root{color:#0f172a;background:#0b1220;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial}body{margin:0}.layout{flex-direction:column;height:100vh;display:flex}.topbar{color:#e2e8f0;background:#0f172a;border-bottom:1px solid #94a3b840;justify-content:space-between;align-items:flex-start;gap:12px;padding:10px 12px;display:flex}.title{padding-top:6px;font-size:14px;font-weight:700}.settings{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.settings label{color:#cbd5e1;flex-direction:column;gap:4px;font-size:12px;display:flex}input{color:#e2e8f0;background:#0b1220;border:1px solid #94a3b859;border-radius:8px;min-width:260px;padding:8px 10px}select{color:#e2e8f0;background:#0b1220;border:1px solid #94a3b859;border-radius:8px;padding:8px 10px}button{color:#e2e8f0;cursor:pointer;background:#111c33;border:1px solid #94a3b859;border-radius:8px;padding:8px 10px}button:disabled{opacity:.55;cursor:not-allowed}.toast{z-index:1200;text-align:center;border:1px solid #0000;border-radius:999px;min-width:220px;max-width:min(460px,100vw - 32px);padding:12px 18px;font-size:14px;font-weight:700;position:fixed;top:20px;left:50%;transform:translate(-50%);box-shadow:0 18px 48px #02061752}.toast-success{color:#f0fdf4;background:#16a34aeb;border-color:#86efac6b}.toast-error{color:#fef2f2;background:#dc2626eb;border-color:#fca5a566}.content{flex:1;grid-template-columns:360px 1fr;gap:10px;min-height:0;padding:10px;display:grid}.contentSingle{grid-template-columns:1fr}.left,.right{background:#0f172a;border:1px solid #94a3b833;border-radius:12px;min-height:0;padding:10px;overflow:hidden auto}.fullPanel{min-height:0}.panelTitle{color:#e2e8f0;margin-bottom:10px;font-weight:700}.hint{color:#94a3b8;font-size:13px}.authEmptyState{background:linear-gradient(#0f172af5,#0a0f1cfa);border:1px solid #94a3b82e;border-radius:20px;max-width:720px;margin:36px auto 0;padding:28px;box-shadow:0 24px 60px #0206174d}.authEmptyTitle{color:#f8fafc;margin-bottom:10px;font-size:22px;font-weight:800}.authEmptyText{color:#cbd5e1;font-size:14px;line-height:1.7}.authActionRow{flex-wrap:wrap;gap:12px;margin-top:20px;display:flex}.authPrimaryButton,.authSecondaryButton{border-radius:12px;min-width:160px;min-height:44px;font-size:14px;font-weight:800}.authPrimaryButton{color:#eff6ff;background:linear-gradient(135deg,#2563ebf5,#1d4ed8f5);border-color:#60a5fa80}.authSecondaryButton{color:#dcfce7;background:#16a34a2e;border-color:#4ade8059}.authEmptyHint{color:#94a3b8;margin-top:14px;font-size:13px}.statusButtonGroup{flex-wrap:wrap;gap:8px;display:flex}.statusButton{border-radius:999px;min-width:92px;min-height:40px;font-size:13px;font-weight:800;transition:transform .18s,box-shadow .18s,border-color .18s}.statusButton:hover{transform:translateY(-1px)}.statusButton.active{box-shadow:0 10px 28px #02061738}.statusButton-todo{color:#dbeafe;background:#3b82f61f;border-color:#60a5fa52}.statusButton-todo.active{color:#eff6ff;background:linear-gradient(135deg,#2563ebeb,#1d4ed8eb)}.statusButton-done{color:#dcfce7;background:#16a34a1f;border-color:#4ade8047}.statusButton-done.active{color:#f0fdf4;background:linear-gradient(135deg,#16a34aeb,#15803deb)}.statusButton-pending{color:#f3e8ff;background:#a855f71f;border-color:#c4b5fd4d}.statusButton-pending.active{color:#faf5ff;background:linear-gradient(135deg,#9333eaeb,#7e22ceeb)}.row{align-items:center;gap:8px;margin-bottom:8px;display:flex}.row input{flex:1;min-width:0}.row.form input{min-width:0}.error{color:#fecaca;background:#ef44441f;border:1px solid #ef444440;border-radius:8px;margin:8px 0;padding:8px}.emailRow{background:#0b1220;border:1px solid #94a3b833;border-radius:10px;margin-bottom:8px;padding:10px}.emailRow.selected{outline:2px solid #38bdf8b3}.emailSubject{color:#e2e8f0;margin-bottom:6px;font-size:13px;font-weight:600}.emailMeta{color:#94a3b8;justify-content:space-between;font-size:12px;display:flex}.grid{border:1px solid #94a3b833;border-radius:10px;overflow:auto}.gridHeader,.gridRow{display:grid}.cell{color:#cbd5e1;border-bottom:1px solid #94a3b81f;border-right:1px solid #94a3b81f;min-height:48px;padding:8px;font-size:12px}.timelineCell{min-height:72px}.cell.head{background:#0f172a99;font-weight:700}.cell.leftHead{z-index:2;position:sticky;left:0}.cell.leftCell{z-index:1;background:#0b1220;position:sticky;left:0}.stickyCol{position:sticky;left:0}.dayHead{text-align:center}.dayHeadLabel{color:#f8fafc;margin-top:10px;font-size:14px;font-weight:800}.dayHeadSub{color:#94a3b8;margin-top:4px;font-size:11px}.daySummaryTrigger{color:#e2e8f0;background:#1e293beb;border-color:#94a3b83d;border-radius:999px;min-width:96px;min-height:34px;padding:6px 12px;font-size:12px;font-weight:800}.daySummaryCounts{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.daySummaryCounts span{color:#cbd5e1;background:#1e293bf2;border:1px solid #94a3b82e;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:700}.daySummaryText{resize:vertical;color:#dbeafe;background:#0206178c;border:1px solid #94a3b82e;border-radius:10px;width:100%;min-height:190px;padding:10px;font-size:12px;line-height:1.55}.daySummaryModalText{color:#dbeafe;min-height:280px}.weekendHead{background:linear-gradient(#78350f33,#0f172ab8)}.weekendCell{background:#78350f14}.headerCellTitle{color:#f8fafc;margin-bottom:6px;font-size:14px;font-weight:800}.headerCellSub{color:#94a3b8;margin-bottom:8px;font-size:11px}.headerNavRow{flex-wrap:wrap;gap:8px;display:flex}.headerNavButton{border-radius:10px;min-width:82px;min-height:36px;font-size:12px;font-weight:800}.bubble{text-align:left;cursor:pointer;z-index:2;background:#22d3ee14;border:1px solid #94a3b859;border-radius:14px;width:100%;max-width:100%;min-height:88px;padding:12px 14px;font-size:13px;transition:transform .18s,border-color .18s,box-shadow .18s;position:relative;box-shadow:0 10px 30px #0206172e}.bubble:hover{border-color:#60a5fa66;transform:translateY(-1px);box-shadow:0 14px 36px #02061747}.bubble-todo{background:#94a3b81a;border-color:#94a3b84d}.bubble-done{color:#f0fdf4f0;background:linear-gradient(135deg,#22c55e33,#16a34a47);border-color:#4ade8066;box-shadow:inset 0 0 0 1px #86efac24}.bubble-blocked{background:#ef444424;border-color:#ef44448c}.bubble-doing{background:linear-gradient(135deg,#15803d3d,#14532d47);border-color:#4ade8075;overflow:hidden}.bubble-doing:after{content:"";filter:blur(12px);z-index:0;background:linear-gradient(90deg,#22c55e00,#86efac3d,#bbf7d0d1,#22c55e00);width:42%;animation:1.7s linear infinite doingWave;position:absolute;top:0;bottom:0;left:-42%}.bubble-doing>*{z-index:1;position:relative}@keyframes doingWave{0%{opacity:0;transform:translate(0)}12%{opacity:.55}50%{opacity:.92}88%{opacity:.55}to{opacity:0;transform:translate(340%)}}.cell.active{color:#67e8f9;background:#22d3ee14;font-weight:700}.itemTitle{color:#e2e8f0;margin-bottom:4px;font-weight:700}.itemMeta{color:#94a3b8;margin-bottom:6px}.itemActions button{padding:6px 8px;font-size:12px}.modalBackdrop{z-index:999;background:#020617bf;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:#0f172a;border:1px solid #94a3b840;border-radius:12px;flex-direction:column;width:min(900px,96vw);max-height:86vh;display:flex;overflow:hidden}.modalHeader{border-bottom:1px solid #94a3b833;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.modalTitle{color:#e2e8f0;font-size:14px;font-weight:800}.modalBody{color:#cbd5e1;padding:12px;font-size:13px;line-height:1.55;overflow:auto}.textarea{color:#e2e8f0;resize:vertical;background:#0b1220;border:1px solid #94a3b840;border-radius:10px;width:100%;min-height:140px;padding:10px}.orderPanel{background:linear-gradient(#0f172aeb,#0b1220f5);border:1px solid #60a5fa33;border-radius:14px;margin-bottom:10px;padding:12px}.orderPanelHeader{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.orderPanelTitle{color:#e2e8f0;font-size:14px;font-weight:800}.orderPanelHint{color:#94a3b8;font-size:12px}.orderButtonRow{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.orderMoveButton{background:linear-gradient(135deg,#1e40af57,#0e749052);border:1px solid #60a5fa52;border-radius:14px;min-height:52px;font-size:15px;font-weight:800}.actionButtonRow{flex-wrap:wrap;justify-content:flex-end;gap:12px;display:flex}.actionButton{border-radius:14px;min-width:144px;min-height:46px;font-size:14px;font-weight:800}.actionButtonSave{color:#f0fdf4;background:linear-gradient(135deg,#16a34aeb,#15803deb);border-color:#86efac61}.actionButtonDelete{color:#fef2f2;background:linear-gradient(135deg,#dc2626eb,#b91c1ceb);border-color:#fca5a561}.actionButtonCopy{color:#faf5ff;background:linear-gradient(135deg,#9333eaeb,#7e22ceeb);border-color:#d8b4fe61}.dependencyPanelHeader{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.dependencyPanelTitle{color:#e2e8f0;margin-bottom:4px;font-size:15px;font-weight:800}.dependencyPanelHint{color:#94a3b8;font-size:12px}.dependencyClearButton{min-width:72px}.dependencyList{background:#0b1220b3;border:1px solid #94a3b833;border-radius:14px;flex-direction:column;gap:10px;min-height:180px;max-height:320px;padding:12px;display:flex;overflow:auto}.dependencyOption{cursor:pointer;background:#0f172abf;border:1px solid #94a3b82e;border-radius:14px;align-items:flex-start;gap:12px;padding:14px;transition:transform .18s,border-color .18s,background .18s,box-shadow .18s;display:flex}.dependencyOption:hover{border-color:#60a5fa52;transform:translateY(-1px);box-shadow:0 14px 34px #0206173d}.dependencyOption.selected{background:linear-gradient(135deg,#082f49c7,#111827eb);border-color:#22d3ee73;box-shadow:0 14px 34px #082f4942}.dependencyOption input[type=checkbox]{accent-color:#22d3ee;width:20px;min-width:20px;height:20px;margin-top:2px}.dependencyContent{flex:1;min-width:0}.dependencyTopRow{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.dependencyTime{color:#67e8f9;font-size:12px;font-weight:700}.dependencyStatus{color:#cbd5e1;background:#94a3b824;border-radius:999px;padding:2px 8px;font-size:11px}.dependencyTitle{color:#e2e8f0;word-break:break-word;font-size:14px;font-weight:700;line-height:1.45}.dependencyEmpty{color:#94a3b8;text-align:center;justify-content:center;align-items:center;min-height:120px;font-size:13px;display:flex}
