.startupLoader{position:fixed;inset:0;display:grid;place-items:center;overflow:hidden;padding:24px;background:radial-gradient(circle at 14% 18%,rgba(31,79,122,.16),transparent 44%),radial-gradient(circle at 86% 12%,rgba(15,118,110,.12),transparent 38%),linear-gradient(152deg,#e9edf4,#e4ebf6 55%,#ecf1f8)}.startupLoader__orb{position:absolute;border-radius:999px;filter:blur(4px);animation:floatAround 12s ease-in-out infinite}.startupLoader__orb--one{width:220px;height:220px;top:-60px;left:-40px;background:#1f4f7a2b}.startupLoader__orb--two{width:280px;height:280px;right:-120px;bottom:-80px;background:#0f766e24;animation-delay:-3s}.startupLoader__panel{position:relative;z-index:2;width:min(520px,100%);border-radius:20px;border:1px solid #c7d3e3;background:linear-gradient(180deg,#f6f8fc,#eef3fa);box-shadow:0 18px 42px #0f172a14;padding:40px 28px;text-align:center}.startupLoader__logoWrap{position:relative;width:82px;height:82px;margin:0 auto}.startupLoader__logoPulse{position:absolute;inset:0;border-radius:20px;background:linear-gradient(140deg,#2d5c88,#195f82);opacity:.2;animation:pulseLogo 1.8s ease-in-out infinite}.startupLoader__logo{position:absolute;inset:8px;border-radius:16px;background:linear-gradient(140deg,#1f4f7a,#0f766e);color:#fff;font-size:34px;font-weight:800;display:grid;place-items:center;box-shadow:0 12px 24px #1f4f7a4d;animation:logoLift 2.4s ease-in-out infinite}.startupLoader__brand{margin:18px 0 8px;font-size:clamp(28px,4.3vw,36px);font-weight:800;letter-spacing:-.03em;color:#1f2937}.startupLoader__message{margin:0 auto;max-width:420px;color:#566176;line-height:1.5;font-size:15px}.startupLoader__spinner{width:34px;height:34px;margin:22px auto 10px;border-radius:50%;border:3px solid rgba(31,79,122,.2);border-top-color:#1f4f7a;animation:spin .9s linear infinite}.startupLoader__meta{margin:0;font-size:12px;color:#667489}@media(max-width:560px){.startupLoader{padding:16px}.startupLoader__panel{padding:30px 20px}.startupLoader__message{font-size:14px}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulseLogo{0%,to{transform:scale(.94);opacity:.24}50%{transform:scale(1.14);opacity:.3}}@keyframes logoLift{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes floatAround{0%,to{transform:translate(0)}50%{transform:translate(12px,-10px)}}:root{--bg: #e9edf4;--bg-accent: #dce5f1;--card: #f3f6fb;--surface-muted: #eaf0f8;--surface-strong: #e2e9f4;--text: #1f2937;--muted: #566176;--border: #c7d3e3;--primary: #1f4f7a;--primary-strong: #173d5e;--primary-soft: rgba(31, 79, 122, .14);--accent: #0f766e;--danger: #dc2626;--shadow-sm: 0 2px 10px rgba(15, 23, 42, .04);--shadow: 0 10px 28px rgba(15, 23, 42, .07);--radius: 14px;--radius-sm: 10px;--transition: .16s ease;font-family:Inter,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:radial-gradient(900px 540px at 10% -16%,var(--bg-accent),transparent 66%),radial-gradient(760px 460px at 110% 8%,#e4edf8,transparent 60%),var(--bg);color:var(--text);line-height:1.45}a{color:inherit}.container{max-width:1040px;margin:0 auto}.card{background:linear-gradient(180deg,color-mix(in srgb,var(--card) 84%,#ffffff 16%),var(--card));border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.appHeader{border-radius:0;border-left:0;border-right:0;border-top:0;padding:14px 20px;position:sticky;top:0;z-index:15;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:color-mix(in srgb,var(--card) 84%,#eef3fa 16%)}.appBrandBadge{width:36px;height:36px;border-radius:11px;background:linear-gradient(150deg,#1f4f7a,#0f766e);color:#fff;display:grid;place-items:center;font-weight:700;box-shadow:0 8px 18px #1f4f7a38}.appBrandText{display:flex;flex-direction:column;gap:1px}.appBrandTitle{font-weight:700;font-size:18px;letter-spacing:-.01em;color:var(--text)}.appBrandSubTitle{font-size:12px}.appHeaderActions{flex-wrap:wrap;justify-content:flex-end}.row{display:flex;gap:10px;align-items:center}.spread{display:flex;justify-content:space-between;align-items:center;gap:14px}.h1{font-size:30px;font-weight:700;letter-spacing:-.02em;margin:0}.h2{font-size:22px;font-weight:650;letter-spacing:-.01em;margin:0}.muted{color:var(--muted)}.input,.select{width:100%;padding:11px 13px;border-radius:var(--radius-sm);border:1px solid var(--border);background:color-mix(in srgb,var(--card) 75%,#ffffff 25%);color:var(--text);outline:none;transition:border-color var(--transition),box-shadow var(--transition),background var(--transition)}.input::placeholder{color:#8a94a6}.input:focus,.select:focus{border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-soft)}.btn{padding:9px 14px;border-radius:11px;border:1px solid var(--border);background:color-mix(in srgb,var(--surface-muted) 88%,#ffffff 12%);color:var(--text);font-weight:600;cursor:pointer;transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition),background var(--transition),color var(--transition)}.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn:active{transform:translateY(0)}.btn:focus-visible,.input:focus-visible,.select:focus-visible,.burndownTab:focus-visible,.timelineRowButton:focus-visible{outline:2px solid rgba(79,70,229,.45);outline-offset:2px}.btnPrimary{background:var(--primary);border-color:var(--primary);color:#fff}.btnPrimary:hover{background:var(--primary-strong);border-color:var(--primary-strong)}.btnDanger{background:var(--danger);border-color:var(--danger);color:#fff}.btnGhost{background:color-mix(in srgb,var(--surface-muted) 92%,#ffffff 8%)}.navLink.active{border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}.table{width:100%;border-collapse:collapse;border-radius:var(--radius-sm);overflow:hidden;background:color-mix(in srgb,var(--surface-muted) 68%,#ffffff 32%)}.table th,.table td{padding:13px 10px;border-bottom:1px solid var(--border);text-align:left;vertical-align:middle}.table th{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.05em;font-weight:700}.table tbody tr{transition:background var(--transition)}.table tbody tr:hover{background:color-mix(in srgb,var(--primary-soft) 42%,transparent)}.pill{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;border:1px solid var(--border);background:color-mix(in srgb,var(--surface-muted) 90%,#ffffff 10%);font-size:12px;color:var(--muted)}.section{padding:20px;background:color-mix(in srgb,var(--surface-strong) 74%,#ffffff 26%);border-radius:inherit}.gap12{gap:12px}.mt12{margin-top:12px}.mt16{margin-top:16px}.mt20{margin-top:20px}.mb12{margin-bottom:12px}.mb16{margin-bottom:16px}.burndownTabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.burndownTab{border:1px solid var(--border);background:color-mix(in srgb,var(--surface-muted) 92%,#ffffff 8%);color:var(--muted);border-radius:999px;padding:8px 13px;cursor:pointer;font-size:13px;font-weight:600;transition:all var(--transition)}.burndownTab:hover{color:var(--text);border-color:#cfd8ea}.burndownTab.active{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.timelineTrackWrapper{margin-top:16px}.timelineTrack{position:relative;height:7px;border-radius:999px;background:color-mix(in srgb,var(--surface-strong) 90%,#ffffff 10%)}.timelineMarker{position:absolute;top:50%;width:14px;height:14px;border-radius:50%;border:2px solid #fff;box-shadow:var(--shadow-sm);transform:translate(-50%,-50%)}.timelineMarkerTooltip{position:absolute;top:-12px;left:50%;transform:translate(-50%,-100%);padding:7px 10px;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--card) 88%,#ffffff 12%);border:1px solid var(--border);box-shadow:var(--shadow);font-size:12px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--transition)}.timelineMarker:hover .timelineMarkerTooltip{opacity:1}.timelineTrackLabels{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin-top:8px}.timelineList{display:flex;flex-direction:column;gap:14px}.timelineRow{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 0;border-top:1px solid var(--border)}.timelineRowButton{width:100%;border:none;background:transparent;text-align:left;cursor:pointer;border-radius:10px;padding:0 8px;transition:background var(--transition)}.timelineRowButton:hover{background:#4f46e50e}.timelineRow:first-child{border-top:none}.timelineTitle{font-weight:600}.timelineMeta{font-size:12px;color:var(--muted)}.timelineMetaRight{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.timelineDueLabel{font-weight:600}.timelineDueTag{font-size:12px;padding:2px 8px;border-radius:999px;background:var(--primary-soft);color:var(--primary)}.timelineDueTag.overdue{background:#dc26261f;color:var(--danger)}.timelineRowOverdue .timelineTitle{color:var(--danger)}.statusPill{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600}.statusPill.status-todo{background:#dce9f5;color:#1d4468}.statusPill.status-doing{background:#d9f0ee;color:var(--accent)}.statusPill.status-done{background:#dff3e8;color:#107346}.timelineMarker.status-todo{background:var(--primary)}.timelineMarker.status-doing{background:var(--accent)}.timelineMarker.status-done{background:#1e9d64}.modalOverlay{position:fixed;inset:0;z-index:1000;background:#11182766;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:20px}.sessionExpiredModal{width:min(460px,100%);padding:22px;box-shadow:var(--shadow)}.scheduleFormGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.scheduleField{display:flex;flex-direction:column;gap:7px}.scheduleWeekGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.scheduleDayCard{border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px;background:color-mix(in srgb,var(--surface-muted) 70%,#ffffff 30%)}.scheduleDayHeader{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px}.scheduleDayTitle{font-weight:700}.scheduleEventList{display:flex;flex-direction:column;gap:10px}.scheduleEventItem{border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px;background:color-mix(in srgb,var(--surface-muted) 82%,#ffffff 18%)}.scheduleEventHead{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.scheduleEventMeta{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.copyPlanPanel{border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px;background:color-mix(in srgb,var(--surface-muted) 74%,#ffffff 26%)}.copyPlanDays{display:flex;flex-wrap:wrap;gap:10px}@media(max-width:860px){.scheduleFormGrid,.scheduleWeekGrid{grid-template-columns:1fr}.spread{flex-wrap:wrap}.table{display:block;overflow-x:auto}}
