:root{font-family:system-ui,-apple-system,"Noto Sans JP",sans-serif;color:#1c2e44;background:#f4f6fa;font-size:16px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{min-height:44px;padding:9px 13px;border:1px solid #d5dfeb;border-radius:9px;background:#fff;color:#1c2e44;cursor:pointer}button:disabled{opacity:.45}button.primary,.selected{background:#1c4c82;color:#fff;border-color:#1c4c82}button.small{font-size:14px;min-height:36px}header{height:68px;background:#142b4a;color:#fff;display:flex;align-items:center;padding:8px 16px;gap:16px;position:sticky;top:0;z-index:10}.header-btn{color:white;background:transparent;border:0;font-size:26px;min-width:48px}.brand{display:flex;flex-direction:column;flex:1}.brand small{font-size:11px;letter-spacing:.08em;color:#b9cbe0}.brand strong{font-size:20px}.center{text-align:center;margin:12vh auto;padding:24px;max-width:480px}.muted{color:#68798c;font-size:14px}#shell{max-width:1550px;margin:auto;display:flex;align-items:flex-start;gap:18px;padding:18px}#shell[hidden],.page[hidden],[hidden]{display:none!important}aside{width:230px;flex-shrink:0;position:sticky;top:84px;max-height:calc(100vh - 100px);overflow:auto}nav{display:grid;gap:5px;margin-bottom:14px}nav button{text-align:left}main{flex:1;min-width:0}.panel,.event-card,.task-card{background:#fff;border:1px solid #e0e6ee;border-radius:12px;padding:16px;margin-bottom:14px}.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.toolbar h2{margin:0;font-size:22px}.push{margin-left:auto}.toggle{display:flex;gap:3px;background:#e8edf4;border-radius:10px;padding:3px}.toggle button{background:transparent;border:0;min-height:38px;padding:6px 10px}.toggle button.selected{background:#1c4c82;color:#fff}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;background:#dfe5ed;border:1px solid #dfe5ed;margin-bottom:16px}.weekday{background:#edf1f7;text-align:center;padding:9px;font-weight:700}.day{background:#fff;min-height:105px;padding:6px;cursor:pointer;overflow:hidden}.day.active{outline:3px solid #1c4c82;outline-offset:-3px}.day.outside{opacity:.42}.date-number{font-weight:700;margin-bottom:5px}.event-chip{display:block;width:100%;border:0;border-left:4px solid var(--color);border-radius:4px;background:#f2f5f9;text-align:left;padding:3px 5px;margin:3px 0;font-size:12px;min-height:26px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.more{font-size:12px;color:#385a80}.event-card{display:flex;gap:12px;align-items:center;cursor:pointer}.bar{width:5px;align-self:stretch;min-height:40px;background:var(--color);border-radius:4px}.event-card strong{display:block;margin:4px 0}.banner{background:#e9f3ff;border:1px solid #b5d4f5;border-radius:10px;padding:13px;margin-bottom:16px;cursor:pointer}.check{display:flex;align-items:center;gap:8px;padding:6px 0}.swatch{width:12px;height:12px;display:inline-block;border-radius:3px;flex-shrink:0}details{background:#fff;border:1px solid #dce5ee;border-radius:10px;padding:12px;margin-bottom:14px}summary{cursor:pointer;font-weight:600;min-height:28px}.mobileFilter{display:none}label.field{display:flex;flex-direction:column;gap:5px;margin:10px 0;font-weight:600}input,select,textarea{width:100%;padding:10px;border:1px solid #ccd7e5;border-radius:8px;background:white;min-height:44px}input[type=checkbox]{width:20px;height:20px;min-height:0;accent-color:#1c4c82}textarea{min-height:90px}.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.wide{grid-column:1/-1}.scroll{overflow:auto}.matrix{border-collapse:collapse;width:100%;min-width:600px;background:#fff}.matrix th,.matrix td{border:1px solid #dce4ef;padding:6px;min-width:130px;vertical-align:top}.matrix th:first-child,.matrix td:first-child{min-width:80px;position:sticky;left:0;background:#f1f5fa}.matrix th{background:#e6edf6}.matrix button{max-width:125px}.overlay{position:fixed;inset:0;background:#142b4a99;z-index:20;overflow:auto;padding:20px}.dialog{background:white;border-radius:14px;max-width:720px;margin:20px auto;padding:22px}.dialog h2{font-size:21px}.pill{font-size:13px;background:#e9eff7;border-radius:16px;padding:4px 8px;display:inline-block}#toast{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);background:#183a5c;color:white;border-radius:10px;padding:12px 18px;display:none;z-index:30;max-width:90vw}.row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.danger{color:#b42318}.mobileOnly{display:none}@media(max-width:800px){#shell{display:block;padding:12px}aside{display:none;position:fixed;z-index:11;top:68px;left:0;bottom:0;width:min(86vw,320px);max-height:none;overflow:auto;background:#f4f6fa;padding:16px;box-shadow:4px 0 16px #142b4a44}aside.open{display:block}.mobileFilter{display:block}.calendar .day{min-height:76px;padding:3px}.event-chip{font-size:10px;white-space:normal;line-height:1.25;max-height:42px}.weekday{padding:5px 0;font-size:13px}.toolbar h2{font-size:19px}.toolbar button{padding:7px 10px}.formgrid{grid-template-columns:1fr}.wide{grid-column:auto}.dialog{padding:15px;margin:4px auto}.mobileOnly{display:block}}@media(max-width:420px){.calendar .day{min-height:70px}.event-chip{font-size:9px;padding:2px}.toolbar{gap:5px}button{font-size:14px}.brand strong{font-size:18px}}
