:root{--ink:#18222f;--muted:#6b7785;--line:#e3e8ed;--panel:#ffffff;--canvas:#f4f6f8;--codex:#f59e0b;--codex-soft:#fff4d8;--cowork:#2563eb;--cowork-soft:#e8f0ff;--project-jitore:#0f766e;--project-jitore-soft:#e5f6f3;--project-sheets-lab:#7c3aed;--project-sheets-lab-soft:#f1eaff;--project-ai-fuuka:#db2777;--project-ai-fuuka-soft:#fce7f3;--project-ai-photo:#e11d48;--project-ai-photo-soft:#fff0f2;--project-yura-riot:#0891b2;--project-yura-riot-soft:#e2f6fb;--project-finance:#15803d;--project-finance-soft:#eaf8ed;--project-procurement:#c2410c;--project-procurement-soft:#fff2e8;--project-rehacalc:#b45309;--project-rehacalc-soft:#fff6df;--project-kikumomo:#2563eb;--project-kikumomo-soft:#e8f0ff;--project-other:#64748b;--project-other-soft:#f1f5f9;--hour-height:72px}*{box-sizing:border-box}body,html{height:100dvh;overflow:hidden;overscroll-behavior:none}body{margin:0;background:var(--canvas);color:var(--ink);font-family:Arial,Noto Sans JP,sans-serif}button{color:inherit;font:inherit;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none}.app-frame{display:grid;grid-template-columns:224px minmax(0,1fr);height:100dvh;min-height:0}.app-content{min-width:0;height:100dvh;padding:24px 28px 40px;overflow-y:auto}.app-content.calendar-content{display:flex;flex-direction:column;padding-bottom:24px;overflow:hidden}.side-nav{position:-webkit-sticky;position:sticky;top:0;display:flex;flex-direction:column;gap:8px;height:100dvh;padding:22px 16px;background:#14202d;color:#dbe3eb}.side-brand{display:flex;align-items:center;gap:11px;margin:0 6px 26px}.brand-mark{display:grid;flex:0 0 auto;place-items:center;width:42px;height:42px;border-radius:13px;background:white;color:var(--ink)}.side-brand small,.side-brand strong{display:block}.side-brand strong{color:white;font-size:15px}.side-brand small{margin-top:2px;color:#90a0b1;font-size:10px}.bottom-nav>button,.side-nav>button{display:flex;align-items:center;gap:11px;border:0;cursor:pointer}.side-nav>button{width:100%;padding:12px 13px;color:#9eacbb;background:transparent;border-radius:11px;text-align:left;font-size:13px}.side-nav>button.active{color:white;background:rgba(255,255,255,.11)}.side-note{display:flex;align-items:flex-start;gap:9px;margin-top:auto;padding:12px;color:#92a3b5;background:rgba(255,255,255,.05);border-radius:11px;font-size:10px;line-height:1.6}.side-note svg{flex:0 0 auto;width:16px;height:16px}.bottom-nav{display:none}.topbar{display:flex;flex:0 0 auto;justify-content:space-between;align-items:center;width:100%;max-width:1500px;margin:0 auto 22px}.calendar-content .topbar{margin-bottom:14px}.eyebrow{display:block;margin-bottom:4px;color:var(--cowork);font-size:9px;font-weight:700;letter-spacing:.14em}.topbar h1{margin:0;font-size:24px;letter-spacing:-.025em}.icon-button,.nav-button{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:12px;background:white;cursor:pointer}.icon-button:disabled{opacity:.45}.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px;max-width:1500px;margin:0 auto 16px}.summary-card{position:relative;overflow:hidden;min-height:118px;padding:18px 20px;background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:0 4px 16px rgba(25,34,46,.04)}.summary-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#98a2ad}.summary-card.warning:before{background:var(--codex)}.summary-card.sync-card:before{background:var(--cowork)}.summary-card small,.summary-card span{display:block;color:var(--muted);font-size:12px}.summary-card strong{display:block;margin:7px 0 5px;font-size:30px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr);grid-gap:16px;gap:16px;max-width:1500px;margin:0 auto}.status-panel,.today-panel{padding:20px;background:white;border:1px solid var(--line);border-radius:16px;box-shadow:0 5px 20px rgba(25,34,46,.04)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:15px}.section-heading span{color:var(--cowork);font-size:9px;font-weight:700;letter-spacing:.14em}.section-heading h2{margin:4px 0 0;font-size:18px}.section-heading>strong{color:var(--muted);font-size:12px}.agenda-list{display:grid;grid-gap:8px;gap:8px}.agenda-item{display:grid;grid-template-columns:58px 1fr 24px;align-items:center;grid-gap:12px;gap:12px;width:100%;padding:13px 14px;text-align:left;border:0;border-left:4px solid;border-radius:10px;cursor:pointer}.agenda-item.project-jitore,.event-card.project-jitore{color:#115e59;background:var(--project-jitore-soft);border-color:var(--project-jitore)}.agenda-item.project-sheetsLab,.event-card.project-sheetsLab{color:#5b21b6;background:var(--project-sheets-lab-soft);border-color:var(--project-sheets-lab)}.agenda-item.project-aiFuuka,.event-card.project-aiFuuka{color:#9d174d;background:var(--project-ai-fuuka-soft);border-color:var(--project-ai-fuuka)}.agenda-item.project-aiPhoto,.event-card.project-aiPhoto{color:#be123c;background:var(--project-ai-photo-soft);border-color:var(--project-ai-photo)}.agenda-item.project-yuraRiot,.event-card.project-yuraRiot{color:#0e7490;background:var(--project-yura-riot-soft);border-color:var(--project-yura-riot)}.agenda-item.project-finance,.event-card.project-finance{color:#166534;background:var(--project-finance-soft);border-color:var(--project-finance)}.agenda-item.project-procurement,.event-card.project-procurement{color:#9a3412;background:var(--project-procurement-soft);border-color:var(--project-procurement)}.agenda-item.project-rehacalc,.event-card.project-rehacalc{color:#92400e;background:var(--project-rehacalc-soft);border-color:var(--project-rehacalc)}.agenda-item.project-kikumomo,.event-card.project-kikumomo{color:#1d4ed8;background:var(--project-kikumomo-soft);border-color:var(--project-kikumomo)}.agenda-item.project-other,.event-card.project-other{color:#475569;background:var(--project-other-soft);border-color:var(--project-other)}.agenda-item time{font-size:13px;font-weight:700}.agenda-item small,.agenda-item strong{display:block}.agenda-item strong{font-size:13px}.agenda-item small{margin-top:4px;color:var(--muted);font-size:10px}.empty-state{margin:0;padding:22px 0;color:var(--muted);font-size:12px;text-align:center}.status-row{display:grid;grid-template-columns:40px 1fr auto;align-items:center;grid-gap:11px;gap:11px;padding:14px 0;border-top:1px solid var(--line)}.status-row:first-of-type{border-top:0}.status-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:11px}.status-icon.codex{color:#875000;background:var(--codex-soft)}.status-icon.cowork{color:#164c9d;background:var(--cowork-soft)}.status-row small,.status-row strong{display:block}.status-row strong{font-size:13px}.status-row small{margin-top:3px;color:var(--muted);font-size:10px}.status-row b{font-size:12px}.open-calendar-button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:14px;padding:11px;color:white;background:var(--ink);border:0;border-radius:11px;cursor:pointer;font-size:12px;font-weight:700}.open-calendar-button svg{width:17px;height:17px}.calendar-toolbar{flex:0 0 auto;width:100%;max-width:1500px;margin:0 auto 10px}.calendar-controls,.control-cluster{display:flex;align-items:center;gap:10px}.calendar-controls{justify-content:space-between}.control-cluster{justify-content:flex-end}.filters,.period-nav{display:flex;align-items:center;gap:8px}.period-nav strong{margin-left:4px;font-size:16px;white-space:nowrap}.nav-button.next svg{transform:rotate(180deg)}.filter-chip,.today-button{height:42px;padding:0 14px;border:1px solid var(--line);border-radius:12px;background:white;cursor:pointer}.calendar-toolbar .filter-chip,.calendar-toolbar .nav-button,.calendar-toolbar .today-button{height:38px}.calendar-toolbar .nav-button{width:38px}.view-switch{display:grid;grid-template-columns:1fr 1fr;padding:3px;background:#e8ecef;border-radius:11px}.view-switch button{min-width:54px;height:32px;padding:0 10px;color:var(--muted);background:transparent;border:0;border-radius:8px;cursor:pointer;font-size:12px;font-weight:700}.view-switch button.active{color:var(--ink);background:white;box-shadow:0 1px 5px rgba(20,32,45,.12)}.view-label-short{display:none}.filter-chip{display:flex;align-items:center;gap:7px;opacity:.48}.filter-chip.active{opacity:1;border-color:transparent}.filter-chip.codex.active{background:var(--codex-soft);color:#9a5b00}.filter-chip.cowork.active{background:var(--cowork-soft);color:#1852ad}.filter-chip.paused.active{color:#475569;background:#e9eef3}.filter-chip svg{flex:0 0 auto;width:18px;height:18px}.zoom-control{display:flex;align-items:center;padding:3px;background:white;border:1px solid var(--line);border-radius:11px}.zoom-control button{display:grid;place-items:center;width:32px;height:30px;background:transparent;border:0;border-radius:8px;cursor:pointer}.zoom-control button:disabled{opacity:.3}.zoom-control svg{width:17px;height:17px}.zoom-control span{min-width:46px;color:var(--muted);font-size:11px;font-weight:700;text-align:center}.error-banner{display:flex;align-items:center;gap:9px;max-width:1500px;margin:0 auto 12px;padding:12px 14px;color:#982c2c;background:#fff0f0;border:1px solid #ffd2d2;border-radius:12px}.calendar-wrap{width:100%;max-width:1500px;margin:0 auto;overflow:auto;touch-action:pan-x pan-y;background:white;border:1px solid var(--line);border-radius:16px;box-shadow:0 6px 24px rgba(25,34,46,.05)}.calendar-content .calendar-wrap{flex:1 1 auto;min-height:0}.calendar-grid{display:grid;min-width:1400px}.calendar-wrap.day .calendar-grid{min-width:560px}.corner-cell,.day-header{top:0;z-index:5;height:72px;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line)}.corner-cell,.day-header{position:-webkit-sticky;position:sticky}.corner-cell{left:0;z-index:7;display:grid;place-items:center;color:var(--muted);font-size:11px}.day-header{display:flex;align-items:center;justify-content:center;gap:8px;border-left:1px solid var(--line)}.day-header span{color:var(--muted);font-size:12px}.day-header strong{display:grid;place-items:center;width:38px;height:38px;font-size:18px;border-radius:50%}.day-header.today strong{color:white;background:var(--ink)}.day-column,.time-column{position:relative;min-height:calc((22 - 6) * var(--hour-height))}.time-column{position:-webkit-sticky;position:sticky;left:0;z-index:4;background:white}.time-column span{position:absolute;right:8px;transform:translateY(-7px);color:#8c97a3;font-size:10px}.day-column{border-left:1px solid var(--line)}.day-column.today{background:#fafbfd}.now-line{z-index:4;left:0;right:0;height:2px;box-shadow:0 1px 3px rgba(160,35,35,.2);pointer-events:none}.now-line,.now-line:before{position:absolute;background:#e34b4b}.now-line:before{content:"";left:-4px;top:-4px;width:10px;height:10px;border-radius:50%}.hour-slot{position:absolute;left:0;right:0;overflow:hidden;border-top:1px solid #edf0f3}.hour-stack{display:grid;grid-gap:4px;gap:4px;padding:7px 8px}.event-card{position:relative;z-index:2;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;width:100%;height:38px;min-width:0;padding:5px 7px;overflow:hidden;text-align:left;border:0;border-left:4px solid;border-radius:7px;cursor:pointer;box-shadow:0 2px 8px rgba(20,32,50,.07)}.event-card.paused{opacity:.42;filter:grayscale(.7)}.event-card.pending_confirmation{background-image:repeating-linear-gradient(135deg,transparent,transparent 7px,rgba(255,255,255,.55) 0,rgba(255,255,255,.55) 12px)}.event-card time{font-size:9px;font-weight:700}.event-card strong{display:block;overflow:hidden;font-size:10px;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.event-card span{display:none}.more-events-button{position:relative;z-index:2;width:100%;height:28px;color:#475569;background:#eef2f6;border:1px solid #dce3ea;border-radius:7px;cursor:pointer;font-size:10px;font-weight:700}.more-events-button:hover{background:#e5ebf1}.more-events-button.expanded{color:#64748b;background:white}.modal-backdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:20px;background:rgba(10,19,30,.48);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.detail-modal{position:relative;overflow:hidden;width:min(560px,100%);max-height:85dvh;padding:30px;background:white;border-radius:20px;box-shadow:0 24px 70px rgba(0,0,0,.22)}.detail-accent{position:absolute;top:0;left:0;right:0;height:6px}.detail-accent.project-jitore{background:var(--project-jitore)}.detail-accent.project-sheetsLab{background:var(--project-sheets-lab)}.detail-accent.project-aiFuuka{background:var(--project-ai-fuuka)}.detail-accent.project-aiPhoto{background:var(--project-ai-photo)}.detail-accent.project-yuraRiot{background:var(--project-yura-riot)}.detail-accent.project-finance{background:var(--project-finance)}.detail-accent.project-procurement{background:var(--project-procurement)}.detail-accent.project-rehacalc{background:var(--project-rehacalc)}.detail-accent.project-kikumomo{background:var(--project-kikumomo)}.detail-accent.project-other{background:var(--project-other)}.close-button{position:absolute;right:16px;top:14px;width:36px;height:36px;border:0;background:transparent;font-size:26px;cursor:pointer}.platform-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:8px;font-size:12px;font-weight:700}.platform-badge svg{width:16px;height:16px}.platform-badge.codex{color:#875000;background:var(--codex-soft)}.platform-badge.cowork{color:#164c9d;background:var(--cowork-soft)}.detail-badges{display:flex;flex-wrap:wrap;gap:7px}.project-badge{display:inline-flex;align-items:center;padding:6px 9px;border-radius:8px;font-size:12px;font-weight:700}.project-badge.project-jitore{color:#115e59;background:var(--project-jitore-soft)}.project-badge.project-sheetsLab{color:#5b21b6;background:var(--project-sheets-lab-soft)}.project-badge.project-aiFuuka{color:#9d174d;background:var(--project-ai-fuuka-soft)}.project-badge.project-aiPhoto{color:#be123c;background:var(--project-ai-photo-soft)}.project-badge.project-yuraRiot{color:#0e7490;background:var(--project-yura-riot-soft)}.project-badge.project-finance{color:#166534;background:var(--project-finance-soft)}.project-badge.project-procurement{color:#9a3412;background:var(--project-procurement-soft)}.project-badge.project-rehacalc{color:#92400e;background:var(--project-rehacalc-soft)}.project-badge.project-kikumomo{color:#1d4ed8;background:var(--project-kikumomo-soft)}.project-badge.project-other{color:#475569;background:var(--project-other-soft)}.detail-modal h2{margin:18px 40px 22px 0;font-size:23px;line-height:1.35}.detail-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.detail-grid>div{padding:12px;background:var(--canvas);border-radius:10px}.detail-copy span,.detail-grid span{display:block;margin-bottom:5px;color:var(--muted);font-size:11px}.detail-grid strong{font-size:13px}.detail-copy{margin-top:16px}.detail-copy p{max-height:110px;margin:0;overflow:auto;font-size:13px;line-height:1.65}.detail-modal footer{margin-top:20px;padding-top:14px;color:var(--muted);border-top:1px solid var(--line);font-size:11px}@media (max-width:1180px){.control-label,.view-label-full{display:none}.view-label-short{display:inline}.filter-chip{justify-content:center;width:38px;padding:0}.view-switch button{min-width:38px;padding:0 8px}}@media (max-width:960px){.app-frame{grid-template-columns:190px minmax(0,1fr)}.app-content{padding:22px 18px 36px}.app-content.calendar-content{padding-bottom:22px}.dashboard-grid{grid-template-columns:1fr}.calendar-controls{gap:8px}.period-nav strong{font-size:14px}.zoom-control span{min-width:38px}}@media (max-width:760px){.app-frame{display:block;height:100dvh;min-height:0}.side-nav{display:none}.app-content{height:100dvh;padding:16px 12px calc(92px + env(safe-area-inset-bottom));overflow-y:auto}.app-content.calendar-content{padding:12px 12px calc(82px + env(safe-area-inset-bottom));overflow:hidden}.topbar{margin-bottom:18px}.calendar-content .topbar{margin-bottom:9px}.topbar h1{font-size:20px}.summary-grid{grid-template-columns:1fr 1fr}.summary-card{min-height:105px;padding:14px}.summary-card.sync-card{display:none}.summary-card strong{font-size:25px}.status-panel,.today-panel{padding:16px}.agenda-item{grid-template-columns:48px 1fr 22px;padding:11px}.agenda-item strong{font-size:12px}.calendar-toolbar{margin-bottom:8px}.calendar-controls{gap:8px}.period-nav{width:100%}.period-nav strong{overflow:hidden;margin-left:2px;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.today-button{padding:0 11px}.nav-button{flex:0 0 auto}.filters{gap:6px}.zoom-control span{display:none}.calendar-wrap{border-radius:12px}.calendar-wrap.week .calendar-grid{min-width:1400px}.calendar-wrap.day .calendar-grid{min-width:100%}.bottom-nav{position:fixed;left:12px;right:12px;bottom:max(10px,env(safe-area-inset-bottom));z-index:15;display:grid;grid-template-columns:1fr 1fr;grid-gap:6px;gap:6px;padding:6px;background:rgba(20,32,45,.96);border:1px solid rgba(255,255,255,.1);border-radius:17px;box-shadow:0 12px 36px rgba(10,20,30,.28);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.bottom-nav>button{justify-content:center;padding:10px 8px;color:#93a2b2;background:transparent;border-radius:12px;font-size:11px}.bottom-nav>button.active{color:white;background:rgba(255,255,255,.12)}.bottom-nav svg{width:19px;height:19px}.detail-modal{padding:24px 18px}.detail-grid{grid-template-columns:1fr}}@media (max-width:620px){.calendar-controls{display:grid;justify-content:stretch;grid-gap:8px;gap:8px}.period-nav{justify-content:center;width:100%}.period-nav strong{order:1;margin:0;text-align:center}.period-nav .nav-button.next{order:2}.control-cluster{display:grid;grid-template-columns:auto auto auto;justify-content:space-between;width:100%;grid-gap:8px;gap:8px}}@media (max-width:390px){.summary-grid{grid-template-columns:1fr}.summary-card{min-height:92px}.calendar-toolbar .nav-button{width:36px}.calendar-toolbar .today-button{padding:0 9px}.view-switch button{min-width:36px}.filter-chip{width:36px}}