.gks{box-sizing:border-box;max-width:760px;margin:24px auto;padding:20px;border:1px solid #c9ad72;border-radius:12px;background:#fff;color:#1e304b;line-height:1.7}.gks *{box-sizing:border-box}.gks h2{font-size:1.3rem;margin:0 0 12px}.gks-row{display:flex;flex-wrap:wrap;gap:10px;align-items:end;border-bottom:1px solid #ddd;padding:16px 0}.gks-row label{display:flex;flex-direction:column;flex:1 1 100px;min-width:0}.gks-row label:first-child{flex-basis:155px}.gks input{min-width:0;width:100%;font:inherit;padding:8px;border:1px solid #707070;border-radius:5px;background:#fff;color:#1e304b}.gks button{font:inherit;cursor:pointer;padding:9px 14px;min-height:44px;border:1px solid #1e304b;border-radius:5px;background:#fff;color:#1e304b}.gks button[type=submit]{background:#1e304b;color:#fff}.gks button:disabled{opacity:.6;cursor:default}.gks button:focus-visible,.gks input:focus-visible{outline:3px solid #9b730c;outline-offset:2px}.gks-next{flex-basis:100%;color:#684800}.gks-add{margin-top:16px}.gks-public dl{margin:0}.gks-public dl>div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px;border-top:1px solid #e3dccb;padding:12px 0}.gks-public dt{font-weight:bold}.gks-public dd{margin:0;overflow-wrap:anywhere}@media(max-width:480px){.gks{padding:14px;margin:16px 0}.gks-row label:first-child{flex-basis:100%}.gks-public dl>div{grid-template-columns:90px minmax(0,1fr);gap:8px}.gks-row button{width:100%}}
.gks-month>summary{cursor:pointer;min-height:44px;padding:12px;background:#f4efe5;font-weight:bold;border-radius:6px;margin:8px 0}.gks-past{color:#626262}.gks-past dd>span{font-size:.85em}.gks-month>summary:focus-visible{outline:3px solid #9b730c;outline-offset:2px}
.gks-card-schedule{max-width:100%;min-width:0;margin:0 0 16px;line-height:1.6;overflow-wrap:anywhere;white-space:normal;font-size:13px}.gks-card-label,.gks-card-value{display:block;max-width:100%;min-width:0}.gks-card-label{font-size:12px;color:#655230}.gks-card-value{font-weight:500}@media(max-width:480px){.gks-card-schedule{font-size:12px}.gks-card-label{font-size:11px}}
