*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Hiragino Sans','Hiragino Kaku Gothic ProN',Meiryo,sans-serif;font-size:14px;line-height:1.6;color:#333;background-color:#f5f5f5}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;outline:none;transition:all .3s ease}.btn-primary{background-color:#4285f4;color:#fff;padding:10px 20px;border-radius:4px;font-weight:500}.btn-primary:hover{background-color:#357ae8}.btn-secondary{background-color:#f1f3f4;color:#5f6368;padding:8px 16px;border-radius:4px;font-weight:500}.btn-secondary:hover{background-color:#e8eaed}.btn-danger{background-color:#ea4335;color:#fff;padding:10px 20px;border-radius:4px;font-weight:500}.btn-danger:hover{background-color:#d33426}.btn-nav{background-color:#fff;color:#333;padding:8px 16px;border:1px solid #dadce0;border-radius:4px;font-weight:500}.btn-nav:hover{background-color:#f8f9fa}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:6px;font-weight:500;color:#5f6368}.form-group input[type="text"],.form-group input[type="password"],.form-group input[type="date"],.form-group input[type="time"],.form-group select,.form-group textarea{width:100%;padding:10px;border:1px solid #dadce0;border-radius:4px;font-size:14px;font-family:inherit;transition:border-color .3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#4285f4}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.error-message{background-color:#fce8e6;color:#d93025;padding:12px;border-radius:4px;margin-bottom:16px;font-size:14px}.login-page{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.login-container{width:100%;max-width:500px;padding:20px}.login-box{background:#fff;border-radius:8px;padding:40px;box-shadow:0 2px 10px rgba(0,0,0,.1)}.login-title{text-align:center;margin-bottom:30px;font-size:24px;color:#333}.login-form{margin-bottom:20px}.btn-login{width:100%;padding:12px;font-size:16px;margin-top:10px}.login-info{margin-top:30px;padding-top:20px;border-top:1px solid #e0e0e0;font-size:12px;color:#666}.login-info p{margin:4px 0}.header{background-color:#fff;border-bottom:1px solid #dadce0;padding:16px 0;box-shadow:0 1px 2px rgba(0,0,0,.1)}.header-content{max-width:1400px;margin:0 auto;padding:0 20px;display:flex;justify-content:space-between;align-items:center}.header-title{font-size:20px;font-weight:500;color:#333}.header-user{display:flex;align-items:center;gap:16px}.user-name{font-weight:500;color:#5f6368}.main-content{max-width:1400px;margin:0 auto;padding:20px}.calendar-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding:16px;background:#fff;border-radius:8px;box-shadow:0 1px 3px rgba(0,0,0,.1)}.week-range{font-size:18px;font-weight:500;color:#333}.calendar-wrapper{background:#fff;border-radius:8px;box-shadow:0 1px 3px rgba(0,0,0,.1);overflow:auto}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:#fff;border-radius:8px;padding:24px;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px rgba(0,0,0,.2)}.modal-small{max-width:400px}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid #e0e0e0}.modal-header h3{font-size:20px;font-weight:500;color:#333}.modal-close{background:none;font-size:28px;color:#5f6368;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%}.modal-close:hover{background-color:#f1f3f4}.modal-actions{display:flex;justify-content:space-between;align-items:center;margin-top:24px;gap:12px}.modal-actions-right{display:flex;gap:12px}.reservation-owner{padding:12px;background-color:#f8f9fa;border-radius:4px;margin-bottom:16px;color:#5f6368}.confirm-message{padding:20px 0;text-align:center;font-size:16px;color:#333}@media (max-width:768px){.header-content{flex-direction:column;gap:12px}.calendar-controls{flex-direction:column;gap:12px}.form-row{grid-template-columns:1fr}.modal-content{width:95%;padding:20px}.modal-actions{flex-direction:column-reverse}.modal-actions-right{width:100%;flex-direction:column-reverse}.modal-actions button{width:100%}}