:root{font-family:Arial,Hiragino Kaku Gothic ProN,Meiryo,sans-serif;color:#222;background:#f5f6f7}*{box-sizing:border-box}.app-shell{display:grid;min-height:100vh;place-items:center;padding:32px 16px 80px}.app-card{width:min(100%,760px);padding:36px;background:#fff;border:1px solid #e4e5e7;border-radius:16px;box-shadow:0 8px 22px #0000000d}h1,h2{margin:0;text-align:center}h1{font-size:28px;font-weight:700}.app-card__header{position:relative;display:grid;place-items:center}.settings-button{position:absolute;right:0;display:grid;width:36px;height:36px;place-items:center;color:#555;font-size:21px;background:#fff;border:1px solid #c9cdd2;border-radius:7px}.settings-button:hover{background:#f7f9fb}.calendar{margin-top:34px}.calendar__header{display:grid;grid-template-columns:72px 1fr 72px;align-items:center;gap:12px;margin-bottom:24px}.calendar h2{font-size:22px}.month-button{padding:7px 4px;color:#333;background:#fff;border:1px solid #c9cdd2;border-radius:7px}.month-button:hover{background:#f7f9fb}.monthly-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px;padding:14px;background:#f7f9fb;border-radius:8px}.monthly-summary span{display:grid;gap:4px;font-size:13px;color:#666}.monthly-summary strong{color:#222;font-size:16px}.calendar__weekdays,.calendar__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar__weekdays{margin-bottom:8px;text-align:center;font-size:14px;color:#666}.calendar__grid{gap:6px}.calendar__blank,.day-cell{min-height:92px}.day-cell{display:flex;flex-direction:column;align-items:flex-start;width:100%;padding:9px;color:inherit;text-align:left;background:#fff;border:1px solid #e4e5e7;border-radius:8px}.day-cell:hover{background:#f7f9fb}.day-cell--today{border:2px solid #2d7ff9;padding:8px}.day-cell__date{font-weight:700}.day-cell__details{display:grid;gap:3px;margin-top:8px;font-size:13px;color:#555}.dialog-backdrop{position:fixed;inset:0;display:grid;place-items:center;padding:16px;background:#00000047}.dialog{width:min(100%,360px);padding:28px;background:#fff;border-radius:14px;box-shadow:0 12px 32px #00000026}.dialog h2{margin-bottom:24px;font-size:20px}.dialog label{display:block;margin-bottom:8px;font-size:14px}.dialog input{width:100%;padding:10px 12px;border:1px solid #c9cdd2;border-radius:7px}.dialog input+label{margin-top:16px}.dialog__actions{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}.dialog__error{margin:8px 0 0;color:#c52727;font-size:13px}.dialog__warning{margin:8px 0 0;color:#986700;font-size:13px}.button{margin-top:22px;padding:10px 16px;border-radius:7px}.dialog__actions .button{margin-top:0}.button--primary{color:#fff;background:#2d7ff9;border:1px solid #2d7ff9}.button--secondary{color:#333;background:#fff;border:1px solid #c9cdd2}@media(max-width:560px){.app-card{padding:24px 14px}.calendar__grid{gap:3px}.monthly-summary{gap:6px;padding:10px}.monthly-summary span{font-size:11px}.monthly-summary strong{font-size:13px}.calendar__blank,.day-cell{min-height:72px}.day-cell{padding:6px}.day-cell--today{padding:5px}.day-cell__details{margin-top:5px;font-size:11px}.static-page{padding:24px 14px}}.static-page{width:min(100%,760px);padding:36px;background:#fff;border:1px solid #e4e5e7;border-radius:16px;box-shadow:0 8px 22px #0000000d}.static-page__header{margin-bottom:20px}.back-link{display:inline-block;color:#2d7ff9;text-decoration:none;font-size:14px;font-weight:500}.back-link:hover{text-decoration:underline}.static-page h1{margin-bottom:24px;font-size:24px;font-weight:700;color:#222;text-align:left}.static-page__section{margin-bottom:24px;color:#444;line-height:1.6;font-size:14px}.static-page__section h2{padding-bottom:6px;margin-bottom:12px;font-size:16px;font-weight:700;color:#222;text-align:left;border-bottom:1px solid #eee}.static-page__section p{margin:0 0 12px}.static-page__section ul{margin:8px 0 16px;padding-left:20px}.static-page__section li{margin-bottom:8px}.static-page__footer{padding-top:16px;margin-top:32px;text-align:center;border-top:1px solid #eee}.static-page__footer .button{display:inline-block;margin-top:0;text-decoration:none}.contact-notice{padding:16px;margin:16px 0;color:#333;font-weight:500;background:#f7f9fb;border:1px solid #e4e5e7;border-radius:8px}.app-footer{width:min(100%,760px);padding-bottom:16px;margin-top:24px;color:#666;font-size:13px;text-align:center}.app-footer__links{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;padding:0;margin:0 0 12px;list-style:none}.app-footer__links a{color:#555;text-decoration:none}.app-footer__links a:hover{color:#222;text-decoration:underline}.app-footer__copyright{margin:0;color:#888;font-size:12px}
